昨日紹介した「ゼロから始める情報Ⅰ」の第3章p198-200に丸め誤差と浮動小数点数の話が出てきます。


その丸め誤差に起因する失敗として、次の話を思い出しました。




パトリオットミサイルの防御失敗

https://www.sydrose.com/case100/shippai-sydrose/298/


【知識化】

パトリオット・ミサイル・システム内部の24ビット・コンピュータ変換過程で二進符号23桁以下が切捨てられたことによって生じた誤差、それは1秒間に0.00000095秒というわずかな誤差だった。しかし、そのわずかな誤差は、同システムの100時間に達する使用時間により0.34秒まで拡大され、その計算処理に大きな影響を与えてしまう結果となった。そして、その誤差が原因となり、パトリオット・ミサイルでの迎撃は失敗したが、同システムは頻繁に再起動させることで、そのシステム内の時計がリセットされ、その蓄積されてきた時間の誤差は最小限に抑えることができた。この事例では、いかなる小さな誤差でも重なることによって大事故につながる可能性があるということを指している。

(以上引用)



これ以外にも、湾岸戦争時(1991年)のパトリオット・ミサイル(PAC-1)は何かと話題になっていましたね(苦笑)。現行装備(PAC-3以降)は飛翔体も制御系も全く別物って感じですが。


パトリオットミサイル