aobazero
aobazero copied to clipboard
AobaZeroの自己対戦で投了するように
現在、developブランチで勝率10%以下で棋譜生成の自己対戦を投了するようにしています。 ただし、投了の間違い(最後まで指せば勝つのに投げてしまった)の割合が5%以下なのを確認するために 対戦の10%の棋譜では投了しないようにしています。 勝率10%で投了させることで間違う割合は1.23%ほどです。 投了させることで、囲碁の9路では棋力の向上があった、とのRayの小林さんの報告があります。 勝敗に影響のない局面(26%ほど)が減り、より重要な局面を学習できるためかもしれません。 この影響で平均手数も141手から132手に減ってます。aobazのバージョン13から適用されてます。、 Colabで動かすと投了が適用されます。近日中にv1.6にリリースも更新します。
投了勝率 全棋譜数 勝率で投げた数 間違った投了 割合 全手数 減る手数 割合
1% 2926 2526 1( 0.04 %) 408681 57413( 14.0 %)
2% 2926 2580 4( 0.15 %) 408681 64262( 15.7 %)
5% 2926 2655 9( 0.33 %) 408681 79470( 19.4 %)
10% 2926 2668 33( 1.23 %) 408681 107107( 26.2 %)
15% 2926 2670 77( 2.88 %) 408681 132870( 32.5 %)
20% 2926 2677 152( 5.67 %) 408681 159443( 39.0 %)
25% 2926 2687 279(10.38 %) 408681 189917( 46.4 %)
30% 2926 2704 443(16.38 %) 408681 220909( 54.0 %)
35% 2926 2726 659(24.17 %) 408681 256285( 62.7 %)
対局は終局まで行うけど最終盤は学習棋譜に入れないというのが最も有効な対応に思いますが いかがでしょうか?計算機リソースの無駄でしょうか。
ご指摘の通りだと思います。 その方が棋譜を使って学習される方も利用しやすいと思います。 現在の棋譜に勝率も付けておけば自動調整を含めて簡単だったのですが。 勝率の追加は少し大きな改良になるので、対応速度優先で今の形式にしています。
棋譜の生成速度は1.3倍程度なので、大事と言えば大事なのですが。
詰み探索か必至探索は面倒ですか? Bonanzaの探索部は丸ごとソースに入っているようですが
3手詰専用関数やdfpnの詰探索はそのまま残ってるので 個々のノードで3手詰専用関数を呼んだり、ルートでdfpnを呼べば強くはなると思います。 必死は入ってないので大変かもしれません。