
ダーウィンは、1961 年 8 月にビクター A. ヴィソツキー、ロバート モリス シニア、M. ダグラス マキロイによって発明されたプログラミング ゲームです。(デニス リッチーは共同著者として誤って引用されることがあります。しかし、彼は関与していません。) このゲームはベル研究所で開発され、そこでIBM 7090メインフレームでプレイされました。このゲームは数週間しかプレイされず、モリスが「究極の」プログラムを開発しました。このプログラムによって、誰もこのゲームを破ることができなかったため、最終的にゲームは終了しました。
説明
ゲームは、アンパイアと呼ばれるプログラムと、アリーナと呼ばれるコンピューターのメモリの指定されたセクションで構成され、プレーヤーによって作成された 2 つ以上の小さなプログラムがロードされます。プログラムは 7090マシン コードで書かれており、アリーナ内の他の場所を調査し、敵のプログラムを終了し、自分のコピーのために空きメモリを要求するために、アンパイアによって提供されるいくつかの関数を呼び出すことができました。
ゲームは、一定時間が経過するか、プログラムのコピーが 1 つだけ残った時点で終了します。最後に生き残ったプログラムを作成したプレイヤーが勝者となります。
各プログラム内で最大 20 個のメモリ位置 (ゲームの後のバージョンではさらに少なくなります) を保護対象として指定できます。これらの保護対象位置の 1 つが別のプログラムによってプローブされた場合、審判はプローブされたプログラムに制御を直ちに移します。このプログラムは、次に別のプログラムの保護対象位置をプローブするまで実行を続けます。
プログラムには、自分自身のコピーと再配置の責任があるが、審判の許可なしに自分自身以外のメモリ位置を変更することは禁止されていた。プログラムはコンピュータによって直接実行されるため、不正行為を防ぐ物理的なメカニズムは用意されていなかった。その代わりに、プログラムのソース コードは各ゲーム後に研究用に公開され、プレイヤーは互いに学び合い、対戦相手が不正行為をしていないことを検証することができた。
複製、敵の位置特定、殺害が可能な最小のプログラムは、約 30 個の命令で構成されていました。マキロイは、敵の位置特定と殺害は可能だが複製はできない 15 個の命令からなるプログラムを開発しました。致命的ではありませんが、保護命令の制限である 20 個より短いため、事実上殺害不可能でした。後のゲームでは、このため保護命令の制限が緩和されました。
モリスが開発した「究極的に致命的な」プログラムには 44 の命令があり、適応戦略を採用していました。敵プログラムの開始位置を突き止めると、その位置から少し先を探査します。敵を倒すことに成功した場合は、その距離を記憶し、次回の遭遇時に使用します。代わりに保護された場所に当たった場合は、制御を取り戻した瞬間に別の距離を選択します。新しいコピーはすべて、成功した値で初期化されました。このようにして、モリスのプログラムは複数の亜種に進化し、それぞれが特定の敵を倒すために特別に適応しました。
参照
参考文献
- Aleph Null。「コンピュータレクリエーション:ダーウィン」、ソフトウェア:実践と経験、第2巻、第1号、93~96ページ(1972年1月/3月)。2011年7月16日アーカイブ、 Wayback Machineで閲覧可能
- McIlroy, MD、Morris, R.、Vyssotsky, VA (1971)。「ダーウィン、プログラム間の適者生存のゲーム」(HTML 版)
- メトカーフ、ジョン。「ダーウィン:プログラムの中での適者生存」
