3

Moore または Neumann 近傍を使用する (ほぼ) あらゆる種類の CA 用に、ncurses ベースの CA シミュレーターを作成しています。

現在の (ハードコードされた最も明白な [running state funcs]) を使用すると、シミュレーションはかなりうまく実行されます。画面が「オン」(またはアクティブな)セルでいっぱいになるまで。

だから私の質問は: 少なくとも現実的なルールを処理するための効率的なアルゴリズムはありますか? または世代、加重寿命/世代...

ありがとう。

4

3 に答える 3

3

一般的には、前の時間ステップでアクティビティがあったグリッドの領域でのみ更新パスを実行すると便利です。「今回は変更しましたか?」のブール格子を維持する場合 パスごとに、変更ラティスで「オン」になっているセルの 1 つの半径内のセルのみを更新する必要があります。

于 2009-10-27T17:07:26.000 に答える
1

ステート マシンを記述することは、アルゴリズムの設計上の問題ではなく、クリーンで「バグのない」コードを記述する方法の問題であると思います。おそらく探しているのは、セルオートマトン/ステートチャートの実装です。

http://www.state-machine.com/ //<- いいえ、これは偶然ではありません http://www.boost.org/doc/libs/1_40_0/libs/statechart/doc/index.html

また、スタックレス python http://stackless.com/を試すこともできます。ステート マシンまたは CA に使用できます。ここhttp://members.verizon.net/olsongt/stackless/why_stackless.html#the-factory工場プロセスのシミュレーションを実装するスタックレスのチュートリアルです

于 2009-10-27T07:26:50.320 に答える
1

HashLifeアルゴリズムを調べて、その概念を作業中のオートマトンに適応させることができます。

于 2009-10-27T17:11:46.493 に答える