期待値と評価値の違い

引き続き、AIの話題で、僕がよく考えていること。

昨日のエントリの(※)で「期待値」という言葉を使ったんですがたぶんこれはかなり重要なキーワードで、いわゆる「アブストラクトゲーム」である将棋や囲碁にはない概念です。
AIの進化、という文脈で将棋がよく引き合いに出されるようになって久しいわけですが、将棋は理論上必ず解があるゲームなので、ある局面の勝率を期待値で表すということはできません。

実際にはイメージで「先手が55%ぐらい勝てそう」などと表現されることがよくあります。
これは局面ごとに固有の期待勝率があるわけではなく、あくまで自分ならこう考える、という類のもので棋士によって意見が異なることが普通です。
ついでに言うと、そのように自分なりに「考える」「判断する」ということはとても大切です。
将棋世界の「イメージと読みの大局観」というコーナーを思い浮かべると分かりやすいと思います。

将棋ソフトにおける「評価値」もこの類のもので、簡単に言えば、そのソフト自身の形勢判断を示しています。
すこし難しく定義づけすると「それをなるべく高める手を選び続けると結果として勝てることが多い数値」という感じでしょうか。
なぜそうなるのか、理由は人間には不明です。
たぶんAI自身にも不明なのではないかと思います。

そしてこの評価値というのは常に揺れていて、一定ではありません。
読みの深さを変えれば数字は変化するし、AI自身の進歩によっても変動します。
いまある「評価値」はその局面に固有のものではなく、むしろ将来的には必ず変わる(+1か0か-1になる)ことが約束されているものです。
叡王戦とかの放映のとき、評価値グラフが動き続けている絵をイメージすると分かりやすいと思います。

いっぽうバックギャモンにおける「期待値」というのは基本的には変動しないものです。
もちろんAIの進歩によってはじき出される数値に微妙な変化は生じるはずですが、ゲームの本質として、その局面ごとに固有の期待値が存在する、という点において。

バックギャモンの世界では、この局面の勝率は○%、という数字をソフトが示してくれます。
そして、ソフトとの指し手の乖離がトータルで小さいほど、強いプレイヤーであると判断されることが一般的です。
これはゲームの性質上、局面ごとに固有の期待値が存在し、なるべくその数値を高くするようにプレーすることが合理的だからです。
(もちろん実戦ではそれ以外にもいろんな要素・駆け引きが存在します)

将棋の場合、評価値の高い手が良い手である「場合が多い」のですが、これは実はゲームの本質からはかけ離れています。
局面ごとに固有に存在しているのは本来「解」であって「評価値」や「期待値」ではないからです。

 

以上、ちょっとややこしい話だったかもしれませんが、できるだけ平易に書いたつもりなので、ご質問やご指摘があればコメントいただければ幸いです。

ところで、なぜ評価値を高める手を選び続けると最終的に勝てるのか?
ブラックボックスではあるんですが、それを考え続けることで将棋の真理に近づいていける可能性は高いので、これからの棋士は評価値と(も)向き合っていかないといけないでしょうね。

10件のコメント

  1.  期待値は麻雀でよく扱われるように思えます。若い頃はよくそれで役を選択していたものです。
     が、ベースが確率ですから個人の技術が加味されるカーリングではどうなんでしょうね。

     過去の個人の実績が果たして統計上有為な変数になるんでしょうかねぇ・・。

     6面体を転がすバックギャモンとは違うのでは?

    1. なると思いますよ。
      ギャモンも人によってプレーは変わってくるけれど、それはいったん置いておいてマッチイクイティをベースに考えますし。

      1.  ちょっと簡潔に書きすぎましたか?

         カーリングの場合は投げる方+スイーピングがあるということです。
         ご覧になられたなら話は早いと思いますが、毎回毎回かなりバラバラで、その場や投げたストーンの状況によって変えていくわけで、統計としては非常に難しいと思います。

         こうした大きな変数が途中に介在するものについて、確率論が話してなじむのでしょうか、という考えです。

  2. 記事のタイトルを見た瞬間に胸がざわつく、とても関心のある視点です(笑)。

    バックギャモンの知識がないので、いまググっただけの理解ですが
    バックギャモンにおけるマッチイクイティは、「両者が勝率を最大限高めるための最善手を繰り返した場合に、サイコロの確率論的に自分が勝利する率」
    カーリングでは、「現局面と同じ状況の過去の実績統計から、自チーム側が勝利できた率」
    ついでに囲碁のモンテカルロでは、「現局面と同じ状況から大量にシミュレーションさせたときの、結果的に得られる自分の勝率」
    という違いがあるのですね。

    将棋では、AI同士の対局の場合、サイコロがないため、バックギャモン方式では評価は最終的には-1,0,+1に収束します。また、序盤を除けば「現局面」の過去の統計がほぼ得られないので、カーリング方式は使えません。囲碁方式も、計算量が膨大すぎて現実的ではありません。

    しかし、人間同士の対局の評価なら、「人間が選びがちな候補手」を確率分布として計算できれば、バックギャモン方式または囲碁方式で勝率を計算できる可能性があります。実際にはそれでも終局までの計算は膨大でしょうから、「現在の人間対局に対するコンピュータ評価値を、より人間としての期待勝率に基づく評価に近づける」くらいの応用が精一杯かもしれません。

    「人間が選びがちな候補手」というのは、もともと数年前までのAIがプロ棋士の棋譜から学習して目指していたものなので、技術的にはそれを確率分布に応用できるかどうかがポイントになりそうです。「次善手」と「人間が2番目に選びがちな手」は別物なので、難しそうでもありますが。

    具体的には、人間同士の「細い攻めをつないで、相手の応手には唯一の最善手で返して、最後に鬼手を放てば勝てるけど、それ以外は全部負け」という局面を、AIにどう評価してもらいたいか、という問題に行き着きますね。

    AI開発者の方、見ってるぅー(笑)?

    1. 最後の「AIにどう評価してもらいたいか、という問題」は、「AIが人間同士の局面を評価するには、評価値という1つの数値だけで表現するのは難しいかもしれない」と言い換えることもできます。

      確か、大合神クジラちゃんが観戦者向けに「候補手の樹形図を評価値の赤青濃淡と共に示す」という工夫をしてくれていて、例え現局面が自分にとって不利(赤)でも、相手の候補手の多くが自分に有利(青)に転じるなら、逆転の目がある、などと判断できます。これは特に人間同士の対局でこそ、逆転の目があると期待できるでしょう。

      樹形図は決して多くの視聴者にわかりやすい・見やすい表現方法だとは言えませんが、このような工夫が様々な開発者から提案されると、人間同士の対局でのAI評価が、プロ棋士の先生方の研究用としても、一般の観戦者の楽しみ方としても、より有用でおもしろいものになるんじゃないかと期待しています。

      1. 「相手が指し’そう’な手」とは何か?というところに行きつきそうですね。とても興味深い視点だと思います。

        「直感とは何か」のエントリとも通ずる話だと思います。
        つまり「第一感で候補手として浮かび上がってきやすい手」がまずあって、それ以外に「考えているうちにたどり着く手」もあれば「一生思いつかない手」もある。
        しかもそれは棋力や棋風によっても異なってくる。
        AIがそういったことも考えることができるようになるのかどうか。

        最善手を示すよりもはるかに難しいのは間違いないところでしょうね。

        >人間同士の局面を評価するには評価値という1つの数値だけで表現するのは難しいかもしれない
        はまさにその通りだと思います。

        1. 数年前までのAI将棋は「プロ棋士の棋譜」が教師データだったので、それらの目指していたのは「プロ棋士がもっとも指しそうな手(好みそうな形)」だったと言えます。次善手などを含めた確率分布まで算出できるかどうかはともかく、「プロ棋士の棋譜に頼らずAIの考える最善を追求した手」と「プロ棋士の棋譜データのみを元にした、プロ棋士がもっとも指しそうな手」に違いが出る場合は、人間同士の対局においては既存の評価値方式ではカバーしきれない局面だと言えそうです。

          (それこそ極端な例ですが、アマチュア級位者同士の対局を評価するにあたっては、級位者の棋譜のみを教師データとすることで、プロには決して通用しないような「ハメ手」を、「正しく返されるとダメだけど、たぶん通用するので勝率自体は高そう」のように評価できるかもしれません)

          話は戻って、「先手のA棋士ならこう指しそう」という個人の棋風に即した評価にまで踏み込めるかどうかは、未知の部分が大きそうです。「棋風の再現」は、AI将棋において、棋力とは別の、それなりに注目度の大きなテーマだと思いますが、まだ成功例と言えるものはありませんね。これは棋士個人の棋譜データが、AIの機械学習に用いる規模としては少なすぎるのが最大の要因ですが、しかし先述の「違いが出る場合」を特徴データとして捉えるとか、棋士Aが指しそうな手を一手ではなく複数候補手の確率分布として算出する前提であれば、まだまだ分野として模索する余地がありそうな気がしています。

          (ほぼ、AI将棋開発者向けのコメントになってしまいました(笑))

          1. 書いてて思いましたが、「(既存の)評価値」と「期待勝率」の二軸で示すのが、情報量とわかりやすさを兼ね備えたバランス解かもしれませんね。

            さきほどのアマチュア対局のハメ手の例では「評価値-700だけど期待勝率75%」とか、プロ同士の終盤の非常に難解な局面だと「評価値+3000だけど期待勝率55%」などと示せそうです。場合によっては、残りの持ち時間も期待勝率に反映させてもいいかもしれません(笑)。

          2. 連投すみません。
            「先手のA棋士なら」まで含めてしまうと、究極的には初型の段階でも評価に差が付いてしまうので、プロ同士の公式戦の生中継に用いるのはまずそうです(苦笑)

          3. 棋風に関する研究は数年前ちょっとした実験に協力したことがありました。その後も静かに進行中なのではないかと思います。
            また期待勝率を彼我のレーティングと残り時間から算出することはある程度の確度では可能なのかなと思います。
            ただ評価値との関係はかなり難しいでしょうね。逆に言えば、それが実現したらすごいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です