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

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

SVRを使用したFutility Pruningのマージン決定

 動的なマージンを用いるFutility Pruningという論文があるんですが、選手権後にこれを実装しようかと検討中。

 んで、問題はマージン決定のフェーズと、決定したマージンを使用して探索するフェーズに分けなきゃいけないって所ですね。

 今のGA将の学習方式だと、自己対戦学習時はごく浅い探索*1なので、多分マージン決定フェーズ中に探索が終わっちゃって、Futility Pruningの意味が無くなります。

 という訳で思い付いたのが、マージン決定のフェーズは事前に実行しておいて、SVR*2でマージン決定出来ないかな、と。

 SVRの訓練データとして局面情報とその時の最適なマージンを与えて学習し、後はSVRの出力するマージンを使用して自己対戦学習を行うという方法です。

 学習の進行に従って最適なマージンが変化する可能性があるので、例えば1万局中100局はマージン決定フェーズとするとか、そういう方法も有効かもしれません。

 まぁ何にせよFutility Pruningを実装してそれがちゃんと動かないと意味無いんで、まずはそこからですが。

*1:全幅0〜1手+静止探索6手

*2:Support Vector Regression:SVMの回帰版