コンピュータと数学の関係の将来は?(Q&A)
※全文を公開している「投げ銭」スタイルのノートです(結城メルマガVol.126より)
こんにちは、結城浩です。
「結城メルマガ」読者さんからの質問に答えるコーナーです。
質問の文章は結城が編集する場合があります。また、複数人の質問をまとめさせていただく場合もありますので、ご了承ください。
●質問
抽象的な質問ですが、結城先生は、コンピュータと数学の関係は将来どうなっていくと思いますか?
●回答
こんにちは、ご質問ありがとうございます。
しかし……「コンピュータと数学の関係」ですか……それはなかなか大きな質問ですね……。
私が見ているコンピュータの世界や数学の世界は、ほんとうに小さな範囲でしかないと思っています。ですから「コンピュータと数学の関係」、しかもその「将来」となると、果たしてどれだけのことが結城に言えるのでしょう……などと逡巡していてもしょうがないので、思うところをぽつぽつとお話ししたいと思います。
だいたい、このような大きな質問を受けたときには、瞬間的にぱっと思いついたところからお話しするといいようです(結城の場合には)。
ぱっと思いついたのは、
「数学とコンピュータは互いに補い合っている」
ということです。これは確か、結城の大好きなKnuth先生がどこかで書いていたことの受け売りになると思いますが、ともかく話を進めましょう。
コンピュータは初めのころ、ほとんど数学でした。数学者が原理を考え、数学的な問題を解く。つまりコンピュータは数学を解く道具。逆に言えば、数学はコンピュータに(あるいはまたコンピュータ科学に)対して、「有用な問題」を提供し続けてきたといえるかもしれません。
でも、そのうちコンピュータは発達し、インターネットが生まれ、多くの新たな解くべき問題が生まれました。すると今度はコンピュータ(科学)が数学に対して、有用な問題を提供することも多くなってきます。
有用な問題が与えられることは、解答が与えられること以上に、学問にとって重要なことです。そういう観点からすれば、数学とコンピュータ(科学)はお互いに有用な問題を提供しあう、すてきな相棒といえるかもしれませんね。この二つの学問が地球上に存在していた期間の長さはずいぶん違いますけれど。
ハードウェアによる固定的な結線によるプログラミングから、ソフトウェアによる柔軟なプログラミングに変わったのは、コンピュータで大きな一歩だと思います。そして、数値計算を行うことから、記号操作を行うことにコンピュータが使われるようになったのもまた、大きな一歩といえますね。
ここでちょっと飛躍が入ります。
あえて無茶なことを書いてみましょう。
数学は無限を扱いますが、もちろん人間は無限を「直接は」扱えません。無限のものを実際にノートや黒板に描いてみせるという意味では。そうですよね。ですから、何らかの意味で省略を行わなければならない。省略というと語弊がありますが、たとえば数式を使って無限を表す。数式の変形方法にはルールがあって、そのルールの範囲で数式を変形していくと、何か有益な知見、たとえば無限に関係した知見にたどり着くことができる.
コンピュータも無限を直接は扱えません。でも、コンピュータは記号を操作できる。決まったルールに従って記号を操作することは大得意です。特に、人間がまちがいやすい複雑な操作や、人間が実現不可能なほどたくさんの操作も瞬時に行えます。
数式の変形と記号の操作。この二つは数学とコンピュータの重要な接点の一つではないかと思います。
結城は詳しくありませんが、Coqのように、数学の証明を補助してくれるソフトウェアがあります。Mathematicaのように数式処理をしてくれるソフトウェアもあります。
数学者が数学を考えるとき、古典的なペンとノート(チョークと黒板)が使われなくなることはないでしょうけれど、これからの時代、コンピュータの助けを借りることがもっともっと増えてくるのは確実だと思います。
それは単純な計算から始まり、数式処理、論理展開など、数学を研究する多くの局面においてです。これは想像ですが、抽象的な概念を考えるときも、数学的なオブジェクトをコンピュータ上に例として構築し、それを眺めることで深い知見を得る場合も多くなるのではないでしょうか。
「数学ガール」シリーズでは、《例示は理解の試金石》というスローガンがたびたび登場します。これは(いろんな解釈が可能ですが)、
ある概念を理解したかどうか知りたかったら、例を作れ。
もし、例を作れたなら理解している。
もし、例を作れなかったら理解していない。
というほどの意味です。「例を作る」というのは、理解したかどうかを確かめる上で重要なことなのです。
もしかしたら将来、高度な数学の概念を理解したかどうか確かめるには、その概念の例をコンピュータ上で作ることが当然になるかもしれませんね。
プログラマのあいだには、
「自分の考えの正しさを示したかったら、
へたな理屈をこねるのではなく、
それを実証するプログラムを書け」
という考え方があります。よく聞くスローガンは、ハードボイルドタッチに、
「黙ってコードを見せな」
というものです。
それに似て、数学の概念を構築することと、そのモデルをコンピュータ上に作ることは、これからもっと深く関わってくるだろうと想像しています(数学のすべての分野がそうなることはないと思いますが)。
* * *
ちょっと話がそれてしまいましたが、数学とコンピュータについて、結城の思うところを書いてみました。
いかがでしょうか。
もう一度読み返してみると、数学とコンピュータの全般ではなく、結城が関心のあるテーマを書いただけで終わってしまったかも。ごめんなさいね。
興味深いご質問をありがとうございました!
* * *
※Photo by webtreats.
https://www.flickr.com/photos/webtreatsetc/5972016444/
※結城浩はメールマガジンを毎週発行しています。あなたも購読してみませんか。
http://www.hyuki.com/mm/
※以降に文章はありません。「投げ銭」感謝。
ここから先は
¥ 100
あなたからいただいたチップは、本やコンピュータを買い、多様なWebサービスに触れ、結城が知見を深める費用として感謝しつつ使わせていただきます! アマゾンに書評を書いてくださることも大きな支援になりますので、よろしくお願いします。 https://amzn.to/2GRquOl