Waseda Institute for Advanced Study (WIAS)早稲田大学 高等研究所

News

ニュース

「賢く失敗する」システム:想定外の変化への挑戦
李 家隆 講師

李 家隆 講師

研究を始めたきっかけ:人海戦術の限界に気づいて

私が研究室に配属された直後、某銀行で繰り返し発生したシステム障害が多くの人々の生活に大きな影響を与えたことは、非常に印象的な出来事でした。こうした障害への対策を興味本位で調べたところ、産業界では膨大な人手(マンパワー)を投入し、考えうる限りの故障シナリオを洗い出して事前に対策を講じる、というアプローチが主流であることがわかりました。しかし、この人海戦術は開発プロジェクトを際限なく遅延させる原因となり、それでもなお未知の障害や想定外の事態を完全に防ぎきることはできませんでした。銀行の例では、システム本体の障害だけでなく、本来その障害を対処するための予備システムまで障害が発生し、その予備システムの障害まで対応できなかったわけです。

図1 銀行ATMがダウンして人々が困る

この「人海戦術の限界」という現実に直面し、私は根本的に異なるアプローチが必要だと考えるようになりました。問題は、システムが「失敗しない」ことではなく、「避けられない失敗にどう賢く向き合うか」にあるのではないか。システム全体が機能停止に陥るのではなく、チェスでキングを守るためにポーンを犠牲にするように、最も重要な機能を守るために優先度の低い機能を戦略的に諦める。この「Best Effort(可能な限りの努力をする)」という考え方を、人間が介在することなく、システム自身がリアルタイムで実行するための理論と技術を構築したいこと、これが、私の研究の原点です。

具体的な研究内容:最悪を想定し、最適を探る

システムを設計する上で最も困難な課題は、未来の「不確実性」にどう対処するかです。コンポーネントの突然の故障、ネットワークの遅延、外部環境の予期せぬ変化など、起こりうる全ての事態を事前に予測し、対策を講じることは事実上不可能です。「想定されるシナリオ」を洗い出す人海戦術では、「想定外」の事態には対応できません。そこで私は、発想を180度転換し、「常に最悪の事態が起こる」と仮定して、それでも破綻しないシステムを設計するのです。これが、私の研究の核となる「悲観的な設計」という原則です。

この設計思想では、システムが直面する環境は、まるで意思を持った最強の敵のように、常にシステムにとって「最悪の選択」をしてくると考えます。いわば、環境を最強のチェスプレイヤーと見なし、その敵がどんな厳しい手を打ってきても、こちらはキング(最重要機能)だけは絶対に守り抜く戦略を立てるのです。この極端なシナリオでさえ安全が保証できるなら、それ以外の(現実の、より穏やかな)状況では、システムは言わずもがな、より安全かつ確実に動作できる、という強力な保証が得られます。

この「悲観的な設計」という考え方を工学的に実現するため、私は「ゲーム理論」を用いて、システムと環境の相互作用を二人対戦ゲームとしてモデル化します。システムは複数の要求(ゴール)の達成を目指し、環境はそれを妨害します。このゲームにおいて、システムは最悪の事態においても自身の被害を最小限に抑える「最適戦略」を見つけ出す必要があります。しかし、このアプローチには「組み合わせ爆発」という計算量の壁が立ちはだかります。要求の数が増えると、考えられる戦略の組み合わせが指数関数的に増加し、リアルタイムでの解析が不可能になってしまうのです。この難問を解決するため、私は以下の2つの効率化戦略を考案しました。

一つ目は差分解析(Incremental Analysis)です。環境変化が発生しても、その影響は局所的であることがほとんどです。本手法では、グラフ理論における「動的強連結成分」アルゴリズムの考え方を応用し、変化があった部分とその影響が及ぶ範囲のみを特定し、再計算をその領域に限定します。自動倉庫、工場生産ライン、美術館セキュリティシステムの3つのケーススタディにおける45のシナリオを通じて、ゼロから再計算する従来手法と比較して、解析時間を平均60%削減することに成功しました。

図2 動的強連結成分:人の出入りが発生した場合、絆の固いグループの変化を特定

二つ目は階層的抽象化(Hierarchical Abstraction)です。人間の「System 1/2思考」に着想を得て、解析プロセスの階層化をします。まず、複数の詳細な要求を論理的に束ねて一つの抽象的な要求を生成し、粗い粒度で迅速に解析(System 1思考)します。実験では、要求の数を抽象化によって減らすことで、ゲームの状態空間(解析の複雑さ)が指数関数的に削減されることを確認しました。これにより、詳細な原因特定といった解析の精度は犠牲になりますが、リアルタイムでの迅速な初期対応が可能となります。その後、必要に応じて詳細な分析(System 2思考)へと移行する反復的改良プロセスにより、必要に応じて速度と精度のバランスを取っていきます。

図3 速い思考で即答性を実現、遅い思考で分析精度を実現

今後の展望

本研究の目標は、今まで構築してきた理論を現実世界に実装し、実社会に貢献することです。そのために、今後は以下3つの方向性で本研究を進めていきたいと考えています。

第一に、ミッションクリティカルな領域への社会実装です。例えば、探査ローバーや人工衛星のような宇宙で動作するシステムは、本研究の理想的な応用先です。物理的に修理に行くことができず、打ち上げコストが高いためミッションを単純に破棄するわけにもいかず、故障が起こった場合でもできる限りシステムの残存価値を活かしたいと考えられます。現在、EUの研究機関と協力し、本研究をNASAの開発基盤F Primeに適用し、その実装の一般公開を目指しています。

第二に、大規模言語モデル(LLM)を活用することで、本手法の適用コストとハードルを下げることです。現在、本手法を適用するには、システムの動作や要求を数式で表現する「モデリング」という作業が必要であり、一般のエンジニアにとってはかなりハードルが高いです。しかし、LLMの持つ高度な「翻訳」能力を活用すれば、自然言語で書かれた仕様書から数式モデルを自動生成したり、既存のソースコードを解析してシステムモデルを自動抽出したりすることが可能になります。これにより、本技術の利用ハードルを劇的に下げることが期待できます。

第三に、人間との協調に向けた解釈可能性の強化です。システムが判断を下す時、「なぜその判断をしたのか」という根拠を人間に分かりやすく示すことが重要になります。例えば、要求間に衝突が生じる場合、現在の手法ではどのように衝突が生じるかは分析できますが、その内容を人間にどのように分かりやすく説明するか(対立の根拠や具体例の提示)が今後の課題です。これが実現できれば、ブラックボックス化を防ぎ、人間の意思決定のサポート役として活用できるようになるでしょう。

Page Top
WASEDA University

早稲田大学オフィシャルサイト(https://www.waseda.jp/inst/wias/)は、以下のWebブラウザでご覧いただくことを推奨いたします。

推奨環境以外でのご利用や、推奨環境であっても設定によっては、ご利用できない場合や正しく表示されない場合がございます。より快適にご利用いただくため、お使いのブラウザを最新版に更新してご覧ください。

このままご覧いただく方は、「このまま進む」ボタンをクリックし、次ページに進んでください。

このまま進む

対応ブラウザについて

閉じる