3.1附 中国邮路问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图1
图2
思考:如何求恰好有两个奇点的赋权图的最优环游?
设G 恰好有两个奇点 u 和v ,则可以利用2.2节求出 G 的一条 最短 u v路 P ,在 G 中只要把 P 中的每一条边中再添加一条 边,加上权就可得Eluer图 G 。可以证明 G 的Eluer环游就是G
的最优环游。下左图的最优环游即为右图。
(2)去掉 G 中关于G 的某一对相邻顶点有多于2条边连接它们,则去掉其 中的偶数条边,留下1条或2条边连接这两个顶点。直到每一对相邻顶点 至多由2条边连接。
(3)检查 G 的每一个回路,如果某个回路 C上多重边 e的权和超过此回路 权和的一半,则将 C 进行调整:删除 e , C e 的边重数增加 1。 (4)用Fleury算法求G * 的Euler环游。
R15
3 房屋 15
房屋
R9
R10
11 8
房屋
10
R5
房屋
17 13
房屋
4
房屋 5
R11
房屋
R12
R4房屋
9 12
房屋
R6
房屋 8
6
5
R7
7 7
房屋
R8
7
房屋
R2
R1
房屋
R3
上图表示从R1-R15个街道交叉点,街道上的数字表示该街道的长度,单 位为米。
返回 结束
2、分析问题
首先把这个实际问题转换成一个非负赋权 图G,G的顶点代表街与街之间的交叉路口和终 端,两个顶点相邻当且仅当这两点所对应的路 口有直通街道而中间不通过其他路口,每条边 的权是这条边所对应街道的长度。G的通过每条 边至少一次的闭途径称为G的环游。具有最小权 的环游称为G的最优环游,则中国邮路问题就是 要在赋权图G中找一条最优环游。
3.1附录 中国邮路问题
1、提出问题 邮递员的工作是每天在邮局里选出邮件,然后送到他所管 辖的客户中,再返回邮局。自然地,若他要完成当天的投递任 务,则他必须要走过他所投递邮件的每一条街道至少一次。问 怎样的走法使他的投递总行程为最短?这个问题就称为中国邮 路问题。 R14
R13
13
房屋 房屋
11
12
例1 下图(a)给出赋权图G , v, x, l和m 是G 的四个奇点。根据 上述算法,求下图的最优环游。
u
1
v
5
1
w
7
5
x
6
2
y
2
z
8
4
m
6
3
t
l
4
k
(a)
v l 配对,取 P 解:根据上述算法(1),把x 和 m配对,和 1 xtlkzm , 并对 P1 中每条边各添加一条边;又取P2 vwzkl ,并对 P2 中每条 边各添加一条边。得图(b).依次按算法,得到图(c),(d),(e)
返回 结束
定理3.2.1(管梅谷,1960)设 一个Euler赋权生成母图,则
eE (G ) E (G )
G是一个连通的赋权图,G 是 G 的
w(e) min
eE (G*) E ( G )
w(e) | G *是G的一个Euler赋权生成图
当且仅当 G 没有重复数大于2的边。并且 G 的每一个长度至少 是3的回路中多重边的权和不超过此回路权和的一半。
u
1
v
5
1
w
7
u
1
v
5
1
w
7
5
5
4
m
x
6
2
y
2
z
8
x
6
2
y
2
z
8
4
m
Biblioteka Baidu
6
3
t
u
l
6
3
1
4
1
k
1
(b) v
5
t
u
l
4
1
k
w
7
(c ) v
5
w
7
5
5
x
6
2
y
2
z
8
4
m
x
6
2
y
2
z
8
4
m
6
3
6
3
t
l
4
k
t
l
4
k
奇偶点图上作业法缺陷: 奇偶点图上作业法需要检查图中的每个回路。随着顶点个 数和边数增加,回路个数增加。如下图一,图二。图一回 路超过150个,图二回路至少有上千个。
R13
房屋
R14
13
房屋
11
12
R15
3 房屋 15
房屋
R9
R10
11 8
街道结构图
房屋
10
R5
房屋
17 13
房屋
4
房屋 5
R11
房屋
R12
R4房屋
9 12
房屋
R6
房屋 8
6
5
R7
7 7
房屋
R8
7
房屋
R2
R1
房屋
R3
R13
12
R14
13 11
R15
3 5 15
由上构造右图
R4
R9
11 10 8
R10
3
1 2 3 6
3
5 1 2
1 2 3 6
5 1 2
3
2
3
2
思考:如何求恰好有 2k (k 0) 个奇点的赋权图的最优 环游?
R5
17 13
4
R11
5
R12
7 7
R6
8
6
R7
R3
9 12
R8
7
R2
R1
3、解决问题 寻找Euler图的最优环游的基本思路: (1)用双倍边方法求 G 的一个Euler赋权母图 使 G 达到最小。 w(e)
eE ( G ) E ( G )
,
(2)用Fleury算法求得 G 的Euler环游 C ,就是 图 G 的环游;
返回 结束
奇偶点图上作业法(求最优环游算法):
(1)把 G 中度为奇数的顶点两两配对,记为 x 1 , x2 , , xk , y1 , y2 , , yk 。对每 个 i (i 1, 2, , k ) , G 中取一条 xi yi路 Pi ,将 Pi 上的每一条边都添加一条 边,从而得到 G 的一个赋权Euler生成母图 G 。