コンピューター・サイエンスとカテゴリー論

1940年代、「純粋」数学の一分野として「カテゴリー論」が生まれた時、ある数学者はそれを "general abstract nonsense" 「ナンセンスな抽象化の一般化」と呼んだ。
数学は、もともと抽象的で現実離れしたところはあるのだが、そのなかでも馬鹿馬鹿しいくらい抽象化を進めて何の役にも立たないのが「カテゴリー論」だという意味だ。
その後、カテゴリー論の重要性の認識は、ローベールのトポスによる集合論の再構成の仕事や、グロタンディックの予見的な仕事(現在の膨大なStack Theoryの源流だ)を通じて、数学の中では、確固としたものになっていく。
カテゴリー論は、確かに「抽象的」だが、数学では「役に立つ」!  それどころか、カテゴリー論的アプローチは、「ナンセンス」なものではなく、現代数学の最も強力な武器だということが、多くの数学者に受け入れられて行く。
僕の院生時代は、そうした大きな転換の時代だったと思う。今では、カテゴリー論は、数学では普通のツールになったといって良いと思う。ただ、それは、まだ数学の中での話だ。
今また、面白い動きが出ている。それは、数学での応用に閉じない「応用カテゴリー理論」 Applied Category Theoryという新しい科学分野が急速に立ち上がろうとしていることだ。
「応用カテゴリー理論」がどのようなものであるかについては、ジョン・バエズの次のブログが、わかりやすい解説になっている。"What is Applied Category Theory?" https://goo.gl/TYoW7G
この中でも触れられているのだが、コンピュータ・サイエンスは、カテゴリー論との接点は、今までもなかったわけではない。ただ、それだけではないというのは、彼の次のような言葉を見ればわかる。
「私はプログラマではない。この点は弱点だと思っているので申し訳ないのだが、コンピュータ・サイエンスの中でのカテゴリーの扱いについては、かなりのことは知っていると思う。しかし、その知識はプログラミングのハンズオンでの経験からではなく、カテゴリー論の側から学んだものだ。例えば、私はHaskellの話を聴く前からモナドのことは理解していた。私の最初の反応は、「この人たちは、モナドで何をしようとしているのだろう? どうしてこんなに簡単なコンセプトをあんなに神秘的に扱うことにかかりっきりになっているのだろう?」というものだった。私は、ラムダ・カリキュラスを理解する前に、cartesian closed categoriesを理解していた。私には、カテゴリー論なしにはラムダ・カリキュラスを理解している自分を想像できない。(多くの人は、そうしているのだが)」
カチンと来た人もいると思うのだが、まあまあ怒らないで。
いいエピソードもある。ビョブドスキーが、Homotopy Type Theory を着想したのは、コンピュータの実習室で、学生たちが宿題のマーティン・レフの「型付きラムダカリキュラス」を実行しているのを見た時、「あっ! これだ。」と思ったらしいのだから。
バエズの話で重要なのは、こんなことも言っていること。
「もし、我々がトポロジカル量子コンピュータを作ることに成功するなら、このテクノロジーは、カテゴリー論を利用してのみ理解できることがわかるだろう。」
今月末から来月初めにかけて「応用カテゴリー理論」の国際カンファレンスが、開催される。https://goo.gl/Y7v6PS
今日(4/15-16)は、バエズが、NISTに招かれて講演するらしい。https://goo.gl/t2CDPf バエズの追っかけを長くして来たのだが、彼とNISTが接点を持つことは、あまり想像していなかった。時代は、変わるものだ。
院生時代、カテゴリー論のトポスの解釈を研究していた。ただ、それじゃ飯が食えなくて、趣味のコンピュータで就職したことを思うと、隔世の感がある。実際、隔世と言っていいほど昔の話だし。
まあ、いいか。今度、ハンズオンやります。
前回と内容を一新して、面白いですよ。https://lab-kadokawa50.peatix.com/

コメント

このブログの人気の投稿

マルレク・ネット「エントロピーと情報理論」公開しました。

初めにことばありき

人間は、善と悪との重ね合わせというモデルの失敗について