GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

そう言えばちゃんと書いてなかったけど、レベルアップ判定のお話

 現在のGA将は自己対局500回を1エポックとして、10エポックごとにレベルアップ判定をしています。

 レベルアップ判定は、現在の評価関数と「過去8代のエース評価関数」を相手に各50局、先後入れ替えて計400局実施し、勝率が55%超えたらレベルアップ、45%切ったらレベルダウンとします。

 レベルアップしたら過去のエースを順に後ろにずらして行き、最新のエースを現在のパラメータで上書きしています。

 何でこんな面倒な事を知ているかと言うと、「グーチョキパー問題」が発生していた可能性があるからです。

 以前にジャンケンの強化学習をした事があったんですが*1、「グーばかり出す方策が出来る」→「パーばかり出せば勝率上がるので、そういう方策に変化する」→「今度はチョキばかり出す様になる」という現象がありました。

 んで、将棋でも同様の現象が起こる可能性があると考え、現在の方式に変更しました。これなら、過去のエース達相手に勝率を出すので、どんな戦法相手でもある程度勝てないとレベルアップしないはずです。

 それから、レベルアップ時の勝率を元にレーティング上昇量を計算して、グラフにしてみました。

 …が、どうもこのレーティング、怪しいです。自己対局でRが100上昇しても、対sspのRは9前後しか上がりません。

 自己対局なんでちょっとしたパラメータの差が大きなレーティング差として表れている、という可能性はありますが、詳細は不明です。

 まぁ、レベルアップ判定で出したレーティングと、対sspのレーティングは綺麗に比例しているので、このまま気にせずに行きたいと思います。

*1:同じ方策を使って、自己対局で学習する方式