2022-01-07

経験から1ヶ月!Pythonで観る将ライフを向上させた話(将棋編)

まとめ

プログラミング経験から1ヶ月ほどで、将棋評価値の新たな方法でのグラフ化を行うPythonツールを作った。

https://github.com/k-the-p/notherscore

この記事は2本立てです。結果のグラフ将棋よりプログラミングに興味がある方はもう一方のプログラムから読むことをおすすめします。

未経験から1ヶ月!Pythonで観る将ライフを向上させた話(プログラム編)

何をしたか評価値に対する思い)

一局全体において、AIの示す第1候補手と第2候補手の評価値の差をグラフ化するツールを作った。

評価値は強力で便利なものだ。それを否定できる人はいないでしょう。しか評価値が絶対に正しいものかといと、それは怪しい。単にAIが今も強くなり続けていることは多かれ少なかれ現在ソフトが間違っていることを意味するし、そこまで極端なことを言わなくても、評価値はそもそもAIのための数字であって、それを人間将棋にどれだけ活かせるのかという問題もある。

こうした考えは、私が振り飛車であるということが影響しているのかもしれない。AI飛車を振った瞬間に、相居飛車戦であれば若干形勢を損ねているぐらいの評価値を出すのだが、いくらなんでもそれはないだろうと思う。そうした思いを抱えている中で、もう一つの記事でも紹介した藤森哲也先生の「AIの一手は最強の一手なんです。確かにプラス1000点になるけど一手間違えた瞬間にマイナス何百点になるような綱渡りの手。それよりもアマチュアの皆さんにはプラス数百点で得は少ないけど安全な道、最善の一手を学んで欲しい」(大意)という言葉や、佐藤天彦先生振り飛車転向以降のインタビューを読むにつけ、「それをAIを使って調べてみると面白いんじゃないか?」と思うようになりました。

なのでプログラミングを覚えるところからやってみた。その辺りはもう片方の記事で詳しく書いたので、以下では分析してわかったことを書いてみます

藤井井上

まずは、1995年に行われた藤井猛六段-井上慶太六段戦(段位はいずれも当時)、有名な藤井システムの第一号局を見ながらグラフ見方確認しましょう(以下全て使用エンジンは水匠4、1手10局面)。

https://imgur.com/a/CdNYiqK

このグラフを見ると、30手ごろから井上六段のグラフが下方向に向かって大きく傾いているのが見て取れます。30手ごろと言えば、まさに桂馬が跳ねて角道を開ける、藤井システムが炸裂した瞬間とも言える場面ですが、評価自体はやや藤井有利程度で、すぐに大きく開いているわけではありません。

しかしこの局面グラフが下に振れているということは、井上六段は「一手間違えると大きく不利になる局面」に連続して立ち向かわなければならなかったということがわかります。結果として井上六段は徐々に不利に陥っていきます

他方の藤井六段のグラフ中央から大きく離れることがなく、一見すると「何を指しても大勢に影響はない」ように見えますが、不安定藤井システムの将棋においてそうした均衡を保つのにこそ超絶的な技量研究必要とされることは言うまでもありません。

力戦派を定式化する

佐藤康光山崎隆之糸谷哲郎はい、今期A級へんt…力戦派三羽烏ですね。「力戦派」の定義って今まで定量的分析されたことが無かったと思うのですが(見れば分かるので)、今回分析してみてそれができそうだな、と思いました。ここで3枚のグラフを見てみましょう。

https://imgur.com/a/37PvzLI

それぞれの共通点があることがわかりましたか? ここでは序中盤に着目してみましょう。どれも評価自体は互角なのに、力戦派の方だけグラフが振れているのがわかるでしょうか。これを言葉で言うと、「相手は何を指してもいいのに序盤から自分だけ綱渡りしながらも互角を保っている人」ということになります

自分で言うのもなんですがこれ、けっこう面白い知見ではないでしょうか。言われてみれば確かにそうだけど、というのが数字で表せるということは、「山崎糸谷佐藤康光みたいな将棋を指すAI」という可能性が決して夢物語ではないことを意味しています。だいたい互角の手の中で、綱渡りの手を選ぶようにすればいいわけですから(上手くいくかは知りませんが)。

最先端居飛車党はどんな戦いをしているか

では、正統派(3人の先生申し訳ありません)の将棋はどんなグラフを描くのだろうか?

https://imgur.com/a/KoeBDEL

1枚目は棋聖戦第2局の藤井渡辺戦ですが、これはある意味でとても典型的藤井四冠のグラフです。自分だけ選択肢が多い状態にしながら、相手だけを間違えたら危ない状態に置く。その後に行われた棋聖戦第3局のグラフ(2枚目)を見ると、渡辺三冠藤井四冠と同じ方針をとって食らいつこうとしているのがわかります。3枚目の王位戦挑戦者決定リーグ戦における藤井豊島戦も、藤井四冠の方だけグラフが落ち着いているのが目に付きます。4枚目の竜王戦第4局豊島藤井戦は、豊島竜王藤井四冠のお株を奪うような指し回しをしていましたが、最終的には崩れてしまった。この指し方はそれだけ難しいということでしょう。

自分だけ選択肢を残しながら相手に難しい必然手を指さざるを得ない状況にさせるということは、藤井四冠からすると相手の反応を予測やすく、相手からすれば最善手を見つけるのみならず藤井四冠の多様なありうる応手を調べなければならないということを意味します。言葉にすれば簡単ですが、これはまさに超絶技巧でしょう。単にAI評価値が右肩上がりになるのを眺めているだけでは分からない、藤井四冠の強さを示すことが出来たと思います

ここではいちいちグラフを示しませんが、振り飛車グラフは、評価値はもちろん若干悪いのですが、中盤で居飛車側のグラフけが振れる傾向にあるように思いました。すなわち、中盤になると振り飛車まったり指せるのに対して、居飛車党は間違えると形勢を損ねやすくなるということです。これが、AI評価しないのに反して、人間同士ではまだまだ振り飛車が有力であるつの理由であると私は思いますし、これは多くの振り飛車党の先生が言っている「評価値は若干悪くてもねじり合いになれば美濃囲いが固くて有利」という見解にも一致します。

データ観る将のすすめ

私は評価値だけを見て悪手だの名局だの言う傾向には嫌気がさしていましたが、今回は自分で作った愛着もともなって、ろくに指し手の意味も考えずに多数の対局をグラフだけ眺めて面白がる、という行為につい耽溺してしまいました。

あなたもぜひ楽しんでみては、というには導入のハードルが高いのですが、きっとここまで読んでくださった方には価値があるのではないかと思うので、暇な方はトライしてみてください。ただ、導入方法についての質問にはお答えできません。これは意地悪でも手抜きでもなくて、単に人に教えられるだけの知識を私が持っていないからです。頑張ってください。

最後

私は現在仕事Twitterフォロワー募集しています

30歳無職よろしくお願いいたします。

https://twitter.com/k_the_p

記事への反応 -

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん