2015年11月4日の第1期叡王戦準々決勝(山崎隆之八段vs塚田泰明九段)のメールコーナーで、興味深いメールが読まれましたのでご紹介します。
叡王戦や電王戦、一部のタイトル戦等では、ニコニコ生放送の解説においてコンピュータ将棋ソフトの「評価値」を表示することがあります。しかし、時としてその数字が人間の感覚とは大きく異なるものになってしまうことが見受けられると思います。
それに対する改良提案です。
この日の解説は将棋電王戦FINALでAWAKEを破った阿久津主税八段、聞き手は貞升南女流初段でした。
評価値と勝ちやすさ
そのメールは、以下の様な内容でした。
「評価値」と「勝ちやすさ」についての質問です。
コンピュータ同士と、人間同士の将棋ではミスの出る頻度が違うというお話が(この日行われた阿久津八段の自戦解説中に)ありました。「勝ちやすい」というのは多少のミスでは形勢を損なわないということかと思います。
ソフトの評価値は、ソフトが先手後手の両者の最善手とみられる手を指し続けた結果だと思います。だとすれば、ランダムに悪手や緩手を織り交ぜた結果の評価値を併記すれば、「勝ちやすさ」や「逆転のしやすさ」を表現できるはずです。
観戦にも便利かもしれません。このような方法は可能だと思いますか?(海外男性)
これは質問というより、提案だと思いました。
先日の竜王戦でも、コンピュータソフトの評価値が中終盤に大きく揺れることがありました(以下の記事の途中に評価値の推移も記載してあります)。
人間が見れば、それほど不自然にも悪手にも見えない一手で評価値が大きく揺れるのは、面白くもありますが、どこまで信用すればいいのかわからなくもなります。
コンピュータと人間の違い
この質問に対する阿久津八段の返答。
今のソフトは、薄い玉とか頓死しそうな形とかでも突っ込んでくるが、人同士だと安全勝ちする手を選ぶことがある。
人間は「危ない橋を渡って1000点が1300点になる手」より、玉が安全になるなど「1回ミスしても有利が持続できる手」を選びたいと思う。計算しやすい方を選ぶ。そういうところをコンピュータもできるようになると、人に応用しやすいと思う。
コンピュータも一手読み違いがあると評価値がガクッと変わっちゃうこともある。コンピュータも頓死を食らったり逆転負けすることも少なからずある。
前述のとおり阿久津八段は今年開催の将棋電王戦FINALに出場しており、コンピュータ将棋に詳しい棋士の一人。質問に直接答えたわけではありませんが、人間とソフトの感覚の違いについてわかりやすい説明でした。
逆転しやすさ
この話を聞くと、今のソフトの評価値の表示方法だと、おなじ「1000点」でも「多少緩手を指しても有利を持続できる1000点」や「一手最善手を指さなかっただけで逆転される1000点」がある、ということが言えそうです。
なので、ソフトが「1000点」と言っても、人間の感覚では「まだまだわからない」ことがあるんだと思います。
マリオカートで言うと「平坦なコースで5秒リードしている時」と「吊橋ばかりでいかにも落下しそうなコースで5秒リードしている時」では逆転の発生しやすさが異なるはずですが、現在のコンピュータソフトの評価値では単に「5秒リード」としか表現できない、ということだと思います。
評価値はソフトが最善手だと思って読んだ先の局面の形勢を、評価関数を使って計算した数値なので、想定する局面からずれた時に、どのぐらい数字が揺れるか、というのが「逆転のしやすさ」という指標になりそうです。
ソフトで表現できるか
質問者の方が提案された「ランダムに悪手や緩手を織り交ぜた数値を併記する」という方法が良いかはわかりません。
「ランダムに」というのが難しいところで、局面によって悪手の出やすさが異なるからです。「絶対間違えない局面」や、逆に「間違えやすい局面」というのがあると思うので、「間違えやすい局面」のところでは悪手が出る確率を高めに調整する、といった工夫が必要そうです。
そう考えると、そもそも「人間が間違えやすい局面」かどうかをソフトが判断できるようにする、という研究から始める必要がありそうです。
また、「プロ棋士なら間違えない」「アマチュアでも間違えない」「羽生善治名人なら間違えない」とか、棋力によって間違える可能性も異なるので、それらも勘案する必要があるかもしれません。さらに、阿久津八段が言うようにコンピュータソフト自身が間違えている可能性も考慮する必要もあるかもしれません。
ただ、「逆転しやすさ」という指標を数値化する試みは面白そうだと思いました。
人間に応用
この「逆転のしやすさ」の研究が進めば、どのような利点があるかを考えました。
一つは、質問者の方が言うように、プロの対局の観戦において役に立つかもしれません。解説の棋士の方がおっしゃるような「評価値は差がついているが、勝負はまだまだわからない」という言葉を代弁する存在になるかもしれません。
もう一つは、また阿久津八段の言う「人に応用しやすい」ということなのかなと思いました。これは、将棋の勉強や指導対局のことだと思います。
指導対局などに使える?
今、市販されているコンピュータ将棋ソフトの中には「指導対局」として最善手を教えてくれるソフトがありますが、これまで述べたようにソフトの考える「最善手」と、人間にとっての「最善手」が異なる場合があります。
また、よく棋書などにも書いてある「初心者の方はこの指し方がおすすめ」みたいに、棋力によって「良い手」が異なる場合があります。それは、優勢な時の「逆転のされにくさ」だったり、一手ミスをしても致命的に悪くならない指し方だったりすると思いますが、上記のような評価値の表示方法に関する研究の成果が、応用できそうな気がします。
以上です。質問者の方、阿久津八段、有意義な質問と回答をありがとうございました。
コメント
とても面白い質問でしたね。もうすぐ行われる電王トーナメントの放送で、きっと開発者の方々の見解が聞けると思ってます!
コメントありがとうございます。
はい、私は以前からコンピュータ将棋ソフトについてただ強いばかりではなくて、活用しやすいような開発が進めばいいと思っていましたので、このような質問は興味深かったですね。開発者の方に聞けるといいですね。
こんにちは。
逆転しやすさですが、比較的簡単に表現できるかなと思います。
一つは、激指の検討画面のように、次善手以下も表示すること。
次善手の評価が最善手から離れていれば逆転しやすい、3番手くらいまで大差ないようなら安定、という判断が簡単につきそうです。
shogiGUIでapery使用の場合、設定でmaltiPVの値を2以上にすれば、読みが浅くなるデメリットはありますが、次善手以下が表示されます。
これについては、ドワンゴにも工夫して欲しいなと。
二つ目としては、ソフトの予想手順が解説者の感覚に全くないときでしょうか。
示されてああ、というときはそれが唯一の筋の場合のようですか、そうでないときは、というやつですね。
これを確かめるためにも、やはり次善手以下の表示とその評価値表示は欲しいですね。
管理人さんこんにちは。いつも楽しませて頂いております。
> この話を聞くと、今のソフトの評価値の表示方法だと、おなじ「1000点」でも「多少緩手を指しても有利を持続できる1000点」や「一手最善手を指さなかっただけで逆転される1000点」がある、ということが言えそうです。
この差の表現は阿久津先生や管理人さんがおっしゃる通りなかなか難しそうですね。マリオカートの喩え分かりやすかったです!
悪手の出易さの判定も難しいのですが、こうなってくると「点の読み」ではなく、「線の読み」のようなことになり、これもまた難しいかと考えます。ある程度は探索の深さでカバーできるのかもしれません。でも、10手後に難しい(間違え易い)局面になっているかどうかは当面の評価値が同じ1000点でもそれからは今のところ表現できていない様に思います。悩ましいです。いつかどうにか表現が出来て有効活用できればいいですね。
宮嶋様:
こんにちは。コメントありがとうございます。
次善手以下の表示というのも1つ方法かもしれませんね。
それの読み方については工夫がいるかもしれません。現在の評価値だと例えば200点ぐらいで歩1つ分、500点を超えるとやや優勢、2000点を超えると勝勢、のように感覚で表現できますが、逆転しやすさでは最善、次善、3番手がどれぐらいの数字だったら「プロ的に逆転のしようがない」といえるのか、など研究がいりそうです。
またそれが本当に逆転のしやすさを表現するのにふさわしい指標であるかも、検証が必要かと思います。例えば下の方も指摘されるように現局面での最善~3番手だけでなくn手先での最善~3番手も考慮する必要はありそうです。
とはいえ、今すぐ容易にできそうな手段としては、次善手表示は有効だと思います。
それに加え、二番目のプロの感覚との一致を見るのは有効だと思いますね。いずれにしても評価値にように逆転の指標も500とか1000とか数値化されるためには研究が必要そうです。
応援中様:
こんにちは。コメントありがとうございます。応援ありがとうございます。
マリオカートのたとえは、阿久津八段の「危ない橋を渡る」という言葉から連想しました。なんとなくですが、将棋の対局を何かの競争に例えるのは直感的にわかりやすい気はしていました。
そうですね、ある一点をもって評価するのではなくて、その周辺も考慮して評価し表示する手法があると面白いと思います。
上にも書きましたが、私はそろそろ将棋ソフトが人間に勝つとか強いのを目指すだけではなくて、活用方法についてのアイディアで競争するのが良いと思っています。
今年の世界コンピュータ将棋選手権でSeleneが持将棋宣言勝ちをしました。このことが栄誉であるように、活用方法のアイディアと実装も栄誉として讃えられたらいいのかなと思っています。
皆様コメントありがとうございます。
管理人さま、いつも楽しくニュース拝見しております。
実は数日前阿久津先生への質問をした者です。と、ここで書いても信じていただけるのか。笑。とにかく・・・
取り上げて頂いてありがとうございます!
ニコ生でメール読んで頂くと嬉しいんですが、ワンストップさまに取り上げて頂くのは重ねて嬉しかったです。
管理人さまに書き起こしていただくと、メールの内容がわかりやすくなったと思います。細かいことかもしれませんがカギ括弧を分かりやすく使って頂いて、私がニコ生に送ったメールもそうすればよかったですね。管理人さまの文章がわかりやすいのはいつものことですが流石だとおもいます。全体の構成もわかりやすいです。
さて私のメールは、質問ではなく、意見、投書、提案ではないかというコメントが生放送中にありまして、管理人さまもおっしゃる通りその通りだと思います。内容が(読み上げられただけでは特に)難しいのも事実で、「よくわからない」、「質問する相手が違う」というコメントがあって少々申し訳ないと思いました。が、興味を持って下さった方が少なからずおられたようで、また阿久津先生も果たして詳しかったので、これはコレでよかったのかと今は思えます。
あと、局面によって悪手の出やすさが異なる点など、まだまだどういう方法がよいのかわからないのはご指摘の通りだと思います。そもそも可能なのか。「勝ちやすさ」「逆転のしやすさ」といった指標を数値化する試みは意欲的ですが、きっとこうしてワンストップさまのページに載ったことで、この分野に詳しい方もそうでない方にもつながっていけば幸いです。
今思うと、ひょっとしたらその界隈(人工知能など?)ではもうすでに研究テーマになってたりするのかもしれません。察するに『選手権用』の将棋ソフトは「逆転のしやすさ」を考えてない(?)のでそれは別のテーマなのでしょう。ニコ生で登場するソフトが選手権用なのか人間用にチューニングされているのかよく知らないですが。きっとソフトの視点では逆転のしやすさを考えても勝率があまりあがらないのでしょうか。ニコ生のコメントでも阿久津先生の解答にも頓死を回避できるからいいという点も挙げられましたが、難しい問題ですね。
長々と書いてしまいました。
サイトの運営、陰ながら応援していきたいと思います!
コメントありがとうございます。メールのご本人様からのコメント、驚きましたが運営の励みになるようなコメントでありがとうございます。
この記事のような話題は興味を持つ方が多いと思います。そのきっかけとして、あのメールがありました。
特に叡王戦で日常的に評価値を目にするようになり、その信頼性、それ自体の是非、人間との感覚の違いについて、ニコ生視聴者の方々も日々考えながら視聴しているものと思います。
あのメール質問は難しいものであったかもしれませんが、多くの方は趣旨は理解されたと思います。
阿久津八段もあの場ですぐに答えられる範囲で答えられ、良かったと思います。
そしてご指摘の通り、人工知能分野での研究課題として重要そうな気もします。
私がいつも将棋ソフト(弱いやつですが)と指していて思うのは、人間との対局と違って一方的な展開になりやすいということです。電王戦を見ても人間が勝つ時は一方的な展開が多かったかと思います。
つまり局面を複雑にするとか、間違いやすい局面に誘導するとかはまだできないんだと思います。したがって現在の主流のソフトは逆転のしやすさは考慮されていないと推定します。
これもご指摘の通り、ソフト同士の対局だとそれが意味をなさないのかもしれません。このような推察に通じることも含め、有意義な質問だったと思います。ありがとうございました。
サイトの応援ありがとうございます。
そもそも、評価値っていうのはソフト自身が自分の指し手を決めるために計算しているもので、有利不利の基準としてはあくまで副産物としてそういう使い方もできるってくらいのことですよね。
なので、人間同士で指している場合の有利不利を図るためにもっと適切な指標を考えよう、っていうのはとても自然な考えであるし、将棋ソフトを一線で開発している人がそっちの方面でも何か貢献してくれたらいいなと思います。
コメントありがとうございます。
そうですね、ソフトの指し手の選択のための数字ということで、人間の対局の形勢判断専用ではないことは確かですね。一方で、記事中にも書いたような市販されているコンピュータ将棋ソフトなどでは、その評価値をウリにしているというか、評価値をもとに優勢、劣勢の判断をして「指導対局」しているものもあって、仰る通りそろそろ現在の評価値より適切な指標があっても良い時期なんだと思います。将棋ソフト開発もそういう段階に来ていると思いますね。ご意見ありがとうございます。