将棋の「読み」の本質を探る~プロ棋士とコンピュータの読みと最善手~

「コンピュータ将棋の読みと形勢判断~そして、もう一つの考え方~」の続編です。

前回の記事では、「読み」と「形勢判断」と「読みゼロの形勢判断」の3つの概念を分けて考えることが、コンピュータ将棋を考える上での基本であると書きました。

前回の記事

コンピュータ将棋の「読み」と「形勢判断」~そして、もう一つの考え方~
将棋の技術を考える時に、「読みと形勢判断」とよく言われます。 この記事では、コンピュータ将棋の「読み」と「形勢判断」について考...

今回の記事では、その中の特に読みについての考察を深めます。

プロ棋士の読み、将棋ソフトの読み、私のようなアマチュアの読み・・・それぞれの特徴について比較分析をします。

本記事の目的の一つは、コンピュータ将棋についての理解を深めることです。

そしてもう一つの目的として、コンピュータ将棋という「人間の思考とは異質なもの」と比較することにより、「読み」の本質そのものに迫ることが狙いです。

棋力による読み筋の違いとコンピュータ将棋の特徴

将棋は基本的に対人ゲームです。

最近は、電王戦で将棋ソフトが猛威を振るっていますが、将棋の歴史の大部分は人間対人間の対人ゲームとしての将棋です。

「読み」に関して言うと、特にプロ将棋界おける「読み」の要素は、対人ゲームとして発展してきた性質が色濃く出ているように思います。

どういう意味かというと、一つの局面における「有力な候補手」がかなり限定されているように思うのです。

よく言われるのが、多くのプロ棋士が大抵の局面で有力手を3通りぐらいに絞っているということです。(もちろん、絶対にこの一手という局面もあるでしょうし、手の広い局面で5~6通りもの選択肢が有力という局面もあるでしょう。)

そして、これらの3通りぐらいはプロ棋士の間で大体意見が一致するとのことです。

たとえば、将棋の初手は30通りの指し手が考えられます。このうち、プロの公式戦では▲7六歩、▲2六歩、▲5六歩の3通りが圧倒的多数です。初手▲7八金のような手が指されることもありますが(参考:将棋戦法大事典の居飛車編)、先の3通り以外の手は最善手ではないだろう、というのが共通見解だと思います。

プロ棋士よりも棋力が低い場合、例えば私のようなアマチュアが指す指し手というのは、かなりバラつきがあるはずです。これは、必ずしも一人の人間が考える有力手の選択肢が多いということを意味しません。同じぐらいの棋力の人間を多く集めたときに、有力だと判断される指し手のバラつきが大きくなるという意味です。

たとえば、将棋倶楽部24で私と同じレーティング2000ぐらいの人間を100人集めたとします。そして、ある一つの局面について、有力だと思う候補手を3つ選んでもらいます。これらの合計3×100=300通りの指し手がどのくらいバラついているかを考えます。おそらく、プロ棋士100人で同じことをするよりも、そのバラつきはかなり大きくなるはずです。

アマチュア100人による、のべ300通りの指し手の中には、プロ棋士も有力だと考える手も含まれているでしょうが、同時にプロ目線ではありえない手も多く含まれているでしょう。

本当は駄目な手でも有力に見えてしまう。本筋から離れるような「素人くさい」手を指してしまう。すなわち、棋力が低いために有力手を精度よく絞れないということです。

一方で、将棋ソフトもある意味で「素人くさい」手を指すことがあります。プロ棋士が考える本筋や有力手から外れている指し手です。ただし、この場合は最近のソフトの強さを考えると、「棋力が低いため」というわけではなさそうです。

コンピュータ将棋の醸し出す「素人くささ」というのは、指し手を決めるときのアルゴリズムに由来します。すなわち、「網羅的に手を読む」という候補手検索の手法のためです。この場合も、「プロ棋士的な3つの有力手」よりも選択肢が広くなります。というより、(一定手数以内の網羅的な読みに基づいた)あらゆる選択肢を読んでいるので、コンピュータ将棋にはもともと有力手を絞るという発想がないということです。

「最善手」と「相手が最善と考える手」

将棋というゲームにおいて、もちろん「最善手」の追求は大事ですが、それと同じぐらい重要なのが「相手が最善と考える手」を読むということです。なぜなら、実戦で盤上に現れる指し手は「相手が最善と考える手」の方だからです。

非常に高いレベルの将棋では、「最善手」と「相手が最善と考える手(あるいは、実際に指される手)」との一致率が高くなるでしょう。逆に、レベルの低い将棋では、「最善手」ではない指し手の割合が多くなります。

将棋のプロ棋士は人数が限られています。現役棋士で170人ぐらいです。その中で、先ほど述べたような「プロ棋士的な3つの有力手」という共通認識があります。

これらの3通りぐらいの有力手がすぐに見えない、という状況がプロ将棋界で生きていく上で一番厳しいように思います。つまり、多くの棋士が指す可能性が高い手がわからないとなると、「読み」を10手先、20手先へとスイスイ進めることができないからです。

また、読みを入れたとしても、相手の指し手が全然当たらないということになります。

プロ棋士にとってまず重要なのは、「プロ棋士的な3つの有力手」を発見する能力が高いことです。これは、プロ将棋界という環境において「相手が最善と考える手」を予想する技術です。これは「最善手」を求めることと混同しそうですが、本質的には別物です。

強い棋士ほど、「最善手」と「相手が最善と考える手」の違いがわかっていると思います。「相手の読みを外して、かつ最善に近い指し手」を狙うというのは、両者の区別ができていないと不可能だからです。

仮にある一つの局面で、多くのプロ棋士がAかBかCの3つの指し手を有力だと考えているとします。しかし、実はその3つとも最善手ではなくて、他の指し手Dが最善という状況は当然考えられるでしょう。

この場合に、プロの公式戦において最も致命的なのが、A~Cの3つの有力手が見えていない、読めていないことです。もし最善手Dが見えていなくても、Dが盤上に現れる可能性はA~Cの3通りよりも低くなります。すなわち、最善手Dが見えないことよりも、相手が考える有力手A~Cが見えない方が罪が重いということです。

極端な言い方をすると、実戦の場で誰も気付けないような最善手は、あってもなくても勝敗には全く影響しないということです。

そして、実戦で気付きにくい最善手Dを発見できる棋士が強い棋士です。読みを外すことによる持ち時間のアドバンテージと、形勢によるアドバンテージの両方を得ることができます。

コンピュータ将棋と人間の読み筋の違い

コンピュータ将棋

出典 ex.nicovideo.jp/

人間とコンピュータ将棋の戦いでクローズアップされたのが、人間とソフトでは読み筋がかなり異なるということです。

これは、人間とソフトのどちらがより「最善手」に近づけるかという問題とは別の次元の話です。すなわち、「最善手は何か?」という問題というよりは、「相手が最善と考える手は何か?」という問題です。

人間もソフトもおそらく「将棋の真理を究める」というレベルの棋力には届いていません。人間は指し手を網羅的に読むことはできないですし、ソフトは網羅的に読むためにあまり長い手数の先を読むことができません。仮に、将来的にコンピュータの性能が大幅に上がって、50手先まで網羅的に読むことが可能になったとしても、まだまだ完璧にはほど遠いです。プロ棋戦の平均手数でも100手以上あります。

さらに、完璧と言うためには、持将棋などそもそも詰みに収束しない手順も想定する必要があります。また、持将棋でなくても、形勢が拮抗しながら何1000手と続くような手順も論理的にはありえるわけです。コンピュータ技術で将棋の真理を究めようとすると、これらの可能性の方が本質的には重大でしょう。

以前の記事でも最善手について考察しています。

最善手とは? ~絶対と相対~
「最善手」とは何でしょうか? このシンプルな問いが本記事のテーマです。 「最善手」とは、ある局面において「最も善...

何を言いたいかというと、理想的には「最善手」と「相手が最善と考える手」が一致すればいいのですが、人間もソフトも一致率には限界があります。そこで、特に人間にとっては「相手が最善と考える手」が重要になります。これが、対人ゲームとしての将棋です。

まどろっこしい書き方をしましたが、要するに、対人なら相手の人間が指しそうな手を予想しなければならない、対ソフトなら相手のソフトが指しそうな手を予想しなければならない、ということです。「最善手」を求める技術と同様に、「相手が最善と考える手」を予想する技術が、対人ゲームでは本質的に重要となります。

それでは、人間が指しそうな手と、ソフトが指しそうな手の違いは何なのか?

この点については、今後の記事で考えてみたいと思います。