観る将評価値ディストピア
佐藤天彦九段は、AIによる研究が棋士にとって当たり前になった状況を「評価値ディストピア」と表現されました。
棋士の先生もきっとものすごく大変なんだと思います。
それに比べれば些少ながら、しかし、評価値の存在は観る将にも影響があるのではないか、というようなことを先の記事で書きました。
先の記事では、将棋の評価値としてヒットポイントとこうげき力、みのまもりを表示してほしいという、すこぶる頭の悪い記事を書いてしまった。
もうちょっと、従来の将棋の形勢判断に沿ったパラメータを算出することはできないんだろうかということで今回はその続きです。
突然、馬鹿強いAIによる評価値や最善手だけが表示されるよりも分かりやすくなるかもしれない。
(将棋もプログラミングも分からないので、書いてて恥ずかしいんですが。。。お前が勉強して実現してみろよっていう話なので)
なお、正直将棋そのものは全然知らなくて、将棋における形勢判断について調べながら書いているので、誤っている知識があったら申し訳ないです。
〇駒割り
駒割りを表示しておいてくれたら分かりやすいと思う。
将棋は基本、相手の駒をとればとるだけ有利なゲームです。
もともとの盤上には20枚ずつ、合計40枚の駒がありますが、どっちがどの駒を取ったのかってのを駒割りというそうです。
いや、まあ、数えれば誰でも分かるんですよね。解説の先生なんかは瞬時に判断なさるので、強くなれば僕にもすぐに分かることなのかも知れませんけどね。
でもまあ、将棋を強くなる気ぜんぜんないしなあ、、、
出しといてくれたらええのになあ。
〇駒の働き
攻撃にも防御にも役立ってない駒(遊び駒)があると「駒の働きが悪い」というそうだ。あと、遠方まで利く駒が別の駒で邪魔されていても「駒の働きが悪い」らしい。
これって、先に挙げたやねうら王さんの連載企画のソフトの評価値が近かったりするんじゃないのかなあ?
遊び駒ってたいてい自玉・敵玉から遠いわけですし。
大駒(飛車・角)だって、利くマスが多い方が高評価でしょうから。
もしかしたらもっといい計算方法があるのかもなんですが、なんしか、なんかの良き方法で数値化して表示してくれたらうれしい。
〇玉の固さ
王将がしっかり囲われてたり金銀がくっついている状態を「玉が固い」というらしい。
これも上に挙げた「みのまもり」じゃダメなのかなあ。
つまり、自軍の駒と自分の王様の関係の数値化ということなんですけど。
〇手番
これはよくわかんない。
普通に、どちらが指す順番なのかを示す意味での手番というワードでもあるんですが、それとは別に「手番」なる概念があるみたい。
つまり、「その場の主導権を持っている」ことを「手番を持っている」というのかな。
どうやったら数値化できるんだろう??
例えば、手番をとるために飛車取りに歩を打っても、場合によっては放置して攻めてこられることはありえるんでしょうし。
そもそもAIって、パズル的に与えられた盤面のことを考えているだけで、「対局相手」のことなんて考えてないでしょうから、手番という概念も持ってないんじゃなかろうか。分からんけど。
例えば「飛車打ちをいったん歩で受けて、近づけてから金ではじくことで、手番をとりつつ受けました」みたいな場合。
この場合、飛車が撤退する以外の手(飛車を金の横においておくままの手)の評価値はすこぶる悪いのだろうと推測できる。
手番を取るというのは「相手の候補手の悪手割合が高く、指し手を強く限定される」というような状況だったりしないだろうか。悪手割合から手番を算出できるかもしれない。
でもなあ。ポカによって『必勝の一着』が発生した場合も、相手の候補手を悪手まみれにすることになるんだと思うんですよね。これを「手番を取った」とは言わないですよねえ。
・今パスしたら指されちゃう手
ちょっと話は手番から変わるんですけど。
観る将にとって将棋の難しいところは、指し手の意味がさっぱりわからんことです。
なぜ分からないかというと、棋士が対局相手の意図を読んで指しているからです。そして、その対局相手も対局相手の意図を読んでいる。
「あーなったらこーなって、そしたらあーなるから……」とお互いの意図を何十手先まで読んでいて、それが僕にはさっぱり分からない。
「パスをしたら相手が指すであろう手」みたいなのが表示されてれば、「じゃあ次は、その手に対応する手を指すのかな?」とかの推測が立ちます。
そして、AI候補手が、「パスしたら相手が指す手」と関係なければ、自由な手をさせる局面といえるかもしれません。逆に、『「パスしたら相手が指すであろう手」の意味をなくすような手』であれば、「手番を取られている」といえるのかも。
相手の手に対応しないといけない状況なわけですから、
「例えば飛車を金で弾く」というケースでいえば、「いまパスしたら相手が指すであろう手」は、金で飛車を取る手になるでしょう。飛車を逃げれば、相手が飛車が居た場所へ金を移動させることはあんまりなさそうです。
でもなあ。陣形によってはそういうこともありそうな気もするなあ。
なんしか、いいアイデアがあって、いまどっちの手番かってのが自動的にずっと出ててくれたら、僕のような怠惰な観る将にも形勢がわかりやすくなるかもしれない。
〇玉の広さ
玉の広さ、という言葉もよく聞きます。
地続きで玉が行けるマス・居られるの数をカウントして出しといてくれたら見やすいかもしれない。これが0になったら負け。
なのである意味でヒットポイントっぽいです。でも、けっこう頻出する穴熊という戦法だとずっと1になってしまうので、ヒットポイントっていう感じはしないかなあ。玉の広さをヒットポイントとした場合、穴熊は防御力が高くてヒットポイントが低いので、メタルスライムみたいな戦術に見えるのかな。
将棋が分かる人には超邪魔なんでしょうが、いっそ盤面も色でぬりわけてほしい。
本当は、それこそ先述のやねうら王さんの評価関数のように、「方向」「近さ」なども重要なんだと思いますけどね。
〇玉の遠さ
相手の攻め駒と玉の距離のことを言うようです。
これは相手駒の利きと自玉の関係で表現できないのかな。
でも、どちらかというと、「玉が8筋にいるより9筋にいる方が遠い」みたいな感じで、水平方向の距離のことをいうことが多いようなイメージはあるかなあ。
〇攻めのスピード
山口恵理子女流二段による将棋講座動画で形勢判断について講義してくれています。
その中で、「攻めのスピード」という概念を紹介なさっています。
自分や相手の攻めのスピードを測る目安は「タダで取られない王手が何手でかかるか」ということだそうです。
これは機械的に割り出すことはできるのだろうか。できそうな気もするし難しい気もする。
できるんだったら面白そう。
〇王手のかかりにくさ
玉の固さの判断基準の一つに「王手のかかりにくさ」というのがあるみたい。
現局面での可能な王手の数はすぐに計算できそうな気がする。
将来にわたっての王手のかかりにくさも見れるなら見てみたいなあ。
〇各種形勢判断に基づく候補手
調べた範囲では駒割り、駒の働き、玉の固さ、手番、玉の広さ、玉の遠さ、攻めのスピード、王手のかかりにくさと8種類の形勢判断の方法が見つかったんですけど、これらの数値化されたものが表示されていて、指し手ごとに上下してくれたら、棋士の先生が指した手の意味が分かる気になると思う。
どうなんだろう。実際やってみたら、やっぱりさっぱり分からへんのかもしれへんけど。
駒割り最優先AIの候補手、駒の働き最優先AIの候補手、玉の固さ最優先AIの候補手、、、というように、上記8種の形勢判断それぞれの候補手を表示してくれれば、もしそれらの候補手と指し手が一致していれば、意味は分からなくても、意図は分かるような気になれるかもしれない。
最善手以外の手を指して形勢を損ねた場合でも、複数の考え方に基づく候補手があったほうが、なんというか、視聴者も受け止めやすいんじゃないだろうか。
個々の形勢判断要素に特化したAIを作るとして、たぶんあんまり強くはないんでしょうけどね。でも僕よりは強いでしょう。だからいいんじゃないでしょうか。
もし将棋番組関係者の方々、将棋ソフト開発関係者の方々の目にとまるようなことがあれば、ご検討お願いします。
と、よく知りもしない将棋についてダラダラと書いてしまいましたが、もうちょっとだけ次の記事に続きます。
以下はおまけです。購入していただくようなことは書いていません。
この記事が気に入ったらチップで応援してみませんか?