対戦シミュレーション環境で分析してみよう

2026-09-07 · 簡易版 · 技術版は 「対戦シミュレーションの理論と分析」

前の記事 「ランキングの良さはどうすれば測れる?」 で、評価指標には弱点があると書きました。では、その弱点はどうやって確かめたのでしょうか。答えは「本当の実力が分かっている仮想の世界を作った」です。この記事はその世界の作り方と、そこで分かったことを説明します。

概要
この記事の流れ
  1. なぜ仮想の世界が必要か
  2. 世界の作り方
  3. 指標の答え合わせで分かったこと
  4. ランキング方式について分かったこと
  5. シードを組んだ側が有利に見える仕組み
  6. 限界と、現実のデータへの示唆
  7. まとめ

1. なぜ仮想の世界が必要か

現実の大会では、選手の本当の強さは誰にも分かりません。分かるのは結果だけです。だから「このランキングは正しいか」を直接は確かめられず、「結果をどれだけ当てたか」で代用するしかありません。前の記事で説明した評価指標は、全部この代用品です。

代用品が信用できるかを調べるには、正解を知っている状況が要ります。そこで、選手一人ひとりに「本当の強さ」の数字を最初に決めてしまった世界をコンピュータの中に作ります。この世界では、試合の勝ち負けはその数字にもとづくサイコロで決まり、大会も本物のトーナメント表で進みます。ランキング方式にはこの世界の大会結果だけを見せて (本当の強さは見せずに) 順位を作らせ、その順位を「本当の強さの順」と比べれば、どの方式が本当に良いかが分かります。

すると次の 3 つが答え合わせできます。

さらに、現実では試せないこともできます。「シードをでたらめにしたら」「大きい大会に強い人が集まらなかったら」「平日大会がみんな本気だったら」。条件を 1 つだけ変えて同じ世界を回し直せるのは、仮想世界だけの強みです。

2. 世界の作り方

選手と勝率

選手を 2000 人用意し、それぞれに本当の強さの数字を割り当てます。多くの選手は平均付近、ごく少数がとても強い、という山なりの分布です。試合の勝率は 2 人の強さの差で決まります。差が 0 なら 50%、差が 1 なら約 73%、差が 2 なら約 88% です。この決め方は、チェスのレートやスマブラの直対評価でも使われている、ごく標準的なものです。

用語: サイコロで決める

強い人が必ず勝つ世界にはしません。勝率 73% の試合は、10 回やれば 3 回は弱い側が勝ちます。現実のアップセット (シードが下の選手が上の選手に勝つこと)もこの「運」で起きるので、仮想世界でも同じように運を入れます。

大会

週に 3 回くらいの頻度で大会を開きます。参加者は 16 人から 512 人で、小さい大会ほど多く、大きい大会は少なめです (現実の分布に合わせています)。誰が参加するかはくじ引きですが、後で説明するとおり「強い人ほど大きい大会に来る」ようにもできます。

大会は本物のダブルエリミネーション (敗者側のあるトーナメント) で進めます。勝者側の何回戦で負けたら敗者側のどこに落ちるかは、start.gg (大会運営サービス) の実際の規則と同じにしてあり、16 通りの人数で本物のトーナメント表と一致することを確かめました。上位 8 人からは 3 本先取です。最終順位も本物と同じ形 (1, 2, 3, 4, 5, 5, 7, 7, ...) で付きます。

現実らしさのオプション

単純な世界だけでは「現実と違うから」と言われて終わります。そこで、現実で起きていそうな現象をスイッチで足せるようにしました。

それぞれをつけたり消したりして、指標や方式の結論が変わらないかを調べます。

ランキング方式

この世界の結果を、次の方式に学習させます。SPSP の本番の計算そのもの (順位評価と直対評価を組み合わせたもの、および順位評価だけ、直対評価だけ)、素の Glicko-2、素の Elo、対戦の記録全体から一度に強さを推定する方式、順位ポイント方式の JJPR、です。どの方式も「その大会が始まる前までの結果」だけを見て予想し、大会が終わってから結果を学習します。現実の運用と同じ順番です。

3. 指標の答え合わせで分かったこと

指標の正しさ

「ペア一致率 (PA)」「上位シード勝率 (FWR)」「アップセット幅 (ULG)」「順位のズレ幅 (MASPR)」は、本当に良い方式にちゃんと高い点を付けました。一方、「アップセット 1 件あたりの大きさ」や「予想の自信と結果の対応」を測る指標は、世界の条件によっては良い方式と悪い方式を取り違えました。取り違える指標ほど、現実に近い条件で取り違えました。

指標の感度

完璧なランキングに少しだけノイズを混ぜた「少し悪い」ランキングを作り、指標がその差に何大会で気づくかを測りました。「アップセット幅 (ULG)」は 30 大会 (1〜2 か月分) で 8 割の確率で気づき、「上位シード勝率 (FWR)」はその 3 倍近く、「予想の自信と結果の対応」を測る指標は 2 年分集めても足りませんでした。同じ現実を見ているのに、ものさしの選び方だけで「1〜2 か月で分かる」と「2 年で分からない」に分かれます。

指標の公平さ

これは次の 5 節で詳しく書きます。結論だけ言うと、最終順位を見る指標はシードを組んだ側に甘く、勝敗を見る指標とアップセット幅 (ULG)は甘くありません。

4. ランキング方式について分かったこと

順位評価は、なぜ現実で強いのか

現実のデータでは、SPSP の順位評価 (大会の順位からポイントを作る方式) は素の Glicko-2 と互角以上に当たります。ところが単純な仮想世界では、順位評価は Glicko-2 にはっきり負けました。試合の勝ち負けを全部見られるなら、順位に丸めた情報は不利なはずで、それは当然です。

では現実の順位評価の強さはどこから来るのか。現象のスイッチを 1 つずつ入れて調べたところ、答えは「強い人ほど大きい大会に来る」でした。このスイッチを入れたときだけ、順位評価がぐんと当たるようになり、Glicko-2 との差が半分に縮み、現実と同じように「組み合わせ方式が直対評価だけより当たる」も再現されました。順位評価は「128 人の大会で 9 位」を「16 人の大会で 1 位」より高く数えます。この重み付けが、大きい大会には強い人が集まるという現実の構造を情報として取り込んでいたわけです。疲れや敗者側の気持ちなど他の現象では、順位評価は復活しませんでした。

週末だけ本気の世界

「平日大会は練習」のスイッチを入れた世界では、平日の試合を直対評価から外す方式 (SPSP ではこれを週末ゲートと呼んでいます) が、外さない素の Glicko-2 より精度の劣化が半分で済みました。この仕組みの価値を数字で示せたのは初めてです。

100 人以上の大会だけの世界

すべての大会を 100 人以上にした世界では、どの方式も精度が大きく上がり、指標の感度は 3〜5 倍になりました。また、強い人ほど大きい大会に集まる世界で、大きい大会だけに絞って測ると、普段は運と区別がつかない「トップ 50 の並び」の違いも検出できました。実データでトップ帯を評価したいなら、大きい大会だけに絞るのが正解、という示唆です。

5. シードを組んだ側が有利に見える仕組み

前の記事で書いた「順位を見る指標はシードを組んだ側に甘い」を、仮想世界で正面から確かめました。

実験

SPSP の本番方式が自分でシードを組む世界を作りました。毎大会、それまでの結果で SPSP を計算し、その並びでトーナメント表を組み、大会を回し、また学習する、という繰り返しです。そこで各方式の「本当の良さ」(本当の強さの順との一致率) と「観測された良さ」(ペア一致率 (PA)など) を比べました。

結果

本当の良さでは Elo が SPSP の直対評価だけより 2 ポイント上なのに、観測されたペア一致率 (PA) では直対評価だけのほうが上に見えました。優劣が逆転したのです。素の Glicko-2 が SPSP に対して持つ 4 ポイントの差も、観測では 3 分の 1 に縮みました。勝敗を見る指標では逆転は起きませんでした。

この歪みの大きさを測る方法も作りました。「本当の良さは全く同じで、シードとは無関係に作ったランキング」を用意して、シードを組んだ方式と比べます。良さが同じなので、観測値の差はまるごと「シードを組んだこと」の効果です。この方法で、シードを組む方式を SPSP、JJPR、直対評価、Elo、本当の強さ、と取り替えて測ると、次のことが分かりました。

最後の点が仕組みの説明になります。盛られる正体は「シードの見誤りを、方式が共有していること」です。シードに見誤りがなければ共有しようがないので、誰も盛られません。学習型の方式はシードを組んだ方式と同じ結果から学ぶので見誤りの向きが似やすく、似ている方式ほど得をします。

現実の日本の大会のシードは、多くが JJPR をもとにスタッフが調整して組まれています。順位を見る指標で JJPR や、JJPR に似た方式 (SPSP の順位評価もそうです) が良く見えるときは、この効果を差し引いて読む必要があります。

おまけ: でたらめなシードでも少し当たる

完全にでたらめなシードで表を組んでも、ペア一致率 (PA) は 50% ではなく 52.5% になります。参加者が半端な人数だと上位シードに不戦勝が配られ、不戦勝の選手は最下位の集団に入らないからです。参加人数が 2 のべき乗ちょうどの大会だけで計算すると 50.0% に戻ります。「でたらめよりは当たっている」の合格ラインは 50% ではなく 52% くらいに置くべき、という教訓です。

6. 限界と、現実のデータへの示唆

仮想世界には限界もあります。本当の強さを 1 つの数字で表しているので、「トーナメントを走る力」のような試合の強さ以外の実力があるなら、それは正解側に入っていません (現象のスイッチで一部は入れましたが、全部ではありません)。世界の細かい設定 (強さの散らばりや大会の規模分布) も現実と完全には同じにできません。ですから仮想世界で分かるのは「指標や方式の性質」であって、「現実の数値そのもの」ではありません。

それでも、指標の使い分けの根拠ができたこと、順位評価が強い理由が分かったこと、シードを組んだ側が有利に見える仕組みとその大きさが分かったことは、現実のデータを読むときに直接役に立ちました。実際、現実の 4 シーズンの評価で「順位を見る指標だけが良くなったと言う変更」を見つけて設定を改め、UltRank との比較で集計期間の影響を切り分けられたのは、この仮想世界の結果があったからです。

まとめ

世界の定義式、各方式の実装、測定の定義、数表と追試は 「対戦シミュレーションの理論と分析」 にあります。