将棋スコアボードと駒割グラフ

8月2日のエントリ「対局中継と普及」において「指さない将棋ファン」向けに必要だと主張した「将棋スコアボード」と「駒割グラフ」をこの二月ほど実際に試してみた。対局中継の継ぎ盤として短評と共に掲げる形式をとしました。中継を見ていて気づいた人がいるのかどうかはわからないですが、なるべく具体的な手順について言及しないようにしました。前例や定跡書などを引きながら具体的な手順を解説したり、指し手の予想をするなどはできなくはないのでしょうが、初心者はそれを読んでもわからないのであれば趣旨に外れるからです。

結果としてこのブログとしてはかなりのアクセスを稼いだと言えます。けれども指さない将棋ファンに受け入れられたのか、新たな需要を開拓できたのかどうかには疑問が残るような気がします。王位戦第六局の中継のように解説がない対局中継の理解を助けるために有段者以上の将棋馬鹿が見に来ていたような気がするからです。スコアボードなぞ本気で参考に見ている人がいるのかさえわからないありさまと言えるでしょう。

冷静すぎる現状分析はまあ置いておくとして、自分でやってみてわかったことがいくつかあるのでそれについてわかったことと問題点をまとめておき、スコアボードと駒割グラフの見方、楽しみ方について書いておこうと思います。

1.駒割の点数の妥当性
2.主観による判断数値の妥当性
3.現在、過去と、未来予測
4.指さない将棋ファンの新しい中継の楽しみ方

以下は無駄に長いです。興味があって、なおかつ暇な人だけお読み下さい。せっかくの休日をつぶしても責任は持ちません。自己責任でお願いします。


先手
羽生名人
対局者後手
深浦王位
手番
馬,角桂(-11)駒割成香と,飛金,歩3(+11)
7攻撃陣4
3守備陣1
-1合計16
一手損角換わり
最終盤79手目


§1.駒割の点数の妥当性

ある局面をもってきて、駒割が銀桂交換で駒得しているなどというのは有段者には簡単にわかります。一旦駒割を判断してしまえば、そのあとの数手並べた先の局面の駒割は考えなくてもわかります。しかし、初心者にはわかりません。駒割を判断するのに1分も2分も考え込まないとわからないようではそのうち考えるのをやめてしまうでしょう。
仮に、それが銀桂交換だとわかったとしましょう。一体どれくらいの差なのでしょうか。有段者ならすぐにこのぐらいの差かとわかりますが、初心者にそれを説明して理解できるでしょうか。初心者クラスでもどのくらいの差なのかわかるためには数値化することが簡便です。駒の特性の差による味や含みはなくなりますが、それは折り込み済みです。
もちろんどういう点数配分にすればいいかは大問題で、これがコンピュータ将棋の形勢判断での重要なファクターとなっていることを指摘しておくべきでしょう。正しい形勢判断には一つひとつの駒の点数配分は非常に重要です。この駒の評価値を算出する新しい方法をBonanzaは採用して話題になったのは記憶に新しいところですね。例えば飛車を1点、歩を5点などとするとあきらかにゲームの特性を反映しないと言えます。歩が1点ならば飛車は5点などとしなければならないでしょう。
けれどわれわれは立ち止まって考えねばなりません。我々は厳密な正しさを必要としているのかということに。議論を深める前に、具体例を挙げてみましょう。

実際に駒割グラフを書いたときに用いた駒の点数配分は次の通りです。

1234567

成香成桂成銀
555578

あまりにも大胆なでこざっぱりとした点数配分でコンピュータ将棋ソフトを開発している人なら驚くかもしれません。これは点数計算を容易にするための工夫でした。小数点以下の端数がどんなにあってもわかりにくくなるだけだと思ったからでもあります。

二つめはボナンザから。ボナンザの作者である保木邦仁 東北大学大学院理学研究科 助教がソフトウェア ジャパン2008において「ゲーム木探索の最適制御 −将棋における局面評価の機械学習−」 というタイトルの招待講演をされたときの資料が見つかったので、ボナンザの駒割数値の一部を引用します。ボナンザではこの基本数値から、駒の位置や、王との相対関係、持ち駒ならばその枚数などによって点数を加減しているそうです。

106279304428527617700
成香成桂成銀
272323363415698854

三つ目は名著から。
谷川浩司著「将棋に勝つ考え方」

156891315
成香成桂成銀
12101091517

四つ目は持将棋の24点法で使う小駒が1点、大駒が5点。成っても点数の加点は無し。

1111155
成香成桂成銀
111155




こうして4つのグラフを並べてみて、どうでしょうか。キャプションが無ければ初見の印象はそう違わないのではないでしょうか。戦いの大きな流れを見るだけなら、駒割数値の細かい違いなんてほとんど気にならないようです。24点法だけが違うように見えますが、これでも構わないかもしれません。グラフは目で見るものであり、目で認識できる精度は一桁からよくて二桁といったところ。そう考えれば、駒の評価値の精度は二桁もあれば十分すぎるのです。

序盤の駒組みは直線で流れていきます。仕掛けになると駒の交換が起こり、グラフに変動があります。弱い駒を交換したときは小さなピークが見えます。反対に強い駒を交換したときは鋭いピークが見えます。激しい戦いになればなるほどグラフは激しく変動します。沢山駒を得すればグラフは傾いていきます。
もちろん駒の損得と大局的な形勢は等しくないことをここに指摘しておきます。わかりたいのは駒割がどう変化してきたかの流れです。駒の交換を激しくして今は小康状態なんだなであるとか、激しい戦いを早い時期からやってるんだなとか見て一目瞭然です。グラフが激しければ手順を並べるのが面白そうだと思うかも知れません。
どっちが駒得をしているかは、大体でよいでしょう。駒の評価値をもとに駒割のグラフを見せるだけでかなりわかった気になります。銀桂交換で銀の方だから得、と言われるより、銀桂交換で差し引き1点の差だと言えばわかったような気になるでしょう。


結局点数配分について重要なのは三点。

  • 大駒が高配点、小駒が低配点。
  • 成ることによって点数が増える。
  • 点数の精度は一桁程度以上あってもあまり意味がない。


現時点で感じている問題点もある。
例えば持ち駒での同種の駒の枚数だ。一歩得と二歩得の差は確かに一点分あると見なしてもいいだろう。しかし四歩得と五歩得の間の差はどうなのだろうか。
仕掛けの時に景気よく三つも四つも歩をつき捨てる戦型では、歩得による点数の差が出てしまい実情と大きく違ってくる。現在の駒評価値では四歩得(1点*4)すれば銀得(4点)と同等である。それはちょっと違和感がある。歩の枚数があまりにも大きく出すぎると見た人が混乱するかもしれない。
駒の損得を計算するときに歩の枚数を考慮に入れない流儀もあり、それを採用するという手もあるのだが、序盤の歩交換が小さなピークで出てくるのは捨てがたい。そうすると歩得の枚数が増えるに従って点数の差を小さくしていくという方法が考えられる。これはボナンザの評価値にも反映されている。つまり例えば、一歩得は1点差、二歩得は1.5点差、三歩得は2点差というように。
こういうところを厳密に考えても、目的が「初級者がひと目で理解する」であるので労力に見合わない可能性が高い。むしろ点差が整数で無くなり、わかりづらくなることによる弊害の方が大きいような気がする。この辺りは何を基準に判断すればいいのかよくわからない。
もう一点、例えば駒の働きによる差は判断するべきなのだろうか。遊び駒や、持ち角と盤上の角の差などである。現時点では主観による判断数値に繰り込むことにしているが、駒割の数値に反映させるという手もあるし、別項目を立てるという手法もある。


§2.主観による判断数値の妥当性

スコアボードで掲げている判断には、攻撃陣と守備陣の数値があります。これらは科学などでシミュレーションをやった方ならよくわかると思いますが、こういった新しい任意パラメータを導入すれば結論はいくらでもいじることができます。互角にしたければ互角にすることは容易なことです。
極端な話をすれば、駒割で10点の差がありどうみても敗勢でも、それを挽回するために都合良く10の新しい判断基準を導入してそれぞれで1点ずつ挽回すれば、差し引きしてあたかも互角であるように見せることは可能です。そういう手法もあります。それが悪とは言い切れません。ただし、項目が100も200もあったら、一目で把握できません。初級者にはわかりません。それは本末転倒と言うものです。
一目でわかること。一目でわかった気になること。それが大事です。
そうすると項目は二つから三つが妥当と思います。現時点では「駒割」と「攻撃陣」、「守備陣」の三つを合計して最終的な形勢判断としています。

先手対局者後手
手番
飛車(+3)駒割銀(-3)
3攻撃陣6
5守備陣8
11合計11
四間飛車
中盤60手目

駒割の差し引き6点差を主観による数値でいじって互角にしています。所詮主観なので正確な判断とは全然違うでしょう。しかし、これだけの情報を口で説明しようとすると1分以上かかります。さらにそれをしても、初級者にはわからないという可能性もあります。
数字で出てくるとなんだかわかった気分になってくれるかもしれません。結論だけ取り出せば11対11で互角です。「難しいけど互角」、と口で言われるのと大差ないでしょう。けれども、そこに情報が手番、駒割、攻撃、守備の4つの情報が増えただけで飛躍的にわかった感が増えています。
「初級者がひと目で理解する」それこそが求めているものです。正しいか間違っているかは二の次でも構いません。

先手対局者後手
手番
飛車(+2.9895034)駒割銀(-2.9895034)
攻め駒の働き(1.1943789)
+攻め筋の太さ(0.89047847)
+攻めの速さ(1.04635289)
=3.13121026
攻撃陣攻め駒の働き(2.8762637)
+攻め筋の太さ(1.1738764)
+攻めの速さ(1.9635762)
=6.0137163
駒の連結(3.1746278)
+広さ(0.7287639)
+進展性(1.1127483)
=5.0161400
守備陣駒の連結(6.9253684)
+広さ(0.27384637)
+進展性(0.86523847)
=8.06445324
11.136854合計11.088666
四間飛車
中盤60手目


ちょっと適当に複雑にしてみました。有効数字は8桁です。0.05点の差がついています。これを見てなるほどと思う人はよっぽど人が良いと思います。形勢判断をソフトに任せて自動的に算出するのでなければこんな小さな差は計測しようがない。0.000001点の差があれば、なるほどミクロの差を争っているのか、プロはすごいなと思えばいいのでしょうか。攻撃守備の二つを整数一桁の値で判断するのはあまりに単純すぎるという批判に誤りはありません。けれど、項目を増やして有効数字を8桁に増やして、さてどうでしょうか。プロは100以上の項目のそれぞれに20桁以上の小さな差まで判別していると言うのでしょうか。なるほどそれぐらいしないと厳密に正確な判断はできないのかもしれません。けれど「初級者がひと目で理解する」それこそが求めているものです。正しいか間違っているかは二の次でも構いません。正しい形勢判断なんて羽生善治に任せておけばいい。


一点、現時点での感触に過ぎないのですが、書き留めておきます。
攻撃陣と守備陣をそれぞれ10点満点で評価しています。攻撃陣は攻め駒の枚数が4枚あれば7,8点、3枚なら5、6点、2枚なら3,4点として、持ち駒に何があるか、挟撃になっているか、守備陣は4枚の穴熊が8点ぐらい、矢倉なら6点ぐらい、裸玉が1点というように金銀の配置と桂香歩、飛車角の自陣への利きを考慮に入れて柔軟に判断しています。
そうして出てきた合計点には基本的に目をつぶっているのですが、感触として駒割の点数差が合計点に大きく効いてくるようです。駒の点差が半分にするか、攻撃守備を倍にするかといったところ。いずれにしても二桁になってしまうのがしゃくの種。検討中です。



§3.現在、過去と、未来予測

今までの記事を見ていて気づいた人がいるのかどうかはわからないが、未来(指し手の予想)よりも、過去(ここまでの経緯)や、現在(現時点での攻めや守りの形)のことを言葉で簡潔に書くことを心がけた。未来の指し手予想は、初級者にはなかなか理解できないものであるし、有段者なら自分で考えるのが楽しいだろう。そういうものを求める人は今までの解説で用が足りるので、他所に行けばいい。基礎的な情報の提示は未来よりまず過去と現在の整理をするべきだと思う。

例えば野球のスコアボードには過去と現在しか書いていない。野球はデータのスポーツと言われるようにデータを算出することが容易だ。打率や出塁率防御率や投球数、対戦成績などなど、労せずいくらでも数字が出てくる。これらはつまり過去だ。これらをもとにして野球のできない観戦者が次のバッターは打率がいくつだから、ピッチャーの防御率がいくつだから打てそうだとか言う。未来を予想するには、投手や打者の今現在の調子を考えなければならない。息づかいや間合いを見て感じなければならない。投球を見て、スイングを見て、総合的に判断しなければならない。観戦者は過去と現在から未来を予測する。中継には解説者はいるが、はっきり言って未来予測なんて全然しない。できるわけがない。不確定要素が多いからだ。例えば打球のミートが一瞬遅れるだけで1mm違うだけでボールの飛ぶ方向や距離が全然変わってくる。だから予想が当たらなくても誰も文句を言わない。

一方、将棋はどうだろうか。将棋は完全情報ゲームであり、未来がわかりすぎる。一つの局面で可能な手は多く見積もっても数百がいいところで意味のあるのはそのうち数手。その数手を連続した組み合わせでようやく人間の手の届かない複雑さになる。だから次の手の予想はある程度当たってしまう。いくら難しい局面でも10通りもあげれば次の一手はほぼその10の候補の中にあるだろう。だから指し手予想というのが成立するし、アマチュアもそれを解説に求めてしまう。まあ実際にはほとんど当たっていないのは野球と同じだが。けれど、指し手予想は難しくなりすぎる。頭の中で駒が動かない初級者は聞いてもわからない。大盤で駒を動かしても、「こうすると王手飛車がかかる」という局面ぐらいにならないと目で見ても二つの局面の比較ができない。

初級者という視点で見ると未来予測は難しすぎる。そこから一旦離れてみるのは悪くない考えだ。野球のように過去と現在をもっと分析することはできないだろうか。残念な話だが将棋は過去のデータを算出するのが難しい。一手ずつ交互に指す完全情報ゲームであるのでデータなどすぐ出そうなものだがこれがなかなか上手くいかない。序盤と中盤、終盤の区分さえ簡単にできないのだ。終盤でもその局面が一手違いなのか、二手違いなのかも十分な未来予測ができないとわからない。手番の判断さえ意外にも難しい。片方が攻め、片方が受けているときは簡単なのだが、手抜きで攻め合っているときはどう考えればいいのだろうか。攻めが有効かどうかを判断できないとつまり未来予測がある程度できないと手番を握っているのがどちらか判断するのも難しいときがある。
スコアボードは、過去と現在のみを表示していて未来のことを加味しないでいました。例えば一手先で王手飛車がかかるとしてもそのことはスコアボードに反映されることはないのです。それは実際に王手飛車をかけて飛車を取るまでは考慮に入れないというルールを決めたということです。1手先の王手飛車を考慮に入れてもいいのです。そういうルールを決めるなら。しかし、2手先3手先ならどうか駄目だとしたらその線引きはどういう理由でなされるべきなのでしょうか。それなら未来は一切考慮に入れないという原則を固めた方がすっきりすると思います。

現時点でなされているのは、同一局面、類似局面が過去にあったか、その勝敗はどうかというところ。これは序盤にしか使えないデータであるし、過去の実戦例から離れた途端に真っ暗闇である。あるいは、その棋士の矢倉の勝率がどうか、相懸かりならどうかなど。けれど昨今の分類の難しい戦型はどうしたらいいだろう。取り扱いやすいのは、短手数長手数の将棋の勝率や消費時間の使い方などか。どの種類の駒をどういう頻度で動かしているか平均を取り、各棋士の特徴を見るという調査がなされたこともあった。
とは言え、完全情報ゲームの割にあまりにも現在出てきているデータが少ない。「過去のデータによるとこの棋士の一手違いで負けている将棋の逆転率は25%です」などと言うことはほぼ不可能だ。単に逆転率と言おうにも、現在のほとんどの解説のように難しい難しいと連呼していてどちらが有利という合意が得られない以上、逆転も定義できない。それなのに「50年に一度の大逆転」などと言っていたりするのは不可思議と言うしかない。例えば「美濃囲いに組んだときの勝率」はどうだろうか。穴熊と比較してどうかなど考えればおもしろそうだ。だが、美濃囲いから穴熊に組み替えることもできなくはない。銀冠穴熊は銀冠に分類すればいいのだろうか、穴熊に分類すればいいのだろうか。そもそも囲いなんて無数にあるし、囲う途中で戦いが始まったらどう分類すればいいのだろうか。金銀の枚数で分類したらどうだろうかと考えてみてもやはり同じように玉から何マス目までを囲いと認めるかなどを考えると絶望的だ。そもそもそのデータに意味を見いだせるのだろうか。結局過去データの算出が最も容易なのは現物である駒の損得である。「中盤までに銀桂交換の駒損しているときの勝率は」といったところか。もちろん中盤の定義ができればの話だが。
野球はかなり細かくルールが決まっていて、安打がエラー出塁か野手選択など区別がつくし、きわどくても公式記録員が判断する。将棋でもそういう仕組みを作ってデータを積むのもアイディアとしてありかもしれません。
逆方向の考えとしては、ルールをぴしっと決めてしまって過去の棋譜データをプログラムを組んで解析すれば一瞬で、つまり有限時間で終わる作業ではあります。
例えば駒の交換度を定義します。駒を取ったときの駒の点数を先手後手双方を足し算します。歩交換すれば1+1で2点というように。それで累計をとれば、一局ごとに有意な数字が出てきます。激しい戦いならばその交換度は高くなり、厚みで押し切ったならば小さくなるでしょう。長手数の将棋では無意味に大きくなる可能性があるため、終局の手数で割り算して一手当たりの交換度を定義すればよりわかりやすくなるかもしれません。勝率と組み合わせれば、激しい戦いに強いのかどうかすぐわかりますよね。
例えば玉頭戦率を定義します。自玉と相手の玉が123筋、或いは789筋に両方ともあり、その中間の456段目で駒の交換された駒についてだけ抽出して、一手当たりのの交換度を求めて勝率を出せば、玉頭戦に強いのかどうかわかります。玉頭で動いた駒の数を出せば玉頭戦が長いのか短いのかわかります。
もちろんこれらは一局だけ取り出して論じられるものではありません。統計学的に有意な母体数がなければなりません。おそらく50局、100局程度のデータで傾向性は出てくるとは思います。さらに、これらの算出値は定義すれば、定義した数だけの数値が出てきます。統計はそこから何を言うか、何を見いだすかが大事で、自分の論理を補強するために新しい数値の定義を作るということが学問の世界では頻繁に行われます。学問の世界ではそういった試みが長い年月にわたって無数に積み重ねられてきました。プロ野球ではデータを収集するために公式記録員が存在し、データを解析する会社まで存在します。そういう意味で、完全情報ゲームで算出が容易であるにも関わらず、将棋界ではこの分野は立ち後れています。もちろん需要に見合った供給であった、つまりそんな需要が今までなかったということの裏返しなのかもしれませんが。

将棋というゲームをどう咀嚼するか。咀嚼したものを提示すれば理解が進むでしょう。未来予想も同じように咀嚼すれば伝わるかもしれない。けれど過去と現在の情報だけでも十分だと思います。それはつまり、観戦者が何を楽しむかです。少し極端な例ですが、どちらが勝つかあらかじめわかっていたら、楽しみが半減します。試合の結果のニュースを見ないで、試合中継のビデオを見るという話はよく耳にしますよね。未来がわからないから見るのが楽しいんです。上掲のスコアボードの例でも、互角という結論だけ見ていればいいという人はいないでしょう。それぞれの因子の差がわかれば駒の損得より陣形を重視する人は後手よしと思うかもしれない。何が言いたいか。観戦者はどちらが有利かという、答えを知りたいのではない。答えを考えるプロセスを楽しみたいのだ。自分のようなへぼは知ったかぶりでああだこうだ言うのが楽しいのだ。有段者は自分で手を読んで形勢判断をして判断材料を集めてきて形勢を判断して楽しむ。では初級者はどうだろうか。手を読めないし形勢判断もままならない。そういう人でも有段者と同じように自分で判断材料から形勢を判断するプロセスを踏んで楽しめないだろうか。初級者にとって未来予測を聞く行為は、答えを知る行為に近すぎる。現物である過去と現在の情報を咀嚼して提示すれば十分だと思います。そのための工夫がスコアボードと駒割グラフだったのです。


§4.指さない将棋ファンの新しい楽しみ方

今までの中継でなされてきた仕事は、主に次の二つに大別されるように感じます。

  1. 有段者向けの手の解説と、その解説を簡単に比喩などを駆使して初心者にもわかるように説明すること
  2. 盤側のサイドストーリーを伝えること

これはどうすれば将棋が普及するかという議論で出てくる大きく二つの意見と似ているように思います。

  1. もっと良い将棋を指せば、もっとおもしろい将棋を指せば。
  2. 盤側の例えばライバル関係をあおったり、魅力的な棋士を表に出せば、見た目をもっとカジュアルに格好良くすれば。

もちろんこれらが間違っているとは思いません。それは二つとも重要なことです。
そこにもう一つ足すことはできないでしょうか。つまり指さない将棋ファンでも将棋そのものを楽しめるようにすること。
1番の方向性は指さない将棋ファンの理解がどう頑張っても及ばないかもしれません。2番の方向性は必要なことですが、それだけなら将棋でなければならない理由が無く、芸能人やお笑い芸人に普通に負けてしまいます。
どうにか将棋をもっとわかりやすく伝えることはできないでしょうか。
勝又清和六段が将棋世界誌の講座で最新戦法をわかりやすく解き明かした。羽生将棋についてスローインなどといった新しい言葉を与え理解の手がかりを増やした。それは偉大な仕事です。おそらくある程度将棋のわかる層、おそらくファンがもっとも多い棋力の層にとって有益だったでしょう。
けれどもっと将棋をわかりやすくかみ砕き初心者にも将棋を楽しめるようにできないでしょうか。
将棋スコアボードと駒割グラフはそのための一つの試案でした。成果があったのかどうなのかはまだはっきりとはわかりません。もっと良い方法があると思います。別にこれらのアイディアを自分が最初に考え出したと主張するつもりもありません。アイディアの世界に生きている自分としてはこれにオリジナルを主張するのは少し気が引けます。もしどなたかがおもしろい、やってみたいと思うなら是非やってもらいたいです。それで感想なり反響を是非フィードバックしてくれれば、将棋界が一歩進めると思います。何か自分なりの工夫を加えてやってみてくれればそれは本当に嬉しいことです。
ルールしかわからない指さない将棋ファンでも難解極まりないプロの将棋そのものをもっと楽しめる方法がきっとあるはずです。盤側だけ楽しめばいいよ、有段者にならないとわからないよと門前払いしないでください。
将棋の門戸を解放できるならそれが一番の普及活動だと思います。