首先我们可以思考这样一个问题,物理中与宏观具体可观可感的物理量有所对应的量,是如何与抽象的数学计算问题产生联系的?答案很简单,相似性。 我们在构建一个模型的时候,往往无法将所有因素纳入其中,我们只能先将这些因素抽象然后分类,接着根据它们之间的联系提出数学模型,最后我们还要把这个数学模型应用于具体的例子中看其能否准确预测结果;当然,模型一般需要在具体应用的过程经历多次不断的修改。 如果两个模型之间的元素可以相互对应,那么它们之间应该满足相同的数学法则,这是容易理解的。这就是建模从具体到抽象、再应用于具体的过程。
图1:大家熟悉的最基本的建模案例(图片来源:网络) 提出问题伊辛模型与组合优化问题就有相似之处。 什么是组合优化问题?我们将用组合优化问题中较为典型的“旅行商问题(TSP)”进行解释:首先我们已经知道几个城市(可以用点表示),以及每对(两个)城市之间的距离(它们是连通的,并且两点之间距离为直线,该直线长度是已知的);现在有一个商品推销员要从其中一个城市出发去其他城市,要求他要经过所有的城市,并最终回到出发地。
图2:组合优化问题之“旅行商问题”(图片来源:网络) 不难理解,这个推销员所能选择的路径有很多,而假如我们是推销员,我们肯定希望能走那条路径最短,这样我们将能节省下更多的路费去完成同一目标。那么,这个问题应该怎么解决呢?部分读者可能会认为,可以通过列出并计算所有的路径,然后找到那个最小值就是我们的目标值;恭喜你,我们的数学家最初也是这么考虑的,这种方法被称为“穷举法”。 然而此方法却有一个致命的缺陷,那就是它将随着城市的增多增多再增多而变成一个“烫手山芋”——将最终到达计算能力的极限,就算是计算机也无能为力。
图3:城市与路径组合数量 采用穷举法的时候,假设有n个城市,则需要执行n!次操作!举个例子,假设我们现在有10个节点(城市),我们将一共有9!=362880种可能性!它的计算时间数量级将为10!=1×2×3×4×5×6×7×8×9×10=3,628,800种可能性!
图4:要找到几十个城市之间的最短路径, 可能需要超级计算机数万年的穷举(图片来源:网络) 现在大家应该明白什么是组合优化问题了吧? 就是在一组约束条件下,我们有多个可行解,而我们的目标是找到那个使目标函数(也就是“旅行商问题”的路费)最小的解。 模型对应那么,这个问题如何与我们物理中的伊辛模型对应起来呢?我们可以这么考虑:
图5:伊辛模型与组合优化问题的对应关系 解决问题现在对应关系清楚了,那么我们是如何具体解决的呢? 首先,我们考虑这样一个伊辛模型,它具有N个变量,也就是有N个网格。注意我们的伊辛模型中是允许每一个网格中的原子具有两种可能状态的,它的磁场方向可以向上也可以向下;因此每一个变量给都有两个可能取值。 接着,假设我们现在有A个约束条件,也就是说,有A种相互作用。 最后,我们可以定义一个能量函数,这个能量函数与所有与A个相互作用有关的变量集合有关。 我们最终的目标转化成了,求解伊辛模型中使得能量函数取最小值所对应的原子状态的取值状态。 上述解决方法听起来似乎很简单,不就是找到这种对应关系然后求解最小值就行了吗?事实远非如此。科学家们为了解决这个问题,前后提出了一些相关的假设,比如近似推理算法,以及各种具体数学推导过程中所作出的细节性的假设等,这些假设往往不容易得到。 |