概要 生物が自然淘汰の原理で進化する過程をシミュレートできるbiosim4という素晴らしいプログラムを紹介します。 まず試しで作った生物の活動記録を見てみましょう。 0世代目 全体を上下右左を単純に東西南北の生息位置を表しており、色が個体の多様性を表していると考えてください。 50世代目 実は、0世代目で真ん中を円形部分を絶滅する設定にしていたのです。 生まれた子が生存区域に移動した場合、伝達されて次の世代に情報を引き継がれることになります。 この世代でもうすでに生存のための行動がほとんどの個体で行われています。 2000世代目 多様性もランダムな動きも減って、揃ってびっしりと端に移動するようになりました。 グラフを見ると100世代目あたりから生存どころか人口も増えその後何百世代も安定した人口のサイクルが続いているようです。 2000世代以降からは多様性も減ります。優秀で強い遺伝子が残るのでしょうか。 開発者のYoutubeは、更に深く面白い知識をたくさん紹介してくれているので是非ご覧ください。今回のタイトルもオリジナルの動画と合わせてみたものなのです。字幕つきなので自動翻訳で日本語でも観られます。(字幕オンにした後、もう一度CCのボタン押し自動翻訳を選択して日本語に設定します。) Youtube: youtube.com/watch?v=N3tRFayqVtk Github: github.com/davidrmiller/biosim4 作業環境 Githubでサポートされているのはこちら Ubuntu 21.04 cimg-dev 2.8.4以上 libopencv-dev 4.2以上 gcc 9.3 or 10.3 python-igraph 0.8.3(グラフ化する際必要) gnuplot 5.2.8(グラフ化する際必要) 私の環境他のスペックも補足。 OS Ubuntu20.10 ドライブ M.2 SSD GPU RTX3060 CPU RYZEN5600X Windowsでは、Windows Subsystem for Linux (WSL)からUbuntuをダウンロードすることで使えるようです。2021年11月の回答では念の為Ubuntuは最新ではなく検証済みの20.04をダウンロードすることが推奨されています。 操作手順 必要なパッケージをインストール sudo apt upgrade sudo apt install cimg-dev libopencv-dev gcc python-igraph gnuplot GithubのページのCodeからZipファイルをダウンロード ディレクトリーに移動して、プログラムのコンパイルを実行 cd Downloads make メインディレクトリのbiosim4.iniをnanoやノートパッドで開いて以下の項目のみを編集 numThreads = 4 population = 1000 maxGenerations = 20000 ※スレッドの多いCPUを使っている方はnumThreadsをコア数と同等、もしくは少し下げた数に調整 ※複雑な設定にしたい方はmaxGenerationsをあげるが、計算処理とPCスペックのバランスに注意 計算処理を実行 ./bin/Release/biosim4 [biosim4.ini] 処理終了後、/imagesのディレクトリに世代ごとのaviファイルが自動的に格納されている 以上です。 ご不明点、間違った点、感想などありましたらお気軽にお声掛けください。