用最优化选择原则求最短路径及长度

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

第22卷湖北师范学院学报(自然科学版)V o l122第2期Journal of H ubeiN o r m al U niversity(N atural Science)N o12,2002

用最优化选择原则求最短路径及长度

孙霞林

(武汉化工学院计算机系,湖北武汉 430073)

摘要:用最优化选择原则对有向赋权图中的最短路径问题进行了讨论,给出在任意简单有限有向赋权图中求出从任一点到指定点间的最短路径长度的数学模型,提出构造一条含弧数最少的最短路径的方法,并推广到简单有限无向赋权图中。

关 键 词:有向赋权图;决策;策略;最短路径

中图分类号:O224 文献标识码:A 文章编号:100922714(2002)022*******

最短路径问题是图论中十分广泛的极值问题之一,其提法为:设G=〈V,E〉是一个有(无)向赋权图(他的每一条弧(边)e都有一个非负的权d(e)),在G中指定两个点U和V,求从U点到V点且各弧(边)的权之和最小的有(无)向路径。

求最短路径的常用方法是1959年E1W1D ijk stra提出的“标号发”,该法可求出从一个指定的点

V到其它各点的最短路径长度(即含弧(边)的权之和)。本文用最优化选择原则的思想,讨论在任一个有向赋权图中,从任意点到指定点V的最短路径及长度的方法。

1 最优化选择与最短路径

在一个策略的决定过程中,从初始状态或初始策略开始,每个决策状态可能有2个或2个以上的方案供决策选择,并且各个供选择的方案的后果均可用某个值来衡量,而最优化选择原则就是要确保在决定一个最优策略的过程中,使每次的决策都是最佳决策。因此,对于一个有向赋权图而言,假定图中每一条弧的起点视为一个决策状态,终点视为一个供选择的方案,其权视为该方案的后果。于是,求图中点U到点V的最短路径问题就成为从初始状态或初始决策U开始,经过若干次决策选择,确定达到目的V的最优策略。

定义1 在一个有向赋权图G中,若某点到目的点V的有向通路含有K条弧,称K为该点的步骤变量。

定义2 如果S是有向赋权图G中某条弧的起点,称S为状态变量(简称状态)。

定义3 对于某个状态S且步骤变量为K时所需选择的下一个点称为决策变量,记为V K(S),各步骤的决策总体称为策略。

我们约定:用符号d k(S)表示从某个状态S(处在S点)到目的点V且步骤变量为K时的最优策略,其值为从点S到点V所有含弧数为K的通路中最短路径长度,用符号d(u,v)表示在状态u下选择方案v的后果,其值是点u为起点而点v为终点的弧的权。

定理1 递推式:d k(S)=m in{d(S,V k(S))+d K-1(V(S))}(1)

〔收稿日期〕 2001-09-27

〔作者简介〕 孙霞林(1956— ),男,讲师

2

7

为对于一个步骤变量为K 的状态S ,在K 个步骤与K -1步骤之间的关系。式(1)可直接由定义得到,证明从略。

图1 与U 、V 相关的网络图 例1 在图1中求点U 到点V 的最短路径及其长

度。

解 计算从最后一个步骤开始。

当K =1时,显然有d 1(C 1)=2,d 1(C 2)=1,且V

1

(C 1)=V 1(C 2)=V 当K =2时,因从B 1出发有两种选择,即到C 1或

C 2,由式(1)有

d 2(B 1)=m in {d (B 1,C 1)+d 1(C 1),d (B 1,C 2)+d 1

(C 2)}=m in {5+2,4+1}=5即表明从B 1到V 的最短

路径长度是5(d 2(B 1)表示从B 1到V 含弧数为2的所有通路中的最短路径长度,而由图1知,所有从B 1到V 的通路所含的弧都只有两条,因此d 2(B 1)即为所求的从B 1到V 的最短路径长度)。又因为d 2(B 1)=d (B 1,C 2)+d 1(C 2),故决策变量V 2(B 1)=C 2,这样从B 1到V 的最优策略为B 1→C 2→V 。同理可得,d 2(B 2)=4,d 2(B 3)=4,各自决策变量为V 2(B 2)=C 1,V 2(B 3)=C 2。

当K =4时,由式(1)有d 4(V )=m in {d (U ,A 1)+d 3(A 1),d (U ,A 2)+d 3(A 2)}=m in {3+7,4+5}=9且V 4(U )=A 2,因图1中其它各点到点V 的各自所有的通路所含的弧数相同,即各点步骤变量取值唯一,故由定义可知,按式(1)所算出的d K (S )就是点S 到点V 的最短路径长度(S 表示图1中异于V 的点),因而所求的从点U 到点V 的最短路径是U →A 2→B 2→C 1→V ,长度为9。

从上例可以看出,用式(1)不但能求出从点U 到点V 的最短路径和长度,同时也可求出其它各点到V 的最短路径和长度。事实上,当一个有向赋权图中每一个点(不包括目的点V )的步骤变量K 取值唯一时,都可用式(1)直接求出某点到目的点V 的最短路径长度。然而,当一个有向赋权图中的某些点步骤变量K 取值不唯一时,式(1)将不能求出这些点到目的点的最短路径长度。例如,在图2中,点U 3到点U 1的所有通路有3条,各通路的含弧数均不相同(分别为1、2、3),即点u 3的步骤变量K 是多值的,用式(1)的方法求从点u 3到点u 1的最短路径和长度是不可行的,必须寻求其他的方法求出任意的有向赋权图中两点间的最短路径和长度。

2 步骤变量取多值时最短路径和长度的求法

规定符号D k (S )的值为从点S 到点V 且所含弧数不超过K 的所有通路中最短路径长度d m (S )(m ≤k )的最小值。

定理2 对于任何一个有向赋权图,任意一点到某个指定点的最短路径(若存在的话)和长度由递推关系d k (S )=m in V k (S ){d (S ,V k (S ))+d k -1(V k (S ))}D k (S )=m in m ≤k

{d m (S )}(2)

证 首先,式(2)是可求的,因为式(2)是在式(1)的基础上增加一个D k (S )的计算式,而式(1)是可求的,所以由m ≤k 可知d m (S )是存在的,这样D k (S )是可求的。即表示式(2)为可求。

其次,式(2)是正确的。由定义可知,d k (S )的值表示状态S 到目的点V 所有含弧数为k 的通路中最短路径长度。所以对于所有的d m (S )(m ≤k )中的最小值就为从点S 到目的点V 的所有通路(其含弧数不超过K )中的最短路径长度,于是,D k (S )的值即为点S 到V 且含弧数不超过K 的最短路径长度,因此式(2)所得的结果满足其规定条件,即式(2)是正确的。

决策变量V k (S )的取值由下述方式决定:当D k (S )=d m (S ),且m ≤K 时,取V k (S )=V m (S );当D k (S )=d k (S )时,V k (S )按式(1)的方法确定;当D k (S )=d k (S )=d m (S )且m

37・

相关文档
最新文档