大根のひとりごと

対戦ゲーム @D_con0223

レート

レートで勝率がどうのとか、より少ない対戦数でどうのというのをたまに見かけます。
私はそういうもので実力を推し量ろうとするのはいかがなものかと思っているので、それを主張すべくシーズン10のレート帯別人口をもとにシミュレータを作りました。
あるプレイヤーAさんはシーズン10で最終レートが2100だったとします。このシーズン10のレートをそれぞれのプレイヤーの実力とみなし、Aさんが色々な条件下でレート対戦を行い、どのようなレート、勝率、順位となるかを見ていきます。注意すべき点は、どのケースも全て同じ実力のAさんというプレイヤーが出した結果である、ということです。
数が多すぎて時間がかかりそうだったのでプレイヤーは1/10の人数としました。結果として2100のAさんは実際のシーズン10の2100よりも優れたプレイヤーになっています(この世界だと12位)が、それはこの話の本質ではないので無視します。
以下の実験の試行回数は全て100回です。便宜上1回の試行をシーズンと呼びます。面倒なのでグラフに単位はつけていません。

ケース1

まずはシーズン開始と同時に全てのプレイヤーが100戦行った際の結果を出します。
100戦した時点で、ほぼ全てのシーズンで2100まで到達していないことが分かります。勝率は60%代前半が多く、順位は7割程度が60位以内でした。


ケース2

次に、200戦行った場合はどうなるでしょうか。
2300を超えることもしばしば出てきました。一方で勝率は60%程度に下がっています。当たり前ですが、レーティングシステムは対戦数を重ねるほどに勝率が50%に近づくようにできています。順位の分布は100戦のころとさほど変わっていません。


ケース3

さて、他のプレイヤーが100戦終えた後に1500のAさんが参加し、そこから皆で50戦した場合はどうなるでしょうか。
すごく強そうな見た目になりました。現実はこれよりもう少し勝率、レートが下がるはずですが、最初の100戦より、レート、勝率、順位が全て改善されています。


ケース4

他のプレイヤーが100戦終えた後に皆で100戦した場合が以下になります。
レート、順位が上がった一方、勝率は下がっています。


ケース5

時間がかかりそうだったのと半分悪ふざけだったのでワンシーズンしか行いませんでしたが、
すべてのプレイヤーが1000戦した場合、そのシーズン1位のプレイヤーはレート3400で勝率56.9%、Aさんはレート2993で勝率54.5%の17位でした。


最初にも言いましたが、この5ケースは全て同じ実力のプレイヤーが出した結果です。勝率で実力を判断しようとした場合、この5ケース全てが同じ実力であると見抜くことができるでしょうか。
対戦数をこなすほど勝率が下がる上に、どのタイミングから始めたか、という点も勝率に影響してしまいます。勝率から実力を判断するには、この目には見えない要素を加味しなければならないことになります。
また、絶対的なレートの高さだけで判断するとシーズン5のAさんが圧倒的に強いプレイヤーとなってしまいます。
一方で、順位に関しては、おおむね20位以内に集まっています。対戦数を増やせばその分本来の実力である12位に近づいていき、ノイズが少なくなっていきます。また、他プレイヤーの対戦数が増えてもこのようなノイズが載る割合が減っていきます。

一つのシーズンで全てのプレイヤーの対戦数の合計が最も高くなるのはいつでしょうか。シーズン終了時です。
つまり、実力を判断するもっとも明快な指標は、シーズンの最終順位となります。相対的なレートの高さと言い換えてもよいでしょう。
勝率を使って実力を判断するのはそれ以外の複数の(一部は手に入れることすら難しい)情報を組み合わせる必要があり、しかもそれら情報を全て得たとしても相当に難しい計算をする必要があるでしょう。私はそこそこ統計とか好きな人間ですが、そんなのやってられないと思いますし、何より単一で十分に実力の指標としての役目を果たす(相対)レートがあるのにわざわざやる意味が分かりません。