ケムリクサのアカイロはどうやって作るか
ネタバレ注意です。
ケムリクサというアニメにおいて、ひとつの元凶といえるのがアカイロという葉の存在です。こいつです。
こいつがどのようにして作られたのか、プログラミング言語で仮コーディングしてみたところ、結構うまくいったので調子に乗って公開する次第です。興味がある方は暇つぶしにでも読んでいただければと思います。いわゆる冷奴記事です。
なお、この記事はアニメ「ケムリクサ」について視聴済みであることを前提としています。まだ視聴しておられない方にとっては面白くないばかりか、ありえないくらいのネタバレ記事なのでご注意を。
各葉の設定
まず、前提として各葉の機能の確認です。
「ムラサキ」「キイロ」「ダイダイ」については、原作準拠+独自の補足能力を想定しています。ムラサキは葉の形状については想像です。そんなに変じゃないと思いますが。
「停止」はムラサキの機能を考える上で恐らくある機能として考えました。コレがないと、ぶっちゃけ赤いケムリクサの機能がちゃんと説明できないんです。
ムラサキの機能
ムラサキは劇中で地球の文化財を複製するケムリクサとして登場します。葉の形状は劇中に出てこないので、山葡萄を元にした独自の意匠です。複製機能には制限があり、生物、特に人間に対しては使用できないと説明されます。
実はコレ、SFだけでなく実際の宇宙科学において、ワープや瞬間移動を困難にする要件と重なっているのではないかと思っています。これらはすべて、あらかじめ対象をスキャンする必要があります。プラスチックのような、安定した固体をスキャンして複製するのは簡単です。複製元に特徴的な傷などがなければ実質的に完璧な複製も作れるでしょう。
ところが、生物は原理的にはコピー不可能です。生物の体の中では常に化学反応が無数に起こっており、さらに化学反応が次の化学反応を起こしています。生物をコピーするためには、ある瞬間における化学反応をすべて含んだコピーを行う必要があります。
腕は12時21分11.0000000000001秒にスキャンしたけど、
足は12時21分11.0000000000002秒、ではダメです。完璧に同時である必要があります。常に変化しているのが生物であり、それが止まったらそれは死そのものです。
従って、ムラサキは複製対象が時間的、化学的に停止している状態を想定することになります。そして、対象を複製するという特性や対象を回復するという特性から、モモイロやミドリの関与も示唆されます。
停止のケムリクサ
前述のムラサキは、停止機能が必要であると書きました。無機物であっても風で吹かれて動いたりしては困るので、対象を停止する機能が必要です。それに、アカイロも停止に似た機能を持つことから、2つの可能性が考えられます。それは、
1.ムラサキが停止機能を持っている
2.停止機能という別のケムリクサがある
のどちらかです。僕は別のケムリクサの機能を呼び出していると考えています。
モモイロ、キイロ、ミドリ
この三種類は概ね原作で明確に言及された機能だけです。ただし、キイロについては対象の照準とかレーザー的な機能が別にあるのではないかと考えています。
ダイダイ
ダイダイについては、ちょっと補足。ダイダイは、ただノートのように情報を記録するのではなく、情報をもっと大規模に出し入れできる端末であると考えています。後述。
ムラサキのコード
ではまずムラサキの擬似コードです。C言語風ですが、わかりにくいかもしれないので右側に対応するフローチャートも表示します。
ムラサキは、対象を複製します。そのためにまずコピー元の情報とコピー先の情報(場所とか)を指定する必要があります。対象が生物なら安全のため機能を停止します。
無生物であればまず対象を停止(または安定化)し、モモイロの機能でコピーし、その後コピー元とコピー先を元に戻します。この場合、内部的に3種類のケムリクサを使います。
単純なアカイロの作り方
ではムラサキをアカイロに改造するにはどうするか。アカイロはケムリクサを停止するのが目的なので、停止のフレーズに入ったらそこで機能停止すればよいのです。自動的に対象に照準を合わせて情報を読み取らせるために、キイロとダイダイを先行させます。加えて、ムラサキの後半機能は削除してしまいましょう。
これで機能を停止するケムリクサの完成です。
最初の読み込み部分はごちゃごちゃしてますが、括弧を使った入れ子構造で表すと
こんな感じです。それぞれの機能を順に呼び出しているのです。
このケムリクサを投げつければ、対象のケムリクサを一個、無効化できるはずです。
暴走するケムリクサ
しかし、ここで天才りりはさらなる改造を施したと考えられます。
通常のケムリクサは一葉性です。複葉ではありません。しかし、アカはというと
枝分かれしています。りりの願いは、他のケムリクサを殲滅することです。一個一個やっていてはキリがありません。彼女は後に語っています。
「すこしずらした色もいっしょに動くようにした」
これは、コンピュータでいうところの「マルチスレッド」あるいは「マルチタスク」ではないでしょうか。しかも、自己増殖するタイプの。
停止動作と平行して、別の赤いケムリクサ機能を起動するようにするとどうなるか。対象がなくなるまで永遠に増え続ける無限増殖が実現されます。
実務経験の浅いりりは気付かなかったのでしょう。これはプログラムで言うと「スタックオーバーフロー」あるいは「無限ループ」を引き起こすバグです。いずれにしても、強制終了以外に解決策はありません。
可愛い顔して恐ろしい子・・・・
初心者でありながら、彼女は「再起呼び出し+スレッド起動」というアイデアを自分で考えました。なんという独創性。
しかしながら、これはわかばくんにとっても完全に想定外。停止機能を増殖しながらマルチタスクで増加するのですから、単発の攻撃では絶対に止められません。これがわかばくんの
「ムラサキが自立(自律)してる・・・」
ではないかと思います。
まとめ
というわけで、まとめると
・停止のケムリクサを想定すると、アカイロは実現可能
・ムラサキが他のケムリクサの機能を呼び出していると想定するとすっきりする
・りりの発明はすばらしいけどバグがある
ということです。
ではさようなら。
2021年1月13日、追記修正。ムラサキの意匠が劇中未登場なので、仮の図であること。あと、図を少し鮮明化しました。