專利名稱:一種基于鄰接表的網(wǎng)絡(luò)最小路集確定方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)系統(tǒng)的最小路集確定方法,屬于網(wǎng)絡(luò)系統(tǒng)設(shè)計仿真領(lǐng)域。
背景技術(shù):
網(wǎng)絡(luò)系統(tǒng)可用一個圖G表示,圖I即為一個表示網(wǎng)絡(luò)的圖,圖中頂點表示網(wǎng)絡(luò)中的節(jié)點,邊表示網(wǎng)絡(luò)中連接節(jié)點的鏈路,節(jié)點之間無并聯(lián)鏈路。如果G中所有的邊都是有向的,稱為有向網(wǎng)絡(luò);如果G中所有的邊都是無向的,稱為無向網(wǎng)絡(luò);如果G中既存在有向邊,也存在無向邊,稱為混合網(wǎng)絡(luò)。圖I即為混合網(wǎng)絡(luò)。設(shè)起點為I,終點為L,最小路徑是指從起點I到終點L所含鏈路數(shù)目最少的路徑,最小路徑中沒有重復節(jié)點和鏈路。所有最小路徑組成的集合稱為最小路集。電力網(wǎng)絡(luò)、交通網(wǎng)絡(luò)、通信網(wǎng)絡(luò)、計算機網(wǎng)絡(luò)等復雜網(wǎng)絡(luò)系統(tǒng)進行設(shè)計仿真和性能評估,往往需要確定最小路集。該問題是典型的NP-困難問題,主要體現(xiàn)在當節(jié)點和鏈路的 數(shù)量增加時最小路徑的數(shù)量出現(xiàn)組合爆炸式增長?,F(xiàn)有的最小路集確定方法,如基于鄰接矩陣或聯(lián)絡(luò)矩陣的確定方法存在需要大容量存儲的缺陷,因為矩陣規(guī)模往往很大且是稀疏矩陣,不適用于大型復雜網(wǎng)絡(luò)系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種適用于大型復雜網(wǎng)絡(luò)系統(tǒng)的最小路集確定方法,解決大型復雜網(wǎng)絡(luò)系統(tǒng)的設(shè)計仿真和性能評估問題,主要包括2個步驟I根據(jù)網(wǎng)絡(luò)的拓撲結(jié)構(gòu),構(gòu)造一種新型的鄰接表;2采用深度優(yōu)先搜索和回溯相結(jié)合的方法遍歷鄰接表確定所有最小路徑。本發(fā)明的優(yōu)點是方法簡單易行,效率高,對節(jié)點和鏈路無數(shù)量限制,且能同時處理有向網(wǎng)絡(luò)、無向網(wǎng)絡(luò)和混合網(wǎng)絡(luò)。在電力網(wǎng)絡(luò)、通信網(wǎng)絡(luò)、交通網(wǎng)絡(luò)、計算機網(wǎng)絡(luò)以及市政管網(wǎng)等大型復雜網(wǎng)絡(luò)系統(tǒng)具有廣泛的應(yīng)用前景。
圖I :混合網(wǎng)絡(luò)。圖2 :169個節(jié)點、312條鏈路的大型有向網(wǎng)絡(luò)。圖3:本發(fā)明的流程。
具體實施例方式本發(fā)明的流程圖如圖3所示,包括以下步驟I根據(jù)網(wǎng)絡(luò)的拓撲結(jié)構(gòu),構(gòu)造一種新型的鄰接表。該鄰接表是一種鏈式存儲結(jié)構(gòu),每行由節(jié)點和鄰接項組成,鄰接項由節(jié)點可以到達的節(jié)點和是否訪問過該節(jié)點兩個數(shù)據(jù)項組成。以圖I所示的網(wǎng)絡(luò)為例,其鄰接表如表I所示。表中第i行代表第i個節(jié)點可以達到的節(jié)點。例如第5行代表節(jié)點5可達節(jié)點4和7,由于節(jié)點6到節(jié)點5為有向鏈路,故節(jié)點6不在節(jié)點5的鄰接項中。鄰接項中的另一數(shù)據(jù)項用于記錄是否訪問過該節(jié)點,用visited表示,visited =O代表未訪問過,visited = I代表訪問過。默認情況下所有鄰接項的visited屬性為O。表I:
權(quán)利要求
1.一種基于鄰接表的網(wǎng)絡(luò)最小路集確定方法,其特征在于 1)采用了一種新型的鄰接表結(jié)構(gòu)。該鄰接表由節(jié)點和鄰接項組成,每個鄰接項由節(jié)點可以到達的節(jié)點和是否訪問過該節(jié)點兩個數(shù)據(jù)項組成。這種結(jié)構(gòu)與鄰接矩陣或聯(lián)絡(luò)矩陣相比有效節(jié)約了存儲空間,且能同時處理有向網(wǎng)絡(luò)、無向網(wǎng)絡(luò)和混合網(wǎng)絡(luò)。
2)采用深度優(yōu)先搜索和回溯相結(jié)合的方法遍歷鄰接表確定所有最小路徑。遍歷過程中不會重復搜索相同的最小路徑,每次搜索到的最小路徑可單獨輸出,不影響后續(xù)最小路徑的搜索,故不需要一次性保存所有最小路徑,有效節(jié)約了內(nèi)存空間。這種方法對網(wǎng)絡(luò)節(jié)點和鏈路的數(shù)量無限制,適用于大型復雜網(wǎng)絡(luò)系統(tǒng)最小路集的確定。
全文摘要
本發(fā)明提供了一種基于鄰接表的網(wǎng)絡(luò)最小路集確定方法,以解決大型復雜網(wǎng)絡(luò)系統(tǒng)的設(shè)計仿真和性能評估問題。方法主要包括2個步驟根據(jù)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)建立一種新型的鄰接表;采用深度優(yōu)先搜索和回溯相結(jié)合的方法遍歷鄰接表確定所有的最小路徑。本發(fā)明對節(jié)點和鏈路無數(shù)量限制,適用于有向網(wǎng)絡(luò)、無向網(wǎng)絡(luò)和混合網(wǎng)絡(luò),在電力、通信、交通、計算機以及市政管網(wǎng)等大型復雜網(wǎng)絡(luò)系統(tǒng)具有廣泛的應(yīng)用前景。
文檔編號G06F17/50GK102880739SQ20121027918
公開日2013年1月16日 申請日期2012年7月31日 優(yōu)先權(quán)日2012年7月31日
發(fā)明者錢云鵬, 姬廣振, 涂宏茂, 劉勤, 朱正福 申請人:中國兵器科學研究院