图论1:哥尼斯堡七桥问题的证明

结论的证明

很久很久以前,有个大名鼎鼎的地方,叫哥你是宝哥尼斯堡。。

哥尼斯堡有一条河,河里有两座小岛,两座小岛和周边的陆地总共有七座桥连接起来。这里风景优美,空气新鲜,以至于很多市民都喜欢来这边旅游观光。

Figure 1. 风景优美,空气新鲜的哥尼斯堡七桥

 【NOTE】 红色方框表示桥,黑色方框表示陆地。

慢慢的,乐于游玩的市民们就想到一个问题: 有没有一种办法,可以从任意一个地方出发,然后恰巧每个桥只经过一次,观赏完所有风景之后又回到起点呢?

市民们使用了各种方式:

Figure 2. 这样的

Figure 3. 这样的

Figure 4. 这样的

……

但不管怎么样都做不到。。

于是有人把这个问题写了封信,寄给了当时大名鼎鼎的数学家欧拉,

致敬欧拉大师

欧拉花了一年时间,最终证明了这个问题是无解的!

那么怎么去证明这个问题无解嘞?

欧拉大师先把地图模型简化成这样的二维模型:

Figure 5. 风景优美,空气新鲜的哥尼斯堡七桥

【NOTE】  红色方框表示桥,黑色方框表示陆地。这地方漂亮极了。

于是简化成了四个点、七条边,如何证明一个图形,从任意一点出发,每条边仅经过一次,最终又回到起点呢?

这个问题还是有点复杂,我们再对问题做一次简化,把七条边简化成一条,把四个点简化成一个点,那么得到如下模型:

Figure 6. 简化版的陆地和桥

这……这不就是一个圆嘛!!

我们给图里的下一个定义:

从一个点出发,经过若干条边和点之后,最终能够回到原点,整个经过的路径我们称之为

所以,七桥问题其实等同于画圆问题!

不管有几个顶点,也不管有几条边,从一点出发最终回到该点,本质上就是画圆。

所以对于上述证明问题,本质上就是求解能否在图形上构造出一个圆。

对“简化版的陆地和桥”做一层抽象,其实图中只具备两个元素:

A岛:连接着X桥。

X桥:首尾两端都连接着A岛。

欧拉大师略加思索,得出一个结论,在最简单的情况下,从能够从A点画圆的充要条件为:A点必须具备一个出口,同时也必须具备一个入口。

然后我们可以引入一个概念,将点A的入口/出口的数量统称为点A的 度 

让我们再做一次扩展,为A岛再建造一座桥:

Figure 7. 稍微复杂一点的陆地和桥

路线不管是 A → X → A → Y → A 还是 A → Y → A → X → A,依然可以回到原点。

A岛:连接着X桥。

X桥:首尾两端都连接着A岛。

Y桥:首尾两端都连接着A岛。

此时,A岛具备了两个入口和两个出口(4个度)。

之后,我们还可以再建造第三座桥、第四座桥,但不管建造几座桥,A点的出口数量必须等于入口的数量(即A点的 度 必须是偶数),否则就无法画圆:

Figure 8. 只有出口或只有入口的A岛

然后我们再回过头来看我们的“七桥”。

Figure 9. 风景优美、空气新鲜的七桥

其中,A、C、D点的度为3,B点的度为5,都是奇数,这就意味着它没有能够画圆的起点/终点。

所以欧拉大师得到结论:该问题无解!

欧拉的回路

但欧拉也不愧是数学界的大师,因为他并没有止步于证明七桥问题无解。

他往前又做了更深一层的思考:

七桥问题既然是无解的,那么什么情况下才能使问题有解呢?

要从一个点出发,最终又能回到同一点的必要条件,是起点的度必须大于0且为偶数。

而其它的点因为不是起点也不是终点,所以不能停留,一旦进入则必须走出去,所以它们的度也必须大于0且为偶数。

最后,为了经过所有的顶点和边,还必须保证所有的顶点的边是联通的,否则无法在图中只构造出一个圆。

简而言之就是两个条件: 1. 所有顶点的度都必须是偶数。 2. 所有的顶点和边都能够联通。

我们随便画一个图验证一下:

Figure 1. 五角星

所有点的度都是偶数,所以任意一点出发都能回到原点。

C → A → B → D → E → F → G → H → I → J → C → B → E → G → I → C

还有很多其它路径,咱们就不一一解释啦。

其实这也很符合一个画圆的规律:在已知的圆上任取一点,都可以沿着路径画出同样一个完整的圆。

后来,人们把符合上述条件的路径,称为 欧拉回路

欧拉的路径

欧拉大师画完圆了之后,感觉还不得劲,这问题太简单了。

能不能不回到起点,然后又能一条路走完全场呢?

依然按照之前的思路:

如果不想回到起点,那么起点必须具备的条件为:只能有奇数个度。

终点因为至少需要一次进入了之后再也不会出去,也必须具备一个条件:只能有奇数个度。

而其它的点因为不是起点也不是终点,所以不能停留,一旦进入则必须走出去,所以它们的度也必须大于0且为偶数。

简而言之也是两个条件: 1. 只能有两个顶点的读为奇数,其他顶点的度必须大于0且为偶数。 2. 所有的顶点和边都能够联通。

我们再随便画个图验证一下:

Figure 2. 加了一笔的五角星

其中只有I和B两个点的度为奇数,因此只能从这两个点出发:

E → C → …… → C(参考没加一笔的五角星的路径)

就这么简单。

后来,人们把符合上述条件的路径,称之为欧拉路径。

这,就是哥尼斯堡七桥的故事。

欧拉大师也因此成为了最早的图论的研究者之一。

========================================================================================================

本节涉及到的概念:

文字表述:包含若干个顶点和若干条边的集合。

数学表述:图G是一个有序二元组(V,E),其中V称为顶集(Vertices Set),E称为边集(Edges set),E与V不相交。它们亦可写成V(G)和E(G)。

自环(Loop):若一条边的两个顶点为同一顶点,则此边称作自环。

:一个顶点的度是指与该顶点相关联的边的条数,顶点v的度记作d(v)。自环边由于既是入度又是出度,因此度为2。

入度:指顶点与其关联的各边之中,以其为终点的边数。

出度:指顶点与其关联的各边之中,以其为起点的边数。

欢迎读者们提出宝贵的意见或建议,作者会持续改进。

转载于:https://www.cnblogs.com/prpl/p/10947348.html

图论1:哥尼斯堡七桥问题的证明相关推荐

  1. 哥尼斯堡七桥——Euler欧拉定理证明

    昨天和同学复习图论,深入讨论了欧拉定理,有了相对透彻的理解,我希望写下来,我的博客就是我的笔记本,记录学习的点点滴滴而已. 定理5.1   设G为非空连通图,则G为 Euler图  <=> ...

  2. 图解图论介绍及应用(1):哥尼斯堡七桥

    点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Vardan Grigoryan 编译:ronghuaiyang 导读 知 ...

  3. 图论入门六:哥尼斯堡七桥问题

    转载自https://blog.csdn.net/saltriver/article/details/54585595 哥尼斯堡七桥问题: 1736年,年仅29岁的数学家欧拉来到普鲁士的古城哥尼斯堡( ...

  4. 七桥问题在计算机领域的应用,哥尼斯堡七桥问题在高考中应用

    摘 要:在数学教学和学习过程中把抽象.概括和具体化结合起来是非常重要的.哥尼斯堡七桥问题就是很好的一个例子. 关键词:哥尼斯堡七桥 一笔画 抽象 18世纪,东普鲁士哥尼斯堡有条普莱格尔河,这条河有两个 ...

  5. 哥尼斯堡七桥问题用计算机,哥尼斯堡七桥问题解法真的解不出来?请尽快解答.急...

    十八世纪,东普鲁士的首府哥尼斯堡是一座景色迷人的城市,普莱格尔河横贯城区,使这 座城市锦上添花,显得更加风光旖旋.这条河有两条支流,在城中心汇成大河,在河的 中央有一座美丽的小岛.河上有七座各具特色的 ...

  6. 欧拉如何解决哥尼斯堡七桥问题(二)

    上一讲欧拉已经证明哥尼斯堡七桥问题不存在每座桥只走一次的走法.但是这里有一个特殊情况,即A.B.C.D每个地区恰巧都有奇数个桥连通.欧拉当然也想到了如果存在偶数桥,及任意数量的河和桥图是否存在每座桥只 ...

  7. 世界数学难题——哥尼斯堡七桥问题 哥尼斯堡七桥问题

    七桥问题 七桥问题Seven Bridges Problem 18世纪著名古典数学问题之一.在哥尼斯堡的一个公园里,有七座桥将普雷格尔河中两个岛及岛与河岸连接起来(如图).问是否可能从这四块陆地中任一 ...

  8. 欧拉如何解决哥尼斯堡七桥问题(一)

    解决问题的方法有两种,一种是学习并利用他人的研究成果去解决一些问题,一种是通过自己思考发现 问题的解决方法并解决问题.最近我国被各种卡脖子的问题所困扰,毫不客气的说我们解决大部分问题都是 采用第一种, ...

  9. 图论的起源:柯尼斯堡七桥(一笔画)问题与欧拉路径/回路

    柯尼斯堡七桥问题 大数学家欧拉一生中的大部分时间在俄国和普鲁士度过.1735年,他提出了著名的柯尼斯堡七桥(Seven Bridges of Königsberg)问题: 柯尼斯堡(今俄罗斯加里宁格勒 ...

  10. 数据结构与算法实验6——图论 7-9 哥尼斯堡的“七桥问题”

    哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决 ...

最新文章

  1. javaScript 工作必知(三) String .的方法从何而来?
  2. android toolbar 开发总结
  3. 谷歌地球API相关网页翻译
  4. Kettle使用_18 分组组件计算百分位数
  5. linux lnmp1.5 部署laravel项目
  6. python使用异常的目的和好处_python 错误与异常,python assert的作用
  7. java不用析构函数,堆栈分配的类--C发生不需要的析构函数调用
  8. 数码相机控制点的自动定位检校
  9. 导出EXCEL遇到问题
  10. 办公自动化-演练-统计日报的演练-0223
  11. 解决安卓SDK无法下载Package的问题
  12. jfinal-mailer一款支持线程池的异步邮件,可以使用freemarker作为模板的邮件插件...
  13. 线性代数————思维导图(上岸必备)(矩阵部分)
  14. 联想服务器加装显卡无显示,标配11201355主板的启天M4330在 Win8系统加装独立显卡“无显无报警”...
  15. 1、pr的基本操作流程学习
  16. matlab 对数回归,对数拟合
  17. Flutter Dart 数字转成中文金额大写
  18. php网页显示中文乱码的解决办法!
  19. 测试开发之路-我的处女作
  20. 2006东京游戏展游历

热门文章

  1. 倒立摆c语言程序设计,清华大学倒立摆控制系统实验指导书.pdf
  2. vscode 创建Express框架 目录 坏境
  3. 服务器自带的ftp报错505,使用Delphi带的FTP控件删除服务器上的文件,该文件正在被使用(ASF格式影片,正在被点播)(100分)...
  4. java io 操作实例
  5. 一台液晶显示器台式计算机总耗电量,一天一台电脑用多少电
  6. https://github.com/liuyi01/kubernetes-starterhttps://github.com/liuyi01/kubernetes-starter
  7. vue元素实现动画过渡效果
  8. [游泳] 全浸式游泳呼吸法
  9. bugly android升级,Android项目引入bugly在线更新
  10. bugly android升级,android 新版本升级示例源码(bugly)