一笔画问题(中国邮递员问题)

简介: 一笔画问题(中国邮递员问题)

一笔画与中国邮递员问题

2018122814580746.png

一、引述

一笔画问题:

  • 节点可以重复走
  • 边不可以重复走
  • 要求把所有边都走一次

欧拉图(Euler graph):

  • 从任何节点开始,都可以一笔画
  • 每一个节点都是偶数价(价数指的是从该节点能够伸出去的边的数目)

2018122814580746.png

半欧拉图(semi-Eulerian graph):

  • 只有两个节点是奇数价的,其他都是偶数价的

2018122814580746.png

  • 半欧拉图必须从一个奇数价节点开始,到另一个奇数价结束,才可以一笔画。

tip:一笔画问题中,因为途经点必须有进有出,所以途径点必须是偶数价的,由于起点和终点可以只进不出或者只出不进,所以起点和终点可以是奇数价的。

实例分析

例1:确定其为欧拉图、半欧拉图或者不是欧拉图。

2018122814580746.png

a.半欧拉图

2018122814580746.png

b.B-A-F-E-B-C-D-E-C

例2 一个连通图有5个节点,节点的价分别是4,6,3,p,2

a.解释一下为什么图一定不是欧拉图

b.解释一下为什么图必然是半欧拉图

c.求边的数量(用p表示)

d.画一个两个节点的图,要求其既不是欧拉图也不是半欧拉图+

2018122814580746.png

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K7Pg0HWG-1658797650807)(imgs/image-20220725205109029.png)]

a.看到有奇数价的节点,必然不是欧拉图

b.由握手引理可知,奇数价的节点个数必然是偶数个,因此p必为奇数,两个奇数价的节点的图为半欧拉图。

c.由握手引理可知,总价数为边数的两倍,反推边数为$ \frac {p+15} {2} $

d.两点无边不连通就不是欧拉或者半欧拉,无论怎么连边都是全欧拉或者半欧拉

注:欧拉图必然是连通图(d引例)

2018122814580746.png

假如不能一笔画,引发了一个问题(中国邮递员问题)

邮局出发,走完每条路,回到邮局

2018122814580746.png

欧拉图的问题是所有路径长加和问题。而半欧拉图则复杂

2018122814580746.png

根据半欧拉图的定义,起点只能选择T或者Q,否则不能一笔画,那么意味着必然有一些路要重走。

解决办法:补成全欧拉图,中国邮递员问题就变成了补最少的路,使原图变成全欧拉图的问题。

握手引理告诉我们,每加一条边,肯定会有两个节点的价数上升一。可以选择补S到T和S到Q的边来使得图变成全欧拉。

2018122814580746.png

补的这两条边就是邮递员要重走的边,这样就能让中国邮递员从邮局出发最后返回邮局,代价最小。

为什么选择这两条,而不是其他,补成全欧拉的边的方法不止一种,但是要选择代价最小的,也即既要给T和Q增加价数,又要保证全局路径最短,如何确定?穷举

更复杂的例子:

2018122814580746.png

要求邮局设置点为A,可以发现其奇数价节点的个数为4(A、E、F、G),需要补边来敲定代价最小的重复走的路,组合有AE/FG、AF/EG、AG/EF

代价分别计算为

AE+FG = 26 + 22 =48
AF+EG = 35 + 7 = 42
AG+EF = 19 + 20 = 39

于是敲定补边AG和EF

考虑更复杂的场景:不限定起始和终止点,这样可以把图当作半欧拉图处理,只需要补一条边。

2018122814580746.png

这样选择以AF两个点作为始终点,将EG两点的边作为补边重复走,即可使总代价最少。

相关文章
|
8月前
|
前端开发
例举一些常见的中国古典色,总有一款靓到你!
例举一些常见的中国古典色,总有一款靓到你!
171 1
例举一些常见的中国古典色,总有一款靓到你!
|
7天前
|
机器学习/深度学习 人工智能 达摩院
通向赛博未来:EchoMimicV2 半身数字人生成
EchoMimicV2 是蚂蚁集团支付宝终端算法数据技术团队的一项数字人技术开源项目。
|
8月前
leetcode-807:保持城市天际线
leetcode-807:保持城市天际线
36 0
中文计数法亿兆京垓秭穰沟涧正载
中文计数法亿兆京垓秭穰沟涧正载
455 0
中文计数法亿兆京垓秭穰沟涧正载
|
算法
算法:数字涂色
算法:数字涂色
L1-015 跟奥巴马一起画方块 (15 分)
L1-015 跟奥巴马一起画方块 (15 分)
293 0
L1-015 跟奥巴马一起画方块
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。
LeetCode 训练场:164. 最大间距
LeetCode 训练场:164. 最大间距
100 0
|
人工智能 机器人 大数据
致创投圈:出奇制胜或哗众取宠,只隔了一个“正”字的距离
其实你们明明都知道,这些东西远得遥不可及。 其实你们明明都知道,真正人工智能的技术开发还在早期阶段。 但是,你们一定要假装不知道,还要把自己标榜为人工智能的先驱,还要做人工智能的预言家。投资人说得好像自己已经投到了下一代BAT;创业者说得好像自己的机器人马上就要取代人类。
222 0
|
人工智能 物联网 区块链
暖科技激活清明上河图,井贤栋:里面有最美的数字中国
暖科技激活清明上河图,井贤栋:里面有最美的数字中国 蚂蚁金服科技 2018-09-20 21:38:39 小蚂蚁说: 9月20日,在技术大咖云集的ATEC主论坛上,一卷古画穿越千年“活”了:疏林薄雾中,几个少年早起采集绿色能量;沿河的街道上已是一片喧杂,来来往往的行人中,有带着蓝色二维码做生意的小商贾,有在食肆刷脸吃饭的士绅,有正用风险大脑“断案”的官宦,水会流,人在动…… 一千年前《清明上河图》里的繁荣的市井图景栩栩如生的呈现于技术盛会上。
1530 0