問題タブ [agent-based-modeling]

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.

0 投票する
2 に答える
349 参照

netlogo - カメ/エージェントがパッチを通過できないようにする方法は? 体育館モデル。コードは提供されているが機能していない

ここに画像の説明を入力

こんにちは、パッチが体育館に入らないようにする正確なコードを誰かが知っているかどうか疑問に思っています。赤いパッチとしてラベル付けされたすべてのゲートを閉じました。黒いパッチは壁です。

ここでの問題は、これらの異なるコードを試したにもかかわらず、パッチがまだ壁を通過していることです。誰でも私を助けることができますか?

これらの方法を 1 つずつ試して、ff. 働きました。

私を助けることができる人/人々に多くの助けをいただければ幸いです.

要求されたように、パッチのコードは次のとおりです。

0 投票する
3 に答える
405 参照

python - ハイ パフォーマンス コンピューティングのための c++ GIS/空間ライブラリ

そこで私は、地理マップ (この場合はシリア) で実行されるエージェント ベースのモデルのセットアップに取り組んでいます。Python で書いてみましたが、最適化のトリックを行った後でも、パフォーマンスはかなり遅くなります。モデルを C++ で書くだけに移行しようと考えていたのですが、どのビジュアライゼーション パッケージがマップを組み込むことができるのかわかりません。私は C++ で gnuplot を使用する傾向がありますが、そのパッケージに GIS ベースマップを組み込む方法を見つけることができませんでした。これが VTK やその他のパッケージで可能かどうかはわかりません。C++ でモデルを高速に実行する方法を見つけたいと考えていますが、地理情報は失われません。助言がありますか?

0 投票する
1 に答える
774 参照

netlogo - スライダーで正規分布の形を変える

私は NetLogo (NL) と Stackoverflow の両方に不慣れです。私は意見形成のNLモデルに取り組んでおり、次の問題に悩まされています(グーグルまたは他の何かがうまくいきませんでした)。

まず、タートル独自のプロパティturtles-own [opinion]を定義します。次に、意見変数 (-1 から 1 の範囲) のランダムな正規分布があります。-1 から 1 の範囲で意見分布のさまざまな形状を説明できるようにしたいと考えていますrandom-normal。開発者 (スライダーで設定); つまり、形状は std によって指定されます。開発者 価値。

ここにセットアップ機能のコードがあります:

それにもかかわらず、std.dev を設定します。スライダーを 1 にすると、期待される結果 (ベル型の分布) が生成されず、むしろ均一な分布が生成されます。これが概念的な問題なのか技術的な問題なのかはわかりません。

どんな助けでも大歓迎です。

0 投票する
1 に答える
146 参照

simulation - Netlogo : さまざまな品種のワクチン接種

私のモデルは、成人と子供の 2 つの異なる品種によるインフルエンザの蔓延を表しています。

私がやりたいことは、大人と子供に別々のワクチン接種を追加することです。これにより、インターフェイスから 2 つのワクチン接種値を指定して、2 つのそれぞれの品種のカメにワクチン接種する機会を与えることができます。

私の現在のコードは以下のとおりです。私ができるようにしたいのは、インターフェース値 adult-vaccination を使用して、その品種のカメの割合にワクチンを接種することです。

0 投票する
2 に答える
910 参照

timer - カメを互いに向き合わせ、3ティック待ってからさまようようにする方法は?

私は Netlogo と stackoverflow の両方に不慣れですが、あなたの他の投稿はすでに私を大いに助けてくれました。

私は現在、エージェントが空間をランダムにさまよい、出会うたびにエージェントを停止させるモデルをプログラムしようとしています。ここでの「会う」とは「すれ違うこと」を意味しin-radius 2ます。彼らはfaceお互いに、2 ティック待ってから、次のエージェントを見つけるまで動き続けます。

タイマーで NzHelen の質問を使用しようとしましたが、実際には成功しませんでした。

ここまでで、なんとか顔を合わせることができました。tick-command をコードの正しい場所に配置するのに問題があります。(編集: waitSeth のおかげで、これは -command を削除することで解決されました。 --> そして、すべてのタートルの動きを止めるのではなく、お互いに会っているタートルだけを動かしたくないのです)。私が目指しているもう 1 つのことは、彼らが会っている様子を視覚的に表現することです。たとえば、会っているときにパッチを点滅させたり、会ったときに彼らの周りに円を表示したりします。- コマンドを使用するwaitと、すべてが再び停止しますが、これを防止したいと考えています。

これまでのコードの下。

0 投票する
1 に答える
120 参照

python - Python または Java でクラスタリングを視覚化するパッケージ?

私はエージェントベースのモデリングを行っており、現在これを Python でセットアップしていますが、必要に応じて Java に切り替えることができます。
Twitter にデータセット (1100 万のノードと 8500 万の有向エッジ) があり、キーが特定のユーザー A であり、その値がすべてのフォロワー (ユーザーをフォローしている人々) のリストになるように、辞書/ハッシュマップを設定しました。 A)。「ノード」は実際には整数の ID 番号 (一意) であり、他のデータはありません。クラスタリングの何らかの方法でこのデータを視覚化できるようにしたいと考えています。すべての個々のノードを視覚化する必要はありませんが、n 番目に多くのフォロワーを持つノードを明確に視覚化し、そのノードの周囲の領域がそれをフォローしているすべての人を表すようにしたいと考えています。マップ全体に何かが広がっている様子をモデリングしているので、ノードとノードの周りの領域の色を変える必要があります。理想的には、それは連続的な視覚化になりますが、i 回ごとにスナップショットを作成するだけでもかまいません。
さらに、クラスターを分離して
、人物 A と人物 B に個別に視覚化するのに十分なフォロワーがあり、人物 A と B が接続されている場合 (一方が他方に従うか、場合によっては両方の方法で)、それらは次のようになると考えていました。どちらも視覚化されていますが、接続されているにもかかわらず視覚的に分離されているため、視覚化がより明確になります。

とにかく、Python (できれば) または Java に、これを半分簡単に実行できるパッケージがあるかどうか疑問に思っていました。

0 投票する
1 に答える
364 参照

java - Repast J でグリッドにデータ レイヤーを割り当てる

Repast Java Suite で ABM を作成しようとしており、そのために 3D グリッドを使用しています。グリッドに関する 2 つの質問: 1) グリッド内の各 (x,y) の組み合わせに関数値を割り当てたいとします。たとえば、各 f(x,y)=x+y についてです。したがって、エージェントが点 (x,y) にいるとき、対応する z 値は z=f(x,y)=x+y であることがわかります。グリッドにデータ レイヤーを割り当てるにはどうすればよいですか?

2) 同じグリッドに対して、エージェントは特定のパッチが訪問されたかどうかを知ることができる必要があります。エージェントがそのパッチにアクセスするたびに更新されます。

一般に、私の問題は、追加のメソッド、データなどをグリッド インターフェイスに割り当てることです。これは私のシミュレーションの基本的な質問であるため、解決しないと先に進むことはできません..回答は本当に感謝しています..ありがとう!

0 投票する
0 に答える
567 参照

parallel-processing - NetLogoで並列処理を実装する際のボトルネックは何ですか?

エージェントベースのモデルや NetLogo などの ABM モデリング ソフトウェアを実装するために取り組む必要のある具体的な実装上の問題やボトルネックは何ですか?

TL;DR バージョン:

ABM ソフトウェア、特に NetLogo を複数の CPU を利用できるように実装する際の問題は何ですか?
それらの問題に取り組む試みは何ですか?
NetLogoを並列化するには何が必要ですか?
NetLogo は並列モードでどのように動作しますか?

より長いバージョン:

現在、NetLogo は一度に 1 つのエージェントを順番に進めてシミュレーションを実行します。複数のモデルを単一のマシンで (別々の NetLogo インスタンスで) 実行したり、特定のモデルの異なる構成を (単一の NetLogo インスタンスで) BehaviorSpace [6] を使用して実行したりすることは可能ですが、単一のモデルは 1 つの CPU で実行されます [ 2、3]。

ask-concurrent コマンド [4, 5] によってエージェントの動作を進める疑似並列モードもありますが、複数の CPU での並列実行は必要ありません。

NetLogo を Haskell で実装して並列化する試みについて読んだことがあります (Nikolaos Bezirgiannis による HLogo 実装) [1]。ただし、研究プロジェクトの著者は次のように述べています。エージェント人口が増加して STM 競合が大量に発生すると、HLogo のパフォーマンスが大幅に低下します。」</p>

非並列のシーケンシャルな方法でシミュレーションを実行すると、明らかに並列実行に比べて大幅に遅くなります。NetLogo の実装が [単一モデルの実行に関して] マルチプロセッシング/並列処理を使用しないという事実 [2, 3] は、そうすることにいくつかの問題がある可能性が高いことを意味します。それらの問題は何で、どのように解決できるのでしょうか?

このトピックについて私が見つけた資料:

  1. Nikolaos Bezirgiannis による「Haskell の同時実行性と並列性を使用したシミュレーション ソフトウェアのパフォーマンスの改善」論文
    http://dspace.library.uu.nl/handle/1874/284708

  2. NetLogo / documentation / FAQ #Multiprocessing
    (「1 つのモデルの実行には、1 つのプロセッサのみが使用されます。」)
    http://ccl.northwestern.edu/netlogo/docs/faq.html#multiprocessing

  3. 「並列実行についての質問」<br/> http://netlogo-users.18673.x6.nabble.com/Question-about-parallel-running-td4869363.html

  4. 「NetLogoで複数の手順を同時に実行する方法は?」StackOverflow に関する質問
    NetLogo で複数のプロシージャを同時に実行するには?

  5. NetLogo ドキュメントの Ask-concurrent
    (「ask-concurrent の動作は完全に決定論的です。」)
    http://ccl.northwestern.edu/netlogo/docs/programming.html#ask-concurrent

  6. NetLogo ドキュメントの BehaviorSpace
    http://ccl.northwestern.edu/netlogo/docs/behaviorspace.html