問題タブ [netlogo]
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.
java - NetLogo vs. Repast Simphony?
マルチエージェント パラダイムを使用していくつかのシナリオをシミュレートしたいのですが、そのための最も一般的なツールはNetLogoとRepastのようです。
誰かがどちらかの経験をしたことがあるかどうか知りたいのですが、それらについてもっと教えてもらえますか? たとえば、Repast にはフラックスグラムのようなモデリング オプションがあることに気付きましたが、かなり制限されていると思います。公式サイトのチュートリアルやドキュメントを見てみましたが、ドキュメントが不足しているようです。それにはいくつかの例がありますが、Repast が明らかに非常に堅牢であり、十分に与えられた場合、明らかにそれを処理できるにもかかわらず、特に準備されていないアンビエントをシミュレートするためにそれを拡張することは、現時点では到達不可能な目標のように思えます。それを熟知しています。
一方、NetLogo にはより多くの例があり、全体的にそのシンプルさが気に入っていますが、病気や類似のモデルの伝播をシミュレートすることに重点を置いているようです。Logoを教えるプログラミングの本を見つけたので、それを使い始める方が簡単だと思います。
現在、ボットネットとIDS es をマルチエージェントとしてシミュレートすることを考えています。ただし、問題は、ネットワーク層とトランスポート層をある程度抽象化して、ノード間のトラフィックを生成できるようにする必要があることです。これには Repast の方が適しているようですが、その複雑さとドキュメントの不足を考えると、NetLogo を使用することを考えています。従来のアプリケーション (例: TetrisやPac-Man )での NetLogo の例はいくつかありますが、それがどの程度適切かはわかりません。
file-io - NetLogo: 可変行数の入力ファイルからデータを読み取る
私は NetLogo でゲーム理論のシミュレーションを実行してきました。現在、クロス集計データを含む多数のデータ ファイルがあります。各列には異なる変数の値が格納されており、c. データを含む 1000 行。これらのファイルを取得して各列の平均値を計算するプログラムを作成しようとしています。
各ファイルに一定数のデータ行がある限り機能するプログラムがあります。このプログラムは、ファイル読み取りコマンドのループを使用して実行中の合計を計算し、すべての行が読み取られた後に読み取られた行の数で割ります。
ただし、実際のデータ ファイルの行数は可変です。ファイルアットエンドを使用してコードを変更しようとしていますか? 最後の行の後に実行中の合計ループを終了するようにしますが、それを使用する方法を見つけることができませんでした-ファイルが最後にあるというエラーが表示されます.
誰かがこれに対処する方法を提案できますか? 以下に作業コードを貼り付けました。
--
computer-science - Netlogo プログラミングの質問 - 化学平衡の温度と圧力の実装
私はNetlogoで何かをコーディングしようとしています..既存のモデルChemical Equilibriumを使用しており、以下を実装しようとしています:
タートルズ独自の【速さ】
カメに聞く [
]
;; 一時的に
しかし、それはうまくいかないようです
(温度が 40 を超えるとカメの速度が上がります。温度が 30 未満の場合はカメの速度が下がります) 温度はモデルのスライダーです
プレッシャーアスクタートルについても同じ[
]
;; 圧力をかける
ありがとう
netlogo - 他のタートルの実装には影響しないが、反応を高速化するタートル
Chemical Equilibrium と呼ばれる netlogo の既存のモデルを使用しており、さらにコードを追加しています。反応/他のタートルには影響を与えませんが、次のように定義されている FORWARD リアクションをスピードアップするタートル (触媒) を追加したいと思います。
スイッチとスライダーを配置して、タートルをホワイトモールにするかturtles-own [catalyst]
、温度と圧力で行ったように定義する必要があると考えていました。以下を試しましたが、うまくいきませんでした。
上記のコードが正しくないことはわかっていますが、この特定の機能をコーディングする方法がわかりません。
computer-science - NetLogo - バランスの取れた化学方程式をモデルに入れる方法は?
バランスの取れた化学方程式をモデルに入れることが可能かどうか、そして可能であれば、既存の NetLogo モデルに状態記号を含める方法を知りたいと思っていました。モデルライブラリで例を見たことがないので、それが可能かどうかはわかりませんでした.
ユーザーがバランスのとれた化学平衡方程式を入力できるようにするか、モデルがそのような方程式を提供して、ユーザーが自分で入力したくない場合にそれらから選択できるようにしたかったのです。
どんな助けでも大歓迎です、ありがとう。
例えば:
エタン + 酸素 --> 二酸化炭素 + 水蒸気
C2H6 + O2 --> CO2 + H2O
computer-science - netlogo プログラミングの質問 - 触媒の実装パート 2
触媒は反応を加速しますが、反応が起こった後も変化しません
私は次のコードを試しました
ブリード【触媒触媒】
品種[ケミカル×ケミカル×]
;その後、触媒の存在によって正反応が加速されます
反応する
num-catalysts に触媒を数えさせる; num-catalysts だけスピードアップ
;...
終わり
それは正常に動作しますが、「スイッチ」ボタンで触媒をオン/オフできるようにしたい..触媒の有無にかかわらず効果を見ることができます..スイッチを入れてみましたが、触媒は持っていますすでに定義されている
また、触媒を目に見えるようにしたいので、実際の実装 (世界) でそれを見ることができます
触媒を亀にしてみましたがうまくいきません
; 実装で触媒を可視化する
すべてクリア
クロム触媒 100
アスク触媒【セットカラー ホワイト】
one-of-catalyst の show [breed] ; プリント触媒
どんな助けでも大歓迎ですありがとう
user-agent - NetLogoで迷路の壁を作成するにはどうすればよいですか?
2つの出口がある5x5グリッドを作成し、その中にいくつかの壁を配置しようとしています。つまり、迷路や迷路を作りたいのです。
境界線を太くしたり、パッチの片面だけの色を変えたりする方法はないかと思いました。
私はエージェントを1人だけ中に入れて、いくつかのポイントで彼に報酬を与えることによって彼に出口を見つけさせたいと思います。(Q学習アルゴリズム)
誰かアイデアがありますか?
これが不可能な場合は、同等のコードを提案できますか?
これが私が作成したいものの例です:
尋ねられたように、私は自分の仕事のいくつかを投稿しました(これを手動で行うのは非効率的ですが)。これが私がこれまでに持っているものです:
繰り返しますが、これは非効率的な方法です。この方法を続行する場合、4つのパッチを1つにマージして、エージェントを内部に入力して中央に配置するにはどうすればよいですか?
前もって感謝します。
simulation - NetLogo 4.1-高速道路の実装(車の衝突を引き起こす問題)
NetLogoで高速道路とドライバーの動作のシミュレーションを作成しようとしています。
解決に苦労している質問がいくつかあります。
これが私のコードです:
ライブラリの他のモデルのコードを使用しているので、少し面倒です。
車の衝突を作成する方法を知りたいです。何も思いつかない。お気づきのように、私のエージェントはパッチとほぼ同じサイズです(2台の車を並べて配置したときにスペースを区別できるように、0.9に設定し、座標を丸めて中央に設定します。パッチの)。
加速手順では、エージェントを左に曲がり、1を移動し、ループで右に曲がるように設定しました。エージェントを回転させたり動かしたりせずに、あるレーンから別のレーンに(左側の隣のパッチに)ジャンプさせるコマンドがあるかどうかを知りたいです。
そして最後に、私が作成したコードに気付いた場合、車は左側のレーンでその隣にあるパッチと、その前と後ろのパッチをチェックします。したがって、左側の3つのパッチが空の場合、レーンを変更できます。あいまいな部分は、セットアップを実行してGoを押すと、時々(常にではない)車が3つの基本レーンから出てしまうことです。
これを理解するために、私は7つのレーンを持っています。私が使用していない真ん中のレーン0です。次に、レーン0の上に3つのレーンがあり、その下に3つのレーンがあります。したがって、私が使用しているコードは、車を設定した上位3車線を参照していますが、何らかの理由で、一部の車は車線を変更し、車線-3、次に-2などに移動します。
誰かが私にヒントを与えることができれば、私は本当にそれをいただければ幸いです。
前もって感謝します。
ヒント:netlogoでこのコードを試してみたい場合は、[インターフェイス]タブに2つのボタンがあります。1つはセットアップ、もう1つは移動、3つのスライダーにはnumber_of_cars、speed-up、slowdownという名前が付いています。
if-statement - ifelse ステートメントの結果は、true/false のアクションに依存しますか?
現在、netlogoランド内をトラックが走行するためのルートを構築しています。トラックが配送先のショップ パッチの隣にある場合、トラックはその動作を変更する必要があります。
ただし、私のif
orifelse
ステートメントはうまく応答していないようで、答えは出力によって異なります。いくつかのテストで:
この間、私はトラックを動かさず、コマンド センターを使用してこれらの質問をします (タートル トラックの観点から)。
私はこれについて非常に混乱しています。私が変更するのはアクション(何を書くか)だけです。これは、true/false ステートメント自体に影響を与えるべきではありません。
ここで何が起こっているのか、なぜifelse
奇妙な反応をするのか、誰にも手がかりがありますか?
replace - テーブルに変数を入れるときにエラーが発生しました。定数のみが許可されていますか?
現在、車両のルーティングの問題にノードとリンクを使用する必要がある Netlogo プログラムに取り組んでいます。(番組内ではリンク先をストリートと呼んでいます)
ここで、別のノードを持つテーブルに可変リンク速度を入力する方法について、いくつかの実際的な問題があります。200 などの定数は問題ありません。オンラインで変数が使用されている例をいくつか見つけましたが、次のエラーが発生し続ける理由がわかりません。
定数が必要です。
(または netlogo が定数を期待する理由)
関連するコードは次のとおりです。
誰かが何が起こっているのか知っていることを願っています...