Chandler@Berlin -64ページ目

Chandler@Berlin

ベルリン在住

English version

しばらく休暇で Edinburgh と Durham の友人を尋ねていました.古い友人とale を飲み,古い街並みを歩くことができ,楽しい休暇でした.


Edinburgh castlee



イギリスの電車の歴史は古いので電車のシステムが発達しているかと思うとなかなかそういうわけでもないようです.我々は coach H に席を予約していたのですが,写真のように手書きの車両番号とはちょっと驚きました.その日には coach J がなかったため,「本日,この車両は J 車両が一両不足しています.J 車両にお席を御予約の方は,車両 B に,車両 B の御予約の方で車両 B にお席が見あたらない方は車両 F をお探し下さい.」とアナウンスがありました.なんと難しい電車なんだ,イギリスの人はこんな複雑な予約をするのか.と友人と話をしていた所,私達の回りでは席を探している人が何人もうろうろしていました.そのうちの年配のお一人が,「なんて素敵なやりかたなんでしょう (What a beautiful organization)」とおっしゃっていたのが印象的です.(organization は組織化するとか手配するというような意味ですが上手く訳ができません.) イギリスのコメディがなぜあんなに面白いのかということの理由を垣間見た気がします.
Coach F Coach H
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 (次のもの) であり,次の数を生む函数のことである.これがあればどんな自然数も作ることができる.手順を与えることでもっと複雑な計算も可能である.次回はもう少し複雑な計算をする機械を考えてみよう.

English version

前回丸は数を示す記号といったが,Peano の定義にはでてこない.定義されたのは Zero だけであり,Zero は四角を使ったのであった.機械に2つの数を教える時に四角を使っているだけでは Figure 2 のようにどこで区切りかわからないので,丸を使って区別しているのだ.空白記号(スペース)を使えばいいではないかというかもしれない.もちろんそうだが,スペースという記号もやはり機械に教えなくてはいけないのだ.たとえて言えば数字の 0 のようなものが必要なのだ.0 というのは「何もないということがある」ことを示している.何も書かないとあるのかないのかまったくわからないが,0を書くことによって「0 がある」ことを示すことができる.0 は「無いことを示すことができる」のでまったくすばらしい.ところでスペースと言えば日本語には単語を区切るスペースがない.だから日本語処理は単語を区切る形態素分割から初まる.スペースは何もないことを示す文字である.これも 0 同様にすばらしい発明である.老子で言えば無用の用であろうか.

figure 2 peano's numerall

λ計算での数,チャーチ数は Figure 1 と同じように定義される.
 

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

よく見ると f の数が自然数に対応していることがわかるのではないであろうか.結局,1 を f 一つ,2 を f 二つ,3 を f 三つ,で示しているのがチャーチ数である.これが数の定義である.これは Figure 3に示すように Figure 1 の表現とほぼ同じことがおわかりだろう.

Figure 3 Church numerals

マービン「長かったですねえ.ブログ9回目でやっと数を定義できただけですか.Wikipedia の Page ではチャーチ数が出てきた時にはλの定義も終ってますよ.しかも単なる「四角の数」で数を定義するという単純さ.いや単純さが悪いわけではないのですが,簡単なことを学者ぶって単に難しく言っているだけに見えますねぇ.どうやって計算するのかもまだこれからとは.私のように宇宙を5回も経験した者でもこんなに遅いと気が滅入りますね.」
 

しかし,マービン,チャーチ数がどんなものかはわかってもらえたのではないだろうか.チャーチ数をそのまま出しても Peano の定理がないとこれが自然数だとはわかりにくいのではと考えたのだ.Peano の定理それ自体も定義だけ読んでも味気ないと思うのだが.

マービン「どうですかねえ.私は疲れました.まあ数は定義できたのかもしれませんが,計算に不向きと言われているローマ数字の方がまだましのような.2008を書くのも大変だ.私のコプロセッサも気が滅入ったようです.」

ようやく数が定義できたので,次は函数について考えよう.

OK. We have now numbers, let's compute it... so functions.