不完全情報下の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