コンピュータ将棋や囲碁の掲示板
TOP > 記事閲覧
fld_img.gif AobaZeroのMCTSにMinMax値を組み合わせるも効果なし
投稿日 : 2026/03/21(Sat) 12:08
投稿者 山下
MCTSでは以下のように次に展開する手を選んでますが、

「手の勝率」 + C *「手のpolicy値」*SQRT(全訪問数/手の訪問数)

この「手の勝率」を

「手の勝率」=  a * 「MinMaxの勝率」+ (1-a) * 「手の勝率」

に変更してAobaZeroで試してみました。下のグラフで、1手10playoutぐらいだと a = 0.7 ぐらい混ぜて
+20 ELOぐらいの効果はあるのですが、1手30playoutではかなり効果がなくなり、100playoutだと
ほぼ悪影響になってます。

a の値を全訪問数で変化させてもみたのですが効果はほぼなさそうです。
MCTSの勝率は平均なので、即応性が鈍いのでそれを解消できるかと思ったのですが。

実装は1手ごとに勝率の他にMinMax値を持たせて、末端のNNではその値を代入し、
MCTSをupdateする時に、最大のMinMax値も同時に繰り上げてます。

例えば初手で100playoutした場合は以下のようにMinMaxの勝率も得られます(a=0、MinMax値を考慮してない場合)
 候補手 visits, policy確率, (平均)勝率  MinMaxの勝率
+2726FU     39,      0.232,      51.8%,        49.8%
+7776FU     30,      0.231,      50.7%,        48.9%
+6978KI     31,      0.185,      51.9%,        48.4%

グラフはAobaNNUE(9.00git)の1手4000,10000,30000ノードで2400局から800局対戦させた結果です。

参考にしたのは下の2014年の論文です。
カラハとかのゲームに対して、単純な乱数playoutの結果と独自に作った評価関数のMinMax値を
組み合わせて効果を上げています。

Monte Carlo Tree Search with Heuristic Evaluations using Implicit Minimax Backups
https://arxiv.org/abs/1406.0486

1774062494-1.png

編集 編集
件名 スレッドをトップへソート
名前
画像添付


暗証キー
画像認証 (右画像の数字を入力「四三」なら「43」) 投稿キー
コメント

- WEB PATIO -