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

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

ソフトマックス戦略を用いた多数決合議

 今までは各弱エンジンが一票全てを最善手に投じていましたが、別に一票全部を一つの手に集める必要は無いんじゃないかと思って。

 んで、強化学習で使うソフトマックス戦略を用いて、ルートノードでの各手に対して、その選択確率に応じた票を投じるってのを考えてみました。

 例えば初手だと、今までは「7六歩に一票」としていたのを、「7六歩に0.7票、2六歩に0.3票」という感じで投じます。

 あとは通常の多数決合議と同じで、一番得票数の多い手を合議後の最善手として選びます。

 この方式のデメリットはルートノードの各手の正確な評価値を計算する必要がある*1事で、計算コストの増加に見合うメリットがあるかどうかが分岐点ですね。

 一度実装してみたいんですが、それなりに実装が大変そうなので、とりあえず後回しにします。

*1:でないと、各手の選択確率を計算出来ない