运筹学第六章图与网络分析a管理精品资料
合集下载
运筹学(第6章 图与网络分析)

a1 (v1) 赵
(v2)钱
a2 a3 a4 a14 a15
a8 a9
a7 (v4) 李
(v3)孙
a5 (v5) 周 a6 a10 (v6)吴
图6-3
a12 a11 a13
(v7)陈
定义: 图中的点用v表示,边用e表示。对每条边可用它
所连接的点表示,记作:e1=[v1,v1]; e2=[v1,v2];
树是图论中结构最简单但又十分重要的图。在自然和社会领 域应用极为广泛。 例6.2 乒乓求单打比赛抽签后,可用图来表示相遇情况,如 下图所示。
运动员 A
B C
D
E
F G
H
例6.3 某企业的组织机构图也可用树图表示。
厂长
人事科
财务科
总工 程师
生产副 厂长
经营副 厂长
开发科
技术科
生产科
设备科
供应科
动力科
e2
(v1) 赵
e1
e3
e4 孙(v3) 李(v4)
周(v5)
图6-2
e5 吴(v6) 陈(v7)
(v2)钱
如果我们把上面例子中的“相互认识”关系改为“认识” 的关系,那么只用两点之间的联线就很难刻画他们之间的关 系了,这是我们引入一个带箭头的联线,称为弧。图6-3就是 一个反映这七人“认识”关系的图。相互认识用两条反向的 弧表示。
端点,关联边,相邻 若有边e可表示为e=[vi,vj],称vi和
e2 v2 e6 e1 e4 v1 e3 v3 e8
vj是边e的端点,反之称边e为点vi
或vj的关联边。若点vi、vj与同一条 边关联,称点vi和vj相邻;若边ei和
e5
e7
(v2)钱
a2 a3 a4 a14 a15
a8 a9
a7 (v4) 李
(v3)孙
a5 (v5) 周 a6 a10 (v6)吴
图6-3
a12 a11 a13
(v7)陈
定义: 图中的点用v表示,边用e表示。对每条边可用它
所连接的点表示,记作:e1=[v1,v1]; e2=[v1,v2];
树是图论中结构最简单但又十分重要的图。在自然和社会领 域应用极为广泛。 例6.2 乒乓求单打比赛抽签后,可用图来表示相遇情况,如 下图所示。
运动员 A
B C
D
E
F G
H
例6.3 某企业的组织机构图也可用树图表示。
厂长
人事科
财务科
总工 程师
生产副 厂长
经营副 厂长
开发科
技术科
生产科
设备科
供应科
动力科
e2
(v1) 赵
e1
e3
e4 孙(v3) 李(v4)
周(v5)
图6-2
e5 吴(v6) 陈(v7)
(v2)钱
如果我们把上面例子中的“相互认识”关系改为“认识” 的关系,那么只用两点之间的联线就很难刻画他们之间的关 系了,这是我们引入一个带箭头的联线,称为弧。图6-3就是 一个反映这七人“认识”关系的图。相互认识用两条反向的 弧表示。
端点,关联边,相邻 若有边e可表示为e=[vi,vj],称vi和
e2 v2 e6 e1 e4 v1 e3 v3 e8
vj是边e的端点,反之称边e为点vi
或vj的关联边。若点vi、vj与同一条 边关联,称点vi和vj相邻;若边ei和
e5
e7
运筹学:第6章 图与网络分析

给图中的点和边赋以具体的含义和权值,我们称 这样的图为网络图(赋权图)
2021/4/18
6
图中的点用 v 表示,边用 e 表示,对每条边可用
它所联结的点表示,如图,则有:
e1 = [v1 , v1], e2 = [v1 , v2]或e2= [v2 , v1]
2021/4/18
7
用点和点之间的线所构成的图,反映实际生产和 生活中的某些特定对象之间的特定关系。
第一种解法:
1. 在点集中任选一点,不妨取 S,令 V={S} 2. 找到和 S 相邻的边中,权值最小的 [S , A] 。
2021/4/18
22
3.V={S , A} 4. 重复第2,3步,找到下一个点。
2021/4/18
23
第二种做法求解过程:
2021/4/18
24
破圈法求解步骤:
1. 从图 N 中任取一回路,去掉这个回路中边 权最大的边,得到原图的一个子图 N1。
Dijkstra 算法假设:
1.设 dij 表示图中两相邻点 i 与 j 的距离,若 i 与 j 不相邻,令 dij =∞,显然 dii =0。 2. 设 Lsi 表示从 s 点到 i 点的最短距离。
2021/4/18
31
求从起始点 s 到终止点 t 的最短路径。 Dijkstra 算法步骤:
1.对起始点 s ,因 Lss =0 ,将 0 标注在 s 旁的小 方框内,表示 s 点已标号;
终点重合的链称为圈,起点和终点重合的路称为回
路,若在一个图中,每一对顶点之间至少存在一条
链,称这样的图为连通图,否则称该图为不连通的。
2021/4/18
12
2021/4/18
链
2021/4/18
6
图中的点用 v 表示,边用 e 表示,对每条边可用
它所联结的点表示,如图,则有:
e1 = [v1 , v1], e2 = [v1 , v2]或e2= [v2 , v1]
2021/4/18
7
用点和点之间的线所构成的图,反映实际生产和 生活中的某些特定对象之间的特定关系。
第一种解法:
1. 在点集中任选一点,不妨取 S,令 V={S} 2. 找到和 S 相邻的边中,权值最小的 [S , A] 。
2021/4/18
22
3.V={S , A} 4. 重复第2,3步,找到下一个点。
2021/4/18
23
第二种做法求解过程:
2021/4/18
24
破圈法求解步骤:
1. 从图 N 中任取一回路,去掉这个回路中边 权最大的边,得到原图的一个子图 N1。
Dijkstra 算法假设:
1.设 dij 表示图中两相邻点 i 与 j 的距离,若 i 与 j 不相邻,令 dij =∞,显然 dii =0。 2. 设 Lsi 表示从 s 点到 i 点的最短距离。
2021/4/18
31
求从起始点 s 到终止点 t 的最短路径。 Dijkstra 算法步骤:
1.对起始点 s ,因 Lss =0 ,将 0 标注在 s 旁的小 方框内,表示 s 点已标号;
终点重合的链称为圈,起点和终点重合的路称为回
路,若在一个图中,每一对顶点之间至少存在一条
链,称这样的图为连通图,否则称该图为不连通的。
2021/4/18
12
2021/4/18
链
运筹学6(图与网络分析)

定义7:子图、生成子图(支撑子图)
图G1={V1、E1}和图G2={V2,E2}如果 V1 V2和E1 E2 称G1是G2的一个子图。
若有 V1=V2,E1 E2 则称 G1是G2的一 个支撑子图(部分图)。
图8-2(a)是图 6-1的一个子图,图8-2 (b)是图 8-1的支撑子图,注意支撑子图 也是子图,子图不一定是支撑子图。 e1
v2 ▲如果链中所有的顶点v0,v1,…,vk也不相
e1 e2 e4 v1 e3
v3 e5
同,这样的链称初等链(或路)。
e6
▲如果链中各边e1,e2…,ek互不相同称为简单链。
e7
e8
▲当v0与vk重合时称为回路(或圈),如果边不 v4
v5
重复称为简单回路,如果边不重复点也不重复
则称为初等回路。
图8-1中, μ1={v5,e8,v3,e3,v1,e2,v2,e4,v3,e7,v5}是一条链,μ1中因顶 点v3重复出现,不能称作路。
e1
e2 e4 v1 e3
v2
v3
e5
e6
e7
e8
v4
v5
定理1 任何图中,顶点次数的总和等于边数的2倍。
v1
v3
v2
定理2 任何图中,次为奇数的顶点必为偶数个。
e1
e2 e4 v1 e3
v2
v3
e5
e6
e7
e8
v4
v5
定义4 有向图: 如果图的每条边都有一个方向则称为有向图
定义5 混合图: 如何图G中部分边有方向则称为混合图 ② ⑤ ④
定理4 有向连通图G是欧拉图,当且仅当G中每个顶点的出 次等于入次。
② 15
9 10
运筹学-6(图与网络分析)PPT课件

4
3
验证:第一圈内总长:3+4+5+4+7=23 第一圈逆时针内配送路长:3+4+5=12>11.5,则不是最优方案 第二圈内配送路长:4+2+3+4=13 第二圈逆时针内配送路长:2<6.5,则是最优方案。 第二圈顺时针内配送路长:3<6.5,则是最优方案。
修正第一圈内方案,取逆时针方向最小值1,然后逆时针方向配送路线减去 1,顺时针方向配送及未走路线加上1,则得到第一圈内配送路长:5<总长 一半,则是最优方案。如图所示:
相关 成本
A 4C
E
A 5C
E F
A 6C
F I
D D, F F, I
D D I H, G
D D H, G H, J
348 291, 228 294, 258
348 291 258 288, 360
348 291 288, 360 390, 384
第n个 最近
节点
最小 成本
最新 连接
A到各 N节点 最短 路径
6.2.2 网络图的绘制原则
只能有一个始点事项和一个终点事项 不允许出现编号相同的箭线 不允许出现循环线路 作业要始于结点终于结点
网 络 规 则(2)
1、避免循环、不留缺口
2、一一对应:一道工序用两个事项表示
F 228 CF A→C→F
I
258 EI A→B→E
→I
H 288 FH A→C→F →H
步 已解点 候选点 骤
相关 成本
A C 7F I H
F 8I
H D
D D G J G, J
G J J G
348 291 360 384 336, 414 360 384 414 396
运筹学第六章图与网络分析

S
2
4
7
2 A
0 5
S
5 45 B
98
14
5
13
D
T
C
E
4
4
4
7
最短路线:S AB E D T
最短距离:Lmin=13
2.求任意两点间最短距离的矩阵算法
⑴ 构造任意两点间直接到达的最短距离矩阵D(0)= dij(0)
S A B D(0)= C D E T
SABCDET 0 25 4 2 02 7 5 20 1 5 3 4 1 0 4 75 0 15 3 41 0 7 5 7 0
e1 v1
e5
v0 e2
e3
v2
e4
e6 e7
v3
v4
(4)简单图:无环、无多重边的图称为简单图。
(5)链:点和边的交替序列,其中点可重复,但边不能 重复。
(6)路:点和边的交替序列,但点和边均不能重复。
(7)圈:始点和终点重合的链。
(8)回路:始点和终点重合的路。
(9)连通图:若一个图中,任意两点之间至少存在一条 链,称这样的图为连通图。 (10)子图,部分图:设图G1={V1,E1}, G2={V2,E2}, 如果有V1V2,E1E2,则称G1是G2的一个子图;若 V1=V2,E1E2,则称G1是G2的一个部分图。 (11)次:某点的关联边的个数称为该点的次,以d(vi)表示。
步骤:
1. 两两连接所有的奇点,使之均成为偶点;
2. 检查重复走的路线长度,是否不超过其所在 回路总长的一半,若超过,则调整连线,改 走另一半。
v1
4
v4
4
1
4
v2
v5
5
运筹学第6章 图与网络

也就是说| V1 |必为偶数。
定理6.2有学者也称作定理6.1的推论。根据定理6.2,握手定理也可以 表述为,在任何集体聚会中,握过奇次手的人数一定是偶数个。
12 该课件的所有权属于熊义杰
另外,现实中不存在面数为奇数且每个面的边数也是奇数的多面 体,如表面为正三角形的多面体有4个面,表面为正五边形的多面体有 12个面等等,也可以用这一定理予以证明。因为在任意的一个多面体 中, 当且仅当两个面有公共边时,相应的两顶点间才会有一条边,即 任意多面体中的一个边总关联着两个面。所以,以多面体的面数为顶
v j V2
(m为G中的边数)
因式中 2m 是偶数, d (v j ) 是偶数,所以 d (vi ) 也必为偶数
v j V2
vi V1
( 两个同奇同偶数的和差必为偶数 ), 同时,由于 d (vi ) 中的每个加数 d (vi )
均为奇数,因而 d (vi ) 为偶数就表明, d (vi ) 必然是偶数个加数的和 ,
图论、算法图论、极值图论、网络图论、代数图论、随机图论、 模糊图论、超图论等等。由于现代科技尤其是大型计算机的迅 猛发展,使图论的用武之地大大拓展,无论是数学、物理、化 学、天文、地理、生物等基础科学,还是信息、交通、战争、 经济乃至社会科学的众多问题.都可以应用图论方法子以解决。
1976年,世界上发生了不少大事,其中一件是美国数学家 Appel和Haken在Koch的协作之下,用计算机证明了图论难题— —四色猜想(4CC):任何地图,用四种颜色,可以把每国领土染 上一种颜色,并使相邻国家异色。4CC的提法和内容十分简朴, 以至于可以随便向一个人(哪怕他目不识丁)在几分钟之内讲清 楚。1852年英国的一个大学生格思里(Guthrie)向他的老师德·摩 根(De Morgan)请教这个问题,德·摩根是当时十分有名的数学家, 他不能判断这个猜想是否成立,于是这个问题很快有数学界流 传开来。1879年伦敦数学会会员Kemple声称,证明了4CC成立, 且发表了论文。10年后,Heawood指出了Kemple的证明中
运筹学06图与网络分析PPT演示文稿

v4
v1 v2 v3 v4 v5 v1 0 1 1 0 0
起 v2 1 0 0 1 1
点 v3 1 0 0 0 1
v5
v4 0 1 0 0 1
v5 0 1 1 1 0
19
❖ 赋权无向图的邻接矩阵表示
▪ 两顶点之间有边相连的,写上其权数,无 边相连的记为∞,对角线上的数字为0。赋 权无向图对应的矩阵也是对称的。
1 图的基本概念
❖ 案例导引 ❖ 图论中的图 ❖ 图的矩阵描述
2
案例导引
❖ 图论是运筹学的一个重要分支,对其最早的 研究可以追溯到著名的哥尼斯堡七桥问题 (Konigsberg Bridges Problem)。18世纪,欧洲 的哥尼斯堡城有一条流经全城的普雷戈尔河, 河的两岸与河中两个小岛及两岛之间有七座 桥彼此相通(如左图)。
22
树及其性质
❖ 树在现实中随处可见,如电话线架设、比赛 程序、组织结构等。
❖ 树:连通的无圈的无向图称为树。
23
❖ 树的性质 ❖ 图G=(V,E),p个点、q条边,下列说法是等价
的 ▪ (1)G是一个树 ▪ (2)G连通,且恰有p-1条边 ▪ (3)G无圈,且恰有p-1条边 ▪ (4)G连通,但每舍去一边就不连通 ▪ (5)G无圈,但每增加一边即得唯一一个圈 ▪ (6)G中任意两点之间恰有一条链(简单链)
30
❖在根树中,若每个顶点的出次小于或等 于M,称这棵树为M叉树。
❖若每个顶点的出次恰好等于M或者零, 则称这棵树为完全M叉树。
❖当M=2时,称为二叉树、完全二叉树。
31
❖ 如图所示的树是根树。其 中根、分枝点、叶;各点 层次都标注在树上。
❖ 这是一棵三叉树
三叉树
根
运筹学胡运权第五版(第6章)课件

零图: 边集为空集的图。
运筹学胡运权第五版(第6章)
2、图的阶:即图中的点数。 例如 右图为一个五阶图
3、若图中边e= [vi,vj] ,则vi,vj称 为e的端点,
e称为vi,vj的关联边。 若vi与vj是一条边的两个端
点,则称vi与vj相邻; 若边ei与ej有公共的端点,
则称ei与ej相邻。
e8
1、图(graph):由V,E构成的有序二元组,用以表示对 某些现实对象及其联系的抽象,记作 G={V,E}。 其中V称为点集,记做V={v1,v2,···,vn}
E称为边集,记做E={e1,e2,···,em}
点(vertex):表示所研究的对象,用v表示; 边(edge):表示对象之间的联系,用e表示。 网络图(赋权图): 点或边具有实际意义(权数)的图, 记做N。
路:点不能重复的链。
圈:起点和终点重合的链。
回路:起点和终点重合的路。
连通图:任意两点之间至少存在一条链的图。
完全图:任意两点之间都有边相连的简单图。
n阶完全图用Kn表示,边数=
C 2 n(n 1)
n
2
注意:完全图是连通图,但连通图不一定是完全图。
运筹学胡运权第五版(第6章)
v1 e4
v4 e5 v5
依次下去,vn必然与前面的某个点相邻,图中有圈,矛盾!
注意:树去掉悬挂点和悬挂边后余下的子图还是树。
运筹学胡运权第五版(第6章)
(2)n阶树必有n-1条边。
证明(归纳法): 当n=2时,显然;
设n=k-1时结论成立。 当n=k时,树至少有一个悬挂点。
去掉该悬挂点和悬挂边,得到一个k-1阶的树,它有 k-2条边,则原k阶树有k-1条边。
7、已知图G1={V1,E1}, G2={V2,E2}, 若有V1V2,E1E2,则称G1是G2的一个子图; 若V1=V2,E1E2且 E1≠E2 ,则称G1是G2的一个部分图。
运筹学胡运权第五版(第6章)
2、图的阶:即图中的点数。 例如 右图为一个五阶图
3、若图中边e= [vi,vj] ,则vi,vj称 为e的端点,
e称为vi,vj的关联边。 若vi与vj是一条边的两个端
点,则称vi与vj相邻; 若边ei与ej有公共的端点,
则称ei与ej相邻。
e8
1、图(graph):由V,E构成的有序二元组,用以表示对 某些现实对象及其联系的抽象,记作 G={V,E}。 其中V称为点集,记做V={v1,v2,···,vn}
E称为边集,记做E={e1,e2,···,em}
点(vertex):表示所研究的对象,用v表示; 边(edge):表示对象之间的联系,用e表示。 网络图(赋权图): 点或边具有实际意义(权数)的图, 记做N。
路:点不能重复的链。
圈:起点和终点重合的链。
回路:起点和终点重合的路。
连通图:任意两点之间至少存在一条链的图。
完全图:任意两点之间都有边相连的简单图。
n阶完全图用Kn表示,边数=
C 2 n(n 1)
n
2
注意:完全图是连通图,但连通图不一定是完全图。
运筹学胡运权第五版(第6章)
v1 e4
v4 e5 v5
依次下去,vn必然与前面的某个点相邻,图中有圈,矛盾!
注意:树去掉悬挂点和悬挂边后余下的子图还是树。
运筹学胡运权第五版(第6章)
(2)n阶树必有n-1条边。
证明(归纳法): 当n=2时,显然;
设n=k-1时结论成立。 当n=k时,树至少有一个悬挂点。
去掉该悬挂点和悬挂边,得到一个k-1阶的树,它有 k-2条边,则原k阶树有k-1条边。
7、已知图G1={V1,E1}, G2={V2,E2}, 若有V1V2,E1E2,则称G1是G2的一个子图; 若V1=V2,E1E2且 E1≠E2 ,则称G1是G2的一个部分图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
min T (v j) T ( v j) ,L ( v i) d ij j
3. 在与固定标号点相邻的临时标号点中选取 具有最小标号的点vi给予固定标号,即:
L(vi)=min{ T(vj) } 返回第2步。 4. 当vn得到固定标号时,计算结束。 注: 固定标号L(vi)表示v1到vi的最短距离, 临时标号T(vj)表示v1到vi距离的上界。
能一笔画的图一定是欧拉圈或含有欧拉链。 定理:连通的多重图G是欧拉图的充要条件是G 中无奇点。 推论:连通的多重图G有欧拉链的充要条件是G 中恰有两个奇点。
第二节 树图和图的最小部分树
树图:无圈的连通图称为树图,记为T(V,E)。 2-1 树的性质 性质1:任何树中必存在至少两个次为1的点(悬 挂点)。
若一个简单图中任意两点之间均有边相连,
则称该图为完全图。
对含有n个顶点的完全图,其边数有
Cn2
1n(n1) 2
条。
如果图的顶点能分成两个互不相交的非空
集合V1和V2 ,使在同一集合中任意两个顶点 都不相邻,则称该图为偶图(或二分图)。
若偶图的顶点集合V1、V2之间的每一对不 同顶点之间都有一条边相连,则称该图为完全 偶图。在完全偶图中, V1若有m个顶点, V2 有n个顶点,则其边数共有m×n条。
临时标号
v2(5) v3(2) v4(∞) v5(∞) v6(∞) v7(∞) v2(5) v4(9) v5(∞) v6(6) v7(∞) v4(7) v5(12) v6(6) v7(∞) v4(7) v5(7) v7(12)
v5(7) v7(12)
v7(10)
❖ Dijkstra 算 法 仅 适 合 于 所 有 的 权
Hale Waihona Puke 3-2 求任意两点间最短距离的矩阵算法(Floyd) 设邻接矩阵为D,计算D1=D+D, D2= D1 +D ,
D3= D2 +D ,… 。若Dm+1= Dm ,则Dm中的元 素值即为各点间的最短距离。
Dk+1= Dk +D算法: 例4:
D1=D+D=
+
=
d i(k j) m r d i(ik r 1 ) n d rj
第一节 图的基本概念
一、图的概念
1. 图(无向图) 图是由点与边组成的集合,记为:G=(V,E),
其中V≠Φ,表示图G中点的集合,E表示图G中 边的集合。图中点的个数记为p,称为图的阶; 图中边的条数记为q。
2. 端点、关联边、相邻 若边e可以表示为e=(vi,vj),则称vi和vj
是边e的端点;边e称为点vi和vj的关联边。 若点vi、vj与同一条边关联,称点vi和vj相
7. 子图,部分图 对图G1={ V1,E1 }和图G2={ V2,
E2 } ,若有V1V2和 E1E2 ,则称G1是 G2的一个子图。
若有 V 1V2和 E1E2 ,则称G1是G2 的一个部分图。
定理 :在图G中,所有顶点次之和等于边数
的两倍。即:
d(v) 2q
vV
定理 :在任一图中,奇点的个数必为偶数。
v1 10 0 5 2 7 7 6 10 v2 8 5 0 7 2 5 4 8 v3 7 2 7 0 6 5 4 8 v4 7 7 2 6 0 3 2 6 v5 7 7 5 5 3 0 1 3 v6 6* 6 4 4 2 1 0 4 v7 10 10 8 8 6 3 4 0
(2)找出与v1相邻的点中距离最小的一个, 设为vr,
将L1r= L11+ d1r的值标注在点vr旁的小 方框内,此时, vr也已经标号; (3)从已标号点出发,找出与已标号点相
邻的所有未标号点vp,若有 L 1 p m p L 1i 1 d n 1 p ,L 1 r d rp
则将L1p的值标在vp旁的小方框内,此时,点 vp已得到标号; (4)重复第(3)步,直到vn得到标号。
固定标号
1. v1(0) 2. 3. 2. v1(0) v3(2) 4. 5. 3. v1(0) v3(2) v2(5) 6. 7. 4. v1(0) v3(2) v2(5) 8. v6(6) 9. 5. v1(0) v3(2) v2(5) 10. v6(6) v4(7) 11. 6 v1(0) v3(2) v2(5) 12. v6(6) v4(7) v5(7) 13. 7. v1(0) v3(2) v2(5) 14. v6(6) v4(7) v5(7) 15. v7(10)
次为0的点称为孤立点。 次为1的点称为 悬挂点。
.v6
5. 链,圈,连通图 图中由相邻的点和互不相同的边组成的
交替序列μ称为链。 若链中的所有顶点也不相同,则该链称
为路。 起点与终点重合的链称为圈。起点与终
点重合的路称为回路。 若图中任意两个顶点之间都至少存在一
条链,则称该图为连通图。
6. 完全图,偶图
V4 8 0 2 3 -7 -7 -7
V5 -1 0 1 -3 -3
V6 1 0 1 7 -1 -1 -1
V7 -1 0 5 -5 -5
V8 -3 -5 0 6 6
❖ 为了求出从v1到各个点的最短路,一般采
用反向追踪的方法:如果已知L(vs,vj),那么寻 求一个点vk,使得L(vs,vk)+wkj=L(vs,vj),然后记 录 下 (vk,vj) 。 再 看 L(vs,vk), 寻 求 一 个 点 vi, 使 得 L(vs,vi)+wiK=L(vs,vk)… 依 次 类 推 , 一 直 到 达 L(vs,v1) 为 止 。 这 样 , 从 vS 到 vj 的 最 短 路 是 (vs,…vi,vk,vj)。 ❖ 在 本 例 中 , 由 表 知 , L(v1,v8)=6, 由 于 L(v1,v6)+d68=(-1)+7 记 录 下 v6 , 由 于 L(v1,v3)+d36=L(v1,v6),j 记 录 下 v3 , 由 于 L(v1,v1)+d13=L(v1,v3), 于 是 , 从 v1 到 v8 的 最 短 路是(v1,v3,v6,v8)。
1.若点vi到点vj之间有一条弧,则令权数为dij, 否则,令dij=+∞。 2.由于从vs到vj的最短路是从vs点出发,沿着这 条路到某个点vi,再沿弧(vi,vj)到点vj。显然, 从vs到vi必定是从vs到vj的最短路,否则从vs到 vj的这条路将不是最短路。于是,从vs到vj的最 短距离L(vs,vj)满足以下条件,
-3
v3
2
1
1 v6
-3 7
v8
8 -5 2 3
1
-5
v4
-1
v7
终 点
dij
L(t)(vs,vj)
起 V1 V2 V3 V4 V5 V6 V7 V8 t=1 t=2 t=3 t=4
点
V1 0 -1 -2 3 0 0 0 0
V2 6 0 2 -1 -5 -5 -5
V3 -3 0 -5 1 -2 -2 -2 -2
作业: P172 6.11 6.13
修正狄克斯特拉(标号)算法: 步骤: 1. 对起点v1给予固定标号L(v1)=0,其余点为 临时标号,并记为:
T(vj
)
d1j
v1与vj相邻 (j=1,2...n) v1与vj不相邻
2. 设vi是刚刚得到固定标号的点L(vi) ,修改与 其相邻的临时标号点vj :
性质2:具有n个顶点的树的边数恰好为(n-1)条。 性质3:任何具有n个顶点、(n-1)条边的连通图 是树。
2-2 图的最小部分树(最短树) 如果G1是G2的部分图,又是树图,则称G1
是G2的部分树(或支撑树)。 G2的树枝总长最 小的部分树称为该图的最小部分树。
定理1. 图中任一个点i,若j是与i相邻点中距离 最近的,则边(i, j)必含在该图的最小部分树内。 推 则论 两: 集合把之图间的连所线有的点最分短成边V一和定V 包两含个在集最合小,部 分树内。
L(vs,vj)=min{L(vs,vi)+dij}, i=1,…,p
i
这个关系式L(vs,v1)…L(vs,vp)可利用如
下的递推公式求解
L(1)(vs,vj)=dsj ,j=1…p L(t)(vs,vj)=miin{L(t-1)(vs,vi)+ dij},t=2,3…
3.当计算到第K步时,若对一切的j=1…p,有
L(k)(vs,vj)=L(k-1)(vs,vj)
则 L(k)(vs , vj),j=1…p, 就 是 从 vs 到 各 点 vj
的最短路径。
结论
❖ 设C是赋权函数有向图D中的一个回路。如果回路C的 权S(C)是负数那么称C是D中的一个负回路。
可以证明以下的结论:
1.如果赋权有向图D不含有负回路,那么从vs到任 一点的最短路至多包含P-2个中间点,并且必可取为
例: 在如下图所示的赋权有向图中求从v1到各
点的最短路。
解:利用上述递推公式,将求解结果列出如 下表所示。
可以看出,当t=4时,有:
L(t)(vs,vj)=L(t-1)(vs,vj) j=1…8 。 因 此 , 表 中的最后一列,就是从v1到v1,v2,..,v8的最短
路权。
v2
-1
v5
6
v1
-1 -2
例:有八种化学药品,某些不能放入同一个仓 库,用连线表示。见下图。 (v1) ( v2, v4,v7) (v3,v5) (v6,v8)
例:四色问题。
8. 同构 对图G1={ V1,E1 }和图G2={ V2,
E2 } ,如果顶点集合V1与V2之间以及边的集 合E1与E2之间都建立了一一对应关系,并且 图G1的两顶点之间的边对应于图G2对应顶点 的边,则称图G1与图G2是同构的。
9. 赋权图:对一个无向图G的每一条边(vi, vj) ,相应地有一个数wij,则称这样的图G为 赋权图(也称网络图,记为N),wij称为边(vi, vj) 上的权。
3. 在与固定标号点相邻的临时标号点中选取 具有最小标号的点vi给予固定标号,即:
L(vi)=min{ T(vj) } 返回第2步。 4. 当vn得到固定标号时,计算结束。 注: 固定标号L(vi)表示v1到vi的最短距离, 临时标号T(vj)表示v1到vi距离的上界。
能一笔画的图一定是欧拉圈或含有欧拉链。 定理:连通的多重图G是欧拉图的充要条件是G 中无奇点。 推论:连通的多重图G有欧拉链的充要条件是G 中恰有两个奇点。
第二节 树图和图的最小部分树
树图:无圈的连通图称为树图,记为T(V,E)。 2-1 树的性质 性质1:任何树中必存在至少两个次为1的点(悬 挂点)。
若一个简单图中任意两点之间均有边相连,
则称该图为完全图。
对含有n个顶点的完全图,其边数有
Cn2
1n(n1) 2
条。
如果图的顶点能分成两个互不相交的非空
集合V1和V2 ,使在同一集合中任意两个顶点 都不相邻,则称该图为偶图(或二分图)。
若偶图的顶点集合V1、V2之间的每一对不 同顶点之间都有一条边相连,则称该图为完全 偶图。在完全偶图中, V1若有m个顶点, V2 有n个顶点,则其边数共有m×n条。
临时标号
v2(5) v3(2) v4(∞) v5(∞) v6(∞) v7(∞) v2(5) v4(9) v5(∞) v6(6) v7(∞) v4(7) v5(12) v6(6) v7(∞) v4(7) v5(7) v7(12)
v5(7) v7(12)
v7(10)
❖ Dijkstra 算 法 仅 适 合 于 所 有 的 权
Hale Waihona Puke 3-2 求任意两点间最短距离的矩阵算法(Floyd) 设邻接矩阵为D,计算D1=D+D, D2= D1 +D ,
D3= D2 +D ,… 。若Dm+1= Dm ,则Dm中的元 素值即为各点间的最短距离。
Dk+1= Dk +D算法: 例4:
D1=D+D=
+
=
d i(k j) m r d i(ik r 1 ) n d rj
第一节 图的基本概念
一、图的概念
1. 图(无向图) 图是由点与边组成的集合,记为:G=(V,E),
其中V≠Φ,表示图G中点的集合,E表示图G中 边的集合。图中点的个数记为p,称为图的阶; 图中边的条数记为q。
2. 端点、关联边、相邻 若边e可以表示为e=(vi,vj),则称vi和vj
是边e的端点;边e称为点vi和vj的关联边。 若点vi、vj与同一条边关联,称点vi和vj相
7. 子图,部分图 对图G1={ V1,E1 }和图G2={ V2,
E2 } ,若有V1V2和 E1E2 ,则称G1是 G2的一个子图。
若有 V 1V2和 E1E2 ,则称G1是G2 的一个部分图。
定理 :在图G中,所有顶点次之和等于边数
的两倍。即:
d(v) 2q
vV
定理 :在任一图中,奇点的个数必为偶数。
v1 10 0 5 2 7 7 6 10 v2 8 5 0 7 2 5 4 8 v3 7 2 7 0 6 5 4 8 v4 7 7 2 6 0 3 2 6 v5 7 7 5 5 3 0 1 3 v6 6* 6 4 4 2 1 0 4 v7 10 10 8 8 6 3 4 0
(2)找出与v1相邻的点中距离最小的一个, 设为vr,
将L1r= L11+ d1r的值标注在点vr旁的小 方框内,此时, vr也已经标号; (3)从已标号点出发,找出与已标号点相
邻的所有未标号点vp,若有 L 1 p m p L 1i 1 d n 1 p ,L 1 r d rp
则将L1p的值标在vp旁的小方框内,此时,点 vp已得到标号; (4)重复第(3)步,直到vn得到标号。
固定标号
1. v1(0) 2. 3. 2. v1(0) v3(2) 4. 5. 3. v1(0) v3(2) v2(5) 6. 7. 4. v1(0) v3(2) v2(5) 8. v6(6) 9. 5. v1(0) v3(2) v2(5) 10. v6(6) v4(7) 11. 6 v1(0) v3(2) v2(5) 12. v6(6) v4(7) v5(7) 13. 7. v1(0) v3(2) v2(5) 14. v6(6) v4(7) v5(7) 15. v7(10)
次为0的点称为孤立点。 次为1的点称为 悬挂点。
.v6
5. 链,圈,连通图 图中由相邻的点和互不相同的边组成的
交替序列μ称为链。 若链中的所有顶点也不相同,则该链称
为路。 起点与终点重合的链称为圈。起点与终
点重合的路称为回路。 若图中任意两个顶点之间都至少存在一
条链,则称该图为连通图。
6. 完全图,偶图
V4 8 0 2 3 -7 -7 -7
V5 -1 0 1 -3 -3
V6 1 0 1 7 -1 -1 -1
V7 -1 0 5 -5 -5
V8 -3 -5 0 6 6
❖ 为了求出从v1到各个点的最短路,一般采
用反向追踪的方法:如果已知L(vs,vj),那么寻 求一个点vk,使得L(vs,vk)+wkj=L(vs,vj),然后记 录 下 (vk,vj) 。 再 看 L(vs,vk), 寻 求 一 个 点 vi, 使 得 L(vs,vi)+wiK=L(vs,vk)… 依 次 类 推 , 一 直 到 达 L(vs,v1) 为 止 。 这 样 , 从 vS 到 vj 的 最 短 路 是 (vs,…vi,vk,vj)。 ❖ 在 本 例 中 , 由 表 知 , L(v1,v8)=6, 由 于 L(v1,v6)+d68=(-1)+7 记 录 下 v6 , 由 于 L(v1,v3)+d36=L(v1,v6),j 记 录 下 v3 , 由 于 L(v1,v1)+d13=L(v1,v3), 于 是 , 从 v1 到 v8 的 最 短 路是(v1,v3,v6,v8)。
1.若点vi到点vj之间有一条弧,则令权数为dij, 否则,令dij=+∞。 2.由于从vs到vj的最短路是从vs点出发,沿着这 条路到某个点vi,再沿弧(vi,vj)到点vj。显然, 从vs到vi必定是从vs到vj的最短路,否则从vs到 vj的这条路将不是最短路。于是,从vs到vj的最 短距离L(vs,vj)满足以下条件,
-3
v3
2
1
1 v6
-3 7
v8
8 -5 2 3
1
-5
v4
-1
v7
终 点
dij
L(t)(vs,vj)
起 V1 V2 V3 V4 V5 V6 V7 V8 t=1 t=2 t=3 t=4
点
V1 0 -1 -2 3 0 0 0 0
V2 6 0 2 -1 -5 -5 -5
V3 -3 0 -5 1 -2 -2 -2 -2
作业: P172 6.11 6.13
修正狄克斯特拉(标号)算法: 步骤: 1. 对起点v1给予固定标号L(v1)=0,其余点为 临时标号,并记为:
T(vj
)
d1j
v1与vj相邻 (j=1,2...n) v1与vj不相邻
2. 设vi是刚刚得到固定标号的点L(vi) ,修改与 其相邻的临时标号点vj :
性质2:具有n个顶点的树的边数恰好为(n-1)条。 性质3:任何具有n个顶点、(n-1)条边的连通图 是树。
2-2 图的最小部分树(最短树) 如果G1是G2的部分图,又是树图,则称G1
是G2的部分树(或支撑树)。 G2的树枝总长最 小的部分树称为该图的最小部分树。
定理1. 图中任一个点i,若j是与i相邻点中距离 最近的,则边(i, j)必含在该图的最小部分树内。 推 则论 两: 集合把之图间的连所线有的点最分短成边V一和定V 包两含个在集最合小,部 分树内。
L(vs,vj)=min{L(vs,vi)+dij}, i=1,…,p
i
这个关系式L(vs,v1)…L(vs,vp)可利用如
下的递推公式求解
L(1)(vs,vj)=dsj ,j=1…p L(t)(vs,vj)=miin{L(t-1)(vs,vi)+ dij},t=2,3…
3.当计算到第K步时,若对一切的j=1…p,有
L(k)(vs,vj)=L(k-1)(vs,vj)
则 L(k)(vs , vj),j=1…p, 就 是 从 vs 到 各 点 vj
的最短路径。
结论
❖ 设C是赋权函数有向图D中的一个回路。如果回路C的 权S(C)是负数那么称C是D中的一个负回路。
可以证明以下的结论:
1.如果赋权有向图D不含有负回路,那么从vs到任 一点的最短路至多包含P-2个中间点,并且必可取为
例: 在如下图所示的赋权有向图中求从v1到各
点的最短路。
解:利用上述递推公式,将求解结果列出如 下表所示。
可以看出,当t=4时,有:
L(t)(vs,vj)=L(t-1)(vs,vj) j=1…8 。 因 此 , 表 中的最后一列,就是从v1到v1,v2,..,v8的最短
路权。
v2
-1
v5
6
v1
-1 -2
例:有八种化学药品,某些不能放入同一个仓 库,用连线表示。见下图。 (v1) ( v2, v4,v7) (v3,v5) (v6,v8)
例:四色问题。
8. 同构 对图G1={ V1,E1 }和图G2={ V2,
E2 } ,如果顶点集合V1与V2之间以及边的集 合E1与E2之间都建立了一一对应关系,并且 图G1的两顶点之间的边对应于图G2对应顶点 的边,则称图G1与图G2是同构的。
9. 赋权图:对一个无向图G的每一条边(vi, vj) ,相应地有一个数wij,则称这样的图G为 赋权图(也称网络图,记为N),wij称为边(vi, vj) 上的权。