読者です 読者をやめる 読者になる 読者になる

Aestetica

コンピュータ将棋Selene(セレネ)を作っています。名前は西海枝昌彦(さいかいし まさひこ)と読みます。

とりとめもなく方針だけ

「背丈はいくらなんですか?」と聞かれると「坂本龍馬と同じ身長」と答えることにしてて、7割方通じるのがすごい!そんな地球がすごい!(興味ないなら聞かないで)

「いやいや、坂本龍馬の身長を知らないんですけど」と言われると「坂本龍馬を知らない?」「いえいえ、知ってますけど」「じゃあ、なにやった人?なにやった?」と、ゴネます。なんだこれ。パワハラ


教師なし学習に躍起になっていたとき、アルゴリズムはTD-leaf(λ)、教師ありSeleneのレーティングが2600~2700くらいのときに、そのSeleneに対して勝率20%ちょいで、対戦させてみるたびに激ヘコみでした。
なにか計算が間違っているのか、やり方がおかしいのか、特徴のキャパシティが足りないと思ってみたり、対局数が少ないと思ってみたり。少なくとも何億という対戦をやらないと棋士に到達しないように当時は思ってました。

駒割のみだと700~800くらい下がるので、駒割のみよりもいくらか上。よくわかんなくなってきたのでまとめると、

教師ありSelene 2600~2700
駒割のみSelene 1800~2000?
教師なしSelene 2400~2500?

教師なしSeleneの使用していた特徴は駒割+絶対2駒+相対2駒。
駒割はすぐに学習できるので、そこまでは行ける。守れば勝てるところまで行くと、そこから数百UP。
ただし、そこからが上がらない。このへんで頭打ちになります。人間も同じ?将棋が本当に難しくなるのってこのへんなのかな?

方策勾配法でチャレンジしようと思ったが、いまになってよくよく見ると自己対戦部分で致命的に一ヶ所間違っていた気がしないでもない。一ヶ所なのか・・?
重みの更新の所も、試算では変えたほうが良いような。ここを変えると方策勾配法と呼べなくなりそうで怖い。教師ありでも以前のもの(TD-leaf)より精度は落ちていました。

で、今回、探索部分をまるごと最新のStockfishが使っているアルゴリズムにして、そこからなんとか強化しつつ(相当厳しい?)試してみようかと思っています。
おそらく、早くから取り入れているponanzaやAWAKEなんかはStockfishからかなり強化してて、他の強豪はだいたいStockfish?

以前、Bonafishを作った際、そのときのStockfishが使用していたアルゴリズムやパラメータに将棋に合わないものもあって、静止探索が異なり、アルゴリズムがいくつか無かったり違うものが入っていた状態のSeleneの探索部分のほうがいくらか強かったのですが、最新のStockfishだとヤバそうですね。少し見たらかなり変わってました。時間制御が何回見てもわからん。
まずは駒割Stockfishを作るかなあ。