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

13 / 50
0d013: 万能計算機械 3

「……思えば、ノヴァーク博士はかなり先を読んでいますよね」

 

「何だい急に」

 

計数研究所二階の部屋で、話しかけてきたケレメンにノヴァーク博士は図を描いていた手を止めて返した。

 

「前の数を移す機械の話ですよ。あれの流用として、積を計算できるようになりました」

 

「ああ、その話か」

 

思い出したように言うノヴァーク博士に、ケレメンは少し傷ついていた。少し応用するだけで、とは言っていたが実際にはそれなりに時間をかけてやっと構築できたのである。

 

「ともかく、これが構成です」

 

印字機(シュライプマシーナ)打ちの紙をケレメンはノヴァーク博士に差し出した。

 

: :

* = *

a b<

: : 1 1

* = * * = *

b c< b b<

: : 1 X X X

* = * * = * * = *

c >i c >d c c<

: : X X

* = * * = *

d >e d >d

: : X 1

* = * * = *

e f< e >e

: : X X _ 1

* = * * = * * = *

f >f f >f f g<

: X X X

* = * * = *

g h< g g<

: : 1 X X X

* = * * = * * = *

h c< h >f h c<

: : X 1 _ :

* = * * = * * = *

i >i i >i i .

 

「……さて、感想は?」

 

「初期状態が悪いと思いました」

 

「なるほど」

 

ノヴァーク博士は頷く。確かに、この遷移規則に従う装置には無駄が多い。例えば最初の状態aは次の手番でbに変化して移動するためだけに使われているし、そのbも掛けるべき二つの数を区切る記号まで移動するためだけのものだった。

 

「それと、これが動いている時の模式です」

 

__:11:111:_________

cbbbba<

__:1X:111:_________

>deeee

__:1X:111:_________

>fff

__:1X:11X:X________

hhg<

__:1X:1XX:X________

>ffff

__:1X:1XX:XX_______

hhhgg<

__:1X:XXX:XX_______

>ffffff

__:1X:XXX:XXX______

cchhhhggg<

__:XX:XXX:XXX______

>ddeeee

__:XX:11X:XXX______

>ffffff

__:XX:11X:XXXX_____

hhhhgg<

__:XX:1XX:XXXX_____

>fffffff

__:XX:1XX:XXXXX____

hhhhhhgg<

__:XX:XXX:XXXXX____

>fffffffff

__:XX:XXX:XXXXXX___

ccchhhhhhhhgg<

__:XX:XXX:XXXXXX___

>iiiiiiiiiiiiii

__:11:111:111111:__

.

 

「ん……ああ、下の行が始まった手番での紙帯(リュバン)の状態を示しているのか」

 

ケレメンが説明するまでもなく、ノヴァーク博士は一瞥してその内容を理解した。

 

「……さすがですね」

 

「一応はこの種の理論では文字通りに世界最先端を行っている専門家なのだよ、私は」

 

そう言いながらノヴァーク博士は紙を何回か見直した。

 

「もし君がもう少し効率的に積を求めたいとしたらどうする?」

 

「一つは文字を増やすことです。それが入力と出力の境目なのか、あるいは掛けられるべき二つの数の境界なのかを見分けるのが困難だったので、境界を超えた時に機械の内部状態を切り替えました」

 

「この部分だね」

 

そう言って、ノヴァーク博士は二枚目の紙のある行を指した。

 

__:1X:XXX:XXX______

cchhhhggg<

__:XX:XXX:XXX______

>ddeeee

__:XX:11X:XXX______

 

「掛ける二つの数の右側の分の移動が終わって、左側の数を処理したい状態の時、異なる意味を持つ区切り記号の区別ができないというわけか」

 

出力が終わった機械を戻す状態g、入力右側の数を処理する状態h、入力左側の数を処理する状態cは区切り記号の場所で切り替えられるようにケレメンは設計していた。そうでないと、折り返したときの状態を適切に決定できないためである。

 

「これについて、記号を変える以外の方法はあるのですか?」

 

「ない、はずだ。むしろ、今後無数の入力が考えられる以上はそのあたりをきちんと整える必要がある」

 

やっぱり難しい問題を解かされていたんじゃないか、とケレメンは少し疲れたように息を吐いた。

 

「多少文字数を増やせばもう少し表も……いや、そうすると結局遷移表の書くべき要素数は増えるか。なら、私が示した前提では十分良い解だろう」

 

そう言ってノヴァーク博士は自分の署名と日付を紙の下部に書き込むと、満足そうに厚紙の書類挟みに入れた。

 

「ところで、どうしてこういったものを?」

 

ケレメンは抱えていた疑問を口にした。確かにこれは計算の抽象的概念を取り扱うには良い模型なのだろうし、少しは頭を使うので最近取り組んでいる熱電子管装置の組み立ての息抜きにはなるのだが、その先にあるものがどうにも見えない状態だったのだ。

 

「前に、万能計算機械は全ての問題を解けるわけではない、という話をしたのを覚えているかい?」

 

かなり前のことだな、確か出会った日だっただろうか、とケレメンは記憶を探り、頷いた。

 

「ここで言う()()計算機械というのは、遷移表と紙帯(リュバン)に書かれた文字列の初期状態を適切な形で与えれば、この種の紙帯(リュバン)と機械の組み合わせで行われる計算を再現できるもののことを指すんだ」

 

「……適切な形、とは?」

 

紙帯(リュバン)の上に移す、と言えばいいかな」

 

「電信で表を送るようなものだと考えればいいでしょうか。一行目はこう、二行目はこう、といったように」

 

「概ねそれで間違っていない。ただ、いくつか修正できる点はあるけどね」

 

そう言って、ノヴァーク博士はまだ黒板に残っていた以前の計算機械の遷移表を見た。

 

: : 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 .

 

「この表の内容を伝えたいとしたら、君ならどうする?」

 

「機械の位置や等号といったものは事前に形式を共有しておけば何回も送る必要はないでしょう。例えば一番左上なら」

 

:a:a<

 

「ぐらいにまで省略してもいいでしょう」

 

このあたりの工夫は速いのだな、とノヴァーク博士は考えた。ケレメンがもともと郵便局で働いていて、記号の取り扱いには実用方面という偏りはあるものの習熟しているのがその原因だろう、と推察はできた。

 

「今の文字、今の状態、次の文字、次の状態、移動方向ということか。とはいえこの並びの順番自体に深い意味はない、というのはいいかい?」

 

「ええ」

 

「そして実際のところ、1Xという記号、あるいはabといった状態自体はただのわかりやすくするためのものに過ぎない、というのは問題ないかね?」

 

「……少し待ってください」

 

そう言って、ケレメンは先程ノヴァーク博士に渡した時の紙を作ったときのことを考えていた。

 

あの遷移表に出てくる文字を決める際、ケレメンは何回か遷移表の構築をやり直していた。その過程では内部状態は「1が出るまでずっと左」といった文のこともあった。最終的にそれは小文字で置き換えられたが、別にそうである必要もない。

 

長い文章であろうが一つの塊で扱うことができるのは、電信の経験から知っていた。単語も文章も電線を伝わる電流としては通電の長短にすぎない。それをどう解釈するかは人間側の問題であるし、条約や国際機関によって統一が目指されているものの、様々な解釈の方法が今なお存在していた。

 

「つまりあれですか、全てをええと……一進記数法(エゲシュ・サームレンツェル)で、つまり1を並べて表現するように書き換えるのですか?」

 

「いや、今回は少し事情があってね。長さを揃えたい。そうするとどうしても二種類の文字を使う必要があるから、それなら二進法が使える。二進法については?」

 

「最低限であれば」

 

1、10、11、100、101、110、111といったように1と0だけで数を作る手法である、というぐらいの認識ではあったものの、ケレメンは数学分野の知識として、そして電信技術の観点からそのあたりを知っていた。

 

「文字が4つ、状態が終了を含めて4つ。それぞれ2個づつの文字があればよくて、右と左、あと移動しないことを含めるとこれについても2個の文字が必要になる。5つの状態をまとめるなら10文字だ。対応表を作るかい?」

 

「……別に、正しい表というのはありませんよね?」

 

ケレメンは白墨を手に取ってからノヴァーク博士に確認した。

 

「間違った表なら作れるがね。例えば、同じ文字に複数通りの表現があったり、あるいは異なる文字のはずなのに同じ表現がされていたり、という場合にはうまく機能しなくなるのはわかるだろう?」

 

「故障でたまにあるやつですよ、大抵は折れた針金あたりが挟まっているんです」

 

_ 00 . 00 > 00

: 01 a 01 < 01

1 10 b 10 . 10

X 11 c 11

: a : a <

01 01 01 01 01

 

「こういう形でいいでしょうか?」

 

「君はたぶん具体例を分析するほうが得意な性分なんだろうね」

 

白墨を置いたケレメンに、ノヴァーク博士は感心したように言った。

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

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