top of page

人数が途中で変わるエージェント群に対応する変数

人間関係を表現するモデルなどでは、エージェントが他のエージェントに対応する何らかの変数を持っておく処理は必ず必要になっていきます。 例えば10人のモデルであれば(対応させたい変数数+1)列9行の配列変数を持っておけば、ユニークIDとセットで持たせる元などが可能になります。 しかしこの手法は、killagt()やcreateagt()途中で人数が変わらない時に限ります。 配列変数の長さを途中で変えることが出来ない以上、人数がその長さよりも増えた場合エラーが起きてしまいます。簡単な解決策としては非常に行数を非常に大きな数にしておくこと(例えば1000等)や、記憶力に制限があるとみなして、一定人数以上のデータを持たないようにするようにする処理は想定出来ます。 しかしながら、美しくありません。前者は余計に処理が重くなりますし、エラーの危険性を完全になくすことは出来ていません。後者はアイデアとしては面白いですが、処理の都合上導入されるべきではないでしょう。 そこで質問内容は以下の通りです。 配列変数の長さを変えることは可能か。 不可能として、代替手段はあるか。

人間関係を表現するモデルなどでは、エージェントが他のエージェントに対応する何らかの変数を持っておく処理は必ず必要になっていきます。 例えば10人のモデルであれば(対応させたい変数数+1)列9行の配列変数を持っておけば、ユニークIDとセットで持たせる元などが可能になります。 しかしこの手法は、killagt()やcreateagt()途中で人数が変わらない時に限ります。 配列変数の長さを途中で変えることが出来ない以上、人数がその長さよりも増えた場合エラーが起きてしまいます。簡単な解決策としては非常に行数を非常に大きな数にしておくこと(例えば1000等)や、記憶力に制限があるとみなして、一定人数以上のデータを持たないようにするようにする処理は想定出来ます。 しかしながら、美しくありません。前者は余計に処理が重くなりますし、エラーの危険性を完全になくすことは出来ていません。後者はアイデアとしては面白いですが、処理の都合上導入されるべきではないでしょう。 そこで質問内容は以下の通りです。 配列変数の長さを変えることは可能か。 不可能として、代替手段はあるか。

bottom of page