1. 分類・学名・基本スペック(Taxonomy & Profile)
1984年、カナダの計算機科学者 A.K. デュードニー(A.K. Dewdney)が科学雑誌『Scientific American』のコラムで CoreWar を世界に発表した際、最初に紹介された記念碑的なデジタル生物がこの「Imp(インプ:小悪魔)」である。学名 Mobilis simplicis が示す通り、これ以上削ることのできない「たった1行(1セル)」の遺伝情報(MOV.I 0, 1)のみで構成された、ノイマン型メモリ空間における最小の自律移動生命体である。
通常のコンピュータ・プログラムでは、ループ移動を行うために「コピー命令」と「ジャンプ命令」の少なくとも2行が必要だと直感的に考えられがちだ。しかし Imp は、CPUのプログラムカウンタ(PC)が「1サイクルごとに自動的に次の番地(PC + 1)へ進む」という物理法則そのものを自らの推進力として利用する。現在地の命令を1つ先のセルへ転写し、次の瞬間にPCがその新しいセルへ足を踏み入れることで、ジャンプ命令すら持たずに永久移動を実現しているのである。
2. 生態と行動様式(Ecology & Behavior)
ビバリウム(観察槽)のメモリ空間に放たれた Imp を観察すると、明るい光を放つ「先端の1マス(実行核 PC)」が、毎サイクル1番地ずつ滑らかに前進していく様子が確認できる。そして Imp が通り過ぎた背後には、無数の「MOV.I 0, 1」という命令が帯状の航跡(トレイル)として残されていく。
解剖学的に極めて重要な事実は、背後に伸びる長い青い帯は「生きている身体」ではなく、すでに魂(PC)が通り過ぎた後の「脱皮した抜け殻(キチン質の外骨格、あるいは菌糸の跡)」に過ぎないという点である。Imp の生きた細胞膜は、いかなる瞬間においても「最先端のたった1マス」にしか存在しない。そのため、敵の爆撃機(Dwarfなど)が Imp の背後にある抜け殻をどれほど大量に DAT 爆弾で破壊しようとも、Imp 本体は痛痒すら感じず、振り返ることもなく前進し続ける。
さらに Imp は、自ら相手を殺傷する毒胞子(DAT)を持たない代わりに、極めて恐ろしい「ウイルス的感染能力(キメラ化現象)」を備えている。Imp が前進した先に敵の Warrior のコードが存在すると、Imp は敵の命令を容赦なく「MOV.I 0, 1」で上書きして通過する。すると、敵自身のプログラムカウンタ(赤い核)が書き換えられた「MOV.I 0, 1」を実行してしまい、敵のプロセスそのものが Imp へと変貌(ゾンビ化)して同じ方向へ行進し始めるのである。
3. 生体解剖図:コードと器官の対応(Cellular Anatomy & Organelles)
Imp の解剖図は、あらゆるデジタル生命の中で最もミニマルかつ象徴的である。心臓(+ ADD)も、神経回路(↺ JMP)も、感覚器(◉ CMP)も持たず、ただ1つの「推進筋(▼ MOV)」が全生命機能を兼ね備えている。
4. ノイマン型アーキテクチャにおける意義(Computer Science Insight)
計算機科学の視点から見ると、Imp(MOV.I 0, 1)はジョン・フォン・ノイマンが提唱した「プログラム内蔵方式(Stored-Program Architecture)」の本質を、世界で最も短いコードで可視化した芸術作品である。モダンな高級言語やハーバード・アーキテクチャでは、実行される命令領域(テキストセグメント)と読み書きされるデータ領域(ヒープ/スタック)は厳格に分離・保護されている。しかしノイマン型機械の根底では、命令もデータも単なるメモリ上のビット列に過ぎない。
Imp が「0番地(自分自身)」をコピー元オペランドに指定した瞬間、今まで「CPUを動かす命令(動詞)」だったものが、そのまま「コピーされる対象のデータ(目的語)」へと反転する。そして隣の1番地へ書き込まれ、次のサイクルでPCが到達した瞬間、そのデータは再び「生きた命令(動詞)」へと立ち上がる。この「動詞 ⇄ 目的語」の連続的な相転移こそが、デジタル空間における生命現象(オートポイエーシス)の正体である。
また、MARSの相対アドレッシング環境において「0」と「1」というオフセットは、メモリ上のどの番地(0000番地であれ、4500番地であれ)に配置されても意味が変わらない。絶対アドレスへの依存を一切持たない完全な「位置独立コード(Position-Independent Code)」であるため、再配置(リロケーション)処理を一切必要とせずにメモリ空間を自由に漂流できるのである。
5. 天敵・弱点・食物連鎖(Predators & Metagame)
4マスおきにしか爆弾を落とせないDwarfに対し、サイズ1のImpは爆撃の網の目をすり抜けて前進し、ついにはDwarfの本体コードを上書きして「ゾンビ化」させることができる。
直進しかできないImpにとって、毎サイクル同一セルをプリデクリメント(<)で破壊し続けるImp-Gateは絶対的な死の壁となる。書き込んだ直後の先端セルが実行前に粉砕されるため、1歩も進めず消滅する。
生態系(メタゲーム)における単体 Imp の最大の長所は「標的面積の極小性(1セル)」と「定住型ボマーに対するすり抜け能力」にある。しかし、攻撃手段が「直接接触による上書き」のみであるため、単独では敵のすべてのプロセスを停止させる決定力に欠ける。敵の本体を上書きしても、敵のプロセス自体が消滅するわけではなく「敵カラーのImp」として後ろをついてくるだけになりやすく、時間切れ(引き分け)に持ち込まれやすい。
さらに致命的な弱点は、進行方向のすぐ1マス先(番地 X+1)に依存しきっていることである。もし移動先のセルへ足を踏み入れる直前のタイミングで、外部からそのセルを DAT 爆弾で上書きされるか、あるいは「Imp-Gate(例:JMP 0, <-1 や DAT <2667, <5334)」によって毎サイクル特定番地をデクリメント破壊されると、Imp は新しい身体を作った瞬間にその身体を壊され、直後にそこへ突入して即死する。
この弱点を克服するため、後年の進化形では SPL 命令(❖)と組み合わせて、8,000セルの円環内で互いに素なステップ幅(2667番地間隔=3点、または1143番地間隔=7点)で複製し合う「インプ・スパイラル(Imp-Spiral / Imp-Ring)」へと進化を遂げた。スパイラル化した Imp は、1箇所が爆撃されても他の頂点プロセスが瞬時に命令を補填する自己修復ネットワークを形成し、現代の競技シーンでもコアクリア後の最終防衛ラインとして君臨している。
6. 🔬 Lab / Academy でこの生命体を観察する
たった1行の「MOV.I 0, 1」がどのように自分自身を隣へ複製し、抜け殻を残しながら前進するのか、実際のMARSメモリ空間で1サイクルずつステップ実行して観察してみましょう。