第六章 概率理論:關於事件的數學描述
6.1 概述
通過學習前邊的內容我們已經奠定了故障樹的基礎,我麼幾乎已經可以開始進入一些真實的故障樹案例教學。但是,因爲我們在第八章和第九章的例子中不僅有故障樹的構建,還有故障樹的評估,所以我們必須在第六章和第七章先把評估涉及的數學概念講清楚。
第六章講解了定量評估故障樹所涉及的基礎的數學知識:概率理論。概率論是故障樹分析的基礎,因爲它提供了對事件的分析處理,而事件是故障樹的基本組成部分。我們將討論的概率論的主題包括結果集合和相對頻率的概念、概率論的代數、組合分析和一些集合論。我們從結果集合的概念開始,它可以方便地用隨機實驗及其結果來描述。
6.2 隨機試驗和隨機試驗結果
隨機試驗被定義爲可能獲得的結果是不確定的觀測活動。如果一個觀測總是出現相同的結果,那麼這個結果就是確定性的。如果結果是許多可能性中的一種,那麼這個結果就是非確定的。因此,如果我們拋一個硬幣來猜是“人頭”還是“國徽”,我們就在進行一個拋硬幣的隨機試驗。如果我們的硬幣“有貓膩”,我們知道它兩面都是“國徽”,我們就不是在進行隨機試驗,因爲結果肯定是“國徽”。類似的,擲骰子是一個隨機的實驗,除非骰子在每次試驗中都給出完全相同的結果。“隨機試驗”這個術語十分常見,讀者可以舉出大量的例子。測量某個彈簧的剛度、電機的故障時間、測量隕石中的鐵含量等。很明顯,我們周邊許多觀測都是隨機試驗。
隨機試驗的特點是把所有可能的結果一一列出。當結果不是很多時,列出所有結果相對容易,但是如果結果的數量非常大,清單或許將是大到無法實現。隨機實驗結果的項目化在數學上被稱爲結果空間,但我們認爲“結果集合”這個術語更具有描述性。符號E 1 , E 2 , . . . E n {E_1,E_2,...E_n} E 1 , E 2 , . . . E n 將被用於表示事件E 1 , E , 2 , . . . E n E_1,E,2,...En E 1 , E , 2 , . . . E n 的結果集合。結果空間的概念將用幾個例子進行說明。
名稱
內容
隨機試驗
一次拋硬幣
目標
判定是正面還是反面
結果集合
{ T , H } \{T,H\} { T , H }
注意,如果當前存在有硬幣掉進附近的縫隙中找不到的情況,則應該把這種情況加入到結果集合中。
名稱
內容
隨機試驗
把硬幣拋向一個有標尺的平面
目標
判定硬幣不動後的座標
結果集合
{ { x 1 , y 1 } , { x 2 , y 2 } , . . . } \{\{x_1,y_1\},\{x_2,y_2\},...\} { { x 1 , y 1 } , { x 2 , y 2 } , . . . } ,{ x , y } \{x,y\} { x , y } 是硬幣的笛卡爾座標。
注意,這個結果集合有無窮多的元素。
名稱
內容
隨機試驗
啓動柴油機
目標
判定柴油機能否正常啓動
結果集合
{ S , F } \{S,F\} { S , F }
名稱
內容
隨機試驗
擲色子
目標
色子靜止後的數字是多少
結果集合
{ 1 , 2 , 3 , 4 , 5 , 6 } \{1,2,3,4,5,6\} { 1 , 2 , 3 , 4 , 5 , 6 }
名稱
內容
隨機試驗
一次關閉閥門的嘗試
目標
判定閥門關閉©還是保持開啓(O)
結果集合
{ C , O } \{C,O\} { C , O }
此外,如果我們考慮到部分故障模式,那麼結果集合可能包含例如“閥門打開不到一半”,“閥門關閉後又自己打開了”之類的事件。
名稱
內容
隨機試驗
系統運行規定長度的時間。系統中存在兩個關鍵部件A和B,如果A和B之中任何一個有問題,系統就會發生故障。(因此A和B是單一故障)
目標
判定在時間t t t 內系統會如何出問題
結果集合
{系統沒出問題,A故障導致系統故障,B故障導致系統故障,A和B都故障了導致系統故障}
注意,我們在結果集合中沒有包含故障發生的時間,因爲我們只關心繫統在規定的時間內有沒有發生故障。
名稱
內容
隨機試驗
兩個並行系統的運行,如果兩個系統分別被指定爲A和B,我們定義F i = F_i= F i = 系統i故障的事件,O i = O_i= O i = 系統i沒有失效的事件( i = A , B ) (i=A,B) ( i = A , B ) 。
目標
判定在規定的時間區間系統是否失效
結果集合
{ ( F A , O B ) , ( O A , F B ) ( O A , O B ) ( F A , F B ) } \{(F_A,O_B),(O_A,F_B)(O_A,O_B)(F_A,F_B)\} { ( F A , O B ) , ( O A , F B ) ( O A , O B ) ( F A , F B ) }
在本例中,系統總體故障只存在事件( F A , F B ) (F_A,F_B) ( F A , F B ) 。
6.3 概率的相對頻率定義
假設一些隨機試驗,其結果集合是E 1 , E 2 , E 3 . . . E n E_1,E_2,E_3...E_n E 1 , E 2 , E 3 . . . E n 。假設我們重複N次試驗,觀察結果E 1 E_1 E 1 出現的次數。在重複N次後,E 1 E_1 E 1 出現了N 1 N_1 N 1 次,我們就可以設定該結果出現的機率爲
N 1 N \frac{N_1}{N} N N 1
這個結果表示在進行該項隨機試驗N次,結果E 1 E_1 E 1 出現的頻率。現在我們進一步探索這個問題:如果試驗重複的次數N變成無窮大(N → ∞ N\to \infty N → ∞ ),那麼這個機率是否會趨近於一個極限值?如果這個極限值存在,我們將這個極限值叫做事件E 1 E_1 E 1 相關的概率,用符號P ( E 1 ) P(E_1) P ( E 1 ) 表示。因此
P ( E 1 ) = lim N → ∞ ( N 1 N ) (VI-1) P(E_1)=\lim_{N \to \infty}(\frac{N_1}{N}) \tag{VI-1} P ( E 1 ) = N → ∞ lim ( N N 1 ) ( V I - 1 )
從這個定義中我們可以輕鬆得到如下的性質:
0 < P ( E 1 ) < 1 0<P(E_1)<1 0 < P ( E 1 ) < 1
如果P ( E 1 ) = 1 P(E_1)=1 P ( E 1 ) = 1 , E 1 E_1 E 1 一定會發生。
如果P ( E 1 ) = 0 P(E_1)=0 P ( E 1 ) = 0 ,則E 1 E_1 E 1 一定不會發生。
概率更正式的定義涉及到集合的原理,在這裏不多做敘述,公式VI-1作爲實用中使用的定義已經足夠了。
6.4 概率的數學運算
我們從一個隨機試驗中選擇A與B兩個可能出現的結果,假設A與B是互斥的。這就意味着在試驗的一次操作中A和B不會同時發生。舉個例子,我們拋硬幣只能得到“正面”或“反面”兩個結果中的一個。我們不可能在一次拋硬幣中同時獲得正面和反面。如果A和B是互斥的,我們可以列出A與B概率間的數學表達:
P ( A o r B ) = P ( A ) + P ( B ) (VI-2) P(A\ or \ B)=P(A)+P(B) \tag{VI-2} P ( A o r B ) = P ( A ) + P ( B ) ( V I - 2 )
這種關係有時被稱爲“概率的加法規則”,適用於互斥的事件。這個公式可以很容易的擴展到任意數量的互斥事件A,B,C,D,E,……
P ( A o r B o r C o r D o r E ) = P ( A ) + P ( B ) + P ( C ) + P ( D ) + P ( E ) (VI-3) P(A\ or\ B \ or \ C \ or\ D\ or \ E)=P(A)+P(B)+P(C)+P(D)+P(E) \tag{VI-3} P ( A o r B o r C o r D o r E ) = P ( A ) + P ( B ) + P ( C ) + P ( D ) + P ( E ) ( V I - 3 )
而對於那些不是完全互斥的事件,我們就需要一個更加通用的公式。例如,假設一個擲色子的隨機試驗,我們定義如下兩個事件:
很明顯這兩個事件不是完全互斥的,因爲如果結果是2,那麼A和B都符合。則現在P ( A o r B ) P(A\ or\ B) P ( A o r B ) 的通用表達爲
P ( A o r B ) = P ( A ) + P ( B ) − P ( A a n d B ) (VI-4) P(A\ or \ B)=P(A)+P(B)-P(A \ and \ B) \tag{VI-4} P ( A o r B ) = P ( A ) + P ( B ) − P ( A a n d B ) ( V I - 4 )
如果A和B是完全互斥的,那麼P ( A a n d B ) = 0 P(A \ and \ B)=0 P ( A a n d B ) = 0 ,公式VI-4就變成了公式VI-2, 讀者還應該注意到當事件並不互斥的情況下,公式VI-2總是對真實概率VI-4的一個上邊界。現在讓我們回到剛纔的拋色子問題,我們通過數學方法計算P ( A o r B ) P(A\ or\ B) P ( A o r B ) :
P ( A o r B ) = 1 / 6 + 1 / 2 − 1 / 6 = 1 / 2 P(A \ or \ B)=1/6+1/2-1/6=1/2 P ( A o r B ) = 1 / 6 + 1 / 2 − 1 / 6 = 1 / 2
公式IV-4能被擴展到任意數量的事件。舉個例子,對於A,B,C三個事件:
P ( A o r B o r C ) = P ( A ) + P ( B ) + P ( C ) − P ( A a n d B ) − P ( A a n d C ) − P ( B a n d C ) + P ( A a n d B a n d C ) (VI-5) P(A \ or \ B \ or \ C)=P(A)+P(B)+P(C)-P(A \ and \ B) - P(A \ and \ C) - P(B \ and \ C)+P(A \ and \ B \ and \ C) \tag{VI-5} P ( A o r B o r C ) = P ( A ) + P ( B ) + P ( C ) − P ( A a n d B ) − P ( A a n d C ) − P ( B a n d C ) + P ( A a n d B a n d C ) ( V I - 5 )
對於n個事件E 1 , E 2 , . . . . , E n E_1,E_2,....,E_n E 1 , E 2 , . . . . , E n ,通用的公式可以表示爲:
P ( E 1 o r E 2 o r . . . E n ) = ∑ i = 1 n P ( E i ) − ∑ i = 1 n − 1 ∑ j = i + 1 n P ( E i a n d E j ) + ∑ i = 1 n − 2 ∑ j = i + 1 n − 1 ∑ k = j + 1 n P ( E i a n d E j a n d E k ) . . . + ( − 1 ) n P ( E 1 a n d E 2 a n d . . . a n d E n ) (VI-6) \begin{aligned}
P(E_1 \ or \ E_2 \ or ...E_n)&= \sum_{i=1}^{n}P(E_i)-\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}P(E_i \ and \ E_j) + \\
&\sum_{i=1}^{n-2}\sum_{j=i+1}^{n-1}\sum_{k=j+1}^{n}P(E_i \ and \ E_j \ and \ E_k)... + \\ &(-1)^n P(E_1 \ and \ E_2 and \ ...\ and \ E_n) \tag{VI-6}\end{aligned}
P ( E 1 o r E 2 o r . . . E n ) = i = 1 ∑ n P ( E i ) − i = 1 ∑ n − 1 j = i + 1 ∑ n P ( E i a n d E j ) + i = 1 ∑ n − 2 j = i + 1 ∑ n − 1 k = j + 1 ∑ n P ( E i a n d E j a n d E k ) . . . + ( − 1 ) n P ( E 1 a n d E 2 a n d . . . a n d E n ) ( V I - 6 )
(CSDN的公式渲染引擎是Katax,不支持split公式格式,怎麼解決啊?)
如果我們忽略兩個或以上事件E i E_i E i 同時發生的可能性概率,公式VI-6可以化簡成
P ( E 1 o r E 2 o r . . . E n ) = ∑ i = 1 n P ( E i ) (VI-7) P(E_1 \ or \ E_2 \ or \ ... \ E_n) = \sum_{i=1}^{n}P(E_i) \tag{VI-7} P ( E 1 o r E 2 o r . . . E n ) = i = 1 ∑ n P ( E i ) ( V I - 7 )
公式VI-7被稱爲“稀有事件近似法則(rare event approximation)”,當P ( E i ) < 0.1 P(E_i)<0.1 P ( E i ) < 0 . 1 時,它與真實概率之間的誤差將小於10%。進一步說,任何誤差都是保守的,因爲真實概率會比公式VI-7的結果略低一些。稀有事件近似法則在故障樹的量化中具有十分重要的作用,它將在第十一章中進一步論述。
現在有兩個事件A和B,它們互相獨立。這意味着實驗中的幾次重複期間,A的發生(不發生)對於隨後B的發生沒有任何影響,反之亦然。如果一個平衡性很好的錢幣被隨機拋起,第一次出現正面並不會對第二次出現反面的概率有任何影響,都是1/2。所以連續的拋硬幣的結果是被看成是互相獨立的。同樣的,如果兩個部件並行運行,它們互相間是隔離的,其中一個的故障並不會對另外一個造成影響。在這種情況下,部件的故障就是獨立事件。如果A和B是互相獨立的兩個事件,我們可以寫成
P ( A a n d B ) = P ( A ) P ( B ) (VI-8) P(A \ and \ B)=P(A)P(B) \tag{VI-8} P ( A a n d B ) = P ( A ) P ( B ) ( V I - 8 )
這經常被稱作“概率的乘法原理”,我們也可以輕易的得到多個事件的擴展。
P ( A a n d B a n d C a n d D ) = P ( A ) P ( B ) P ( C ) P ( D ) (VI-9) P(A \ and \ B \ and \ C \ and \ D)=P(A)P(B)P(C)P(D) \tag{VI-9} P ( A a n d B a n d C a n d D ) = P ( A ) P ( B ) P ( C ) P ( D ) ( V I - 9 )
我們經常會遇到事件間並不是互相獨立的,換句話說,它們是互相依賴的。舉個例子,電路中過熱的電阻會影響邊上電感或其他電路的故障概率。星期二下雨的概率很大程度上受到星期一天氣整體情況的影響。爲了更好的探討這一概念,我們將介紹條件概率的概念,我們引入條件概率的符號:P ( B ∣ A ) P(B|A) P ( B ∣ A ) ,它表示A事件已經發生的條件下,B事件發生的概率。A和B都發生的概率會變成如下形式
P ( A a n d B ) = P ( A ) P ( B ∣ A ) = P ( B ) P ( A ∣ B ) (VI-10) P(A \ and \ B)=P(A)P(B|A) = P(B)P(A|B) \tag{VI-10} P ( A a n d B ) = P ( A ) P ( B ∣ A ) = P ( B ) P ( A ∣ B ) ( V I - 1 0 )
如果A和B是互相獨立的,那麼P ( A ∣ B ) = P ( A ) a n d P ( B ∣ A ) = P ( B ) P(A|B)=P(A) \ and P(B|A) = P(B) P ( A ∣ B ) = P ( A ) a n d P ( B ∣ A ) = P ( B ) ,公式VI-10就簡化成了公式VI-8。公式VI-10構成了事件A和B聯合發生的概率通用表示形式。
對於A、B、C三個事件,我們有
P ( A a n d B a n d C ) = P ( A ) P ( B ∣ A ) P ( C ∣ A a n d B ) (VI-11) P(A \ and \ B \ and \ C) = P(A)P(B|A)P(C|A \ and \ B) \tag{VI-11} P ( A a n d B a n d C ) = P ( A ) P ( B ∣ A ) P ( C ∣ A a n d B ) ( V I - 1 1 )
其中P ( C ∣ A a n d B ) P(C|A \ and \ B) P ( C ∣ A a n d B ) 是A和B已經發生時C發生的概率。對於n個事件E 1 , E 2 , E 3 . . . E n E_1,E_2,E_3...E_n E 1 , E 2 , E 3 . . . E n ,
P ( E 1 a n d E 2 a n d E 3 . . . E n ) = P ( E 1 ) P ( E 2 ∣ E 1 ) P ( E 3 ∣ E 1 a n d E 2 ) . . . P ( E n ∣ E 1 a n d E 2 . . . a n d E n − 1 ) (VI-12)
P(E_1 \ and \ E_2 \ and \ E_3 \ ...E_n) = P(E_1)P(E_2|E_1)P(E_3|E_1 \ and \ E_2) \\ ... P(E_n|E_1 \ and \ E_2 ... \ and E_{n-1})
\tag{VI-12}
P ( E 1 a n d E 2 a n d E 3 . . . E n ) = P ( E 1 ) P ( E 2 ∣ E 1 ) P ( E 3 ∣ E 1 a n d E 2 ) . . . P ( E n ∣ E 1 a n d E 2 . . . a n d E n − 1 ) ( V I - 1 2 )
我們舉一個非常有用的例子,考慮如下的隨機試驗:我們從52張打亂規則的牌中選擇一張。我們記下牌面(如7或者Q等等),並把它放在一邊(我們並不把它放進牌堆裏——這就是“不重複抽樣”)。然後我們從餘下的51張牌中再抽取一張並記錄牌面。現在我們計算在這兩次抽牌中,我們抽中A的概率是多少。這有三個互相獨立的概率數據
第一張抽到A然後第二張不是A
第一張不是A然後第二張抽到A
第一張和第二張都抽到了A
我們用數學進行表達,這樣看起來更加簡潔:
P ( 兩 次 抽 牌 至 少 有 一 張 A ) = P ( A ) = P ( A 1 a n d A ‾ 2 ) + P ( A ‾ 1 a n d A 2 ) + P ( A 1 a n d A 2 ) = P ( A 1 ) P ( A ‾ 2 ∣ A 1 ) + P ( A 1 ‾ ) P ( A 2 ∣ A 1 ‾ ) + P ( A 1 ) P ( A 2 ∣ A 1 )
\begin{aligned}
P(兩次抽牌至少有一張A) &= P(A) \\
&= P(A_1 \ and \ \overline{A}_2)+P(\overline{A}_1 \ and \ A_2)+P(A_1 and A_2) \\
&= P(A_1)P(\overline{A}_2|A_1)+P(\overline{A_1})P(A_2|\overline{A_1})+P(A_1)P(A_2|A_1)
\end{aligned}
P ( 兩 次 抽 牌 至 少 有 一 張 A ) = P ( A ) = P ( A 1 a n d A 2 ) + P ( A 1 a n d A 2 ) + P ( A 1 a n d A 2 ) = P ( A 1 ) P ( A 2 ∣ A 1 ) + P ( A 1 ) P ( A 2 ∣ A 1 ) + P ( A 1 ) P ( A 2 ∣ A 1 )
在這裏字母的下標指的是第幾次抽牌,A A A 用於指代“抽到A”,A ‾ \overline{A} A 用於指代“沒有抽到A”。我們能求出這個表達式的值爲
P ( A ) = ( 4 52 ) ( 48 51 ) + ( 48 52 ) ( 4 51 ) + ( 4 52 ) ( 3 51 ) = 396 52 × 51 = 33 221 = 0.149 \begin{aligned}
P(A) = (\frac{4}{52})(\frac{48}{51})+(\frac{48}{52})(\frac{4}{51})+(\frac{4}{52})(\frac{3}{51})=\frac{396}{52\times 51}=\frac{33}{221}=0.149 \end{aligned}
P ( A ) = ( 5 2 4 ) ( 5 1 4 8 ) + ( 5 2 4 8 ) ( 5 1 4 ) + ( 5 2 4 ) ( 5 1 3 ) = 5 2 × 5 1 3 9 6 = 2 2 1 3 3 = 0 . 1 4 9
現在讓我們計算得到一張A和一張K的概率:
$$P ( A a n d K ) = P ( A 1 ) P ( K 2 ∣ A 1 ) + P ( K 1 ) P ( A 2 ∣ K 1 ) = ( 4 52 ) ( 4 51 ) + ( 4 52 ) ( 4 51 ) = 0.012 \begin{aligned}
P(A \ and \ K) &=P(A_1)P(K_2|A_1)+P(K_1)P(A_2|K_1) \\
&=(\frac{4}{52})(\frac{4}{51})+(\frac{4}{52})(\frac{4}{51}) \\
&=0.012 \end{aligned}
P ( A a n d K ) = P ( A 1 ) P ( K 2 ∣ A 1 ) + P ( K 1 ) P ( A 2 ∣ K 1 ) = ( 5 2 4 ) ( 5 1 4 ) + ( 5 2 4 ) ( 5 1 4 ) = 0 . 0 1 2
我們現在指出一個很重要的觀點。如果事件“抽到一張A”和事件“抽到一張K”是互相獨立的,那麼
P ( A a n d K ) = P ( A ) P ( K ) = ( 0.149 ) 2 = 0.022 P(A \ and\ K)=P(A)P(K)=(0.149)^2 = 0.022 P ( A a n d K ) = P ( A ) P ( K ) = ( 0 . 1 4 9 ) 2 = 0 . 0 2 2
但是我們剛算出P ( A a n d K ) = 0.012 ≠ 0.022 P(A \ and \ K)=0.012 \neq 0.022 P ( A a n d K ) = 0 . 0 1 2 = 0 . 0 2 2 。這是因爲該問題涉及的兩件事並不互相獨立。在這一點上,讀者應該能夠提出一個論點,即如果抽到的第一張牌後放回排堆裏,並且在第二次抽之前洗牌,那麼所討論的事件將是獨立的。
故障樹分析中的一個重要應用就是,計算在一個互相獨立的事件集合中的一個及以上事件的發生概率。
假設一個互相獨立的事件E 1 , E 2 , E 3 , . . . E n {E_1,E_2,E_3,...E_n} E 1 , E 2 , E 3 , . . . E n ,我們定義E 1 ‾ \overline{E_1} E 1 表示E 1 E_1 E 1 的未發生事件,同樣方法表示E 2 E_2 E 2 到E n E_n E n 。因爲任何一個事件的結果都可能是發生或未發生。我們可以得到
P ( E i ‾ ) + P ( E i ) = 1 (VI-13) P(\overline{E_i})+P(E_i)=1 \tag{VI-13} P ( E i ) + P ( E i ) = 1 ( V I - 1 3 )
P ( E i ‾ ) = 1 − P ( E i ) (VI-14) P(\overline{E_i}) = 1- P(E_i) \tag{VI-14} P ( E i ) = 1 − P ( E i ) ( V I - 1 4 )
現在關於事件E i E_i E i 我們可以得到兩個概率,事件E i E_i E i 至少發生一次,或這E i E_i E i 一次也沒發生。因此
P ( E i 至 少 發 生 一 次 ) = 1 − P ( E i 一 次 都 沒 發 生 ) = 1 − P ( E 1 ‾ a n d E 2 ‾ a n d . . . E n ‾ )
P(E_i至少發生一次) =1-P(E_i一次都沒發生) \\
=1-P(\overline{E_1} \ and \overline{E_2} \ and \ ... \ \overline{E_n})
P ( E i 至 少 發 生 一 次 ) = 1 − P ( E i 一 次 都 沒 發 生 ) = 1 − P ( E 1 a n d E 2 a n d . . . E n )
我們知道E是互相獨立的,根據這一點,我們其實也能直觀的得到E ‾ \overline{E} E 也是互相獨立的。事實上,這一點也能輕易的證明。因此
P ( E 1 ‾ a n d E 2 ‾ a n d E 3 ‾ . . . E n ‾ ) = P ( E 1 ‾ ) P ( E 2 ‾ ) P ( E 3 ‾ ) . . . P ( E n ‾ ) (VI-15)
P(\overline{E_1} \ and \ \overline{E_2} \ and \overline{E_3} ... \ \overline{E_n})=P(\overline{E_1})P(\overline{E_2})P(\overline{E_3})...P(\overline{E_n}) \tag{VI-15}
P ( E 1 a n d E 2 a n d E 3 . . . E n ) = P ( E 1 ) P ( E 2 ) P ( E 3 ) . . . P ( E n ) ( V I - 1 5 )
但是從公式VI-14可以得出,它等同於
[ 1 − P ( E 1 ) ] [ 1 − P ( E 2 ) ] . . . [ 1 − P ( E n ) ] (VI-16) [1-P(E_1)][1-P(E_2)]...[1-P(E_n)] \tag{VI-16} [ 1 − P ( E 1 ) ] [ 1 − P ( E 2 ) ] . . . [ 1 − P ( E n ) ] ( V I - 1 6 )
於是最終的結果是
P ( E 1 o r E 2 o r E 3 o r . . . E n ) = 1 − { [ 1 − P ( E 1 ) ] [ 1 − P ( E 2 ) ] [ 1 − P ( E 3 ) ] . . . [ 1 − P ( E n ) ] } (VI-17) \begin{aligned}
&P(E_1 \ or \ E_2 \ or \ E_3 \ or ... \ E_n) \\ &= 1-\{[1-P(E_1)][1-P(E_2)][1-P(E_3)]...[1-P(E_n)]\} \tag{VI-17}\end{aligned}
P ( E 1 o r E 2 o r E 3 o r . . . E n ) = 1 − { [ 1 − P ( E 1 ) ] [ 1 − P ( E 2 ) ] [ 1 − P ( E 3 ) ] . . . [ 1 − P ( E n ) ] } ( V I - 1 7 )
在這個簡答的例子裏,E i E_i E i 發生的概率都等於p p p ,公式VI-17右邊部分可以化簡爲1 − ( 1 − p ) n 1-(1-p)^n 1 − ( 1 − p ) n 。
公式VI-17常用於故障樹計算。例如,一個系統如果在事件E 1 , E 2 , . . . E n E_1,E_2,...E_n E 1 , E 2 , . . . E n 發生時會故障,假設這些事件之間是互相獨立的,系統的故障概率就能從公式VI-17得出。舉例來說,事件E 1 , E 2 . . . E n E_1,E_2...E_n E 1 , E 2 . . . E n 是系統關鍵部件的故障,任何一個關鍵部件故障都會導致系統故障。如果部件故障之間是互相獨立的,公式VI-17就是適用的。在通常情況下,事件E 1 , E 2 . . . E_1,E_2... E 1 , E 2 . . . 表示系統故障(故障樹的頂層事件)可能發生的模式。如果它們是獨立的,這些模式被稱爲故障樹的最小切割集(minimal cut sets of the fault tree),例如,沒有最小切割集具有普通部件故障,然後公式VI-17適用。我們將在後續章節的適合之處繼續討論最小切割集。
在本節中,我們迴歸到了結果集合的概念,因爲我們需要將它定義的更細緻些。結果集合的元素具有一些重要的特點:
結果集合之間的元素都是互相獨立的。
結果集合是總體上詳盡的。這就意味着我們包含了實驗中所有可以想象到的結果。
結果空間的元素可以是連續的,也可以是離散的;例如,某些系統的故障時間是連續事件,當一張牌被抽出時,52張可能的牌面就是離散事件。
6.5 組合分析
組合分析可以用於評估許多種類的不同事件組合在一起的概率,比如冗餘系統的概率。作爲一個簡單的介紹,我們回顧下“組合”和“排列”的區別。假設一個集合有四個實體:{ A , B , C , D } \{A,B,C,D\} { A , B , C , D } 。我們從四個當中隨機選出三個,例如我們選擇了ABD三個元素。這三個元素可以排列爲六種不同的方式:ABD,ADB,BAD,BDA,DAB,DBA。因此,根據單一的組合ABD,我們有六種排列方式。
簡要來說,當我們談論“排列”時,我們關注次序;當我們談論“組合”時,我們並不關注次序。我們是否關注次序取決於問題的特性。對於一個指定的冗餘系統故障,我們或許只需要特定數量的部件故障,而不需要關注它們發生的次序。舉個例子,在一個“三取二邏輯系統”裏,我們需要任何“三取二”部件的故障來推測系統故障。在這個例子裏我們關注事件的組合。但是,當一個事件的特定序列確定會發生,我們通常會關注排列。例如,安全殼噴淋的失敗必然意味着安全殼噴淋再循環的失敗,因此這裏我們關心的是順序,即注射,然後再循環。
現在我們尋找一個可以計算排列或組合的數量的簡單方法。假設我們需要從數量n中抽樣數量爲r的樣本集合。這個過程可以通過兩種方式進行:(a)在放回的條件下,(b)在不放回的條件下。如果樣本被放回,我們就在記錄完所需特徵之後將元素放回總體中去。如果樣本不放回,我們將在記錄後將其放在總體之外的其他地方。讀者應該還記得,在我們的例子中曾經簡單地提到過這個概念,其中包括從一張桌子中抽出兩張卡片。
如果我們選擇將樣本放回,那麼每次抽樣的時候樣本總量有什麼變化?我們在第一次時有n種選擇,第二次有n種選擇,數量一直到我們抽完r次都不變。因此,在樣本放回的規則下,我們有n r n^r n r 種可能的抽樣。注意,在樣本放回的策略下,複製抽樣中的物體是可行的。
如果我們抽樣不放回,我們第一個物體有n種選擇,第二個物體有n-1個選額,第三個物體有n-2種選擇,第r個物體有(n-r+1)種選擇。因此,在抽樣不放回的策略下,從總量爲n裏進行數量r的不同抽樣的數量是
( n ) ( n − 1 ) ( n − 2 ) . . . ( n − r + 1 ) ≡ ( n ) r (VI-18) (n)(n-1)(n-2)...(n-r+1)\equiv (n)_r \tag{VI-18} ( n ) ( n − 1 ) ( n − 2 ) . . . ( n − r + 1 ) ≡ ( n ) r ( V I - 1 8 )
在公式VI-18中,用到一個特殊的標記( n ) r (n)_r ( n ) r (中國國內一般用P n r P_n^r P n r 表示)。這個符號可以用更熟悉的方式寫成:
( n ) r = ( n ) ( n − 1 ) ( n − 2 ) . . . ( n − r + 1 ) ( n − r ) ( n − r − 1 ) . . . 3 × 2 × 1 ( n − r ) ( n − r − 1 ) . . . 3 × 2 × 1 = n ! ( n − r ) ! (VI-19) \begin{aligned}(n)_r &= \frac{(n)(n-1)(n-2)...(n-r+1)(n-r)(n-r-1)...3\times 2\times 1}{(n-r)(n-r-1)...3\times 2\times 1}\\& = \frac{n!}{(n-r)!} \tag{VI-19}\end{aligned} ( n ) r = ( n − r ) ( n − r − 1 ) . . . 3 × 2 × 1 ( n ) ( n − 1 ) ( n − 2 ) . . . ( n − r + 1 ) ( n − r ) ( n − r − 1 ) . . . 3 × 2 × 1 = ( n − r ) ! n ! ( V I - 1 9 )
這裏用到的階乘的定義。
公式VI-19構成了我們探索的一種基本關係。它能算出從n個物體中一次拿出r個的排列的數量。當r = n r=n r = n ,我們得到( n ) n = n ! 0 ! = n ! (n)_n=\frac{n!}{0!}=n! ( n ) n = 0 ! n ! = n ! 因爲0 ! ≡ 1 0!\equiv 1 0 ! ≡ 1 。因此在它們中重新排列n個物體的所有方式的總數是n ! n! n ! 。
如果我們對組合而不是排列有興趣,那麼我們就不需要的“r ! 種 方 式 r!種方式 r ! 種 方 式 ”,它表示抽樣中的r個物體可以自己重新排列。因此從n個物體中一次選擇r個的組合數量爲
n ! ( n − r ) ! r ! ≡ ( n r ) (VI-20)
\frac{n!}{(n-r)!r!}
\equiv
\begin{pmatrix}
n \\ r \\
\end{pmatrix}
\tag{VI-20}
( n − r ) ! r ! n ! ≡ ( n r ) ( V I - 2 0 )
這裏( n r ) \begin{pmatrix} n\\r\\ \end{pmatrix} ( n r ) 代表該量(中國常用C n r C_n^r C n r )。如果我們從集合A , B , C , D {A,B,C,D} A , B , C , D 中隨機選擇三個元素,我們有4 ! 3 ! = 4 \frac{4!}{3!}=4 3 ! 4 ! = 4 個可能的組合,它們是ABC,ABD,ACD和BCD。它們每一個都有6種排列,所以它們應該有24種排列,這和
n ! ( n − r ) ! = 24
\frac{n!}{(n-r)!}=24 ( n − r ) ! n ! = 2 4
也是一致的。
假設有一個總體裏有n個物體,其中裏邊分成三種,每種的數量分別是p , q , r p,q,r p , q , r ,且( p + q + r ) = n (p+q+r)=n ( p + q + r ) = n 。例如,我們需要從三個供應商那裏採購電阻,從供應商A那裏採購了p個,供應商B那裏採購了q個,供應商C那裏採購了r個。因爲品牌關係,我們能輕易的區分電阻是哪個供應商生產的,但是同一個供應商生產的電阻我們無法區分。因此,在n ! n! n ! 種可能的排列中,有一些排列我們是無法區分它們的不同的。供應商A的電阻自身的重新排列是無法區分的,供應商B和供應商C也面臨同樣的情況。因此,不同排列的總數爲
n ! p ! q ! r ! (VI-21)
\frac{n!}{p!q!r!}
\tag{VI-21}
p ! q ! r ! n ! ( V I - 2 1 )
總的來說,對於n n n 個物體的集合,其中有k k k 種完全一樣的物品,數量分別是n 1 n_1 n 1 ,n 2 , n 3 , . . . n k n_2,n_3,...n_k n 2 , n 3 , . . . n k ,且( n 1 + n 2 + n 3 + . . . + n k = n ) (n_1+n_2+n_3+...+n_k=n) ( n 1 + n 2 + n 3 + . . . + n k = n ) ,則可區分的排列的數量爲
n ! n 1 ! n 2 ! n 3 ! . . . n k ! (VI-22)
\frac{n!}{n_1!n_2!n_3!...n_k!} \tag{VI-22}
n 1 ! n 2 ! n 3 ! . . . n k ! n ! ( V I - 2 2 )
我們用個例子來說明這個公式如何解決實際問題。我們來算一下在傳統五張撲克中獲得一個FULL HOUSE(對子和一個三張)的概率是多少。
拿到一手牌(該例子中的一手牌爲五張撲克)的所有可能組合,是簡單的“52選5”的問題。
( 52 5 ) = 52 ! 47 ! 5 ! = N P H
\begin{pmatrix} 52 \\ 5 \\ \end{pmatrix} = \frac{52!}{47!5!}=N_{PH}
( 5 2 5 ) = 4 7 ! 5 ! 5 2 ! = N P H
這裏,PH是“poker hands”的縮寫,表示一手牌。如果我們能找出一手牌的中FULL HOUSE的數量,那麼N F H N P H \frac{N_{FH}}{N_{PH}} N P H N F H 的比率就是得到FULL HOUSE的概率。首先我們要確定N F H N_{FH} N F H 的數量。我們把它記作XXXYY,其中X和Y是13個牌面(2,3,4,5,…J,Q,K,A)中的兩種。那麼X和Y到底有多少種選擇?很明顯,我們若先選X有13種選擇,那麼之後Y就有12種選擇,於是13 × 12 13\times 12 1 3 × 1 2 就表示X和Y的所有選擇數量。現在對於XXX我們有四種花色可以選擇,這個數量是C 4 1 = 4 C_4^1=4 C 4 1 = 4 (原諒我選擇這樣的寫法吧,用Latex寫矩陣麻煩死了)。類似的,一個對子YY也是同樣的方式C 4 2 = 6 C_4^2=6 C 4 2 = 6 。最終結果N F H = 13 × 12 × 4 × 6 N_FH=13\times12\times4\times6 N F H = 1 3 × 1 2 × 4 × 6 ,則
P ( F u l l H o u s e ) = N F H N P H = 13 × 12 × 4 × 6 C 52 5 = 6 4168 ≈ 1 700
P(Full \ House)=\frac{N_{FH}}{N_{PH}}=\frac{13\times 12\times 4\times 6}{C_{52}^5}=\frac{6}{4168} \approx \frac{1}{700}
P ( F u l l H o u s e ) = N P H N F H = C 5 2 5 1 3 × 1 2 × 4 × 6 = 4 1 6 8 6 ≈ 7 0 0 1
舉個和可靠性分析更相關的例子,假設一個系統包含n個相似的部件,系統會在其中m個部件故障後失效。比如系統有三個傳感器,其中兩個或以上傳感器故障,系統就發生故障(3選2邏輯)。系統故障的形式的數量爲C m n C_m^n C m n ,也就是n個物品中一次拿走m個的組合的數量。如果其中任何一個部件的失效概率都是p p p ,那麼任何一個組合導致系統故障的概率是
p m ( 1 − p ) n − m p^m(1-p)^{n-m} p m ( 1 − p ) n − m
因此,從m個部件中引發系統故障的概率是
C m n × p m ( 1 − p ) n − m C_m^n\times p^m(1-p)^{n-m} C m n × p m ( 1 − p ) n − m
除了m個部件失效外,系統失效還會發生在m+1個部件失效,或者更多部件失效,直到所有n個部件失效。k個部件導致系統失效的形式數量可以表示爲C n k C_n^k C n k ,其中k = m + 1 , m + 2 , . . . , k k=m+1,m+2,...,k k = m + 1 , m + 2 , . . . , k 。k個失效的組合的概率是
p k ( 1 − p ) n − k k = m + 1 , m + 2 , . . . n p^k(1-p)^{n-k} \ \ \ \ \ \ \ k=m+1,m+2,...n p k ( 1 − p ) n − k k = m + 1 , m + 2 , . . . n
因此,k個部件失效引發的系統失效的概率是
C n k × p k ( 1 − p ) n − k k = m + 1 , m + 2 , . . . n C_n^k \times p^k(1-p)^{n-k} \ \ \ \ \ \ \ k=m+1,m+2,...n C n k × p k ( 1 − p ) n − k k = m + 1 , m + 2 , . . . n
爲了獲得總的系統失效概率,我們把m個部件失效概率,m+1個部件失效概率等都加起來,於是總的系統失效概率是
C n m P m ( 1 − p ) n − m + C n m + 1 p m + 1 ( 1 − p ) n − m − 1 + . . . + C n n P n ( 1 − p ) 0
C_n^mP^m(1-p)^{n-m}+C_n^{m+1}p^{m+1}(1-p)^{n-m-1}+...+C_n^nP^n(1-p)^0
C n m P m ( 1 − p ) n − m + C n m + 1 p m + 1 ( 1 − p ) n − m − 1 + . . . + C n n P n ( 1 − p ) 0
它也能寫成
∑ k = m n C n k p k ( 1 − p ) n − k \sum_{k=m}^nC_n^kp^k(1-p)^{n-k} k = m ∑ n C n k p k ( 1 − p ) n − k
這個概率是個二項分佈的例子,這一知識點我們將在後邊詳細介紹。
6.6 集合的理論:事件的數學處理應用
如前一節所示,組合分析允許我們確定與感興趣的事件相關的組合的數量。集合理論是一種更一般的方法,它允許我們“組織”實驗的結果事件來確定適當的概率。從最一般的意義上說,集合是一組物品的集合,這些物品具有一些可識別的共同特徵,因此它們可以從不同物種的其他事物中區分出來。例如:質數、繼電器、緊急停堆系統、貝塞爾方程的解等。我們對集合論的應用涉及到相當大的特殊化。我們感興趣的是隨機實驗的結果事件,我們對集合論基本概念的發展將侷限於事件概念。
我們可以把事件看作是元素的集合。例如,考慮與擲骰子相關的下列可能事件:
A-結果是2
B-結果是偶數
C-結果小於4
D-某個數字出現了
E-結果能被7整除
每個事件都可以被看成是一個集合,這些集合的元素取材於試驗的基本結果集合1 , 2 , 3 , 4 , 5 , 6 {1,2,3,4,5,6} 1 , 2 , 3 , 4 , 5 , 6 。
我們可以得到:
A={2}
B={2,4,6}
C={1,2,3}
D = {1,2,3,4,5,6}
E = ϕ \phi ϕ (空集)
其中,“{}”用來表示集合,括號裏邊內容表示集合中的元素。
事件A表示有一個元素(數字2)的集合,B和C表示有3個元素的集合。事件D含有實驗所有的元素,因此它與試驗的結果集合相一致。任何這樣包含試驗所有結果的集合,被認爲是全局集合(universal set),一般用符號 Ω \Omega Ω 或者I I I 表示(一些不正式的場合也有用數字1表示的)。E是一個不可能發生的事件,它的集合裏沒有任何元素,所以我們把它叫做空集,用拉丁字母ϕ \phi ϕ 表示。
回到我們的擲色子例子,我們說元素“1”屬於C和D,但是不屬於A或B。這個情況用符號可以表示爲:
1 ∈ C , 1 ∈ D , 1 ∉ A , 1 ∉ B 1\in C,\ 1 \in D, \ 1\notin A , \ 1 \notin B 1 ∈ C , 1 ∈ D , 1 ∈ / A , 1 ∈ / B
其中符號∈ \in ∈ 表示“屬於”,符號∉ \notin ∈ / 表示“不屬於”。
我們還需要說明的是D集合中包含A,B,C三個集合的所有元素,這種情況我們稱之爲A,B,C是D集合的子集,寫作A ∈ D A \in D A ∈ D ,B ∈ D B \in D B ∈ D ,C ∈ D C \in D C ∈ D 。還需要注意到A是B和C的子集。如果X和Y是兩個集合,X是Y的子集,同時Y也是X的子集,這種情況下X和Y是相等的。(或者說,它們是同樣的集合)
另一個例子,考慮一個柴油機的失效時間以及如下的集合:
A = { t = 0 } A = \{t = 0\} A = { t = 0 }
B = { t i , 0 < t ≤ 1 } B = \{t_i,0<t\leq 1\} B = { t i , 0 < t ≤ 1 }
C = { t i , t > 1 } C = \{t_i,t>1\} C = { t i , t > 1 }
啓動故障(無法啓動)柴油機可以用A表示。B表示故障時間大於0小時小於1小時。C表示故障時間大於1個小時。如果發生故障,每個集合(事件)都可以和不同的事件相聯繫。(例如外部電源失效)
一個簡單的圖形過程可以將集合的概念用圖形化的方式簡單的呈現,這就是維恩圖。全局集合用某種幾何圖形表示(一般是矩形),其他任何相關子集(事件)畫在其內部。圖VI-1表示擲色子的例子的維恩圖。
集合(事件)上的操作可以在維恩圖的幫助下定義。並集(union)的操作如圖VI-2所示:
[
集合X,Y的並集是包含在X,Y兩個集合的所有元素的集合,寫作X ⋃ Y X\bigcup Y X ⋃ Y ,在圖VI-2中用陰影部分表示。返回擲色子的例子,集合B和C的並集是
B ⋃ C = { 1 , 2 , 3 , 4 , 5 , 6 } B\bigcup C=\{1,2,3,4,5,6\} B ⋃ C = { 1 , 2 , 3 , 4 , 5 , 6 }
注意,我們可以用“或”來表示符號“⋃ \bigcup ⋃ ”。
交集的操作如圖VI-3。交集是含有X,Y兩個集合所共有的元素的集合,被寫作“X ⋂ Y X\bigcap Y X ⋂ Y ”,在圖VI-3中用陰影來表示。在擲色子的例子中,B ⋂ C = { 2 } = A B\bigcap C=\{2\}=A B ⋂ C = { 2 } = A 。注意我們一般用“和”來表示符號“⋂ \bigcap ⋂ ”。
補集的操作如圖VI-4。X的補集是指一個集合含有所有不在X內的元素,被寫作X ‾ \overline X X (或者X ′ X' X ′ ),在圖VI-4中用陰影表示。在擲色子的例子中,B ⋃ C B\bigcup C B ⋃ C 的補集是( B ⋃ C ) ′ = B ⋃ C ‾ = { 5 } (B\bigcup C)'=\overline{B\bigcup C}=\{5\} ( B ⋃ C ) ′ = B ⋃ C = { 5 } 。
有時還會定義另一個操作(未命名的),但它與我們已經給出的操作無關。操作如圖VI-5。如果我們從集合Y中移除X和Y共有的元素,就會得到如圖VI-5所示的陰影區域。這個過程偶爾會被寫成(Y-X),但是讀者可以很容易地看到
Y − X = Y ⋂ X ′ Y-X=Y\bigcap X' Y − X = Y ⋂ X ′
因此標記( Y − X ) (Y-X) ( Y − X ) 的定義並不是必要的,後續研究也不會被用到。
假如有這樣的一個系統,當系統中有兩個或以上的部件故障,系統就會發生故障。那麼事件相應的系統故障可以表示爲:
S 1 ‾ = A B C ‾ S 2 ‾ = A ‾ B C ‾ S 3 ‾ = A B ‾ C S 4 ‾ = A B C ‾
\begin{aligned}
\overline{S_1}=A\overline{BC} \\
\overline{S_2}=\overline{A}B\overline{C} \\
\overline{S_3}=\overline{AB}C \\
\overline{S_4}=\overline{ABC} \\
\end{aligned}
S 1 = A B C S 2 = A B C S 3 = A B C S 4 = A B C
系統故障的事件S,可以用子集表示:S ‾ = S 1 ‾ ⋃ S 2 ‾ ⋃ S 3 ‾ ⋃ S 4 ‾ = { A B C ‾ , A ‾ B C ‾ , A B ‾ C , A B C ‾ } \overline{S}=\overline{S_1}\bigcup \overline{S_2} \bigcup \overline{S_3} \bigcup \overline{S_4} = \{A\overline{BC},\overline{A} B \overline{C},\overline{AB}C,\overline{ABC}\} S = S 1 ⋃ S 2 ⋃ S 3 ⋃ S 4 = { A B C , A B C , A B C , A B C } 。我們以枚舉的方式列舉了系統可能失敗的所有方式。該信息可以在很多場景中得到應用。例如,知道部件的故障概率,我們就能計算系統的故障概率。同樣的方式,我們可以取全集的任何基本元素(簡單事件)的交集和並集來生成其他事件,這些事件可以表示爲由特定元素組成的集合。
這個枚舉結果事件的方法有時會在系統分析的歸納法中得到應用(通過列舉組件操作或非操作的所有可能組合,並確定每種可能性對系統行爲的影響。)。這是這種叫“矩陣方法”的性質。如果我們的系統相對簡單,或者部件(子系統)相對明確,這些歸納法就是有效的。在全局集合中的組合數量就會相對較小。我們也能利用歸納法推斷哪種組合具有最嚴重的後果和影響。然後,通過故障樹分析可以更全面地分析後一事件。
利用我們學過的集合的概念,我們能將概率公式轉換成集合公式的形式。例如:
P ( A o r B ) = P ( A ) + P ( B ) − P ( A a n d B ) → P ( A ⋃ B ) = P ( A ) + P ( B ) − P ( A ⋂ B ) (VI-23) \begin{aligned}&P(A \ or \ B)=P(A)+P(B)-P(A \ and \ B) \ \\ \to \ &P(A \bigcup B) = P(A)+P(B)-P(A\bigcap B) \end{aligned}\tag{VI-23} → P ( A o r B ) = P ( A ) + P ( B ) − P ( A a n d B ) P ( A ⋃ B ) = P ( A ) + P ( B ) − P ( A ⋂ B ) ( V I - 2 3 )
P ( A a n d B ) = P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A ) → P ( A ⋂ B ) = P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A ) (VI-24)
\begin{aligned}
&P(A \ and\ B)=P(A|B)P(B)=P(B|A)P(A) \\
\to &P(A \bigcap B)=P(A|B)P(B)=P(B|A)P(A) \\
\end{aligned}
\tag{VI-24}
→ P ( A a n d B ) = P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A ) P ( A ⋂ B ) = P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A ) ( V I - 2 4 )
我們介紹了一個新的數學方法——集合(或者說是事件的集合)。基於已定義的並、交、補運算的代數稱爲布爾代數。通過使用並、交和補的基本運算,布爾代數允許我們用其他基本事件來表示事件。在我們的故障樹應用中,通過將故障樹轉換爲等價的布爾方程,可以將系統故障表示爲基本組件故障。我們可以對這些方程進行處理,從而得到導致系統失效的組件失效的組合(最小切割集),然後根據構件失效的概率計算系統失效的概率。我們將在後面幾節中進一步討論這些主題。
6.7 符號學
布爾代數是關於事件的代數方法,它們利用各類符號處理事件操作。不幸的是,集合的符號理論並不統一,數學,邏輯和工程領域所用的符號都不一樣,具體如下表所示:
操作
概率
數學
邏輯
工程
並集
A o r B A\ or \ B A o r B
A ⋃ B A\bigcup B A ⋃ B
A ⋁ B A \bigvee B A ⋁ B
A + B A+B A + B
交集
A a n d B A\ and \ B A a n d B
A ⋂ B A \bigcap B A ⋂ B
A ⋀ B A\bigwedge B A ⋀ B
A B AB A B or A ⋅ B A\cdot B A ⋅ B
補集
$not \ A $
A ′ A' A ′ 或A ‾ \overline{A} A
− A -A − A
A ′ A' A ′ 或A ‾ \overline{A} A
數學中的符號和邏輯中的符號比較接近。邏輯的符號相對老一些;實際上符號“V”是拉丁文“vel”的縮寫,表示“或”。不幸的是工程領域並沒有沿用這些方式,而是採用加號代表並集,並採用乘號代表交集。該方式導致了加號和乘號的濫用。我們可以舉這樣一個例子,當加號代表⋃ \bigcup ⋃ 時,會引起理解的混亂。
P ( A ⋃ B ) = P ( A ) + P ( B ) − P ( A ⋂ B )
P(A\bigcup B)=P(A)+P(B)-P(A\bigcap B) P ( A ⋃ B ) = P ( A ) + P ( B ) − P ( A ⋂ B )
如果我們用加號來取代等式左邊的⋂ \bigcap ⋂ ,我們有一個方程,“+”帶入後左邊是一個東西,右邊是一個完全不同的東西。
儘管在符號學中存在這些困難和令人困惑的因素,工程符號學現在在工程文獻中相當普遍,任何迴歸數學或邏輯符號的期望似乎都是徒勞的。在故障樹分析中,工程表示法得到了廣泛的應用。我將在本書後面用到它。如果讀者不熟悉事件代數方法,我們還是強烈建議適當的使用這些方法直到完全熟悉。這將提醒我們,不要將集合代數運算與普通代數的運算混淆,在普通代數中,操縱的是數字而不是事件。
6.8 附加的集合概念
我們將進一步講述集合的其他概念,講述簡單事件和複合事件的區別。這將是一些要遵循的錯誤樹概念的有用基礎,並將導致對“概率”的更嚴格定義。
再次考慮擲一個色子。事件A = { 2 } A=\{2\} A = { 2 } 是一個簡單事件;事實上,它構成了結果集合的一個元素。與之相反,事件B = { 2 , 4 , 6 } B=\{2,4,6\} B = { 2 , 4 , 6 } 和C = { 1 , 2 , 3 } C=\{1,2,3\} C = { 1 , 2 , 3 } 是複合事件。它們不能組成結果集合的元素,即使它們是由結果集合的元素構成的。B和C有一個共有元素;因此,它們的交集不爲空(它們不是“不相交”的子集,或者用概率論的語言來說,它們也不是互斥的)。根據定義,結果集合的所有元素都是互斥的,因此,所有元素都是互不關聯的。
複合事件(如B和C)通常是現實世界中最重要的事件,由於它們不包括在結果集合中,因此有必要定義一個包含它們的數學實體。這樣的數學實體被叫做類(c l a s s ‾ \underline{class} c l a s s ,用帶下劃線的字符表示)。類是一個集合,其元素本身就是集合,而這些元素是通過枚舉原始結果集合中所有成員的可能組合而生成的。
舉一個例子,考慮一個四元素的結果集合S = { 1 , 3 , 5 , 7 } S=\{1,3,5,7\} S = { 1 , 3 , 5 , 7 } 。如果我們列舉四元素所有可能的組合,我們將生成由原始集合S S S 定義的類$\underline{S} $,如下所示:
S ‾ = { 1 } , { 3 } , { 5 } , { 7 } , { 1 , 3 } , { 1 , 5 } { 1 , 7 } , { 3 , 5 } , { 3 , 7 } , { 5 , 7 } , { 1 , 3 , 5 } { 1 , 5 , 7 } , { 1 , 3 , 7 } , { 3 , 5 , 7 } , { 1 , 3 , 5 , 7 } , { ϕ }
\begin{aligned}
\underline{S} =& \{1\},\{3\},\{5\},\{7\},\{1,3\},\{1,5\} \\
&\{1,7\},\{3,5\},\{3,7\},\{5,7\},\{1,3,5\} \\
&\{1,5,7\},\{1,3,7\},\{3,5,7\},\{1,3,5,7\},\{\phi\}
\end{aligned}
S = { 1 } , { 3 } , { 5 } , { 7 } , { 1 , 3 } , { 1 , 5 } { 1 , 7 } , { 3 , 5 } , { 3 , 7 } , { 5 , 7 } , { 1 , 3 , 5 } { 1 , 5 , 7 } , { 1 , 3 , 7 } , { 3 , 5 , 7 } , { 1 , 3 , 5 , 7 } , { ϕ }
注意,空集ϕ \phi ϕ 被認爲是類的一個元素來提供對“不可能事件”的數學表達。如果我們來計算類S ‾ \underline{S} S 的元素個數,我們會發現是16個,它是2的4次方,這裏4是原始集合S的元素個數。總的來說,如果原始集合有n個元素,那麼對應的類應該有2 n 2^n 2 n 個元素。
類概念的用途很簡單,類將包含作爲元素的每一個可以想到的實驗結果(包括簡單的和複合的)。因此,在擲色子的實驗中,S S S 有6個元素,而S ‾ \underline{S} S 有2 6 = 64 2^6=64 2 6 = 6 4 個元素,其中兩個是B = { 2 , 4 , 6 } B=\{2,4,6\} B = { 2 , 4 , 6 } 和C = { 1 , 2 , 3 } C=\{1,2,3\} C = { 1 , 2 , 3 } 。如果扔兩個色子,S S S 將包含36個元素,而S ‾ \underline{S} S 將有2 36 2^{36} 2 3 6 個元素,在這個龐大的子集中,我們找到了和等於7的複合事件,可表示爲:
E = { ( 1 , 6 ) , ( 2 , 5 ) , ( 3 , 4 ) , ( 4 , 3 ) ( 5 , 2 ) ( 6 , 1 ) } E=\{(1,6),(2,5),(3,4),(4,3)(5,2)(6,1)\} E = { ( 1 , 6 ) , ( 2 , 5 ) , ( 3 , 4 ) , ( 4 , 3 ) ( 5 , 2 ) ( 6 , 1 ) }
重新考慮三個部件A、B、C構成的系統,系統會因兩個或以上部件的故障而產生故障。在這個例子中,一個全局集合包含8個元素,而這八個元素構成了所有系統故障的模式和操作。該集合的類含有256個元素,其中就有如下的事件:
“一個正確的操作”:{ A B C , A B C ‾ , A B ‾ C , A B C ‾ } \{ABC,AB\overline{C},A\overline{B}C,A\overline{BC}\} { A B C , A B C , A B C , A B C }
“B和C同時故障”:{ A B C ‾ , A B C ‾ } \{A\overline{BC},\overline{ABC}\} { A B C , A B C }
“五個部件故障”:ϕ \phi ϕ
“系統故障”:{ A B C ‾ , A ‾ B C ‾ , A B ‾ C , A B C ‾ } \{A\overline{BC},\overline{A}B\overline{C},\overline{AB}C,\overline{ABC}\} { A B C , A B C , A B C , A B C }
讀者應該還記得類中的元素都是集合。因此,事件ABC是原始全局集合中的一個元素,但是{ A , B , C } \{A,B,C\} { A , B , C } 是是一個含有一個元素ABC的集合,它是一個從全局集合生成的類所包含的一個元素。利用類的概念可以讓我們相對輕易的利用正規的辦法來處理複合事件,因爲類中會包含所有可能的複合事件。
或許類中最有用的特性是提供給我們一個建立概率函數的適合的數學定義的基礎。概率函數的集合理論定義如圖VI-6所示:
在圖VI-6中,標記S的方塊代表某隨機試驗的結果集合。例如,它能表示兩個色子實驗的總共36中可能的結果。標記着S ‾ \underline{S} S 的圓表示從集合S通過枚舉所有可能的元素組合生成的類。在兩個色子的例子中,類S ‾ \underline{S} S 擁有一個巨大的(1 0 1 0 10^10 1 0 1 0 個)元素數量。這些元素表示所有在實驗中能想象到的結果(簡單的和複合的)。事件E = " 總 數 是 7 " E="總數是7" E = " 總 數 是 7 " 是S ‾ \underline{S} S 的一個成員。它們用圖形的方式表示在圖VI-6中。一個0-1的座標系在邊上繪出。一個函數能通過映射E在座標系中的位置來定義。這個函數就是概率函數P ( E ) P(E) P ( E ) 。
映射的概念可能不熟悉。出於我們的目的,映射可以簡單地看作是一種功能關係。例如,y = x 2 y=x^2 y = x 2 映射所有x到一個拋物線。y = x y=x y = x 映射所有x到一個與y軸45度夾角的直線。在這些例子中,一個範圍的數字映射到另一個範圍的數字,我們敘述的都是點函數。函數P ( E ) P(E) P ( E ) 相對更加複雜一些;它映射一個集合到一段數字,我們在這裏講的是集合函數而不再是點函數。然而,簡單地說,概率函數只是爲每個事件分配一個唯一的數字,即概率。
有兩件事需要注意,一是概率現在已經被定義了,但是沒有使用比率的極限。第二,這個定義沒有告訴我們如何計算概率;相反,它描述了概率函數的數學性質。如果E E E 代表“和爲7”的事件,我們已經瞭解怎麼樣去計算他的概率,它假設結果集合中的所有36個結果都是等可能的:
P ( E ) = 6 36 = 1 6 P(E)=\frac{6}{36}=\frac{1}{6} P ( E ) = 3 6 6 = 6 1
當然,這是一個特殊的簡單的例子。其他情況我們或許不得不調查問題的物理性質,從而開展事件概率的研究。
6.9 貝葉斯定理
貝葉斯公式在概率中扮演非常重要的角色,對於我們有着很重要的意義,因爲它描述了一種故障樹特性分析的思考方法。我們首先利用集合的方法研究這個公式,然後討論結果的含義。
圖VI-7描述了全局集合Ω \Omega Ω 到子集合A 1 , A 2 , A 3 , A 4 , A 5 A_1,A_2,A_3,A_4,A_5 A 1 , A 2 , A 3 , A 4 , A 5 的分區方式。
這些集合有如下的性質:
A 1 ⋃ A 2 ⋃ A 3 ⋃ A 4 ⋃ A 5 = ⋃ i = 1 i = 5 A i = Ω (VI-25)
A_1\bigcup A_2 \bigcup A_3 \bigcup A_4 \bigcup A_5 = \bigcup_{i=1}^{i=5}A_i=\Omega \tag{VI-25}
A 1 ⋃ A 2 ⋃ A 3 ⋃ A 4 ⋃ A 5 = i = 1 ⋃ i = 5 A i = Ω ( V I - 2 5 )
A i ⋂ A j = ϕ f o r i ≠ j A_i\bigcap A_j=\phi \ for \ i\neq j A i ⋂ A j = ϕ f o r i = j
A的任何具備公式VI-25的性質的A的集合都被稱爲全集的一個劃分。另外在圖VI-7中還有一個子集合B。讀者能發現(通過韋恩圖中進行適當的陰影描繪):
( B ⋂ A 1 ) ⋃ ( B ⋂ A 2 ) ⋃ ( B ⋂ A 3 ) ⋃ ( B ⋂ A 4 ) ⋃ ( B ⋂ A 5 ) = B (B\bigcap A_1)\bigcup(B\bigcap A_2)\bigcup(B\bigcap A_3)\bigcup(B\bigcap A_4)\bigcup(B\bigcap A_5)=B ( B ⋂ A 1 ) ⋃ ( B ⋂ A 2 ) ⋃ ( B ⋂ A 3 ) ⋃ ( B ⋂ A 4 ) ⋃ ( B ⋂ A 5 ) = B
(實際上,B ⋂ A 1 = ϕ B\bigcap A_1=\phi B ⋂ A 1 = ϕ 但是 ϕ ⋃ X = X \phi \bigcup X=X ϕ ⋃ X = X ,其中X是任何集合)。B的表達式可以寫成更加簡明的數學形式:
B = ⋃ i = 1 i = 5 B ⋂ A i (VI-26) B=\bigcup_{i=1}^{i=5}B\bigcap A_i \tag{VI-26} B = i = 1 ⋃ i = 5 B ⋂ A i ( V I - 2 6 )
其中,大的並集符號表示連續的並集操作,和∑ \sum ∑ 一樣。同樣的,大的交集符號表示連續的交集運算。
現在考慮一個交集的概率方程。
P ( A ⋂ B ) = P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A ) P(A\bigcap B)=P(A |B)P(B)=P(B|A)P(A) P ( A ⋂ B ) = P ( A ∣ B ) P ( B ) = P ( B ∣ A ) P ( A )
這對任意事件A,B都適用。特別是對於圖VI-7中的任何A都是正確的。因此,我們能得到
P ( A k ⋂ B ) = P ( A k ∣ B ) P ( B ) = P ( B ∣ A k ) P ( A k ) (VI-27) P(A_k\bigcap B)=P(A_k|B)P(B)=P(B|A_k)P(A_k) \tag{VI-27} P ( A k ⋂ B ) = P ( A k ∣ B ) P ( B ) = P ( B ∣ A k ) P ( A k ) ( V I - 2 7 )
或者
P ( A k ∣ B ) = P ( A k ⋂ B ) P ( B ) = P ( B ∣ A k ) P ( A k ) P ( B ) (VI-28) P(A_k|B)=\frac{P(A_k\bigcap B)}{P(B)}=\frac{P(B|A_k)P(A_k)}{P(B)} \tag{VI-28} P ( A k ∣ B ) = P ( B ) P ( A k ⋂ B ) = P ( B ) P ( B ∣ A k ) P ( A k ) ( V I - 2 8 )
我們現在能用公式VI-26通過另一種方式來描述P ( B ) P(B) P ( B ) 。
P ( B ) = P { ⋃ i = 1 i = 5 B ⋂ A i } = ∑ i = 1 i = 5 P ( B ⋂ A i ) = ∑ i = 1 i = 5 P ( B ∣ A i ) P ( A i )
\begin{aligned}
P(B)&=P\{\bigcup_{i=1}^{i=5}B\bigcap{A_i}\} \\
&=\sum_{i=1}^{i=5}P(B\bigcap A_i) \\
&= \sum_{i=1}^{i=5}P(B|
A_i)P(A_i)
\end{aligned}
P ( B ) = P { i = 1 ⋃ i = 5 B ⋂ A i } = i = 1 ∑ i = 5 P ( B ⋂ A i ) = i = 1 ∑ i = 5 P ( B ∣ A i ) P ( A i )
在這裏我們可以這樣做,因爲事件B ∩ A i B\cap A_i B ∩ A i 是互斥的。如果我們把這個式子代表P ( B ) P(B) P ( B ) 帶入VI-28,我們就能得到
P ( A k ∣ B ) = P ( B ∣ A k ) P ( A k ) ∑ i P ( B ∣ A i ) P ( A i ) (VI-29) P(A_k|B)=\frac{P(B|A_k)P(A_k)}{\sum_i P(B|A_i)P(A_i)} \tag{VI-29} P ( A k ∣ B ) = ∑ i P ( B ∣ A i ) P ( A i ) P ( B ∣ A k ) P ( A k ) ( V I - 2 9 )
這是貝葉斯原理。這個公式對任意數量的事件A i A_i A i 都有效。這些事件是完整的和互斥的(如公式VI-25)。求和從i = 1延伸到i = n而不是i = 1到i = 5。
我們現在來討論公式VI-29的含義。假設某事件B被觀察,我們能得到一個完整的互斥的事件B的引發原因的列表。這些原因正好是A的。但是注意A通過VI-25得到的限制條件。現在來看B,我們或許會對尋找由A k A_k A k 導致B發生的概率感興趣。這就是利用公式VI-29可以計算的,如果我們可以計算右手邊的所有項。
貝葉斯方法是一種演繹的方法:給定一個系統事件,它的一個導致因素的概率是多少?這與歸納方法形成對比:給定某些特定的故障,整個系統將如何運行?現在用一個簡單的例子來說明貝葉斯公式的用法,這個例子特別容易列舉出A的。
假設我們有三個標着I、II、III的裝運紙箱。紙箱的大小,形狀和一般外觀都是一樣的,它們包含不同數量的電阻,從公司X, Y, Z,如圖VI-8所示。
隨機實驗如下:首先,隨機選擇一個紙箱。然後從選擇的盒子中選擇兩個電阻。當檢查它們時,發現這兩個項目都來自z公司。後一個事件在我們對貝葉斯規則的一般發展中與事件B相一致。B的“原因”很容易識別:要麼是紙箱I被選中,要麼是紙箱II被選中,要麼是紙箱III被選中。因此,
$A_1 = $ 選擇紙箱1
$ A_2 = $ 選擇紙箱2
$ A_3 = $選擇紙箱3
現在我們能夠計算出給定事件B,最初選擇是紙箱1的概率。
P ( A 1 ∣ B ) = P ( B ∣ A 1 ) P ( A 1 ) P ( B ∣ A 1 ) P ( A 1 ) + P ( B ∣ A 2 ) + P ( B ∣ A 3 ) P ( A 3 ) P(A_1|B)=\frac{P(B|A_1)P(A_1)}{P(B|A_1)P(A_1)+P(B|A_2)+P(B|A_3)P(A_3)} P ( A 1 ∣ B ) = P ( B ∣ A 1 ) P ( A 1 ) + P ( B ∣ A 2 ) + P ( B ∣ A 3 ) P ( A 3 ) P ( B ∣ A 1 ) P ( A 1 )
對於以下集合,該公式看起來很自然
P ( A 1 ) = P ( A 2 ) = P ( A 3 ) = 1 3 P(A_1)=P(A_2)=P(A_3)=\frac{1}{3} P ( A 1 ) = P ( A 2 ) = P ( A 3 ) = 3 1
因爲盒子都很相似,且當時是隨機選擇的。我們現在需要計算P ( B ∣ A 1 ) , P ( B ∣ A 2 ) 和 P ( B ∣ A 3 ) P(B|A_1),P(B|A_2)和P(B|A_3) P ( B ∣ A 1 ) , P ( B ∣ A 2 ) 和 P ( B ∣ A 3 ) 。這很容易從公式VI-8計算得到
P ( B ∣ A 1 ) = 2 9 × 1 8 = 1 36 P ( B ∣ A 2 ) = 3 6 × 2 5 = 1 5 P ( B ∣ A 3 ) = 4 9 × 3 8 = 1 6
\begin{aligned}
P(B|A_1)&=\frac{2}{9}\times\frac{1}{8}=\frac{1}{36} \\
P(B|A_2)&=\frac{3}{6}\times\frac{2}{5}=\frac{1}{5} \\
P(B|A_3)&=\frac{4}{9}\times\frac{3}{8}=\frac{1}{6} \\
\end{aligned}
P ( B ∣ A 1 ) P ( B ∣ A 2 ) P ( B ∣ A 3 ) = 9 2 × 8 1 = 3 6 1 = 6 3 × 5 2 = 5 1 = 9 4 × 8 3 = 6 1
將這些參數帶入到貝葉斯公式,我們得到
P ( A 1 ∣ B ) = 1 36 × 1 3 1 36 × 1 3 + 1 5 × 1 3 + 1 6 × 1 3 = 5 71
P(A_1|B)=\frac{\frac{1}{36}\times\frac{1}{3}}{\frac{1}{36}\times\frac{1}{3}+\frac{1}{5}\times\frac{1}{3}+\frac{1}{6}\times\frac{1}{3}}=\frac{5}{71}
P ( A 1 ∣ B ) = 3 6 1 × 3 1 + 5 1 × 3 1 + 6 1 × 3 1 3 6 1 × 3 1 = 7 1 5
類似的方法,我們能計算出
P ( A 2 ∣ B ) = 36 71 P ( A 3 ∣ B ) = 30 71
\begin{aligned}
P(A_2|B)&=\frac{36}{71} \\
P(A_3|B)&=\frac{30}{71} \\
\end{aligned}
P ( A 2 ∣ B ) P ( A 3 ∣ B ) = 7 1 3 6 = 7 1 3 0
因此,如果事件B確實被觀察到,那麼最初選擇紙箱II的概率大約是50%。
作爲另一個例子,請再次參考由三個組件組成的簡單系統。我們已經確定,系統可以在四種模式中的任何一種中發生故障,即S 1 ‾ \overline{S_1} S 1 、S 2 ‾ \overline{S_2} S 2 、S 3 ‾ \overline{S_3} S 3 、S 4 ‾ \overline{S_4} S 4 。如果系統失敗,我們希望知道其失敗模式爲S 3 ‾ \overline{S_3} S 3 的概率,我們可以計算:
P ( S 3 ‾ ∣ S ‾ ) = P ( S ‾ ∣ S 3 ‾ ) P ( S 3 ‾ ) P ( S ‾ ∣ S 1 ‾ ) P ( S 1 ‾ ) + P ( S ‾ ∣ S 2 ‾ ) + P ( S ‾ ∣ S 3 ‾ ) P ( S 3 ‾ ) + P ( S ‾ ∣ S 4 ‾ ) P ( S 4 ‾ ) P(\overline{S_3}|\overline{S}) = \frac{P(\overline{S}|\overline{S_3})P(\overline{S_3})}{P(\overline{S}|\overline{S_1})P(\overline{S_1})+P(\overline{S}|\overline{S_2})+P(\overline{S}|\overline{S_3})P(\overline{S_3})+P(\overline{S}|\overline{S_4})P(\overline{S_4})}
P ( S 3 ∣ S ) = P ( S ∣ S 1 ) P ( S 1 ) + P ( S ∣ S 2 ) + P ( S ∣ S 3 ) P ( S 3 ) + P ( S ∣ S 4 ) P ( S 4 ) P ( S ∣ S 3 ) P ( S 3 )
這可以用更簡單的形式來寫,因爲如果S 1 ‾ \overline{S_1} S 1 、S 2 ‾ \overline{S_2} S 2 、S 3 ‾ \overline{S_3} S 3 、S 4 ‾ \overline{S_4} S 4 其中任何一個事件發生,系統肯定會失敗。
P ( S 3 ‾ ∣ S ‾ ) = P ( S 3 ‾ ) P ( S 1 ‾ ) + P ( ( ‾ S 2 ) ) + P ( S 3 ‾ ) + P ( S 4 ‾ )
P(\overline{S_3}|\overline{S})=\frac{P(\overline{S_3})}{P(\overline{S_1})+P(\overline(S_2))+P(\overline{S_3})+P(\overline{S_4})}
P ( S 3 ∣ S ) = P ( S 1 ) + P ( ( S 2 ) ) + P ( S 3 ) + P ( S 4 ) P ( S 3 )
推算P ( S i ‾ ) P(\overline{S_i}) P ( S i ) 可以從可靠性數據估計。P ( S i ‾ ∣ o v e r l i n e S ) P(\overline{S_i}|overline{S}) P ( S i ∣ o v e r l i n e S ) 有時叫做系統故障原因S i ‾ \overline{S_i} S i 的“權重(importance)”。貝葉斯原理有時會用於尋找最佳修復方案,並探求系統故障的最可能的原因。(例如P ( S i ‾ ∣ S ‾ ) P(\overline{S_i}|\overline{S}) P ( S i ∣ S ) )
第七章 故障樹分析中的布爾代數與應用
7.1 布爾代數的規則
在以前的章節裏,我們介紹了集合所應用的基本理論,特別是和事件有關的(隨機試驗的結果)。在這一章,我們準備進一步介紹事件的代數,稱爲布爾代數,是一種專門用於故障樹分析的技術。布爾代數在涉及到二分法的情況下特別重要:開關是打開還是關閉,閥門是打開還是閉合,事件是發生還是不發生。
本章討論的布爾技術對於故障樹具有直接的實際意義。可以將故障樹視爲導致頂部事件發生的故障事件之間的布爾關係的圖形表示。事實上,一個故障樹總是可以被轉換成一個完全等價的布爾方程集。因此,對布爾代數規則的理解對故障樹的構造和簡化具有重要的意義。一旦繪製了故障樹,就可以對其進行評估,從而得到定性和定量的特徵。這些特徵不能從故障樹本身獲得,但可以從等價的布爾方程獲得。在這個評估過程中,我們使用了本章討論的代數約簡技術。
我們在表VII-1中給出了布爾代數的規則,並對每個規則進行了簡短的討論。讀者應藉助維恩圖來檢查每個規則的有效性。那些讀者數學傾向於將檢測規則,如上所述,不構成一組最少的必要且充分的。這裏和其他地方,作者有時會犧牲數學優雅的呈現事物的形式更有用的和可以理解的實際系統分析師。
根據(1a)和(1b),並集和交集的操作是可以互換的。用另一種說法,這個互換的規則允許我們交換事件X和Y和“與”操作有關。需要記住的是很多數學實體是不能互換的,例如向量的叉乘和矩陣的叉乘。
(2a)和(2b)的關係和組合率很相似:a ( b c ) = ( a b ) c a(bc)=(ab)c a ( b c ) = ( a b ) c 、a + ( b + c ) = ( a + b ) + c a+(b+c)=(a+b)+c a + ( b + c ) = ( a + b ) + c 。如果我們由一系列的“或”操作或者一系列的“與”操作,相關的規則允許我們來足又組合這些事件。
當我們想要組合一個“與”操作和“或”操作時分配律(3a)和(3b)提供了有效可控的程序。如果我們從左到右看這個公式,我們只是將左邊的表達式簡化爲一個未分解的形式。例如,在(3a)中,我們用X作用於Y和Z來得到右邊的表達式。如果方程從右向左,我們只是因式分解。例如,在(3b)中,我們提出X來得到左邊。雖然(3a)類似於普通代數中的分配律,(3b)卻沒有這樣的類比。
冪等律(4a)和(4b)允許我們“取消”同一事件的任何冗餘。
吸收率(5a)和(5b)可以很容易的通過維恩圖得到驗證。對於5a,我們能通過下面的方法說明。當X的出現自動意味着Y的出現時,則x是Y的子集。我們可以表示爲X ⊂ Y X\subset Y X ⊂ Y 或者X → Y X\to Y X → Y 。在這種情況下,X + Y = Y X+Y=Y X + Y = Y ,並且X ⋅ Y = X X\cdot Y=X X ⋅ Y = X 。在5a中,如果X發生,然後(X+Y)也發生,且X ⊂ ( X + Y ) X\subset(X+Y) X ⊂ ( X + Y ) ;所以X ⋅ ( X + Y ) = X X\cdot (X+Y)=X X ⋅ ( X + Y ) = X 。至於5b,我們能引發一個簡單的論點。
德摩根定理{?a)和(7b)提供了去除括號中質數的一般規則。假如說X表示某部件的故障,則X ′ X' X ′ 就表示某部件的異常不發生。就此而言,(7a)簡單地聲明,對於不發生X和Y的雙重失敗,X一定不能失敗或者Y一定不能失敗。
應用這個規則,讓我們嘗試化簡這個表達式:
( A + B ) ⋅ ( A + C ) ⋅ ( D + B ) ⋅ ( D + C ) (A+B)\cdot(A+C)\cdot(D+B)\cdot(D+C) ( A + B ) ⋅ ( A + C ) ⋅ ( D + B ) ⋅ ( D + C )
我們能利用3b到( A + B ) ⋅ ( A + C ) (A+B)\cdot(A+C) ( A + B ) ⋅ ( A + C ) ,獲得
( A + B ) ⋅ ( A + C ) = A + ( B C ) (A+B)\cdot(A+C)=A+(BC) ( A + B ) ⋅ ( A + C ) = A + ( B C )
同樣
( D + B ) ⋅ ( D + C ) = D + ( B ⋅ C ) (D+B)\cdot(D+C)=D+(B\cdot C) ( D + B ) ⋅ ( D + C ) = D + ( B ⋅ C )
我們因此獲得了一箇中間結果
( A + B ) ⋅ ( A + C ) ⋅ ( D + B ) ⋅ ( D + C ) = ( A + B ⋅ C ) ⋅ ( D + B ⋅ C ) (A+B)\cdot(A+C)\cdot(D+B)\cdot(D+C)=(A+B\cdot C)\cdot(D+B\cdot C) ( A + B ) ⋅ ( A + C ) ⋅ ( D + B ) ⋅ ( D + C ) = ( A + B ⋅ C ) ⋅ ( D + B ⋅ C )
如果我們現在用E代表事件$B\cdot C,得到
( A + B C ) ⋅ ( D + B C ) = ( A + E ) ⋅ ( D + E ) = ( E + A ) ⋅ ( E + D ) (A+BC)\cdot(D+BC)=(A+E)\cdot(D+E)=(E+A)\cdot(E+D) ( A + B C ) ⋅ ( D + B C ) = ( A + E ) ⋅ ( D + E ) = ( E + A ) ⋅ ( E + D )
3b還能得到另一個方程
( E + A ) ⋅ ( E + D ) = E + A ⋅ D = B ⋅ C + A ⋅ D (E+A)\cdot(E+D)=E+A\cdot D=B\cdot C+A\cdot D ( E + A ) ⋅ ( E + D ) = E + A ⋅ D = B ⋅ C + A ⋅ D
我們因此獲得最終結果如下
( A + B ) ⋅ ( A + C ) ⋅ ( D + B ) ⋅ ( D + C ) = B ⋅ C + A ⋅ D (A+B)\cdot(A+C)\cdot(D+B)\cdot(D+C)=B\cdot C+A\cdot D ( A + B ) ⋅ ( A + C ) ⋅ ( D + B ) ⋅ ( D + C ) = B ⋅ C + A ⋅ D
爲了方便求值,對原始表達式進行了大量簡化。
還有一些簡化布爾函數的一般規則,我們將在本章後面討論。目前,我們關心的是通過或多或少不繫統地操作代數可以完成什麼。下面舉幾個例子。讀者應仔細閱讀這些插圖,並在每一步確定使用了1-9條規則。
例1:
[ ( A ⋅ B ) + ( A ⋅ B ′ ) + ( A ′ ⋅ B ′ ) ] ′ = A ′ ⋅ B [(A\cdot B)+(A\cdot B')+(A' \cdot B')]'=A'\cdot B [ ( A ⋅ B ) + ( A ⋅ B ′ ) + ( A ′ ⋅ B ′ ) ] ′ = A ′ ⋅ B
這個表達式能在這個例子可以通過(a)作爲第一步刪除最外層的質數,或者(b)操作大括號內的項並作爲最後一步刪除最外層的質數來實現。在這兩種情況下,去除素數都是使用(7a)或(7b)來完成的。
例2:
例3:
[ ( X ⋅ Y ) + ( A ⋅ B ⋅ C ) ] ⋅ [ ( X ⋅ Y ) + ( A ′ + B ′ + C ′ ) ] = X ⋅ Y [(X\cdot Y)+(A\cdot B\cdot C)]\cdot[(X\cdot Y)+(A'+B'+C')]=X\cdot Y [ ( X ⋅ Y ) + ( A ⋅ B ⋅ C ) ] ⋅ [ ( X ⋅ Y ) + ( A ′ + B ′ + C ′ ) ] = X ⋅ Y
將德摩根定理應用到第二項中,我們得到
[ ( X ⋅ Y ) + ( A ⋅ B ⋅ C ) ] ⋅ [ ( X ⋅ Y ) + ( A ⋅ B ⋅ C ) ′ ] [(X\cdot Y)+(A\cdot B\cdot C)]\cdot[(X\cdot Y)+(A\cdot B\cdot C)'] [ ( X ⋅ Y ) + ( A ⋅ B ⋅ C ) ] ⋅ [ ( X ⋅ Y ) + ( A ⋅ B ⋅ C ) ′ ]
令L = X ⋅ Y , M = ( A ⋅ B ⋅ C ) L=X\cdot Y,M=(A\cdot B\cdot C) L = X ⋅ Y , M = ( A ⋅ B ⋅ C ) ,我們得到
( L + M ) ⋅ ( L + M ′ ) = L ⋅ ( M + M ′ ) = L + Ω = L = X ⋅ Y (L+M)\cdot(L+M')=L\cdot(M+M')=L+\Omega=L=X\cdot Y ( L + M ) ⋅ ( L + M ′ ) = L ⋅ ( M + M ′ ) = L + Ω = L = X ⋅ Y
證明了原命題。注意在這個例子中,A B C是完全多餘的。
7.2 故障樹分析應用
在本節中,我們將把布爾方法與故障樹聯繫起來。正如我們現在所知道的,故障樹是一個邏輯圖,它描述了爲了使其他事件發生而必鬚髮生的某些事件。如果事件是由其他事件引發的,則稱爲“故障”;如果事件是基本的引發事件,則稱爲“故障”。故障樹將事件(故障與故障或故障與故障)相互關聯,並使用某些符號來描述各種關係(參見第四章)。這個基礎的符號是“門”,每個門都有輸入和輸出,如圖VII-1所示。
門輸出是正在考慮的“較高”故障事件,而門輸入是與輸出相關的更基本(“較低”)故障(或故障)事件。當我們繪製一個故障樹時,我們從“更高的”故障發展到更基本的故障(例如從輸出到輸入)。
在第五章,該技術被用於決定哪類門最適用。兩類基礎門是或門和與門。因爲這些門與我們剛纔討論的布爾運算以完全相同的方式關聯事件,布爾代數表示與故障樹表示之間存在一一對應關係。
7.2.1 或門
這個符號是或門,它表示將連接這個門的事件進行並集操作。任何一個或多個輸入事件必鬚髮生,以導致門以上的事件發生。或門等同於邏輯符號“+”。例如,一個有兩個輸入的或門,輸入分別是A和B,兩個輸入必鬚髮生才能導致Q發生。因爲等效於操作“+”,所以或門有時後可以表示爲圖VII-2那樣的裏邊有個“+”號的圖形。如果一個或門有n個輸入,那麼布爾表達式爲Q = A 1 + A 2 + A 3 . . . + A n Q=A_1+A_2+A_3...+A_n Q = A 1 + A 2 + A 3 . . . + A n 。在概率方面,從公式VI-4:
P ( Q ) = P ( A ) + P ( B ) − P ( A ⋂ B ) 或 者 P ( Q ) = P ( A ) + P ( B ) − P ( A ) P ( B ∣ A ) (VII-1) P(Q)=P(A)+P(B)-P(A\bigcap B)\ 或者\ P(Q)=P(A)+P(B)-P(A)P(B|A) \tag{VII-1} P ( Q ) = P ( A ) + P ( B ) − P ( A ⋂ B ) 或 者 P ( Q ) = P ( A ) + P ( B ) − P ( A ) P ( B ∣ A ) ( V I I - 1 )
從第VI章中,我們能得到如下關於公式VII-1的結論:
如果A和B互斥,那麼P ( A ∩ B ) = 0 P(A\cap B)=0 P ( A ∩ B ) = 0 且P ( Q ) = P ( A ) + P ( B ) P(Q)=P(A)+P(B) P ( Q ) = P ( A ) + P ( B ) 。
如果A和B相互獨立,那麼P ( B ∣ A ) = P ( B ) P(B|A)=P(B) P ( B ∣ A ) = P ( B ) ,且P ( Q ) = P ( A ) + P ( B ) − P ( A ) P ( B ) P(Q)=P(A)+P(B)-P(A)P(B) P ( Q ) = P ( A ) + P ( B ) − P ( A ) P ( B )
如果事件B是完全依賴於事件A,也就是說,不論A什麼時候發生,B也會發生,那麼P ( B ∣ A ) = 1 P(B|A)=1 P ( B ∣ A ) = 1 ,並且P ( Q ) = P ( A ) + P ( B ) − P ( A ) = P ( B ) P(Q)=P(A)+P(B)-P(A)=P(B) P ( Q ) = P ( A ) + P ( B ) − P ( A ) = P ( B ) 。
P ( Q ) ≈ P ( A ) + P ( B ) P(Q) \approx P(A)+P(B) P ( Q ) ≈ P ( A ) + P ( B ) 是在任何情況下輸出事件Q的概率的保守估計。例如對於任何A和B,存在:P ( A ) + P ( B ) ≥ P ( A ) + P ( B ) − P ( A ∩ B ) P(A)+P(B) \geq P(A)+P(B)-P(A \cap B) P ( A ) + P ( B ) ≥ P ( A ) + P ( B ) − P ( A ∩ B )
如果A和B是相互獨立,且發生概率很低的事件(概率小於0.1),且P ( A ∩ B ) P(A\cap B) P ( A ∩ B ) 相比P ( A ) + P ( B ) P(A)+P(B) P ( A ) + P ( B ) 較小,於是P ( A ) + P ( B ) P(A)+P(B) P ( A ) + P ( B ) 就近似等於P ( Q ) P(Q) P ( Q ) ,讀者將記得P ( A ) + P ( B ) P(A)+P(B) P ( A ) + P ( B ) 在第六章作爲“稀有事件近似”介紹過。
這些結論,特別是最後兩條,在後續的第十一章非常重要。
在第四章,我們大體上介紹了異或門。讀者可能記得兩個輸入A和B,一個輸出Q的異或門,事件A或B不同時發生的內容。異或門事件Q的概率表示是:
P ( Q ) 異 或 = P ( A ) + P ( B ) − 2 P ( A ∩ B ) (VII-2) P(Q)_{異或}=P(A)+P(B)-2P(A\cap B) \tag{VII-2} P ( Q ) 異 或 = P ( A ) + P ( B ) − 2 P ( A ∩ B ) ( V I I - 2 )
比較公式VII-1和VII-2,我們看到如果A和B是獨立的低概率故障,這兩個表達式的不同點基本是微不足道的。這也就是爲什麼在故障樹分析時,如果部件故障是獨立的,且低概率發生的,同或和異或門的區別並不大的原因。然而,在確實需要專用或邏輯的特殊情況下,以及在輸入事件與高故障概率之間有很強相關性的情況下,有時進行區分是有用的。在後一個例子中,交集項必須足夠大到對結果造成影響。總之,應該注意的是,在任何情況下,使用同或而不是異或門所產生的錯誤都會使答案偏向保守一方,因爲同或門具有更高的概率。在本文的其餘部分,除非另有說明,對或門的所有引用都應被解釋爲各種同或門。
圖VII-3顯示了一個用於一組常閉觸點的故障條件的與門的實際示例。
該或門等同於如下的邏輯表達:
繼 電 器 接 觸 點 無 法 斷 開 = 繼 電 器 線 圈 無 法 斷 開 + 接 觸 點 關 閉 失 敗 繼電器接觸點無法斷開=繼電器線圈無法斷開+接觸點關閉失敗 繼 電 器 接 觸 點 無 法 斷 開 = 繼 電 器 線 圈 無 法 斷 開 + 接 觸 點 關 閉 失 敗
相比明確的描述事件,一個獨特的標記(Q,A等)常被用於表示各個事件(如圖VII-2)。因此,如果用Q標記事件“繼電器接觸點無法斷開”,用A標記“繼電器線圈無法斷開”,用B標記“接觸點關閉失敗”,我們能用布爾表達式Q = A + B Q=A+B Q = A + B 來表示這個或門。
一個或門依據基本的輸入事件對門上的事件的重述表達。門上的事件包含了所有這些更基本的事件;如果一個或多個基本的事件發生,則B也發生。這個解釋是十分重要的,它描述了一個或門的特徵,以及將它和與門區分開來。一個或門的輸入事件並不是門上邊事件的起因;他們門上事件的簡單的重述。我們前邊已經說過這一點了,但是我們覺得這一點在故障樹分析中太重要了,它貫穿了布爾代數的始終,所以我們在這裏再次強調它。
考慮串聯的兩個開關,如圖VII-4。A和B是導線上的兩個點。如果忽略導線的故障,那麼“B點沒有電流”這個事件用故障樹表達如圖VII-5所示:
如果事件如下圖所示,那麼其布爾表達爲B = A 1 + A 2 + A 3 B=A_1+A_2+A_3 B = A 1 + A 2 + A 3 。
如果事件A 1 或 A 2 或 A 3 A_1或A_2或A_3 A 1 或 A 2 或 A 3 發生,則事件B發生。事件B僅僅是A 1 , A 2 , A 3 A_1,A_2,A_3 A 1 , A 2 , A 3 的重新表達。我們將特定的事件A 1 , A 2 , A 3 A_1, A_2, A_3 A 1 , A 2 , A 3 歸類爲一般事件B。
7.2.2 與門
這個符號是與門,與門表示關聯事件的並集。它等同於布爾符號“⋅ \cdot ⋅ ”。爲了門上層事件的發生,所有和與門相關的事件必須是存在的。。兩個事件連接與門,等效的布爾代數表達爲Q = A ⋅ B Q=A\cdot B Q = A ⋅ B ,如圖VII-6.因爲布爾交集操作的等效表達是符號⋅ \cdot ⋅ ,所以這個符號有時候會在門的符號裏繪出,如圖VII-6那樣。如n個事件連接與門,等效的布爾表達爲
Q = A 1 ⋅ A 2 ⋅ A 3 . . . A n Q=A_1 \cdot A_2 \cdot A_3 ... A_n Q = A 1 ⋅ A 2 ⋅ A 3 . . . A n
在這個例子,事件Q當且僅當所有事件A i A_i A i 發生時才發生。以概率表示,由式(VI-10)
P ( Q ) = P ( A ) P ( B ∣ A ) = P ( B ) P ( A ∣ B ) P(Q)=P(A)P(B|A)=P(B)P(A|B) P ( Q ) = P ( A ) P ( B ∣ A ) = P ( B ) P ( A ∣ B )
依據我們在第VI章講過的,我們能對方程VII-3做出一些推論:
如果A和B是獨立的事件,那麼P ( B ∣ A ) = P ( B ) , P ( A ∣ B ) = P ( A ) , P ( Q ) = P ( A ) P ( B ) P(B|A)=P(B),P(A|B)=P(A),P(Q)=P(A)P(B) P ( B ∣ A ) = P ( B ) , P ( A ∣ B ) = P ( A ) , P ( Q ) = P ( A ) P ( B ) 。
如果A和B不是互相獨立的,那麼P(Q)比P(A)P(B)明顯大的多。舉個例子,在一個極端的情況下,B完全依賴於A,也就是說,當A發生,B也發生,那麼$P(B|A)=1, \ P(Q)=P(A)。
讀者應該記下這些推論,我們會在後邊關於故障樹量化的章節裏用到它們。
連接到與門的事件是與門上方事件的原因。事件Q只因每個輸入事件都發生纔會發生。這個因果關係是與門和或門的不同點。如果當任何一個輸入事件發生,輸出事件就發生,那麼這個門就是或門,該輸出事件只是輸入事件的重述。如果門以上的事件僅在更多基本事件的組合發生時發生,則門爲與門,輸入爲構成門上事件的原因。
我們用一個例子來總結這一節的內容,這個例子表明瞭如何利用布爾代數來重新構建一個故障樹。考慮方程D = A ⋅ ( B + C ) D=A \cdot (B+C) D = A ⋅ ( B + C ) 。對應的故障樹構建如圖VII-7。
根據規則3a,事件D能表達爲D = ( A ⋅ B ) + ( A ⋅ C ) D=(A \cdot B)+(A \cdot C) D = ( A ⋅ B ) + ( A ⋅ C ) 。故障樹關於事件D的等效表達如圖VII-8所示:
圖VII-7和圖VII-8的故障樹看起來不同,但是,它們是等效的。因此,對於一個問題,不存在一個“正確”的故障樹嗎,而是有很多正確的故障樹,它們之間是相互等效的。布爾代數的規則可以用於重構一個故障樹,使其變的更簡單,更清晰,更容易理解。稍後,我們將應用布爾代數規則來獲得故障樹的一種形式,稱爲最小切割集形式,它允許以直接的方式執行定量和定性評估。
7.3 用標準形式表示布爾方程的香農方法
在上幾節的內容裏,我們討論瞭如何利用本章給出的代數規則的方法來表示布爾方程。在本節裏,我們將應用香農方法來擴展布爾方程。這是一種通用的方法,可以用於任何布爾函數。依據香農方法,一個n變量的布爾函數可以擴展爲1,2,……或所有n個變量。當擴展完成(所有n個變量),其結果是指“擴展到最小項”。後者構成了一種標準或規範的形式,由所有相關事件的發生和不發生的組合構成。
開始之前我們先回顧一些基礎知識。一個布爾變量是一個兩個值的變量。例如,如果E表示某件我們感興趣的事件,那麼E=1表示該事件已經發生,而E=0表示該事件沒有發生。因此,布爾代數中的定理比普通代數中的定理更容易證明,因爲在普通代數中,變量可以取無窮大的值。
考慮一個函數f ( X 1 , X 2 . . . X n ) f(X_1,X_2...X_n) f ( X 1 , X 2 . . . X n ) ,該函數有n個布爾變量X 1 , X 2 , X 3 . . . X n X_1,X_2,X_3...X_n X 1 , X 2 , X 3 . . . X n 。
這個布爾函數有兩個結果:1表示發生,0表示不發生。這個函數可以用如下的方式擴展其中一個參數(X 1 X_1 X 1 )。
f ( X 1 , X 2 , X 3 . . . X n ) = [ X 1 ⋅ f ( 1 , X 2 , X 3 . . . X n ) ] + [ X 1 ′ ⋅ f ( 0 , X 2 , . . . X n ) ] (VII-4)
\begin{aligned}
f(X_1,X_2,X_3...X_n)&=[X_1 \cdot f(1,X_2,X_3...X_n)] \\
&+[X_1' \cdot f(0,X_2,...X_n)]
\end{aligned}
\tag{VII-4}
f ( X 1 , X 2 , X 3 . . . X n ) = [ X 1 ⋅ f ( 1 , X 2 , X 3 . . . X n ) ] + [ X 1 ′ ⋅ f ( 0 , X 2 , . . . X n ) ] ( V I I - 4 )
在公式VII-4裏,因爲我們處理事件,我們必須記得(⋅ \cdot ⋅ )和(+)表示交集和並集操作。標識f ( 1 , X 2 , X 3 . . . X n ) f(1,X_2,X_3...X_n) f ( 1 , X 2 , X 3 . . . X n ) 指示1用於指代X 1 X_1 X 1 。我們能利用布爾代數的規則化簡f ( 1 , X 2 , X 3 . . . X n ) f(1,X_2,X_3...X_n) f ( 1 , X 2 , X 3 . . . X n ) 。例如,如果f ( X 1 , X 2 ) = X 1 ⋅ X 2 f(X_1,X_2)=X_1 \cdot X_2 f ( X 1 , X 2 ) = X 1 ⋅ X 2 ,那麼f ( 1 , X 2 ) = 1 ⋅ X 2 = X 2 f(1,X_2)=1 \cdot X_2=X_2 f ( 1 , X 2 ) = 1 ⋅ X 2 = X 2 。讀者可以很輕易的發現公式VII-4是正確的,途徑是考慮兩個可能性,X 1 = 1 和 X 1 = 0 X_1=1 和 X_1=0 X 1 = 1 和 X 1 = 0 ,即發生或者不發生。
公式VII-4可以擴展到2,3,4,甚至所有參數的布爾函數的展開。例如,公式VII-4關於變量X 1 , X 2 X_1,X_2 X 1 , X 2 的展開是
f ( X 1 , X 2 , X 3 . . . X n ) = [ X 1 ⋅ X 2 ⋅ f ( 1 , 1 , X 3 , X 4 . . . X n ) ] + X 1 ⋅ X 2 ′ ⋅ f ( 1 , 0 , X 3 . . . X n ) + X 1 ′ ⋅ X 2 ⋅ f ( 0 , 1 , X 3 , . . . X n ) + X 1 ′ ⋅ X 2 ′ ⋅ f ( 0 , 0 , X − 3... X n ) (VII-5)
\begin{aligned}
f(X_1,X_2,X_3...X_n) &=[X_1 \cdot X_2 \cdot f(1,1,X_3,X_4...X_n)] \\
&+X_1 \cdot X'_2 \cdot f(1,0,X_3...X_n) \\&+ X'_1 \cdot X_2 \cdot f(0,1,X_3,...X_n) \\
&+X'_1 \cdot X'_2 \cdot f(0,0,X-3...X_n)
\end{aligned}
\tag{VII-5}
f ( X 1 , X 2 , X 3 . . . X n ) = [ X 1 ⋅ X 2 ⋅ f ( 1 , 1 , X 3 , X 4 . . . X n ) ] + X 1 ⋅ X 2 ′ ⋅ f ( 1 , 0 , X 3 . . . X n ) + X 1 ′ ⋅ X 2 ⋅ f ( 0 , 1 , X 3 , . . . X n ) + X 1 ′ ⋅ X 2 ′ ⋅ f ( 0 , 0 , X − 3 . . . X n ) ( V I I - 5 )
讀者應該注意,公式VII-5可以通過簡單的展開f ( 1 , X 2 , . . . X n ) f(1,X_2,...X_n) f ( 1 , X 2 , . . . X n ) 和f ( 0 , X 2 . . . X n ) f(0,X_2...X_n) f ( 0 , X 2 . . . X n ) 關於X_2以方程VII-4的形式獲得。當對所有變量X 1 , X 2 . . . X n X_1,X_2...X_n X 1 , X 2 . . . X n 執行表達式時,位於函數之外的布爾表達式被稱作最小項(minterms) ,它包含了發生的X和未發生的X的組合。完整的展開項會有2 n 2^n 2 n 個最小項,這些最小項包含所有可能發生和不發生的X變量的組合。每個最小項表達式都會將在相應於X的出現和不出現的相應1和0處評估的函數f作爲“係數”。
在最小項表達式之外,相對應的最大項擴展也能用於任何布爾函數。最大項擴展能通過將最小項中的⋅ \cdot ⋅ 變成+ + + ,將0變成1,等方式相對容易的獲得。因此從公式VII-4,一個變量的最大項擴展是
f ( X 1 , X 2 , . . . X n ) = [ X 1 + f ( 0 , X 1 . . . X n ) ] ⋅ [ X 1 ′ + f ( 1 , X x . . . X n ) ] (VII-6) f(X_1,X_2,...X_n)=[X_1+f(0,X_1...X_n)]\cdot[X_1'+f(1,X_x...X_n)] \tag{VII-6} f ( X 1 , X 2 , . . . X n ) = [ X 1 + f ( 0 , X 1 . . . X n ) ] ⋅ [ X 1 ′ + f ( 1 , X x . . . X n ) ] ( V I I - 6 )
爲了更高階的擴展,我們獲取了類似的形式。不是像最小項展開中那樣獲得組合(交集)的和(聯合),而是獲得最大項展開中和(聯合)的組合(交集)。
在最小項(或者是最大項)的擴展中,每一個組合項與其他項互斥。因此在公式VII-5中,四個項是
X 1 ⋅ X 2 ⋅ f ( 1 , 1 , X 3 , . . . X n ) X 1 ⋅ X 2 ′ ⋅ f ( 1 , 0 , X 3 . . . X n ) X 1 ′ ⋅ X 2 ⋅ f ( 0 , 1 , X 3 . . . X n ) X 1 ′ ⋅ X 2 ′ ⋅ f ( 0 , 0 , X 3 , . . . X n )
\begin{aligned}
& X_1\cdot X_2\cdot f(1,1,X_3,...X_n) \\
& X_1\cdot X_2'\cdot f(1,0,X_3...X_n) \\
& X'_1\cdot X_2 \cdot f(0,1,X_3...X_n) \\
& X'_1 \cdot X'_2\cdot f(0,0,X_3,...X_n)
\end{aligned}
X 1 ⋅ X 2 ⋅ f ( 1 , 1 , X 3 , . . . X n ) X 1 ⋅ X 2 ′ ⋅ f ( 1 , 0 , X 3 . . . X n ) X 1 ′ ⋅ X 2 ⋅ f ( 0 , 1 , X 3 . . . X n ) X 1 ′ ⋅ X 2 ′ ⋅ f ( 0 , 0 , X 3 , . . . X n )
這四個項互相互斥。這個特徵對於任何階的展開都是正確的,每當香農展開被應用,該性質可以用於古樟樹的量化分析。另一個用最小項或最大項表示布爾方程的原因是這些表達式對於給定的函數都是唯一的。對於一個展開式,可以提供一個通用的技術來判斷兩個布爾表達式是否相等,因爲如果他們相等,那麼他們應該有同一個最小項(最大項)形式。
香農展開用於闡述兩個三變量的函數:
(a) f ( X , Y , Z ) = ( X ⋅ Y ) + ( X ′ ⋅ Z ) + ( Y ⋅ Z ) f(X,Y,Z)=(X\cdot Y)+(X'\cdot Z)+(Y\cdot Z) f ( X , Y , Z ) = ( X ⋅ Y ) + ( X ′ ⋅ Z ) + ( Y ⋅ Z )
(b) f ( X , Y , Z ) = ( X ⋅ Y ) + ( X ′ ⋅ Z ) f(X,Y,Z)=(X\cdot Y)+(X'\cdot Z) f ( X , Y , Z ) = ( X ⋅ Y ) + ( X ′ ⋅ Z )
讀者能發現,在幾個代數運算步驟下,在(a)和(b)中的函數是相等的,但是我們希望用這兩個式子來示例包含使用香農展開在內的基本步驟。我們將從a開始,應用最小項展開他。
( X ⋅ Y ) + ( X ′ ⋅ Z ) + ( Y ⋅ Z ) = [ X ⋅ Y ⋅ Z ⋅ f ( 1 , 1 , 1 ) ] + [ X ⋅ Y ⋅ Z ′ ⋅ f ( 0 , 1 , 1 ) ] + [ X ⋅ Y ′ ⋅ Z ⋅ f ( 1 , 0 , 1 ) ] + [ X ⋅ Y ′ ⋅ Z ′ ⋅ f ( 1 , 0 , 0 ) ] + [ X ′ ⋅ Y ⋅ Z ⋅ f ( 0 , 1 , 1 ) ] + [ X ′ ⋅ Y ⋅ Z ′ ⋅ f ( 0 , 1 , 0 ) ] + [ X ′ ⋅ Y ′ ⋅ Z ⋅ f ( 0 , 0 , 1 ) ] + [ X ′ ⋅ Y ′ ⋅ Z ′ ⋅ f ( 0 , 0 , 0 ) ] (VII-7)
\begin{aligned}
& (X\cdot Y)+(X' \cdot Z)+(Y\cdot Z) \\
& = [X\cdot Y\cdot Z\cdot f(1,1,1)]+[X\cdot Y\cdot Z'\cdot f(0,1,1)]+[X\cdot Y'\cdot Z\cdot f(1,0,1)] \\
& + [X\cdot Y'\cdot Z' \cdot f(1,0,0)]+[X'\cdot Y\cdot Z\cdot f(0,1,1)]+[X'\cdot Y\cdot Z'\cdot f(0,1,0)] \\
& +[X'\cdot Y'\cdot Z\cdot f(0,0,1)]+[X'\cdot Y'\cdot Z'\cdot f(0,0,0)]
\end{aligned}
\tag{VII-7}
( X ⋅ Y ) + ( X ′ ⋅ Z ) + ( Y ⋅ Z ) = [ X ⋅ Y ⋅ Z ⋅ f ( 1 , 1 , 1 ) ] + [ X ⋅ Y ⋅ Z ′ ⋅ f ( 0 , 1 , 1 ) ] + [ X ⋅ Y ′ ⋅ Z ⋅ f ( 1 , 0 , 1 ) ] + [ X ⋅ Y ′ ⋅ Z ′ ⋅ f ( 1 , 0 , 0 ) ] + [ X ′ ⋅ Y ⋅ Z ⋅ f ( 0 , 1 , 1 ) ] + [ X ′ ⋅ Y ⋅ Z ′ ⋅ f ( 0 , 1 , 0 ) ] + [ X ′ ⋅ Y ′ ⋅ Z ⋅ f ( 0 , 0 , 1 ) ] + [ X ′ ⋅ Y ′ ⋅ Z ′ ⋅ f ( 0 , 0 , 0 ) ] ( V I I - 7 )
注意,這個表達式對任何三變量的布爾方程都是有效的。現在f ( 1 , 1 , 1 ) f(1,1,1) f ( 1 , 1 , 1 ) ,f ( 1 , 1 , 0 ) f(1,1,0) f ( 1 , 1 , 0 ) 等,可以通過以下原始功能形式的適當替換來輕鬆評估:
當這些值被替代到上文中的a中,其唯一最小擴展是:
( X ⋅ Y ) + ( X ′ ⋅ Z ) + ( Y ⋅ Z ) = ( X ⋅ Y ⋅ Z ) + ( X ⋅ Y ⋅ Z ′ ) + ( X ′ ⋅ Y ⋅ Z ) + ( X ′ ⋅ Y ′ ⋅ Z ) (X\cdot Y)+(X'\cdot Z)+(Y\cdot Z)=(X\cdot Y\cdot Z)+(X\cdot Y\cdot Z')+(X'\cdot Y\cdot Z)+(X'\cdot Y'\cdot Z) ( X ⋅ Y ) + ( X ′ ⋅ Z ) + ( Y ⋅ Z ) = ( X ⋅ Y ⋅ Z ) + ( X ⋅ Y ⋅ Z ′ ) + ( X ′ ⋅ Y ⋅ Z ) + ( X ′ ⋅ Y ′ ⋅ Z )
裏邊圓括號的內容都是互斥的。
現在剩下的工作是評估f ( 1 , 1 , 1 ) , f ( 1 , 1 , 0 ) f(1,1,1),f(1,1,0) f ( 1 , 1 , 1 ) , f ( 1 , 1 , 0 ) 等,對於表達式b
如果現在發現b和a有着同樣的最小項擴展,那麼我們就證明了( X ⋅ Y ) + ( X ′ ⋅ Y ) + ( X ′ ⋅ Z ) + ( Y ⋅ Z ) = ( X ⋅ Y ) + ( X ′ ⋅ Z ) (X\cdot Y)+(X'\cdot Y)+(X' \cdot Z)+(Y\cdot Z)=(X\cdot Y)+(X' \cdot Z) ( X ⋅ Y ) + ( X ′ ⋅ Y ) + ( X ′ ⋅ Z ) + ( Y ⋅ Z ) = ( X ⋅ Y ) + ( X ′ ⋅ Z ) 。
現在我們在維恩圖的幫助下來看公式VII-7.如圖VII-9,讀者可能會發現從圖VII-9中,有兩個重要的最小項性質:他們是完全互斥的,他們所有的並集等於全集。
根據公式VII-6,一個三變量的布爾方程的最大項擴展如下
f ( X , Y , Z ) = [ X + Y + Z + f ( 0 , 0 , 0 ) ] ⋅ [ X + Y + Z ′ + f ( 0 , 0 , 1 ) ] ⋅ [ X + Y ′ + Z + f ( 0 , 1 , 0 ) ] ⋅ [ X + Y ′ + Z ′ + F ( 0 , 1 , 1 ) ] ⋅ [ X ′ + Y + Z + f ( 1 , 0 , 0 ) ] ⋅ [ X ′ + Y + Z ′ + f ( 1 , 0 , 1 ) ] ⋅ [ X ′ + Y ′ + Z + f ( 1 , 1 , 0 ) ] ⋅ [ X ′ + Y ′ + Z ′ + f ( 1 , 1 , 1 ) ] (VII-8)
\begin{aligned}
f(X,Y,Z) &=[X+Y+Z+f(0,0,0)] \\& \cdot[X+Y+Z'+f(0,0,1)]\\&\cdot[X+Y'+Z+f(0,1,0)] \\
&\cdot[X+Y'+Z'+F(0,1,1)]\\&\cdot[X'+Y+Z+f(1,0,0)]\\&\cdot[X'+Y+Z'+f(1,0,1)] \\
&\cdot[X'+Y'+Z+f(1,1,0)]\\&\cdot[X'+Y'+Z'+f(1,1,1)]
\end{aligned}
\tag{VII-8}
f ( X , Y , Z ) = [ X + Y + Z + f ( 0 , 0 , 0 ) ] ⋅ [ X + Y + Z ′ + f ( 0 , 0 , 1 ) ] ⋅ [ X + Y ′ + Z + f ( 0 , 1 , 0 ) ] ⋅ [ X + Y ′ + Z ′ + F ( 0 , 1 , 1 ) ] ⋅ [ X ′ + Y + Z + f ( 1 , 0 , 0 ) ] ⋅ [ X ′ + Y + Z ′ + f ( 1 , 0 , 1 ) ] ⋅ [ X ′ + Y ′ + Z + f ( 1 , 1 , 0 ) ] ⋅ [ X ′ + Y ′ + Z ′ + f ( 1 , 1 , 1 ) ] ( V I I - 8 )
讀者應該能發現a和b的最大項擴展是等同的。
7.4 思考故障樹的最小切割集和最短路徑集合
依靠布爾函數來表示故障樹的一個最主要的原因就是這些方程可以用來分析故障樹的最小切割集和最短路徑集合。最小切割集定義了故障樹頂層事件的故障模式,在故障樹評估時經常會用到。一旦獲取到最小切割集,故障樹的量化就是水到渠成的事情了。最短路徑集合是最小切割集的必要補充,它定義了頂層事件沒有發生的“成功模式”。最小切割集經常並不在故障樹評估時評估時獲取,但是,他們對於特定的問題非常有用。
7.4.1 最小切割集
我們正式的對最小切割集定義如下:一個最小切割集是故障的最小的組合,如果這些故障都發生,將會導致頂層事件的發生。
根據定義,最小切割集是足以滿足最高事件的主要事件的組合(交集)。該組合是其中最小的組合,所有的故障都需要頂層事件發生;如果最小切割集中的一個故障沒有發生,那麼頂層事件就不會發生(根據組合)。
任何故障樹包含有有限的最小切割集,他們對於頂層事件是唯一的。如果存在一個部件的最小切割集,表明了會導致頂層事件發生的單獨的故障。兩個部件的最小切割集表明兩個故障,這些故障一起導致頂層事件發生。對於一個n部件的最小切割集,所有在切割集的n部件必須全部發生故障才能導致頂層事件發生。
最小切割集的表達式可以寫作如下的標準形式:
T = M 1 + M 2 + . . . + M k T=M_1+M_2+...+M_k T = M 1 + M 2 + . . . + M k
其中T是頂層事件,M 1 M_1 M 1 是最小切割集。每個最小切割集都包含一個特定部件故障的組合,因此,通用的n部件最小切割集可以用如下方式表示
M 2 = X 1 ⋅ X 2 ⋅ . . . X n M_2=X_1 \cdot X_2 \cdot ...X_n M 2 = X 1 ⋅ X 2 ⋅ . . . X n
其中X 1 , X 2 , . . . X_1,X_2,... X 1 , X 2 , . . . 是故障樹的基礎部件故障。一個頂層事件可以用如下方式表示
T = A + B + C T=A+B+C T = A + B + C
其中,A,B,C是部件故障。這個頂層故障有一個單一部件最小切割集(A)和一個兩部件最小切割集( B ⋅ C ) (B\cdot C) ( B ⋅ C ) 。這些最小切割集對於一個頂層事件是唯一的,並且與同一故障樹可能具有的不同等效形式無關。
爲了分析一個故障樹的最小切割集,故障樹第一步要轉換成它的等效布爾方程,然後應用“從上倒下”或“從下往上”的轉換方法。這些方法是十分顯而易見的,他們包含轉換和擴展布爾方程。兩個布爾規則,貢獻規則和吸收規則被用於去除冗餘。
思考圖VII-10中的這樣一個簡單的故障樹;等效的布爾表達式在圖的後邊。
T = E 1 ⋅ E 2 E 1 = A + E 3 E 3 = B + C E 2 = C + E 4 E 4 = A ⋅ B
T=E_1\cdot E_2 \\
E_1=A+E_3 \\
E_3=B+C \\
E_2=C+E_4 \\
E_4=A \cdot B \\
T = E 1 ⋅ E 2 E 1 = A + E 3 E 3 = B + C E 2 = C + E 4 E 4 = A ⋅ B
我們首先執行上下轉換。我們從頂層事件的公式、轉換、擴展開始,直到得到頂層事件的最小切割集表達式。轉換E 1 和 E 2 E_1和E_2 E 1 和 E 2 並擴展,我們得到
T = ( A + E 3 ) ⋅ ( C + E 4 ) = ( A ⋅ C ) + ( E 3 ⋅ C ) + ( E 4 ⋅ A ) + ( E 3 ⋅ E 4 ) T=(A+E_3)\cdot (C+E_4)=(A\cdot C)+(E_3\cdot C)+(E_4\cdot A)+(E_3\cdot E_4) T = ( A + E 3 ) ⋅ ( C + E 4 ) = ( A ⋅ C ) + ( E 3 ⋅ C ) + ( E 4 ⋅ A ) + ( E 3 ⋅ E 4 )
轉換E 3 E_3 E 3 :
T = A ⋅ C + ( B + C ) ⋅ C + E 4 ⋅ A + ( B + C ) ⋅ E 4 = A ⋅ C + B ⋅ C + C ⋅ C + E 4 ⋅ A + E 4 ⋅ B + E 4 ⋅ C
T=A\cdot C+(B+C)\cdot C+E_4\cdot A+(B+C)\cdot E_4 = A\cdot C+B\cdot C+C\cdot C+E_4\cdot A+E_4\cdot B+E_4\cdot C T = A ⋅ C + ( B + C ) ⋅ C + E 4 ⋅ A + ( B + C ) ⋅ E 4 = A ⋅ C + B ⋅ C + C ⋅ C + E 4 ⋅ A + E 4 ⋅ B + E 4 ⋅ C
根據冪等規則,C ⋅ C = C C\cdot C=C C ⋅ C = C ,所以我們有
T = A ⋅ C + B ⋅ C + C + E 4 ⋅ A + E 4 ⋅ B + E 4 ⋅ C T=A\cdot C+B\cdot C+C+E_4\cdot A+E_4\cdot B+E_4\cdot C T = A ⋅ C + B ⋅ C + C + E 4 ⋅ A + E 4 ⋅ B + E 4 ⋅ C
但是根據吸收規則,A ⋅ C + B ⋅ C + C + E 4 ⋅ C = C A\cdot C+B\cdot C+C+E_4\cdot C=C A ⋅ C + B ⋅ C + C + E 4 ⋅ C = C ,因此
T = C + E 4 ⋅ A + E 4 ⋅ B T=C+E_4\cdot A+E_4\cdot B T = C + E 4 ⋅ A + E 4 ⋅ B
最終,轉換E 4 E_4 E 4 ,運用吸收規則兩次
T = C + ( A ⋅ B ) ⋅ A + ( A ⋅ B ) ⋅ B = C + A ⋅ B
\begin{aligned}
T&=C+(A\cdot B)\cdot A+(A\cdot B)\cdot B
&=C+A\cdot B
\end{aligned}
T = C + ( A ⋅ B ) ⋅ A + ( A ⋅ B ) ⋅ B = C + A ⋅ B
因此頂層事件的最小切割集是C C C 和A ⋅ B A\cdot B A ⋅ B ,一個單一部件最小切割集和一個雙部件最小切割集。因此故障樹可以表示如圖VII-11,他等效於原始故障樹(兩個樹有着同樣的最小切割集)。
自下而上的方法除了現在開始於故障樹底部向上的操作外,使用的是和上邊一樣的轉換和擴展的技術。僅有基礎故障的方程持續的轉換以獲得更高的錯誤。自下而上的方法更加費力且花費更多的時間。但是,現在爲每個中間故障以及最高事件獲得了最小割集。
重新思考我們故障樹的例子(爲了讀者方便我們重複了等效布爾方程)
T = E 1 ⋅ E 2 E 1 = A + E 3 E 3 = B + C E 2 = C + E 4 E 4 = A ⋅ B
T=E_1\cdot E_2 \\
E_1=A+E_3 \\
E_3=B+C \\
E_2=C+E_4 \\
E_4=A \cdot B \\
T = E 1 ⋅ E 2 E 1 = A + E 3 E 3 = B + C E 2 = C + E 4 E 4 = A ⋅ B
因爲E 4 E_4 E 4 只有基礎故障,我們代入E 2 E_2 E 2 可以得到
E 2 = C + A ⋅ B E_2=C+A\cdot B E 2 = C + A ⋅ B
儘管E 2 E_2 E 2 的最小切割集是C和A + B A+B A + B 。E 3 E_3 E 3 已經化簡,擁有最小切割集B和C。代入到E 1 E_1 E 1 ,我們有E 1 = A + B + C E_1=A+B+C E 1 = A + B + C ,於是E 1 E_1 E 1 有三個最小切割集A,B,C。最後,E 1 , E 2 E_1,E_2 E 1 , E 2 的轉換形式代入到T,展開並應用吸收率,我們得到
T = ( A + B + C ) ⋅ ( C + A ⋅ B ) = A ⋅ C + A ⋅ A ⋅ B + B ⋅ C + B ⋅ A ⋅ B + C ⋅ C + C ⋅ A ⋅ B = A ⋅ C + A ⋅ B + B ⋅ C + A ⋅ B + C + A ⋅ B ⋅ C = C + A ⋅ B
\begin{aligned}
T&=(A+B+C)\cdot(C+A\cdot B) \\
&=A\cdot C+A\cdot A\cdot B+B\cdot C + B\cdot A\cdot B + C\cdot C+C\cdot A\cdot B \\
&=A\cdot C + A\cdot B+ B\cdot C + A\cdot B + C+A\cdot B\cdot C \\
&=C+A\cdot B
\end{aligned}
T = ( A + B + C ) ⋅ ( C + A ⋅ B ) = A ⋅ C + A ⋅ A ⋅ B + B ⋅ C + B ⋅ A ⋅ B + C ⋅ C + C ⋅ A ⋅ B = A ⋅ C + A ⋅ B + B ⋅ C + A ⋅ B + C + A ⋅ B ⋅ C = C + A ⋅ B
因此,頂層事件的最小切割集是C C C 和A ⋅ B A\cdot B A ⋅ B .
舉一個簡單的例子,假設我們有一個管道系統,如圖VII-12.
假設我們的目標事件是“沒有水到反應堆”。忽略管道的故障,我們能將系統的故障樹用圖VII-11表示。其中
T = 反 應 堆 沒 有 水 C = 閥 門 V 無 法 關 閉 A = 泵 1 無 法 運 行 B = 泵 2 無 法 運 行
T=反應堆沒有水
C=閥門V無法關閉
A=泵1無法運行
B=泵2無法運行
T = 反 應 堆 沒 有 水 C = 閥 門 V 無 法 關 閉 A = 泵 1 無 法 運 行 B = 泵 2 無 法 運 行
我們剛剛展示了該故障樹的最小切割集是A ⋅ B A\cdot B A ⋅ B 和C。這告訴我們我們的目標事件“沒有水到反應堆”將會發生在閥門V關閉失敗或兩個泵都無法運行。在這個例子中,最小切割集合並沒有給我們帶來從系統框圖中獲取的更明顯的內部情況。在很多更復雜的系統中,當系統故障模式不是那麼明顯,系統切割集給予分析者更系統化的方法來定義部件故障的基本組合,這些基礎組合能導致非預期的故障事件。
對於相對小型的故障樹,使用從上至下或從下至上的方法確定最小切割集,可以通過手工的方式獲得。對於大型的樹,有很多成熟的各類的計算機算法和代碼。這將在第十二章介紹。
7.4.2 最小路徑集合和雙重故障樹
故障樹的頂層故障體現了系統故障。這些故障是系統安全角度非常關注的。從系統可靠性的角度,我們更關心如何預防這些故障。現在我們知道這些頂層事件可以用布爾方程進行表示,並且由於該方程可以被補充,因此也存在用於頂層事件的補集(即表示不發生)的布爾方程。這些補充的方程,該補充等式又對應於作爲原始樹的補充的樹。這些補充的樹,叫做原始樹的雙重故障樹,可以通過補充所有事件並轉換或門爲與門等方式從原始樹獲得。對於任一個案例,無論我們補充頂層事件或故障樹本身,我們都在應用在布爾代數規則表格給予的德摩根原理。雙重故障樹的最小切割集也因此被叫做原始故障樹的“最短路徑集合”,其中最短路徑集合是主要事件的一個最小的組合(交集),這些事件的不發生能確保頂層事件的不發生。
這種組合是最小的組合,因爲所有主要事件都不會發生,而頂級事件纔不會發生。如果發生任何事件,則可以發生最上面的事件。頂層事件T的最短路徑集合表達式如下:
T ′ = P 1 + P 2 + P 3 . . . P k T'=P_1+P_2+P_3...P_k T ′ = P 1 + P 2 + P 3 . . . P k
其中,T ′ T' T ′ 表示T的補集(未發生),P表示故障樹的最短路徑集合。每一個路徑集合可以寫作
P i = X 1 ′ ⋅ X 2 ′ ⋅ . . . ⋅ X m ′ P_i=X'_1\cdot X'_2 \cdot ...\cdot X'_m P i = X 1 ′ ⋅ X 2 ′ ⋅ . . . ⋅ X m ′
其中,X i X_i X i 是故障樹的基本事件,X ′ X' X ′ 表示補集。
我們能通過形成它的雙重故障樹,然後使用自上而下或自下而上的方法來找到最小切割集,從而來找到給定的故障樹的最短路徑集合。這個最小切割集合就是目標原始故障樹的最短路徑集合。
或者,如果最小切割集合已經被確定,我們能獲取最小切割集合方程的補充並直接獲取最短路徑集合。對於我們的樣本樹,我們從前一節獲取瞭如下的最小切割集合。
T = C + A ⋅ B T=C+A\cdot B T = C + A ⋅ B
獲取補集
T ′ = C ′ ⋅ ( A ′ + B " ) T'=C'\cdot (A'+B") T ′ = C ′ ⋅ ( A ′ + B " )
利用德摩根原理,應用德摩根原理到項( A ⋅ B ) ′ (A\cdot B)' ( A ⋅ B ) ′
T ′ = C ′ ⋅ ( A ′ + B ′ ) T'=C'\cdot (A'+B') T ′ = C ′ ⋅ ( A ′ + B ′ )
利用分配律(擴展)
T ′ = C ′ ⋅ A ′ + C ′ ⋅ B ′ T'=C'\cdot A'+C'\cdot B' T ′ = C ′ ⋅ A ′ + C ′ ⋅ B ′
因此,最短路徑集合就是C ′ ⋅ A ′ C'\cdot A' C ′ ⋅ A ′ 和C ′ ⋅ B ′ C'\cdot B' C ′ ⋅ B ′ 。結合我們圖VII-12的管道系統,它告訴我們我們能通過以下方式阻止非預期事件和確保系統正常運行:
閥門V打開且泵1運行,或者
閥門V打開且泵2運行。