TWI555351B - 用於非循環網路的網路可靠度計算方法及其系統 - Google Patents
用於非循環網路的網路可靠度計算方法及其系統 Download PDFInfo
- Publication number
- TWI555351B TWI555351B TW104119527A TW104119527A TWI555351B TW I555351 B TWI555351 B TW I555351B TW 104119527 A TW104119527 A TW 104119527A TW 104119527 A TW104119527 A TW 104119527A TW I555351 B TWI555351 B TW I555351B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- nodes
- network
- path
- processor
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Stored Programmes (AREA)
- Environmental & Geological Engineering (AREA)
Description
本發明係關於一種網路可靠度計算方法及其系統,特別是有關於一種用於非循環網路的網路可靠度計算方法及其系統。
目前,各種系統諸如電腦通信系統、電力傳輸系統、交通系統、油料/瓦斯管線系統皆可建模為網路來加以分析。一般網路具有起始節點、一些匯流節點及目標節點。網路中傳遞的信號均源自起始節點。匯流節點在網路中負責傳遞信號,其中,匯流節點透過弧(arc)以傳遞信號。這些信號最後則傳送至不同的目標節點。評估出此網路中起始節點及目標節點之連結機率,即稱為計算此網路之可靠度。網路可靠度是評估各網路表現的一個重要指標。
計算網路可靠度的方法,可在搜尋所有最小路徑(minimal path,MP)或所有最小切(minimal cut,MC)後進行。一般來說,應用最小路徑的方法較應用最小切的方法符合直覺。然而,在一般網路中,搜尋所有最小路徑的方法大多是基於弧來進行的,因而具有較高的複雜度。
在各種網路中,非循環網路是其中相當重要的一類。在二元(binary-state)非循環(acyclic)網路中,所有弧具有正常與失效兩種狀態,而在節點
間的連結沒有平行的弧或是自節點迴圈(self-loop)的存在。一般來說,由有序的資訊集合構成的網路皆可定義為非循環網路,例如排程問題、資料壓縮、資料回朔、資料處理網路等應用皆有可能模擬為非循環網路。
有鑑於上述習知技藝,本發明之目的就是在提供一種應用非循環網路的特性,來找出所有非循環網路中之最小路徑並據以計算網路可靠度的方法,以降低計算的複雜度而加快計算網路可靠度的速度。
根據本發明之一目的,提出一種網路可靠度計算方法。網路可靠度計算方法適用於非循環網路,非循環網路包含複數個節點與連結複數個節點之複數個弧,而複數個節點形成總節點集合Vtot,總節點集合Vtot包含起始節點與目標節點,可靠度計算方法係包含下列步驟:a.利用處理器設定節點集合Vp包含起始節點與目標節點,設定計數值k為0,設定最小路徑集合Ω為空集合,設定第0對應節點集合θ0為空集合,以及設定非循環網路所對應之上限值與下限值,接著執行步驟b;b.利用處理器判斷節點集合Vp之節點個數是否等於上限值;若是,則執行步驟f;若否,則執行步驟b’;b’.利用處理器判斷是否有第一節點屬於集合並為節點集合Vp之鄰近點;若是,則令節點集合Vp包含第一節點,令計數值k加上1,並設定第k個對應節點集合θk為第一節點,接著執行步驟c;若否,則執行步驟f;
c.利用處理器判斷下限值是否大於節點集合Vp之節點個數;若是,則執行步驟b;若否,則執行步驟d;d.利用該處理器判斷是否有由節點集合Vp所包含之各節點間之複數個弧構成的路徑p由起始節點出發通過節點集合Vp所包含之所有節點至目標節點;若是,則令最小路徑集合Ω包含路徑p,接著執行步驟e;若否,則執行步驟d’;d’.利用處理器判斷是否有由節點集合Vp所包含之各節點間之複數個弧構成的路徑p由起始節點出發至目標節點但未通過節點集合Vp所包含之所有節點或在集合所形成的網路中存在由起始節點出發至該目標節點之其他路徑;若是,則執行步驟b;若否,則執行步驟f;e.利用該處理器判斷該節點集合Vp之節點個數是否等於上限值;若是,則執行步驟f;若否,則執行步驟b;f.利用該處理器判斷該節點集合Vp之節點個數是否等於2;若是,則執行步驟g;若否,則執行步驟f’;f’.利用該處理器判斷是否有一第二節點屬於集合並為節點集合Vp之鄰近點;若是,則令第二節點取代節點集合Vp最後包含之最末節點,並令第k個對應節點集合θk包含第二節點,接著執行步驟d;若否,則刪除節點集合Vp最後包含之最末節點,令計數值k減去1,接著執行步驟f;以及g.利用處理器根據該最小路徑集合Ω所包含之所有路徑計算網路可靠度。
較佳地,其中下限值可為由起始節點至目標節點之最短路徑所包含之節點數。
較佳地,其中上限值可為由起始節點至目標節點之最長路徑所包含之節點數。
較佳地,其中步驟e中當該處理器判斷該節點集合Vp之節點個數不等於一上限值後而執行步驟b前,該網路可靠度計算方法可進一步包含步驟e’。步驟e’如下:e’.判斷是否有第三節點v屬於集合並為節點集合Vp之封閉鄰近點;若是,則令節點集合Vp包含第三節點v,令計數值k加上1,設定一第k個對應節點集合θk包含該第三節點v,令最小路徑集合Ω包含路徑(p-{e ij })∪({e iv },{e vj }),其中eij表示節點集合Vp中節點i與節點j間之弧,eiv表示節點i與第三節點v間之弧,evj表示第三節點v與節點j間之弧,接著執行步驟e;若否,則執行步驟b。
根據本發明之另一目的,提出一種網路可靠度計算系統。網路可靠度計算系統包含儲存演算法之記憶體以及連接於非循環網路及記憶體,並執行演算法後輸出網路可靠度之處理器。該演算法包含下列步驟:a.設定一節點集合Vp包含該起始節點與該目標節點,設定一計數值k為0,設定一最小路徑集合Ω為空集合,設定一第0對應節點集合θ0為空集合,以及設定非循環網路所對應的上限值與下限值,接著執行步驟b;b.判斷該節點集合Vp之節點個數是否等於上限值;若是,則執行步驟f;若否,則執行步驟b’;
b’.判斷是否有一第一節點屬於集合並為該節點集合Vp之鄰近點;若是,則令該節點集合Vp包含該第一節點,令該計數值k加上1,並設定一第k個對應節點集合θk為該第一節點,接著執行步驟c;若否,則執行步驟f;c.判斷下限值是否大於節點集合Vp之節點個數;若是,則執行步驟b;若否,則執行步驟d;d.利用處理器判斷是否有由節點集合Vp所包含之各節點間之複數個弧構成的路徑p由起始節點出發通過節點集合Vp所包含之所有節點至目標節點;若是,則令最小路徑集合Ω包含路徑p,接著執行步驟e;若否,則執行步驟d’;d’.利用處理器判斷是否有由節點集合Vp所包含之各節點間之複數個弧構成的路徑p由起始節點出發至目標節點但未通過節點集合Vp所包含之所有節點或在集合所形成的網路中存在由起始節點出發至目標節點之其他路徑;若是,則執行步驟b;若否,則執行步驟f;e.判斷該節點集合Vp之節點個數是否等於一上限值;若是,則執行步驟f;若否,則執行步驟b;f.判斷該節點集合Vp之節點個數是否等於2;若是,則儲存所得之該最小路徑集合Ω於記憶體,接著執行步驟g;若否,則執行步驟f’;
f’.判斷是否有第二節點屬於集合[V tot -(∪ i=0θ i ∪V p )]並為節點集合Vp之鄰近點;若是,則令第二節點取代節點集合Vp最後包含之最末節點,並令第k個對應節點集合θk包含第二節點,接著執行步驟d;若否,則刪除節點集合Vp最後包含之最末節點,令計數值k減去1,接著執行步驟f;以及g.根據最小路徑集合Ω所包含之所有路徑計算網路可靠度。
較佳地,其中下限值可為由起始節點至目標節點之最短路徑所包含之節點數。
較佳地,其中上限值可為由起始節點至目標節點之最長路徑所包含之節點數。
較佳地,其中當演算法在步驟e中判斷節點集合Vp之節點個數不等於上限值後而執行步驟b前,演算法可進一步包含步驟e’。步驟e’如下:e’.判斷是否有一第三節點v屬於集合並為該節點集合Vp之封閉鄰近點;若是,則令該節點集合Vp包含第三節點v,令該計數值k加上1,設定一第k個對應節點集合θk包含該第三節點v,令最小路徑集合Ω包含路徑(p-{e ij })∪({e iv },{e vj }),其中eij表示節點集合Vp中節點i與節點j間之弧,eiv表示節點i與第三節點v間之弧,evj表示第三節點v與節點j間之弧,接著執行步驟e;若否,則執行步驟b。
承上所述,依本發明之網路可靠度計算方法及其系統,其可具有一或多個下述優點:
(1)此網路可靠度計算方法及其系統可藉由利用非循環網路的特性搜尋所有最小路徑,藉此可降低計算之複雜度。
(2)此網路可靠度計算方法及其系統可藉由所設定之上下限值預先排出不可能具有最小路徑之節點集合,藉此可進一步增加計算的效率。
(3)此網路可靠度計算方法及其系統可藉由檢驗節點集合之封閉鄰近點的存在,藉此可快速找出其他最小路徑。
1‧‧‧起始節點
2、3、4‧‧‧節點
5‧‧‧目標節點
100‧‧‧處理器
200‧‧‧記憶體
300‧‧‧非循環網路
e12、e14、e23、e34、e35、e42、e43、e45‧‧‧弧
S11~S17、S21~S28‧‧‧流程
第1圖 係為非循環網路之示意圖。
第2圖 係為與第1圖比較之循環網路(有環網路)之示意圖。
第3圖 係為第1圖之非循環網路部份節點所形成之網路之示意圖。
第4圖 係為本發明之第一實施例之網路可靠度計算方法之示意性流程圖。
第5圖 係為本發明之第二實施例之網路可靠度計算方法之示意性流程圖。
第6圖 係為本發明之第三實施例之網路可靠度計算系統之系統示意圖。
為利 貴審查員瞭解本發明之技術特徵、內容與優點及其所能達成之功效,茲將本發明配合附圖,並以實施例之表達形式詳細說明如下,而其中所使用之圖式,其主旨僅為示意及輔助說明書之用,未必為本發明實施後之真實比例與精準配置,故不應就所附之圖式的比例與配置關係侷限本發明於實際實施上的專利範圍,合先敘明。
首先,請參照第1圖,其係為具有五個節點之非循環網路之示意圖。圖中,1、2、3、4、5表示節點,其中1為起始節點,5為目標節點。e12、e14、e23、e34、e35、e42、e45為連接各節點的弧。大括號{}表示當中括號中包含的元素形成的集合。|‧|表示集合‧中的元素個數,其中‧若為弧集合|‧|就表示集合中弧的個數,‧若為節點集合|‧|就表示集合中節點的個數。以下將配合第1圖說明本發明的一些名詞。
最小路徑(minimal path,MP):MP為一個形成路徑之弧集合,且此弧集合在拿掉一個弧之後,便不再是最小路徑。舉例來說,在第1圖中,弧集合{e14、e42、e23、e35}形成依序經過節點1、4、2、3、5之路徑,其中任何一個弧被拿掉後,剩下的弧就不包含經過該些節點之路徑,因此弧集合{e14、e42、e23、e35}為一最小路徑。
最小路徑節點子集(minimal path node subset,MPN):MPN為一個對應最小路徑之節點集合。舉例來說,MP{e14、e42、e23、e35}對應的MPN為{1、4、2、3、5},MP{e14、e45}對應的MPN為MP{1、4、5}。
非循環網路(acyclic network):非循環網路是一個不帶有循環(cycle)的網路。本發明中的非循環網路滿足下列三點條件:1)網路中各節點是完全可靠的(perfectly reliable),2)網路中各弧具有正常(working)與失效(failed)兩種狀態,3)網路中沒有循環、平行的弧以及自節點迴圈。具體來說,請同時參考第1圖與第2圖。第2圖為與第1圖比較之循環網路(有環網路)之示意圖。第2圖中,弧e34的方向與第1圖中的弧e43相反,而使得第2圖中的網路包含構成一循環的弧集合{e23、e34、e42},因此第2圖中的網路不是一個非循環網路。
鄰近點:如果一節點i為一節點集合V*的鄰近點,則表示節點i不屬於節點集合V*且在整個網路中存在弧eij連接節點i與節點集合V*所包含的某個節點j。
封閉鄰近點:如果一節點i為一節點集合V*的封閉鄰近點,則表示節點i不屬於節點集合V*且整個網路中存在弧eij、ejk、eik分別連接節點i與節點集合V*所包含的至少兩個節點j、k。具體來說,可參閱第3圖,其係為第1圖之非循環網路部份節點所形成之網路之示意圖。圖中,節點3即為節點集合{1、4、5}的封閉鄰近點,因為節點3不屬於節點集合{1、4、5}且整個網路中存在弧e43、e35、e45分別連接節點3與節點集合{1、4、5}中包含的節點4與節點5。
以下說明非循環網路的特性,其能用於加速找出所有MP的過程。
首先,須了解的是,在一般網路中,一組MPN可能對應不只一條MP。舉例來說,請再參閱第2圖。圖中,MPN{1、4、2、3、5}同時對應MP{e14、e42、e23、e35}以及MP{e12、e23、e34、e45}。
相對地,在非循環網路中,一組MPN只會對應一條MP。要證明此特性,首先必須瞭解每一組MPN中皆存在一條最長路徑,其會通過該組MPN中的所有節點。此事可直接由MPN的定義得證,因為一開始MPN就是由一條MP所經過的節點所定義出的節點集合,故該條MP必定存在且為前述之最長路徑。在了解此事後,接下來要證明的僅剩在非循環網路中,在一組MPN中僅會且必然會找到一條最長路徑,該條最長路徑就是該組MPN所對應之MP。可利用反證法來證明此事。若現有一組MPN,在其所形成中可以找到兩條不同的最長路徑P1與P2,則因為網路中沒有平行弧存在,這兩條最長路徑P1與P2通過的節點順序必然有所不同。也就是說,該組MPN中存在節點a與節點b,其中最長路徑P1
是先通過節點a再通過節點b,而最長路徑P2是先通過節點b再通過節點a。如此一來,便可得知最長路徑P1中必然存在由節點a出發至節點b之次路徑P3,而最長路徑P2中必然存在由節點b出發至節點a之次路徑P4。於是,次路徑P3與次路徑P4便會形成一個節點a與節點b間的循環,而違背前述非循環網路的定義。藉此得證,一組MPN中僅會存在一條最長路徑,且該條最長路徑即為該組MPN所對應之MP。
由於在非循環網路中具有MPN與MP為一對一對應的特性,因此,當要找出所有MP時,便可藉由找出所有MPN來取代。相對於習知技術中,找出所有MP的演算法是基於弧來進行,本發明之演算法是藉由MPN來找出所有MP而基於節點進行。網路中弧的數量可表示為|E|,節點的數量可表示為|V|。一般來說,基於兩者的運算複雜度會有以下關係:O(|E|)=O(|V2|)。由此可知,本發明之演算法將可大幅降低計算之複雜度,進而加速計算速度與節省計算所耗費之資源。
於是,本發明之網路可靠度計算方法可根據非循環網路之特性,而計算出非循環網路之網路可靠度。此處非循環網路包含複數個節點與連結複數個節點之複數個弧,而複數個節點形成總節點集合Vtot,總節點集合Vtot包含起始節點與目標節點。具體而言,本發明實施例之可靠度計算方法係包含下列步驟:a.利用處理器設定節點集合Vp包含起始節點與目標節點,設定計數值k為0,設定最小路徑集合Ω為空集合,設定第0對應節點集合θ0為空集合,以及設定非循環網路所對應之上限值與下限值,接著執行步驟b;
b.利用處理器判斷節點集合Vp之節點個數是否等於上限值;若是,則執行步驟f;若否,則執行步驟b’;b’.利用處理器判斷是否有第一節點屬於集合並為節點集合Vp之鄰近點;若是,則令節點集合Vp包含第一節點,令計數值k加上1,並設定第k個對應節點集合θk為第一節點,接著執行步驟c;若否,則執行步驟f;c.利用處理器判斷下限值是否大於節點集合Vp之節點個數;若是,則執行步驟b;若否,則執行步驟d;d.利用處理器判斷是否有由節點集合Vp所包含之各節點間之複數個弧構成的路徑p由起始節點出發通過節點集合Vp所包含之所有節點至目標節點;若是,則令最小路徑集合Ω包含路徑p,接著執行步驟e;若否,則執行步驟d’;d’.利用處理器判斷是否有由節點集合Vp所包含之各節點間之複數個弧構成的路徑p由起始節點出發至目標節點但未通過節點集合Vp
所包含之所有節點或在集合所形成的網路中存在由起始節點出發至目標節點之其他路徑;若是,則執行步驟b;若否,則執行步驟f;e.利用該處理器判斷該節點集合Vp之節點個數是否等於上限值;若是,則執行步驟f;若否,則執行步驟b;f.利用該處理器判斷該節點集合Vp之節點個數是否等於2;若是,則執行步驟g;若否,則執行步驟f’;f’.利用該處理器判斷是否有第二節點屬於集合
並為節點集合Vp之鄰近點;若是,則令第二節點取代節點集合Vp最後包含之最末節點,並令第k個對應節點集合θk包含第二節點,接著執行步驟d;若否,則刪除節點集合Vp最後包含之最末節點,令計數值k減去1,接著執行步驟f;以及g.利用處理器根據該最小路徑集合Ω所包含之所有路徑計算網路可靠度。
以上為本發明之第一實施例之網路可靠度計算方法之詳細步驟,其概念可進一步參閱第4圖。第4圖為本發明之第一實施例之網路可靠度計算方法之示意性流程圖,在圖中示意性地將以上各步驟實際工作情況劃分為幾個流程。在流程S11中,先利用處理器設定最初驗證的節點集合,在此實施例中最初驗證的節點集合即為起始節點與目標節點構成的節點集合,而其他需要預先設定的變數與計數器也在此流程中設定。流程S11對應於上述步驟a。在流程S12中,處理器便驗證節點集合所形成的網路中是否有MP的存在,若MP存在就將其記錄於上述最小路徑集合Ω。為了加速驗證的進行,此處可分別設定節點集合的上下限值。若節點集合中的節點個數大於上限值或小於下限值,則處理器就排除節點集合所形成的網路中有MP的可能。流程S12大致上對應於上述步驟b至步驟e的大部分步驟。在流程S13中,處理器則根據節點集合有無鄰近點的存在來決定下一個要驗證的節點集合。流程S13大致對應於上述步驟b'的一部分。若節點集合有鄰近點存在,則在流程S14中處理器會將其中一個鄰近點加入節點集合而成為新的節點集合,此新的節點集合就是下一個要經由流程S13驗證的節點集合。流程S14大致對應於上述步驟b'的另一部分。若節點集合不存在鄰近點,則在流程S15中,處理器會判斷找尋所有MP的演算法是否達到終止條件。在此實施例中,終止條件是節點集合中僅
餘兩個節點。流程S15大致上對應於上述步驟f。若節點集合尚未滿足終止條件,則在流程S16中,處理器會決定下一個要驗證的節點集合。在此實施例中,在節點集合不具鄰近點的情況下決定下一個節點集合的方式是替換節點集合中的最末節點,此方式會在以下實例更具體地看出。流程S16大致對應於上述步驟f'。若節點集合滿足終止條件,則表示網路中所有可能的節點集合都被驗證過了,於是最小路徑集合Ω中便包含了網路中所有的MP。如此一來,便可在流程S17中,使處理器根據所有MP來計算網路的可靠度。由所有MP計算網路可靠度的方法已見於習知演算法中,故在此不贅述。流程S17大致上對應於上述步驟g。
需注意的是,雖然上述步驟僅針對非循環網路之一起始節點對一目標節點的情況,但可輕易修改為一起始節點對多目標節點、多起始節點對一目標節點以及多起始節點對多目標節點的情況。僅需將各起始節點與目標節點一一列出後配對,針對各對起始節點與目標節點分別應用上述方法便能算出各對起始節點與目標節點所對應之網路可靠度。
為了進一步加速計算的速度,驗證節點集合是否包含MP前可先藉由預設之上下限值來排除不可能的節點集合。具體來說,下限值可為由起始節點至目標節點之最短路徑所包含之節點數,而上限值可為由起始節點至目標節點之最長路徑所包含之節點數。此處所述之最短路徑與最長路徑是針對整體網路而言。舉例來說,請再參閱第1圖。在第1圖的非循環網路中,存在最長路徑{e14、e42、e23、e35},其經過5個節點,因此上限值可設定為5。同理,在第1圖的非循環網路中,存在最小路徑{e14、e45},其經過3個節點,因此下限值可設定為3。於是,當要驗證的節點集合中的節點個數大於上限值或小於下限值,處理器便可直接判斷其所形成的網路不可能包含MP而
無須進一步驗證。由於在網路中尋找最長與最短路徑的方法已揭露於習知演算法中,此處便不再贅述。
較佳地,其中步驟e中當該處理器判斷該節點集合Vp之節點個數不等於一上限值後而執行步驟b前,該網路可靠度計算方法可進一步包含步驟e’。步驟e’如下:e’.判斷是否有第三節點v屬於集合並為節點集合Vp之封閉鄰近點;若是,則令節點集合Vp包含第三節點v,令計數值k加上1,設定一第k個對應節點集合θk包含該第三節點v,令最
小路徑集合Ω包含路徑(p-{e ij })∪({e iv },{e vj }),其中eij表示節點集合Vp中節點i與節點j間之弧,eiv表示節點i與第三節點v間之弧,evj表示第三節點v與節點j間之弧,接著執行步驟e;若否,則執行步驟b。
本發明之演算法可進一步利用上述定義之封閉鄰近點來加速計算過程。請參閱第5圖,係為本發明之第二實施例之網路可靠度計算方法之示意性流程圖。第5圖所示之第二實施例之流程S21至S27基本上對應於第4圖所示之第一實施例之流程S11至S17,兩者間的差異在於第5圖所示之第二實施例中,在執行流程S23前會先執行流程S28。在此實施例中,流程S28大致上對應上述步驟e’。也就是說,在第二實施例中,在驗證完節點集合所形成的網路是否包含MP後會先確認節點集合是否具有封閉鄰近點。若節點集合具有封閉鄰近點,則由驗證後的節點集合加上封閉鄰近點的新節點集合所形成網路則必然會包含另一條MP。具體來說,請再參閱第3圖。圖中,節點集合{1、4、5}所形成的網路包含MP{e14、e45},而節點3是節點集合{1、4、5}之封閉鄰近點。如此一來,由驗證後的節點集合{1、4、
5}加上封閉鄰近點之節點3的新節點集合{1、3、4、5}所形成的網路即包含了另一條MP{e14、e43、e35}。於是,藉由利用封閉鄰近點的特性,便可快速找到下一個包含MP的節點集合。
請參閱第6圖,其係為本發明之第三實施例之網路可靠度計算系統之系統示意圖。圖中,應用本發明之網路可靠度計算方法之網路可靠度計算系統可包含處理器100以及記憶體200,其中處理器100連接於目標非循環網路300與記憶體200,記憶體200則儲存上述網路可靠度計算方法之演算法。實際運作時,處理器100由非循環網路300接收關於節點與弧之資訊,並由記憶體200接收演算法後執行演算法中所包含之一連串指令,最終輸出非循環網路300之網路可靠度並判斷是否符合要求,若否則可重新調整非循環網路300之架構。
以下具體說明本發明之第二實施例之網路可靠度計算方法應用於第1圖之非循環網路之執行情況:
步驟a:設定節點集合Vp={1、5},計數器k=0,最小路徑集合Ω={},此處最小路徑集合Ω即為儲存所找到MP的位置。設定第0對應節點集合θ0={},非循環網路所對應之上限值Lub=5,非循環網路所對應之下限值Llb=3。接著執行步驟b。
步驟b:因|Vp|=2<Lub,執行步驟b’。
步驟b’:因為節點2為節點集合Vp={1、5}的鄰近點且屬於,令節點集合Vp包含節點2,Vp={1、5、2}。令計數器k加一,k=1。令第1對應節點集合θ1包含節點2,θ1={2}。接著執行步驟c。
步驟c:因為Llb=|Vp|=3,執行步驟d。
步驟d:因節點集合Vp={1、5、2}所形成的網路不包含由起始節點1經過Vp包含的所有節點至目標節點5的路徑,執行步驟d’。
步驟d’:因所形成的網路包含由起始節點1至目標節點5的路徑,執行步驟b。
步驟b:因|Vp|=3<Lub=5,執行步驟b’。
步驟b’:因為節點3為節點集合Vp={1、5、2}的鄰近點且屬於,令節點集合Vp包含節點3,Vp={1、5、2、3}。令計數器k加一,k=2。令第2對應節點集合θ2為節點3,θ2={3}。接著執行步驟c。
步驟c:因Llb=3<|Vp|=4,執行步驟d。
步驟d:因節點集合Vp={1、5、2、3}所形成的網路包含由起始節點1經過Vp包含的所有節點至目標節點5的路徑p,p={e12、e23、e35},令最小路徑集合Ω包含路徑p,接著執行步驟e。
步驟e:因Lub=5>|Vp|=4,執行步驟e’。
步驟e’:因節點4屬於集合且為節點集合Vp之封閉鄰近點,令節點集合Vp包含節點4,Vp={1、5、2、3、4},令計數值k加上1,k=3,令該最小路徑集合Ω包含路徑(p-{e ij })∪({e iv },{e vj })={e14、e42、e23、e35},接著執行步驟e。
步驟e:因Lub=|Vp|=5,執行步驟f。
步驟f:因Llb=2<|Vp|=5,執行步驟f’。
步驟f’:因無節點屬於集合並為節點集合Vp之鄰近點,刪除節點集合Vp最後包含之最末節點4,Vp={1、5、2、3},令計數值k減去1,k=2,接著執行步驟f。
步驟f:因Llb=2<|Vp|=4,執行步驟f’。
步驟f’:因節點4屬於集合並為節點集合Vp之鄰近點,令節點4取代節點集合Vp最後包含之最末節點3,Vp={1、5、2、4},並令第2個對應節點集合θ2包含節點4,θ2={4、3},接著執行步驟d。
步驟d:因節點集合Vp={1、5、2、4}所形成的網路不包含由起始節點1經過Vp包含的所有節點至目標節點5的路徑,執行步驟d’。
步驟d’:因Vp={1、5、2、4}所形成的網路包含由起始節點1至目標節點5但未通過該節點集合Vp所包含之所有節點的路徑{e14、e45},執行步驟b。
步驟b:因|Vp|=4<Lub=5,執行步驟b’。
步驟b’:因無節點屬於集合並為節點集合Vp之鄰近點,執行步驟f。
步驟f:因Llb=2<|Vp|=4,執行步驟f’。
步驟f’:因無節點屬於集合並為節點集合Vp之鄰近點,刪除節點集合Vp最後包含之最末節點4,Vp={1、5、2},令計數值k減去1,k=1,接著執行步驟f。
步驟f:因Llb=2<|Vp|=3,執行步驟f’。
步驟f’:因節點3屬於集合並為節點集合Vp之鄰近點,令節點3取代節點集合Vp最後包含之最末節點2,Vp={1、5、3},並令第1個對應節點集合θ1包含節點3,θ1={2、3},接著執行步驟d。
步驟d:因節點集合Vp={1、5、3}所形成的網路不包含由起始節點1經過Vp包含的所有節點至目標節點5的路徑,執行步驟d’。
步驟d’:因所形成的網路包含由起始節點1至目標節點5的路徑,執行步驟b。
步驟b:因|Vp|=3<Lub=5,執行步驟b’。
步驟b’:因為節點4為節點集合Vp={1、5、3}的鄰近點且屬於,令節點集合Vp包含節點4,Vp={1、5、3、4}。令計數器k加一,k=2。令第2對應節點集合θ2為節點4,θ2={4}。接著執行步驟c。
步驟c:因Llb=3<|Vp|=4,執行步驟d。
步驟d:因節點集合Vp={1、5、3、4}所形成的網路包含由起始節點1經過Vp包含的所有節點至目標節點5的路徑p,p={e14、e43、e35},令最小路徑集合Ω包含路徑p,接著執行步驟e。
步驟e:因Lub=5>|Vp|=4,執行步驟e’。
步驟e’:因無節點屬於集合且為節點集合Vp之封閉鄰近點,執行步驟b。
步驟b:因|Vp|=4<Lub=5,執行步驟b’。
步驟b’:因無節點屬於集合並為節點集合Vp之鄰近點,執行步驟f。
步驟f:因Llb=2<|Vp|=4,執行步驟f’。
步驟f’:因無節點屬於集合並為節點集合Vp之鄰近點,刪除節點集合Vp最後包含之最末節點4,Vp={1、5、3},令計數值k減去1,k=1,接著執行步驟f。
步驟f:因Llb=2<|Vp|=3,執行步驟f’。
步驟f’:因節點4屬於集合並為節點集合Vp之鄰近點,令節點4取代節點集合Vp最後包含之最末節點3,Vp={1、5、4},並令第1個對應節點集合θ1包含節點4,θ2={2、3、4},接著執行步驟d。
步驟d:因節點集合Vp={1、5、4}所形成的網路包含由起始節點1經過Vp包含的所有節點至目標節點5的路徑p,p={e14、e45},令最小路徑集合Ω包含路徑p,接著執行步驟e。
步驟e:因Lub=5>|Vp|=3,執行步驟e’。
步驟e’:因無節點屬於集合且為節點集合Vp之封閉鄰近點,執行步驟b。
步驟b:因|Vp|=3<Lub=5,執行步驟b’。
步驟b’:因無節點屬於集合並為節點集合Vp之鄰近點,執行步驟f。
步驟f:因Llb=2<|Vp|=3,執行步驟f’。
步驟f’:因無節點屬於集合並為節點集合Vp之鄰近點,刪除節點集合Vp最後包含之最末節點4,Vp={1、5},令計數值k減去1,k=0,接著執行步驟f。
步驟f:因Llb=|Vp|=2,執行步驟g。
步驟g:根據最小路徑集合Ω所包含之所有路徑{{e12、e23、e35}、{e14、e42、e23、e35}、{e14、e43、e35}、{e14、e45}}計算非循環網路之網路可靠度。
由以上實例可知,本發明之網路可靠度計算方法可基於節點找出所有非循環網路的MP,並藉由所有MP計算出非循環網路之網路可靠度。
以上所述僅為舉例性,而非為限制性者。任何未脫離本發明之精神與範疇,而對其進行之等效修改或變更,均應包含於後附之申請專利範圍中。
S21~S28‧‧‧流程
Claims (8)
- 一種網路可靠度計算方法,適用於一非循環網路,該非循環網路包含複數個節點與連結該複數個節點之複數個弧,而該複數個節點形成一總節點集合Vtot,該總節點集合Vtot包含一起始節點與一目標節點,該網路可靠度計算方法係包含下列步驟:a.利用一處理器設定一節點集合Vp包含該起始節點與該目標節點,設定一計數值k為0,設定一最小路徑集合Ω為空集合,設定一第0對應節點集合θ0為空集合,以及設定該非循環網路對應之一上限值與一下限值,接著執行步驟b;b.利用該處理器判斷該節點集合Vp之節點個數是否等於該上限值;若是,則執行步驟f;若否,則執行步驟b’;b’.利用該處理器判斷是否有一第一節點屬於集合並為該節點集合Vp之鄰近點;若是,則令該節點集合Vp包含該第一節點,令該計數值k加上1,並設定一第k個對應節點集合θk為該第一節點,接著執行步驟c;若否,則執行步驟f;c.利用該處理器判斷該下限值是否大於該節點集合Vp之節點個數;若是,則執行步驟b;若否,則執行步驟d;d.利用該處理器判斷是否有由該節點集合Vp所包含之各節點間之該複數個弧構成的一路徑p由該起始節點出發通過該節點集合Vp所包含之所有節點至該目標節點;若是,則令該最小路徑集合Ω包含該路徑p,接著執行步驟e;若否,則執行步驟d’;d’.利用該處理器判斷是否有由該節點集合Vp所包含之各節點間之該複數個弧構成的一路徑p由該起始節點出發至該目標節點但未通過 該節點集合Vp所包含之所有節點或在集合所形成的網路中存在由該起始節點出發至該目標節點之其他路徑;若是,則執行步驟b;若否,則執行步驟f;e.利用該處理器判斷該節點集合Vp之節點個數是否等於該上限值;若是,則執行步驟f;若否,則執行步驟b;f.利用該處理器判斷該節點集合Vp之節點個數是否等於2;若是,則執行步驟g;若否,則執行步驟f’;f’.利用該處理器判斷是否有一第二節點屬於集合並為該節點集合Vp之鄰近點;若是,則令該第二節點取代該節點集合Vp最後包含之一最末節點,並令該第k個對應節點集合θk包含該第二節點,接著執行步驟d;若否,則刪除該節點集合Vp最後包含之該最末節點,令該計數值k減去1,接著執行步驟f;以及g.利用該處理器根據該最小路徑集合Ω所包含之所有路徑計算一網路可靠度。
- 如申請專利範圍第1項所述之網路可靠度計算方法,其中該下限值為由該起始節點至該目標節點之一最短路徑所包含之節點數。
- 如申請專利範圍第1項所述之網路可靠度計算方法,其中該上限值為由該起始節點至該目標節點之一最長路徑所包含之節點數。
- 如申請專利範圍第1項所述之網路可靠度計算方法,其中步驟e中當該處理器判斷該節點集合Vp之節點個數不等於該上限值後而執行步驟b前,該網路可靠度計算方法進一步包含步驟e’, e’.利用該處理器判斷是否有一第三節點v屬於集合[V tot -(∪ i=0θ i ∪V p )]並為該節點集合Vp之封閉鄰近點;若是,則令該節點集合Vp包含該第三節點v,令該計數值k加上1,設定一第k個對應節點集合θk包含該第三節點v,令該最小路徑集合Ω包含路徑(p-{e ij })∪({e iv },{e vj }),其中eij表示該節點集合Vp中一節點i與一節點j間之弧,eiv表示該節點i與該第三節點v間之弧,evj表示該第三節點v與該節點j間之弧,接著執行步驟e;若否,則執行步驟b。
- 一種網路可靠度計算系統,適用於一非循環網路,該非循環網路包含複數個節點與連結該複數個節點之複數個弧,而該複數個節點形成一總節點集合Vtot,該總節點集合Vtot包含一起始節點與一目標節點,該網路可靠度計算系統係包含:一記憶體,儲存一演算法;以及一處理器,其連接於該非循環網路以及該記憶體,並執行該演算法後輸出一網路可靠度,其中,該演算法包含下列步驟:a.設定一節點集合Vp包含該起始節點與該目標節點,設定一計數值k為0,設定一最小路徑集合Ω為空集合,設定一第0對應節點集合θ0為空集合,以及設定該非循環網路所對應之一上限值與一下限值,接著執行步驟b;b.判斷該節點集合Vp之節點個數是否等於該上限值;若是,則執行步驟f;若否,則執行步驟b’;b’.判斷是否有一第一節點屬於集合 並為該節點集合Vp之鄰近點;若是,則令該節點集合Vp包含該第一節點,令該計數值k加上1,並設定一第k個對應節點集合θk為該第一節點,接著執行步驟c;若否,則執行步驟f;c.判斷該下限值是否大於該節點集合Vp之節點個數;若是,則執行步驟b;若否,則執行步驟d;d.利用該處理器判斷是否有由該節點集合Vp所包含之各節點間之該複數個弧構成的一路徑p由該起始節點出發通過該節點集合Vp所包含之所有節點至該目標節點;若是,則令該最小路徑集合Ω包含該路徑p,接著執行步驟e;若否,則執行步驟d’;d’.利用該處理器判斷是否有由該節點集合Vp所包含之各節點間之該複數個弧構成的一路徑p由該起始節點出發至該目標節點但未通過該節點集合Vp所包含之所有節點或在集合所形成的網路中存在由該起始節點出發至該目標節點之其他路徑;若是,則執行步驟b;若否,則執行步驟f;e.判斷該節點集合Vp之節點個數是否等於該上限值;若是,則執行步驟f;若否,則執行步驟b;f.判斷該節點集合Vp之節點個數是否等於2;若是,則儲存所得之該最小路徑集合Ω於該記憶體,接著執行步驟g;若否,則執行步驟f’;f’.判斷是否有一第二節點屬於集合並為該節點集合Vp之鄰近點;若是,則令該第二節點取代該節點集合Vp最後包含之一最末節點,並令該第k個對應節點集合θk包含該第二節點,接著執行步驟d;若否,則刪除該節點集合Vp最後包含之該最末節點,令該計數值k減去1,接著執行步驟f;以及g.根據該最小路徑集合Ω所包含之所有路徑計算該網路可靠度。
- 如申請專利範圍第5項所述之網路可靠度計算系統,其中該下限值為由該起始節點至該目標節點之一最短路徑所包含之節點數。
- 如申請專利範圍第5項所述之網路可靠度計算系統,其中該上限值為由該起始節點至該目標節點之一最長路徑所包含之節點數。
- 如申請專利範圍第5項所述之網路可靠度計算系統,其中當該演算法在步驟e中判斷該節點集合Vp之節點個數不等於該上限值後而執行步驟b前,該演算法進一步包含步驟e’,e’.判斷是否有一第三節點v屬於集合並為該節點集合Vp之封閉鄰近點;若是,則令該節點集合Vp包含該第三節點,令該計數值k加上1,設定一第k個對應節點集合θk包含該第三節點,令該最小路徑集合Ω包含路徑(p-{e ij })∪({e iv },{e vj }),其中eij表示該節點集合Vp中一節點i與一節點j間之弧,eiv表示該節點i與該第三節點v間之弧,evj表示該第三節點v與該節點j間之弧,接著執行步驟e;若否,則執行步驟b。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104119527A TWI555351B (zh) | 2015-06-17 | 2015-06-17 | 用於非循環網路的網路可靠度計算方法及其系統 |
US14/847,694 US9906414B2 (en) | 2015-06-17 | 2015-09-08 | Network reliability evaluation method for acyclic network and system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104119527A TWI555351B (zh) | 2015-06-17 | 2015-06-17 | 用於非循環網路的網路可靠度計算方法及其系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI555351B true TWI555351B (zh) | 2016-10-21 |
TW201701614A TW201701614A (zh) | 2017-01-01 |
Family
ID=57587199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104119527A TWI555351B (zh) | 2015-06-17 | 2015-06-17 | 用於非循環網路的網路可靠度計算方法及其系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9906414B2 (zh) |
TW (1) | TWI555351B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI621026B (zh) | 2017-05-17 | 2018-04-11 | 國立清華大學 | 交通網路可靠度評估方法及其系統 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201034411A (en) * | 2009-03-02 | 2010-09-16 | Nat Univ Tsing Hua | The network reliability calculation system and its method |
TW201351927A (zh) * | 2012-06-15 | 2013-12-16 | Shin-Guang Chen | 流量網路之最佳容量配置方法,及其電腦程式產品 |
US20140140216A1 (en) * | 2012-11-20 | 2014-05-22 | Inventec Corporation | Network system and routing method |
TW201507398A (zh) * | 2013-08-13 | 2015-02-16 | Nat Univ Tsing Hua | 多態資訊網路可靠度的計算方法及其系統 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6587844B1 (en) * | 2000-02-01 | 2003-07-01 | At&T Corp. | System and methods for optimizing networks of weighted unweighted directed graphs |
US7719988B1 (en) * | 2005-11-30 | 2010-05-18 | University Of Murcia | Mobility-aware mesh construction algorithm for low data-overhead multicast ad hoc routing |
US8671277B2 (en) * | 2009-06-09 | 2014-03-11 | Syracuse University | Method for secure communication over heterogeneous networks |
EP2354986A1 (en) * | 2009-12-31 | 2011-08-10 | Dassault Systèmes | Design of an assembly modeled by a graph |
EP2990970A1 (en) * | 2014-08-26 | 2016-03-02 | Dassault Systèmes | Execution of sequential update |
-
2015
- 2015-06-17 TW TW104119527A patent/TWI555351B/zh active
- 2015-09-08 US US14/847,694 patent/US9906414B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201034411A (en) * | 2009-03-02 | 2010-09-16 | Nat Univ Tsing Hua | The network reliability calculation system and its method |
TW201351927A (zh) * | 2012-06-15 | 2013-12-16 | Shin-Guang Chen | 流量網路之最佳容量配置方法,及其電腦程式產品 |
US20140140216A1 (en) * | 2012-11-20 | 2014-05-22 | Inventec Corporation | Network system and routing method |
TW201507398A (zh) * | 2013-08-13 | 2015-02-16 | Nat Univ Tsing Hua | 多態資訊網路可靠度的計算方法及其系統 |
Non-Patent Citations (2)
Title |
---|
Wei-Chang Yeh, "The Extension of Universal Generating Function Method to Search for All One-to-Many d -Minimal Paths of Acyclic Multi-State-Arc Flow-Conservation Networks", IEEE Transactions on Reliability, Volume:57 , Issue: 1, Page(s):94 - 102, 2008-03. * |
蔡禕倫、林郁珊、楊若筠, "網路可靠度分析與最佳化之應用-以電腦網路與物流運輸網路為例", 臺灣科技大學工業管理系, 九十八年度實務專題報告, 98年1月15日 * |
Also Published As
Publication number | Publication date |
---|---|
US9906414B2 (en) | 2018-02-27 |
TW201701614A (zh) | 2017-01-01 |
US20160373326A1 (en) | 2016-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Su et al. | Redundant rule detection for software-defined networking | |
WO2017215378A1 (zh) | 软件定义网络、节点、路径计算方法、装置及存储介质 | |
US11055210B2 (en) | Software test equipment and software testing method | |
Kor et al. | Tight bounds for distributed MST verification | |
CN109710981A (zh) | Fpga的布线方法及系统 | |
CN106682514B (zh) | 基于子图挖掘的系统调用序列特征模式集生成方法 | |
Asano et al. | -space and polynomial-time algorithm for planar directed graph reachability | |
US9043746B2 (en) | Conducting verification in event processing applications using formal methods | |
Lu et al. | Complex reachability trees and their application to deadlock detection for unbounded Petri nets | |
TWI426383B (zh) | 雲端計算網路的系統可靠度之估計方法 | |
TWI555351B (zh) | 用於非循環網路的網路可靠度計算方法及其系統 | |
Malinowski | A new efficient algorithm for generating all minimal tie-sets connecting selected nodes in a mesh-structured network | |
Niu et al. | Capacity reliability calculation and sensitivity analysis for a stochastic transport network | |
Karaata et al. | A self-stabilizing algorithm for bridge finding | |
Liu et al. | Node Importance Evaluation of Cyber-Physical System under Cyber-Attacks Spreading | |
CN110719191A (zh) | 一种面向次生失效的网络可靠性评估方法 | |
CN110166295B (zh) | 一种用于判断网络拓扑支持拜占庭容错与否的方法 | |
CN103714425A (zh) | 一种电力企业工作流程结构验证方法 | |
Zibaeenejad et al. | Dependency graph: An algorithm for analysis of generalized parameterized networks | |
Spichkova | Formalisation and analysis of component dependencies | |
AbouTrab et al. | Fault coverage measurement of a timed test case generation approach | |
Ma et al. | Declarative framework for specification, simulation and analysis of distributed applications | |
Kwon et al. | A markov reward model for software reliability | |
Forghani-elahabad et al. | An algorithm to search for all minimal cuts in a flow network | |
Karaata | A self-stabilizing algorithm for finding articulation points |