問題タブ [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.
message-queue - 大規模に分散されたセル オートマトンのためのローカルで少量のメッセージ パッシング
大規模分散セルオートマトンを使用したシミュレーションの開発に取り組んでいます。セル シミュレーションはノード全体に分散され、ZooKeeper を使用して調整されます。永続データは Riak に保存されます。セルオートマトン自体は Python で書かれています。
セルが少量 (たとえば、毎秒数から数十の間) のメッセージ (おそらくキーと値のペア) をすぐ隣のセル (マンハッタンの近隣) に渡すことができれば、私のシミュレーションにとって非常に便利です。ただし、数百万のセルのシミュレーションの場合、単純なアプローチでは、各セルに 1 つずつ、数百万の小さなメールボックスがあり、各ボックスにゆっくりとメッセージが細流します。これにより、ZooKeeper や RabbitMQ は屈服します。私は DDSを勧められましたが、それは非常にエンタープライズ向けのようで、見つけることができる Python バインディングはありません。
私は分散システム開発の初心者です。これは、私がどこまで到達できるかを確認するための単なる趣味のプロジェクトです。私はこれを間違った方法で行っていると感じずにはいられません。小さなセルのメールボックスごとにモノリシックなメッセージ バスを使用しています。セルが隣接するセルとその世界における位置を判断するのは簡単なので、メッセージの受け渡しは何らかのチャンクの影響を受けやすいように思われます。しかし、この地域アクターの設計と、それが個々の細胞とどのように通信するかについては、私にはわかりません。セルがメッセージ バスを介してチャンクにメッセージを渡す方法はわかりましたが、チャンクはどのようにメッセージをセルに戻すのでしょうか?
この問題の真の解決策に近いところまで進んでいますか? 分散ノードが少量のメッセージを近隣ノードに渡す適切な方法は何ですか?
c++ - C++ の初心者、「EXC_BAD_ACCESS」エラーがわかりません
2 次元のセルオートマトンを Processing から openFrameworks (C++) に変換しようとしています。私はセルとライフ ゲーム機能のクラスを作成しました。アプリケーションは正常にビルドされますが、次のエラーですぐにクラッシュします: スレッド 1: プログラムはシグナルを受け取りました: "EXC_BAD_ACCESS".
これが私のライフゲームクラスのヘッダーです
実装は次のとおりです。
エラーは、vector.h ファイル、GoL ヘッダー ファイル、および GoL 実装で init() メソッドを呼び出す場所に表示されます。どんな助けでも大歓迎です。
c++ - openframeworksでC ++ベクトルを使用したライフセルオートマトンのゲーム
C++ (openFrameworks) でゲーム オブ ライフ CA を構築しています。私は C++ を初めて使用するので、次のコードでベクトルを正しく設定しているかどうかを誰かに教えてもらえないかと思っていました。CA は画面に描画しません。これがベクトルの設定方法の結果であるかどうかはわかりません。1D 構造のみを処理する Pure Data にデータを送信するつもりなので、1D ベクトルを使用する必要があります。
java - Graphics2D: 色を設定するときの null ポインター例外
60 要素の 1D 配列から 1 または 0 を取得して、10x10 ピクセルの白または黒の長方形を表示したいと考えています。1D 配列の更新されたさまざまな要素に対して、同じ操作を 6 回繰り返します。(セルオートマトンの実装)。
問題: この問題は、結果を 600x600 のウィンドウに表示したいときに発生します。行は.g2.setColor(Color)
をスローしNullPointerException
ます。このエラーが発生する理由を見つけることができませんでした。
c++ - セルオートマトンは新しい細胞を作らない
コンウェイのライフ ゲームなど、あらゆる種類のセル オートマトンを作成できるプログラムを作成しようとしています。
グラフィックの実装はすでに完全に機能しているので、(特に Allegro ライブラリを使用することで) あなたの時間を無駄にすることはありませんが、セルをカウントする関数は適切に機能しません。
それが私が今持っているものです。(コードは整然としています。すべてを明確にするために、コメントでそれを壊しています)
事前定義:
グラフィックスの構造:
2 つの事前定義された構造: 生きているテスト セルと死んでいるテスト セルの RGB コード。
構造体変数と定数構造体の色が等しいかどうかをチェックする関数。
主な機能。構造体の 2 つの配列を取得します (1 つ目は現在のラウンド、2 つ目はカウントが発生する場所です。ラウンド ループでは、カウント後に b 配列が配列にコピーされます)。開始すると、すべての構造に対して次の手順を実行します。カウント、その近隣にある生きているセルの数 (生きているセルの場合、自分自身を近隣としてカウントしないように -1 から開始します。それ以外の場合は、定期的に 0 から開始します)。次に、それ自体が生きているテスト セルではなく (それ以外のもの)、5 つの隣接セルがある場合、それは生きているテスト セルになります。それ自体が生きているテスト セルであり、隣接セルが 2 つある場合、それは死んだセルになります。
問題は、カウントが始まると、すべての生きているセルが最初のラウンドですぐに死んでしまい、死んだセルにならなくても消えてしまうことです (これは明らかに濃い赤色です)。ほとんどすべての "カウンター == XY」にチェックを入れます。
すでにいくつかのヒントがありますが、なぜうまくいかないのかわかりません。論理障害はありますか?間違いはあるのに見えないから。
編集:
に置き換えられます
と
arrb[i][j] = arra[i][j];
が追加されます。今ではすべてが置かれたままです。
c++ - 呼び出された関数は前の変更をクリアします
私は、すべてのラウンドで変更が発生するセルオートマトンに取り組んでいます。明らかに、ループを作成しました。基本的には幸いにも機能しますが、マップに別のタイプのセルを追加したい場合、すべてが機能しません! つまり、1 つのタイプのセルは機能しますが、もう 1 つのセルは何もしません。ゲームが開始され、たとえば、この例では、コンウェイ オートマトンが成長し始めますが、赤いテスト セルは変更されずにそのままです。
これらは2つの機能です(事前定義されたものを使用):
これはループ自体です:
何が悪いのか教えていただけますか?それとも、問題はループにないのでしょうか?
c++ - 呼び出された関数は前の変更をクリアします
私は、すべてのラウンドで変更が発生するセルオートマトンに取り組んでいます。明らかに、私はループを作成しました - 幸いなことに、基本的には機能しますが、マップに別のタイプのセルを追加したい場合、一方のタイプのセルは機能しますが、もう一方のタイプは何もしません: ゲームが始まり、例えばこの例では、コンウェイ オートマトンが成長し始めますが、赤いテスト セルは変更されずにそのままです。
これはループの内容です:
前述したように、この例では、Conway セルは成長しますが、Test セルはそのまま残ります。それらを同時に機能させる方法は?
(私は Allegro ライブラリを使用しているので、この問題に何か問題がある場合は、遠慮なく私と共有してください!)