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

18 / 50
0d018: 万能計算機械 8

「とはいえ証明は難しくない。この模型のもとになっているのは(サクレーニ)みたいな環境だと思ってほしい」

 

そう言ったノヴァーク博士は席へ戻った。

 

「棚には記号が振られていて、手元には作業手順書がある。手順書に従って棚から紙を取り出し、紙に書かれた数字を書き換え、判断をしていく」

 

「それにしても、指示の種類が少なすぎませんか?」

 

「そうでもない。もし万能計算機械の模倣だけなら、これだけで十分だ。そして万能計算機械が模倣できるなら、今のところ真っ当な方法で計算できると知られているあらゆる数学的処理は実現可能だ」

 

「ああ、また効率が無視されている……」

 

ケレメンは息を吐いた。

 

「実際に解く問題を想定してしまうと、汎用性が失われるだろう?」

 

「万能工具って使いにくいんですよ、専用のものを揃えるのが基本だ、と父も言っていましたが」

 

「君の父上は……そういえば、だったな。すまない」

 

ケレメンが休学していた理由の一つが彼の父の死による金銭的問題である、という話を以前聞いていたことをノヴァーク博士は覚えていた。

 

「いえ、気にしないでください。戦時中は鉄道砲(アイゼンバーンゲシュッツ)の技師だったので、そのあたりの話はよく聞かされたんです」

 

「……なるほど。とはいえ、ある一つの目的のために特化しすぎるとそれはそれで問題を生むだろう?程度ではあるだろうが」

 

ノヴァーク博士の言葉に、ケレメンは渋々ながらも頷いた。

 

「とはいえ証明は簡単だ。例えば紙帯(リュバン)に乗せられる記号が十個だったとしよう。空白を0、それ以外を1から9に割り当てれば機械の直前、そして左と右に伸びる紙帯(リュバン)はそれぞれ三つの数で表せるのはよいか?」

 

「かなり長い桁数になるでしょうが、そうですね」

 

「機械を左右に動かすのは、桁を一つ下げて一番下の数字を抜き取ること、あるいは桁を一つ上げて、一番下に数字を足すことに相当する。理解はできるかい?」

 

「……少し黒板を借りても?」

 

「もちろんだとも」

 

席を立って白墨を持ったケレメンの背中を見ながら、ノヴァーク博士は珈琲を一口飲んだ。

 

434294 = 43429 × 10 + 4

 

「左から右の操作をすれば、つまりは10で割って商と剰余(あまり)を計算すれば桁が一つ下がって一番下の数字が得られますし、その逆もできますよね。言いたいのはこういうことですか?」

 

「その通り」

 

「あと左の紙帯(リュバン)の文字を数字に変換するときは左から右に読むようにすれば、機械に近い文字が下の桁に対応するようになります。そういう説明をきちんとしてくださいよ」

 

「いや、君もこの手の数学的作業に慣れてきたようで何よりだ」

 

満足そうに言うノヴァーク博士に、ケレメンは呆れたような顔をした。

 

「で、これを使ってどういう魔法(マーギア)を見せてくれるんですか?」

 

「仕掛けのある手品(ビューヴィーセト)に過ぎないよ」

 

杖ならぬ白墨を渡されたノヴァーク博士は黒板に向かい、数行の文字を書いた。

 

1: -A →4

2: +B

3: -N →1

4: cseng

 

「今回使う(サクレーニ)は三つ、ABNだ」

 

Ncsengって何ですか?」

 

0(ヌッラ)の頭文字と電鈴の音」

 

「なるほど、作業終了ですか」

 

ケレメンは以前にノヴァーク博士が作業終了時に電鈴を鳴らせばいい、と言っていたことを思い出した。

 

「そう。+-の後にあるのは操作対象の(サクレーニ)。矢印の後にあるのは-命令の対象となった(サクレーニ)の中に入っていた数字が0だった場合に移動する先の行数だ。行数は左の数字になる」

 

「……あれ、すると3行目は無条件で1行目に戻りませんか?」

 

ケレメンは黒板の「-N →1」という行に着目した。Nという棚は名前からして常に0だとしたら、無条件で1行目に行くことになる。

 

「そう。Nという棚は移動のためだけに使っている」

 

「命令数を減らすための犠牲ですか」

 

「……そうとも言うね」

 

「もう少し使いやすい命令を使ったほうがいいのでは?」

 

「なら作っていこうか。まずは無条件の移動をただの矢印で表そう。」

 

1: -A →4

2: +B

3: →1

4: cseng

 

「さて、この命令表が何を示しているかわかるかい?」

 

「最初に棚に入っている数字がわからないとどうにもなりません」

 

「それもそうだ。Aは3、Bは0でいこう」

 

そう言ってノヴァーク博士は白墨をケレメンに渡した。

 

「……命令1を実行して、入っている数字が0ではないので1を引いて命令2へ、とやっていけばいいんですよね?」

 

「その通り」

 

A B

3 0

1: A- →4 2 0

2: B+ 2 1

3: →1 2 1

1: A- →4 1 1

2: B+ 1 2

3: →1 1 2

1: A- →4 0 2

2: B+ 0 3

3: →1 0 3

1: A- →4 0 3

4: cseng 0 3

 

単調に手を動かす作業にも慣れたケレメンは、思ったより早く終わった作業の結果を見ていた。

 

「数を移すやつですか」

 

「最初にやるのはこれがいいだろう?」

 

そう言ってノヴァーク博士は笑みを浮かべた。

 

「……前に比べて短く終わりましたね」

 

「今回は $3x + 1$ 回の操作で終了する。前は $2x^2 + 5x + 6$ だったから、こちらの方式のほうが効果的だろう?」

 

「……あの、これって実際には熱電子管などを使った機械で実現するんですよね」

 

「そうなるね」

 

「前に作った記憶回路と入力を繋いで、周期(チークロ)信号を送るだけなら1回の操作で終わりませんか?」

 

「なら、その命令を搭載してしまおう」

 

ノヴァーク博士はそう言って、黒板にまた字を書いた。

 

R倉庫(ラクタール)Rから取らせてもらった」

 

1: R- →3

2: →1

3: B- →5

4: →3

5: A- →9

6: B+

7: R+

8: → 5

9: R- →11

10: A+

11: cseng

 

「……最初の1行目と2行目はRが0になるまで減らして、3行目と4行目はBを0にしている?」

 

「そうすると作業が楽になるからね」

 

「これにも後で名前つけましょうよ。それで、まずはAを0にしておいたBRに移動させて、この過程でAは0になって9行目に進む……」

 

「そして?」

 

「あとはRの数字をAに戻している。ああ、確かにRは倉庫みたいな働きをしていますね。作業をするための一時的な物置ですか」

 

「これで君のやりたかった命令も作れた。これをまとめて」

 

B := A

 

「と書くことにしよう。数学の代入を示す記号を持ってきた」

 

「そうすると、先程出た0にするための命令は」

 

A := 0

 

「とでもするのがいいですか?」

 

「そう。あとは余りを計算できることを示せば必要な部品は揃う」

 

それを聞いて、ケレメンはしばらくじっと黒板を見た。

 

「……一つ、効率が悪いですが方法は思いつきました」

 

「ほう」

 

Aを10で割ってBを商、Cを剰余になるようにしてみます」

 

「やってみたまえ」

 

ケレメンは何回かやり直しながらも、黒板に白墨を走らせていった。

 

1: B := 0

2: C := 0

3: A+

4: A- →25

5: A- →24

6: A- →23

7: A- →22

8: A- →21

9: A- →20

10: A- →19

11: A- →18

12: A- →17

13: A- →16

14: B+

15: →4

16: C+

17: C+

18: C+

19: C+

20: C+

21: C+

22: C+

23: C+

24: C+

25: cseng

 

「なるほど」

 

ノヴァーク博士はケレメンの書いた命令を一瞥して呟いた。

 

「先に1を足して余りの問題を楽にしておいてから、Aを減らして0になった時で場合分けをして、Cに換算する場所をずらしていくのか」

 

「たぶん博士ならもっと綺麗にやるのでしょうが」

 

「とはいえあまり変わりはないよ。Aが10以下になったかどうかを判定するためには引き続けて0になったかどうかでしか判定できない以上、この方式だとどうしても命令数がかさむ」

 

「……あとは、これの逆の命令を作ればいい、と」

 

「それも難しいことじゃない。棚の数字を1減らして別の棚に10増やすことをすれば十倍にできるし、同じように別の棚を足せば積と和の組み合わせは作れる」

 

「機械の動作は条件分岐でどうにかしていけば……」

 

「この種の棚方式の機械でも、紙帯(リュバン)式の万能計算機械を模倣できる。証明終わり」

 

そう言ったノヴァーク博士は背筋を伸ばし、暗くなってきた窓の外を見た。

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

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