カーリング科学におけるAIアプローチとは
カーリング科学におけるAIアプローチとは
山本雅人│北海道大学大学院 情報科学研究院
カーリングにおけるデータ分析の現状と人工知能(AI)技術によるアプローチについて概観する。得点差と残りエンド数から期待勝率を算出した勝率テーブルの有用性、および任意のポジションからそのエンド終了時の期待得点分布を予測するAIモデルについて説明し、戦術支援への応用可能性について解説する。
セーバーメトリクスをカーリングで
私は北海道札幌生まれの札幌育ちで、人工知能の基礎的な部分である機械推論を専門としてきましたが、最近では人工知能に加えて人工生命やゲーム情報学を専門にしています。
バックギャモンというゲームがAIの成功例としてよく知られており、私自身は2003年に日本チャンピオンを経験しています。バックギャモンAIの考え方は、カーリングと結びつくのではないかと着目し、カーリングの研究にバックギャモンの研究を応用しておりました。現在、カーリングをコンピュータシミュレーションでAI解析をする他に、研究室では生命知能の理解と創造という様々なテーマで研究してます。また、2023年から女子カーリングのトップチームの一つであるフォルティスというチームのデータアナリストに就任しチームサポートをしています。
まずはAIとは関係ないですが、Win Probability Charts(勝率テーブル)と言われているもので、トップチームの試合経過に基づいて分析しています。
ここでのデータ分析は、一言で言うと、野球におけるセイバーメトリクスです。野球分析で有名な例で、送りバントをした場合としていない場合の比較をする議論があります。一般的には送りバントは期待得点を下げるので全く有効ではないですが、ただ一点だけ取れば勝ちになるシチュエーションでは、状況によっては送りバントは有効な戦略だと示されています。カーリングでもこういう話をできないかというのが基本的なモチベーションです。
カーリングの勝率テーブル
例えば今、こちらは4対5で負けている状況です。あと残り2エンドあります。点数を取った側が次のエンドは不利な先攻になりますが、このときの先攻側の期待勝率はどれくらいでしょうか。(表1)
カーリングをよく知ってる人の感覚では、この次に先攻だとかなり不利な状況だとはわかりますが、具体的にどれくらいの勝率になるのかは意外と知られていません。それを勝率テーブルを利用して、我々が分析しています。
図1が、我々がトップチームの平均的なデータを統計的に処理した勝率テーブルです。エンドが進むにつれて、得点差に応じてどれくらいの勝率になるか、を、次のエンドが先攻側の期待勝率として示しています。
先ほどのシチュエーションは、残り2エンドで次が先攻で1点差で負けてるという状況です。残り2エンドの列を上に見て、得点差は-1の所を見ると、その交点は9.2と出ます。
つまり、今1点差で負けていて、残り2エンドというシチュエーションでは実は9.2%しかトップチーム同士の戦いだと勝てないと出ます。おそらく、皆さんの印象からしてもかなり低いんじゃないでしょうか。選手たちでも、ここまで低いとは思ってる人は少ないです。
この勝率テーブルに沿ってみると、意外な数字になってるものが色々あります。これがかなりカーリングを科学する上で非常に重要な概念になっています。
後攻の場合は図2のようなテーブルになります。1番左の数字を見てわかるように、カーリングは後攻を取っただけで、勝率が6割になるというスポーツです。
勝率テーブルからAIへの取り組み
勝率テーブルの考え方をベースとして、カーリングのAIの取り組みをしています。カーリングの特徴は交互にプレーをして、基本的に相手のプレー中は自分たちはプレーできません。
自分たちは相手にとって嫌なことをして、相手は自分たちの嫌なプレーをしてくるということで、先読みが必要です。これは実はスポーツの中で非常に珍しい性質です。こういう性質は考えてみると、将棋や囲碁に近いと感じる人がいらっしゃるかもしれません。将棋とか囲碁と根本的に違うことは、将棋の場合は歩をここに指しますとなったら、子供でも誰でも歩を動かすことができますが、カーリングの場合は、ここに石を置きたいとなっても、それが確実にできるとは限りません。ですので、将棋とは少し違った考え方をしなければいけませんが、基本的には将棋のAIの考え方を使えると思います。
最終的には、図3のように、ある局面があったときに、今の優劣で勝率が出てきたり、エンドの終わりでどれくらい点を取っていそうか予想することで、有利、不利を見られたりできることを目指しています。
シミュレーションの名前としては、デジタルカーリングと言われており、電気通信大学の伊藤先生の研究室で開発されています。超高速シミュレーションで、何投も投げたり、何百試合もすることができます。
前述の通り、カーリングは不確実性を含む、思い通りにならないことがあります。例えば、図4のように黄色い軌道で理想的には印の場所に置きたいとしても、実際投げた場合に黒い点の場所に行ってしまうなど、分散します。
特にこの縦方向の調整が難しいので、縦方向にばらつきます。こういうふうに、あるプレーに対して不確実性を考え、特に技術を持ったトップチームのデータを参考にして、この黒い点の分布をこちらで仮定します。
つまり、2次元の正規分布の確率分布みたいなものを考えます。その確率分布に従って、ある程度はそれがぶれることもモデルの中に組み込んで分析します。本来は、各選手の特徴によって確率分布を変えなければいけませんが、そこまではまだ行っていません。
カーリングをAIで分析する時の1番のポイントとなる点を説明します。今、図5の左側と右側の二つの局面があります。左側は石が四つあって、黄色二つと赤二つがハウスの中に入っている局面。右の方は赤一つしか入っていない局面です。
こういう時に、このエンドの終了時に何点取れているかを予測したいと考えています。もちろん色々なパターンがあり得ますが、ある程度お互いに最善手となるプレーをした時に、例えば左のシチュエーションだとどのようになるかを予想します。グラフの+2や+3という2点か3点取る確率が高いですが、-2や-1の確率も高くなっています。つまり相手に点数を取られるケースもあることを表しています。こういう得点分布を予測できれば、このシチュエーションというのは実はリスクが高いポジションだとわかります。2点か3点を取れるけれど、3点ぐらい取られてしまう可能性があります。期待得点はその合計値の0.7点くらい取れそうだという事を示しています。右の方はシンプルなシチュエーションなので、ほとんどの場合で、こちらが1点取ることが予測できます。
左側と比べると点数を取られる危険は少なく、2点3点は取れないけど1点は取りやすい。しかし、右側の期待得点は0.66点なので、期待得点を高めようとすると実は左側のシチュエーションの方が良いということになります。逆に1点取れたら勝ちという場面では右側のようなシチュエーションの方が良いということがわかります。
また、勝率テーブルをうまく利用することで、実際のこの局面の勝率を計算できます。様々な局面に対しての得点分布をAIで予測することがベースになります。
例えば残り2投ずつ投げるシチュエーションを100万局面程度用意し、AI学習させて得点分布を予測します。実際には、ニューラルネットワークを使ってストーンの位置を入力し、確率を得点分布として出力するようなネットワークを作ります。
例えば、図5の局面に対して残り1投の場合、この右側のような得点分布になりますが、このようなケースを100万局面用意して、それをニューラルネットワークに学習させると、似たようなポジションでもかなり精度の高い予測ができるようになります。(図6)
最終的に残り1投から残り15投までの局面に対するニューラルネットワークを作ります。そうすると、例えば最初の1投を投げたら残り15投の局面を評価して最善のものを選ぶという形で、AIが戦術を判断します。
そうすると全く戦術を教えていなくてもAIが人間のプレイヤーもとるような戦術をとるようになりました。
Q&A
Q. まず一番重要なこととして、カーリングはAIに相談してもいいんですか、ルール上は。
A. 試合中に支援を受けることは駄目です。
Q. 山本先生はデータアナリストとして支援しているけれど、実際にゲーム中にサポートすることはできない立場で、選手が様々なケースを自分で学んで、頭の中に記憶してる限りにおいては合法的なんだけど、その勝率テーブル、ペーパーを見るとカンニングになるということですね。
そうすると、将棋などがAIでトレーニングしてるように、カーリングのプレーがこれから変わっていく、創造性を生み出すトレーニングに即役立つというイメージでしょうか?
A. そうですね。いわゆる定石は教わりますが、どうしてそれが有効なのかはなかなかピンとこない部分です。しかし、AIでの思考過程を見ると、得点分布が見えてくるので、納得も早いように思います。
Q. 将棋で言うと、AIが出る前は、過去に実際にあった棋譜を参考にして、マスターしていくということが第一だったと思います。AIが出てからは、今までに無い棋譜がシミュレーションの結果として、新しい手をAIが教えてくれるみたいなことがあると思います。
そういう観点で言うと、カーリングも、実際は体感が必要だった戦術が、シミュレーションだけ見ることで、学んでいけると言う、画期的な仕組みができたんだというふうに思います。
A. 精度の点ではまだまだ課題がありますが、そういう枠組みとしては、出来上がってきています。これを突き詰めていけば、新しい、いわゆるAIが作った新手が出てくる可能性は十分あると思います。
Q. 基本的にAIが提示するデータはシミュレーションの結果に基づいていますが、例えばトップ選手が投げた場合の確実性と、素人が投げる場合の確実性は全然違うと思います。AIはどのレベルの確実性、誤差の起こり方がモデルになっているんでしょうか?
A. 現状はトップ選手に近いです。
Q. つまり、シミュレーションが実現できる可能性のあるトップ選手が投げる石を前提にしたシミュレーションモデルだと言うことですね。全部をプロ選手が投げれたら、どういうことが起こってるかを解析してるような感じですね。最高度のプレーヤーをイメージしてるんですが、狙い通りに投げられたかと言うデータは、経験値から来てるんですか?
A. 私が設定してます。プロ選手のショットの分布を、普段の試合を見ながらトップ選手のパラメータを設定します。
Q. なるほど。パラメータを、選手毎に応じてシミレーションするようなことはできるのですか?
A. 究極的にそこまで含めて対策することはできますがなかなか大変です。
Q. 今後に期待しています。相手の技量なども取り入れてくのはどこかのタイミングでしなければならないところですね。
最後になりますが、最初の勝率テーブルはオリンピックや世界レベルのトップチームのものを基盤にしていましたが、今後はシミュレーターのデータから勝率テーブルを作ることはあるのでしょうか?
A. もちろんそうです。微妙に点数は違いますが、AIを使ってシミュレーションして勝率テーブルを作っても、同じような数字になります。そういう意味ではカーリングのゲームとしての性質が得られているので、シミュレーションが有効であることを示していると思います。
▶本稿は2023年8月8日(火)に開催されたスポーツ産業アカデミー(ウエビナー)の講演内容をまとめたものである。