返回
繁体
首页

阿基米德的报复

视觉:
关灯
护眼
字体:

第九章 威利·洛曼无辜地死去了吗?(2 / 5)
(对于旅行推销员问题,n是城市与公路数目的量度)。对于快速的算法,随着计算问题规模的增大,完成算法所需的时间的增长不会大于n(表示计算规模)的某个多项式。多项式是一种数学函数,诸如2n(加倍)、3n(3倍)、n2(平方)、n3(立方)、3n10和64n100等。而对于慢速的算法,例如用于解旅行推销员问题的穷举搜索法,则其执行时间将按问题规模增加的指数增加,即2n、6n或12n等。

    当n的值小时(也就是说,对于简单的问题),已知的多项式函数可以等于甚至超过已知的指数函数,但是当n的值大时,任何指数函数都将迅速地超过任何多项式函数。例如,当n等于2时,多项式函数n2等于4,它等于指数函数2n。但当n等于10时,n2只等于100,而2n却会像火箭上天那样猛增到1,024。毫无疑问,指数函数的增加会大大超过多项式函数的增加,这曾使托马斯·马尔萨斯感到忧虑,因为他发现人类的人口是以指数函数增长的,而与之相比,食物的供应则只以多项式函数增长。

    解旅行推销员问题,仅有已知的一种方法是按指数减慢的方法,即审查所有可能旅程的方法,这一事实意味着,在当今这个年代里,我们已不能对看来如此简单的问题有真正的了解。综合性理论学家总想试图证明这个迷惑人的猜想:不管我们如何努力尝试,我们对它都不会有任何了解,因为它就是不能理解的。

    看来与旅行推销员问题似乎有点相似的许多问题,数学家们对它们已经有所了解。例如,请考虑,一位公路检查员,他负责检查某段公路网,旅行推销员可能就在这段公路网上驱车。这位检查员渴望回家去看妻子和孩子,他想知道,是否有一条来回的路程,只须经过每条马路一次,只经过一次。但他并不关心城市,他只是想自己能走过公路的每个路段,而且还不重复。而从另一方面来说,旅行推销员却不关心公路,他只想去每个城市,每个城市只去一次,这样可把其汽车里程减到最短。

    伦哈德·欧拉1736年的研究工作,轻而易举地回答了公路检查员的问题。欧拉是一位29岁的普鲁士数学奇才。原普鲁士城市柯尼斯堡(现为苏联城市加里宁格勒)位于普雷盖尔河的两岸,并且包括克尼霍夫岛以及河流岔口中部的一块狭长陆地。城市的4个区域由7座桥梁的网络连接起来。

    据说,伊曼纽尔·坎特习惯于环绕城市进行长路程的保健散步运动,而且居民们也都想知道,是否可能有一条进行散步的来回路线,可以穿过所有7座桥梁,而每座桥梁只能穿过一次。由于桥梁的数目很小,这个问题可以用列举所有可能路线的方法(否定的方法)去求解,也就是说采用类似于旅行推销员这个小问题的、没有预见性的穷举法。

    这个问题由多产数学家欧拉去解,欧拉是一位有13个孩子的父亲,同时还著有80本书的数学研究成果。传说,许多研究报告都是在第一次与第二次叫他去吃饭之间的30分钟时间内写出来的,他预见性地证明这种路程问题无解。数学的灵魂大力提倡分析最普通的例子。因此,欧拉不仅想为柯尼斯堡的居民,也想为各地喜欢桥梁散步的人们解决问题,他试图解答一个普遍性的问题:“有若干河流及其分支穿过某一地区,并在其上架设任意数量的桥梁,已知河流与桥梁的布局,求是否有可能在每座桥梁只穿过一次的情况下,穿过所有的桥梁。”如果你把陆地区域看成城市,把桥梁看成公路,那么你就可以认为,这个一般性问题与公路检查员所面临的问题相同。

    为了解柯尼斯堡桥梁问题,欧拉用几何线表示每座桥梁,用几何点表示每块陆地。

    在这幅图中,欧拉已把问题简化成基本线条,去掉了所有无关紧要的内容。比方说,线与点的表示无法区别桥梁是宽还是窄,是特定的桥梁还是连接同一陆地区域的其他桥梁,是大块陆地还是小块陆地,乃至是岛屿还是河岸等。这些区别也许在其他方面非常重要,但与穷举的非重复性散步方法无关。这是一种漂亮的数学表示法:它仅需要在手边保留那些有关的情况,从而使数学家免受枝节问题的干扰,更能集中注意力于问题本身。

    欧拉已能证明,只有当点(陆地区域)为0或2,形成的线(桥梁)为奇数时,才可以进行穿过所有桥梁的非重复散步。你只要稍加思考就可支持这一结论。如果你穿过一座桥梁到另一处陆地去,必须还有一座桥梁让你离去,否则你将被困在那里。大片陆地需带有偶数桥梁才能确保那里有一条进去的路,另有一条离去的路。要是大片陆地只带有奇数的桥梁,那只有在旅程的终点(在那里你不需要一座桥梁离去)和旅程的起点(在那里你不需要一座桥梁进去)才有可能进行非重复的旅行。由于只有一个起点和一个终点,因此只有两处陆地才能有奇数的桥梁。在柯尼斯堡,4处陆地区域的每一处都连接了奇数的桥梁,即使没有比较严格的来回旅程条件,那么完全的非重复散步显然是不可能的。

    欧拉关于任意数桥梁与任意数陆地区域的结论要比归纳成普通的常识重要得多,认识到