图论(七)哥尼斯堡七桥问题

来源:互联网 发布:python初学者的书籍 编辑:程序博客网 时间:2024/05/07 11:03

1736年,年仅29岁的数学家欧拉来到普鲁士的古城哥尼斯堡(哲学家康德的故乡,今俄罗斯加里宁格勒)。普瑞格尔河正好从市中心流过,河中心有两座小岛,岛和两岸之间建筑有七座古桥。
这里写图片描述
欧拉发现当地居民有一项消遣活动,就是试图每座桥恰好走过一遍并回到原出发点,但从来没人成功过。

欧拉证明了这种走法是不可能的。现在看来,欧拉的证明过程非常简单,但他对七桥问题的抽象和论证思想,开创了一个新的学科:图论(Graph)。

如今,无论是数学、物理、化学、天文、地理、生物等基础科学,还是信息、交通、经济乃至社会科学的众多问题,都可以应用图论方法予以解决。图论还是计算机科学的数据结构和算法中最重要的框架(没有之一)。
这里写图片描述
首先能想到的证明方法是把走七座桥的走法都列出来,一个一个的试验,但七座桥的所有走法共用7!=5040种,逐一试验将是很大的工作量。欧拉作为数学家,当然没那样想。欧拉把两座岛和河两岸抽象成顶点,每一座桥抽象成连接顶点的一条边,那么哥尼斯堡的七座桥就抽象成下面的图:
这里写图片描述
假设每座桥都恰好走过一次,那么对于A、B、C、D四个顶点中的每一个顶点,需要从某条边进入,同时从另一条边离开。进入和离开顶点的次数是相同的,即每个顶点有多少条进入的边,就有多少条出去的边,也就是说,每个顶点相连的边是成对出现的,即每个顶点的相连边的数量必须是偶数。

而上图中A、C、D四个顶点的相连边都是3,顶点D的相连边为5,都为奇数。因此,这个图无法从一个顶点出发,遍历每条边各一次。

欧拉的证明与其说是数学证明,还不如看作是一个逻辑证明。一个曾难住那么多人的问题,竟然是这样一个简单的出人意料的推理,还开创了一个新的学科。欧拉非常巧妙的把一个实际问题抽象成一个合适的数学模型,这种研究方法就是我们应该掌握的数学模型方法。这并不需要运用多么深奥的理论,但能想到这一点,却是解决问题的关键。

0 0
原创粉丝点击