0d011: 万能計算機械 1
計数研究所の二階には黒板と本棚、そして珈琲を淹れるための設備一式が揃えられていた。上等な軽銀製の沸かし器は挽いた粉を入れれば手軽に二杯の珈琲を作ることができるということでノヴァーク博士がわざわざ統一都市同盟の業者から取り寄せたものである。当然ながら、電気と上下水道の設備工事担当はケレメンであった。
「
温かい珈琲を渡しながら、ノヴァーク博士はケレメンに聞いた。
「たぶん由来は織機用のものですよね、柄を織る時の糸の位置を指定するために孔を開けた紙と機械仕掛けを使ったのが始まりかと。指の幅ほどの
話し続けていたケレメンは、ノヴァーク博士が指揮者のように振った手を握るとともに口を閉じた。
「十分だ。というより、十分すぎないか?」
「郵便局でやる電信でよく使われますからね、油っぽいのと孔を開ける時の廃棄物とか色々問題はありますが」
「……そういう詳しい相手だと、これから私の話す模型が非現実的だと言われそうだな」
ノヴァーク博士は少しだけ視線を下げた。
「いえ、模型は技師であっても普通に使いますよ。それが有用である限りは」
「なら構わないか、これは少なくとも計算機械科学の分野では有用だ」
そう言ってノヴァーク博士は立ち上がり、黒板に断続的な線を描いてから、線の下部に磁石を一つ置いた。
_____________________
*
「
「あくまで模型だからな」
訝しむような口調のケレメンに、ノヴァーク博士は苛立ちにはまだ届かない不満を込めた声で言った。
「はい」
「さて、この下にあるのは読み取りと書き込みと記憶ができる機械だ」
「まとめてあるんですね」
ケレメンは郵便局にあるような電信用の複合装置を思い浮かべていた。
「そうすると利便性が高い。さて、これを使うとちょっとした計算ができる」
「計算、ですか?」
「そう。事前に
「ああ、黒板の例と同じ形ですね」
ケレメンは以前にやった二桁同士の積を求める筆算を思い出していた。あの時のノヴァーク博士の説明のように、既に黒板に問題が書かれている状態が与えられて、そこから作業によって計算を行うのだろう。
「それで、例えばどういう計算ができるんですか?」
「2掛ける3、はどうだろう」
「一気に小さくなりましたね」
「仕方ないだろう、この万能計算機械はかなり幅を取る計算方法を使うんだ」
「どういうことです?」
「ひとまず数字の表記には
聞き慣れない言葉に、ケレメンは首を傾げた。
「例えば三を111と、五を11111と表現するような方法だと思ってほしい」
「つまり百なら1を百個並べると?」
「そうなる」
すると例えばもっと大きな数を扱うのであれば、それだけ長い
「……計算機械の有効数字、いくつにするつもりですか?」
「八桁ぐらいでいいと考えている。あとあくまで模型の話だ、実装はまた別だから安心したまえ」
ケレメンの懸念点を先んじて説明したつもりのノヴァーク博士は、初期状態を黒板に描いていった。
___:11:111:__________
*
「これは数字と数字の区切りの記号ですか?」
「そうだ。ただ、表現としてはこれも『文字』に含めるとしよう」
ケレメンは電信と同じだな、と納得した。電信では文字や空白、記号は全て同じように信号の切り替えによって示されるし、「通信終了」のような印刷できないものも送ることができる。
「……単純な入力状態ですね」
確かに言われてみれば筆算の前の状態と似ていなくもない、とケレメンは考えた。数が並べられているというところぐらいしか共通点はないが。
「さて、では機械にある規則を仕込もう。厳密に数学的に定義することもできるのだが……」
「規則に制約はありますか?もしないなら『左の数字二つを確認してその積を右に書け』で終わりますけど」
「……君はそういうことを社会的に適切な行動だと思っているのかい?」
ノヴァーク博士の声色は、苛立ちに入りかけていた。
「機械や装置を目的外の方法や想定されていない方法で用いることはあります、もちろん安全に配慮する必要はありますし、そう常に使えるものではありませんがある程度は考えておくべきかと」
確かに技師としてはそう言う見方もあるか、とケレメンの弁明にノヴァーク博士は納得した。
「……なるほど。では『機械は置かれている場所の文字のみを読み取り、書き換え、移動することができる』、そして『機械の動作は置かれている場所の文字と、その内部状態のみに依存しなくてはならない』としよう」
「近視の機械だと考えればいいでしょうか」
「面白い表現だ。その通り。この機械は、眼の前の
「それでいて拡張性も必要、ということですよね。例えば同じ方法で4掛ける7やもっと大きな数が書かれていても、きちんとそれを計算できるようにしなくてはいけない……」
そのような制約の中では、簡単な掛け算すらどのようにすればいいのかケレメンには見通しが立たなかった。
「その通りだ。なお、先程の制約は人間にもある限界を押し進めただけに過ぎない」
「見ることのできる範囲と書き換えることのできる範囲は狭く、覚えておけることも少ない……少なくとも、無限ではない、と」
「そういうことだ。とはいえ、先にまず単純な例を示したほうが良いだろう。これは入力としてある数を与えられ、出力としてその数をそのまま出すというものだ」
「配線でいいなら導線一本で済みますね」
「抵抗を無視した理想的な模型なら、な」
少し皮肉っぽくノヴァーク博士は言い、黒板を書き直した。
____:11111:__________
*
「規則の書き方は色々とあるだろうが、ひとまずわかりやすさを優先して冗長にはなるけどわかりやすく表現してみよう」
: : 1 X X X _ _
* = * * = * * = * * = *
a a< a >b a a< a >c
: : 1 1 X X _ X
* = * * = * * = * * = *
b >b b >b b >b b a<
: : 1 1 X 1 _ :
* = * * = * * = * * = *
c >c c >c c >c c .
ノヴァーク博士は既に頭の中で作っていた表を黒板に描いていった。二行目が始まる頃には、ケレメンもその意図を把握していた。
「等号の左辺が今の状態、右辺が次の状態ですか」
「そう。一手一手作業が進んでいく形になる」
「Xというのは追加された文字ですか?」
「そうだ」
文字を勝手に追加していいなら少しは楽そうだ、とケレメンは安堵した。
「機械の下にある小文字は内部状態を示していて……それと
実際の機械であれば
「別に書き換えなくてもいいのだが、統一性のために同じ文字で上書きしたとみなしてもいい」
「わかりました。これに従って作業をしていくと、数を移すことができる、と」
「そのはずだ。やってみるかい?」
「やってみますか。ところで、機械の初期状態はaですか?」
「その通り。別に特別なものでもいいのだが、すぐに遷移する以上わざわざ専用のものを作るのも面倒だ。それと機械の状態が
頷いたケレメンはノヴァーク博士から白墨を渡され、機械のかわりである磁石を左手で抑えて左に動かした。