問題タブ [cellular-automata]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wolfram-mathematica - Mathematica で 4 次元テーブルを使用してセル オートマトンをシミュレートする
書籍Modeling Cellular automata Simulations with mathematicaで、著者は次のコードを使用して、2 次元格子でセル オートマトンをシミュレートしています。
Moore Neighborhood からの更新ルールは次のとおりです。
ここで、N = 北、E = 東、S = 南、W = 西、NE = 北東、SE = 南東、SW = 南東、NW = 北西。これらの引数は、Moor Neighbourhood の最も近い隣人の値を表します。これらのルールを適用するには、以下のコードを使用します。
次のような表の場合 (本の 144 ページ)
彼は次の更新ルールを使用しています
私の質問は: 次のような 4 次元のテーブルを使用して? 次の更新ルールも適用できますか?
これは、テーブルを使用してセル オートマトンを操作する方法の例です。私はそのようなことをすることができますか?それとも私が間違っていますか?
テーブルを編集する
テーブルを以下のコードに変更すると、上記の更新ルールを使用できますか?
wolfram-mathematica - セルオートマトンとランダムな動き
セル オートマトン モデルにランダムな動きを持たせるにはどうすればよいですか? たとえば、セル内の要素が2つ以上の隣接セルよりもはるかに多い場合、いくつかの要素を与えるためにいくつかの隣接セルをランダムに選択したいと思います。頭に浮かんだすべてのコードを試しましたが、Mathematica では、要素がセルから生きており、別のセルに移動しているのと同時に確認する必要があるという問題があります。条件を使用してそれを行うことを考えましたが、方法がわかりません。誰でも私を助けてもらえますか?
編集:これまでに使用したコード
私の実際のコードは非常に複雑なので、単純なセル オートマトンで何を行ったかを説明しようと思います。私はムーア地区でムーブメントを成功させたかったのです。私のセルオートマトンのすべてのセルには、複数の個体があります (またはまったくありません)。細胞間でランダムな動きをしたい。私はこれを行うことができなかったので、次のコードを試してみました。セルオートマトンでは、以下に示すように使用しました。
このコードは動きをしていますが、セルに0個の個体があり、その隣人がすべて5人である場合、最後に8個とその隣人が4個になるため、私が望んでいるものとはまったく異なります。個体数が少ないセルが、最後に隣接するセルより多くの個体を持つようにする必要があります。私はそれらすべてに近い価値観を持ち、それでも動きがあることを望んでいます。Mathematica でそれを行う方法がわかりません。
wolfram-mathematica - セルオートマトンを使用したBrainfuckインタプリタ
誰かがbrainfuckインタプリタのためのセルオートマトンルールのセットを持っていますか?万能チューリング機械の実装に似ていると思います。それらはwolframサイトに存在しますが、BFシステム用にそれらを微調整する方法がわかりません。
javascript - JavaScript と HTML5 Canvas に実装されたセルオートマトン
Conway のライフ ゲームを JavaScript で実装しましたが、Gosper の Glider Gun のような同じパターンは見られません。ウィキペディアの記事に示されている方法でグリッドをシードしますが、銃は発生しません。
誰かが私のコードを見て、何か問題があるかどうか、実装への提案はありますか?
xna - セルオートマトンの高速化
ある種のアルゴリズムまたはそのようなものを使用して、セルオートマトンを高速化することは可能ですか? XNA で作成された Conway の Game of Life 実装を使用しており、完全に動作しますが、128x128 セルより大きいグリッドを使用すると、非常に遅くなるという問題があります。
コードや XNA がテクスチャと描画を処理する方法とは関係ないと思いますが、非常に多くのセルを更新する (つまり、各セルの隣接セルを評価し、それに基づいて新しい状態を取得する) という事実は、大量の計算です。 .
もちろん、理想的なセル オートマトンは無限大である必要がありますが、実際にはそれは不可能です。しかし、私の意見では、128x128 はシステムがどのように動作するかを実際に確認するには小さすぎます。
どんな助けでも大歓迎です!
cellular-automata - C#でのセルオートマトンのグラフィック実装?
私の最新のプロジェクトでは、C# でセル オートマトンを実装する必要があります。セルの配列の画像を作成して現在の状態を表示し、ティックの後に次の状態全体を表示する方法について助けてください。私はC#も初めてです。状態変更効果をどのように実装すればよいですか?
java - セル オートマトン データの配列を楽譜に変換する (WolframTones など)
わかりました。セル オートマトンのいくつかの基本原則を使用して、ルールから計算された一連のデータを生成するプログラムを実行することができました。各セルはブール値です。
現在、私はそれをそのまま保存しています-boolean [] []データ-最初のインデックスは行で、2番目はセルです。
これで、その音楽をスコア (配列として保存) に変換したいところまで来ました。このページには、CA データからどのように変換されるかを示す図が示されています。
データを採点する
ストレージスキームを使用してプログラム的にこれを行う方法を理解するのに苦労しています。誰かがそれを助けてくれれば、必要に応じてより多くの情報を提供できます。
algorithm - 大規模なセルオートマトンはどのようにシミュレートされますか?
例として Minecraft のレッドストーンを取り上げます。これは基本的に、次の基本ルールを持つ 15 状態のセル オートマトンです。
およびさまざまな接続要素の追加ルール
(CA を使用して Minecraft を実装する方法について詳しく書いています: http://madflame991.blogspot.com/2011/10/cellular-automata-in-minecraft.html )
さて、私の質問は次のとおりです。ゲームはどのようにして巨大なレッドストーンの仕掛けを更新するのでしょうか? どのようなデータ構造を使用していますか? それは本当にセルオートマトンとして実装されていますか? そうでない場合、あなたの最良の推測は何ですか?
追伸: 実際のソース コードをのぞいてみてくださいと言っているわけではありませんが、この技術的なことがどのように実現されているかを推測するだけです。...そして、私はこれをSOに投稿していますが、gamedevには投稿していません。これは、CAの質問であり、gamedev関連の質問ではないためです。