
【将棋】局面の評価軸としての不安定度
ずっと書きたかった話です。
将棋の局面に対する既存の評価値の問題点を指摘し、不安定度という新しい評価軸を追加することで初めてプレイヤーにとって意味のある判断基準となるという話を書きます。
将棋ソフトの評価値に満足か
私は10年前から将棋ソフトの「評価値」に不満を持っています。
これは将棋ソフトが「強くなる」ことを第一の指標として進歩してきたということに端を発しているように思います。将棋ソフトの「評価値」はソフトがプログラム的に勝ちに近づくための道具でしかありません。
将棋ソフトの進歩の道筋として、強くなるという指標は非常に明確で、技術的な発展を促すものだったかもしれません。しかしそれによって、将棋ソフトのもう1つの可能性からは遠ざかってしまったように思います。
将棋ソフトには、将棋というゲームの性質を解析し人間に対してわかりやすく表現し説明するという使命があったのではないでしょうか。
将棋ソフトは人間の師匠たり得るか?
十数年前はまだ将棋ソフトは癖が強く、人間の感覚との乖離が大きかったと思いますが、今ではかなり人間の感覚に近い手を選びながら強いソフトがあります。豊島さんも何かのインタビュー記事で人間の感覚に近い『水匠』が出てきて研究をしやすくなったと言っていたと思います。
同時に人間の感覚がソフトの価値観を吸収して発達している状況もあります。よく引き合いに出されるのが角と金の価値で、旧来よりも角の価値を低めに、金の価値を高めに見積もるようになりました。将棋ソフト発祥の駒組みが今は当たり前のようにアマチュアの間にも浸透しています。
こうした背景を踏まえても、人間が将棋ソフトから学ぶ(将棋ソフトを使って将棋の練習をする)ことは可能です。ソフトを動かし、候補手や読み筋や評価値を見てふむふむと頷くことで、棋力は向上すると思います。
私自身の方が優秀な師匠だと思う
しかし、私はあまり将棋ソフトを使っていません。
ITエンジニアでありながら将棋ソフトを使わないというのを不思議に思われる方もいるかもしれませんが、私には将棋ソフトよりも私自身の方が優秀な師匠であるという感覚があります。
これは自分自身が最高の師匠だという意味ではありません。他人が私自身よりも優秀な師匠である可能性は十分あるという考えの上でのことです。
他人から学ぶこともできるし、ソフトから学ぶこともできるし、自分自身から学ぶこともできる。その中で、私はソフトから学ぶのが今の私にとってそれほど良い選択だとは思っていないのです。(部分的には取り入れていますし、今後もっと活用することも検討はしているのですが……)
将棋ソフトが示すものは何か?
将棋ソフトが教えてくれるのは、将棋ソフトの評価値のみです。実際には見落としている手を発見させてくれるところも大きいのですが、その話はちょっと今は置いといてください。
ある局面に対して、ソフトは評価値を示します。そして考えられる次の手の中でより評価値の高い局面への遷移を候補手とします。そういう意味で、全ては「先手が優勢ならプラス、後手が優勢ならマイナス」という1次元の評価値によって表現されます。
将棋ソフトの評価値と自分の評価値は違う
しかし、ソフトの評価値を受け入れ難いことがあります。
候補手に従って駒を動かしていくと、確かに評価値の良いほうが優勢になっていくかもしれません。そしてその手順が「正しい」と仮定しても、果たして自分や自分の対戦相手はその手順を選ぶのだろうかという疑問がつきまといます。
この感覚は、級位者に将棋を教えるときの感覚にも似ています。自分ならこう指すけど、この人にはちょっと難しい手順だな、と思ったら、私はその手順を教えません。必要なのは本人の理解を深める手順であって、本人の理解が及ばない手順を教えても無意味だと考えるからです。
それくらいの、あるいはそれ以上のレベルの差が、私とソフトの間にはあると思います。私のレベルに適した候補手かどうかは、ソフトは判断してくれません。
不安定度を導入した2軸評価
ここまで私はソフトの評価値にぶーたれて文句を言っているだけでしたが、本題はここから、評価軸追加の提案です。
現行の「形勢優劣」という評価軸に加えて、「不安定度」という新しい評価軸を導入することで、景色が大きく変わってくると思うのです。
2軸評価グラフの説明

図は、上にいくほど不安定で、優劣が揺れ動く状況を意味します。1つの局面は図の上で1つの点として表現されます。
初型は互角ですがあまり形勢が激しく動かないので、中央の安定的な位置に局面があると言えます。中盤は複雑な形で攻防が繰り広げられると、かなり不安定なグラフの上側で形勢が揺れ動くことになると思います。しかし詰みの局面では間違いなく勝敗が決しているため、最終的な決着は右下または左下の端に収まります。

不安定度の軸を導入したことによって、同じ先手優勢の局面でも、勝ちに近い=安定的な優勢と、まだまだわからない=不安定な優勢とを区別できるようになります。
詰みがある局面での評価値
詰みがある局面で、評価値はどうなるべきでしょうか?
今のソフトの評価値では、詰みが発見されると評価値が振り切ってしまいます。それはソフトが詰みを逃さないために必要なことですが、読み切れない人間の参考にはならないし、逃れたい側がどうすれば良いのかもわかりません。
2軸グラフ上では、例えば先手玉に詰みがあるとすると、後手優勢の領域内で、詰み筋の複雑さに応じて最も外側の点線上を上にずらした位置に局面を評価します。これによって、「どちらに逃げても詰む」ような状況でも相手プレイヤーが詰みを逃す可能性を考慮して最も難解な順に進むことができるのではないでしょうか。
形勢に差がある局面での評価値
詰みにかかわらなくても、形勢に差がある局面で評価値をどう考えるでしょうか?
一方が優勢で一方が劣勢な局面というのは、優勢側のプレイヤーが最善を尽くした場合は劣勢側に勝ちがないことになります。しかし、実際には将棋はそれほど簡単なものではなくて、互いに間違えながら進むものなので、劣勢な方にもチャンスはたくさんあるものです。
プレイヤーや観戦者が知りたいのは、劣勢な側に「どれくらいチャンスがあるか」ではないでしょうか。これが、現在のソフトの評価値では表現が不十分だと思います。
2軸グラフでは、優劣の数値が同じであっても不安定度によって「先手勝ち」「後手勝ち」のポジションへの距離が異なってきます。距離が大きければ、劣勢な側にもまだチャンスがあると考えられるのではないでしょうか。
一連の変化が線になる
こうした評価値が、一局を通じて変遷していった結果を考えると、一局の流れはこのグラフ上で1つの線になることがわかります。


2つの図は、仮想的に同じ一局を表現したものです。
従来のグラフを見たとき、評価値が大きく変動しているので、ひょっとしてプレイヤーがヘタクソでとんでもない悪手を指しているのかなと思ってしまいそうです。しかし、2軸評価であれば、不安定な局面=難解な局面で優劣が揺れ動くことは当然なので、ハイレベルな熱戦だったなというのが感じられるのではないでしょうか。
どのような手を選ぶべきか
今のソフトの評価値は、どれを選んでも評価値が良くならない中で、マシな手を選ぶことになります。それは実際的にはある程度うまく機能している面もあるのですが、手の意味に対する表現が乏しいところがあり、また「どれを選んでも負け」という性質が強調されてしまいます。
劣勢のときは、局面を不安定化させる
2軸グラフで考えれば、優劣で言えば局面はさらに悪くなるけれども不安定度を上げる手を発見することができます。これは「困った時は戦線拡大」という実戦的な格言に沿うものでもあり、「正しい手」を指すことよりも重要なスキルだったりします。
優勢のときは、局面を安定化させる
逆に、優勢な側は例えば抑え込み等によってその優勢を安定化させる方針が考えられます。状況によっては、相手の攻め駒を清算させて「局面をすっきりさせる」というようなこともあるでしょう。
そういったことが、2軸グラフでは不安定度を減少させる方向への遷移として表現されます。

人のための評価値を求める
ここからはまとめです。
今の評価値はソフトの棋力を前提としたもの
何度も書いた気がしますが、今のソフトの評価値というのは、ソフト自身が勝つためのものであり、ソフトの棋力を基準にしたものになっています。なので人間がそれを参考にしても活かしきれないところがあります。
また、良し悪しだけの表現が勝つための戦略において情報不足という印象があり、もう少し情報を追加しても良いのではないかという発想が本記事の2軸評価値につながっています。
相手が間違えることを前提にした大局観
将棋を人と人とのゲームとして考えれば、ソフトを基準にしても仕方がありません。強いソフトと比べると人間は間違えるものなので、相手が間違えることを前提にした大局観も勝負術として必要になってくるはずです。
劣勢でもチャンスを伺う姿勢は、「不利にならない」方針と同じかそれ以上に重要なものだと思います。そして不安定度を導入した2軸評価値がそのための助けになると思います。
よりよい評価値を求む
昨今、プロの棋戦においてはソフトによる評価値を表示してアマチュアにもわかりやすくしようという試みが広がっています。その流れ自体を否定する気持ちは私にはありませんが、評価値の変動によってプロが「間違えた」というように思われたりしていて、心が痛みます。
人間は間違えるもので、将棋はそれを前提としたゲームであって、だからそれを前提とした良い評価値の表現を考えたいのです。
今回提示したグラフが完ぺきとは思わないですし、私自身にもほかにこういうのもいいんじゃないかと思うものがあったりします。
将棋のソフト開発が「強いソフト」の開発に終始せず、「人に優しい局面評価」を追求しても良いのではないでしょうか。そんなことを熱心な将棋ファンたちと雑談してみたいものです。