エージェントベースシミュレーションの最初のステップ:散布図で表現하기
シミュレーション
コードレビュー
ステップ1. パッケージのロード、初期値設定
code1
上記のコードはパッケージを読み込み、初期エージェントの数、各ターンで周囲をうろつくための移動ルールを設定している。移動量は次のような$2$次元正規分布で定義された。
eq1
ステップ2. エージェントの生成
大げさにエージェント生成と言ったけど、実際は大したことない。2次元正規分布からエージェントの数だけサンプルを抽出すると、その座標自体がエージェントを表すことになる。
code2
上記の座標はエージェントの位置を表している。各行はそれぞれのエージェントを指し、最初の列はx座標、二番目の列はy座標だ。今はエージェントが何らかの行動ルールを持つ必要がないので、これで十分だ。
ステップ3. 散布図の描画
code3
plot()
関数にオプションseriestype = :scatter
を入れると、上記のようにエージェントの座標を点で打ってくれる。そして、最初の行で入力したパスに従って、以下のような"agent_tutorial.png"
ファイルが生成されたはずだ。
"agent_tutorial.png"
の実際の見た目は上のようだ。これにより、エージェントを生成し散布図で視覚化したことになる。
完全なコード
以下は、このポストで使用されたJuliaのコードだ。
code4