モンテカルロは公平なシミュレーションではないという話

a) 500手以内に4760局、1000手以内に7294局が終局。(今回の結果)
b) 500手以内に5789局、1000手以内に8075局が終局。(前回の結果)


終局数が10%程度減りました。明らかに終局しにくくなっています。


終わらないんです 〜 ランダムプレイヤーは賢くなかった(ひよこ将棋、はじめました。)
http://d.hatena.ne.jp/hiyokoshogi/20111001

世間では、モンテカルロと言うと指し手に偏りのない公平なシミュレーションのように思われていますが、指し手選択自体に上記のような恣意性があり、もうこの時点で偏りはすでに存在しているわけです。


どうせ偏りがあるなら、指し手選択を行なうとき、勝率の高い指し手をより多く選ぶような方法が考えられます。


一例を挙げると
r = a[移動元][移動先][駒種]
に基づいて、この値が大きいものをより高い確率で選ぶという方法です。


この配列はプロの棋譜から統計をとってもいいですし、そういう外部からのデータの流入を嫌うのであれば、play out時に勝ったほうの初手からの指し手に加点するというような方法もあります。


ただし、このような加点の仕方は、重点的に探索していたところほど多くの加点がなされてしまうという欠点があります。「読めば読むほどいい手に思えてくる」という人間心理にも似ています。


あるいは、
r = a[移動元][移動先][駒種][取った駒の種類]
みたいに、取った駒の種類まで考慮すれば駒を取る手は次第に加点され、シミュレーションのなかで駒を取る確率があがっていくことでしょう。play outの精度が高まりますので、この手の改良でもちろん強くなります。


まあ、しかし、モンテカルロ型の将棋の改良はおおむね、そういう感じのことを順番にやっていくんだと思うのですが(よく知りませんが)、気づいてみれば「αβ探索を、それよりずっと効率の悪い方法でやっているだけ」ということも多々あります。


改良の過程で新たな知見が得られることもあるので、試すの自体が全くの無駄ではないのですが、モンテカルロ型のコンピューター将棋ってなかなか強くならないなぁというのが私の印象です。