当前位置:网站首页>一笔画问题(中国邮递员问题)
一笔画问题(中国邮递员问题)
2022-07-26 13:06:00 【Moresweet猫甜】
一笔画与中国邮递员问题

一、引述
一笔画问题:
- 节点可以重复走
- 边不可以重复走
- 要求把所有边都走一次
欧拉图(Euler graph):
从任何节点开始,都可以一笔画
每一个节点都是偶数价(价数指的是从该节点能够伸出去的边的数目)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gMNlOK1T-1658797650800)(imgs/image-20220725201711699.png)]](/img/4e/d2ec1a7413f555e9a592309a59f165.png)
半欧拉图(semi-Eulerian graph):
只有两个节点是奇数价的,其他都是偶数价的
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hxE3Yb7P-1658797650801)(imgs/image-20220725202217719.png)]](/img/f5/3b1958421636d2b89e0b59ace41104.png)
半欧拉图必须从一个奇数价节点开始,到另一个奇数价结束,才可以一笔画。
tip:一笔画问题中,因为途经点必须有进有出,所以途径点必须是偶数价的,由于起点和终点可以只进不出或者只出不进,所以起点和终点可以是奇数价的。
实例分析
例1:确定其为欧拉图、半欧拉图或者不是欧拉图。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N8q3Hp1P-1658797650802)(imgs/image-20220725202928156.png)]](/img/74/d73c7eff1474a3c881450db657496f.png)
a.半欧拉图
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lyqDrB96-1658797650804)(imgs/image-20220725203522151.png)]](/img/d0/0632279f5a002e3ea698156fb44ebd.png)
b.B-A-F-E-B-C-D-E-C
例2 一个连通图有5个节点,节点的价分别是4,6,3,p,2
a.解释一下为什么图一定不是欧拉图
b.解释一下为什么图必然是半欧拉图
c.求边的数量(用p表示)
d.画一个两个节点的图,要求其既不是欧拉图也不是半欧拉图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K7Pg0HWG-1658797650807)(imgs/image-20220725205109029.png)]
a.看到有奇数价的节点,必然不是欧拉图
b.由握手引理可知,奇数价的节点个数必然是偶数个,因此p必为奇数,两个奇数价的节点的图为半欧拉图。
c.由握手引理可知,总价数为边数的两倍,反推边数为$ \frac {p+15} {2} $
d.两点无边不连通就不是欧拉或者半欧拉,无论怎么连边都是全欧拉或者半欧拉
注:欧拉图必然是连通图(d引例)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AL4lZ6dD-1658797650808)(imgs/image-20220725205241622.png)]](/img/76/9360c235783c9bac11143dbb3640ff.png)
假如不能一笔画,引发了一个问题(中国邮递员问题)
邮局出发,走完每条路,回到邮局
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6DCu05Xv-1658797650809)(imgs/image-20220725205707869.png)]](/img/38/dc668856103b65d9691e31a5eb03f5.png)
欧拉图的问题是所有路径长加和问题。而半欧拉图则复杂
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4KAsG8S1-1658797650810)(imgs/image-20220725205859393.png)]](/img/e4/d411db5dbe6b805a4eb5c477a4d433.png)
根据半欧拉图的定义,起点只能选择T或者Q,否则不能一笔画,那么意味着必然有一些路要重走。
解决办法:补成全欧拉图,中国邮递员问题就变成了补最少的路,使原图变成全欧拉图的问题。
握手引理告诉我们,每加一条边,肯定会有两个节点的价数上升一。可以选择补S到T和S到Q的边来使得图变成全欧拉。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JBCNQuET-1658797650812)(imgs/image-20220725210459329.png)]](/img/24/431d5095f2562747616f85322ce153.png)
补的这两条边就是邮递员要重走的边,这样就能让中国邮递员从邮局出发最后返回邮局,代价最小。
为什么选择这两条,而不是其他,补成全欧拉的边的方法不止一种,但是要选择代价最小的,也即既要给T和Q增加价数,又要保证全局路径最短,如何确定?穷举
更复杂的例子:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-69IV7rmI-1658797650813)(imgs/image-20220726084400181.png)]](/img/3f/f3f1a396f2b1328a23a075271fec6b.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
考虑更复杂的场景:不限定起始和终止点,这样可以把图当作半欧拉图处理,只需要补一条边。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eMyEliL2-1658797650814)(imgs/image-20220726085616270.png)]](/img/31/5cef3f628ded15b6ca5006d4d5f796.png)
这样选择以AF两个点作为始终点,将EG两点的边作为补边重复走,即可使总代价最少。
边栏推荐
- 维度灾难 维数灾难 暂记
- 今日睡眠质量记录75分
- Yolov7 training dangerous goods identification pytorch
- Detailed explanation of redisson distributed lock process (II)
- Kubernetes APIServer 限流策略
- LCD notes (5) LCD driver framework_ Use device tree
- 基于Locust框架进行文件上传下载性能测试
- Mysql数据目录(1)---数据库结构(二十四)
- MySQL可以自定义变参存储函数吗?
- B+树挑选索引(1)---mysql从入门到精通(二十二)
猜你喜欢

基于C#开放式TCP通信建立与西门子PLC的socket通信示例

Panorama of volcanic engine cloud growth plan: 30 + plans come out together, and military development advantage areas

【TypeScript】TypeScript常用类型(下篇)

V00 - do whatever you want when you are old
![[typescript] typescript common types (Part 2)](/img/6b/2ac07f16af044bdfb719753ae241cc.png)
[typescript] typescript common types (Part 2)

Code error reporting and problem solving experience II: test error reporting in yolov5

华为年内二度招聘“天才少年”;540万Twitter账号信息泄露,卖价3万美元;谷歌解雇了相信AI有意识的工程师|极客头条...

Ue5 official case Lyra full feature explanation 7. resource management

New function | intelligent open search online customized word weight model

基于C#实现的学生考试系统
随机推荐
Sword finger offer (21): push in and pop-up sequence of stack
pomerium
Does Flink CDC only support SQL client to submit SQL scripts
Solution: unable to load the file c:\users\user\appdata\roaming\npm\npx PS1, because running scripts is prohibited on this system.
Code error reporting and problem solving experience II: test error reporting in yolov5
B+树(4)联合索引 --mysql从入门到精通(十六)
If there is a declaration "int x=5, y=1;", Then the expression x < y? The result of x++: y++ is:
The "2022 Huawei developer competition eastern China division opening ceremony" was successfully held in Fuzhou
B+树索引使用(8)排序使用及其注意事项(二十)
Use flex to realize left middle right layout and middle adaptation
【TypeScript】TypeScript常用类型(上篇)
Kubernetes -- Introduction to common plug-ins of kubernetes
Vs code set the method of ctrl+s saving and automatic formatting
Create EOS account action
华为年内二度招聘“天才少年”;540万Twitter账号信息泄露,卖价3万美元;谷歌解雇了相信AI有意识的工程师|极客头条...
Shutter background graying effect, how transparency, gray mask
Analysis of Wireshark data package of network security B module of national vocational college skills competition Wireshark 0051.pcap
Use grid to realize left, middle and right layout, and the middle content is adaptive
【5GC】什么是5G切片?5G切片如何工作?
The programmed navigation route jumps to the current route (the parameters remain unchanged), and if it is executed multiple times, it will throw a navigationduplicated warning error?