Chandler@Berlin -58ページ目

Chandler@Berlin

ベルリン在住

English version

以前,チャーチ数を箱で作った.1, 2, 3, というような数を機械にもわかるようにどうやって定義すれば良いのかという話だった.この時には計算の話をしていたので具体的な数が欲しかったのだ.数なしで計算の話をするのはなかなか難しいので不自然な話の流れだったかもしれないが,著者の力量ではそんなものである.

以前既に紹介したが,チャーチ数のλ版を再掲しておこう.このあと使う予定だ.

0 := λf x. x
1 := λf x. f x
2 := λf x. f (f x)
3 := λf x. f (f (f x))

ここで重要だったのは,f の数が番号に対応していることだ.0を見てみると,函数の入力は f と x だが,その中身は x しかない.1 は f x で f が一つである.しかし中国ではこのようなものは昔から存在していた.1 を漢字で書くと「一」棒が一本,2 を漢字で書くと「二」棒が二本,そして,3 を漢字で書くと「三」と棒が三本である.以下,4 も 5 も棒の数を増やしていけばこれはチャーチ数そのものである.が,しかし,古代の中国人は知恵があったのでこれ以上のチャーチ数は計算機がでてくるまで実用的でないと判断したようだ.ローマの番号も番号が大きいとここでのチャーチ数のようになる.ところで漢字の 0 は 零である.しかし,いつ 0 が認識されたのかはわからない.日本の古典落語ではこほめで 0 を只と言っていた.つまり値段が「ただ」のただである.
English version

シリウスサイバネティクスの自動販売機gensym3141のすごいところは無限の種類の自動販売機が出せるところである.これ一台あればコーヒーだろうが車だろうがコンピュータであろうが買うことができる.この機械は自動販売機しか出せないが,コーヒーが欲しければコーヒーの自動販売機をまず買って,その自動販売機でコーヒーを買えば良いのだ.

しかし,無限の種類の自動販売機でも出せないものもあるのが残念なことである.無限の種類の自動販売機を出せる自動販売機ならばどんな自動販売機も出せると思っている人はマービンに怒られて下さい.でも,それでは不親切なので簡単な話をしよう.

自動販売機gensym3141はキーパットがついていて,1, 2, 3, ... といくらでも数を売ち込むことができる.というのは番号さえ決めれば無限の可能性がある.たとえばボゴン人の現代詩集を売る自動販売機は 157079632679489661923 である.しかし,イルカの作った金魚鉢を売る自動販売機は -111111 という番号がついているのだが,自動販売機gensym3141には - の記号がない.したがって,無限の数が入力できるにもかかわらず,買えない自動販売機があるのだ.とりあえず無限とは全部ではないということさえわかってくれれば良い.

もちろんシリウスサイバネティクス社の営業部長は無限の種類が出せるのだから,全部の自動販売機が出せるということを客に納得させるためのトレーニングを積んでいる.そして宇宙は広いので,それに納得してしまう馬鹿な客もいくらでもいるのである.したがって,宇宙は自動販売機 gensim3141 であふれているのである.

ところで,自動販売機gensym3141で買えない有名な自動販売機はいくつもある.まず,自動販売機gensym3141は自動販売機gensym3141で買えない.自動販売機gensym3141を出そうと考える,と自動販売機gensym3141に内蔵されているシリウスサイバネティクス社製のマインドコントロール装置が作動して記憶喪失になるのでくれぐれも考えない方が良い.ある人がシリウスサイバネティクス社製のマインドコントロール装置を無効にする装置を売る自動販売機を出そうとしたが,シリウス社は当然その場合には本人がシリウス社に忠誠を一生誓うというマインドコントロールにかかるような装置を自動販売機gensym3141に内蔵済みである.

これはシリウスサイバネティクス社の保有する大量の特許の一つで自動販売機gensym 3141はシリウスサイバネティクス社からしか買えないのである.特許を買う自動販売機は存在するが出せないらしい.詳細は不明である.誰かが犠牲になって試してみる必要がある.

また,ガイド社もガイドの専売権を持っているのでガイドを売る自動販売機も出せない.ガイドの専売権を売る自動販売機の専売権もガイド社が持っている.シリウスサイバネティクス社とガイド社はガイドの専売権を売る自動販売機の専売権を売る自動販売機の専売権がどちらにあるかで長年訴訟で争っているが,これはなかなか決着がつきそうにないのである.それが終われば次の訴訟が起こることは目に見えている.

gensym3141 の話は十分だと思うので,そろそろλの話に戻ろう.

English version

以前,Subether 通信で壊れている自動販売機はどうなるのかという質問があったのでその話をしておこう.自動販売機は函数のアナロジなので壊れている函数というものは何かということを考えることになる.

まず,壊れているとは何かということを考えてみよう.

1. 何を入れても何も出てこない
2. 何を入れても同じものが出てくる.
3. 何か入れると予想できないものが出てくる.

自動販売機がこのような振舞いをすれば,どれも「壊れている」と言えるだろう.ただし,壊れているという言葉はまだあいまいである.このような振舞いを常にする機械を作ることができるのであればそれは「仕様」であるかもしれない.ここでは仕様通りに動かない機械を壊れていると定義しよう.したがって,仕様であるのか壊れているのかは「仕様」を見ないとわからない.λ式は十分な表現力があるので,これらの仕様も書くことができる.

1. 何も出てこない場合: まず,何も出てこないということを定義しよう.もしこれがアルタイルドルの貨幣交換機であれば,何もでてこないということは 0 アルタイルドル出てくるということである.したがって,x アルタイルドル (x = 0)出てくるということで,λx.0 とでも書けば良いだろう.同様に何も出てこないということが0出てくるということならばどんなものでも書き下せる.


2. 同じものしか出てこない場合: 何を入れても同じものが出てくるのは簡単である.その出てくるものを y としよう.λx.y と書けば,これはどんな x を入れても y しか出てこない自動販売機である.

3. 予想できないものが出てくる場合: 再び言葉の定義になるが,予想できないという意味をもう少し明確にしてみよう.予想するのは誰だろうか.これは人間が予想できないということであろう.しかし,これは人間には難しいだけであって,マービンならば Mersennely に twisted 乱数発生器でも見抜くことができるかもしれない.それならば,マービンに予想してもらって,そういう函数を書けば良いのである.たとえば,疑似乱数発生器を使って,一見でたらめであるが,実際には人間にはわからないだけにするという方法である.しかし,チューリングさんが提案したように放射性元素を計算機にくっつけて,その元素の崩壊する様を観測して乱数発生器とするという手もある.この場合にはまず予想が不可能のはずである.これは今でも最高のハードウェアによる乱数生成器であろう.