TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

dlshogiの学習時の自己対局での先手勝率

少し前にdlshogiの先手勝率について調べた。
今回は、dlshogiの学習時の自己対局での先手勝率について調べた。

開始局面

現在、dlshogiの自己対局は、floodgateの16手目までの出現頻度が99パーセンタイル以上の局面を初期局面集として、そこからさらに16手MCTSの訪問回数に応じた確率で手を選択(ただし、価値が最善手の0.9以下は除く)した局面を開始局面としている。
したがって、開始局面は、16手目~32手目の局面になる。

開始局面をこのようにした場合、生成される局面は、87%がユニークな局面になる。
なお、対局中の指し手の選択では最善手と次善手の訪問回数が僅差の場合は、訪問回数に応じた確率で選択することで、ランダム性を加えている。

水匠4改とのリーグ戦

自己対局中に、32/384の割合で、水匠4改との対局も行っている。
開始局面での手番はランダムに選択している。

対局条件

dlshogi 1万プレイアウト(探索延長あり)
水匠4改 510万ノード

この条件で、dlshogiと水匠4改の勝率は、50.46%でほぼ互角になる。

なお、以前にdlshogiと水匠のNPSの違いについて記事にしたときに、dlshogiのNPSは水匠の1/338であったが、強化学習ではdlshogiも水匠もシングルスレッドで動作しているため、互角となるノード数の条件が変わってくる。

先手勝率

259,873対局のデータについて調べたことろ、自己対局と、水匠4改との対局での、先手勝率は以下の通りであった。

自己対局 0.534
dlshogi対水匠4改(dlshogi先手) 0.547
dlshogi対水匠4改(dlshogi後手) 0.537

以前の平手開始局面からの調査では、dlshogi対水匠4の先手勝率は57.55%であったが、それよりもやや低い値となっている。

まとめ

floodateの頻出局面ら一定手数のランダムプレイを行った局面から開始すると、先手勝率は、約53%であることがわかった。
平手開始局面から測定した場合の勝率と比べると、やや低い値となった。

なお、水匠4改との対局では、dlshogiの先手勝率が54.7%とやや高かった。dlshogiがfloodgateでの先手勝率が高いことと関連していそうである。


調査時のログ

F:\hcpe3>python -m dlshogi.utils.stat_hcpe3 F:\hcpe3\selfplay_pre8_resnet15_swish_b4096lr004-008_floodgate16_s4k_po10000-20.hcpe3
               moves      black win           draw       nyugyoku       opponent
count  259873.000000  259873.000000  259873.000000  259873.000000  259873.000000
mean      118.161009       0.496596       0.071223       0.016343       0.109519
std        45.420141       0.499989       0.257198       0.126790       0.412878
min        23.000000       0.000000       0.000000       0.000000       0.000000
25%        90.000000       0.000000       0.000000       0.000000       0.000000
50%       113.000000       0.000000       0.000000       0.000000       0.000000
75%       139.000000       1.000000       0.000000       0.000000       0.000000
max       508.000000       1.000000       1.000000       1.000000       2.000000
black win rate 0.5346779138562503
               moves      black win           draw       nyugyoku  opponent
count  240890.000000  240890.000000  240890.000000  240890.000000  240890.0
mean      116.860110       0.494753       0.073623       0.013155       0.0
std        43.384848       0.499974       0.261157       0.113940       0.0
min        23.000000       0.000000       0.000000       0.000000       0.0
25%        90.000000       0.000000       0.000000       0.000000       0.0
50%       113.000000       0.000000       0.000000       0.000000       0.0
75%       138.000000       1.000000       0.000000       0.000000       0.0
max       508.000000       1.000000       1.000000       1.000000       0.0
black win rate 0.5340727297170128
             moves    black win         draw     nyugyoku  opponent
count  9505.000000  9505.000000  9505.000000  9505.000000    9505.0
mean    130.786007     0.516465     0.038927     0.050395       1.0
std      62.515211     0.499755     0.193431     0.218769       0.0
min      23.000000     0.000000     0.000000     0.000000       1.0
25%      87.000000     0.000000     0.000000     0.000000       1.0
50%     116.000000     1.000000     0.000000     0.000000       1.0
75%     163.000000     1.000000     0.000000     0.000000       1.0
max     499.000000     1.000000     1.000000     1.000000       1.0
black win rate 0.5373836891078271
             moves    black win         draw     nyugyoku  opponent
count  9478.000000  9478.000000  9478.000000  9478.000000    9478.0
mean    138.563304     0.523528     0.042625     0.063199       2.0
std      64.715036     0.499472     0.202021     0.243333       0.0
min      23.000000     0.000000     0.000000     0.000000       2.0
25%      92.000000     0.000000     0.000000     0.000000       2.0
50%     127.000000     1.000000     0.000000     0.000000       2.0
75%     173.000000     1.000000     0.000000     0.000000       2.0
max     483.000000     1.000000     1.000000     1.000000       2.0
black win rate 0.5468371170376901
           positions  candidates avr  max candidates     visits avr  top visits avr
count  259873.000000   259873.000000   259873.000000  259873.000000   259873.000000
mean       96.200879       11.320640       35.235723    5597.170238     4018.777710
std        43.629254        2.362279       20.427705     538.479582      267.355648
min         3.000000        4.272727        5.000000    3062.600000     1552.294118
25%        69.000000       10.040816       23.000000    5261.786885     3935.833333
50%        92.000000       10.864865       28.000000    5519.361963     4062.797619
75%       118.000000       11.906250       40.000000    5834.141026     4172.319149
max       490.000000       44.182692      263.000000   13453.400000     5747.750000
sum positions 25000011
unique positions 21749595
unique positions / sum positions 0.8699834172072964