COREWAR

/
Step 27: 【Paperの改造】クローン投下距離を変更して増殖せよ
🎯クローン分散距離を調整し、敵のStoneを上書きして撃破する(0/1)

ミッション一覧 (全30ステップ)

第1章:画面とメモリの基本 (1-6)
BASIC★☆☆
Step 1: 時間を進める「STEP」ボタン
🔒
BASIC★☆☆
Step 2: プロセスの停止と「RESET」での復旧
🔒
BASIC★☆☆
Step 3: 「編集できる状態」と「実行中の状態」EDIT
🔒
BASIC★☆☆
Step 4: メモリの箱の3つの部屋(右の部屋 B を変える)EDIT
🔒
BASIC★☆☆
Step 5: 左の部屋(A)と右の部屋(B)を書き換えるEDIT
🔒
BASIC★☆☆
Step 6: 「数値(#)」と「番地($)」の記号の違いEDIT
第2章:代表的な命令とループ (7-13)
🔒
ARITHMETIC★☆☆
Step 7: 足し算の命令「ADD」の観察
🔒
ARITHMETIC★☆☆
Step 8: 足す「数値(A)」を変えてみようEDIT
🔒
ARITHMETIC★☆☆
Step 9: 足す「相手の場所(B)」を変えてみようEDIT
🔒
ARITHMETIC★☆☆
Step 10: 引き算の命令「SUB」を使ってみようEDIT
🔒
BASIC★☆☆
Step 11: 箱を丸ごとコピーする命令「MOV」EDIT
🔒
CONTROL★☆☆
Step 12: 時間を巻き戻すジャンプ命令「JMP」EDIT
🔒
CONTROL★☆☆
Step 13: 簡単なプログラムを作ろう(自動カウンター)EDIT
第3章:ノイマン型とデジタル生命 (14-18)
🔒
BASIC★☆☆
Step 14: なぜ「DAT」が爆弾になるのか?EDIT
🔒
BASIC★☆☆
Step 15: 自分自身の命令をコピーする(コード=データ)EDIT
🔒
BASIC★☆☆
Step 16: お手本観察:最古の生命体「Imp」をSTEP実行する
🔒
BASIC★☆☆
Step 17: Impの簡単な変更(コピー先の観察と実験)EDIT
🔒
ARITHMETIC★★☆
Step 18: 間接参照(@ポインタ)の仕組みを知るEDIT
第4章:伝統的アルゴリズム (19-24)
🔒
STRATEGY★★☆
Step 19: お手本観察:爆撃機「Dwarf」をSTEP実行で解剖する
🔒
STRATEGY★★☆
Step 20: Dwarfの簡単な変更(爆弾の間隔を変える)EDIT
🔒
STRATEGY★★☆
Step 21: 実戦デビュー:爆弾の間隔を調整して標的を破壊せよEDIT
🔒
CONTROL★★☆
Step 22: お手本観察:分裂命令「SPL」と増殖の仕組み
🔒
CONTROL★★☆
Step 23: お手本観察:条件比較命令「SEQ / CMP」で敵を探すEDIT
🔒
STRATEGY★★☆
Step 24: お手本観察と変更:防衛罠「Imp-Gate」でImpを止めろEDIT
第5章:実戦改造と総合演習 (25-30)
🔒
STRATEGY★★☆
Step 25: 【Stone(石)】高速爆撃機の観察とステップ幅の改造EDIT
🔒
STRATEGY★★☆
Step 26: 【Paper(紙)】自己複製スウォーム「Mice」を観察する
🔒
STRATEGY★★★
Step 27: 【Paperの改造】クローン投下距離を変更して増殖せよEDIT
🔒
STRATEGY★★☆
Step 28: 【Scissors(鋏)】索敵スキャナーの観察とスキャン間隔の改造EDIT
🔒
STRATEGY★★★
Step 29: 【Trap(罠)】敵の魂を誘拐する「Vampire」の観察と改造EDIT
🔒
STRATEGY★★★
Step 30: 卒業試験:愛機のチューニングと総合バトルEDIT
🟢 編集モード(セルをクリックして変更できます)
[番地][命令 (Opcode)][A (左の値)][B (右の値)]
📦 データ領域 / 爆弾 (DAT)
0000
▼MOV
#
$
0001
▼MOV
<
<
0002
↺JMN
$
$
0003
❖SPL
@
#
0004
+ADD
#
$
👈 ここを変更
0005
↺JMP
$
$
0006
■DAT
$0
$0
++ 命令を追加
0007
■DAT
$0
$0
0008
■DAT
$0
$0
0009
■DAT
$0
$0
0010
■DAT
$0
$0
0011
■DAT
$0
$0
0012
■DAT
$0
$0
0013
■DAT
$0
$0
0014
■DAT
$0
$0
0015
■DAT
$0
$0
0016
■DAT
$0
$0
0017
■DAT
$0
$0
0018
■DAT
$0
$0
0019
■DAT
$0
$0
0020
■DAT
$0
$0
0021
■DAT
$0
$0
0022
■DAT
$0
$0
0023
■DAT
$0
$0
0024
■DAT
$0
$0
0025
■DAT
$0
$0
0026
■DAT
$0
$0
0027
■DAT
$0
$0
🏟️ARENA (20 ROWS)SCOPE: 0000 - 0019
[メモリ空間 800番地 (20行 × 40列)]左のエディタと1対1で同期
P1: 0
P2: 0
CYC: 0
📖 講義ノート // STEP 27 OF 30第5章:3大アーキタイプ(石・紙・鋏)と進化生態系⏱ 読了目安:約5分
📖 講義ノート:この実験で起きているコンピュータ科学と人工生命の原理

【Paperの改造】空間分散アルゴリズムとコロニー間干渉(自己上書き)の回避

なぜクローン投下距離(Dispersal Distance)が0だと自滅するのか? 植物の種子散布とメモリ空間のハッシュ分散

#Clone Dispersal Distance#Colony Self-Overwrite#Spatial Hashing#Exponential Proliferation#Swarm Overwrite Attack
🔬Step 27: 【Paperの改造】クローン投下距離を変更して増殖せよ

Paper(自己複製型)にとって最も重要なパラメータは、「親から何マス離れた場所にクローンを作るか(分散距離)」 です。 もし距離が #0 や近すぎる値だと、せっかく作ったクローンの上に次のクローンを上書きしてしまい、外の世界へ広がることができません。

現在のコードでは、5行目(0004 番地)のクローン分散距離が ADD.AB #0, $1(距離が増えない状態)になっており、0400 番地にいるStoneに届きません。

🎯 やってみよう 5行目(0004 番地)の A(左の数値) を #0 から #200(または #100 以上の大きな数値)に変更して [PLAY] を押し、クローンで敵のStoneを上書き撃破しましょう!

1. 自己複製体の罠:「親が子の頭上に次の子を上書きする」自己干渉

Step 27では、Paper(Mice)の5行目(0004番地)にあるクローン分散距離『ADD.AB #0, $1』を『#200』(または100以上)に改造し、0400番地のStoneをクローン群で包み込んで撃破する実験を行いました。

まず、改造前の『ADD.AB #0, $1』の状態で何が起きていたのかを分析しましょう。 6行目(0005番地)のBフィールドには、最初のクローンを作る宛先ポインタ『#205』が入っています。1回目の複製ループで、親コロニーは205マス先の番地に最初の娘クローンを綺麗に作り上げ、『SPL』で起動します。 ところが、その直後の5行目が『ADD.AB #0, $1(ポインタに 0 を足す=場所を変えない!)』になっていると、親コロニーは2回目の複製ループで、【たった今起動して動き始めたばかりの1人目の娘クローンの真上から、2人目のクローンを『MOV』で無理やり上書き】してしまうのです!

植物が自分の真下にばかり種を落とすと、芽が出ても親や兄弟と光を奪い合って共倒れしてしまうのと同じように、デジタル生命においても「新しいクローンをどれだけ遠くの新天地へ飛ばすか(分散距離:Dispersal Distance)」が生存の絶対条件となります。

Bad Dispersal (#0)  : Parent [0000] ──► Overwrites [0205] again & again! (Colony traffic jam)
Good Dispersal (#200): Parent [0000] ──► Clone 1 [0205] ──► Clone 2 [0405] (💥 Overwrites Enemy at 0400!)

2. Paperはどうやって敵を倒すのか?(上書き同化:Assimilation)

ここで1つ、非常に興味深い疑問が湧いてきます。 「StoneはDAT爆弾を投げて敵を殺すけれど、DAT爆弾を1つも持っていないPaper(Mice)は、どうやって敵のStoneを殺して『WIN(勝利)』したのだろうか?」

答えは【クローンによる上書き(Overwrite / Assimilation)】です! あなたが5行目を『ADD.AB #200, $1』に変えたことで、親や娘たちが作る新しいクローンの着地地点が、0205番地 ➔ 0405番地 ➔ 0605番地…と200マスずつ広がっていきました。 0405番地から上向き(プリデクリメント『<』)に6行分のクローンが書き込まれると、そのコピー範囲(0400〜0405番地)にちょうど居座っていた敵のStone(0400〜0403番地)のコードが、あなたのPaperの遺伝子コードで丸ごと上書きされてしまいます!

するとどうなるでしょうか? 1. 敵のStoneの4行目(DAT箱)があなたのコードの下敷きになるか、あるいは敵の実行ポインタが上書きされたあなたのPaperのコード(JMNやDATなど)を踏んでクラッシュします。 2. 仮に敵の実行ポインタがクラッシュせずにあなたのPaperのコードをそのまま実行してしまったとしても、敵の魂は「あなたの緑色のクローンを作る手伝い」をさせられる(洗脳される)だけで、二度とStoneとして攻撃することはできなくなるのです!

3. 分散距離の数学(ハッシュ分散と黄金比ステップ)

実際のトーナメントで戦うPaperを設計するとき、この5行目の分散距離には『コアサイズと互いに素であり、かつメモリ空間を黄金比に近い角度でバラバラに飛び回る大きな数値(例:800マスなら #253 や #303、8,000マスなら #1800 や #3200 など)』が選ばれます。

なぜなら、親から誕生した娘クローンも、さらにその孫クローンも、すべて同じプログラム(同じ加算値)で増殖するため、単純な数値だと親が2回目に作った場所と娘が1回目に作った場所が重なってしまう(ハッシュ衝突する)ことがあるからです。この5行目の数値1つを調整するだけで、アリーナの緑色の広がり方が劇的に変化する様子をぜひ色々な数値(#150, #253, #333など)で試してみてください。

🔒

🔒 MISSION CLEAR で講義ノートの全編が解放されます

上段の実験シミュレーターでミッションを達成すると自動的に全編がアンロックされます。(下のボタンから今すぐ全文を先に読むことも可能です)