こちらのGitHubリポジトリのJupyterファイル(xxx.ipynb)が、そのツールです。
想定するゲームのシミュレーションの大雑把な説明
①複数のエージェントを、二次元平面上の真ん中に偏るように、ランダムっぽく配置する。エージェントは、4つ種類の戦略をとる可能性がある。同時にとれる戦略は一つだけ。
②すべてのエージェントに、エージェント同士の相互作用に依存した”損得値”を導入する。
③エージェントが平面上を少し移動する。移動距離は、その場か、隣のマス。8方向と現在地の合計9マスの中から、ランダム(確率は同じではない)に選んで移動する。
④エージェント間の協調と略奪を想定した処理で、”損得値”を計算する。
⑤一部エージェントの戦略を変更。
⑥ ③~⑤を繰り返す。
⑦損得値の時間変化やエージェントの空間分布など、シミュレーション結果をプロット。