今後の方針の再確認
色々考えている事はあるのですが、場合によっては迷走しかねないので確認として書いておきます。
自己対戦での評価関数パラメータの自動学習を主軸に置く
これは外せません。TDLeaf(λ)にしろTreeStrap(αβ)にしろ、どっちを使う場合でも基本は自動学習で、って事で。
評価関数パラメータ以外は学習しない
Blunderのaki.さんみたいに色々学習するのも楽しそうですが、そういう方向には進めません。
何でかって言うと、学習自体が非常に「不安定」なものだと思ってるからです。場合によっては良い結果を出しますが、そうでない場合も多いです。
で、色々な要素(時間制御とか枝刈りとか手のオーダリングとか)を学習していると、いざ弱くなった時にどこが悪さをしているかの切り分けが非常に大変になりそうです。
という訳で、学習するのは評価関数のパラメータだけ。他は手打ちなりなんなりで適当に決めます。
(別にaki.さんの事を批判しているのではなく、単に私には手が回りそうにないのでやらない、ってだけの話です。)
探索には手をかけ過ぎない
探索でややこしい事をやろうとすると、色々手間がかかって大変です。んで、どうせ手間をかけるなら学習の方を重点的にやりたいので、探索はそこそこにしておきます。
現状のαβ全幅+LMRでもそこそこイイみたいですし、このままって案もあります。
もう一つはABC探索をリトライ。これなら学習した評価関数を活用出来ますから、そんなに悪くない選択だと思います。
マルチコアは合議で活用する
αβの並列化は今年の選手権でやりましたが、4コアは使い切れても8スレッドは使い切れてない感じでした。
という訳で、αβ並列化はスパッと諦めて、シングルスレッドの弱エンジンを複数束ねる事でマルチコアを活かす方向で行きます。
次回選手権はCore i7で行く予定なので、当面は8つの弱エンジンでの合議ですね。
学習で強くなると信じる
まだまだ序盤〜中盤がダメですが、私が何かミスってるから悪いだけです。
ちゃんとやれば強くなるはずなんで、そう信じるのが最重要事項です。