質問 (回答受付中)[artisocモデル] エージェント集合型変数の中身(AgtSet)について | |
質問者: hidaka_maさん , 質問日時: 2018/12/26 15:43 |
指定した座標にエージェントが存在するかの判定をhttps://mas-auth.kke.co.jp/board/item/index.php?q=55に倣って,行いたいと考えております.
2×2の格子状の空間{(x,y) = (0,0),(0,1),(1,0),(1,1)}でエージェントA(初期位置(0,0)),エージェントB(初期位置(0,1))がいて,Bが(1,1)にいる時に,Aが(0,1)に移動するようなモデルを作成したいと考えております.
その際,エージェントAはMakeAgtSetAroundPositionCellを使って,(1,1)にエージェントがいるかどうかの判定を行おうとしているんですが,この判定が上手くいきません.
ツリーは Universe −test −−A −−−mawari −−B −−−mawari です.
AのMy.mawariやCountAgtSet(My.mawari)は,Printで出力すると100000000,0と出力されます. なので,エージェントAはエージェントBのことを認識できていないか,エージェント集合型変数について誤解しているかもしれません.
エージェントA Agt_Init{ } Agt_Step{ if My.Y == 1 Then My.Y = 0 Else///My.Y = 0 MakeAgtSetAroundPositionCell(My.mawari, Universe.test, 1,1,0,1,Universe.test.B.mawari) If CountAgtSet(My.mawari) >= 1 Then My.Y = 1 End if End if }
エージェントB Agt_Init{ }
Agt_Step{ if My.Y == 0 Then if My.known/100 > Rnd() Then My.Y = 1 End if else///My.Y == 1 My.known = My.known + 1 My.Y = 0 End if
MakeAgtSetAroundPositionCellやエージェント集合型変数に対する知識不足だと思うのですが,解決策を教えてもらえないでしょうか?
|
|
▼ 全ての回答
|
|