好奇心の横断歩道を創る!

自分の思考をラバーダック・デバッグするためのブログ

コミュニティ内の協力と裏切り、繰り返しゲームの数値シミュレーション用のツール(Python+Jupyter)を作ってみました

こちらのGitHubリポジトリのJupyterファイル(xxx.ipynb)が、そのツールです。

github.com

 

想定するゲームのシミュレーションの大雑把な説明

①複数のエージェントを、二次元平面上の真ん中に偏るように、ランダムっぽく配置する。エージェントは、4つ種類の戦略をとる可能性がある。同時にとれる戦略は一つだけ。

②すべてのエージェントに、エージェント同士の相互作用に依存した”損得値”を導入する。

③エージェントが平面上を少し移動する。移動距離は、その場か、隣のマス。8方向と現在地の合計9マスの中から、ランダム(確率は同じではない)に選んで移動する。

④エージェント間の協調と略奪を想定した処理で、”損得値”を計算する。

⑤一部エージェントの戦略を変更。

⑥ ③~⑤を繰り返す。

⑦損得値の時間変化やエージェントの空間分布など、シミュレーション結果をプロット。

 

パラメータなど、GitHubリポジトリにあるレジュメファイルに説明が書いてあるかも。