图论模型最短路
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P0(u,v)是G中连接u,v的最短路径。
定 理若v0v1 v2 vk 是G中 从v0到vm的 最短 路 , 则 对i, j,
1 i j m,
vi vi 1
v
必
j
为G中
从vi
到v
的
j
最
短
路.
定义3 设v0v1v2 vm是G中从v0到vm的最短路,则对k,
1 k m,称vk1为vk的父点.
(4)v3为 刚 得 到P标 号 的 点 , 考 察 边v3v2 , v3v6的 端 点v2 , v3 :
V1
1
V4
T (v2 ) min{T (v2 ), P(v3 ) f32} min{8,1 7} 8
2
6
5
3
8
T (v6 ) min{T (v6 ), P(v3 )
则称是G的一个通路。如果通路中没有相同的边,则称此 通路为道路;始点和终点相同的道路称为圈或回路;如果
通路中既没有相同的边,又没有相同的顶点,则称此通路
为路径,简称路。
定义4 任意两点都有通路的图称为连通图。
定义5 连通而无圈的图称为树,常用T表示树。
§7.2 最短路模型及其算法
最短路问题是网络理论中应用最为广泛的问题之一, 不少优化问题可化为这个模型。如管道的铺设、运 输网络的设计、线路安排、设备更新、厂区布局等。
算法每一步是把某一点的T标号改为P标号,当终点 得到P标号时全部计算结束。其具体步骤如下:
(1)赋初值:给起点v0以P标号,P(v0)=0,其余 各点vi均为T标号,T(vi)=+∞;
(2)更新所有的T标号:若vi点为刚得到的P标号的 点,考虑这样的点vj,边vivj∈E,且vj为T标号,对 vj的T标号进行如下的更改: T(vj ) min{T(vj ), P(vi ) f i j}, fij 为边vi vj的权数.
根据上述定理,著名计算机专家狄克斯特拉 (Dijkstra)给出了求G中某一点到其他各点最短 路径的算法——标号法:T标号与P标号。T标号为 试探性标号,P标号为永久性标号。
给vi点一个P标号时,表示从v0(起点)到点vi的 最短路权,vi点的标号不再改变;给vi点一个T标 号时,表示从v0到vi的估计最短路权,是一种临时 标号。凡没有得到P标号的点都标有T标号。
如果G的每条边都是无向边,则称G为无向图;如果G 的每条边都是有向边,则称G为有向图。否则称G为混 合图。并且常记E={e1,e2,…,em},
(ek=vivj,i,j=1,2,…,n), 对于一个图G=(V,E),人们通常用一个图形来表示,
称其为图解。凡是有向图,在图解上用箭头标明其方 向。
V1wenku.baidu.com
2
6
8 V2
T(vi ) ,i 1,2,,7.
V0 17
(2)由于边v0v1 , v0v2 , v0v3 E,
V3
且v1 , v2 , v3为T标号,所以修正这些点的标号.
1
V4
5
3
1
6
V5 2
4
8
V7 3
9
V6
T (v1) min{T (v1), P(v0 ) f01} min{ ,0 2} 2
称点vi,vj为边vivj的端点。在有向图中,称点vi,vj 分别为有向边vivj的始点和终点;称边vivj为点vi 的出边,为点vj入边。
由边连接的两个点称为相邻的点;有一个公共端点的边称 为相邻边;边和它的端点称为互相关联。常用d(v)表示图
G中与顶点v关联的边的数目,d(v)称为顶点v的度数;用N
(v)表示图G中所有与顶点v相邻的顶点的集合。
定义2 若将图G的每条边e都对应一个实数F(e),则称F(e) 为该边的权,并称图G为赋权图,记为G=(V,E,F)。
定义3 设G=(V,E)是一个图,
,
v0 , v1, v2 ,, vk V ,且1 i k, vi1vi E
例 如 设V=v1, v2 , v3, v4},E {v1v2 , v1v3, v1v4 , v2v3, v2v4 , v3v4}
则G=(V,E)是一个有4个顶点、6条边的图,其图
解如下图: v3
v4
e6
v3
e2 e3
e6
v4
e4
e5
v1
e1
v2
e3 e2
e5
e4
v1
e1
v2
一个图会有许多外形不同的图解,如上图。
T (v1) 2
f 36 } V0
8miVn2{
17
1,1
V5
2
96 }
4
3
9
V7
(5)比 较 所 有T标 号 ,T(v1 )最 小 ,V3 所9以 令P(vV16 ) 2
第六章 图论方法
§7.1 图论的基本概念
定义1 一个有序二元组(V,E)称为一个图,记为G= (V,E),其中① V称为G的顶点集,V≠Φ,V中的元 素称为顶点或结点,简称点;② E称为G的边集,其 元素称为边,它连接V中的两个点,如果这两个点是 无序的,则称该边为无向边;否则,称为有向边。
如果V={v1,v2,…,vn}是有限非空点集,则称G为有 限图或n阶图。
(3)比较所有T标号的点,把最小者改为P标号,
即:P(vj* ) min{T (v j )}
当存在两个以上最小时,可同时改为P标号,若全部 点均为P标号,则停止;
否则,用vj*代替vi ,转回(2).
例2 求下图中V0到其余各点的最短路。
解 :(1)首 先 给v0以P标 号 , P(v0 ) 0,其 余 各 点 为T标 号 ,
T (v2 ) min{T (v2 ), P(v0 ) f02} min{ ,0 8} 8
T (v3 ) min{T (v3 ), P(v0 ) f03} min{ ,0 1} 1
(3)比 较 所 有 的T标 号 ,T(v3 )最 小 , 所 以 令 :P(v3 ) 1;
定义1 设P(u,v)是赋权图G=(V,E,F)中从点u到点
v的路径,用E(P)表示路径P(u,v)的全部边的集合,
记为,
,则称F(P)为路径P(u,v) 的
权或长度。 F(P) F(e) eE(P)
定义2 若P0(u,v)是G中连接u,v的路径,且对任意在 G中连接u,v的路径P(u,v),都有F(P0)≤F(P),则称