五反田えぬのベッドの下

将棋Vtuber 五反田えぬのこと

棋力向上に役立つ将棋AIの一アイデア

 

 

 将棋AIに求めるものは強さだけではなくなる

少し前の将棋フォーカスで将棋AI(将棋ソフト)開発者のたややん(杉村達也)さんが登場して、観る将も楽しめるように推定選択率を算出する将棋ソフトを開発しているとおっしゃっていましたね。将棋AIの開発は今後、AI自身の強さを追求していくだけでなく人間が将棋を楽しむことをどうサポートするかということにも力を入れていくようになるのかもしれません。棋力向上に役立つAI、人間らしい手を指すAI、プロの棋譜を解説するAIなどが考えられるでしょうか。どれもワクワクします。

 

私は将棋を指すことが楽しいタイプの人間ですから、やはり棋力向上に役立つAIが欲しいところです。現状でも将棋AIで対局を解析したり序盤を研究することで少なからず将棋AIは人間の棋力向上に役立っているのですが、もっとダイレクトに私たちの将棋を指す「思考」にメスを入れて改善する機能があるといいなと思いますよね。

そのためにはどんな将棋AIが必要でしょうか。

 

「わずか300局面の探索でプロ並みに強いAI」

私が持っているひとつのアイデア「人間と同じ速さで読み、人間のトップレベルに強いAI」です。すなわち「20~せいぜい300局面だけ読んでプロ並の実力を持つAI」ということです。

私は将棋AIについても将棋そのものについても素人なので的外れな可能性も大いにありますけど……

 

現在のところ一般の人が手に入れられる将棋AIで最も強いとされるのはおそらく水匠5でしょうが、私のPCでは1秒間に約400万局面を読みます。ということは1手10秒で解析させたときは4000万局面の探索とその評価値の計算の末に手を選択しているわけです。

その手を私たち人間が指せるようになるためにはその手の意味を人間として理解できる範囲で咀嚼してパターン化(その手がいい手となる条件を一般化)し自分の脳のデータベースに登録する必要があります。これがちょっと面倒というか、妥協案というか……究極的には4000万手読んで出てきた手は4000万手を全てトレースしないとその手がなぜ良いのか理解できない可能性がある、というのは少し大げさですが、AIのような膨大な読みから算出するというやり方をそっくりトレースすることは人間にはできません。実際プロの解説でもAIが示した候補手を「人間には指せない手」ということがたびたびあります。そういうことが起きるのはおそらく人間の上達にとってベストではないのです。

 

ちなみに1手も読まずに指す「0手読み水匠」というAIがあり、それはアマ三段程度の棋力があると言われていますが、それも私が求めているものとは微妙に違います。似てますけど。

将棋に関する認知科学の研究

将棋が強い人と弱い人の違いは何でしょう。

読みの速さ(=脳内で駒を1秒に何手動かせるか)、脳内将棋のクリアさ(脳内で駒を動かしているうちに駒の場所がわからなくなってくるアレ)、形成判断(=局面の評価関数)の正確さなどいろいろ挙げられると思いますが、私が思うに一番棋力に影響する違いは候補手生成の精度の高さです。その局面で思いつく、たかだか数通りの候補手にちゃんと最善手やそれに近い良い手が常に入っていることが大切だと思っています。

こんな認知科学の研究があります。

ipsj.ixsq.nii.ac.jp

「将棋プレーヤーの棋力の違いによる読みの広さと深さ」というタイトルのレポートです。このレポートでは初心者からプロ棋士まで様々な棋力の人に次の一手問題を出題し、考えていることを全部喋ってもらいそれを分析するということをやっています(認知科学の分野で言語プロトコル分析または発話思考法といいます)。

認知科学・人間工学・安全工学などの分野ではこういう「熟練者と非熟練者の状況認識や判断の違いは何なのか」というのは永遠のテーマなのです。

飛行機や自動車の操縦、航空管制、発電所の操作、手術、そして軍事戦闘行動……一瞬の判断が生死に直結する領域はたくさんあります。うまい人と下手な人の差は何か?どうすればうまくなるのか?ということは第二次世界大戦の頃(直後かも)から命を守るためにさかんに研究されてきました。二人零和有限確定完全情報ゲームであるチェスはその基礎分野として様々な実験がされてきました。ドライブシミュレータがない時代でもチェスはありましたからね。そして日本ではそれにならって将棋の認知科学的研究がいくつか為されてきています。

近年ではアイトラッカーを使ってその人の視線の動きから何に注目しているかといった違いを探ったり、脳科学と連動して脳波から思考領域を探る方法もカジュアルに使われるようになってきています。言語プロトコル分析はそれらと比べると単純で古くてダサいように感じるかもしれませんが、根強く有力な方法の1つです。アイトラッカーも脳波も、結局その人の思考内容は直接わかりませんからね。

 

さて話がちょっと逸れましたが、このレポートでは面白いことがわかります。

中級者(アマ初段程度)、上級者(アマ四段程度)、プロ棋士を比較すると、棋力が上がるほど読みが速く、そして1局面あたりの候補手が少なくなります。浮かんできた手も「気の利かない手」とか「味が悪い」とか考えてすぐ切り捨てます(これは別の論文の実験での話ですが)。従ってプロになるほど飛躍的に有望な局面に対して深い読みが入るわけです。中級者の方が候補手が多いというのがちょっと意外で面白いですね。

 

このレポートを素直に受け取ると、将棋が強くなるためには「手を速く読めるようになること」、「読む候補手を絞ること」が大事になりそうです。実際私たちの経験からしても間違っていないように感じます。私たちが自分より強い相手に負けるときの多くのパターンは「良いと思っていたその先に返し技があった」か「その手は見えてなかった」でしょう。

 

AIに学びたいのは「候補手の絞り方」

手を速く読むということについては将棋AIの助けを借りることではなさそうです。たくさん頭の中で駒を動かす練習をするべきでしょう。

もう1つのほう、「読む候補手を絞ること」。私はここに将棋AIの力を借りたい。

人間が1分将棋で読めるのは、どれだけ多く見積もってもプロでせいぜい300手ぐらいでしょう。さすがに藤井聡太といえど1秒で5手ずつぐらいまでしか読めないはず。たぶん実際は1分で100手もないと思います。その限られたリソースをどう使うべきなのか。局面をどう解釈して脳内データベースに対してどのように検索し、どの手を「浮か」ばせ、そしていくつか挙がってきたうち、どの候補手の読みに優先的にリソースを使うのかそれらのうまさが人間の「将棋の強さ」であると思います。

そして読む候補手を徹底的に絞った(でもゼロではない)AIからならそのヒントが得られるかもしれない。

それが私が「せいぜい300局面だけ読んでプロ並に強いAI」を求める理由です。できれば50手ぐらいの読みでプロレベルになってほしいですね。その読みが可視化されれば一般の人にも「人間的に良い思考」のトレースができそうです。

 

こういう将棋AIができるのかどうかは私にはわかりません。0手読み水匠がある程度強い現状ならわりとすぐできそうな気もすれば、「0手読みでそこそこ強い」と「300手読みでプロレベル」には大きい技術的な違いがあるような気もします。

 

将棋AI開発者の方々がこういうことに興味があるのかどうかもわかりませんが、いずれAI開発の方向性はここに書いてきたような方面に向かってくるのではないかしらと期待しています。

万人の将棋ライフにぴったりな将棋AIが存在する時代が来ることを願います。私の勝手な願いだけどね。

 

おしまい!