人工生命:計算生命研究の300行Python再現

概要
Artificial-lifeは、研究論文『How Well-formed, Self-replicating Programs Emerge from Simple Interaction』(Computational Life)を300行のPythonで再現したものです。シンプルなプログラムがグリッド上で相互作用し、創発的に自己複製が生じる過程をシミュレートします。
仕組み
このシミュレーションでは、240×135のグリッドに64命令長のBrainfuckに似たプログラムがランダムに初期化されます。各イテレーションでは以下のプロセスが実行されます:
- 隣接するプログラムがランダムにペアリングされる
- それぞれの命令テープが連結される
- 結合されたプログラムが最大213ステップ実行される
- 実行後、テープは元に分割される
命令にはループ機能があり、命令テープ自体を変異させることができます。元の論文で説明されている通り、自己複製プログラム(隣接するテープに自身をコピーするもの)が自然発生し、グリッド全体に広がって支配することがよく見られます。
視覚表現と実行方法
各ピクセルは一意の色で命令を表し、黒色は生のデータストレージ(命令ではない)を示します。8×8ピクセルの領域が1つのプログラムを表します。
シード1でシミュレーションを実行するには:
uv run main.py --seed 1この特定の実行では、比較的早い段階で自己複製プログラムが出現し、グリッドの大部分を支配します。その後、より効率的な自己複製プログラムが進化し、すべてを支配するようになります。
リポジトリには、シミュレーションの進行を示す出力例が含まれています:universe.gifとuniverse.mp4。
技術詳細
このプロジェクトはPythonのみを使用しています(GitHubの言語検出によると100.0%)。標準的なPythonプロジェクトファイルを含みます:pyproject.toml、uv.lock、.python-version。
この実装は、シンプルな相互作用ルールから複雑な創発的振る舞いが生じる様子、特に自己複製プログラムが複製を明示的にプログラムされなくても進化できることを示しています。
📖 完全なソースを読む: HN AI Agents
👀 See Also

AIエージェントのためのSOULS:コミュニティ駆動のパーソナリティライブラリ
RedditユーザーがAIコーディングエージェント向けに丁寧に作成されたパーソナリティファイル(「ソウル」)のオープンソースリポジトリを作成。現在、Jarvis、Gojo、Eren Yeager、René Descartes、Rapperの5種類が含まれており、コミュニティからの貢献を呼びかけている。

Ops Dashboard OpenClaw: 複数リポジトリを持つ個人開発者向けのローカルファーストダッシュボード
ソロ開発者が、Obsidian保管庫、リポジトリ、ログを一元管理できるローカルファーストのダッシュボード「ops-dashboard」を構築。BYOK、MITライセンス、クラウド不要。

Heren Godot MCP:永続WebSocketデーモンがAIとGodotの対話レイテンシを約20msに短縮
HerenはGodot向けの新しいMCPサーバーで、軽量なWebSocketデーモンを維持し、エンジンのコールドスタートを待つ代わりに約20ミリ秒の操作を実現します。シーン管理、デバッグ、GPUアクセラレーション対応のスクリーンショット、および3分間の非アクティブ状態後の自動シャットダウンのための15のツールを提供します。

開発者がKotlinマルチプラットフォームプロジェクト向けに実用的なClaudeスキルを作成
ある開発者が、既存のスキルが汎用的すぎる、特定のスタックに偏りすぎている、あるいは実用的でないと感じたため、Kotlin Multiplatform(KMP)作業に特化したClaudeスキルの公開リポジトリを作成しました。このスキルは、アーキテクチャレビュー、機能実装、モジュール化、Compose Multiplatform UI、ナビゲーション、プラットフォームブリッジ、ディープリンク、適応型UI、テスト、ビルドガバナンスなどをカバーしています。