詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

『圏論の歩き方』が難しかったので『Basic Category Theory for Computer Scientists』を読んだ

先日ウィッシュリストから『圏論の歩き方』を贈ってもらいました。圏論を使っているさまざまな分野の若手研究者がオムニバス形式でその紹介をするというもので装丁も可愛らしくとっつきやすそうな感じ(という甘い考えはすぐに砕かれますが)。

圏論の歩き方

圏論の歩き方

圏論の歩き方

この本は「まえがき」がよくて、

この本は[……]

  • 情報処理能力をはるかに超えた量の情報の洪水と,
  • トライ・アンド・エラーの機会

という,[圏論という数学の]コトバを習得するうえで有益だと思われる二つのことに力点を置いた「圏論の入門書」,ということになります。

[……]

まず,決して最初から一つ一つ完全に理解していこうとしないでください.[……]むしろ,わからないこと・わかることの間から,ご自分なりの「圏論観」を作っていただきたいのです.なので,最初はともかく,この本の最後まで流し読んでみてください

(強調は原文ママ)

とある。つまり圏論が応用されている現場を(すぐには理解できなくとも)目の当たりにすることで圏論という道具の気持ちを理解するための一助としましょう、というもの。この志には読む側も勇気づけられますね。

オムニバス形式ではあるものの章を追うごとに圏論の新しい知識がつけ加えられるようになっており、その点に関して不親切さはない。自分にとって興味深い計算機科学は最初のほうに出てくるが、他にも物理とか論理学とか、生物まででてきてそれぞれのトピックもよく分からないながらも面白そうで次々ページをめくりたくなってしまう。各章の終わりに座談会形式で補遺があるのもよく、この会話も圏論の気持ちというものの理解につながりそうな感覚がある。

最後には「圏論のつまづき方」という章もあって親切で、教科書的な本によっては難しい、カジュアルな方法による理解をうながしていて、ははあなるほどと思うことも多い。

とはいえ読んでみた感想は先ほどの志にもかかわらずやっぱり難しくて、圏論も各々の分野もよく分かっているとはいえない自分としてはどちらの側からもアタックしづらいという気分になった。せっかく面白そうなのにその面白さを十分に味わえてない悲しさがある。

Basic Category Theory for Computer Scientists

そこに折りよく、10年ほど前に買ったこの本を部屋の段ボール箱から発見して、真面目に読み直してみることにした。

Basic Category Theory for Computer Scientists (Foundations of Computing)

Basic Category Theory for Computer Scientists (Foundations of Computing)

型システム入門』の著者によるもので、ペーパーバックで150ページほどと薄くて取りかかるには気楽。今だとKindle 版も出ているらしい。

この本ではコンピューターサイエンスを学ぶ学部生向けに、圏論の基礎的な知識をイチから解説している。4章から構成されていて、1章と2章では圏そのものからはじまって、product、limit、cartesian closed category、functor、natural transformation、adjoint といった圏論における基礎的な道具の定義と具体的な圏における実例をみることができる。以降の3章では単純型つきラムダ計算だとか領域論だといった計算機科学の分野において圏論が用いられている例が簡単に紹介され、4章は参考文献のリストになっていて、ほんとうに簡素な入門書という感じ。

この本によると universal element、adjoint、representation が圏論の重要な登場人物であるらしいがそのうち前者2つまでは本書でよく紹介されていて、最後ひとつはごくわずかに触れられているのみだった。ちなみにプログラマが圏論を知るきっかけになることの多いモナドについての話はぜんぜん出てこない。

個人的には年初の真面目さで練習問題に取り組んだのがよくて、やはり手を動かさないと自分の中でイメージというのは作られないなと実感した。あまりに単純な例なのだろうけど、集合とそれらの間の写像のなす圏 Set と、半順序集合を圏とみなしたもの、を具体的に考えるとイメージがつきやすかった。

今は『Category Theory for Computing Science』という PDF が無料で公開されているらしいので、こちらを読むのがいいのかもしれませんね(と今 Amazon のレビューを見て知った……)。較べてみると本は薄くて高いな。

読んでみて

面倒がらずに手を動かしてみるもので、あらためて『圏論の歩き方』を読みなおしてみると、無意識に飛ばしながら読んでいたところが読めるようになっている。「右随伴が極限を保存する」みたいな言明とその証明のスケッチも読める(気がした)のは嬉しかった。可換図を通じてもろもろの概念の具体的なあらわれを自分で書いてみたことで、具体的な応用での感覚をつかめるようにも思う。

教科書的な本はもちろんきっちりと語るべきことを語り、定義や性質だけでなくその動機を示してくれることも多いのだけど、それでも独りで読んでいると、広大な土地に放り出されてどっちを向いているのかも分からないような感覚に襲われることがある。そんなとき、『歩き方』みたいに、インフォーマルな形でその眺めを示してくれる本があると補完できそうですね(しかし、全部読み返したわけではないけど、分からんままのところも多いと思う)。

はてなで一緒に働きませんか?