今回は、ナッシュ(Nash)均衡を簡単にもとめてくれるpythonのライブラリNashpyを見つけたの紹介します。
Nashpyとは
Nashpyとは、二人ゲームにおける混合戦略のナッシュ均衡解を計算してくれるライブラリです。
カーディフ大学(イギリス)の数学者の方がメインで開発しているようです。 ライブラリはgithub上に上がっています。
https://github.com/drvinceknight/Nashpy
インストール
インストールは簡単です。以下のコマンドでインストールできます。
pip install nashpy
使ってみる
シンプルなゼロサムゲームのナッシュ均衡解を求めてみようと思います。
利得表は以下のようになります。
1,2 | A | B |
---|---|---|
A | 1, -1 | -1,1 |
B | -1,1 | 1,-1 |
このゲームのナッシュ均衡解は各プレイヤーの戦略がA, B = 0.5, 0.5となるときです。
コード
import nashpy as nash A = [[1, -1], [-1, 1]] # プレイヤーAの利得表 B = [[-1, 1], [1, -1]] # プレビューBの利得表 game = nash.Game(A, B) # gameの定義 equilibrias = game.support_enumeration() # 均衡解の計算(求める手法は他にもあるようです) for eq in equilibrias: print(eq)
出力
(array([0.5, 0.5]), array([0.5, 0.5]))
各プレイヤーのナッシュ均衡戦略が出力されていることがわかります。
非常に便利だと思います。
コメント