取る一手将棋は初手96歩に後手が94歩と受けた時点で先手必勝らしい。蛇のように連なる駒の末端に齧りついたが最後、死するか、すべてを飲み込むまで自分の意志で中断することは出来ない。このように長手数の一直線の手順が問題となるようなゲームにおいて、3駒関係はあまり役には立たない。
しかし取る一手将棋では駒の価値自体が本将棋のそれとは大きく異る。角や飛車が使いにくい。王手をかけても歩で合駒をされるとその歩を取らざるを得ない。両取りをかけてもその駒を取ったあとその駒の利きに歩を打たれるとその歩を取らざるを得ない。いいように誘導されて大駒を回収されてしまう。
なので3駒関係は役に立たないものの、駒の価値の学習ぐらいは意味があるはずだ。
まずは、ゼロベクトルの評価関数と真やねうら王の評価関数との差を調べてみた。+R400であった。
王手将棋のときとは事情がずいぶんと違い、本将棋に近いゲーム性を持つことが窺える。ここから、雑巾を絞ってみたのだが、王手将棋のときと違って、なかなか雑巾が絞れない。+R70程度強くなったが、そのあとほとんど強くならない。やはり3駒関係には不向きなのだろう。
もう少しやってみるが、効果はあまり期待できそうにない。
意思によってコントロールできるということは、まさに先手必勝なのでしょうね。
強制力で構想をふいにされる感じかもしれないですね。
受け気質なら責め気質へ変えるべきかもしれません。
そのへん、よくわかってないですが。
詰め将棋のように専用のルーチンを用意しないと無理な気がする
詰め将棋が強化学習で早く解けるようになるのかは知らないけど
静止探索を通常の将棋と変えないとダメ、とか?
まあ、qsearch()は、captureがある限り延長したほうが良いような気はしますね…。
どの当たりも相手に対応を強いるということで,王手王手で対応を強いる詰将棋に似ているということですね。
すると,強化学習で学習すべきは,切りあいが始まる前の静止局面について,今から仕掛けて切りあったらどうなるか,30-50手くらい取って取ってが続いた結果の評価値で評価するということになるんですかね。
持ち駒があると,仕掛け側の枝はいっぱいありますね…
取る一将棋は,薩摩示現流の真剣での立ち合いみたいですね。
双方じりじりと間合いを計って…
一旦斬り始めたら,どっちかが死ぬまで止まらないみたいな。
3駒関係が有効なのは,間合いを計る局面までで,
一旦斬りあいを始めたら,3駒評価値よりは探索で相手を詰めるかどうかだと思います。たぶん。
> 今から仕掛けて切りあったらどうなるか,30-50手くらい
3駒関係の表現能力で表現できる内容ではないので、学習できないです…。
・45億局面の中で直接当たりのある局面を除外する。
・当たりのない局面から,初手は当たりをつける指し手と,相手は取るイチ対応の繰り返しで,depth6ではなくてdepth30-50で評価値を取って教師にする
…という感じかなーと思ったんですが。
教師の質の問題ではないですね…。(3駒関係の)学習能力の問題です。
技巧の時に話題になった「探索パラメータの自動調整」の方が有効なんでしょうかね?
探索パラメーターを調整すれば多少は強くなると思いますが、一直線に近かろうと途中で分岐を挟む場合、実質読めないという…。
掲題とは別の話になりますが、
YaneuraOu-2016-late.exeの実行ファイルが久しぶりに更新されてますが、レーティングの向上はありますか?
あれ?差し替えたかな?強くはなってないです。
次のバージョンでマルチCPU対応の修正が入るので、44コア88スレッドでも全スレッドをフルに活用できます。(`・ω・´)b