COREWAR

/
Step 28: 【Scissors(鋏)】索敵スキャナーの観察とスキャン間隔の改造
🎯スキャン間隔を高速化して敵のPaperを撃破する(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 28 OF 30第5章:3大アーキタイプ(石・紙・鋏)と進化生態系⏱ 読了目安:約6分
📖 講義ノート:この実験で起きているコンピュータ科学と人工生命の原理

【Scissors(鋏)】索敵スキャナーと「石・紙・鋏」進化ゲーム理論の創発

なぜ「単一の最強プログラム」は存在し得ないのか? 増殖するPaperを切り裂くScissorsと、ロトカ・ヴォルテラ生態系ダイナミクス

#Scissors Archetype#Rock-Paper-Scissors Metagame#Evolutionary Game Theory#Non-Transitive Dominance#Lotka-Volterra Dynamics
🔬Step 28: 【Scissors(鋏)】索敵スキャナーの観察とスキャン間隔の改造

では、増殖する 📄 Paper(紙) を切り裂く天敵は何でしょうか? それが ✂️ Scissors(鋏=索敵スキャナー) です! Paperはクローンを増やすために何サイクルもかかります。スキャナーは広い歩幅でメモリを高速パトロールし、Paperがクローンを完成させる前に見つけ出してピンポイントで破壊します。

現在、1行目(0000 番地)のスキャン間隔が #1(1マスずつしか進まない鈍足状態)になっているため、0400 番地のPaperを見つける前に増殖されてしまいます。

🎯 やってみよう 1行目(0000 番地)のスキャン間隔 A(左の数値) を #1 から #10 に変更して [PLAY] を押し、敵のPaperが増殖する前に素早くロックオンして撃破しましょう!

1. なぜ「鋏(Scissors)」は「紙(Paper)」を切り裂けるのか?

Step 26〜27で見た通り、自己複製する『📄 Paper(紙)』は、盲目的な爆撃機『🪨 Stone(石)』に対しては無敵に近い増殖力を誇りました。「じゃあCoreWarではPaperが絶対最強なのか?」というと、決してそうではありません。このStep 28であなたが操作した索敵スキャナー【✂️ Scissors(鋏)】こそが、Paperを狩り尽くす天敵なのです!

なぜScissorsはPaperに強いのでしょうか? Paperの2つの弱点を突いているからです。 ① 複製にかかる時間(妊娠期間の長さ):Paperは1つのクローンを作るために、6行のコードを1行ずつコピーするループを回さなければならず、1回の繁殖に約15〜20サイクルもの時間がかかります。 ② 身体の大きさと群れの目立ちやすさ:Paperは1コロニーあたり6マスもの大きな面積を占めており、しかも増えれば増えるほど「スキャナーの眼(SEQ命令)に引っかかる面積」がどんどん広がっていきます!

初期状態のScissorsはスキャン間隔が『#1(1マスずつ調査)』だったため、0400番地のPaperに辿り着く前に増殖を許してしまいました。しかし、あなたが1行目のスキャン間隔を『#10』に広げた瞬間、Scissorsは広い歩幅でメモリを一気に飛び越え、Paperが最初のクローンを完成させるよりも早く 0400 番地の本体を発見し、ピンポイント狙撃で一撃のもとに仕留めたのです!

            🪨 STONE (Fast, Compact Bomber)
               ╱                        ▲
   Shatters   ╱                          ╲  Swarms &
  Large Body ╱                            ╲ Overwrites
            ▼                              ╲
     ✂️ SCISSORS ──────────────────────► 📄 PAPER
   (Wide-Stride Scanner)   Tracks &      (Self-Replicating
                        Snipes Colonies       Swarm)

2. じゃんけん(三すくみ)の創発と「進化ゲーム理論」

ここで立ち止まって、CoreWarという宇宙で起きた驚くべき現象を振り返ってみましょう。 CoreWarのルールブック(ICWS-94仕様書)には、「石・紙・鋏の3すくみを作れ」などというルールは1文字も書かれていません。ただ「ノイマン型メモリと19個の基本命令」が定義されているだけです。にもかかわらず、世界中のプログラマが最強のプログラムを目指して改良を重ねた結果、自然界の生態系と全く同じ『三すくみ(非推移的優越関係:Non-Transitive Dominance)』がひとりでに創発(Emergence)したのです!

・【🪨 Stone ➔ ✂️ Scissors に勝つ】:最小・最速の攻撃に特化し、大きく複雑なScissorsを素早く撃ち抜く。 ・【✂️ Scissors ➔ 📄 Paper に勝つ】:眼(SEQ)を使って空地を飛ばし、増殖に時間がかかる大きなPaperを先に見つけて切り裂く。 ・【📄 Paper ➔ 🪨 Stone に勝つ】:分裂(SPL)と複製で数を増やし、単発攻撃しかできないStoneの爆撃を無力化して包み込む。

進化ゲーム理論(Evolutionary Game Theory)において、この関係は「単一の最適解(絶対最強の個体)が存在しない理由」を数学的に説明します。「攻撃速度」「索敵知能」「自己複製の冗長性」という3つの能力を、限られたCPUサイクル(1ターン1命令)と限られたコードサイズの中で同時に100%満たすことは物理的に不可能です。どれか1つを極めれば、必ず別の1つに対する弱点が生まれる——これがコンピュータ科学におけるトレードオフの究極の姿です。

3. 生物界のロトカ・ヴォルテラ方程式と多様性の維持

数理生物学には、捕食者(キツネ)と被食者(ウサギ)の個体数が周期的に増減を繰り返す『ロトカ・ヴォルテラ方程式(Lotka-Volterra Equations)』や、カリフォルニアの側斑トカゲ(Side-blotched lizards)や大腸菌のコロニーで見られる「自然界のじゃんけんサイクル」が知られています。

CoreWarのオンライン・トーナメント(King of the Hill: KOTH)の歴史でも、まったく同じ生態系の波が何十年も繰り返されてきました。丘の上に「Stone」が増えると、それを捕食する「Paper」が大繁殖して王座を奪います。すると今度は「Paper」を餌にする「Scissors」が急増してPaperを駆逐し、やがて「Scissors」だらけになった環境に再び「Stone」が現れて王座を奪い返す——このダイナミックな循環こそが、デジタル生命の生態系を決して退屈な1強状態に終わらせない原動力なのです。

🔒

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

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