テストの失敗が分析できる!コンピュータ理工学(CS)の面白さ #3

はじめに

こんにちは、芙蓉寮に住んでいる学生広報スタッフの木島です。
みなさんはテストで悪い点をとってしまったとき、振り返りが「次は気をつける」で終わってしまうことはありませんか?
実は、このような失敗を「なんとなく」で片付けず、安全工学の研究者が使う方法で原因を体系的に分解することができます。
複数の方法がありますが、今回はFTA(Fault Tree Analysis:故障の木解析)を、テストの赤点を例に紹介します。
本記事では、NRC(アメリカ合衆国原子力規制委員会)による「Fault Tree Handbook」1)の考えに基づいて、分析を行います。

FTAについて

FTAでは、望ましくない結果をトップ事象として置き、なぜそれが起きたのかを分解していく手法です。
ここではトップ事象を赤点(60点未満)とみなし、赤点をなぜ取ってしまうのかを扱います。

FTAでの分析

FTAは「なぜ望ましくない結果が起きてしまったのか」を、高校の情報の講義で扱ったANDとORで枝分かれさせ、原因を下流まで掘り下げる手法です。

  • AND:両方がそろうと上位事象が起きる
  • OR:どれか1つが起きれば上位事象が起きる
  • 丸(基本事象):これ以上分解することができない原因

図1は「採点を終わった時点で60点を下回っている」をトップ事象に置いたFTA例です。
60点未満ということは、100点満点なら失点が41点を超える必要があるので、ここでは分かりやすく「41点以上の失点」を条件にしています。

FTAは上から下へと読み進めます。
上に行くほど赤点が起きたという事実に近くなり、下に行くほど、なぜ赤点を取ってしまったのか具体的な原因に近くなります。
今回は配点の大きい大問1つを落としたケースに絞って分析します。

図1から、赤点に至る経路が複数あることが分かります。
例えば「誤りが発生した」だけでなく「提出前に検出・訂正できなかった」ことも重要です。
こうして分解すると、対策を具体的に設計できます。たとえば、見直しで見落とすなら、

  • 問題文の数値を最後に必ず確認することを心がける
  • 見直し用の時間を必ず確保する

といった形で、赤点を防ぐ再発防止策を普段のテストに落とし込めます。
このように、事故を未然に防ぐにはどうすればよいか、あるいは起きてしまった事故を二度と繰り返さないためには何をすべきか。
安全工学では、そのための分析を行うのです。

終わりに

コンピュータ理工学科ではAIの研究はもちろん、今回紹介したような安全工学について学ぶことができる研究室があります。
最近では、FTAとAIと連携させた手法[https://arxiv.org/abs/2411.15007] 2)のように、安全工学の分野でもAI活用が進んでいます。
安全工学について興味を持ったそこのあなた、ぜひ一緒に安全工学について学んでみませんか?

今後も、このような安全解析手法の話題やコンピュータ理工の分野を取り上げるので、ぜひ定期的に本サイト(学生広報スタッフサイトをリンク)を見に来てくださいね。

参考文献

  1. W. E. Vesely, F. F. Goldberg, N. H. Roberts, and D. F. Haasl. 「Fault Tree Handbook」. U.S. Nuclear Regulatory Commission. 1981, NUREG-0492.
  2. Sneha Sudhir Shetiya, Divya Garikapati, Veeraja Sohoni. 「FTA generation using GenAI with an Autonomy sensor Usecase」. arXiv. 2024, 2411.15007.