Resilience Engineering(RE)の安全解析は、成功要因を分析する手法である。これは、安全に携わるほぼすべてのエンジニアにとっては違和感のある考え方ではないだろうか。筆者が関わっている宇宙における安全解析では、ハザード解析が義務付けられている。まずハザードを識別し、ハザードが発生する要因を故障分析(FTA:Fault Tree Analysis)によって識別する。「ハザードを識別する」という最初の段階から既に失敗を対象にした技術であり、FTAはその名前が示す通り「失敗の木」の分析である。つまり、失敗要因を無視しては安全解析ができないということになっている。

 それに対して、REでは失敗要因よりもむしろ、「成功要因の分析こそが安全にとって大切である」と主張する。この従来とはかなり毛色の異なる安全工学について、既に知識を持つ読者もいると思われる。しかし、REを実際の安全解析として実施する方法については、なかなかイメージを持ちにくいのではないのではないだろうか。本稿では、REによる安全解析の実例を示したい。

現代の課題

 自動運転をはじめ、我々の身近で台頭しつつある人工知能や、超分散システムであるIoT(Internet of things)システムは、どちらも既存の安全工学にとって頭の痛い問題を提示する。
(1)ハザードが不明の場合が多い
(2)ハザード防御方法が不確定
 人工知能やIoTシステムは、まずハザード事象そのものが不明であることが多い。たとえばIoTシステムは、あらゆるノードが統御されていない環境下で自由に目的を達成しようとしているが、各ノードは互いに結合しあっており、結合の仕方も千差万別で常に変動している。システム全体としての統一的な目的は決してトップダウンに決まらず、常にボトムアップに書き換えられ続ける。局所的な動きが全体的な動きを作り出すような、人間社会そのもののようなシステムといえる。

 では、そのようなシステムの抱える「ハザード」とはなんであろうか。システムの目的自体が常に変動してしまうので、そこに発生しうるリスクも一意に決めることができない。つまり、ハザード解析では、そもそもIoTのシステムの問題に取り組むことが困難である。

 さらに、ハザードの防御方法が不確定になるという問題である。例えば人工知能システムにおいては、ある状況下でシステムがどのような挙動を示すのかは確率論的にしか決まらない。システムは常に一定のゆらぎを持ち、そのゆらぎゆえに、人間のようなフレキシブルなふるまいを実現し、想定外の状況にも何らかの解決策を提示できる。一方、既存のハザード解析では、識別したハザードに対する防御策が確実に実行されることが解析の目的であるため、確率論的にしか振る舞いを語れない人工知能の安全性を証明するのは原理的に難しい。