国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

無向圖中嚴(yán)格第三短路問題的多項式時間算法

2014-11-14 03:19:42曾慶紅
關(guān)鍵詞:原圖復(fù)雜性賦權(quán)

曾慶紅

(保山學(xué)院數(shù)學(xué)學(xué)院,云南保山678000)

最短路問題是圖論中的核心問題之一,最短路算法是許多更深層算法的基礎(chǔ).次短路問題最早是由 Lalgudi和 Papaefthymiou[1]于 1997 年提出,并證明了非負(fù)權(quán)重有向圖中次短路問題是NP-完備的,而當(dāng)次短路允許含圈時這個問題是有多項式時間算法的.2004 年 Krasikov和 Noble[2]首次設(shè)計了一個O(n3m)多項式時間算法解決正權(quán)重?zé)o向圖中次短路問題,這里及下面都要求是簡單路,即不含圈和回路.2006年Li等[3]在O(n3m)算法的基礎(chǔ)上設(shè)計了一個O(n3)多項式時間算法解決正權(quán)重?zé)o向圖中次短路問題.2010年Kao等[4]設(shè)計了一個O(n2)多項式時間算法解決正權(quán)重?zé)o向圖中次短路問題.2011年Wu[5]設(shè)計了一個O(m+nlog n)多項式時間算法解決正權(quán)重?zé)o向圖中次短路問題.2011年Zhang和Nagamochi[6]設(shè)計了一個 O(n6)多項式時間算法解決非負(fù)權(quán)重?zé)o向圖中次短路問題.2012年Wu[7]等人提出一個線性時間算法解決非負(fù)權(quán)重?zé)o向圖中次短路問題.1971 年 Yen[8]設(shè)計一個O(kn(m+nlog n))時間算法解決有向圖中第k短路問題.1982年Katoh[9]等人設(shè)計一個O(k(m+nlog n))時間算法解決無向圖中第k短路問題.而嚴(yán)格第k短路問題目前還沒有相關(guān)的多項式時間算法解決.

把最短路及次短路算法與最小費用整數(shù)流方法結(jié)合起來研究嚴(yán)格第三短路問題,并設(shè)計一個O(n4)多項式時間算法解決正權(quán)重?zé)o向圖中嚴(yán)格第三短路問題.

1 基本概念與引理

定義1 給定一個無向賦權(quán)圖G=(V,E;w;s,t),其中s,t是2個固定頂點,w:E→R+是邊的長度函數(shù).

1)在 G中尋找一條從 s到 t的路 Pst,使得w(Pst)≤w(Qst),其中:,Qst是從s到t的任意一條路.稱路Pst是從s到t的一條最短路.最短路問題是指在圖G中求出s-t最短路及其長度.

2)在G中尋找一條從 s到t的路P'st,滿足:w(P'st)=min(w(P)|w(P)> w(Pst)),其中:Pst是s到t的一條最短路,P是s到t的任意一條路.稱路P'st是從s到t的一條次短路.次短路問題是指在圖G中求出s-t次短路的長度.

3)在G中尋找一條從s到t的路P″st,滿足:w(P″st)=min(w(P)|w(P) > w(P'st)),其中:P'st是s到t的一條次短路,P是s到t的任意一條路.稱路P″st是從s到t的一條嚴(yán)格第三短路.嚴(yán)格第三短路問題是指在圖G中求出s-t嚴(yán)格第三短路的長度.

定義2 給定一個無向賦權(quán)圖G=(V,E;w;s,t),其中s,t是2個固定頂點,是邊的長度函數(shù).構(gòu)造s - t最短路網(wǎng)絡(luò) DG=(Vst,Ast;w;s,t),構(gòu)造方法如下:弧(u,v)∈Ast當(dāng)且僅當(dāng)弧(u,v)在原圖G中的某一條s-t最短路上,頂點集合Vst是指所有s-t最短路上的頂點組成的集合.稱最短路網(wǎng)絡(luò)上的弧對應(yīng)與原圖G中的邊為內(nèi)部邊,其余的邊稱為外部邊.稱最短路網(wǎng)絡(luò)上指向頂點t的弧為正向弧,反之稱為反向弧.如果一條s-t路至少含有一條外部邊或至少含有一條反向弧,則稱這條路中由外部邊組成的子路或反向弧組成的子路為反常路.

引理1[4]給定1個無向賦權(quán)圖G=(V,E;w;s,t),其中 s,t是2 個固定頂點,w:E → R+是邊的長度函數(shù).則圖G的s-t次短路P'st至少含有1條外部邊或至少含有1條反向弧.

引理2[4]給定1個無向賦權(quán)圖G=(V,E;w;s,t),其中 s,t是2 個固定頂點,w:E → R+是邊的長度函數(shù).則圖G的s-t次短路P'st上所有的外部邊或反向弧一定是連續(xù)的.

引理3[2]給定1個無向賦權(quán)圖G=(V,E;w;s,t,x),其中 s,t,x 是 3 個固定頂點,w:E → R+是邊的長度函數(shù).則存在一個O(n2)多項式時間算法求從s經(jīng)過頂點x到t的最短路Psxt.

引理4 給定1個無向賦權(quán)圖G=(V,E;w;s,t),其中s,t是2個固定頂點,w:E→R+是邊的長度函數(shù).則圖G的s-t嚴(yán)格第三短路最多含有2條反常路.

證明 反證法,假設(shè)圖G的s-t嚴(yán)格第三短路P″st含有 3 條反常路 P1,P2,P3,則存在 1 條只含有 2條反常路(含 P1,P2或 P1,P3或 P2,P3)的 s- t路,路的長度嚴(yán)格大于次短路的長度且嚴(yán)格小于路 P″st的長度,這與 P″st是嚴(yán)格第三短路矛盾.故引理得證.

引理5 給定1個無向賦權(quán)圖G=(V,E;w;s,t,x,y),其中s,t,x,y是G中4 個固定的頂點,w:E→R+是邊的長度函數(shù).則存在一個O(n2)多項式時間算法求從頂點s到頂點x和從頂點y到頂點t的2條點不交的最短路.

證明 首先利用圖G構(gòu)造1個網(wǎng)絡(luò)N=(V,A;b,c;s,t),構(gòu)造方法如下:將原圖G中的每一條邊變成2條向相的弧,每條弧的容量為無窮大,費用為邊權(quán)重;增加2個頂點u,v,從頂點u加2條弧分別指向頂點x,y,每條弧的容量為無窮大,費用為0.從頂點s,t加2條弧分別指向頂點v,每條弧的容量為無窮大,費用為0.頂點u,v的容量為無窮大,其余頂點的容量為1.要求從頂點s到頂點x和從頂點y到頂點t的2條點不交的最短路就相當(dāng)于求從頂點u到頂點v的流量值為2的最小費用整數(shù)流.所以可以利用最小費用整數(shù)流方法在O(n2)時間內(nèi)求出從頂點s到頂點x和從頂點y到頂點t的2條點不交最短路.

2 算法

求次短路的基本思想:通過分析無向圖中最短路問題,利用Dijkstra算法計算2個固定頂點s,t之間的所有最短路,在s-t最短路網(wǎng)絡(luò)上求次短路.求次短路的方法是對任意頂點x∈V-{t}刪除其在最短路網(wǎng)絡(luò)N上的所有出弧G=(V,E;w;s,t)所對應(yīng)于原無向圖中的邊得到一個新的無向圖G'=(V,E';w;s,t),然后在新圖G'求從起點s經(jīng)過頂點x到終點t的最短路Psxt,最小者就是次短路.

稱次短路算法為:Next-to-shortest path algorithm,簡稱 NTSPA.詳細(xì)算法如下[3]:

算法 1[3]NTSPA

輸入:無向賦權(quán)圖 G=(V,E;w;s,t),其中 s,t∈ V,w:E → R+.

輸出:求出s到t的次短路或說明無次短路.

Step 1:利用Dijkstra算法求出圖G所有s-t最短路,然后構(gòu)造最短路網(wǎng)絡(luò) DG=(Vst,Ast;w;s,t);

Step 2:置S=?;

Step 3:對于所有x∈V-{t}:

刪除頂點x在最短路網(wǎng)絡(luò)DG中所有的出弧對應(yīng)于原圖G中的邊,得到一個新的無向圖G'=(V,E';w;s,t);

利用最小費用整數(shù)流方法在新圖G'=(V,E';w;s,t)中求出從s經(jīng)過頂點x到t的最短路Psxt;

S=S∪{w(Psxt)};

Step 4:如果(S=?)則說明沒有s-t次短路;否則輸出S中的最小者.

定理1[3]算法1可以解決次短路問題,其時間復(fù)雜性為O(n3).

下面分析嚴(yán)格第三短路候選路:

1)含1條反常路的s-t路中的第二短路.

求候選路方法:對任意頂點x∈V-{t}刪除其在最短路網(wǎng)絡(luò)N上的所有出弧所對應(yīng)于原無向圖中的邊得到一個新的無向圖G'=(V,E';w;s,t).利用最小費用整數(shù)流的方法在新圖G'中求從起點s經(jīng)過頂點x到終點t的最短路Psxt,這些路的長度一定比最短路更長.其中,最小者就是次短路,而第二小者是嚴(yán)格第三短路的候選路.算法1已經(jīng)求出這條候選路.

2)含2條反常路的s-t路中的最短路.

求候選路方法:對任意2個頂點x,y∈V-{t},刪除頂點x,y在最短路網(wǎng)絡(luò)DG中的所有出弧所對應(yīng)于原圖 G 中的邊,得到新圖 G″=(V,E″;w;s,t).利用最小費用整數(shù)流方法在新圖G″中求出從s經(jīng)過頂點x,y到t的最短路Psxyt.其中,最小者是嚴(yán)格第三短路的候選路.

定理2 算法1得到的結(jié)果S中的最小者是次短路記為:S1,第二小者是嚴(yán)格第三短路的候選路記為:S2.

證明 定理1已經(jīng)證明了算法1得到的結(jié)果S中的最小者是次短路,而S中的第二小者長度一定比次短路更長,所以S2是嚴(yán)格第三短路的候選路.

求嚴(yán)格第三短路的基本思想:首先,求從起點s經(jīng)過一個固定頂點x∈V-{t}到終點t的最短路,其中最小的是次短路,而第二小者是嚴(yán)格第三短路的候選路之一.其次,求起點s經(jīng)過2個固定頂點x,y∈V-{t}到終點t的最短路,最小者也是嚴(yán)格第三短路的候選路之一.其中:這2條嚴(yán)格第三短路候選路都是利用最小費用整數(shù)流方法來求.最后,比較這兩條候選路較小者就是嚴(yán)格第三短路.

先介紹求嚴(yán)格第三短路第2條候選路算法.

稱該算法為:Second candidate path algorithm,簡稱SCPA.詳細(xì)算法如下.

算法2:SCPA

輸入:無向賦權(quán)圖 G=(V,E;w;s,t),其中 s,t∈ V,w:E → R+.

輸出:求出s到t含2條反常路的嚴(yán)格第三短路候選路或說明無含有2條反常路的嚴(yán)格第三短路候選路.

Step 1:利用Dijkstra算法求出圖G所有s-t最短路,然后構(gòu)造最短路網(wǎng)絡(luò) DG=(Vst,Ast;w;s,t);

Step 2:置L=?;

Step 3:對于所有x,y∈V-{t}:

在圖G=(V,E;w;s,t)中求出x到y(tǒng)的最短路Pxy;

刪除頂點x,y在最短路網(wǎng)絡(luò)DG中所有的出弧對應(yīng)于原圖G中的邊,得到一個新的無向圖G″=(V,E″;w;s,t);

利用最小費用整數(shù)流方法在新圖G″=(V,E″;w;s,t)中求出從s到x和y到t的2條點不交的最短路Psx和Pyt;

Step 4:如果(L=?)則,含2條反常路的嚴(yán)格第三短路候選路不存在;否則輸出L中的最小者.

定理3 算法2得到的結(jié)果L中的最小者L1對應(yīng)的路一定是簡單路.

證明 反證法,假設(shè)L中的最小者L1對應(yīng)的路不是簡單路,即含有圈.則路含圈可以分為3種情況:

1)s到x的最短路與x到y(tǒng)的最短路有交點,記距離s最近的交點為x';則用x'替換x可以求得1條含有2條反常路的最短路且w()<w,這與路是最小者矛盾;

2)y到t的最短路與x到y(tǒng)的最短路有交點,記距離t最近的交點為y';則用y'替換y可以求得1條含有2條反常路的最短路且w()<w),這與路是最小者矛盾;

3)s到x的最短路以及y到t的最短路都與x到y(tǒng)的最短路有交點,記距離s最近的交點為x″,距離t最近的交點為y″;則用x″和y″替換x和y可以求得1條含有2條反常路的最短路且w)<w(),這與路是最小者矛盾;

定理3 算法2可以求出嚴(yán)格第三短路的第2條候選路,其時間復(fù)雜性為O(n4).

證明 算法2第1步求出從s到t最短路網(wǎng)絡(luò)DG=(Vst,Ast;w;s,t),顯然最短路網(wǎng)絡(luò)上所有的路都是最短路.對任意2個頂點x,y∈V-{t}For循環(huán),先求出從x到y(tǒng)的最短路Pxy,然后刪除頂點x,y在網(wǎng)絡(luò)DG中所有的出弧對應(yīng)于原圖G中的邊,得到一個新的無向圖G″=(V,E″;w;s,t),利用最小費用整數(shù)流方法在新圖G″=(V,E″;w;s,t)中求出從s到x和y到t的2條點不交的最短路Psx和Pyt,最后將三條路合并得到1條從起點s經(jīng)過2個固定頂點x,y到終點t的最短路,這條路恰好含有2條反常路.所以算法2求得的結(jié)果L中的最小者L1是含有2條反常路的嚴(yán)格第三短路候選路.

時間復(fù)雜度分析:對任意2個頂點x,y∈V-{t}For語句循環(huán),時間復(fù)雜性為O(n2),循環(huán)內(nèi)求x到y(tǒng)的最短路Pxy及用最小費用整數(shù)流方法在新圖G″=(V,E″;w;s,t)中求出從 s經(jīng)過2個頂點x,y到t的最短路Psxyt的時間復(fù)雜性都是O(n2),故算法2的時間復(fù)雜性為O(n4).

最后給出求嚴(yán)格第三短路的算法.

稱該算法為:Strictlythirdshortestpath algorithm,簡稱STSPA.詳細(xì)算法如下:

算法3 STSPA

輸入:無向賦權(quán)圖 G=(V,E;w;s,t),其中 s,t∈ V,w:E → R+.

輸出:求出s到t的嚴(yán)格第三短路或說明無嚴(yán)格第三短路.

Step 1:置T=?;

Step 2:調(diào)用算法1,輸出S中的第二小者S2;

Step 3:T=T∪{S2};

Step 4:調(diào)用算法2,輸出L中的最小者L1;

Step 5:T=T∪{L1};

Step 6:如果(T=?)則嚴(yán)格第三短路不存在;否則輸出T中的較小者.

定理4 算法3可以解決嚴(yán)格第三短路問題,其時間復(fù)雜性為O(n4).

證明 算法3將嚴(yán)格第三短路的2條候選路放入集合T,故T中較小者就是嚴(yán)格第三短路的長度.所以算法3可以解決嚴(yán)格第三短路問題.

時間復(fù)雜性分析:算法1的時間復(fù)雜性為O(n3),算法2的時間復(fù)雜性為O(n4).所以算法3的時間復(fù)雜性為O(n4).

3 結(jié)語

在嚴(yán)格第三短路這個問題的研究中還存在如下2個問題:①本文解決了正權(quán)重?zé)o向圖中嚴(yán)格第三短路問題,但算法的時間復(fù)雜性較高.是否能設(shè)計出時間復(fù)雜性更低的多項式時間算法.②對于非負(fù)權(quán)重?zé)o向圖中嚴(yán)格第三短路問題,目前還沒有相關(guān)的算法.是否能設(shè)計一個多項式時間算法來解決該問題.在今后的學(xué)習(xí)研究中將著力解決這2個的問題.

[1]LALGUDI K N,PAPAEFTHYMIOU M C.Computing strictly - second shortest paths[J].Information processing letters,1997,63(4):177 -181.

[2]KRASIKOV I,NOBLE S D.Finding next-to-shortest paths in a graph[J].Information Processing Letters,2004,92(3):117-119.

[3]LI S,SUN G,CHEN G.Improved algorithm for finding next-to-shortest paths[J].Information Processing Letters,2006,99(5):192 -194.

[4]KAO K H,CHANG J M,WANG Y L,et al.A quadratic algorithm for finding next-to-shortest paths in graphs[J].Algorithmica,2011,61(2):402-418.

[5]WU B Y.A simpler and more efficient algorithm for the next-to-shortest path problem[M]//Combinatorial Optimization and Applications.Berlin Heidelberg:Springer 2010:219-227.

[6]ZHANG C,NAGAMOCHI H.The Next-to-Shortest Path in Undirected Graphs with Nonnegative Weights[C]//CATS.2012:13-20.

[7]WU B Y,GUO J L,WANG Y L.A linear time algorithm for the next-to-shortest path problem on undirected graphs with nonnegative edge lengths[J].arXiv preprint arXiv:1203.5235,2012.

[8]YEN J Y.Finding the k shortest loopless paths in a network[J].Management Science,1971,17(11):712-716.

[9]KATOH N,IBARAKI T,MINE H.An efficient algorithm for k shortest simple paths[J].Networks,1982,12(4):411-427.

猜你喜歡
原圖復(fù)雜性賦權(quán)
論鄉(xiāng)村治理的有效賦權(quán)——以A縣扶貧項目為例
中國西部(2022年2期)2022-05-23 13:28:20
企業(yè)數(shù)據(jù)賦權(quán)保護(hù)的反思與求解
PFNA與DHS治療股骨近端復(fù)雜性骨折的效果對比
簡單性與復(fù)雜性的統(tǒng)一
科學(xué)(2020年1期)2020-08-24 08:07:56
試論新媒體賦權(quán)
活力(2019年15期)2019-09-25 07:22:12
完形:打亂的拼圖
孩子(2019年5期)2019-05-20 02:52:44
基于改進(jìn)AHP熵博弈賦權(quán)的輸變電工程評價
大家來找茬
應(yīng)充分考慮醫(yī)院管理的復(fù)雜性
直腸腔內(nèi)超聲和MRI在復(fù)雜性肛瘺診斷中的對比分析
大宁县| 永平县| 岳西县| 吉安市| 连江县| 滁州市| 长治市| 清丰县| 枣强县| 龙口市| 陕西省| 大安市| 安图县| 台安县| 神农架林区| 静海县| 繁峙县| 平山县| 孝义市| 阜城县| 皮山县| 新竹县| 府谷县| 巴塘县| 阳江市| 资溪县| 佳木斯市| 海伦市| 博罗县| 磴口县| 武穴市| 民勤县| 砚山县| 伊金霍洛旗| 江津市| 香港| 东兰县| 太仆寺旗| 高青县| 江山市| 徐州市|