数学史上的一个错误
上节中我们关于七桥问题的论述是一种广为流传的说法(存在于各种图论教科书、数学史书籍和数学科普读物中),这样的描述看上去似乎非常合理,却与真实的历史不太相符。事实上,在欧拉1736年的论文中从来没有出现过任何具有现代意义的“图”,该问题与一笔画之间的联系直到19世纪末才被人们提及。图2-4是在1892年才首次出现于英国数学家罗兹·鲍尔的《数学游戏与古今问题》中,两者之间相差了150多年!
从数学史的角度来看,这可以算得上一个严重的错误。如果一段有关数学史实的记述连起码的真实性都做不到,那么它也就丧失了作为数学史内容而存在的价值。令人遗憾的是,这种以讹传讹的行为仍在延续。不过令人欣慰的是,在20世纪90年代出版的由卡兹所著的《数学史通论》一书中,关于欧拉解决七桥问题的记述已经回归了历史的本来面目。
笔者有幸读到北京化工大学理学院程钊先生发表于《数学传播》第36卷第4期上的一篇文章,它介绍了欧拉真实的解法。为此,略引于下,与广大读者分享。
欧拉写道:“我整个方法的根据是,以适当的并且简易的方式把过桥的行为记录下来。我用大写字母A,B,C,D表示被河分割开的陆地。当一个人从A地经过桥a或b到B时,我把这次过桥记作AB,第一个字母代表他来的地方,第二个字母代表他过桥后所到的地方。如果步行者接着从B经过桥f到D,这次过桥记作BD。这接连的两次过桥AB与BD我就用3个字母ABD来记录。”不难看出,按照欧拉的记法,记录过桥次数的字符串中的字母个数总是比桥数多1。因此,如果表示过7座桥就需要用8个字母(欧拉标注的A,B,C,D及桥的标号已在图2-2中列出)。
于是,七桥问题可以重新表述成:在用4个字母A,B,C,D排成的含8个字母的字符串中,有没有可能使AB(或BA)组合出现两次,AC(或CA)组合也出现两次,而AD,BD,CD这些组合各出现一次?接下来,欧拉想要寻找一个法则,使得对于这个问题或所有类似的问题都可以简易地判断出所要求的字母排法是不是行得通。欧拉注意到,如果去往某块陆地(比如说A,如图2-5所示)经过一座桥a,则不论步行者过桥前在A还是过桥后到A,字母A一定出现一次。如果经过3座桥a,b,c,那么不管他是不是从A出发,字母A都将出现两次。依次类推,如果通往A的桥的个数k是奇数,则字母A出现的次数为(k+1)/2。
图2-5
本来至此为止,七桥问题已获得解决。因为通往A的有5座桥,所以字母A应出现3次,通往B,C,D的各有3座桥,因此它们各出现2次,这样总的字母个数为3+2+2+2=9。但这在含8个字母的字符串中是不可能的,从而七桥问题无解。欧拉进一步寻找类似的一般问题的求解法则,因此需要找到当桥的个数k是偶数时,字母A出现的规律。他发现如果步行者从某块连通k(k为偶数)座桥的陆地出发,则相应的字母出现次;如果从别的陆地出发,则该字母出现次。
现在,欧拉给出了他的法则。
①将各块陆地用A、B、C等字母表示。
②记桥的总数为∧,将∧+1写在列表的上方。
③表的第一列列出代表各陆地的字母A、B、C等,第二列写下通往各陆地的桥数。
④在对应偶数的字母上打星号。
⑤如果桥数k为偶数,则取对应记入第三列;否则取对应记入第三列。
⑥将第三列各数加起来,如果该和等于桥的总数∧,则所要求的路线便存在,但必须要从带星号的陆地出发;如果该和等于∧+1,则所要求的路线也存在,但必须从不带星号的陆地出发。
作为上述法则的应用,欧拉举了一个4条河、2座岛、15座桥的例子(如图2-6所示),右边给出的是它的解答。
图2-6
第三列的数字加起来,得到和数16,与最上方的数相同。所以这条路线是满足要求的,但按照法则要从不带星号的地区D或E开始。欧拉确实给出了这样的一条路线:
Ea Fb Bc Fd Ae Ff Cg Ah Ci Dk Am En Ap Bo El D
其中夹在大写字母之间的小写字母指经过的桥。
欧拉并没有满足于给出一个一般的解答,他想的是还有没有可能用更简单的方法来判断呢?欧拉以他特有的对于数字的洞察力看出,表中第二列的各数加起来一定是实际桥数的2倍。因此,如果这些数里有奇数的话,奇数的个数一定是偶数。据此,欧拉通过对表的分析得到了下列更简便的法则。
①如果通奇数座桥的陆地不止两个,则满足条件的线路是找不到的。
②如果只有两个地方通奇数座桥,则可以从这两个地方的其中之一出发,找出所要求的路线。
③如果没有一个地方通奇数座桥,则无论从哪里出发,所要求的路线总能实现。
这个法则就是图论中现在所称的“欧拉定理”的最初形态。