MAS コミュニティ
artisoc質問用掲示板(アーカイブ)
  
質問掲示板は移転しました。新掲示板はこちら

質問  (回答受付中)

[artisocモデル] 避難シミュレーションでのエージェントカウントについて
質問者: kentaroさん , 質問日時: 2020/01/10 18:05
建物での避難シミュレーションを作成しています。
出口から出ていったエージェントをカウントしたくて時系列グラフを作成したのですがうまくいかず、シミュレーションのstep数しかカウントできません。
Agt_Stepには
If Universe.B階段.potential(My.X,my.Y,0)==0 Then
DelAgt(my)
End If
このルールで出口に着いたら消滅するようにしていて、
Universeには下のルールを入れてカウントを行えるようにしています。
Univ_Step_Begin{
If Universe.B階段.potential(My.X, My.Y, 0) == 0 then
DelAgt(My)
universe.exit_count = Universe.exit_count + 1
End If
}

Univ_Step_End{
If Universe.exit_count == 1000 Then
Beep()
ExitSimulationMsgLn("Simulation Comleted after" & GetCountStep() & " Steps")
End If
}
このルールでエージェントをカウントしていくのに間違えている箇所があれば指摘していただきたいです。よろしくお願いいたします。



▼ 全ての回答


結論から言うと、Univ_Step_Beginのルールはすべて不要です。
そして、Agt_Stepのルールでカウントするようにします。
Agt_Step{
If Universe.B階段.potential(My.X,my.Y,0)==0 Then
 DelAgt(my)
 universe.exit_count = Universe.exit_count + 1
End If
}
My~は自エージェントのことですが、Univ_Step_BeginのMy~は何を指しているのかよく考えましょう。考えればわることですが、これは意味がないですよね。
基本的な質問が続いているため、「人工社会構築指南」を再読されることを強くお勧めします。

回答者: igaguri さん , 回答日時: 2020/01/11 09:13



Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
( 会社情報 情報セキュリティ・個人情報について )