合議考察

色々と改良をしていますが、なかなか強くならないようです。
強くなっているかもしれないけど、自己対戦だと分からないのかもしれない。


合議の各クライアントの指手を見ているけど、
ほとんどの場合、同じ手を指すことが多い。
合議なので、価値観が異なるクライアントができて欲しいのだけど
初期値を乱数でちょっと変えたくらいでは
どれも似たような評価関数に収束している模様。


もう少しクライアントをばらつかせようと、
ブースティング(ada-boost)も検討してみた。
ada-boostは顔認識のhaar-like特徴を使った認識で大成功している。
将棋ソフトに興味を持ったのも、これが発端。


やり方は、1段目のクライアントの評価で指手が正解と一致しなかった
学習局面の重みを大きくして、2段目の評価関数を学習していく。
各クライアントで、得意/不得意な局面評価関数ができて
よりバリエーションが増えるのでは?と目論んだ。
でも、これでもやっぱり同じような手ばかり指す。
同じ手を指すのは、位置よりも駒価値が支配的に
なっているのも原因かもしれない。


ブースティングは単純な識別器を沢山並べて効果が出るのだけど、
ボナンザの3駒関係は複雑すぎるのかもしれない。
次元数も1億くらいあるし、こんな高次元の特徴ベクトルを
高々1万局のデータから学習させるのが無謀なのかもしれない。
どちらかというと、ノンパラメトリックな学習
(局所的な定跡をマッチングしている)に近いと思う。


バギング(合議)みたいに、学習局面をランダムに選択して個別に
学習しても特徴空間がスカスカすぎるので、各クライアントの意見が
競合することがなく、合議の意味がなくなり、
だったら全学習局面をまとめて学習させてしまった方が強いのかも。