コンピュータと数学

ふと考えると、コンピュータは解析学的な意味での数学を何一つ理解していない。
現在一般に使われるコンピュータはほぼ全て、ノイマン型計算機であり、ということはチューリング機械であり、従って言語処理機械に過ぎない。
足し算ひとつ取ってみても、入力のbitの並びから、解となるbitの並びに変換しているだけだ。0と1の並びという言語を処理しているだけで、コンピュータ自身は数字という概念――数直線上の位置であるとか、抽象的な「大きさ」であるとか――をまったく使っていない。
これは、英語で例えれば、"How are you?"と言われたら、決まって"I'm fine, thank you. And you?"と返すようなもので、話し手が内容を理解しているとは必ずしも云えない*1
本質的な意味で、"computer"は"calculator"ではない。「数」を計算するのではなく、「数字」を計算するのがコンピュータ。ただ数も計算できるように、工夫して構成しているに過ぎない。
数値計算なんて、活版印刷で名画を刷るようなもの。遠目に見ればだいたいあってるけど、実際のところはいろいろと難しい。


なんか、当たり前といえば当たり前なんだけど、あらためて気付いた。情報科学について学ぶ前の自分がそうだったように、世の中の大半の人は、計算機とは数を計算するもので、メールを送ったりインターネット*2が見られるのは何か不思議な仕組みがあるからだ、と思っているのではないだろうか。
「実は(バイナリ列などを含む広義の)文字列処理の方こそが本質で、計算機能はオマケにすぎない」と言ったら、一般の人はどう思うのだろうか。

*1:これはそのまま中国語の部屋の問題だなぁ。

*2:もちろんWWWのことであるが、一般人はインターネットとWWWの違いを知らない。