第5話 平方根
アンネ先生には平方根の演算魔法陣の試作が遅れることを了承してもらった。左手の怪我をひどく心配されてしまった。「お守りです」と渡されたのは組み紐のアミュレット。左手に巻きつけ、怪我の
アンネ先生は学生の間ではアカデミーの花などと呼ばれているようだ。可憐な雰囲気があるが、アカデミーの研究員をやっているのは伊達ではなく、天文学の鬼のような人である。3度の飯よりも天体観測が好きなような人で、すっかり嫁き遅れてしまった、などと本人は話していた。
学生などは教鞭をとるアンネ先生の迫力に気圧されして、ただ物陰から
ところで、平方根の計算というのはいささか面倒ではあるのだが、筆算で手計算することができる。筆算というのは素晴らしいもので、その手順さえ守れば誰でも同じ結果を得ることができる。これは魔法陣を組む上では重要な概念だ。魔法陣が自発的に何かを考えてくれるわけではないので、魔法使いは求める挙動をさせる
平方根の計算方法は、原始的には近似をあてずっぽうに探っていく。例えば52の平方根を考えてみよう。
…
6×6 = 36
7×7 = 49
8×8 = 64
…
であるから52の平方根は7と8の間にあるはずである。さらに
…
…
であるから52の平方根は
しかし、このやり方では手間がかかるため、より効率的な手法が考え出された。
整数での近似 7 で元の数を割った値、(
注)これは√52 = 7.211102… をよく近似できている
こうして繰り返すことで効率よく精度の高い近似値を得るという方法だ。これを効率よく筆算で行うように工夫されたのが平方展開の
研究室に戻って、まずは掃除をする。魔法陣は血で描かれるので、血の汚れによって容易に破損する。怪我をした場合や、血で作られた導通インクをこぼした時などは念入りに掃除しておかないと、予期せぬ血痕で魔法陣が想定通りに機能しないことがある。
掃除がひと段落したところで、ようやく試作の
魔法陣の動力部分に左の手のひらを重ねる。体内で作られた魔力は心臓から血を通じて人体の隅々にまで送られる。その魔力は手のひらから魔法陣に伝えられ、魔法陣が鼓動する。
魔法陣の鼓動が落ち着いたら魔法陣のスイッチを操作して
ここに1を加える。右端のフラッグが立つ。(_ _ 🚩)よし、うまく動いている。さらに1を加える。(_ 🚩 _)よし。2進数の繰り上がりがうまくいっている。さらに1を加えるごとに(_ 🚩 🚩)(🚩 _ _)とフラッグは変化し、うまく2進数の加算魔法陣として機能していることを確認できた。魔法陣の動力部分から手を離すと、魔法陣の鼓動はおさまり、フラッグは霧散した。
素晴らしい……!
試作は僅かに3つのフラッグではあったが、魔導ゲートの組み合わせ方は確立できた。同じ回路を複製していくことでフラッグの数はいくらでも増やせるだろう。10本のフラッグであれば1024までの数を扱えるし、20本のフラッグであれば約100万までの数を扱うことができる。国家予算を扱うにもこのぐらいのフラッグで足りるはずだ。
まずは計算結果を記録して連続で加算することが可能な魔法陣を試作してみるとするか。
作業台に新しい板を用意する。左手の怪我がズキズキと痛む。アミュレットを見て平方根の演算魔法陣の失敗が思い出される。落ち着いて作業しなければ。
まてよ。平方根……?
もしや平方根も2進数で演算すれば魔導回路を単純化することができるのでは……?桁数は多くなるが、各桁の魔導回路は2進数だと格段にシンプルになる。まてまてまて。さらに
いろんな糸が繋がったように閃きが頭を駆け巡る。下書き用の木炭を手にした私は、一心不乱に魔法陣の設計を描いていた。
----------
アルゴリズムの話として平方展開の筆算について取り上げました。コンピュータ・プログラムで言うところのアルゴリズムに近しいかつ、一般的に認知度の高いものとしてはやはり筆算だと思うのですが、足し算や掛け算の筆算では面白みにかけるのもあり、作中では平方展開を扱っています。具体的なやり方は検索してみてくださいね。
フリップフロップのメモリと2進数による加算器というのは専門的になってきますので記述の踏み込み具合の加減がなかなか難しいですね。雰囲気でなんか大変なことしてるなあと感じていただければ十分かと思います。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます