Microcosmos
GPU時代のための人工生命の再創造
要約
Microcosmos は、粘性流体中を泳ぐ弾性フィラメント鎖を生命体として扱う、GPU ネイティブで完全に微分可能な人工生命エンジンです。私たちはこのエンジンを用いて、勾配降下法によるフィラメントの目標形状への折り畳み、多様な遊泳・採餌行動の進化、そして流体結合が実際の物理制約を満たすことの検証を行いました。Microcosmos を、人工生命コミュニティが発展させていけるオープンプラットフォームとして公開します。
概要
数十年にわたる進展にもかかわらず、人工生命は自然界で見られるようなオープンエンドな進化的複雑性をまだ生み出せていません。その理由の一部は、ツールそのものにあると私たちは考えています。この分野で利用できる計算基盤は、これまで不自然な二択を強いてきました。抽象的なルールベースの世界は進化させやすく効率的ですが、実際の生物を形づくる物理から切り離されています。一方、物理に根ざしたシミュレータは説得力がありますが、オープンエンド性に必要だと思われる規模で進化探索を行うには遅すぎます。
Microcosmos は、この隔たりを埋めるための試みです。生命体は二次元の粘性流体中に存在する弾性フィラメント鎖としてモデル化され、その形状と行動は遺伝的エンコーディングによって指定されます。エンジンは JAX で書かれ、GPU 上でネイティブに動作し、エンドツーエンドで微分可能であり、勾配ベースの最適化と進化探索を同じ枠組みの中で支えます。私たちは、物理的妥当性、微分可能性、進化可能性、スケーラビリティを検証する 4 つの実験を通じて、このエンジンを評価しました。
背景: 人工生命を制約してきたトレードオフ
現代の AI はスケールによって大きく変化しました。しかし人工生命には、まだ同じような瞬間が訪れていません。その大きな理由の一つは、利用できる基盤にあると考えています。
一方には、セル・オートマトンや粒子系のような抽象世界があります。これらは、単純な局所ルールから豊かな集団ダイナミクスが生じうることを示しています。こうしたシステムは実行コストが低い一方で、身体、流体、力といった概念を持たないため、表現できる身体的行動には限界があります。もう一方には、物理に基づく身体化シミュレータがあります。こちらは説得力のある生物を生み出しますが、実際の物理を解くコストのため、進化探索が必要とする大規模な個体群を扱うのは通常困難です。別のシステムでは物理を抽象化することで計算可能性を取り戻しますが、それは再び前者の側に戻ることを意味します。
私たちが求めたのは、物理的に十分根ざしていて信頼でき、進化を大規模に回せるほど効率的で、さらに人を触発するだけの豊かさを備えた基盤でした。この 3 つを同時に満たすことが、中心的な設計課題でした。
なぜフィラメントなのか
この 3 つの目標を満たす構成要素を探すために、私たちは生物学に目を向けました。フィラメント状の構造は、マイクロスケールやナノスケールの世界に広く存在します。細菌の鞭毛、細胞骨格ネットワーク、筋繊維、そして C. elegans のような生物の身体構造は、いずれも接続された単位の鎖です。タンパク質の折り畳みも、一次元の鎖が機能的な三次元構造へと折り畳まれるところから始まります。フィラメントは、生物学的組織化における最も古く普遍的な形態の一つです。
この共通構造は偶然ではなく、私たちにとって都合よく働きます。フィラメントは単純な最近傍接続を持つ鎖です。このトポロジーこそがフィラメントを安価にシミュレートできる理由であり、ひとつのフィラメントをシミュレートするコストは個体群の規模に応じて増えません。フィラメントを表現力豊かなものにしている生物学的性質は、そのままスケーラブルにしている性質でもあります。
エンジンの仕組み
Microcosmos には、互いに結合した 2 つの部分があります。フィラメントは生命体を表し、場は環境を表します。フィラメントは連続空間内に存在し、伸長と曲げに抵抗する離散弾性ロッドとしてモデル化されます。場は、流体などの環境量を保持する離散グリッドです。この 2 つを重ね合わせ、単一の力学系として同時に発展させることで、Microcosmos はこの分野で伝統的に使われてきたグリッドベースと粒子ベースのパラダイムの中間に位置します。
流体は Lattice Boltzmann Method によってシミュレートされます。この手法を選んだのは、各格子点が局所近傍だけから更新されるためです。この局所性により、流体ソルバーのコストは線形に保たれ、GPU 上で自然に並列化できます。粘性は単一のパラメータで設定されるため、物理的なレジームを容易に掃引できます。
フィラメントと流体は Immersed Boundary Method によって情報を交換します。各フィラメントノードは局所的な流れを抗力として感じ、その運動を流体へ押し返します。自己回避は、フィラメント位置をグリッドへ堆積し、そこから反発的な立体排除力を読み出すことで扱います。これにより、衝突を避けるためにすべてのノード対を調べる二次コストを回避できます。
これらの選択はすべて、スケーリングを念頭に置いて行われました。コア・ループのどの部分も、ノード数に対して二次的には増えません。
実験
手設計のロコモーション
最初の実験では、物理が正しく振る舞うかを検証します。ワーム、オタマジャクシ、エイ、繊毛群、クラゲという 5 種類の手設計した生物が、それぞれ異なる戦略で泳ぎます。そのうえで、粘性を数桁にわたって掃引しました。結果は、低レイノルズ数物理で知られる制約と一致しました。Purcell の scallop theorem と整合的に、時間反転対称なストロークは粘性が高くなるにつれて正味の移動を生まず、非相反的なストロークは泳ぎ続けます。エンジンは、これらの制約を手で書き込むことなく、自ら再現しました。
フィラメント折り畳み
シミュレーションが微分可能であることを示すため、形態形成をタンパク質折り畳みの単純化された二次元アナログとして扱いました。アミノ酸の鎖がタンパク質へ折り畳まれるように、フィラメントも目標形状へ折り畳まれます。私たちは 1000 ノードのフィラメントの角度と長さを勾配降下法で最適化し、MNIST の 10 種類の数字それぞれに落ち着くよう求めました。勾配は、制約ソルバーや流体計算を含むシミュレーション全体を通って流れ、フィラメントは認識可能な数字形状を安定して復元しました。これは、フィラメントのパラメータ化が表現力を持ち、かつ完全に微分可能であることを示しています。
行動の進化
Microcosmos は探索手法に依存しないため、コントローラを手設計する代わりに進化させることもできます。共有されたノードごとのコントローラとして compositional pattern producing network (CPPN) を用い、NEAT によって進化させることで、フィラメントは泳ぐことを学びます。さらにエネルギー場を加えると、化学勾配に沿って採餌することも学びます。品質多様性探索をさらに進めると、エンジンは手設計なしに多様な遊泳歩容を発見します。そこには、正弦波状のうねり、方向転換、複雑な多部位運動、ひれ状の付属肢によるパドリングなどが含まれます。
スケーラビリティ
最後に、エンジンがどのようにスケールするかを検証します。グリッドを固定したまま、最大 50 万個の粒子でシミュレーションを実行し、実時間を測定しました。Microcosmos は粒子数に対して線形にスケールします。これは、ペアワイズ相互作用に基づくシミュレータが二次的にスケールするのとは対照的です。この線形スケーリングこそが、大規模な個体群に対する進化探索を現実的にする性質であり、エンジンの中核に組み込まれた局所更新構造の直接的な成果です。

次は?
Microcosmos は、私たちが今回試した以上のことをすでにサポートしています。多数のフィラメントが単一の流体を共有できるため、私たちがまだ探索し始めたばかりのマルチエージェント設定が開かれます。この方向では、誕生、死、自己組織化のような概念が必要になり、そこから競争、共生、個体性が立ち上がる可能性があります。より豊かな身体トポロジーやセンシングも自然な次のステップであり、これら 3 つはいずれも現在のエンジンで実現可能です。
私たちは Microcosmos を、オープンプラットフォームであり招待状として提供します。物理に根ざしたシミュレーションをスケールさせることは、計算資源のスケールが人工知能にもたらした変化と同じような変化を、人工生命にもたらしうると考えています。参加に関心がある方は <emaiil> までご連絡ください。
引用
@misc{tensen2026microcosmosreimaginingartificiallife,
title={Microcosmos: Reimagining Artificial Life for the GPU Era},
author={Mark Tensen and Ciaran Regan and Bert Wang-Chak Chan and Mizuki Oka and Kenneth O. Stanley and Grisha Szep},
year={2026},
eprint={2607.02954},
archivePrefix={arXiv},
primaryClass={cs.NE},
url={https://arxiv.org/abs/2607.02954},
}