壊れている販売機 | Chandler@Berlin

Chandler@Berlin

ベルリン在住

English version

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

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

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

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

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


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

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