東京女子大学 現代教養学部 数理科学科 情報理学専攻 教授 荻田 武史 先生

この夢ナビTALKは英語翻訳されています。動画の右下の字幕のアイコンをクリックすると英語字幕が表示されます。
30分のミニ講義を聴講しよう!
コンピュータで正しく計算をする
コンピュータは、ゲームやAI(人工知能)、天気予報など現代社会のさまざまなところで使われています。現在のコンピュータは、1秒間に何億回も計算することができるくらい高速ですが、どれくらい正しい計算をしているのか考えてみましょう。
先生からのメッセージ
パソコンやスマートフォンは、今では1秒間に数億回も計算ができるくらい処理速度が速くなってきています。ところで、ゲームやAI(人工知能)、天気予報などのコンピュータ・シミュレーションを含めて、あらゆるところで使われているコンピュータの計算がどれくらい正しいのか考えたことはありますか?
「コンピュータなら完璧で正確だ」というイメージがあるかもしれませんが、実はそうではないのです。「精度保証付き数値計算」はそのような問いに答えるための研究分野です。
夢ナビ講義も読んでみよう
コンピュータの計算は、実はいいかげん!?
コンピュータも間違える
数学で面倒な計算があると、ついつい電卓やコンピュータを使いたくなります。でも実は、それらは結構いいかげんな計算をしているのです。むしろ毎回間違った計算をしていると言っても過言ではありません。
計算の誤差からロケット事故に
例えば1÷3という計算を考えてみましょう。私たちは分数を知っているので、1÷3=1/3と表すことができますし、1/3に3をかければ1に戻ります。この分数を小数で表そうとすると、1÷3=0.3333……という循環小数になります。ところが、コンピュータでは無限を取り扱うことができないので、どこかの桁で打ち切らなければなりません。例えば小数点以下4桁で打ち切ると決めたとき、1÷3≒0.3333です。この答えに3を掛けても0.9999にしかなりません。ちょっとだけズレ(誤差)が起きてしまうのです。1回の計算なら小さなズレで済みますが、複雑なシミュレーションなどで数億回といった計算を重ねると、誤差がたくさん積み重なってしまい、最終的に出た結果がどれくらい正しいかわからないのです。こういったコンピュータ計算の失敗により、過去にはロケット発射事故につながった事例もあります。
コンピュータの計算にお墨付きを
コンピュータの計算を信頼できるようにするためには、答えが合っているという保証をつける必要があります。これには2つ方法があり、1つは、計算に用いる値を2個の数で挟み込んで範囲を決める方法です。先ほどの1/3だったら「0.3333と0.3334の間」といえば必ず正解を含むようになります。しかし、これは何回も計算を重ねると範囲が広がりすぎて役に立たなくなります。もう1つは、答えがある程度正しいとした上で、検算(試し算)をして保証する方法です。これらを組み合わせたものが「精度保証付き数値計算法」です。コンピュータ・シミュレーションにより得られた答えを正しく把握したいときに使われ始めています。この計算法の研究が発展すれば、天気予報もより正確になるかもしれません。
先生からのメッセージ
パソコンやスマートフォンは、今では1秒間に数億回も計算ができるくらい処理速度が速くなってきています。ところで、ゲームやAI(人工知能)、天気予報などのコンピュータ・シミュレーションを含めて、あらゆるところで使われているコンピュータの計算がどれくらい正しいのか考えたことはありますか?
「コンピュータなら完璧で正確だ」というイメージがあるかもしれませんが、実はそうではないのです。「精度保証付き数値計算」はそのような問いに答えるための研究分野です。
- このTALKも見てみよう
は英語字幕あり
-
一覧へ戻る
東京女子大学
現代教養学部 数理科学科 情報理学専攻
教授 荻田 武史 先生