本發(fā)明公開了一種改進(jìn)基于序列二元決策圖的動態(tài)故障樹分析方法,涉及一種基于Pandora的動態(tài)故障樹的分析方法,屬于數(shù)據(jù)處理的
技術(shù)領(lǐng)域:
。
背景技術(shù):
:在2005年,Pandora首次被MartinWalker在《ProjectPandora:TemporalFaultTreeAnalysis》中提出。Pandora通過引入新的時(shí)間門,使其可以更加完整的描述底事件的順序關(guān)系。同時(shí),Pandora添加了新的規(guī)則和算法,通過這些規(guī)則和算法可以使Pandora動態(tài)故障樹可以得到解析。目前分析基于Pandora的動態(tài)故障樹的方法主要有代數(shù)關(guān)系式法和SBDD(SequentialBinaryDecisionDiagram)方法。代數(shù)關(guān)系式法采用Pandora中的理論知識對動態(tài)故障樹進(jìn)行分析,但是該方法是對動態(tài)故障樹進(jìn)行分解運(yùn)算,容易造成空間爆炸和時(shí)間爆炸。在分析基于Pandora的動態(tài)故障樹過程中,SBDD方法沒有考慮動態(tài)故障樹各底事件的聯(lián)系,造成生成的SBDD中存在無效分支。SBDD是受二叉決策樹(BDD,BinaryDecisionDiagram)影響的動態(tài)故障樹分析方法。SBDD的核心思想是:將動態(tài)故障樹中的每個(gè)動態(tài)門看作一個(gè)連續(xù)的布爾變量并使用一個(gè)對應(yīng)的序列代替它;然后,通過生成算法將取代后的動態(tài)故障樹轉(zhuǎn)化成相應(yīng)的SBDD。但是,在取代后的動態(tài)故障樹中,由于重復(fù)變量的出現(xiàn),各底事件也不是完全相互獨(dú)立的,這就可能造成在一個(gè)給定的不太完整的變量排序的情況下,建立的SBDD圖存在無效的節(jié)點(diǎn)。假設(shè)存在這樣兩個(gè)變量xi和xj,當(dāng)xi=0時(shí),xj=0,SBDD是故障樹中所有節(jié)點(diǎn)的全排序,則一定存在這樣一個(gè)序列:由已知條件可知,和xj無法共存,因此由該序列求出的割集是無效的。故障樹的定性分析是根據(jù)SBDD求出其不交化割集,故障樹的定量分析是根據(jù)不交化割集計(jì)算出頂事件發(fā)生的概率。如果不去除不交化割集中的無效割集,則定性分析和定量分析的結(jié)果都是有錯(cuò)誤的。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的發(fā)明目的是針對上述
背景技術(shù):
的不足,提供了一種基于改進(jìn)序列二元決策圖的動態(tài)故障樹分析方法,減少了SBDD節(jié)點(diǎn)數(shù)目并消除了無效分支,使得故障樹的定性分析和定量分析更加準(zhǔn)確,解決了現(xiàn)有SBDD方法分析基于Pandora的動態(tài)故障樹得到的SBDD存在無效分支的技術(shù)問題。本發(fā)明為實(shí)現(xiàn)上述發(fā)明目的采用如下技術(shù)方案:一種基于改進(jìn)序列二元決策圖的動態(tài)故障樹分析方法,包括如下步驟:A、將動態(tài)故障樹中的動態(tài)門轉(zhuǎn)換成固定葉節(jié)點(diǎn)以生成待分析故障樹;B、采用考慮了動態(tài)底事件和靜態(tài)底事件關(guān)系的結(jié)構(gòu)式排序方法對待分析故障樹中的底事件進(jìn)行排序;C、按照自頂向下的順序及對底事件的排序?qū)Ω鲗拥资录M(jìn)行擴(kuò)展SBDD運(yùn)算以生成二元決策圖;D、根據(jù)二元決策圖計(jì)算動態(tài)故障樹的不交化割集。進(jìn)一步的,所述一種基于改進(jìn)序列二元決策圖的動態(tài)故障樹分析方法中,步驟B的具體方法為:B1、排列動態(tài)故障樹的各層底事件生成每一層的層排序隊(duì)列:在同一層底事件中既有靜態(tài)底事件又有動態(tài)底事件時(shí),優(yōu)先排列靜態(tài)底事件,排列靜態(tài)底事件時(shí)優(yōu)先排列出現(xiàn)次數(shù)多的靜態(tài)底事件,排列出現(xiàn)次數(shù)相同的靜態(tài)底事件時(shí)優(yōu)先排列與已排序靜態(tài)底事件在同一靜態(tài)門的靜態(tài)底事件,排列動態(tài)底事件時(shí)按照同時(shí)與門優(yōu)先于優(yōu)先或門以及優(yōu)先或門優(yōu)先于優(yōu)先與門的順序排列;B2、按照優(yōu)先排列靠近待分析故障樹頂事件的層排序隊(duì)列的規(guī)則將各層排序隊(duì)列插入全局排序隊(duì)列中。再進(jìn)一步的,所述一種基于改進(jìn)序列二元決策圖的動態(tài)故障樹分析方法中,步驟C的具體方法為:讀取待分析故障樹和全局排序隊(duì)列并初始化全局SBDD樹;自頂層開始取每一層的各底事件作為操作節(jié)點(diǎn)進(jìn)行擴(kuò)展SBDD運(yùn)算:根據(jù)每個(gè)操作節(jié)點(diǎn)是否為門的情形抽取局部SBDD樹,比較全局SBDD樹首個(gè)底事件和局部底事件首個(gè)底事件在操作節(jié)點(diǎn)所屬層的層排序隊(duì)列中的位置,對首個(gè)底事件位置靠后的SBDD樹進(jìn)行簡化,對簡化后的SBDD樹和未簡化SBDD樹進(jìn)行擴(kuò)展SBDD運(yùn)算。更進(jìn)一步的,所述一種基于改進(jìn)序列二元決策圖的動態(tài)故障樹分析方法中,比較全局SBDD樹首個(gè)底事件和局部底事件首個(gè)底事件在層排序隊(duì)列中的位置,對首個(gè)底事件位置靠后的SBDD樹進(jìn)行簡化,具體方法為:在全局SBDD樹首個(gè)底事件在局部SBDD樹首個(gè)底事件之前時(shí),按照如下三條化簡規(guī)則刪除局部SBDD樹的無效動態(tài)底事件:化簡規(guī)則一:組成動態(tài)底事件的靜態(tài)底事件不發(fā)生時(shí),刪除該動態(tài)底事件,化簡規(guī)則二:動態(tài)底事件發(fā)生時(shí),刪除由組成已發(fā)生動態(tài)底事件的靜態(tài)底事件和不同動態(tài)門組成的動態(tài)底事件,化簡規(guī)則三:動態(tài)底事件不發(fā)生時(shí),刪除由組成不發(fā)生動態(tài)底事件的靜態(tài)底事件和不同動態(tài)門組成的動態(tài)底事件;在全局SBDD樹首個(gè)底事件在局部SBDD樹首個(gè)底事件之后時(shí),按照所述三條化簡規(guī)則刪除全局SBDD樹的無效動態(tài)底事件。作為所述一種基于改進(jìn)序列二元決策圖的動態(tài)故障樹分析方法的進(jìn)一步優(yōu)化方案,步驟A將動態(tài)故障樹中的動態(tài)門轉(zhuǎn)換成固定葉節(jié)點(diǎn),具體為:將優(yōu)先與門轉(zhuǎn)換為以A<B為標(biāo)記的動態(tài)底事件,將優(yōu)先或門轉(zhuǎn)換為以A|B為標(biāo)記的動態(tài)底事件,將同時(shí)與門轉(zhuǎn)換為以A&B為標(biāo)記的動態(tài)底事件。本發(fā)明采用上述技術(shù)方案,具有以下有益效果:本發(fā)明考慮了底事件的聯(lián)系對故障樹的底事件進(jìn)行全局排序,在擴(kuò)展SBDD算法中由底事件的全局排序以及動態(tài)底事件和靜態(tài)底事件之間的關(guān)聯(lián)動態(tài)刪除SBDD樹的無效節(jié)點(diǎn)以消除無效分支,能夠有效地將基于Pandora的動態(tài)故障樹轉(zhuǎn)化為SBDD,生成的SBDD數(shù)目更加少且不存在無效割集,使故障樹的定性分析和定量分析更加準(zhǔn)確。附圖說明圖1為PAND轉(zhuǎn)換圖。圖2為POR轉(zhuǎn)換圖。圖3為SAND轉(zhuǎn)換圖。圖4為轉(zhuǎn)換故障樹的流程圖。圖5為底事件排序的流程圖。圖6為本發(fā)明涉及的改進(jìn)SBDD流程圖。圖7為計(jì)算不交化割集的流程圖。圖8為實(shí)施例中的故障樹。圖9為實(shí)施例中替換過動態(tài)門后的故障樹。圖10為實(shí)施例中由頂事件ite表達(dá)式擴(kuò)展得到的SBDD樹。圖11為實(shí)施例擴(kuò)展得到的SBDD樹。圖12為SBDD方法和本申請生成的SBDD樹節(jié)點(diǎn)數(shù)目的比較結(jié)果。圖13為SBDD方法和本申請生成的SBDD樹不交化割集數(shù)目的比較結(jié)果。具體實(shí)施方式下面結(jié)合附圖對發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。本申請?zhí)岢龅臄U(kuò)展SBDD方法能夠有效地將基于Pandora的動態(tài)故障樹轉(zhuǎn)化為SBDD,該本方法主要包括兩個(gè)方面:改進(jìn)的底事件排序規(guī)則和動態(tài)優(yōu)化SBDD生成算法。改進(jìn)的底事件排序規(guī)則的基本思想是利用故障樹的結(jié)構(gòu)關(guān)系和底事件間的關(guān)系來給底事件賦予不同的排序優(yōu)先級。動態(tài)優(yōu)化SBDD生成算法在底事件排序隊(duì)列的基礎(chǔ)上,采用擴(kuò)展的香農(nóng)公式生成SBDD,在采用擴(kuò)展香農(nóng)公式生成SBDD的迭代過程中,每一次迭代之前都采用簡化規(guī)則刪除無效節(jié)點(diǎn)。步驟一:替換動態(tài)故障樹中的動態(tài)門將以PAND門、SAND門和POR門為根節(jié)點(diǎn)的子樹轉(zhuǎn)換成一個(gè)固定的葉節(jié)點(diǎn),如圖1所示將PAND門轉(zhuǎn)換為(A<B),如圖2所示將POR門轉(zhuǎn)換為(A|B),如圖3所示將SAND門轉(zhuǎn)換為(A&B),具體流程如圖4所示:層序遍歷故障樹對每個(gè)節(jié)點(diǎn)進(jìn)行判斷,若為PAND門、SAND門或POR門的節(jié)點(diǎn),則訪問該節(jié)點(diǎn)的所有子節(jié)點(diǎn),對子節(jié)點(diǎn)的分支進(jìn)行相應(yīng)的轉(zhuǎn)換得到轉(zhuǎn)換后的葉節(jié)點(diǎn),將該葉節(jié)點(diǎn)插入原門節(jié)點(diǎn)的位置,遍歷完故障樹則完成所有門節(jié)點(diǎn)的轉(zhuǎn)換并得到轉(zhuǎn)換后的故障樹。步驟二:使用改進(jìn)的結(jié)構(gòu)式排序方法對動態(tài)故障樹中的底事件排序運(yùn)用改進(jìn)的結(jié)構(gòu)式排序方法對基于Pandora動態(tài)故障樹的底事件進(jìn)行排序,具體流程如圖5所示:第一次遍歷轉(zhuǎn)換后的故障樹:統(tǒng)計(jì)故障樹中各底事件出現(xiàn)的次數(shù),其中,在統(tǒng)計(jì)靜態(tài)底事件時(shí),要將用以組合形成動態(tài)底事件的靜態(tài)底事件統(tǒng)計(jì)到靜態(tài)底事件總數(shù)中去;第二次采用層序方式遍歷轉(zhuǎn)換后的動態(tài)故障樹:每一層的底事件按照改進(jìn)的結(jié)構(gòu)式排序方法中的排序規(guī)則1和3和4進(jìn)行排序得到第i層的排序隊(duì)列Ai(1<i<n),按照改進(jìn)的結(jié)構(gòu)式排序方法中的排序規(guī)則2依次將每層的排序隊(duì)列合并到總排序隊(duì)列A中,Ai和A都是由靜態(tài)底事件、SAND動態(tài)底事件、POR動態(tài)底事件和PAND動態(tài)底事件組成,在合并過程中分別將Ai的4種不同類型底事件插入A中相同類型底事件的后方,層序遍歷完動態(tài)故障樹得到的總排序隊(duì)列A就是動態(tài)故障樹的底事件排序隊(duì)列。排序規(guī)則1:靜態(tài)布爾變量排在動態(tài)布爾變量之前。排序規(guī)則2:對于靜態(tài)布爾變量來說,靜態(tài)布爾變量越靠近故障樹頂事件越需要排在靠前的位置。排序規(guī)則3:對于處于同層的靜態(tài)布爾變量優(yōu)先排出現(xiàn)次數(shù)多的靜態(tài)布爾變量;對于出現(xiàn)次數(shù)相同的靜態(tài)布爾變量優(yōu)先排與已排序靜態(tài)變量在同一個(gè)靜態(tài)門的靜態(tài)變量;出現(xiàn)次數(shù)相同的靜態(tài)布爾變量中沒有與已排序靜態(tài)布爾變量在同一個(gè)靜態(tài)門的靜態(tài)布爾變量時(shí),按照從左到右的順序排序出現(xiàn)次數(shù)相同的靜態(tài)布爾變量。排序規(guī)則4:動態(tài)布爾變量按照優(yōu)先排列SAND門(A&B)、其次排列POR門(A|B)最后排列PAND門(A->B)的順序進(jìn)行排列。排序算法偽碼:代碼主要由兩部分組成:第一次遍歷過程和第二次遍歷過程。第一次遍歷過程是通過隊(duì)列存儲節(jié)點(diǎn)的形式層序遍歷該故障樹,并將各門的數(shù)量記錄到record_Num[]中;第二次遍歷過程也是通過隊(duì)列輔助進(jìn)行的層序遍歷,為每一層的節(jié)點(diǎn)建立一個(gè)層排序隊(duì)列,在該層訪問結(jié)束后,該層排序隊(duì)列按照排序規(guī)則2插入全局排序隊(duì)列中。步驟三:使用改進(jìn)后的SBDD生成算法構(gòu)建SBDD改進(jìn)的SBDD生成算法主要是根據(jù)改進(jìn)后的計(jì)算公式不斷的迭代動態(tài)故障樹進(jìn)行SBDD樹的建立。使用改進(jìn)的SBDD生成算法流程如圖6所示,主要包括對動態(tài)故障樹的循環(huán)遍歷、迭代運(yùn)算前對運(yùn)算因子的化簡和擴(kuò)展SBDD運(yùn)算這三部分。在算法開始時(shí)輸入動態(tài)門被替換掉的動態(tài)故障樹和一個(gè)層排序隊(duì)列并初始化全局SBDD樹G。在程序中自頂向下使用擴(kuò)展SBDD算法對各層節(jié)點(diǎn)進(jìn)行運(yùn)算,根據(jù)當(dāng)前操作節(jié)點(diǎn)是否為門的情形抽取局部SBDD樹G2,對兩個(gè)ite表示的式子G和G2進(jìn)行計(jì)算時(shí),首先判斷G和G2中首個(gè)變量(首個(gè)底事件)的排序情況:若G的首變量在G2的首變量之前,采用如下三條簡化規(guī)則消除G2的無效分支,采用擴(kuò)展Shannon公式中x<y的情況進(jìn)行計(jì)算;若G的首變量在G2的首變量之后,采用如下三條簡化規(guī)則消除G的無效分支,采用擴(kuò)展Shannon公式中x>y的情況進(jìn)行計(jì)算;對于G的首變量與G2的首變量排序相同的情形直接采用擴(kuò)展Shannon公式中x=y(tǒng)的情況進(jìn)行計(jì)算。由于擴(kuò)展SBDD算法的香農(nóng)公式主要是同層的子式進(jìn)行計(jì)算,通過對將當(dāng)前節(jié)點(diǎn)重新賦值為其兄弟節(jié)點(diǎn)的方式實(shí)現(xiàn)對故障樹下一層子式的計(jì)算,當(dāng)頂事件的兄弟節(jié)點(diǎn)都被遍歷計(jì)算完畢時(shí),該動態(tài)故障樹的SBDD樹建立完成。其中,抽取局部而SBDD樹的方法為:當(dāng)前操作節(jié)點(diǎn)為門時(shí),對以當(dāng)前操作節(jié)點(diǎn)為頂點(diǎn)的動態(tài)故障樹進(jìn)行SBDD擴(kuò)展運(yùn)算得到局部SBDD樹;當(dāng)前操作節(jié)點(diǎn)不為門時(shí),以當(dāng)前操作節(jié)點(diǎn)為局部SBDD樹。遞歸地使用這一該函數(shù)關(guān)系,直到所有的變量轉(zhuǎn)化成SBDD節(jié)點(diǎn)以形成完整的SBDD,x1是故障樹的頂節(jié)點(diǎn),f(1,x2,…,xn)和f(0,x2,…,xn)是x1的孩子函數(shù),在使用該公式展開時(shí)主要使用擴(kuò)展的SBDD生成算法進(jìn)行計(jì)算,擴(kuò)展的SBDD生成算法即如下的擴(kuò)展Shannon公式:A和B是ite形式的布爾函數(shù),<op>對應(yīng)于故障樹中包括與門和或門的門類型布爾操作,X|y=k(X為布爾函數(shù),y為布爾變量,k=0或1)采用下列的規(guī)則進(jìn)行無效節(jié)點(diǎn)的判斷和刪除。已知:X=ite(xi<op>xj,M,N),xi和xj靜態(tài)底事件,xi<op>xj是動態(tài)底事件,化簡規(guī)則一:ite(xi<op>xj,M,N)|xi=0=N|xi=0,<o(jì)p>∈{&,<,|},化簡規(guī)則二:ite(xi<op>xj,M,N)|xi&xj=1=N|xi&xj=1,<o(jì)p>∈{<,|},化簡規(guī)則三:ite(xi<op>xj,M,N)|(xi|xj=0)=N|(xi|xj=0),<o(jì)p>∈{<}。化簡規(guī)則一主要是根據(jù)靜態(tài)底事件和動態(tài)底事件的關(guān)系提出的,動態(tài)底事件是由多個(gè)靜態(tài)底事件和動態(tài)門組合成的,當(dāng)某個(gè)靜態(tài)底事件不發(fā)生時(shí),含有該不發(fā)生靜態(tài)底事件的動態(tài)底事件也不發(fā)生,此時(shí),該動態(tài)底事件為無效節(jié)點(diǎn),需要?jiǎng)h除?;喴?guī)則二主要是根據(jù)動態(tài)底事件和動態(tài)底事件的關(guān)系提出的,當(dāng)某些動態(tài)底事件發(fā)生時(shí),由相同靜態(tài)底事件和不同動態(tài)門重新組成的動態(tài)底事件不會發(fā)生,此時(shí),這些重新組成的動態(tài)底事件為無效節(jié)點(diǎn),需要?jiǎng)h除。化簡規(guī)則三主要是根據(jù)動態(tài)底事件和動態(tài)底事件的關(guān)系提出的,當(dāng)某些動態(tài)底事件不發(fā)生時(shí),由相同靜態(tài)底事件和不同動態(tài)門重新組成的動態(tài)底事件不會發(fā)生,此時(shí),這些重新組成的動態(tài)底事件為無效節(jié)點(diǎn),需要?jiǎng)h除。將刪除完無效節(jié)點(diǎn)的全局SBDD與局部SBDD進(jìn)行運(yùn)算,或,將刪除完無效節(jié)點(diǎn)的局部SBDD與全局SBDD進(jìn)行運(yùn)算,再經(jīng)過各層次節(jié)點(diǎn)的迭代運(yùn)算即可生成SBDD樹。算法偽代碼如下:調(diào)用函數(shù)Do_PointBDD():兩個(gè)SBDD樹的門操作。步驟四:計(jì)算動態(tài)故障樹的不交化割集在生成的SBDD中,不交化割集是所有從頂節(jié)點(diǎn)到1的葉節(jié)點(diǎn)的路徑。SBDD中,每個(gè)節(jié)點(diǎn)的右分支代表0分支,表示該節(jié)點(diǎn)不發(fā)生;左分支代表1分支,表示該節(jié)點(diǎn)發(fā)生。不交化割集中的每個(gè)割集都可以用這樣一個(gè)序列表示:其中,每個(gè)元素表示從頂節(jié)點(diǎn)到1的葉節(jié)點(diǎn)路徑上經(jīng)過每個(gè)節(jié)點(diǎn)的順序結(jié)合。在計(jì)算動態(tài)故障樹不交化割集時(shí),采用先序遍歷的方法變量SBDD。每經(jīng)歷一個(gè)節(jié)點(diǎn),將該節(jié)點(diǎn)加入已經(jīng)過節(jié)點(diǎn)的隊(duì)列中,再處理該節(jié)點(diǎn)的左右分支。如果該節(jié)點(diǎn)的左分支,則將隊(duì)列中的節(jié)點(diǎn)標(biāo)記為1節(jié)點(diǎn)。若為右分支,則為0節(jié)點(diǎn)。直到遇到1或0節(jié)點(diǎn)。該計(jì)算函數(shù)Cal_Way(已經(jīng)過路徑,SBDD首節(jié)點(diǎn))的算法流程如圖7所示。為了更好的理解和說明這一方法,現(xiàn)舉一棵Pandora動態(tài)故障樹來說明。采用本發(fā)明涉及的SBDD方法分析圖8所示的故障樹,這個(gè)方法共分為四步:替換Pandora動態(tài)故障樹中的動態(tài)門,計(jì)算基于SBDD的變量排序,使用改進(jìn)的生成算法構(gòu)建SBDD圖和計(jì)算Pandora動態(tài)故障樹的割集。第一步:替換Pandora動態(tài)故障樹中的動態(tài)門對于動態(tài)故障樹中的PAND門G4可以替換為序列集A<B。對于POR門G5可以替換為序列集A|N。對于SAND門G6可以替換為序列集C&K。替換后的動態(tài)故障樹如圖9所示。第二步:選擇一個(gè)基于SBDD的變量排序1、遍歷替換后的動態(tài)故障樹,計(jì)算各底事件出現(xiàn)的次數(shù)。靜態(tài)底事件次數(shù)和動態(tài)底事件次數(shù)分別如表1和表2所示。底事件ABCD次數(shù)3221表1靜態(tài)底事件次數(shù)表底事件A<BA|NC&K次數(shù)111表2動態(tài)底事件次數(shù)表2、層序遍歷替換后的動態(tài)故障樹,對每層的底事件進(jìn)行排序。優(yōu)先排靜態(tài)變量,根據(jù)靜態(tài)底事件的位置和次數(shù)進(jìn)行排序,然后按照動態(tài)底事件的順序進(jìn)行排序。①第一層只有一個(gè)靜態(tài)變量A,先排靜態(tài)變量A。②第二層共有6個(gè)底事件:B、C、D、A<B、A|N和C&K。其中靜態(tài)底事件為B、C、D。有表可知,B和C都是出現(xiàn)了兩次,同層同次數(shù)從左到右進(jìn)行排序。將B和C加入底事件序列為:A<B<C。D只出現(xiàn)了一次,加入底事件序列后為:A<B<C<D。剩余的為動態(tài)底事件,按照動態(tài)底事件排序規(guī)則進(jìn)行排序,加入底事件序列為:A<B<C<D<(C&K)<(A|N)<(A<B)。替換后的動態(tài)故障樹底事件排序序列為:A<B<C<D<(C&K)<(A|N)<(A<B)。第三步:使用改進(jìn)的生成算法構(gòu)建SBDD由于頂事件S=A∧G1∧G2∧G3,需要計(jì)算G1、G2和G3的擴(kuò)展后的香農(nóng)公式表達(dá)式。G1=ite(B,1,ite(C,1,0))G2=ite(D,1,ite(A<B,1,0))G3=ite(C&K,1,ite(A|M,1,0))計(jì)算完G1、G2和G3后,計(jì)算頂事件S=A∧G1∧G2∧G3:S=A∧G1∧G2∧G3=ite(A,ite(B,ite(D,ite(C&K,1,ite(A|M,1,0)),ite(C&K,ite(A<B,1,0),ite(A|M,ite(A<B,1,0),0)),ite(C,ite(D,ite(C&K,1,ite(A|M,1,0)),0)),0))。由頂事件S的ite表達(dá)式可以得到擴(kuò)展后的SBDD圖如圖10所示。第四步:計(jì)算Pandora動態(tài)故障樹的割集擴(kuò)展后的SBDD樹的割集與原BDD圖的割集一樣,都是其從頂點(diǎn)到1的路徑。則圖10的割集為:使用SBDD方法生成的SBDD如圖11所示。由該圖得到的不交化割集為:該不交化割集共包含8個(gè)割集,其中,最后兩個(gè)割集為無效割集。改進(jìn)的SBDD方法和原方法的結(jié)果對比顯示:改進(jìn)的SBDD方法得到的不交化割集數(shù)目更少且不包含無效割集,保證故障樹的定性分析和定量分析更加準(zhǔn)確。將SBDD方法和擴(kuò)展SBDD方法使用C語言編程實(shí)現(xiàn)。通過隨機(jī)樹生成算法生成隨機(jī)的基于Pandora的故障樹。分別用SBDD方法和SBDD方法對生成的隨機(jī)樹進(jìn)行計(jì)算得到生成SBDD的總節(jié)點(diǎn)數(shù)和不交化割集數(shù)目,總節(jié)點(diǎn)數(shù)目對比如圖12所示。不交化割集數(shù)目對比如圖13所示。在總結(jié)點(diǎn)數(shù)目和不交化割集數(shù)目上,擴(kuò)展SBDD方法明顯小于SBDD方法,并且擴(kuò)展SBDD中不存在無效割集。當(dāng)前第1頁1 2 3