第七部分 图论方法

40
第第第第 第第第第 第第第第 第第第第

Upload: seda

Post on 04-Jan-2016

194 views

Category:

Documents


0 download

DESCRIPTION

第七部分 图论方法. 第十二章 图论方法. 1. 图的基本概念. 图是一个有序对 < V , E > , V 是结点集, E 是边集; 无向边,与无序结点对 ( v , u ) 相关联的边; 有向边,与有序结点对 < v , u > 相关联的边; 无向图,每条边都是无向边的图; 有向图,每条边都是有向边的图. 图的基本概念. 混合图,既有有向边,也有无向边的图 . 平凡图,仅有一个结点的图; 零图,边集为空集的图 < V ,  > , 即仅有结点的图 . 自回路 ( 环 ) ,关联于同一个结点的边 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第七部分  图论方法

第七部分 图论方法

第十二章 图论方法

Page 2: 第七部分  图论方法

1. 图的基本概念• 图是一个有序对 <V, E> , V是结点集,E是边集;

• 无向边,与无序结点对 (v, u) 相关联的边;• 有向边,与有序结点对 <v, u> 相关联的边;• 无向图,每条边都是无向边的图;• 有向图,每条边都是有向边的图 .

Page 3: 第七部分  图论方法

图的基本概念• 混合图,既有有向边,也有无向边的图 . • 平凡图,仅有一个结点的图;• 零图,边集为空集的图 <V, > ,即仅有结点的图 . • 自回路 ( 环 ) ,关联于同一个结点的边 . • 无向平行边,联结相同两个结点的多于 1 条的无向

边;• 有向平行边,联结两个结点之间的多于 1 条且方向

相同的有向边; • 简单图,不含平行边和自回路的图 .

Page 4: 第七部分  图论方法

图的基本概念• 在有向图 D = <V,E> 中,以 v(V) 为起点

的边之条数为出度 deg + (v) ;以 v(V) 为终点的边之条数为入度 deg - (v).

• 在无向图 G= <V,E> 中,与结点 v(V) 关联的边数,即为结点度数 deg(v) 或 d(v) ;在有向图中,结点 v 的出度和入度之和为度数 .

• 最大度数, (G) = max{deg(v)vV} ;最小度数, (G)=min{deg(v)vV}

Page 5: 第七部分  图论方法

图的基本概念• 有 n 个结点的且每对结点都有边相连的无向简单

图,称为无向完全图;有 n 个结点的且每对结点之间都有两条方向相反的边相连的有向简单图为有向完全图。

• 设 G = <V,E>, V , E 的子集 V,E 构成的图 G=<V,E> 是图 G 的子图;若 GG 且 GG , (VV 或 EE) , G 是 G 的真子图 .

• 生成子图,设图 G = <V,E>, 若 EE, 则图 <V,E> 是图 <V,E> 的生成子图,即结点与原图 G 相同的子图 .

Page 6: 第七部分  图论方法

2. 哥尼斯堡七桥问题

Page 7: 第七部分  图论方法

2. 哥尼斯堡七桥问题

Page 8: 第七部分  图论方法

2. 哥尼斯堡七桥问题

Page 9: 第七部分  图论方法

2. 哥尼斯堡七桥问题• 通过图中所有边一次且仅一次行遍所有顶

点的通路称为欧拉通路;• 通过图中所有边一次且仅一次行遍所有顶

点的回路称为欧拉回路;• 具有欧拉回路的图称为欧拉图;• 具有欧拉通路但无欧拉回路的图称为半欧拉图。

Page 10: 第七部分  图论方法

2. 哥尼斯堡七桥问题• 判别方法:• (1) 无向连通图是欧拉图当且仅当其所有

顶点的度数都是偶数;• (2) 无向连通图是半欧拉图当且仅当其奇

点数为 2 ;

Page 11: 第七部分  图论方法

2. 哥尼斯堡七桥问题• Fleury 算法:• 任取 v0∈V(G) ,令 P0=v0 ;• 设 Pi=v0e1v1e2…ei vi 已经行遍,按下面方法从

中选取 ei+1 :• ( a ) ei+1 与 vi 相关联;• ( b )除非无别的边可供行遍,否则 ei+1 不应

该为 Gi=G-{e1,e2, …, ei} 中的桥(所谓桥是一条删除后使连通图不再连通的边);

• ( c )当( b )不能再进行时,算法停止。

Page 12: 第七部分  图论方法

2. 哥尼斯堡七桥问题• 例

Page 13: 第七部分  图论方法

3最短路径问题• 单源点的最短路径问题:给定带权有向图

G 和源点 v ,求从 v 到 G 中其余各顶点的最短路径。

Page 14: 第七部分  图论方法

3最短路径问题

Page 15: 第七部分  图论方法

3最短路径问题

终点 最短路径 路径长度

B 无

C ( A , C ) 10

D ( A , E , D ) 50

E ( A , E ) 30

F( A , E , D ,F ) 60

Page 16: 第七部分  图论方法

3最短路径问题• Dijkstra 算法

• (1) 假设用带权的邻接矩阵 A 来表示带权有向图, A[i][j] 表示弧 <vi ,vj> 上的权值。若 <vi , vj> 不存在,则置 A[i][j] 为∞。 S 为已找到从v 出发的最短路径的终点的集合,它的初始状态为空集。设 D[i] 从 v出发到图上其余各顶点(终点) vi 可能达到的最短路径长度的初值。

• (2) 选择结点,使得 , vj 就是当前求得的一条从 v出发的最短路径的终点。令 S = SU{vj}.

• (3) 修改从 v 出发到集合 V - S 上任一顶点 vk 可达的最短路径长度。如果 D[j]+A[j][k]<D[k], 则修改 D[k] 为 D[k]=D[j]+A[j][k].

• (4) 重复操作( 2 )( 3 )共 n-1 次。由此求得从 v 到图上其余各顶点的最短路径是依路径长度递增的序列。

ii

D j Min D i v V S

Page 17: 第七部分  图论方法

4.中国邮递员问题• 一个邮递员从邮局出发投递信件,他必须在他所

管辖范围内的所有街道至少走一次,最后回到邮局,他自然希望一条最短的路线完成投递任务,那么如何选择这样的路线呢?

• 构造无向带权图 G=<V,E,W> , E 为街道集合,V 中元素为街道的交叉点。街道的长度为该街道对应的边的权,显然所有权大于 0 。邮递员问题就变成了求 G 中一条经过每条边至少一次的回路,使该回路所带权最小的问题。满足以上条件的回路是最优投递路线或最优回路。

Page 18: 第七部分  图论方法

4.中国邮递员问题• C 是带正权无向连通图中的最优投递路线

当且仅当对应的欧拉图应满足:• G 的每条边在中至多重复出现一次;• G 的每个圈上在中重复出现的边的权之和不超过该圈权的

一半。

Page 19: 第七部分  图论方法

4.中国邮递员问题• 算法步骤如下:• (1) 若 G 中无奇点,令 G*=G ,转 2 ,否则转 3 ;• (2) 求 G* 中的欧拉回路,结束;• (3) 求 G 中所有奇点对之间的最短路径;• (4) 以 G 中奇点集 V’ 为顶点集,边 (vi,vj) 的权为之

间最短路径的权,得完全带权图 K2k ;• (5) 求 K2k 中最小权完美匹配 M ;• (6) 将 M 中边对应的各最短路径中的边均在 G 中加重复边,得欧拉图 G* ,转 2 。

Page 20: 第七部分  图论方法

4.中国邮递员问题

Page 21: 第七部分  图论方法

4.中国邮递员问题

Page 22: 第七部分  图论方法

5.人员分配问题• 设某企业有 n 个员工及 n 个工作,已知每

个员工各胜任一些工作。能否使每个员工都分派到一件他胜任的工作?

Page 23: 第七部分  图论方法

5.人员分配问题• 定义 1 设 X , Y 都是非空有限集,且 X∩Y

=Ø , , 称 G=(X,Y,E) 为二部图。如果 X 中的每个点都与 Y 中的每个点邻接,则称 G=(X,Y,E) 为完备二部图。

• 定义 2 设图 G=(V,E) , 。若 M 中任意两条边在 G 中均不邻接,则称 M 是 G 的一个匹配。

,E xy x X y Y

M E

Page 24: 第七部分  图论方法

5.人员分配问题• 定义 3 若匹配是 M 的某条边与点 v 关联,则称 M饱和点 v ,并且称 v 是 M 的饱和点,否则称 v 是M 的非饱和点。

• 定义 4 设 M 是图 G 的一个匹配,如果 G 的每一个点都是 M 的饱和点,则称 M 是完美匹配;如果G 中没有另外的匹配 M0 ,使 | M0|> | M| ,则称M 是最大匹配。

• 定义 5 设 M 是图 G 的一个匹配,其边在 E/M 和M 中交错出现的路,称为 G 的一条 M-交错路。起点和终点都不是 M 的饱和点的 M -交错路,称为 M-增广路。

Page 25: 第七部分  图论方法

5.人员分配问题• 求二部图 G 的最大匹配的算法,即匈牙利算法 :• ( 1 )将 X 中 M 的所有非饱和点都给以标号 0 和标记 * ,

转向( 2 );• ( 2 )若 X 中所有有标号的点都已去掉了标记 * ,则 M

是 G 的最大匹配,否则,任取 X 中一个既有标号又有标记 * 的点 xi ,去掉 xi 的标记 * ,转向( 3 );

• ( 3 )找出在 G 中所有与 xi 邻接的点 yj ,若所有这样的 yj

都已有标号,则转向( 2 ),否则转向( 4 );• ( 4 )对与 xi 邻接且尚未给标号的 yj 都给定标号 i ,若所

有的 yj 都是 M 的饱和点,则转向( 5 ),否则逆向返回;• ( 5 )将 yj 在 M 中与之邻接的点 xk ,给以标号 j 和标记 * ,

转向( 2 )。

Page 26: 第七部分  图论方法

5.人员分配问题

Page 27: 第七部分  图论方法

5.人员分配问题

Page 28: 第七部分  图论方法

5.人员分配问题

Page 29: 第七部分  图论方法

5.人员分配问题

Page 30: 第七部分  图论方法

5.人员分配问题

Page 31: 第七部分  图论方法

5.人员分配问题

Page 32: 第七部分  图论方法

5.人员分配问题

Page 33: 第七部分  图论方法

6.稳定匹配问题• 假设有一百个男人和一百个女人 , 每个男人都凭自己好恶给每个女人打分 , 我最爱 a, 其次爱 b, 再次爱 c( 假定没有相同的 )... 每个女人也同样给每个男人打分 .

• 然后就是求婚过程 .直到最后大家都订了婚 , 便一起结婚 .

Page 34: 第七部分  图论方法

6.稳定匹配问题• 设简单偶图 G=(X,Y,E) 中,男孩集 X ,女孩集 Y ,

每边 xy 表示男孩 x 与女孩 y彼此认识。今假设每个男孩 x 对他所认识的所有女孩有一个倾向度排序,每个女孩 y 对他所认识的所有男孩也有一个倾向度排序,对 G 上任意给定的一个倾向度分派,称 G 的一个匹配 M 为稳定匹配,如果对 G 中任一条非 M 边 xy, 以下两个条件至少有一个成立:

• M 中存在这样一条边 xy’ (即 x 是 M饱和的),使 x倾向于 y’胜过 y ;

• M 中存在这样一条边 x’y (即 y 是 M饱和的),使 y倾向于 x’胜过 x ;

Page 35: 第七部分  图论方法

6.稳定匹配问题• 数学上可以证明 : 在任给定的一个倾向度分派下,任一偶图中,都可找到一稳定匹配,且为一 X -最优稳定匹配 M* ,即对 G 中的任一稳定匹配 M及任一顶点 x X ,若xy M ,则存在 xy* M* ,使 y=y* ;或 x倾向于 y*胜过 y 。

Page 36: 第七部分  图论方法

6.稳定匹配问题• 第一 , 这个过程会中止 , 也就是说 , 总有大家都订了婚的一天 , 不可能无限循环 .

• 第二 , 中止后所有的婚姻是稳定婚姻 . 所谓不稳定婚姻是说 , 比如说有两对夫妇M1, F1 和 M2, F2, M1 的老婆是 F1, 但他更爱 F2;而 F2 的老公虽说是 M2. 但她更爱M1(注意是更爱 , 不是最爱 ), 这样的婚姻就是不稳定婚姻 ,因为 M1 和 F2理应结合 , 他们现在各自的婚姻都是错误 . 我们能证明的是 , 通过上面那个求婚过程 , 所有的婚姻都是稳定的 , 没有人犯错误 .

Page 37: 第七部分  图论方法

7.竞赛图• 几支球队参加单循环比赛,各队两两交锋,

每场比赛无平局,必分输赢。如何排列各队的名次,成为比赛组织者和各参赛队关心的问题。

Page 38: 第七部分  图论方法

7.竞赛图• 2 个队相应的竞赛图可归纳为一种 .

• 3 个顶点的竞赛图可归为两种情况 .

Page 39: 第七部分  图论方法

7.竞赛图• 4 个顶点的竞赛图

Page 40: 第七部分  图论方法

7.竞赛图• 对于任何一对顶点,存在两条有向路径,

使两顶点可以相互连通,这种有向图称为双向连通的。

• 令表示第 i 个队的得分,则称 n维向量 S=(s1,s2,…,s n)T 为得分向量 .

• S=Ae, e=(1,1, …,1)T

• S(k)=AS(k-1)=Ake, k=1,2, …