目录
一、从柯尼斯堡七桥问题说起
故事发生在 18 世纪的普鲁士,有一座美丽的城市叫柯尼斯堡(如今俄罗斯的加里宁格勒) 。普雷格尔河穿城而过,河上有两个小岛,人们修建了七座桥,将岛与河岸、岛与岛连接起来,把城市分成了四块区域。当时,当地居民热衷于一个有趣的消遣活动:是否能在一次散步中,不重复地走过这七座桥,最后回到起点?
这个看似简单的问题,却难住了无数人。大家纷纷尝试,却始终找不到那条神奇的路线。这个问题就像一个神秘的谜题,在柯尼斯堡的大街小巷流传开来,吸引着人们不断探索。
1735 年,几名大学生写信向当时正在俄罗斯彼得斯堡科学院任职的天才数学家欧拉请教 。欧拉被这个问题深深吸引,他亲自观察了哥尼斯堡七桥,认真思考走法,但一开始始终没能成功。于是,他怀疑这个问题是不是原本就无解呢?
经过一年的深入研究,欧拉另辟蹊径。他将四块陆地抽象成四个点,把七座桥表示为连接这些点的七条线,将七桥问题转化为一个 “一笔画” 的数学问题。这样一来,复杂的地理问题就变成了简洁明了的几何图形问题。
欧拉发现,要实现一笔画且回到起点,除了起点和终点外,每个点都需要有偶数条线与之相连,因为每进入一个点,就需要有另一条线离开这个点。而在柯尼斯堡七桥问题转化后的图形中,四个点都连接着奇数条线,这就意味着,按照要求不重复地走过七座桥并回到起点的走法是不存在的。
1736 年,29 岁的欧拉向圣彼得堡科学院递交了《哥尼斯堡的七座桥》的论文 ,圆满解决了这一困扰众人许久的问题。在解答问题的同时,他开创了数学的一个新的分支 —— 图论,也由此展开了数学史上的新历程。
二、图论的基本概念大揭秘
欧拉解决七桥问题的过程,标志着图论的诞生。那到底什么是图论呢?图论中的图,并不是我们日常所看到的美丽风景图或者精准的地图,它是一种抽象的数学结构,用于描述事物之间的关系。在图论的世界里,有几个基本概念是理解图论的基石。
(一)图的构成要素
图主要由两个部分组成:顶点(Vertex)和边(Edge)。顶点,也被叫做节点,它是图中的基本元素,通常用一个小圆圈或者一个点来表示,可以代表各种不同的事物,比如城市、人、计算机等等。边则是连接两个顶点的线,用来表示顶点之间的某种关系。例如在一个表示城市交通连接的图中,顶点就是各个城市,边就是城市之间的道路。
假设有一个简单的图,它由三个顶点 A、B、C 组成,A 和 B 之间有一条边相连,B 和 C 之间也有一条边相连。在这个图里,A、B、C 这三个点就是顶点,连接 A 和 B、B 和 C 的线就是边。通过这样的方式,我们可以把复杂的关系简化成清晰的图结构,方便进行分析和研究 。
(二)有向图与无向图
根据边的方向特性,图可以分为有向图(Directed Graph)和无向图(Undirected Graph) 。无向图,就像我们前面提到的城市交通连接图,如果城市 A 和城市 B 之间有道路相连,那么从 A 到 B 和从 B 到 A 都可以通行,这条边没有特定的方向,A 和 B 之间的关系是对称的 。在无向图中,边通常用圆括号表示,比如 (A, B) 就表示 A 和 B 之间的一条无向边。
而有向图,边是有方向的。以社交网络为例,你关注了某个人,但对方不一定关注你,这种关注关系就是有向的。在有向图中,边用尖括号表示,比如 <A, B> 表示从 A 指向 B 的一条有向边,意味着存在从 A 到 B 的关系,但从 B 到 A 的关系不一定存在。
(三)权重的意义
在一些图中,边还带有权重(Weight),这样的图被称为加权图(Weighted Graph)。权重是一个数值,可以表示边所代表的关系的某种度量,比如距离、成本、时间等。在一个表示城市间距离的交通图中,边的权重就可以是两个城市之间的实际距离;在一个表示通信网络的图中,权重可以是节点之间的通信成本。
假设在一个配送路线规划的场景中,有三个城市 A、B、C,A 到 B 的距离是 10 公里(边的权重为 10),B 到 C 的距离是 15 公里(边的权重为 15),A 到 C 的距离是 20 公里(边