複雑系コンサルティング
このような画面で止まってしまうのは処理が追いついてないからでしょうか? もしよろしければ実行してみていただきたいです.
色々考えてみたのですが,2番の方法は少し難しいと判断したので1番の方法で考えていきたいのですが,もう少し具体的に方法を教えていただきたいです.
1. 現状のマップを保持してシミュレーションを行いたい場合は、上階の数階分(もくしくは1階分)をシミュレーションし、下層階に移動するエージェントのstep数と座標をログ出力します。次に、1つ下の階のシミュレーションを行い、追加で上層階から移動してきたエージェントの発生を追加します。これを繰り返すと、最下層である1階から避難した全てのエージェントの行動をシミュレーションできます。
まずは最上階のみについて、階段までの移動について、
https://artisoc-cloud.kke.co.jp/models/BNxqXcu4ScqSQmOwMEgTnQ
の入力ファイルである person.csv と同じファイル形式で
person_id step speed start_id goal_id
を出力すればよいと思います。
あとは順番に下の階に避難者を移動させて行けばよいと思います。
先ほど,4階まで階数を減らしてみたのですがうまくいかず,やはり指摘していただいたところが悪いのかなと思っていたのですが理由がわからず困っていました.
定義しています.何回も確認しました。
調べてみたところ、joint.csvに定義される数が多すぎることが問題のようです。
joint.csvの定義を下記の通り定義し、
from_id,to_id
91,92
408,409
person.csvを下記の通り定義したところ、問題なく移動できました。
person_id,step,speed,start_id,goal_id
1,1,1.24,2,1000
つきましては、joint.csvが減らせるかを検討いただけましたら幸いです。
jointの定義は何個までできるのでしょうか?階段などを考慮したものを作成したいのですが、どうすればいいでしょうか?
よく考えたところ、マップの大きさ(x,y) x 階数 x start_idの数 x goal_idの数 のポテンシャルマップを保持するため、これがメモリを圧迫されることにより実行時エラーが発生しているものと考えられます。
手段として2つの方法が考えられます。
上層階から下層階へ避難するという前提であれば、
現状のマップを保持してシミュレーションを行いたい場合は、上階の数階分(もくしくは1階分)をシミュレーションし、下層階に移動するエージェントのstep数と座標をログ出力します。次に、1つ下の階のシミュレーションを行い、追加で上層階から移動してきたエージェントの発生を追加します。これを繰り返すと、最下層である1階から避難した全てのエージェントの行動をシミュレーションできます。
現状のマップを簡略化してシミュレーションを行う場合、マップの大きさおよびstart_idの数、goal_idの数を縮小(例えば1/10)にします。この状態で全てのエージェントが避難可能であれば、数を増やしていき、シミュレーションが可能なサイズを割り出します。
縮小版として3階で行ってみたのですが,マップが表示されませんでした.実行することはできました. csvファイルで0と定義しているところが自動的に黒く表示されないのでしょうか?
修正したモデルを送付いただけますか?
こちらになります.
エージェントは複数階を移動してますが、下りの階段はすべてjoint.csvに定義していますでしょうか?
色々考えてみたのですが,2番の方法は少し難しいと判断したので1番の方法で考えていきたいのですが,もう少し具体的に方法を教えていただきたいです.
先ほど,4階まで階数を減らしてみたのですがうまくいかず,やはり指摘していただいたところが悪いのかなと思っていたのですが理由がわからず困っていました.
定義しています.何回も確認しました。
縮小版として3階で行ってみたのですが,マップが表示されませんでした.実行することはできました. csvファイルで0と定義しているところが自動的に黒く表示されないのでしょうか?