logo

エージェントベースシミュレーションの最初のステップ:散布図で表現하기 📂動力学

エージェントベースシミュレーションの最初のステップ:散布図で表現하기

シミュレーション

コードレビュー

ステップ1. パッケージのロード、初期値設定

code1

上記のコードはパッケージを読み込み、初期エージェントの数、各ターンで周囲をうろつくための移動ルールを設定している。移動量は次のような$2$次元正規分布で定義された。

eq1

ステップ2. エージェントの生成

大げさにエージェント生成と言ったけど、実際は大したことない。2次元正規分布からエージェントの数だけサンプルを抽出すると、その座標自体がエージェントを表すことになる。

code2 上記の座標はエージェントの位置を表している。各行はそれぞれのエージェントを指し、最初の列はx座標、二番目の列はy座標だ。今はエージェントが何らかの行動ルールを持つ必要がないので、これで十分だ。


ステップ3. 散布図の描画

code3 plot()関数にオプションseriestype = :scatterを入れると、上記のようにエージェントの座標を点で打ってくれる。そして、最初の行で入力したパスに従って、以下のような"agent_tutorial.png"ファイルが生成されたはずだ。

agent_tutorial.png

"agent_tutorial.png"の実際の見た目は上のようだ。これにより、エージェントを生成し散布図で視覚化したことになる。

完全なコード

以下は、このポストで使用されたJuliaのコードだ。

code4