定跡をdepth 34で掘るときに知っておくべきこと

今回の大会(第5回 将棋電王トーナメント)でのやねうら王は、定跡をdepth 34で掘った。

 

この手法について簡単に書いておく。

やねうら王のGitHubにあるdocs/解説.txtを参照して欲しいが、やねうら王にはsfen形式で与えた局面について思考するコマンドがある。”makebook think“コマンドである。

あと、初期局面から定跡ツリーを辿り、そこが自分の手番であればbestmoveを辿り、相手の手番であれば、MultiPVの上位10手(ただし、bestmoveの評価値との差があまり大きいものは枝刈り。また、評価値が一定値を下回った場合も枝刈り)を辿っていき、そのツリーをsfen形式で出力する隠しコマンドがある。”test bookcheck”コマンドだったと思う。あとで整理しようと思って、テスト用のコマンドとして実装したまま、整理するのも面倒なのでそのまま隠しコマンド化してしまったものである。

まあ、ソースコードの分量で言うと30行程度だったと思うので、それを参考に好きなように書いてもらえれば良いのだが。

こうやって定跡を生成した。depth 34で思考するとき、1node(1局面)あたり、1スレッド思考で1時間程度。今回、30000nodeほど掘った。計算時間にして(1スレッド換算で言うと)3万時間である。

ところが、depth 34でもまだ怪しげな指し手は多分に含まれていたし、プロ棋戦などで出現する形が頻出してしまったがために、本大会では、ply = 18(初期局面から18手)程度では、相手のほうが長い定跡を手入力しているというような状況が起きて、ずいぶんと損をした。

ただ、良かった点としては、手入力は一切しないと決めていたので、1日目で負けた棋譜のsfenを”makebook think”コマンドで思考させておけば、1日目と同じ負け方は自動的に回避できるというお手軽さであった。

次回の大会ではfloodgateで頻出するような形については、同様にして”makebook think”コマンドで思考させておきたいところであるが、計算資源が結構必要なのですべてに対して行なうのは難しい。depth 34で定跡を掘るのも簡単ではないな…。

定跡をdepth 34で掘るときに知っておくべきこと」への4件のフィードバック

  1. 今回これで、アリがちなプロ級の棋風になったということですが、人間でもこれくらいは詠んでるということなのでしょうかね。
    大体経験的に34ターンくらい読んで戦ってるのでしょうか?
    人間の思考力=15万円?

    • プロの定跡は、読みというより、play out(終局までの対局)を長い時間をかけて繰り返すことで、そこに到達したという結果のように思いますけど。

korokoro へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です