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

質問 (解決済み)

[artisocモデル] 個々のエージェントにそれぞれ固有値を与える
質問者: maniさん , 質問日時: 2019/10/24 07:35
現在行いたいシミュレーションとして,

[例]10×10の格子型2次元空間にランダムに配置された70人の人間がいる.70人それぞれが年齢と身長という固有値を持ち,自分の周りを視野1で観測する.周りに「年齢+身長」の値が自分の値±3の人がいなければどこかの空き地へ移動する.移動が行われなくなるか一定ステップ数が経つと終了.

のようなシミュレーションを作りたいです.
個々のエージェントに固有値(年齢と身長)を与えたい場合,1種類のエージェントを70追加し,70人分の固有値(できればID順にそれぞれ与えたい)を設定することはできますか?あるいは70種類のエージェントを作らなければできないでしょうか?

よろしくお願いします.



▼解決した回答


1種類のエージェントに年齢と身長という属性を与え、エージェントの初期化を行う関数Agt_Init内でそれぞれのエージェントの固有値を与えれば、そのように動作します。70種類のエージェントを作る必要はありません。

artisoc初級チュートリアルを公開しています。個々のtoriエージェントの速度を乱数で指定しているあたりが参考になると思います。
https://mas.kke.co.jp/howto/artisoc-%e3%83%a2%e3%83%87%e3%83%aa%e3%83%b3%e3%82%b0%e8%ac%9b%e7%bf%92%e3%83%bb%e5%88%9d%e7%b4%9a%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab/

もし、年齢、身長をファイル等で読み込む場合には、Universeの初期化を行う関数 Univ_Init内で、ファイルから年齢、身長を読み込み、エージェント生成を行い、生成したエージェントにそれぞれ年齢、身長を与えれば良いと思います

回答者: ObiWan さん , 回答日時: 2019/10/24 09:27

▼ 全ての回答


1種類のエージェントに年齢と身長という属性を与え、エージェントの初期化を行う関数Agt_Init内でそれぞれのエージェントの固有値を与えれば、そのように動作します。70種類のエージェントを作る必要はありません。

artisoc初級チュートリアルを公開しています。個々のtoriエージェントの速度を乱数で指定しているあたりが参考になると思います。
https://mas.kke.co.jp/howto/artisoc-%e3%83%a2%e3%83%87%e3%83%aa%e3%83%b3%e3%82%b0%e8%ac%9b%e7%bf%92%e3%83%bb%e5%88%9d%e7%b4%9a%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab/

もし、年齢、身長をファイル等で読み込む場合には、Universeの初期化を行う関数 Univ_Init内で、ファイルから年齢、身長を読み込み、エージェント生成を行い、生成したエージェントにそれぞれ年齢、身長を与えれば良いと思います

回答者: ObiWan さん , 回答日時: 2019/10/24 09:27



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