マトリックスに向けて:シミュレーションと人工生命研究の進め方

プロジェクトについて



ALiEnは、CUDAの専用の物理学とレンダリングエンジンに基づく人工生命シミュレーションプログラムです。これは、人工生態系に埋め込まれたデジタル生物をシミュレートし、(プレ)生物進化の条件をシミュレートするように設計されています。



学び プロジェクトの目標についてどのようにして開始します







関数



  • 損傷および接着した固体の運動学的および熱力学的プロセスの現実的な物理計算
  • デジタル生物と進化をモデル化するためのプログラム可能な資料
  • 独自のマシンを設計するための組み込みのグラフィックエディタ
  • GPUモデリングとレンダリング
  • このソフトウェアはオープンソースであり、GNU General Public Licenseバージョン3(GPLv3)の下で利用できます


カットの下には、このソフトウェアパッケージの使用の2つの例(「セルフチェックレプリケーター」と「情報ベースのレプリケーション」)があります。



ケース1:自己テスト型レプリケーター



1.ソースレプリケーター



セルフチェックレプリケーターは、自身の構造をスキャンして修復できるマシンです。したがって、設計情報を保存する必要はありません。サイズとトポロジーの複雑さが異なる3種類のセルフチェックレプリケーターを試してみます。



画像



  • . , , -, . , , , .
  • , , . .
  • , .


2.



2.1。セットアップ



レプリケーターのタイプごとにシミュレーションを実行しますアイデアは、エネルギーといくつかの初期レプリケーターで満たされた小さな宇宙から始めることです。すなわち:



  • ユニバースサイズ:1000 x1000ユニット
  • 「栄養素」として5,000個のランダムに分布した8x4の長方形のブロック
  • 20個のレプリケーター


シミュレーションパラメータは、低突然変異率、低放射線、細胞機能の低エネルギーコストなどの「友好的な」宇宙を作成するために選択されました。この事前設定を使用したシミュレーションは、次の場所からダウンロードできます。





2.2。シミュレーション



2.2.1。小さなレプリケーター



画像



最初は、すべてのリソースが使い果たされるまで、レプリケーターの数は指数関数的に増加します。その後、レプリケーターの数(約6000)が一定に保たれる平衡が確立されます。以下のビデオは、レプリケーターが最後の空きリソースをどのように消費しているかを示しています。その後、彼らはお互いを消費する必要があります。しかし、突然変異のために、マイナーな最適化が発生し、より適応した個人の出現につながりました。密集したコロニーの成長が時々観察されます。この現象は、ステップ114,000で取得した図に示されています。各輝点は、個別の個別/レプリケーターを表します。



コロニーは敵対的な宇宙にエネルギーを集中させる傾向があり、他の物質の周囲の圧力のために宇宙が比較的密集している場合にのみ安定しているように見えます。コロニー内の高密度により、レプリケーターによるエネルギー消費が容易になります。それらは多かれ少なかれ彼らの環境に理想的に適応しているので、それ以上の重要な変化はありませんでした。よく見ると、レプリケータは不要になったため、自分で移動する機能を失っています。



以下に2つのビデオがあります。1つ目は、レプリケーターが小さな宇宙で利用可能なすべてのリソースを引き継ぐ方法を示しています。 2番目のビデオは、コロニー内のプロセスの詳細を示しています。







この初期段階の後、ユニバースのサイズを4000 x 1000ユニットに徐々に増やし、シミュレーションパラメータのセル関数->武器->エネルギーコストのプロパティを1.4に徐々に増やします。これらの変化は、一方で、周囲圧力を低下させ、コロニーの分散につながります。一方で、エネルギー消費はより困難になります。突然、適応の必要性があります。レプリケーターは、リソースをより積極的に消費するためにモビリティを開発します。数百万のタイムステップと上記のパラメータを修正した後、新しい均衡がマージされます。彼らはお互いを消費し、子孫を生み出します。ただし、レプリケーターの数は一定のままです。この振る舞いは、2200万タイムステップの進化の後に撮影された最初のビデオで見ることができます。





次に、上記のパラメーターを2.4に増やします。これは、レプリケーターがエネルギーを急速に失うため、不均衡につながります。しかし、彼らは生き残る方法を見つけました。リソースがローカルに集中している場合は常に、リスクが発生し、消費され、可能な限り迅速に複製されます。その後、彼らは分散し、それらのほとんどは死にます。破壊された/欠陥のあるレプリケーターは宇宙を漂流します。それらの多くが近づくと、他の人に吸収されます。したがって、物質波が周期的に衝突し、いくつかの既存のレプリケータによって迅速に吸収されると、より複雑な平衡が生じます。レプリケーターの数は、短時間で非常に急速に増加します。その後、それらのほとんどは死に、新しい物質的な波を形成します。この現象はビデオで見ることができます。





7000万タイムステップ後の進化から生じるレプリケーターを以下に示します。ビデオは、あなたが「友好的な」宇宙でどのように広がるかを示しています。シミュレーションで観察できる興味深い動作は、これらのレプリケーターの多くが実際には複製されないのに対し、多くの子孫を生成するのはごくわずかであるということです。それらの多くが限られたリソースを求めて競争する場合、これは有益です。





画像



進化した小さなレプリケータ



2.2.2。大規模なレプリケーター





このより大きなタイプのレプリケーターの進化は、わずかに異なるパターンに従います。一方では、そのより大きな構造は、最適化のより多くの機会を提供し、したがって新しい条件への適応を提供します。一方、レプリケーションプロセスには、より多くの時間とエネルギーがかかります。結果として、周期的な物質波の発生は、レプリケーターが物質を捕捉するのに十分な速さではなかったため、はるかに弱い形で発生しました。



以下に、8200万タイムステップ後の進化製品とその作成を示すビデオを示します。レプリケーターは非常に突然動き、時には自殺します。このような攻撃的な行動は、資源が不足している宇宙で有益であるように思われます。その構造は進化しましたが、それでも元の構成に比較的近いです。また、その構造と機能が後からあまり変わっていないことに気付くかもしれません。最初と比較して、より多くのトークンがそのセル上で回転し、より高速なアクティビティにつながります。





画像



進化した大型レプリケータ



2.2.3。複雑なレプリケーター



元のレプリケーターの最大のバリアントは、かなり短い期間でより小さな構造を作成します。上記の大きな変動に関しては、小さな初期レプリケーターと比較して、最適化の自由度が高く、より複雑な動作パターンを観察できます。この事実は、宇宙の一般的な構造にも影響を及ぼします。さまざまなサイズのさまざまなクラスターがあります。また、周期的な物質波はありません。代わりに、レプリケーターマシンのより混沌とした動きと局所的な混雑があります。この現象は下のビデオで見ることができます。





このような条件は、より複雑になる方向への進化により適している可能性があります。シミュレーションでは、2600万のタイムステップの後、まったく新しい構造が出現しました。その巨大なインテリアの技量で注目を集めています。それは活発な動きやエネルギー消費のない成長する結晶構造のようなものです。出産は、物理的な影響による構造の破壊によって発生します。ピースは再び成長することができます。この驚くべき進化的製品の拡大画像が右下に示されています。





結晶構造



このエキゾチックな生き物は、他の高度なレプリケーターと共存しています。このようなレプリケーターの例を、その分布を示すビデオとともに以下に示します。





画像



進化した複雑なレプリケーター



4.結論



3種類のレプリケーターはすべて、突然変異と自然淘汰により、最初の100万のタイムステップで最大の変化を遂げます。初期構成の複雑さが増すと、最適化の機会が増えます。ただし、環境条件(宇宙のモデリングと測定のパラメーター)が修正されると、進化的適応は遅くなります。サイレント突然変異でさえ、集団で生き残ることはできません。



すべてのタイプの元のレプリケーターは、リソースをはるかに高速に複製および消費するバリアントに進化します。最も複雑な構造的新興企業も、より複雑な行動を起こします。



予想外の産物は、成長することはできるが、活発な動き、エネルギー消費、複製の機能を持たない結晶構造の出現でした。それらは外的要因の影響下で腐敗し、自らを繁殖させます。パーツはほとんどまだ機能しています。



ケース2:情報駆動型レプリケーション



1.最初のレプリケーター



この研究の主な主題は、DNAのデジタルアナログを使用する自己複製機械です。セルフチェックレプリケーターと比較して、子構築コマンドは純粋な情報としてデータコンテナーに格納されます。このアプローチのおかげで、新しいマシンは情報の操作から生じるため、より柔軟に作成できます。



1つのメインループで必要なすべての操作を実行するループ構造から実験を始めましょう。ビルド命令は、循環構造で回転するトークンのメモリにエンコードされます。さらに、必要なエネルギーを得るために、いくつかのランダムな動きと隣接するセルへの攻撃が行われます。



以下の写真では、レプリケーションの過程でスナップショットを見ることができます。レプリケータが十分なパワーを持っている限り、新しいセルを生成します。その構築手順は、トークンデータのセクションで説明されています。トークンがコンピューターセルを通過するたびに、アセンブリ命令がバイトごとにターゲットフィールドにコピーされます。これには、構造の周囲で最大45回転かかる場合があります。メモリからのコピープロセスが完了すると、娘細胞の作成が開始されます。これは、十分なエネルギーが利用できない場合に繰り返されます。コンストラクターはトークンから命令を受け取り、6つのセルすべてを徐々に構築します。最後のセルを構築した後、トークンが複製され、コピーが子孫に伝播されます。このプロセス中に、トークンのメモリにミューテーションが適用されます。また、工事現場は2人に分かれています。



多くの複製サイクルの後、周囲の細胞またはエネルギー粒子の形で十分な栄養素が利用可能であれば、子孫の数は指数関数的に増加します。右側には、複製構造が数回の複製サイクル後に表示されています。適用された突然変異のために、それらのいくつかは異なる特性を持っているかもしれません、そしてそれはほとんどの場合いくつかの誤動作につながります。



画像



情報ベースのレプリケーター



2.進化実験



2.1。設定



進化実験では、次の設定でシミュレーションを作成しました。



  • 宇宙の初期サイズ:1000 x1000単位
  • 100エネルギー単位ごとに8x4セルの5000個のランダムに分散された長方形のクラスター
  • 20個のレプリケーター


完全な初期構成はここからダウンロードでき ます



2.2。シミュレーションシミュレーション

中に、ユニバースのサイズを6000 x1000ユニットに徐々に増やします。次に、宇宙は60,000 x 1,000単位にスケーリングされ、エネルギーが10倍に増加します。レプリケーターの数は指数関数的に増加し、8万から9万コピーのレベルで安定します。この時点で、モニター上のアクティブなクラスターで番号を読み取ることができます。以下の結果は、すべてのシミュレーションが異なるため、直接複製することはできません。ただし、いくつかの一般的な影響が見られます。



時間の経過とともに、レプリケーターの密集したコロニーが時間の経過とともに合体することがわかります。現在の状況では、レプリケーターが動きをせず、環境を大規模に攻撃する怠惰な行動をとることは有益です。このような便利な生存パターンの発生を防ぐために、環境条件を変えることができます。この目的のために、シミュレーション関数->武器->エネルギーコストのパラメーターを増やすことによって細胞攻撃を罰します。レプリケーターが新しい条件に適応できるように、値をすぐに3に増やすのではなく、10万タイムステップ後に徐々に増やします。



宇宙がレプリケーターで満たされている場合、材料の密度は地域ごとに大きく異なる可能性があります。移動するレプリケーターは、残りの材料を押しのける力を生み出すからです。この現象は、200万タイムステップ離れた次のスクリーンショットで確認できます。



画像



エリアの中央に明るいスポットが見えます。これらは何千ものレプリケーターです。時間が経つにつれて、彼らは突然変異し、それらのいくつかは異なる色を帯びました。左右に、ほとんどが青で、まばらに分布している残り物が見えます。このスクリーンショットは、宇宙全体のごく一部のみを示しています。私たちのテストシステムでは、シミュレーションは毎秒約20ステップで実行されます。



以下に、700万のタイムステップにわたる同じシミュレーションからの抜粋を示します。レプリケーターは変異しており、環境内でより速く増殖することができます。



画像



5900万のタイムステップと、突然変異率の低から高への変化、およびその逆の変化の後、シミュレートされた宇宙のダイナミクスは、新しいタイプの構造の出現とともに変化しました。それらの動作は、元のレプリケーターの動作とは大きく異なります。一見すると、それらは機能不全の変異体であるように見えます。しかし、最も興味深いのは、それらが成長し、自然に成長できる断片に崩壊することです。



本来の状態では想像もできなかった、新しいタイプの人工的なライフスタイルが生まれたようです。次のスクリーンショットでは、6,100万タイムステップ後の宇宙のセクションを表しています。このタイムステップのシミュレーションファイルは、ここからダウンロードでき ます



画像



中央の白い結晶構造がかなり目立ちます。その色は、多くの循環トークンの結果です。エディターでは、この構造に関するより詳細な情報を確認できます。



画像



さらに拡大すると、この構造は基本的に、コンピュータセルとデザインセルの2種類のセルが空間パターンで繰り返されていることがわかります。ほとんどすべてのセルには、ビルドプロセスのデータを含む3つのトークンがあります。構造のある部分で十分なエネルギーが利用可能になるとすぐに、それは直交方向に成長します。



画像



構造はここからダウンロードでき ます



4.結論



この実験を通して、成長する結晶構造の出現を観察することができました。同じ現象が自己検査レプリケーターでも観察されました。さらに、それらは安定していて、宇宙全体に広がり、優勢な種になりました。このことから、このような自己複製はそれほど珍しくなく、さまざまな状況で発生する可能性があると結論付けることができます。



この実験では、情報複写機の開発とセルフチェック機の開発に大きな違いはありませんでした。そのようなマシンは環境によりよく適応でき、無制限の進化により適しているという仮説は、より広範な実験で調査する必要があります。



さらに、次の拡張機能をさらに実験するために検討する必要があることがわかりました。



  • 母集団が絶滅しないようにモデリングパラメータを自動的に変更し、
  • より大きなレプリケーター構造に報酬を与えます。


エクストラ:アートワーク



以下のすべてのスクリーンキャストは、GeForce 2080TIシステムで記録されたリアルタイムシミュレーションを示しています。1080p(HD)品質でビデオを視聴することをお勧めします。その他のビデオはYouTubeチャンネルで見つけることができます



物理エンジンの機能











人工的にプログラムされた問題











組み込みのグラフィックエディタの構造








All Articles