帝冠諸邦の計算屋   作:小沼高希

14 / 50
0d014: 万能計算機械 4

「君の方法で数を移動させる機械の状態遷移表を書き起こすと、こういう形になる」

 

:0101010101;1001111000;1101110101;0001001100;0110011000;1010101000;1110111000;0010110101;0111011100;1011101100;1111101100;0011010010:

 

ノヴァーク博士は何も見ることなく、記号をさらさらと書いていった。

 

「……それで、これをどうするんですか?」

 

「これがあれば、どんな紙帯(リュバン)式の機械であってもそれを模倣できるような『万能計算機械』が作れるのだよ」

 

自慢げに言うノヴァーク博士に、ケレメンは思考を回した。

 

「……どう作るんですか?」

 

「必要な材料は既にだいたい揃っているはずだよ。掛け算をやる機械で、複数の入力を処理したり、記号を使った機能の切り替えをやったり、そういうのには慣れてきただろう?」

 

「慣れてきましたけど……」

 

「なら、少し考えてみるといい。実際に完全な状態で構築しろと私は言えんさ」

 

そう言って、考え込むケレメンをノヴァーク博士は珈琲を飲みながら見ていた。

 

参考までに、ノヴァーク博士の博士論文である「計算機械の等価性と限界」にはいくつかの誤りがあった。それらは決して本質的なものではなかったものの、仮に論文通りに計算器械を実装した場合には想定しない動作をする点がいくつかあった。

 

それもあって、ノヴァーク博士はケレメンに完全な万能計算機械を構築させようとはしていなかった。

 

「……掛け算を足し算の繰り返しにしたように、万能計算機械が果たすべき役割を分けて、それぞれを内部状態の変化で示すようにすればいいわけですよね」

 

そう語りだしたケレメンに、ノヴァーク博士は静かに頷いた。

 

「万能計算機械も、基本的には他の紙帯(リュバン)式の機械と同じように動くし、同じように遷移表が作れる、つまり今までやった作業を細かくわけていけばいい」

 

そう言って、ケレメンは立って黒板に文字を書き始める。

 

「今の機械の状態と紙帯(リュバン)上の文字を読んで、その組み合わせを表から探して、文字と状態を書き換えて、機械を移動させる……」

 

「うん」

 

「表はもう0と1と二つの記号で紙帯(リュバン)上にもう書かれているから、そこから探す方法を見つければいいだけ、問題はどうやって探すか……」

 

ケレメンの指は、黒板を左右に行ったり来たりした。

 

「もしわからないなら、助言をしても」

 

「静かにしてください」

 

「ほう」

 

満足そうに、ノヴァーク博士はケレメンの手を見た。

 

「まずは今の状況から遷移すべき状態を確認して……仮想的な紙帯(リュバン)紙帯(リュバン)の上に作る必要があるのか」

 

ケレメンの技術者としての腕の一つは、与えられた材料から動く機械を作ることができることにあった。それぞれの部品を触り慣れていて、その限界を知っていれば、ある程度であれば組み立てる時の見当がつく。

 

それはノヴァーク博士のようにより広い視点から数学的に表現可能な構造を把握しようとする姿勢とは異なっていた。どちらが良いとか、どちらが有用かという問題ではない。単純に実用的な計算機械を作るだけであればケレメンの技術で十分であっただろうし、数理模型としての計算機械はノヴァーク博士の専門分野であった。

 

「……作れる、とは思います。ただ、相当な数の記号と状態が必要になりますし、表もかなり複雑になる」

 

「工夫をすれば減らせはするけど、それは今のところ趣味に過ぎないからね。では、説明をしてみよう」

 

「……テープの構造を、このようにします」

 

:状態遷移表:現在の状態:仮想的紙帯(リュバン)

 

「ふむ。機械の位置はどうやって表現する?」

 

紙帯(リュバン)に書く記号を増やします。0や1の亜種を用意して、その亜種によって場所を表現できるはずです」

 

「印をつける、という表現でもいいかもしれないね」

 

ケレメンはノヴァーク博士の言葉に頷いた。

 

「よろしい。機械の動作について、ある程度説明してくれ」

 

「状態遷移表のそれぞれの要素は今の文字、今の状態、次の文字、次の状態、移動方向からなります。今の記号と今の状態が一致するかを端から確認していき、確認が終わったものには……博士の言葉を借りるなら、印をつけていきます」

 

「例外処理は今は考えなくてもいい。さて、一致するものが見つかったら?」

 

「まず仮想的紙帯(リュバン)にある文字を変えます。これは記号の数字をひとつひとつ覚えながら、機械の場所を示す記号まで行って、そこで書き換えればいい。書き換え終わったら、次は状態を切り替えます」

 

「移動も同様に、か」

 

「はい。あとは最初の状態に戻れば、計算機械を模倣する計算機械を作れるはずです。もちろん途中の作業でつけた印は消していく必要がありますが、これはそう難しくはないはずです」

 

前に作った機械で、最後の仕上げとしてX1に変える機械の状態を導入していたのをケレメンは思い出していた。それは最初のノヴァーク博士が示した機械を踏襲したものであったが、それがちょうど繋がったのだ。

 

「これで一つ、面白いことが示せたことになる」

 

ノヴァーク博士は満足そうにケレメンの目を見上げた。

 

「もしそれがどんな多くの文字や状態を持っていた紙帯(リュバン)式機械であったとしても、このような変換を挟むことで複雑さは落とすことができる」

 

「……そうすると、問題はあと二つあると思います」

 

「二つ?」

 

想像と違う質問に、ノヴァーク博士は首を傾げた。

 

「一つ目は、この紙帯(リュバン)式機械は数学的概念をどこまで表現できるかということです。足し算や掛け算はできましたが、それ以上のことはできるかが気になります」

 

「それについてはできる、と言えるよ。なにせ単純な作業を組み合わせて複雑な数学的構造を作るというのは、戦後の数学で色々と行われてきたことだ」

 

数論、集合論、幾何学、代数学、解析学といった幅広い分野が、多くの困難や原理的限界がありながらもある程度統一された土台のもとに構築されていた。いくつかの基本的な規則から新しい規則を作ることできる体系があれば、非常に複雑な構造が作れることは別に計算機械科学が初めて示したことではない。

 

「……事実上、全ての数学分野は万能計算機械の計算対象であると言えるだろう」

 

「では、二つ目です。この万能計算機械は、もっと強化できるのではないですか?」

 

「具体的には?」

 

「そうですね……たとえば紙帯(リュバン)を増やせませんか?」

 

「では、その手の試みの話をしようか」

 

ノヴァーク博士はそう言って立ち上がり、黒板の前に立った。

  1. 目次
  2. 小説情報
  3. 縦書き
  4. しおりを挟む
  5. お気に入り登録
  6. 評価
  7. 感想
  8. ここすき
  9. 誤字
  10. よみあげ
  11. 閲覧設定

▲ページの一番上に飛ぶ
X(Twitter)で読了報告
感想を書く ※感想一覧 ※ログインせずに感想を書き込みたい場合はこちら
内容
0文字 10~5000文字
感想を書き込む前に 感想を投稿する際のガイドライン に違反していないか確認して下さい。
※展開予想はネタ潰しになるだけですので、感想欄ではご遠慮ください。