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

質問 (解決済み)

[artisocモデル] Universeで作成したエージェントの変数について
質問者: paramaさん , 質問日時: 2020/01/22 16:13
UniverseでCreateAgtを用いてPersonエージェントを作成しました

OpenFile("開くファイル名.csv", 1, 1)
data = ReadFile(1)
do while(IsEofFile(1) == false)
 data = ReadFile(1)
personAgt = CreateAgt(Universe.Map.Person) 
personAgt.X = CDbl(GetToken(data, 0))
personAgt.Y = CDbl(GetToken(data, 1))
personAgt.z0 = CInt(GetToken(data, 2))
    .......
loop
closefile(1)
このように,エージェントの初期位置と,説明変数をcsvファイルから読み取っています
それをPersonエージェントのAgit_initでprintln()を使用して,読み取ったデータが反映されているのか調べたところ,0.00.0000000000000
と表示され反映されていませんでした
人工社会構築指南P87にはUniv_Initが実行された後,Agt_initが実行される運びとなっていることが記されています
なぜ反映されていないのか教えてください



▼解決した回答


Agt_Stepでもprintln()を使用し確認してみてください。
反映されない理由は、エージェトの作成をUniveseで行うかプロパティで行うかの違いです。
Agt_Initで定義できるのはプロパティでエージェント生成数を定義し、エージェントを作成したものだけです。
一方で、Universeでエージェント作成する場合、Agt_Initでの定義は反映されません。そのため、エージェント作成時に定義も同時に行います。
なお、Agt_Step以降はどちらも同じです。

回答者: igaguri さん , 回答日時: 2020/01/22 16:35

▼ 全ての回答


Agt_Stepでもprintln()を使用し確認してみてください。
反映されない理由は、エージェトの作成をUniveseで行うかプロパティで行うかの違いです。
Agt_Initで定義できるのはプロパティでエージェント生成数を定義し、エージェントを作成したものだけです。
一方で、Universeでエージェント作成する場合、Agt_Initでの定義は反映されません。そのため、エージェント作成時に定義も同時に行います。
なお、Agt_Step以降はどちらも同じです。

回答者: igaguri さん , 回答日時: 2020/01/22 16:35



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