《システムの信頼性》
【しすてむのしんらいせい (systems reliability) 】
多くの要素(部品, 機器など)から構成されるシステムの場合, システムの信頼度は要素の信頼度により評価される. $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle n} $ 個の要素から構成されるシステムにおいて, 要素一個の故障確率を $$ とし要素が一つでも故障するとシステムが故障するとすれば, システムの故障確率 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle Q} $ は $$ となる. 信頼性の高い部品の開発によって部品一個あたりの故障確率 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle q} $ は小さくなっているが, 一方においてシステムを構成する部品数 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle n} $ がそれ以上に大きくなっているため, システムの故障確率 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle Q} $ は大きくなっているのが現状である. 従って, システムの大規模化に伴いシステムの信頼性設計の必要性が益々増大しているといえる.
信頼性の観点からシステム構成を考える場合, システムの状態(正常, 故障)とその構成要素の状態(正常, 故障)との間の論理的関係からシステムが分類される. 要素が一つでも故障するとシステムが故障するとき, そのシステムは直列シテムであるという. 直列システムの場合, 部品 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle i\,(i=1, 2,\ldots ,n)} $ の信頼度を $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{i}(t)} $ とすると, システムの信頼度 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{S}(t)} $ は
- 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{S}(t)= \prod_{i=1}^{n} R_{i}(t) \leq \min_{i} R_{i}(t) } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (1)}
となり, システム信頼度は要素信頼度の最小値で抑えられてしまう. これは, 信頼度の低い部品を改善しないとシステムの信頼度は向上しないことを意味し, 底上げがシステム信頼度改善の基本であること示している.
一方, 要素が全て故障したときのみシステムが故障するとき, そのシステムは並列システムであるという. 並列システムの場合, システムの信頼度は
- 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{S}(t)= 1- \prod_{i=1}^{n} (1-R_{i}(t)) \geq \max_{i} R_{i}(t) } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (2)}
となり, システムの信頼度は要素信頼度の最大値よりも大きくなる. 並列冗長システムは, 同じ機能を持つ部品や機器を2つ以上同時に使用し, そのうち少なくとも一つが故障していなければ機能は維持される並列システムである. $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle n}
$ 個の機器を並列冗長で使用すると信頼度は必ず改善されるが, 平均寿命は $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle n}
$ 倍にはならない. これに対し, 待機冗長システムは, 使用機器は一台だけで残りは待機させて, 使用機器が故障すれば待機している機器に切り替えるシステムである. 待機冗長システムの信頼度は, 切替えの信頼度が1ならば並列冗長システムより高くなり, 待機中は故障しないものとすればシステムの平均寿命は $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle n}
$ 倍となる.
要素が直列と並列に組合わさって構成されたシステムを直並列システムと言い, 直列構成の部分には (1) 式による信頼度計算を, 並列構成の部分には (2) 式による計算を順次積み上げることによりシステムの信頼度を評価できる. 直並列で表現できないシステムは非直並列システムと言い, システムの信頼度計算は複雑になる.
一般に, $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle n} $ 個の要素から構成されるシステムにおいて, システムの機能(正常, 故障)と構成要素の機能(正常, 故障)の間の関係は構造関数によって表される. $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle C= \{ c_{1}, c_{2}, \ldots , c_{n} \}} $ を要素の集合とし, 要素 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle c_{i}\,(i=1, 2, \ldots ,n)} $ とシステムに対し, 次の2値変数を導入する.
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x_{i}= \left \{ \begin{array}{ll} 1\\ 0 \end{array} \right. } | 要素構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle c_{i}} が正常状態にあるとき, |
要素構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle c_{i}} が故障状態にあるとき, |
構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle z= \left \{ \begin{array}{ll} 1\\ 0 \end{array} \right.} | システムが正常状態にあるとき, |
システムが故障状態にあるとき. |
このとき, $$ は $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle X=(x_{1},x_{2}, \ldots ,x_{n})} $ の2値関数
- 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle z= \phi(X)}
として表され, システムの構造関数とよばれる. システムの構造関数 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)}
$ が次の条件を満たすとき, システムはコヒーレントシステムであるという.
(1) $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle X \geq Y}
$ である2つのベクトル $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle X,Y}
$ に対し, 常に $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X) \geq \phi(Y)}
$ が成り立つ. 即ち, 関数 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)}
$ が単調性を満たす.
(2) $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(0, 0, \ldots , 0)=0} $ および $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(1, 1, \ldots , 1)=1} $ が成り立つ.
条件 (1) は各要素が正常状態から故障状態に移るとき, システムが逆に故障状態から正常状態に移ることはないことを意味する. 通常のシステムは条件 (1) と (2) を満たしており, コヒーレントシステムの信頼度解析が重要となる.
コヒーレントシステムにおいて, $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)=1} $ を満足するベクトル $$ に対し, $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle Y < X} $ である全てのベクトルについて $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)=0} $ ならば, ベクトル $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle X} $ を極小パスベクトルと言い, $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle X} $ の中で $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x_{i}=1} $ である要素 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle c_{i}} $ の集合を極小パスセットという. 極小パスセットはシステムが正常に動作するために, 必要最小限に動作していなければならない要素の集合を意味する.
システムの極小パスセットを $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle P_{1}, P_{2}, \ldots , P_{m}} $ とし, $構文解析に失敗 (Conversion error. Server ("https://en.wikipedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle P_{j}\,(j=1,2,\ldots ,m)} $ の要素の2値変数の積を $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle Q_{j}} $ とすると, システムの構造関数は
- 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)= 1-(1-Q_{1})(1-Q_{2}) \cdots (1-Q_{n}) } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (3)}
で与えられる.
直列システムの極小パスセットは $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \{c_{1}, c_{2}, \ldots , c_{n} \}} $ で, その構造関数は,
- 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)=x_{1}x_{2} \cdots x_{n}, }
並列システムの極小パスセットは $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \{c_{1}\}, \{c_{2}\}, \ldots , \{c_{n}\}}
$ で, その構造関数は,
となる. 直並列システムの構造関数は, その構造に対応して直列と並列の構造関数を組み合せて求めることもできる. その場合, 各2値変数が重複して現れない関数表現になっているのが特徴である.
要素 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle c_{i}} $ の信頼度を $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{i}\,(i=1, 2, \ldots ,n)} $, システムの信頼度を $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{S}} $ とすると, $$は$構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{1}, R_{2}, \ldots , R_{n}} $ の関数
- 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle R_{S}=h(R_{1}, R_{2}, \ldots , R_{n}) } 構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle (4)}
として表すことができる. 構造関数 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)}
$ から信頼度関数 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle h(R_{1}, R_{2}, \ldots , R_{n})}
$ を求めるには次のような方法がある.
- (1) 極小パスセットを使い, 包除定理, 排反項生成法, Esary-Proschan bound 法などによって, 信頼度の厳密式, 近似式, 上下限式等を求める.
- (2) $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)} $ の中で, 重複変数(式中に2度以上現れる変数)に順次ベイズ定理による分解-縮約と, 独立な中間項への分割を繰り返すことによって, 重複変数を含まない関数の確率計算に帰着する.
- (3) $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle \phi(X)} $ を一旦積和形に展開し, 0-1変数のべき等則 $構文解析に失敗 (MathML、ただし動作しない場合はSVGかPNGで代替(最新ブラウザーや補助ツールに推奨): サーバー「https://en.wikipedia.org/api/rest_v1/」から無効な応答 ("Math extension cannot connect to Restbase."):): {\displaystyle x_{i}^{r} \rightarrow x_{i} (r \geq 2)} $ による簡単化を行う.
- (4) モンテカルロ法を使用して近似値を求める.
いずれの方法も, 要素の数が増えると関数の長さが指数的に長くなるため, それを減らす努力が中心となる. また, ネットワーク信頼性を評価する場合は, ネットワークのトポロジカルな情報を使って効率的に計算式を求める方法も与えられている.
システムの信頼性設計においては, コストや重量など他の制約も考慮して, システムの信頼度を最大にするように, 構成要素の信頼度や冗長度を決定する信頼度分配問題を解く必要がある. 複数の制約条件のもとでシステム信頼度を最大化するために, 構成要素の信頼度を決定する問題は非線形実数計画問題, 構成要素の冗長数を決定する問題は非線形整数計画問題, 構成要素の信頼度と冗長数の両方を決定する問題は非線形混合整数計画問題となり, いずれの問題についても厳密解法や近似解法が与えられている.
参考文献
[1] R. E. Barlow and F. Proschan, Mathematical Theory of Reliability, SIAM, Philadelphia, PA, 1996.
[2] R. E. Barlow and F. Proschan, Statistical Theory of Reliability and Life Testing, To Begin With, c/o Gordon Pledger, 1142 Hornell Drive, Sliver Spring, MD 20904, 1981.
[3] F. A. Tillman, C. H. Hwang and W. Kuo, Optimization of Systems Reliability, Marcel Dekker, 1980.