将棋ソフトを用いた次の一手問題の自動生成

本稿は技術書典5にて頒布する科学するコンピュータ将棋シリーズの宣伝記事です。

 

大判解説などの将棋イベントで特に人気があるのが指導対局です。プロ棋士と実際に対局を行い、指し手の良し悪しについて幾つかのアドバイスを貰えるこのイベントは将棋の体験としても、また、棋力を上げる上でも非常に良いものです(*)。

 

しかし指導対局は何時でも受けられるわけではありません。最近では将棋ソフトはプロ並みの強さを手に入れては居ますが、奴らは只管に無慈悲であり只々負け星を積み続けることになります。

 

そこで、自分と似たような棋力の人間やソフトと戦い、その対局をソフトに振り返ってもらうことで擬似指導対局が出来ないだろうかと考えました。以下、そのやり方と結果についてご報告します。

 

【悪手を元に次の一手問題を作る】

筆者と似たような棋力の持ち主としてGameDesignの将棋Flashのレベル9と対局を行いました。棋譜の局面を一つずつQhapaqに評価させ、私と将棋FlashのCOMがドレだけ悪い手を指したかを可視化してみました。

 

f:id:qhapaq:20181003234706p:plain

横軸が手を指す前の評価値(から計算された勝率)、縦軸が手を指した後の評価値です。私もソフトもかなりの数の酷い手を指しているのがわかります。

 

このままでは、感想戦というより指したほぼ全ての手をdisられるだけの処刑大会になってしまいます。

 

そこで、限りなく沢山有る悪い手の中から、指導に向いた局面を抽出することにします。以下のガイドラインに従い、検討するべき手を絞ることで、比較的教育的な悪手を引っ張ってくることが出来ました。

 

1.正解の手が一つに絞られている局面を使う(答えが複数ある複雑な局面を避ける)

2.悪い手を指した前後の局面を使う(プレイヤーが間違える程度には複雑な局面を使う)

 

【例題】

 

f:id:qhapaq:20181003235051p:plain

穴熊の対抗系の終盤。双方の玉が危ないですが、此処で先手番が指すべき手は?

(答えは下に記載)

 

 

 

 

 

 

この問題の唯一の答えは26銀です。その他の手は17桂成、同香、39銀打、18金、38龍で寄り筋となってしまいます。26銀には47桂成から絡みつかれるのが怖いですが、26銀、47桂成、13金、同香、76角で龍を攻めながら先手を取ることが出きます。この局面の評価値は1200前後であり、相当先手が有利なのですが、受けの手を誤ると後手勝勢となります。

 

筆者はこの局面で44角と指してしまいました。ただし、相手のソフトも弱かったため上述の詰み筋に気付かず、最終的には勝つことが出来ました。twitterでこの問題を流したところ、恐らく私と似たような棋力の人が44角と答えてしまっていたので、教育的には悪くないのではないかと思います。

 

【今後】

web上にある棋譜を集める、ユーザ投稿するなどをして大量に棋譜データを集め、今回のような自動生成を行えば、毎日次の一手を呟くbotのようなものが作れるかも知れません。ソフトによる指導対局という新しい分野が切り開かれれば何よりです。

 

【最後に宣伝】

10月8日に開催の技術書典5に参加します。技術書典4で頒布した科学するコンピュータ将棋の改訂版と2018年流行の新技術を主に取り扱った別冊Qha学習を、それぞれ700円、300円で頒布します。

 

イベントのページ:

https://techbookfest.org/event/tbf05
https://techbookfest.org/event/tbf05/circle/53170003

 

githubにアップしたサンプル:

 Release 科学するコンピュータ将棋 サンプル · qhapaq-49/Kusokappa · GitHub

(特にQha学習は誤植が有る可能性が高いので見つけたら教えて頂けると助かります ><)

 

足を運んでいただければ幸いです。

技術書典4同様、webでの頒布も予定しております。リリース時期は未定ですが、遠方の方などにご活用いただければと思います。

 

(*) 余談ですが筆者は2014年の竜王戦の大判解説で藤井猛九段の指導対局を受けたことがあります。将棋界のスーパースターが来るとだけあって、参加希望者が異様に多く、少なく見積もって倍率5倍のクジを引きあてることに成功したわけですが、当時は其のありがたさがイマイチ解っていなかった気がします(結果は二枚落ちで挑戦して負け。21手詰が炸裂した瞬間にギャラリーが湧いていたのが印象的でした)