オセロ学習ルーチンの手法調整
今朝発見した学習ルーチンのバグを家に帰ってから直した。
内部で
石の表現ベクトル->整数
の変換を多用しているが
整数->石の表現ベクトル
の変換順序を間違えているところが1か所あり、その結果石3つから成るパターンというものができてしまい、そこに重みづけがされているために惨澹たる評価関数になっていた。
で、その後バグがなくなった(と現在信じられている)学習ルーチンの学習手法をちょっとずつ変えてみて試したところ、ある方法が異様に良い結果をだす事が判明。(というよりは、他の手法が悲惨だった気もする)
30分程度の学習で、64石埋まった場合における平均近似誤差が2石程度。うん。これならチューニングして使っていけそう。
いままでのだと、64石埋まった時点での平均近似誤差が10石とかだったからどうしようかと思っていたが、これでやっとvsOthaとの戦いのスタートラインまでのハードルを1つ越えた感じ。・・・ってまだまだ遠いが;
まぁ、そもそも石の数を数えれば誤差0にできるので、この結果が決していいというわけではない。が、今までの悲惨さよりは大分マシ。そういう低レベルな状況ではある。
いま考えると、とても当たり前の方法に思える。普通に考えたらこうする。というような気もしてくる。が・・・なんでいままでこうしなかったんだろう?
うーん。実は日記に書くほどの事でもない気がしてきた。