「囲碁AIにおける革命「モンテカルロ木探索」とは何か?」に参加したのモンテカルロ木探索で、勝率が高いであろう手を調べる回数を増やす方法。
美添氏の「コンピュータ囲碁におけるモンテカルロ法」(理論編) の Multi-Armed Bandit 問題(何台もあるスロットマシンのどれにどれだけつぎ込んだら儲けが多くできるか)てやつ。どのマシンにも平均してつぎ込むのはダメな手段(原始モンテカルロ法)。UCB1 (Upper Confidence Bound) を計算して一番大きい値のマシンにコインを投入していけば儲けを大きくできるらしい。
Ruby でテストのプログラム:
|
実行例:
hand 0: WIN!, 1/1 |
だいたい勝率が一番高くしてある3番目の手が最高の勝率になって試行回数も一番多くなる。総試行回数がたった1000回だからしばしば間違うけど。
- Finite-time Analysis of the Multiarmed Bandit Problem*, Peter Auer, Nicolo Cesa-Bianchi, Paul Fischer, 2002 元となる論文
k-armedバンデット問題のゲームへの適用における試行回数について、UCTアルゴリズムにおける確率的な試行回数削減方法UCB1 - xe-kdoo(2008-04-11)Internet Archive
ま、例によって論文は読んでないんですが。