コンピュータが計算ミス? ~解決の鍵となる数値的検証法とは~
コンピュータはなぜ計算ミスをするのか?
「(2の54乗)+18-(2の54乗)」の解は18です。簡単に答えを導き出せるこの問題ですが、一般的な計算ソフトに入力すると、答えは誤りである「16」と表示されます。コンピュータで起こるこの計算ミスの原因は、コンピュータが処理できる数字の桁数にあります。一般的な規格のパソコンなどに用いられるソフトの計算処理は2進数の場合で53桁が最大で、それ以上の桁数になった場合、以降の桁の数字が切り捨てられてしまい、その誤差が最終的に解の誤りにつながるのです。
コンピュータの誤差が招いた悲劇
1990年に端を発した湾岸戦争では、この誤差によって死者を出すという悲劇が起こってしまいました。イラクが国内のアメリカ軍基地に向けて発射したミサイルをアメリカ軍は空中で迎撃しようと試みましたが、コンピュータによる誤差が原因で弾道がそれて、ミサイルがアメリカ軍基地を直撃し、数十人が命を落とす事態となったのです。こういったミスをなくすべく、数値的検証法という手法を使ってコンピュータの計算結果の信頼性を向上させる研究が近年盛んに行われています。
計算結果の信頼性を向上させるためのアプローチ
1940年代に現代のコンピュータの原型を開発したジョン・フォン・ノイマンは、「コンピュータは計算を間違える」と指摘しています。その問題解決のための数値的検証法は、1990年代後半から飛躍的に進歩し、日本はドイツと並んでその最先端にある国となっています。コンピュータによる計算結果を高信頼にするためには、計算結果に含まれる誤差よりも大きな値を見積もることが解決への糸口なのですが、同時に、見積もる際の計算速度や処理能力などの点でも、より実用性を備えたものでもなければなりません。現状では、普通に計算結果を出すのに比べてはるかに長い計算時間が不可欠となっています。そのため、この部分をよりシンプルにしながら、さらに小さな見積を得るために研究者はひたすら数学の証明を続け理論を導き出しています。
※夢ナビ講義は各講師の見解にもとづく講義内容としてご理解ください。
※夢ナビ講義の内容に関するお問い合わせには対応しておりません。
先生情報 / 大学情報
岩手大学 理工学部 数理・物理コース(令和7年度から 理工学部 理工学科 数理・物理コース所属) 教授 宮島 信也 先生
興味が湧いてきたら、この学問がオススメ!
数学、物理学先生への質問
- 先生の学問へのきっかけは?
- 先輩たちはどんな仕事に携わっているの?