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

質問  (回答受付中)

[artisocモデル] エージェントが保有する空間の追加について(3回目の質問させていただきます。)
質問者: kenkenさん , 質問日時: 2020/11/19 17:00
『現在、大学で農地の使用モデルについて研究しています。
そこでお伺いしたいのですが、あるエージェントAの半径1の周辺空間の中に、誰も使用していない(その空間にエージェントが存在していない)空間があった場合、その空間のうち一つをそのエージェントAの保有空間に追加したい場合はどのように行えばよいのでしょうか。』

上記の質問にて、
『例えば、Universe.Map上に
農民をPerson、農地をFarmlandというエージェントを追加し、
Univ_InitでMap上の全座標にFarmlandを敷き詰めます。
次にPersonは
MakeOneAgtSetAroundOwnを使って半径1の周辺空間上のFarmlandを取得し、
使用していないFarmlandを1つに保有フラグを立てればよいと思います。』

上記のようなアドバイスをいただきました。そこで再度、
https://mas-auth.kke.co.jp/board/item/index.php?q=420
上記のように再質問をさせていただき、アドバイスをいただきました。

現在、自分が作成しているシミュレーションでは、エージェントを多く発生させており、『RandomPutAgtsetCell』等でエージェント間の重なりを極力避けるように作成しております。そのため、いただいたアドバイスでは、現在作成しているシミュレーションに適用しづらいというのがあります。

そのため、エージェントが周辺で誰も使用していない(その空間にエージェントが存在していない)空間があり、その空間のうち一つをそのエージェントAの保有空間に追加したい場合、農地をエージェントとして定義を行わず、実現する方法をご教授いただきませんでしょうか。

3度目の質問で大変申し訳ないのですが、
アドバイス出来る方はアドバイスを頂けたら幸いです。



▼ 全ての回答


「RandomPutAgtsetCell」を利用したいとのことで、
Personを配置した後にFarmlandを敷き詰めればよいと思いますが、

もし、Farmlandをエージェントとして登録したくない場合は、
Farmlandを変数(Boolean)として定義して、
利用の有無により処理を行えばよいと思います。
但し、その場合はMakeOneAgtSetAroundOwnが使えないため、独自に周囲のセルを検索してください。

回答者: m.tamada さん , 回答日時: 2020/11/19 17:25



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