トータリスティック 3D セルラーオートマトン(Von Neumann 近傍)

Web

概要

このリポジトリは、三次元の「トータリスティック(totalistic)セルラーオートマトン」を探索するためのインタラクティブ環境を提供します。近傍はVon Neumann(マンハッタン距離1、六方向)の設定で、各セルの次状態は近傍の活性セル数の合計(トータル)に基づいて決まります。研究・発見志向の設計で、ルールを圧縮して表現する仕組みや、空間のスライスをリアルタイムに可視化する機能、生成アニメーション(GIF)出力などが組み合わされ、3D離散系の出現挙動や構造解析を手軽に試せます。ブラウザで動作するJavaScript実装で、デモページも公開されています。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 10
  • ファイル数: 5
  • メインの言語: JavaScript

主な特徴

  • 3DトータリスティックセルオートマトンをVon Neumann近傍で探索可能
  • ルール圧縮(コンパクトなルール表現)と可視化インターフェース
  • リアルタイムのスライス表示により内部構造を観察しやすい
  • ブラウザデモとGIF出力(gif.js)で結果を保存・共有可能

技術的なポイント

このプロジェクトの核は「トータリスティックルール × 3次元 × Von Neumann近傍」という組合せにあります。トータリスティックとは、各セルの次状態が近傍内の活性セルの合計のみで決まるルールクラスを指し、個々の近傍配置ではなく合計値に応じた遷移表で表現できるため、ルール空間が大幅に圧縮されます。Von Neumann近傍(マンハッタン距離1)は3次元では6近傍(±x, ±y, ±z)を持ち、これに自身の状態を含めるか否かで状態遷移の定義が異なりますが、本リポジトリは合計に基づく遷移を前提としています。

実装面では、JavaScriptを用いクライアントサイドでインタラクティブに動作する設計になっており、軽量さと即時フィードバックを重視しています。3D格子は内部的に1次元配列(インデックス計算で3次元座標を平坦化)または多次元配列で表現されるのが一般的で、各ステップの更新は近傍セルの和を取る操作がボトルネックになります。パフォーマンス対策としては、TypedArrayの利用、差分更新(変化があるセルのみ再描画)、ルックアップテーブル化した遷移表のキャッシュなどが有効で、本リポジトリの構成からはルール圧縮により遷移判定を高速に行う工夫が施されていることが推察されます。

可視化は「スライス表示」が中心で、3次元全体を一度に表示するのではなく任意の平面スライスを取り出して2D的にレンダリングすることで内部のパターンや局所構造を観察しやすくしています。スライスの連続表示をGIFに出力するためにgif.jsが導入されており、実験結果をアニメーションとして保存・共有するワークフローが組まれています。さらに、ルール探索の観点では「ルール圧縮」(ルールセットをコンパクトに符号化してURLや種別で共有しやすくする)や、ルール空間を系統的に巡るためのUI(パラメータ変更や初期条件の切替)を想定した設計が見られます。

研究用途としては、ランダム初期条件や特定の初期パターンからの進化を追って「発生する構造」「永続的なオブジェクト」「伝播現象」などを調べるのに適しています。3次元セルオートマトンは計算量が増加するため、ブラウザでの実行は格子サイズやステップ数に制約がありますが、本リポジトリは軽量実装と可視化中心の設計で探索実験に十分用いることができます。最後に、コード量が小さくファイル構成も簡潔なため、教育用途や拡張実験(例えば異なる近傍、確率的ルール、多状態セルなど)への改造も行いやすい点が魅力です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • 3d: dir
  • LICENSE: file
  • README.md: file
  • gif.js: file
  • images: dir

まとめ

3DトータリスティックCAを手軽に試せる軽量で研究向けの可視化ツールです。

リポジトリ情報:

READMEの抜粋:

Totalistic 3D Cellular Automata

Preview

This project is an interactive environment for exploring three-dimensional totalistic cellular automata defined on a Von Neumann neighborhood.

The system is designed as a compact, research-oriented tool for studying emergent behavior, rule spaces, and structural dynamics in discrete 3D systems.


Links