不完全情報下のRegret最小化の拡張

(1) 不完全情報下のRegret最小化の拡張

 これはボーカゲームの様に相手の手札が見えない場合の最適選択するモデルです。

 このモデルはビジネスや部分的観察時の自動運転に応用でれば相当な威力を持つはずですが、この分野に詳しいDeNAのゲーム部門の人に聞いても、応用の文献は少ないとの返答でした。

 本格的なポーカモデルは人に勝つ様なレベルまで達しています。このロジックは勝負を繰り返す毎に相手の癖で負けた時をRegret(後悔)として、相手の癖を見抜いて勝つことでRegretを最小化するモデルです。

 このモデル全部の理論式は難解すぎて私には敷居が高すぎるのですが、この理論をJavaで実装した論文があったので、これをC言語で実装し拡張してみました。

http://modelai.gettysburg.edu/2013/cfr/cfr.pdf

 論文では2者で1,2,3の手札だけで大きい値が勝ちとした場合で、賭け(bet)と降り(pose)の各々の推奨確率を出すものになっています。但しbetで負けると-2点、poseだと-1点で済みます。

 今回ではモデルを以下に拡張してみました。

  ①手札が3→5

  ②参加者が2→3

  ③相手の賭けや降りの局面での自分の次の一手についての推奨確率を算出

結果では、自分の手札と相手の出方について、自分の次の一手について妥当な推奨確率が得られています。

結果の見方

 Xcardは自分の手札となります。

 action=Pose average=x.xxxx  は自分が降りる推奨確率

 action=Bet   average=x.xxxx  は自分が賭けに出る推奨確率

 #Npose はN番目の人がposeした局面

 #Nbit     はN番目の人が賭けに出た局面

 #Npose bitはN番目の人が降りたが別の人が賭けに出た局面

 

結果

4card
  action=Pose avrage=0.004410
  action=Bet avrage=0.995590
4card #2pose
  action=Pose avrage=0.019243
  action=Bet avrage=0.980757
4card #3pose bit
  action=Pose avrage=0.001131
  action=Bet avrage=0.998869
4card #1b
  action=Pose avrage=0.000747
  action=Bet avrage=0.999253
3card
  action=Pose avrage=0.994308
  action=Bet avrage=0.005692
3card #1pose
  action=Pose avrage=0.715343
  action=Bet avrage=0.284657
3card #3pose bit
  action=Pose avrage=0.001012
  action=Bet avrage=0.998988
3card #1b
  action=Pose avrage=0.001157
  action=Bet avrage=0.998843
3card #2pose
  action=Pose avrage=0.711650
  action=Bet avrage=0.288350
3card #2pose bit
  action=Pose avrage=0.001001
  action=Bet avrage=0.998999
3card #3b
  action=Pose avrage=0.007379
  action=Bet avrage=0.992621
1card
  action=Pose avrage=0.999751
  action=Bet avrage=0.000249
1card #1pose
  action=Pose avrage=0.999611
  action=Bet avrage=0.000389
1card #1pose bit
  action=Pose avrage=0.999708
  action=Bet avrage=0.000292
1card #3b
  action=Pose avrage=0.999448
  action=Bet avrage=0.000552
4card #3pose
  action=Pose avrage=0.008656
  action=Bet avrage=0.991344
4card #2pose bit
  action=Pose avrage=0.003741
  action=Bet avrage=0.996259
4card #2b
  action=Pose avrage=0.001005
  action=Bet avrage=0.998995
1card #2pose
  action=Pose avrage=0.999247
  action=Bet avrage=0.000753
1card #2pose bit
  action=Pose avrage=0.998960
  action=Bet avrage=0.001040
1card #2b
  action=Pose avrage=0.998918
  action=Bet avrage=0.001082
5card
  action=Pose avrage=0.002274
  action=Bet avrage=0.997726
5card #2pose
  action=Pose avrage=0.004293
  action=Bet avrage=0.995707
5card #3pose bit
  action=Pose avrage=0.001128
  action=Bet avrage=0.998872
5card #3b
  action=Pose avrage=0.000783
  action=Bet avrage=0.999217
2card
  action=Pose avrage=0.999751
  action=Bet avrage=0.000249
2card #3pose
  action=Pose avrage=0.999301
  action=Bet avrage=0.000699
2card #3pose bit
  action=Pose avrage=0.252349
  action=Bet avrage=0.747651
2card #1b
  action=Pose avrage=0.821005
  action=Bet avrage=0.178995
1card #3pose bit
  action=Pose avrage=1.000000
  action=Bet avrage=0.000000
2card #1pose
  action=Pose avrage=0.998437
  action=Bet avrage=0.001563
2card #2b
  action=Pose avrage=0.111200
  action=Bet avrage=0.888800
4card #1pose bit
  action=Pose avrage=0.001151
  action=Bet avrage=0.998849
2card #2pose bit
  action=Pose avrage=0.502903
  action=Bet avrage=0.497097
2card #3b
  action=Pose avrage=0.646351
  action=Bet avrage=0.353649
4card #1pose
  action=Pose avrage=0.001156
  action=Bet avrage=0.998844
4card #3b
  action=Pose avrage=0.000761
  action=Bet avrage=0.999239
5card #1pose
  action=Pose avrage=0.001399
  action=Bet avrage=0.998601
5card #1pose bit
  action=Pose avrage=0.000542
  action=Bet avrage=0.999458
1card #1b
  action=Pose avrage=1.000000
  action=Bet avrage=0.000000
3card #3pose
  action=Pose avrage=0.989238
  action=Bet avrage=0.010762
2card #2pose
  action=Pose avrage=0.999237
  action=Bet avrage=0.000763
2card #1pose bit
  action=Pose avrage=0.936695
  action=Bet avrage=0.063305
1card #3pose
  action=Pose avrage=0.500000
  action=Bet avrage=0.500000
3card #2b
  action=Pose avrage=0.007183
  action=Bet avrage=0.992817
5card #1b
  action=Pose avrage=0.000721
  action=Bet avrage=0.999279
5card #3pose
  action=Pose avrage=0.001124
  action=Bet avrage=0.998876
3card #1pose bit
  action=Pose avrage=0.013992
  action=Bet avrage=0.986008
5card #2b
  action=Pose avrage=0.000731
  action=Bet avrage=0.999269
5card #2pose bit
  action=Pose avrage=0.001044
  action=Bet avrage=0.998956