将棋は大規模定跡によって終わってしまうのか?

floodgateという将棋AIの対局サイトでTuyouraOuというソフトが2週間レーティングで1位となった。

これは、私が放流しているソフトで、337万局面の大規模定跡を搭載している。dlshogiがWCSC35の時点で330万局面収録されているらしいので、(局面数においては)それを上回った形である。

どれくらいの精度の定跡が収録されているかについては、YouTuberのそらさんの動画がわかりやすい。

【前代未聞】世界1位のAIが「674兆局面調べて作られた定跡」を搭載している件
https://www.youtube.com/watch?v=IZ5-5yXwME0

実のところ、どの程度の精度の定跡になっているのか、私自身はあまり把握していない。各局面は、水匠10で1t(1スレッド) 2億ノードで掘っている。それをペタショック化(定跡ツリーをminimax化)して、使っている。

WCSC35の大会前にアマ強豪のあらきっぺさんに150万局面時点のものを見ていただいたのだが、その時点では、「まだ自分の研究のほうが深くまで…」みたいな感じであった。さすが、アマ強豪にして、研究家のあらきっぺさんだなと私は思った。

あらきっぺの将棋ブログ : https://arakippe.com/

そのあと、あらきっぺさんに277万局面時点の定跡を見ていただいたところ、以下の感想を頂戴した。

最初に頂いた定跡は全体的に浅かったですし、末端局面の評価値やそこで最善と示している手が怪しい部分も散見されました。しかし、最新の定跡はそうした問題が(ほぼ)全て改善されており、自分の研究範囲よりも深く掘っている部分もちょくちょく見られます。二つの定跡の特徴を簡潔に述べると、

157万局面→基本は押さえているが、専門的に見ると甘い。
277万局面→非常に精度が高く、甘い部分は見当たらない。

という感じなので、質の差は月とスッポンという印象です。

私としては、マシンリソースを費やし、定跡局面が自ずと増えていっただけなのであるが、「月とスッポン」と言われるほどの差となっていることに驚きを隠せない。結論的には、277万局面の時点で、すでにあらきっぺさんのような研究熱心なアマ強豪が参考になるレベルの定跡となっているようである。

この277万局面時点での定跡は、今月(6月)に発行するやねうら王News Letterで配布する予定である。(来月以降もさらに掘れた定跡を配布していく予定。来月は冒頭の動画のTuyouraOuが用いていた337万局面時点のものを配布予定。)

最近、Ryzen 9 9950X(以下9950X) PCを6台で購入し(以下の写真)、Xeon 2698 dual×4台と合わせて10台で定跡を生成している。電気代は月に10万円を超えており、チキンレースの様相を呈しているが、FANBOXなどでやねうら王プロジェクトに支援していただいた資金にさらに同額以上の自己資金を投入し、全ツッパしていく次第である。

157万局面と277万局面で月とスッポンなのであるなら、この定跡が1000万局面、3000万局面、1億局面と増えていった時、一体どのような質的な変化をもたらすであろうか。それがいまから待ち遠しい。概算だが、AWSで100万円ぐらい使うと100万局面ほど掘れるようである。1億局面掘るには、(AWS換算で)1億円が必要である。自分のマシンで掘れば、その数分の1で済むとはいえ、それでもそこそこの金額である。このチキンレースに協力してやろう!と思われた方は、どうかFANBOXなどから支援していただけると幸いである。(このブログのグローバルメニューにある「やねうら王を支援をする」のところから支援できます。)

さて、いよいよ本題なのだが、上の動画のコメント欄には、「将棋で1手ごとに(有効な指し手が3手あって)3手ずつ分岐していくとして、337万局面だと14手ほどしか読めない、将棋の奥深さに対して全然足りない」みたいなコメントがいくつか見受けられる。

平均分岐数が3(3手ずつ分岐)ならば確かにその通りなのだが、水匠10のような最新の強いAIにとって、平均分岐数は3よりずっと小さい。将棋の強いプレイヤーにとって有効な指し手はそんなに幅はないようである。

Bonanzaの時代(2004年ごろ)は、(探索中の)平均分岐数は序盤で3、終盤で5程度だと言われていた。

最新のAIではそれよりもっと少なく、2は切っているものと思われる。

また、定跡のようにずっとずっと先まで見ていくとやはり駄目だとわかるような枝(変化)がある程度存在するので、定跡ツリーにおいては、探索中よりもさらに少ない平均分岐数で済むようである。

具体的には、(定跡ツリーにおいては平均分岐数は)1.3~1.5ぐらいではないかと私は見積もっている。

1.3だとしたら、80手目までで 1.3 ^ 80 ≒ 13億局面程度しかない。

将棋は平均手数160手程度のゲームなので、1.3 ^ 160 (= (1.3 ^ 80) ^2 = 13億の2乗)局面ほど調べれば将棋の結論めいたものが出るわけである。しかし13億の2乗は、でかすぎて、あと数十年はそこまでは無理であろう。

しかし、近年は「将棋は先手必勝のゲームである」と多くの将棋AI開発者が考えている。私もそう考えている。先手必勝のゲームでは、調べる数はもっと少なくなる。

具体的には、つよつよ将棋AIでは、先手の指し手はほぼベストである(平均分岐数は1)と仮定できるとする。後手は、それにどう対抗するかだけなのだが、有効な指し手は平均分岐数(仮に1.3とする)だけしかない。

そうすると 160手目まで調べるとしても、先手は分岐しない(平均分岐数が1だから)で、後手だけ平均分岐数(1.3)だけ分岐していくことになって、1.3 ^ 80 = 13億局面で済む。

つまりは、平均分岐数が1.3の世界では、13億局面調べればおおよそ先手必勝が証明できるというわけである。

(「おおよそ先手必勝」と書いたのは、この方法では詰みまでの変化は調べていないため。形勢がある程度良くなったり、悪くなったりしたらそこで定跡は打ち切っている。具体的には、将棋AIの評価値の絶対値が400を超えたあたりで定跡を打ち切るものとする。)

さきほどの話からすると、13億局面掘るのに、AWS換算で13億円かかることになる。自前のマシンで掘った場合、その数分の1で済むが、しかしそれだとマシンが足りなくていまのままだと掘り切るのに100年以上かかることになる。マシンを数百倍に増やして、毎月数千万円ぐらい電気代を払いつづければ数年で済むだろうが、いまのところすぐにそこまでやるのはちょっと現実的ではない。

しかし将棋の先手必勝定跡を作ることが不可能だとは私は考えていない。

将棋AIは強くなれば強くなるほど評価値の精度は上がる。将棋AI同士で対局させたときに、強いほうのAIが先に自分優勢の評価値を出すことが多いのは、開発者ならば経験的に知っているが、それは強い将棋AIのほうは形勢判断が正確で深くまで読んでいることが多いので、相手のAIより先に自分が優勢になる変化を見つけるということである。つまりは、強い将棋AIほど評価値の絶対値は大きめに出るようになるのである。

であるから、評価値の絶対値が400を超えたところで定跡を打ち切り、平手の初期局面の評価値が400を超えるようになるまで定跡を掘るとは言っても、いまより強い将棋AIを持ってくれば、その定跡の大きさ(「おおよそ先手必勝」を証明するまでに必要な局面数)は大幅に減るわけである。

だから、いまより+R500ぐらい強い将棋AIを持ってくれば1億局面ぐらいで済むのではないかと私は予想していて、そのためには1億円(自分のPCで掘るなら3000万円ぐらい?)で済むのである。これくらいなら、手が届く範囲なので、これを5年ほどかけて掘れればと思っているわけである。まあ、そのいまより+R500強いソフトなんてものが手元にないんだけどな…。

コメントを残す

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