编程科技探索

七桥问题的智慧

能不能一次走完七座桥不重复?图论就是这么诞生的。

7-10岁6分钟编程 · 图论 · 算法
七桥问题的智慧

三百年前,有个城市叫哥尼斯堡,河里有七座桥连着两岸和两个小岛。市民们好奇:能不能出门散步,每座桥走一遍但不重复,最后回到家?很多人试了都不行。后来大数学家欧拉一研究,发现这根本不可能,还顺手发明了一门新数学——图论。今天导航、社交网络、地图,全靠它。

你知道吗

你知道吗?欧拉解决七桥问题时,根本没画桥的样子,只画了几个点和几条线——点代表地方,线代表桥。这种“点加线”的图,就是图论研究的“图”。

点线连成图

在图论里,“图”不是画,而是“点”和“线”。点代表东西(城市、人、网页),线代表关系(路、朋友、链接)。比如朋友圈:每个人是一个点,两个人是朋友就画条线。这样画出来的就是一张“社交图”。导航地图也是:路口是点,路是线,找最短路线就是在这张图里找最短的点连线。

欧拉发现,能不能“一次走完不重复”,跟每个点连了几条线有关。连了奇数条线的点叫“奇点”。如果一张图有 0 个奇点,就能从任意点出发走完回原地;如果有 2 个奇点,能从一个奇点出发走到另一个奇点;如果超过 2 个奇点,就根本走不通。哥尼斯堡七桥有 4 个奇点,所以走不通!

  • 图由点和线组成,点代表东西、线代表关系
  • 社交网络、地图、网页链接都是图
  • 奇点:连了奇数条线的点
  • 0 个奇点能走一圈回原地
  • 导航找最短路就是图里找最短连线

图论在今天用处极大。导航软件算最短路线、外卖派单、社交网站推荐“你可能认识的人”、网页搜索引擎算哪个网页更重要,都是图论算法。快递要送 100 个地方怎么走最快,叫“旅行商问题”,也是图论。可以说,没有图论就没有现代的导航和互联网。

动手试试

动手玩:在纸上画 4 个点代表家里 4 个房间,连线代表门。试试从一间房出发,每扇门走一次不重复,能不能走完?数数每个点连了几条线,是不是奇点,用欧拉的规则判断能不能走通。再画几个不同连法,验证规则。最后想想:你家小区的道路,能不能一次走完不重复?画张图试试。

几条线和几个点,藏着世界的规律。——欧拉