全1722文字
PR

コンピューターの得意分野の1つがシミュレーションだ。自分でプログラムを書けば、架空生物の生命すらシミュレートできる。本特集ではプログラミング言語「Python」を使って人工生命を作る方法を解説する。

【バトルと生命淘汰】

 今度は、人工生命の種類を2つ(RandomWalkerA、RandomWalkerB)に増やしてみます。

 この2つは、「敵対するグループ」「別の種」のようなものだと設定します。なので、別の種の人工生命とぶつかると「バトル」が起こります。派手なケンカのようなグラフィックはありません。たんに互いのライフを5ずつ減らします。その結果、寿命が削られた個体は小さくなり、やがて消えていきます。最終的にどちらの種類(生命群)が生き残るかは、ほとんど偶然で決まります。

 また、ここでは「食べ物」の数を多くしました。「食べ物」を多くすることで飢え死にはめったにしなくなります。その代わりに、敵との「バトル」で消耗することが多くなります。つまり、「バトル」の様子をよく観察できるようになるわけです。

 それらの条件を実装したコードが、リスト8です。実行結果は図4です。

リスト8●【バトルと生命淘汰】のコード
リスト8●【バトルと生命淘汰】のコード
[画像のクリックで拡大表示]
図4●リスト8の実行結果
図4●リスト8の実行結果
[画像のクリックで拡大表示]