次の1手もDCNNもなんか上手くいかないので、アルファ碁の原点に戻りました。
アルファ碁のMTCSとしての特徴は、各ノードで評価関数を動かして、そのノードに
点をつけて勝率と50%混合する事で、ノードの選択に事前に差をつけてしまう事に
あります。これによって、負けが多いけど1手だけ良い手があるルートを正しく評価
する可能性を高めていると解釈しています。

で、評価関数はオセロでは線形和で確立されているので、昔の奴をと思ったのですが、
どうせならMLPのライブラリ使ってしまえばEigenが使えるので信頼性高い上に、学習
率の最適化でモーメンタムどころかSMORMS3が使えるようになります。インプットが
とても疎なので、EigenのSparseMatrixを使って高速化を図ります。

早速作って学習させてみたところ…僕の記憶が確かなら以前のプログラムの数十倍
くらいの速度で動いています(汗。これなら100エポックくらい楽勝。

今は評価値を計算させていますが、一旦できたら、次のステップで勝率を計算させられ
ないかなぁと。ただ、評価値がある程度正確なら、勝率ではなく平均スコアでプレイアウト
しても良いのかなと思っています。