勝率と指し手との関係

ひよこカルロ将棋v.0.02ではモンテカルロでplayoutまでシミュレーションを行なっていました。playoutしたときに勝っていたほうのすべての指し手をプラス、負けていたほうのすべての指し手をマイナスして、LMR用(Last Move Reduction)のhistoryを書き換えていました。

これがあまり効果がありませんでした。

つまり、勝率と指し手(78の銀を77に運ぶだとか、そういう意味での指し手)とは相関があまりないのだと思います。初心者であろうと78の銀は77に運ぶでしょうし、上級者のほうが78の銀を77に運ぶ確率が高いだとか低いだとかそういうことはなかなか言えないのだと思います。

初心者と上級者とで、銀を運ぶタイミングは異なるでしょうし、他の駒との関係も異なるのでしょうけど、指し手そのものと勝率とはあまり関係がなくて、この部分でどうも失敗しているのだと思いました。

そこで、ひよこカルロ将棋v0.03ではルートノード(探索開始局面)について、それぞれの指し手をUCB1(よさげな手をたくさん試行する)でシミュレーションをしていくように変更しました。

これもあまり精度がよろしくないです。前者よりは少しはマシなのですが、floodgateの棋譜をご覧になっての通りです。初手、18香や98香なども出てきます。シミュレーションの回数が少ないことも原因のひとつとして挙げられますが、それと同時にシミュレーションの性質がよろしくないのです。

SEE < 0の指し手は選択するときに除外するようにしていますが、SEE < 0では駒をただ取りされるケースを無視していて、これまたあまり適切なシミュレーションになっていないのが原因だと思います。

SEEという評価尺度が将棋のシミュレーションに適しておらず、もう少し精度がよくて簡単に評価できるような評価尺度が必要だと感じます。せめて自分の大駒への利き(ヒモ)を外して自分の大駒がただ取られするような指し手をマイナス評価できなくては。