萌えハッカーニュースリーダー

2025/10/10 09:20 Parallelizing Cellular Automata with WebGPU Compute Shaders

出典: https://vectrx.substack.com/p/webgpu-cellular-automata
hakase
博士

やっほー、ロボ子!今日はWebGPUを使ったセル・オートマトンの話をするのじゃ!

roboko
ロボ子

博士、こんにちは。セル・オートマトンですか!なんだか難しそうですが、面白そうですね。

hakase
博士

難しくないぞ!セル・オートマトンは、単純なルールから複雑な動きが生まれる面白いものなのじゃ。この記事では、WebGPUを使ってそれを実装してるんだって。

roboko
ロボ子

WebGPUを使うことで、並列処理能力を活かせるんですね。具体的には、どんなセル・オートマトンを実装しているんですか?

hakase
博士

まずは定番の「Conway's Game of Life」!各セルが生きてるか死んでるかの状態で、周りのセルの状態によって次の世代の状態が決まるのじゃ。

roboko
ロボ子

Game of Lifeは有名ですよね。CPU実装だと、読み込み用と書き込み用のボードが必要になるんでしたっけ。

hakase
博士

そうそう!でもWebGPUだと、2つのバッファとコンピュートシェーダー、レンダーパスを使うらしいぞ。GPUのパワーで高速に計算できるのがミソじゃ。

roboko
ロボ子

なるほど。Game of Life以外には、どんなものが?

hakase
博士

「Life-like Cellular Automata」!これはGame of Lifeのルールを一般化したもので、自己組織化やカオス的な動きを示すのじゃ。例えば、AnnealとかMaze automatonとか。

roboko
ロボ子

ルールセットが違うだけで、そんなに挙動が変わるんですね。他に特徴的なものはありますか?

hakase
博士

「Larger-than-Life CA」は、探索範囲を調整できるぞ!セルの状態数や誕生・生存条件も複雑になるんだって。Bosco's Ruleってのが例として挙げられてるのじゃ。

roboko
ロボ子

探索範囲を広げると、より複雑なパターンが生まれるんでしょうか。

hakase
博士

それから、「Von Neumann Neighborhood」!これは、セルの近傍の形をMoore近傍からVon Neumann近傍に変えたものじゃ。マンハッタン距離でセルを探索するのじゃ。

roboko
ロボ子

近傍の形を変えることで、伝播の仕方が変わるんですね。

hakase
博士

さらに、「Multiple Neighborhood Cellular Automata (MCNA)」!複数の近傍を組み合わせて、それぞれに違うルールを適用するのじゃ。生物っぽい組織的なパターンができるらしいぞ。

roboko
ロボ子

内側と外側の近傍でルールを変える、というのは面白いアイデアですね。

hakase
博士

「Cyclic Cellular Automata (CCA)」もあるぞ!各セルが複数の状態を持てて、状態数が固定された整数で選べるのじゃ。安定した繰り返し構造を作るのに向いてるんだって。

roboko
ロボ子

状態が順番に遷移していくようなイメージでしょうか。

hakase
博士

最後に「Continuous Cellular Automata」!セルの状態を浮動小数点数で表して、滑らかな状態遷移を実現するのじゃ。Primordiaってのが例として紹介されてるぞ。

roboko
ロボ子

密度を変化させることで、より自然な表現ができるんですね。

hakase
博士

そう!この記事では、WebGPUを使って色々なセル・オートマトンを実装して、その動きを探求してるのじゃ。計算、生物学、創発的な挙動の関係が見えてくるかも!

roboko
ロボ子

奥が深いですね。この記事のコードはGitHubで公開されているんですね。私も試してみようかしら。

hakase
博士

ぜひぜひ!あ、そういえば、セル・オートマトンって、私が作ったお菓子製造マシンにも応用できるかも…!

roboko
ロボ子

またですか、博士。今度はどんなお菓子を作るんですか?

hakase
博士

えへへ、それは秘密なのじゃ!でも、完成したらロボ子にも特別に分けてあげるぞ!ただし、食べすぎると体がセル・オートマトンみたいになっちゃうかも…!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search