2007.08.25
  • twitter
  • facebook
  • はてなブックマーク
  • 印刷

コンピュータを理解するということ

株式会社オーグメント 代表取締役 渡辺 俊雄

夏休みももうすぐ終わりですね。

さて、いままで「これでもかっ」というぐらい誤差の話をしてきました。そのため、「コンピュータを信じていいのか」といった風に不安になってきた方もいらっしゃるものと思います。/(^^;

なぜ、そこまでしつこく“誤差”のことを話をしたのかというと、「コンピュータの計算は絶対ではない」ということを認識していただきたかったからです。

コンピュータで整数のみを扱う場合はともかく、小数点(正確には、浮動小数点実数)を扱う場合には基本的に“近似値”で数値を表すことになります。この際に、“精度”、より正確には“計算精度”を意識する必要があるわけですが、そういったことを意識されている方は本当にごく一部に思えてなりません。

以前、だいぶ昔ですが、「この計算結果はおかしいのではないか?」とお役所の窓口で言ったことがあります。そのときの答えは「計算機が間違えるはずがない。だから正しい」というものでした。「私はコンピュータの専門家だ」と言い返したところ、面倒そうな顔をして「計算機は間違えないんだ」と言うだけで埒があきません。おそらく、窓口の方はコンピュータに関する知識がなく、また、間違いを認めてしまうとあとが大変だという気持ちからそういう対応になったと思うのですが、何か釈然としない気持ちで諦めた思い出があります。

「コンピュータが出す計算結果は絶対だ」。そう思うことは間違いです。ちょっとでもおかしいと思ったら原因を追及する。コンピュータと上手につきあうには、そうした意識が欠かせません。そのためには、多少不安に感じていただく必要があると思った次第です。

さて、では実際の話に戻りましょう。

コンピュータで計算を行うとき、通常、私たちが扱うような数字の範囲で誤差が問題になるようなケースはほとんどありません。その点では安心して大丈夫だと思います。しかし、だからといって油断はできません。前回、ご紹介した

▼“達人”芳坂和行氏に学ぶ、エクセル(Excel)「演算誤差」対策講座
 http://pc.nikkeibp.co.jp/pc21/special/gosa/index.shtml

の第1回目は「小数計算で発生する『誤差』」ですが、ここでは、「4.2と4.3の“差”を計算して、その差が0.1以上あれば表示する」という単純な処理を事例に誤差(4.2と4.3の差は0.1なのに、0.1以上の差があると判定されないこと)の説明をしています。実際、このくらいの処理は、普通にしそうですよね。

このブログを見ている先生方はそうではないと思いますが、情報の授業では、用意された課題を処理させて終わりというものが少なくないと感じることがままあります。先ほどご紹介した対策講座ではハルさんが優秀なので(笑)問題が発見できたわけですが、課題を処理させて終わりとするだけではこうした発見が起きることはありません。

「自分自身の中で結果に対する仮定をさせて、その通りになるか検証させる」という行為はとても大切です。それを繰り返すことで、発見という刺激や理解の促進が得られるのだと思いますし、コンピュータの本質を知るきっかけにもなるはずです。

ただ、そうしたことを自然にできるようにするためには、早い段階からの訓練が必要です。こうしたことは、素直であることが大切な要素のひとつになりますし。^^;

学校には、そうした場も期待したいと思います。コンピュータは、あくまで“道具”に過ぎないのですから。

渡辺 俊雄(わたなべ としお)

株式会社オーグメント 代表取締役
1958年、東京生まれ。メーカー系システムエンジニア、大手コンピュータ出版社の書籍編集者、インターネット関連組織の広報などを経て2006年に独立。大学生と高校生の二人の子どもを持つ。

ご意見・ご要望、お待ちしています!

この記事に対する皆様のご意見、ご要望をお寄せください。今後の記事制作の参考にさせていただきます。(なお個別・個人的なご質問・ご相談等に関してはお受けいたしかねます。)

pagetop