两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法

文檔序號:7805978閱讀:194來源:國知局
一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法
【專利摘要】本發(fā)明涉及智能抄表、無線通訊領(lǐng)域,具體公開了一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法。本技術(shù)采用通過對無線通信網(wǎng)絡(luò)的研究,分析了路由算法在網(wǎng)絡(luò)通信性能方面的重要性,發(fā)明了一種冗余的路由分配算法。該算法結(jié)合Dijkstra算法,設(shè)計(jì)了一種適用于冗余路由分配的R-Dijkstra算法。R-Dijkstra算法把無線網(wǎng)絡(luò)定義為一個(gè)非負(fù)權(quán)重的連通圖,通過引入冗余度參數(shù)和路徑優(yōu)化目標(biāo),實(shí)現(xiàn)了傳輸路徑選擇。進(jìn)一步給出了算法步驟和實(shí)現(xiàn)過程。應(yīng)用實(shí)例表明,該算法能夠滿足無線智能抄表路由的要求。本技術(shù)具有可靠性高,計(jì)算量小,容易編程實(shí)現(xiàn)等優(yōu)點(diǎn)。
【專利說明】一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無線傳輸技術(shù)、網(wǎng)絡(luò)技術(shù)、路由技術(shù),具體地說是一種智能抄表系統(tǒng)無 線網(wǎng)絡(luò)路由算法。

【背景技術(shù)】
[0002] 隨著控制、計(jì)算機(jī)、通信、網(wǎng)絡(luò)等技術(shù)的發(fā)展,信息交換溝通的領(lǐng)域正在迅速覆蓋 從現(xiàn)場設(shè)備到各個(gè)控制領(lǐng)域,而興起于本世紀(jì)初的工業(yè)無線技術(shù)引發(fā)了傳統(tǒng)工業(yè)測控模式 的重大變革,工業(yè)無線網(wǎng)絡(luò)是從新興的無線傳感器網(wǎng)絡(luò)發(fā)展而來的、具有低成本、低能耗、 高度靈活性等特點(diǎn)。工業(yè)無線網(wǎng)絡(luò)是一種面向設(shè)備間信息交互的無線通信技術(shù),是對現(xiàn)有 無線通信技術(shù)在工業(yè)應(yīng)用方向上的功能擴(kuò)展和提升,是降低工業(yè)測控系統(tǒng)成本、擴(kuò)展應(yīng)用 范疇的革命性技術(shù)。工業(yè)無線網(wǎng)絡(luò)技術(shù)改變了現(xiàn)有系統(tǒng)控制信息傳遞的方式。路由作為數(shù) 據(jù)的傳輸和分發(fā)機(jī)制,是無線網(wǎng)絡(luò)的一大核心任務(wù),是不可或缺的。無線網(wǎng)絡(luò)路由是一個(gè)非 ?;钴S的研究領(lǐng)域,在這方面國內(nèi)外學(xué)者提出了很多的解決方案。
[0003] 目前,A0DV(反應(yīng)式路由協(xié)議)、0LSR(先應(yīng)式路由協(xié)議)等主流的路由算法,大部 分是采用的分布式協(xié)議,路由的計(jì)算選擇過程由數(shù)據(jù)的發(fā)送或者轉(zhuǎn)發(fā)者來承擔(dān),采用網(wǎng)絡(luò) 各個(gè)成員來選擇路由和維護(hù)路由的策略。在一個(gè)無線智能抄表網(wǎng)絡(luò)中,網(wǎng)絡(luò)管理者負(fù)責(zé)節(jié) 點(diǎn)路由和通信資源的分配管理,通過命令將路由信息發(fā)送到網(wǎng)絡(luò)設(shè)備,是一種集中式路由 配置方案,而不需要網(wǎng)絡(luò)其他節(jié)點(diǎn)進(jìn)行路由計(jì)算。此外,當(dāng)前主要路由算法集中在單路徑路 由的研究,當(dāng)路由路徑上某個(gè)節(jié)點(diǎn)故障時(shí),通信就要受到影響,也不符合無線抄表網(wǎng)絡(luò)的要 求。在實(shí)際應(yīng)用中,網(wǎng)絡(luò)節(jié)點(diǎn)之間無線通信往往受到周圍環(huán)境電磁干擾、信號衰減、信號反 射等不利因素影響,對無線傳輸?shù)男阅軒砗艽筇魬?zhàn)。
[0004] Dijkstra算法是由荷蘭計(jì)算機(jī)科學(xué)家Edsger Wybe Dijkstra提出的,在論領(lǐng) 域有著廣泛的應(yīng)用,是經(jīng)典的最短路徑算法。Dijkstra算法的輸入為一個(gè)非負(fù)權(quán)重的有 向圖G。在給定出某個(gè)發(fā)頂點(diǎn)的情況下,該算法能夠找出出發(fā)頂點(diǎn)到圖中其余頂點(diǎn)的最 短距離。然而Dijkstra算法得出的結(jié)果是最短的距離和路徑,只有單一路徑,不符合 WirelessHART中圖路由機(jī)制的要求,因此提出了基于Dijkstra算法搜索的冗余路徑搜索 算法R-Di jkstra算法。
[0005] 因此,采用冗余路由,引入多路徑路由機(jī)制,增強(qiáng)了數(shù)據(jù)傳輸?shù)穆窂饺哂?,以確保 數(shù)據(jù)可靠無誤的傳輸,具有重大的意義。


【發(fā)明內(nèi)容】

[0006] 為了使無線抄表網(wǎng)絡(luò)路由更可靠,本發(fā)明的目的是提供一種冗余的智能抄表系統(tǒng) 無線網(wǎng)絡(luò)路由算法。
[0007] 為實(shí)現(xiàn)本發(fā)明的目的所采用的技術(shù)方案是:
[0008] -種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法,采用吸收了 Dijkstra算法思想的 R-Di jkstra 算法;
[0009] 所述R-Dijkstra算法以Dijkstra算法為核心搜索算法,通過引入冗余度參數(shù)r, 實(shí)現(xiàn)了路由路徑的冗余;
[0010] 根據(jù)冗余度參數(shù)r,對待加入節(jié)點(diǎn)匯報(bào)的鄰居進(jìn)行選擇,然后對將每個(gè)選出的鄰居 作為出發(fā)頂點(diǎn),分別采用Dijkstra算法進(jìn)行對目的節(jié)點(diǎn)搜索,得出每條路徑后,最后將待 加入節(jié)點(diǎn)分別添加到每條路徑的起點(diǎn)上,這樣就得出了冗余度r的路由路徑,這些路徑都 是待加入節(jié)點(diǎn)到目的節(jié)點(diǎn)冗余的目標(biāo)代價(jià)最小的路由。
[0011] 冗余度參數(shù)r,表示每個(gè)節(jié)點(diǎn)在路由轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)候可選擇的鄰居個(gè)數(shù)為r個(gè);
[0012] 網(wǎng)絡(luò)可以用一個(gè)有向圖模型G = (V,E)來表達(dá),其中V表示網(wǎng)絡(luò)中節(jié)點(diǎn)的集合,E 為有向邊集合;網(wǎng)絡(luò)中每兩個(gè)節(jié)點(diǎn)之間的鏈接可以賦予權(quán)值w(i,j),表示由節(jié)點(diǎn)i到節(jié)點(diǎn) j的鏈接權(quán)值;w(i,j)具體值的計(jì)算可以根據(jù)鏈路質(zhì)量、帶寬多個(gè)指標(biāo)計(jì)算獲得;將兩節(jié)點(diǎn) 之間是否直接鏈接作為W(i,j)取值依據(jù),有鏈接的鄰居之間的權(quán)值都為1,否則為無窮大; 根據(jù)節(jié)點(diǎn)加入時(shí)匯報(bào)鄰居信息,然后采用R-Dijkstra算法,得出待加入節(jié)點(diǎn)的路由信息。
[0013] 所述路徑都是待加入節(jié)點(diǎn)到目的節(jié)點(diǎn)冗余的目標(biāo)代價(jià)最小的路由,目標(biāo)代價(jià)可以 考慮傳輸跳數(shù)、信號質(zhì)量、節(jié)點(diǎn)能量以及負(fù)載等因素的共同作用;從路由實(shí)時(shí)性考慮,在本 算法中采用跳數(shù)作為目標(biāo)代價(jià)。
[0014] 算法的復(fù)雜度結(jié)論如下;
[0015] Dijkstra算法的復(fù)雜度主要在兩個(gè)循環(huán)中,因此Dijkstra算法的復(fù)雜度為 0(n2) ;R-Dijkstra算法在Dijkstra算法基礎(chǔ)上引入了冗余度參數(shù)r,以Dijkstra算法為 基礎(chǔ),進(jìn)行了 r次循環(huán);因此,R-Dijkstra算法的復(fù)雜度為0(rXn2);
[0016] 由于通常情況下r彡2,但η相對較大,則有r << n,冗余度參數(shù)對算法復(fù)雜度的 影響不是很嚴(yán)重。
[0017] R-Dijkstra算法步驟如下;
[0018] 步驟1 :在r個(gè)鄰居節(jié)點(diǎn)中,選擇一個(gè)未被選擇過的節(jié)點(diǎn)作為出發(fā)頂點(diǎn)S,目的頂點(diǎn) 為T,距離數(shù)組D用來表示S到其余各節(jié)點(diǎn)的傳輸跳數(shù),路徑記錄數(shù)組為Path,其中D [i]表 示S到節(jié)點(diǎn)i的最短距離,Path[i]表示S到節(jié)點(diǎn)i最短路徑需要經(jīng)過的節(jié)點(diǎn);
[0019] 步驟2 :根據(jù)w(i, j)的值,初始化D、Path的值;
[0020] 步驟3:從數(shù)組D中選擇值最小的且未被選擇過的頂點(diǎn)X,作為中間節(jié)點(diǎn),其中 X關(guān)S,X關(guān)T ;
[0021] 步驟4:令Zev且Z關(guān)S,Z關(guān)X,則數(shù)組D中S到Z的距離值為D[Z],其中D的 值用D[Z]_new來更新,按照以下策略:
[0022] D [Z]_new = min (D [Z], D [X] +w (i, j))
[0023] 如果發(fā)生D [Z]值發(fā)生變化,則相應(yīng)的Path [Z]做路徑記錄,Path [Z] = X,表示S 至IJ Z的最短路徑需要經(jīng)過中間節(jié)點(diǎn)X,即S到X再到Z ;
[0024] 步驟5 :重復(fù)步驟3、步驟4,直到所有D中的頂點(diǎn)都被選擇過;這時(shí),所獲得的矩陣 D中的值就是從S頂點(diǎn)出發(fā)到網(wǎng)絡(luò)中其余各點(diǎn)的最短距離,目的節(jié)點(diǎn)為T,找出Path[T]中 記錄節(jié)點(diǎn),將其輸出,然后將Path [T]中的結(jié)點(diǎn)作為新的目的節(jié)點(diǎn)賦給T,按照該操作方法, 依次循環(huán)逆向輸出Path [T]中記錄的節(jié)點(diǎn),直到不能取出新的目的節(jié)點(diǎn)T,然后輸出起始節(jié) 點(diǎn)S,最后將上述輸出內(nèi)容反序,該路徑就是S到T最短路徑;
[0025] 步驟6 :如果r個(gè)鄰居都已經(jīng)被選擇過,則算法結(jié)束,否則返回步驟(1)。
[0026] 本發(fā)明的優(yōu)點(diǎn)是:
[0027] 1、本發(fā)明在吸收了 Dijkstra算法的思想和方法步驟的基礎(chǔ)上,針對路由的具體 特點(diǎn),滿足無線網(wǎng)絡(luò)路徑冗余的要求,完成了智能無線抄表網(wǎng)絡(luò)中路由路徑分配任務(wù),對于 一般的無線網(wǎng)絡(luò)路徑冗余具有普適性。
[0028] 作為工業(yè)無線網(wǎng)絡(luò)的一項(xiàng)基礎(chǔ)的支撐技術(shù),路由對于無線網(wǎng)絡(luò)節(jié)點(diǎn)可靠性的提 高,對于降低網(wǎng)絡(luò)整體丟包率具有重要意義。
[0029] 2、本技術(shù)具有算法成熟,計(jì)算量小,易于實(shí)現(xiàn)等優(yōu)點(diǎn)。采用自主研發(fā)的CMC模塊組 網(wǎng),驗(yàn)證了該技術(shù)的效果。

【專利附圖】

【附圖說明】
[0030] 圖1是路由冗余示意圖。
[0031] 圖2是R-Di jkstra算法流程圖之一。
[0032] 圖3是R-Di jkstra算法效果圖之二。
[0033] 圖4是R-Di jkstra算法效果圖之三。

【具體實(shí)施方式】
[0034] 下面結(jié)合附圖圖1-4對本發(fā)明作進(jìn)一步詳細(xì)說明。
[0035] 為保證數(shù)據(jù)傳輸可靠性,在智能無線抄表系統(tǒng)中采用了冗余的路由機(jī)制。路由中 的每一跳至少有兩個(gè)路由選擇,屬于多徑路由,所有的網(wǎng)絡(luò)設(shè)備到目的節(jié)點(diǎn)的路徑有多條。 例如在圖1的網(wǎng)絡(luò)拓?fù)渲?,?jié)點(diǎn)6要給節(jié)點(diǎn)3、節(jié)點(diǎn)4或者節(jié)點(diǎn)5發(fā)送數(shù)據(jù),可以使用線1或 者線2上所有的節(jié)點(diǎn),都可以到達(dá)。
[0036] R-Di jkstra算法的的流程圖如圖2所示。圖在計(jì)算機(jī)中的存儲有鄰接矩陣、鄰接 表、十字鏈表等多種方式。為了圖路由操作方便和節(jié)省空間,本算法數(shù)據(jù)結(jié)構(gòu)吸收了鄰接表 的思想,采用鏈表的形式來表示網(wǎng)絡(luò)拓?fù)浜蛨D路由參考鄰居。整個(gè)拓?fù)溆蓤D節(jié)點(diǎn)鏈表構(gòu)成, 圖節(jié)點(diǎn)中對應(yīng)的參考鄰居信息。其中,參考鄰居信息為參考鄰居鏈表的頭結(jié)點(diǎn)指針。據(jù)結(jié) 構(gòu)類型如下:
[0037] 網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)類型如下:
[0038] Struct _Node Struct { Int ShortAddress; //節(jié)點(diǎn)的短地址,在網(wǎng)絡(luò)中唯 RefNeighbor *pUpStreamNbor; //上行對應(yīng)的參考鄰居鏈表指 針 RefNeighbor *pDownStreamNbor; //下行對應(yīng)的參考鄰居鏈表指 針 Struct _Node Struct pNext; //指向網(wǎng)絡(luò)的下一個(gè)節(jié)點(diǎn) } NodeStruct;
[0039] 參考鄰居的數(shù)據(jù)結(jié)構(gòu)類型如下:
[0040] Struct -RefNeighbor ?
[0041] Int ShortAddress; Int Weight; //從某節(jié)點(diǎn)到該鄰居之間的鏈接權(quán)重值 Struct _RefNeighbor pNext; {RefNeighbor;
[0042] 若網(wǎng)絡(luò)中有n個(gè)節(jié)點(diǎn),則距離數(shù)組D、路徑記錄數(shù)組Path設(shè)計(jì)為n維的數(shù)組,如 果S到節(jié)點(diǎn)i不需要繞行其他節(jié)點(diǎn),則Path [i]置為NULL。
[0043] 算法實(shí)現(xiàn)過程如下:
[0044] int NeighborNum=r; //選取冗余度為r,選擇r個(gè)可選 鄰居 int j=0; int Counter=n; //循環(huán)次數(shù)計(jì)數(shù)器,《為網(wǎng)絡(luò)中節(jié)點(diǎn) 個(gè)數(shù); bool Visit[n]=0; "汸|'|極;〖[1數(shù)機(jī),末汸丨、|11為0,汸丨、|1| 過為1 While(NeighborNum) { S=NeighborAvailableD++]; //選取報(bào)告上來的鄰居,初始化出發(fā)節(jié) 占 S1 j \ s\ Counter=n; //計(jì)數(shù)器復(fù)位 memset (Visit, 0, sizeof (bool) *n) ; /71方1、丨丨」私記從位 Visit[S]=l; //出發(fā)節(jié)點(diǎn)不能被選擇,置 h 1 Init (D, Path, G,S) ; //出發(fā)節(jié)點(diǎn)\初始化β,路徑矩陣Path初始化為 NULL While (Counter>l) { X=MinSeIectOneNode (D, Visit) ; //選擇一個(gè)未被訪問過的距離最 小的節(jié)點(diǎn)X For(i=0;i<n;i++) //更新距離矩陣15 { if((i!=S)&&(i!=X)) //檢查該節(jié)點(diǎn)不為出發(fā)節(jié)點(diǎn)和當(dāng) 前選擇節(jié)點(diǎn),即為z節(jié)點(diǎn)
[0045] { D[i]=Min(D[i],D[X]+W(X,i)) //如果〃到\經(jīng)過x后到距離更小 則更新d if(D[i]==D[X]+W(X,i)) { Path[i]=X; //記錄路徑 } Visit[X]=l; //標(biāo)記該節(jié)點(diǎn)已經(jīng)被訪問過 Counter-; //計(jì)數(shù)器減1 } NeighborNum-; }
[0046] 其中,算法的兩個(gè)子函數(shù)的實(shí)現(xiàn)如下所示:
[0047] MinSelectOneNode (int* D, int* Visit); { int MinD=MaxNum; //設(shè)置臨時(shí)變量,用于記錄當(dāng) 前最小距離值 For(i=0;i<n;i++) { If((D[i]<MmD)&&(Visit[i]==0)) //尋找當(dāng)前距離最小的且未被訪 問過的節(jié)點(diǎn) { MinD=D[i]; RetNode=i; } Return RetNode; //返回符合條件的節(jié)點(diǎn) } Min (mta, intb) //求取最小值函數(shù) { if (a<b) Return a; else Return b; }
[0048] 為了驗(yàn)證算法的效果,選取了一個(gè)一般情況下智能無線抄表應(yīng)用場景,該網(wǎng)絡(luò)拓 撲如圖3左側(cè)所示。其中節(jié)點(diǎn)1是網(wǎng)關(guān)節(jié)點(diǎn),節(jié)點(diǎn)2-7為已經(jīng)在網(wǎng)的設(shè)備節(jié)點(diǎn),它們要向節(jié) 點(diǎn)1傳輸測量數(shù)據(jù)和狀態(tài)信息。當(dāng)某時(shí)刻,新的設(shè)備節(jié)點(diǎn)8要加入網(wǎng)絡(luò),在冗余度參數(shù)r為 2的情況下,選取節(jié)點(diǎn)6和節(jié)點(diǎn)7為鄰居節(jié)點(diǎn),經(jīng)過R-Dijkstra算法運(yùn)算,得出兩條路徑的 結(jié)果為8->6->4->1,8->7->5->1,,如圖3右側(cè)所示。R-Dijkstra算法在保證路徑冗余的同 時(shí),實(shí)現(xiàn)了以跳數(shù)為指標(biāo)的路徑最優(yōu),該算法得出的結(jié)果較好的滿足了智能無線抄表系統(tǒng) 的要求。
【權(quán)利要求】
1. 一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法,其特征在于: 采用吸收了 Dijkstra算法思想的R-Dijkstra算法; 所述R-Dijkstra算法以Dijkstra算法為核心搜索算法,通過引入冗余度參數(shù)r,實(shí)現(xiàn) 了路由路徑的冗余; 根據(jù)冗余度參數(shù)r,對待加入節(jié)點(diǎn)匯報(bào)的鄰居進(jìn)行選擇,然后對將每個(gè)選出的鄰居作為 出發(fā)頂點(diǎn),分別采用Dijkstra算法進(jìn)行對目的節(jié)點(diǎn)搜索,得出每條路徑后,最后將待加入 節(jié)點(diǎn)分別添加到每條路徑的起點(diǎn)上,這樣就得出了冗余度r的路由路徑,這些路徑都是待 加入節(jié)點(diǎn)到目的節(jié)點(diǎn)冗余的目標(biāo)代價(jià)最小的路由。
2. 按照權(quán)利要求1所述一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法,其特征在于: 冗余度參數(shù)r,表示每個(gè)節(jié)點(diǎn)在路由轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)候可選擇的鄰居個(gè)數(shù)為r個(gè); 網(wǎng)絡(luò)可以用一個(gè)有向圖模型G = (V,E)來表達(dá),其中V表示網(wǎng)絡(luò)中節(jié)點(diǎn)的集合,E為有 向邊集合;網(wǎng)絡(luò)中每兩個(gè)節(jié)點(diǎn)之間的鏈接可以賦予權(quán)值w(i, j),表示由節(jié)點(diǎn)i到節(jié)點(diǎn)j的 鏈接權(quán)值;w(i,j)具體值的計(jì)算可以根據(jù)鏈路質(zhì)量、帶寬多個(gè)指標(biāo)計(jì)算獲得;將兩節(jié)點(diǎn)之 間是否直接鏈接作為w(i,j)取值依據(jù),有鏈接的鄰居之間的權(quán)值都為1,否則為無窮大;根 據(jù)節(jié)點(diǎn)加入時(shí)匯報(bào)鄰居信息,然后采用R-Dijkstra算法,得出待加入節(jié)點(diǎn)的路由信息。
3. 按照權(quán)利要求1所述的一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法,其特征在于: 所述路徑都是待加入節(jié)點(diǎn)到目的節(jié)點(diǎn)冗余的目標(biāo)代價(jià)最小的路由,目標(biāo)代價(jià)可以考慮 傳輸跳數(shù)、信號質(zhì)量、節(jié)點(diǎn)能量以及負(fù)載等因素的共同作用;從路由實(shí)時(shí)性考慮,在本算法 中采用跳數(shù)作為目標(biāo)代價(jià)。
4. 按照權(quán)利要求1的所述一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法,其特征在于:算法的 復(fù)雜度結(jié)論如下; Dijkstra算法的復(fù)雜度主要在兩個(gè)循環(huán)中,因此Dijkstra算法的復(fù)雜度為0(n2); R-Dijkstra算法在Dijkstra算法基礎(chǔ)上引入了冗余度參數(shù)r,以Dijkstra算法為基礎(chǔ),進(jìn) 行了 r次循環(huán);因此,R-Dijkstra算法的復(fù)雜度為0(rXn2); 由于通常情況下r彡2,但η相對較大,則有r << n,冗余度參數(shù)對算法復(fù)雜度的影響 不是很嚴(yán)重。
5. 按照權(quán)利要求1所述一種智能抄表系統(tǒng)無線網(wǎng)絡(luò)路由算法,其特征在于: R-Dijkstra算法步驟如下; 步驟1 :在r個(gè)鄰居節(jié)點(diǎn)中,選擇一個(gè)未被選擇過的節(jié)點(diǎn)作為出發(fā)頂點(diǎn)S,目的頂點(diǎn)為 T,距離數(shù)組D用來表示S到其余各節(jié)點(diǎn)的傳輸跳數(shù),路徑記錄數(shù)組為Path,其中D [i]表示 S到節(jié)點(diǎn)i的最短距離,Path[i]表示S到節(jié)點(diǎn)i最短路徑需要經(jīng)過的節(jié)點(diǎn); 步驟2 :根據(jù)w (i,j)的值,初始化D、Path的值; 步驟3 :從數(shù)組D中選擇值最小的且未被選擇過的頂點(diǎn)X,作為中間節(jié)點(diǎn),其中X尹S, X關(guān)T ; 步驟4:令Zev且Z尹S,Z尹X,則數(shù)組D中S到Z的距離值為D [Z],其中D的值用 D[Z]_new來更新,按照以下策略: D [Z]_new = min (D [Z], D [X] +w (i, j)) 如果發(fā)生D [Z]值發(fā)生變化,則相應(yīng)的Path [Z]做路徑記錄,Path [Z] = X,表示S到Z 的最短路徑需要經(jīng)過中間節(jié)點(diǎn)X,即S到X再到Z ; 步驟5 :重復(fù)步驟3、步驟4,直到所有D中的頂點(diǎn)都被選擇過;這時(shí),所獲得的矩陣D中 的值就是從S頂點(diǎn)出發(fā)到網(wǎng)絡(luò)中其余各點(diǎn)的最短距離,目的節(jié)點(diǎn)為T,找出Path[T]中記錄 節(jié)點(diǎn),將其輸出,然后將Path [T]中的結(jié)點(diǎn)作為新的目的節(jié)點(diǎn)賦給T,按照該操作方法,依次 循環(huán)逆向輸出Path [T]中記錄的節(jié)點(diǎn),直到不能取出新的目的節(jié)點(diǎn)T,然后輸出起始節(jié)點(diǎn)S, 最后將上述輸出內(nèi)容反序,該路徑就是S到T最短路徑; 步驟6 :如果r個(gè)鄰居都已經(jīng)被選擇過,則算法結(jié)束,否則返回步驟(1)。
【文檔編號】H04L12/707GK104065572SQ201410258788
【公開日】2014年9月24日 申請日期:2014年6月11日 優(yōu)先權(quán)日:2014年6月11日
【發(fā)明者】王宏, 李世興, 楊祖業(yè), 李勇, 王進(jìn)超 申請人:沈陽中科博微自動(dòng)化技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
九龙城区| 永德县| 蓬安县| 米泉市| 聂拉木县| 六安市| 宜昌市| 玉田县| 平度市| 广德县| 定襄县| 璧山县| 六枝特区| 淮南市| 丁青县| 阳山县| 河源市| 屏山县| 日照市| 昆明市| 荣昌县| 德惠市| 克东县| 萍乡市| 六盘水市| 石林| 福海县| 建德市| 华蓥市| 沈丘县| 太和县| 乌拉特后旗| 进贤县| 镇赉县| 信阳市| 丽江市| 揭阳市| 克什克腾旗| 武强县| 巍山| 松原市|