图论模型(最短路问题)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

w( P ) min w( P)
* P
Jin Peng http: /www.hgnc.net/peng/jpeng.html
数学模型与实验
路 P* 的权称为从 vs 到 vt 的距离,记为 d(vs ,vt ).
最短路算法
性质:如果 P 是 D 中从 vs 到 vj 的最短路,vi 是 P 中的一个点,那么,从vs 沿 P 到 vi 的路是从 vs 到 vi 的最短路.
d (vs , v j ) min {d (vs , vi ) wij }
i
利用以下递推公式可求出 vs 到其它各点的距离。
d (1) (vs , v j ) wsj , ( j 1,2, p) 对 t 2,3, d (t ) (vs , v j ) min {d t 1 (vs , vi ) wij }, ( j 1,2, p)
Jin Peng http: /www.hgnc.net/peng/jpeng.html
数学模型与实验
v2
5
1
v5
6
2 v9
v1 0
v3 3
6
4
10
6
3 v8
3
4
v4
1
10
v6
2
v7
由 min{d(v1,v4)+w46, d(v1,v2)+w25}= min{11,6}
= d(v1,v2)+w25=6 知,d(v1,v5)=6,λ(v5)=2.
Jin Peng http: /www.hgnc.net/peng/jpeng.html
数学模型与实验
v2
5
1
v5
2 v9
6
v1 0
2
v3 3 6 4 10 6
3 v8
3
4
v4
1
10
v6
2
v7
由 min{d(v1,v1)+w12, d(v1,v4)+w46, d(v1,v3)+w32 }= min{6,11,5} = d(v1,v3)+w32=5 知,d(v1,v2)=5, λ(v2)=3.
i
若到某一步,例如第k步,对所有j=1,2,…9,有
d ( k ) (vs , v j ) d ( k 1) (vs , v j )
则vs 到各点的距离。
d(v1,v7)=9, λ(v7)=5.
Jin Peng http: /www.hgnc.net/peng/jpeng.html
数学模型与实验 v2 5 v5 6
2
v9 v1 0 v8 v4
v3 3
4
10
6
3
1
10
v6
2
v7
9
4
10
由 min{d(v1,v4)+w46, d(v1,v5)+w56, d(v1,v5)+w58 , d(v1,v7)+w78 }= min{11,10,12,13} =
由 min{d(v1,v5)+w58, d(v1,v7)+w78 }= min{12,13} =
根据λ的取值可求出 v1 到其它各点的最短路。
Jin Peng http: /www.hgnc.net/peng/jpeng.html
最短路算法(wij 存在小于0 的情况) 如果 P 是 D 中从 vs 到 vj 的最短路,vi 是 P 中的一个 点,那么,从vs 沿 P 到 vj 的路是从 vs 到 vi 的最短路,则有
数学模型与实验
最短路问题
求 v1 到 其它各点 的最短路
v2 1 v5 2 6 v1 1 3 2 v3 6 4 10 6 v9 3 v8 10
2
3 4
v4
Jin Peng
v6
2
v7
http: /www.hgnc.net/peng/jpeng.html
数学模型与实验
基本概念
给定图 D=(V,A), 对 D 中的每一条弧 aij = (vi,vj),相应地有一个数 wij,则称这样的图为赋 权有向图,称 wij 为弧 (vi,vj) 上的权. 又给定 D 中的两个顶点 vs,vt,设 P 是 D 中从vs 到 vt 的一条路,称路 P 中所有弧的权之和为路 P 的 权,记为 w(P). 如果从 vs 到 vt 的路 P* 的权是Байду номын сангаас D 中所有从vs 到 vt 的路的权中最小者,则称 P* 是从 vs 到 vt 的最 短路.即
Jin Peng http: /www.hgnc.net/peng/jpeng.html
数学模型与实验 v2 5 v5 6
2
v9 v1 0
v3 3
4
10 3
6
3 v8
v4
1
10
v6
2
v7
9
4
由 min{d(v1,v4)+w46, d(v1,v5)+w56 , d(v1,v5)+w57 , d(v1,v5)+w58}= min{11,10,9,12} = d(v1,v5)+w57=9 知,
Jin Peng
http: /www.hgnc.net/peng/jpeng.html
数学模型与实验
Dijkstra 算法(wij ≥0)
v2 1 v5 2 6 v1 3 2 v3 2 v9
6
4
10
3
6
3 v8
0
1 v4
1
10
v6
2
v7
4
易知 d(v1,v1)=0,λ(v1)=0. 由 min{d(v1,v1)+w12, d(v1,v1)+w13 , d(v1,v1)+w14}= min{6,3,1} = d(v1,v1)+w14=1 知,d(v1,v4)=1,λ(v4)=1.
Jin Peng http: /www.hgnc.net/peng/jpeng.html
数学模型与实验
v2
1
v5
2 v9
6
v1 0 3
2
v3 3 6 4 10 6
3 v8
2
3
4
v4
1
10
v6
2
v7
由 min{d(v1,v1)+w12, d(v1,v1)+w13 , d(v1,v4)+w46}= min{6,3,11} = d(v1,v1)+w13=3 知,d(v1,v3)=3, λ(v3)=1.
d(v1,v5)+w56=10 知,d(v1,v6)=10, λ(v5)=5.
Jin Peng http: /www.hgnc.net/peng/jpeng.html
数学模型与实验
v2
5
v5
6
2 v9
v1 0
v3 3
6
3 v8
v4
1
10
v6
10
v7 9
4
12
d(v1,v5)+w58=12 知,d(v1,v8)=10,λ(v8)=5. d(v1,v9)=+∞, λ(v9)=M.
相关文档
最新文档