λのおわりに | Chandler@Berlin

Chandler@Berlin

ベルリン在住

English version

先日,広告でこんなものを見た.この広告は「投資の専門家に: 一番簡単なことから始めよう」というもので,多分,1+1 = 2 というのが一番簡単だと言うのであろう.私は 1 + 1 が 2 であることを機械に教えるにはどうすれば良いかということを 8ヶ月かかって説明してきた.(ところでこの広告は煙草の広告である)

Chandler@Berlin-luckystrike_ad


人間ならば,確かにこれは簡単かもしれない.しかし,機械にそれを教えるとなると,1+1 とは何かということを追求する必要がある.1+1 の前に,数とは何かということを考え,それをチャーチ数で表現した.パラノイアかもしれないが,あたりまえのことというものは,簡単だからあたりまえなのではなく,単にいつも身近にあるからあたりまえなだけだと思う.簡単なことではない.家族や恋人と一緒に時間をすごすことをあたりまえに感じてしまっている人もいるかもしれない.しかし,それは単にそうすることに慣れているからであって,簡単だからではないと思う.時々,あたりまえのことをふりかえって見ることも大切だと思う.

これでλ計算のためのヒッチハイカーズガイドというテーマのブログはとりあえず幕とする.

Wikipedia にはλ計算でチャーチ数を SUCC や PLUS に適用するとそれが正しいとわかる.と書いてあるが,私には一週間もわからなかった.友人らの助けを借りてやっとわかったので,どうやるのかということを書いておこうと考えて始めたのがこの短編である.

ここではλ計算とは何か,どうしてそういうものを考えたのか,そして具体的に簡単なものを適用する方法を述べてきた.この短編が私と同じ所でつまづいている人の助けになれば幸いである.

しかし,λ計算はまだまだ奥が深い.これでは入門の扉を開いたという程度である。私には combinator がまだ理解できていない.いつかわかったらそれについて書いてみたい.書くことによって学ぶことができるのは良かった.あるいは教えることは学ぶことであるとつくづくおもった.本当に興味のあるものでないと続けるのは難しいということも学んだことであった.

この小文は λ計算を informal な方法ではあるが,感じをつかむことを重点に置いて書いた.ここでは λ式を構成的に示すこともしなかったし,α-conversion, β-conversion, η-conversion などの基礎的な変換方法も詳しくは述べなかった.さらに詳しく知りたい人はWikipedia が良い入門となることと思う.

謝辞

この blog を書くきっかけをつくってくれた内田さん,計算の具体例を理解する手助けをして下さった Hoedicke さんと Rehders さん,そして今回書くことができなかったが,実装のヒントを与えてくれた前田さんに感謝します.他にも助言や感想を下さった皆さまにお礼を申し上げます.また,この blog を読んで欲しかったが,残念ながら永遠に不可能になってしまった楯岡さんにこの blog を捧げます.