最近、プロ棋士の間でも将棋ソフトを用いた序盤研究がさかんになってきている。特に、Deep Learning系の将棋ソフトは従来の将棋ソフトとは一線を画するものがあり、序盤研究に欠かせない存在になってきている。
「人間(ある程度の棋力がある人)が将棋ソフトを活用すれば優秀な定跡が作れる」はずなのだが、人間が手作業でやるには局面数が多すぎるという見方もある。
そんななか、コンピュータ将棋界隈でも、数年前から話題になっている定跡にs-book_blackがある。これは、suimon_fan氏が公開している先手番専用定跡で、将棋は先手必勝という仮説のもとに作成され、公開されている。これが将棋ソフト同士の対局においては存外に優秀なのだ。
将棋ソフトを用いて自動生成した定跡は、s-book_blackと対局させると、s-book_blackの方が長い定跡を持っていることが多い。しかも、その定跡を抜けた局面で、いまの将棋ソフト(水匠など)に短い持ち時間で指し継がせると高い確率でs-book_black側(先手)が勝つ。
定跡を抜けた局面自体は、評価値上はほぼ互角なのだが、短い時間では後手が勝ちにくいのだろう。それとも、評価値的に互角というのが間違いで、実際は、すでに先手良しの局面なのであろうか…。
長い持ち時間でたくさん計測するわけにもいかないのでそのへんは判然としないが、ソフト同士に引き継がせたときに後手がすこぶる勝ちにくいことは間違いなく、また、s-book_blackの方が大抵のケースで長い定跡を持っていることも確認している。
つまりは、将棋の定跡の完全自動生成手法を考える上で、このs-book_blackが一つの目標であり、同時にそれは厚い壁として存在しているのである。
与えた棋譜の各局面で一定秒数ずつ思考し、その思考した局面のツリーのうち、末尾の局面の(探索した)評価値が最大になるように、ツリー上でmin-max探索を行うというのが私が2019年に考えたテラショック定跡手法であった。ところが、これがs-book_blackと対局させたら、定跡を抜けた局面でかなり後手(テラショック定跡側)の勝ちにくい局面であった。それゆえ、テラショック定跡はクソ定跡の烙印を押されてしまった。
余談ではあるが、そのクソ定跡であるテラショック定跡を用いて、私は、第29回世界コンピュータ将棋選手権(2019年5月に開催された)で優勝しているのである。これは「コンピュータ将棋の七不思議」みたいな特集があったら、その一つに数えられていいと思う。
さて。s-book_blackの話に戻すと、ソフトに定跡なしで対局させた時に、かなりの確率でこのs-book_blackに登録されている指し手を指してしまうのである。この定跡をどうやって作っているのかは知らないが、おそらくソフトで上位に来る指し手をひたすら調べて登録しているのではないかと思う。物凄い時間と労力をかけてソフトを用いて検討されているのだろう。だから、いまのソフトは、短い持ち時間だとこの定跡に登録されている指し手を高い確率で指してしまうのである。その結果、短い時間では勝ちにくい局面に誘導されてしまうのである。
よくもまあ、そんな局面を大量に見つけたなと感心するとともに、テラショック定跡手法では手法的にこれには勝てないと認めざるを得ない。テラショック定跡の何が手法的に駄目だったのかについては次回記事に譲る。いずれにせよ、テラショック定跡手法はとてもじゃないが、s-book_blackに太刀打ちできるものではなかった。s-book_blackは定跡として3年ぐらい未来を行っていた。これは認めざるを得ない事実である。
(次回記事に続く)
s-book_blackは、なぜテラショックより優秀なの?
予想A:テラの時には致命的なバグがあった
予想B:「他の手順に合流する1手」が強力
予想C:電気代200万円ほどかけて探索してる
予想D:dl探索が強力
予想E:実は将棋の星からやってきた将棋星人だった
テラショック定跡が手法的にイケてなかったのと、s-book_blackが人間が目視で見ているからこそ回避できる問題と、両方ありますなー。
テラショックの公開の時はお世話になりました。最善のみでなく振り飛車や乱戦も含んでいたので、ソフト同士での利用の他にもアマチュア将棋民として楽しむことも出来ました。
ふと疑問に思ったのですが、テラショックの記事でもdepth36相当、教師局面ではdepth20だのよくでてきますが、depth数とノード数のおおまかな関係だったりはあるのでしょうか?初歩的な質問ですみません…。
depthは探索深さで、将棋は枝状に分岐していくので、その分岐(平均分岐数)が仮に100だとしたら深さの100乗に比例して探索ノード数が増えます。いまどきの将棋ソフトではうまく枝刈りして先を読んでいるため、depthの2乗~5乗ぐらいのノード数になるようです。
ということは、後手側をこてこてにやる方にシフトするということですか?w
自動生成定跡以上の人力定跡というとかつてのまふ定跡を思い出します。まふ定跡は当時のKPPTがうまく評価できていなかった局面を多く登録していて驚異的でしたが、その後elmo絞りやNNUEといった評価関数の高精度化の煽りを受けたのか表舞台からは消えてしまいましたね。
s-book_balckはNNUEのうまく評価できない局面を登録しているのが猛威を奮っている理由の一つかと思いますが、はたしてより高精度なDeepLearningの評価関数を前にしてまふ定跡と同じ道をたどるのかどうか、面白い競争が見られそうだなと勝手にワクワクしてきました。
なかなかs-book_blackは強敵のようですぞ…。
次の記事も拝読しました
s-book_blackは製作者がmakebook extract_sfen_from_dbのような定跡の拡張・修正も人力で行っているであろうので(それができるという点が凄いのですが)お互いに定跡の穴を修正しあう熾烈な展開もありそうですね。
やねさんはかねてから定跡の自動生成について追究されてますし、今回の手法が満足する結果になるよう応援しています。
s-book_black、マジで凄いです。人力+ソフトで作る定跡の最高峰という気がします。
逆に、定跡自動生成で明確にこの定跡に勝てるようになったとき、人力での定跡生成はもう終わりなのかなと。