もはや試合をするまでもない? AIが勝敗を76.7%の精度で予測してしまう時代
- 海外プレイヤーがAIモデルを作成し、ドラフト前のプレイヤー情報だけで76.7%の勝敗予測精度を達成。MMRの機能性に疑問を投げかけた。
- ランクのみで76.7%の勝敗予測が可能だった一方で、ランク+ドラフトでは74.7%、ドラフトのみでは52.8%と精度が大きく落ちた。
- 微小なランク差やチーム構成の偏りにどのような差がでるかなど、検証、改善の余地が指摘されている。
「LoLの勝敗はプレイじゃなくてマッチングの時点で決まっているんじゃないか……?」
そんな疑問に正面からぶつかった海外プレイヤーが、ついにAIモデルを作って証明に乗り出した。
しかも予測精度は、驚異の76.7%。これはもう、LoLの根幹を揺るがすレベルかもしれない。
以下、海外の天才の発表を紹介しよう。
要約:AIはドラフトが始まる前から76.7%の精度で、ゴールド/プラチナ帯の勝敗を予測できる。むしろ逆に、ドラフトの情報を考慮すると74.7%に落ちるけど、学習元のデータが比較的少ないから、まぁ大目に見てあげる必要があると思う。
本文
tfbladeが勝率98%のスマーフアカウント第28号を持ってきたとき、「このゲームって始まる前から勝敗決まってないか?」と思ったことはないか?
お前は一人じゃない!みんな同じだ!
俺の名前はKyle。グランドマスターのTOP/ADCメインだ。
そもそも、高レートのソロキューは、チャレンジャー上位のプロとマスターが対面するような、ロード画面の時点で勝敗がわかっているようなものばっかりだ。そして14分で3000Gは不利を背負っている。
ということで、俺は「このゲームに負けたのは俺のせいじゃない!!」と証明するため(みんなそうするよね?)AIモデルを開発することにした。
俺は先日、この記事を見たんだ。

偶然だが、俺もこの数週間前にAIモデルの開発に取り組み始めたんだ!俺のモデルと上の記事の大きな違いは、各選手の個人ランクを考慮する追加機能があることだ。
そして、俺のモデルはNAソロキューのゴルプラ帯では76.7%で勝率をドラフト前からランクだけで予測できることが分かった!
ここで疑問なのは、より良い試合にするためのシステムだったはずの”MMR”がちゃんと機能しているか?ということだ。
チャンピオンセレクトの前からこんなに正確にAIが予測できているのなら、均衡した試合を作るためのMMRってちゃんと機能していないんじゃないか??
具体的な分析方法
RiotのAPI制限のせいで、3万試合しかデータを学習できなかった。その中から無効なデータや重複している試合を除くと2万1000試合くらいだ。1万5000試合はソロキュー、2000試合はフレックス、4000試合ノーマルドラフトから取った。
ソロキューのランクがゴルプラの人をランダムに集めて、パッチ15.7の試合を抜き出した。各ゲームでプレイヤーのソロキューランクを参照した。もしアンランクがいたら、参加試合のプレイヤーの平均レートを見た。
データは機械学習で有名な80/10/10分割という手法を使い、単純なニューラルネットで構成した。
結果は非常に興味深い!
結果
各プレイヤーのランクのみを参照したソロキュー勝敗予測:76.7%的中
ランクとドラフトの両方を参照した勝敗予測:74.7%的中
ドラフトのみを参照した勝敗予測:52.8%的中
もちろん、俺がすでに述べたようにサンプル数が比較的少ないから、ドラフトを考慮したモデルが少し負けてしまったのだと思う。
そして、ゲームモードをごちゃまぜに学習するとわずかに精度が落ちた。これは俺も驚いたことで、何ならノーマルの方が対面とのランク格差が大きいことが多いから予想も簡単だと思ったらそうではないらしい。
学習元のデータでフレックスとノーマルが少なかったから、これらのモードを予測するのは少し苦手になったようだ。
もう1つの要因としては、ソロキューのランクしか参照しなかったことだな。ソロキューのランクからは、より連携して動いているであろうフレックスの実力は、少し正確に測りかねるのかもしれない。
ソースコード:https://github.com/ksavino1/league_winrate_model
反応
- ゲームが始まった瞬間のランクを参照したのか、それともそのモデルを構築して解析したときにプレイヤーが到達しているランクを参照したのか?もし後者だったら、そこから試合を重ねてランクに結果が出ているだろうから、これはだいぶ偏っているぞ。
- OP:お前の言うとおりだ。RiotのAPIは今このとき、現在の時点におけるランクを表示する。つまり、平均MMR1800の試合に今は2100のプレイヤーがいたとしたら、当時は1800くらいだったけど最近かなり勝ち越したってことで、予想が偏るってことだな。
モデルの実際の性能をざっくりと見積もるために、ランダムに選んだプラチナ帯の2人のOP.GGを見て、直近30試合を手動で検証してみた。OP.GGは試合当時のランクを表示するため、この問題を回避できる。
結果として、モデルの正解率は76.7%だった。このときの片側検定のp値は0.002611。
つまり、「相関がある」ことは間違いないが、その相関の強さがどれほどかは不明。おそらく、当初提示していた76.7%よりは低い可能性が高い。
- OP:お前の言うとおりだ。RiotのAPIは今このとき、現在の時点におけるランクを表示する。つまり、平均MMR1800の試合に今は2100のプレイヤーがいたとしたら、当時は1800くらいだったけど最近かなり勝ち越したってことで、予想が偏るってことだな。
- これ、賭けのサイトがあるんだから禁止するべきだな。
- まぁ、NAのゴルプラゲームで賭けをする奴がいればの話だけどな。
- 俺はデータに関する仕事をしているものだが、2万1000試合は、明らかな落とし穴(特定のプレイヤーばかりがサンプルに含まれてるとか、チャンピオン差の影響が大きいとか)を避けるには十分だと思う。76%という数字は、正確ではないだろうけど、傾向を示すには十分なはずだな。
俺が気になるのは、微小なランクの差に対してモデルがどう反応するかだな。例えば、全員同じランクだが、1人だけ違うランクがいるとか。あとは、「プラチナ1が1人だけいるけど、残り全員プラ3か4vs全員プラチナ2から4」とか。
- 全然驚かないな。チャンピオンセレクト画面でプレイヤーの名前が隠れていなかったときは、味方の履歴を調べて、チャンピオンごとの平均勝率と、どこオプじゃないかどうかをチェックするだけで試合の結果は正確に予測できただろ?
この方法で高確率の負けをドッジすることはできたし、ランクを上げるのに有効だった。だから名前が見えなくなったんだ。
普通のプレイヤーでさえこんなことができるんだから、AIだったらもう……ね。
LoLはデータゲーとはよく言われるが、AIの登場によってさらに気軽にデータの恩恵を得られるようになった。しかし、どこか寂しさも感じてしまう。読者諸賢の感想もぜひお聞かせ願いたい。
担当:いちずなイブリン
Source:AI can predict the winner of 76.7% of your games before draft even begins! Is the MMR system broken?
AI活用はえーアイディアでござる。
おすすめ関連記事



コメント
素人が作ったAIでも勝敗を高精度で予測できてしまうのに
この手のAIを用いて勝率が均等になるようにマッチングしないriotの技術力
この人に頭下げて拝借させてもらえよ
管理人コメントもAIに出力してもらえーあい
AIに予想させるのなんてよそう