基于截?cái)噙厰U(kuò)展圖的工程網(wǎng)絡(luò)可靠度近似分析方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于網(wǎng)絡(luò)可靠性分析技術(shù)領(lǐng)域,具體涉及一種基于截?cái)噙厰U(kuò)展圖的工程網(wǎng) 絡(luò)可靠度近似分析方法。
【背景技術(shù)】
[0002] 隨著科學(xué)技術(shù)的飛速發(fā)展以及計(jì)算機(jī)的廣泛普及,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)在通信、銀行、 交通、物流、能源、學(xué)校、工廠和軍事等領(lǐng)域得到了廣泛應(yīng)用。隨著計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用領(lǐng)域的不 斷擴(kuò)大,人們對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的可靠性要求也越來(lái)越高。一旦計(jì)算機(jī)網(wǎng)絡(luò)發(fā)生故障,將會(huì)對(duì)人 們的生活、經(jīng)濟(jì)、環(huán)境、衛(wèi)生及社會(huì)安全造成重大甚至是災(zāi)難性的影響,因此,研究網(wǎng)絡(luò)可靠 性具有極其重要的現(xiàn)實(shí)意義。
[0003] 計(jì)算機(jī)網(wǎng)絡(luò)可靠性主要指雙端可靠性,即源端S到終端T連通的概率。目前,對(duì)計(jì)算 機(jī)網(wǎng)絡(luò)可靠性的分析方法主要為精確分析方法,雖然其求解值精度較高,但是,由于分析計(jì) 算過(guò)程非常繁瑣,既消耗了大量計(jì)算資源,也延長(zhǎng)了可靠性分析時(shí)間。所以,傳統(tǒng)的可靠性 分析方法只適用于中小型網(wǎng)絡(luò),無(wú)法應(yīng)用于中大型網(wǎng)絡(luò)。
【發(fā)明內(nèi)容】
[0004] 針對(duì)現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種基于截?cái)噙厰U(kuò)展圖的工程網(wǎng)絡(luò)可靠度 近似分析方法,以犧牲最小可靠性精度為代價(jià),最大程度簡(jiǎn)化了工程網(wǎng)絡(luò)可靠度的分析繁 瑣性,可適用于對(duì)中大型網(wǎng)絡(luò)進(jìn)行可靠性分析。
[0005] 本發(fā)明采用的技術(shù)方案如下:
[0006] 本發(fā)明提供一種基于截?cái)噙厰U(kuò)展圖的工程網(wǎng)絡(luò)可靠度近似分析方法,包括以下步 驟:
[0007] 步驟1,對(duì)于給定網(wǎng)絡(luò)G = (V,E,S,T);其中,V為節(jié)點(diǎn)集合,E為邊集合;S為源節(jié)點(diǎn),T 為匯節(jié)點(diǎn);
[0008] 步驟2,當(dāng)需要計(jì)算源節(jié)點(diǎn)S到匯節(jié)點(diǎn)T之間的網(wǎng)絡(luò)可靠度值時(shí),首先遍歷給定網(wǎng)絡(luò) G,對(duì)邊集合中的各條邊進(jìn)行排序;
[0009] 步驟3,給定截?cái)嗌疃葮O大值N;其中,N為自然數(shù);給定截?cái)嗌疃茸兞恐礟;建立初始 為空的記錄表;
[0010] 初始建立僅存在根節(jié)點(diǎn)、并且根節(jié)點(diǎn)為給定網(wǎng)絡(luò)G的樹模型;此時(shí),給定網(wǎng)絡(luò)G為第 0層節(jié)點(diǎn);
[0011] 步驟4,設(shè)截?cái)嗌疃茸兞恐礟 = l;
[0012] 步驟5,判斷截?cái)嗌疃茸兞恐礟是否小于截?cái)嗌疃葮O大值N,如果小于,則執(zhí)行步驟 6;如果大于等于,則執(zhí)行步驟10;
[0013] 步驟6,當(dāng)前時(shí)刻,設(shè)樹模型第P-1層共存在X個(gè)節(jié)點(diǎn),分別記為G1、G2."Gx;
[0014] 步驟7,令j = l;
[0015] 步驟8,樹模型擴(kuò)展出第P層節(jié)點(diǎn)的方法為:
[0016] 步驟8.1,對(duì)于樹模型第p-l層節(jié)點(diǎn)中的任意節(jié)點(diǎn)Gj,設(shè)網(wǎng)絡(luò)Gj中與源節(jié)點(diǎn)S直接連 接的邊為xi(i = 1,2,. . .,k),其中,k為自然數(shù),xi代表邊的排序序號(hào)值;
[0017] 步驟8.2,首先,令i = l;
[0018] 步驟8.3,對(duì)于網(wǎng)絡(luò)Gj,將源節(jié)點(diǎn)S收縮到邊xi的另一端點(diǎn)并作為新的源節(jié)點(diǎn),同 時(shí),刪除所有與源節(jié)點(diǎn)S直接連接的邊、度為1的非S節(jié)點(diǎn)、與度為1的非S節(jié)點(diǎn)直接相連的邊, 得到網(wǎng)絡(luò)Gj的子網(wǎng)G*xi,其中,G*xi為得到的子網(wǎng)標(biāo)識(shí);同時(shí),判斷所述記錄表中是否存在 與子網(wǎng)G*xi的網(wǎng)絡(luò)結(jié)構(gòu)完全相同的子網(wǎng),如果不存在,則執(zhí)行步驟8.4;如果存在,則執(zhí)行步 驟8.5;
[0019] 步驟8.4,將新得到的子網(wǎng)G*xi的子網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)、子網(wǎng)標(biāo)識(shí)以及子網(wǎng)在給定網(wǎng)絡(luò)G 的深度值的信息記錄到所述記錄表;其中,子網(wǎng)在給定網(wǎng)絡(luò)G的深度值是指:從給定網(wǎng)絡(luò)G到 子網(wǎng)G*x i所經(jīng)過(guò)的邊的數(shù)量值;
[0020]同時(shí),向樹模型中增加子網(wǎng)G*xi,并連接網(wǎng)絡(luò)Gj節(jié)點(diǎn)和子網(wǎng)G*xi,子網(wǎng)G*xi形成為 網(wǎng)絡(luò)G j的一個(gè)兒子節(jié)點(diǎn),子網(wǎng)G*xi的深度值即為P;
[0021] 然后,執(zhí)行步驟9;
[0022] 步驟8.5,假設(shè)記錄表中已存在子網(wǎng)G*xt,其中,xt關(guān)xi ;此時(shí),子網(wǎng)G*xt和子網(wǎng)G* xi的網(wǎng)絡(luò)結(jié)構(gòu)完全相同,子網(wǎng)G*xt和子網(wǎng)G*xi為同構(gòu)子圖;
[0023] 設(shè)子網(wǎng)G*xt的深度值為Nxt,子網(wǎng)G*xi的深度值為Nxi,判斷Nxi是否小于N xt,如果小 于,則執(zhí)行步驟8.6;否則,執(zhí)行步驟8.7;
[0024] 步驟8.6,將記錄表中已記錄的子網(wǎng)G*xt的子網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)、子網(wǎng)標(biāo)識(shí)以及子網(wǎng)在給 定網(wǎng)絡(luò)G的深度值的信息刪除;同時(shí),將新得到的子網(wǎng)G*xi的子網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)、子網(wǎng)標(biāo)識(shí)以及 子網(wǎng)在給定網(wǎng)絡(luò)G的深度值的信息新增加到記錄表;
[0025]同時(shí),向樹模型中增加子網(wǎng)G*xi,并連接網(wǎng)絡(luò)Gj節(jié)點(diǎn)和子網(wǎng)G*xi,子網(wǎng)G*xi形成為 網(wǎng)絡(luò)Gj的一個(gè)兒子節(jié)點(diǎn),子網(wǎng)G*xi的深度值即為P;此外,將樹模型中的子網(wǎng)G*xt刪除,將直 接連接到子網(wǎng)G*xt的邊的終點(diǎn)改為連接到子網(wǎng)G*xi ;其中,邊的終點(diǎn)是指:當(dāng)子網(wǎng)G*xt的上 一層相鄰節(jié)點(diǎn)與子網(wǎng)G*xt存在邊的連接關(guān)系時(shí),該條邊與子網(wǎng)G*xt的交叉點(diǎn)即為邊的終 占 .
[0026] 然后執(zhí)行步驟9;
[0027] 步驟8.7,
[0028]向樹模型中再增加一條從節(jié)點(diǎn)Gj連接到子網(wǎng)G*xt的邊,并且,所增加邊的序號(hào)為 xi;
[0029] 然后執(zhí)行步驟9;
[0030] 步驟9,令i = i+Ι,返回步驟8.2,直到i = k+Ι時(shí),跳出循環(huán),令j = j+Ι,返回步驟7, 直到j(luò) = x+l時(shí),跳出循環(huán),令P=P+1,返回步驟5;
[0031] 步驟10,將當(dāng)前樹模型最底層的各個(gè)節(jié)點(diǎn)直接連接到匯節(jié)點(diǎn)T;
[0032] 至此,將所生成的樹模型稱為簡(jiǎn)化圖模型;
[0033] 步驟11,對(duì)于所述簡(jiǎn)化圖模型,最底層每個(gè)節(jié)點(diǎn)自身的子網(wǎng)連通率為已知值,簡(jiǎn)化 圖模型中各個(gè)節(jié)點(diǎn)之間邊的連通率為已知值,按遞歸公式計(jì)算,計(jì)算得到網(wǎng)絡(luò)G的可靠度近 似值:
[0034] 步驟12,判斷計(jì)算得到的網(wǎng)絡(luò)G的可靠度近似值的精度是否符合要求,若不符合, 改變給定截?cái)嗌疃葮O大值N的值,重復(fù)執(zhí)行步驟3到步驟12,如此不斷循環(huán),直到精度滿足要 求。
[0035]優(yōu)選的,步驟2中,采用廣度優(yōu)先排列策略,對(duì)邊集合中的各條邊進(jìn)行排序。
[0036]本發(fā)明的有益效果如下:
[0037]本發(fā)明提供的基于截?cái)噙厰U(kuò)展圖的工程網(wǎng)絡(luò)可靠度近似分析方法具有以下優(yōu)點(diǎn): [0038]經(jīng)實(shí)驗(yàn)證明,能夠在生成較小邊擴(kuò)展圖和等價(jià)BDD的基礎(chǔ)上得到誤差較小的近似 值,而且,以犧牲最小可靠性精度為代價(jià),最大程度簡(jiǎn)化了工程網(wǎng)絡(luò)可靠度的分析繁瑣性, 可適用于對(duì)中大型網(wǎng)絡(luò)進(jìn)行可靠性分析。
【附圖說(shuō)明】
[0039] 圖1為給定網(wǎng)絡(luò)G的具體示例圖;
[0040] 圖2為對(duì)圖1進(jìn)彳丁邊排序后的網(wǎng)絡(luò)圖;
[0041] 圖3為不考慮同構(gòu)子圖識(shí)別以及截?cái)嗌疃葐?wèn)題時(shí)得到的擴(kuò)展圖;
[0042]圖4為N為4時(shí)得到的邊擴(kuò)展圖;
[0043]圖5為N為3時(shí)得到的邊擴(kuò)展圖;
[0044]圖6為河南省電力系統(tǒng)網(wǎng)絡(luò)圖;
[0045] 圖7是北京市軌道交通網(wǎng)絡(luò)圖;
[0046] 圖8是大學(xué)與產(chǎn)業(yè)的關(guān)系分配網(wǎng)絡(luò)圖。
【具體實(shí)施方式】
[0047] 為了使本發(fā)明所解決的技術(shù)問(wèn)題、技術(shù)方案及有益效果更加清楚明白,以下結(jié)合 附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以 解釋本發(fā)明,并不用于限定本發(fā)明。
[0048] 本發(fā)明提供一種基于截?cái)噙厰U(kuò)展圖的工程網(wǎng)絡(luò)可靠度近似分析方法,包括以下步 驟:
[0049]步驟1,對(duì)于給定網(wǎng)絡(luò)G = (V,E,S,T);其中,V為節(jié)點(diǎn)集合,E為邊集合;S為源節(jié)點(diǎn),T 為匯節(jié)點(diǎn);
[0050]步驟2,當(dāng)需要計(jì)算源節(jié)點(diǎn)S到匯節(jié)點(diǎn)T之間的網(wǎng)絡(luò)可靠度值時(shí),首先遍歷給定網(wǎng)絡(luò) G,對(duì)邊集合中的各條邊進(jìn)行排序;
[0051 ]本步驟中,可采用現(xiàn)有技術(shù)中已知的廣度優(yōu)先邊排序策略對(duì)邊進(jìn)行排序,當(dāng)然,也 可以采用其他排序方法,本發(fā)明對(duì)此并不限制。
[0052]參考圖1,為給定網(wǎng)絡(luò)G=(V,E,S,T)的一個(gè)具體示例;參考圖2,為對(duì)圖1進(jìn)行邊排 序后的網(wǎng)絡(luò)圖。
[0053]步驟3,給定截?cái)嗌疃葮O大值N;其中,N為自然數(shù);給定截?cái)嗌疃茸兞恐礟;建立初始 為空的記錄表;
[0054] 初始建立僅存在根節(jié)點(diǎn)、并且根節(jié)點(diǎn)為給定網(wǎng)絡(luò)G的樹模型;此時(shí),給定網(wǎng)絡(luò)G為第 0層節(jié)點(diǎn);
[0055] 步驟4,設(shè)截?cái)嗌疃茸兞恐礟 = l;
[0056] 步驟5,判斷截?cái)嗌疃茸兞恐礟是否小于截?cái)嗌疃葮O大值N,如果小于,則執(zhí)行步驟 6;如果大于等于,則執(zhí)行步驟10;
[0057]步驟6,當(dāng)前時(shí)刻,設(shè)樹模型第P-1層共存在X個(gè)節(jié)點(diǎn),分別記為Gl、G2'"Gx;
[0058] 步驟7,令j = l;
[0059] 步驟8,樹模型擴(kuò)展出第P層節(jié)點(diǎn)的方法為:
[0060] 步驟8.1,對(duì)于樹模型第P-ι層節(jié)點(diǎn)中的任意節(jié)點(diǎn)G j,設(shè)網(wǎng)絡(luò)G j中與源節(jié)點(diǎn)S直接連 接的邊為xi(i = 1,2,...,k),其中,k為自然數(shù),xi代表邊的排序序號(hào)值;
[0061] 步驟8.2,首先,令1 = 1;
[0062] 步驟8.3,對(duì)于網(wǎng)絡(luò)Gj,將源節(jié)點(diǎn)S收縮到邊xi的另一端點(diǎn)并作為新的源節(jié)點(diǎn),同 時(shí),刪除所有與源節(jié)點(diǎn)S直接連接的邊、度為1的非S節(jié)點(diǎn)、與度為1的非S節(jié)點(diǎn)直接相連的邊, 得到網(wǎng)絡(luò)Gj的子網(wǎng)G*xi,其中,G*xi為得到的子網(wǎng)標(biāo)識(shí);同時(shí),判斷所述記錄表中是否存在 與子網(wǎng)G*xi的網(wǎng)絡(luò)結(jié)構(gòu)完全相同的子網(wǎng),如果不存在,則執(zhí)行步驟8.4;如果存在,則執(zhí)行步 驟8.5;
[0063] 步驟8.4,將新得到的子網(wǎng)G*xi的子網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)、子網(wǎng)標(biāo)識(shí)以及子網(wǎng)在給定網(wǎng)絡(luò)G 的深度值的信息記錄到所述記錄表;其中,子網(wǎng)在給定網(wǎng)絡(luò)G的深度值是指:從給定網(wǎng)絡(luò)G到 子網(wǎng)G*x i所經(jīng)過(guò)的邊的數(shù)量值;
[0064]同時(shí),向樹模型中增加子網(wǎng)G*xi,并連接網(wǎng)絡(luò)Gj節(jié)點(diǎn)和子網(wǎng)G*xi,子網(wǎng)G*xi形成為 網(wǎng)絡(luò)G j的一個(gè)兒子節(jié)點(diǎn),子網(wǎng)G*xi的深度值即為P;
[0065]然后,執(zhí)行步驟9;
[0066] 步驟8.5,假設(shè)記錄表中已存在子網(wǎng)G*xt,其中,xt關(guān)xi ;此時(shí),子網(wǎng)G*xt和子網(wǎng)G* xi的網(wǎng)絡(luò)結(jié)構(gòu)完全相同,子網(wǎng)G*xt和子網(wǎng)G*xi為同構(gòu)子圖;
[0067] 設(shè)子網(wǎng)G*xt的深度值為Nxt,子網(wǎng)G*xi的深度值為Nxi,判斷Nxi是否小于N xt,如果小 于,則執(zhí)行步驟8.6;否則,執(zhí)行步驟8.7;
[0068] 步驟8.6,將記錄表中已記錄的子網(wǎng)G*xt的子網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)、子網(wǎng)標(biāo)識(shí)以及子網(wǎng)在給 定網(wǎng)絡(luò)G的深度值的信息刪除;同時(shí),將新得到的子網(wǎng)G*xi的子網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)、子網(wǎng)標(biāo)識(shí)以及 子網(wǎng)在給定網(wǎng)絡(luò)G的深度值的信息新增加到記錄表;
[0069]同時(shí),向樹模型中增加子網(wǎng)G*xi,并連接網(wǎng)絡(luò)Gj節(jié)點(diǎn)和子網(wǎng)G*xi,子網(wǎng)G*xi形成為 網(wǎng)絡(luò)Gj的一個(gè)兒子節(jié)點(diǎn),子網(wǎng)G*xi的深度值即為P;此外,將樹模型中的子網(wǎng)G*xt刪除,將直 接連接到子網(wǎng)G*xt的邊的終點(diǎn)改為連接到子網(wǎng)G*xi ;其中,邊的終點(diǎn)是指:當(dāng)子網(wǎng)G*xt的上 一層相鄰節(jié)點(diǎn)與子網(wǎng)G*xt存在邊的連接關(guān)系時(shí),該條邊與子網(wǎng)G*xt的交叉點(diǎn)即為邊的終 占 .
[0070] 然后執(zhí)行