手順を実行する機械 SUCC mark 1 | Chandler@Berlin

Chandler@Berlin

ベルリン在住

English version

パスカルは親父さんの税金の計算の手伝いのために計算機を作ったそうである.大量の計算を手で行うのは大変である.私も計算が苦手であり,計算機さえあれば計算を自分でしなくて良いので大学で計算機を学んだ.ところで時々計算機の専門家ならば計算は得意であると思っている人がいるので困る.暗算が得意ならば計算機なぞ不要であり,学ぶ必要はないのだ.空が飛べれば飛行機など作らなくても良いだろうし,遠くの人と心を瞬時に通わせることができれば,電話など発明する必要もない.私は計算が苦手である.だから計算機科学を学んだのだ.計算機を作ってみたい.

Figure 4 はシリウスサイバネスティック社製の SUCC 1 号機という計算機である.この計算機は一つのチャーチ数を入力としてその次の数を生成する計算機である.しかしこの計算機はもちろん人間のように数の概念を持っているわけではない.入力が与えられると後に示す手順を繰り返すだけである.ある意味自動販売機と同じである.自動販売機も数を理解しているわけではないが,お釣りの計算ができるように,この計算機も計算ができる.


fig04 succ1


SUCC mark I の計算の手順は次の通りである.

fig05 succ1 init

1. 入力が in の上に与えられる.Figure 5.初期状態.入力(in)にチャーチ数 0 が与えられた場合.(チャーチ数 0 は丸一つに四角一つで示されたことを覚えているだろうか?)

fig06 succ1 proc

2. SUCC 1 号機は左から順に同じ形のタイルを out に並べる.Figure 6 入力のコピー


fig07 succ1 result

3. SUCC 1 号機は出力の最後に一つだけ四角のタイルを置く.Figure 7 計算終了.

この図では,チャーチ数 0 を入力したら,なんとチャーチ数 1 が出力された.チャーチ数 1 を入力したら,チャーチ数 2 が出力されることはおわかりだろう.ついに計算機ができた! マービンは黙っていて欲しい.マービン「...」

こんな単純なものはばかげていると思うかもしれない.しかし,これは現存する計算機の基礎である.ちなみに SUCC は Successor (次のもの) であり,次の数を生む函数のことである.これがあればどんな自然数も作ることができる.手順を与えることでもっと複雑な計算も可能である.次回はもう少し複雑な計算をする機械を考えてみよう.