マスター帯なんて天上界だから興味関心も薄いんだけど、毎日のようにMRが上がった下がったは見かけるじゃん。
わたしのTLにいるひと、ほぼマスターしかおらん。どうなっとる。

で、MRの上下の話はともかく、あの数字がいくつだとどのくらい強いのか、ってのは数学的に表現できる世界だってのはご存知かと思う。イロレーティングの概念もけっこう浸透してきていると思うし。

サッカーもイロレーティングで表現されてる世界で、見ると下の方はかなりエグい数字になっている。わたしが見たタイミングだと日本は1800超えてて、世界的にみると強い方なんだなーとわかる。

100差があると勝率どう違う?

ΔRはプレイヤーBのレーティングからプレイヤーAのレーティングを引いた値(つまりレーティング差)。1500と1600だったら100が入って、400で割る。
はあ。そうっすか。

  • 100ポイント差:P(A)=11+1.7780.36P(A)=1+1.7781​≈0.36
  • 200ポイント差:P(A)11+100.50.24P(A)≈1+100.51​≈0.24
  • 300ポイント差:P(A)11+100.750.15P(A)≈1+100.751​≈0.15
  • 400ポイント差:P(A)11+1010.09P(A)≈1+1011​≈0.09
  • 500ポイント差:P(A)11+101.250.05P(A)≈1+101.251​≈0.05

ポイントの差を勝率に置き換える計算式ってのがあるらしく。
上のがそれなんだけど、何書いてあるかわたしは読めない。
イロレーティングは「高い信頼性をもつレーティングシステムである」までは知ってるが、どういう根拠かとかはぜんぜん分かってない。そもそもマスター帯にいないから関係ないし。
うーん、Pythonで考えないと無理です。
自前で考えるもんでもないので、GPTに聞いてみる。

def calculate_win_probability(rating_a, rating_b):
    # 勝率を計算するための公式を使用
    probability_a_wins = 1 / (1 + 10 ** ((rating_b - rating_a) / 400))
    return probability_a_wins

# レーティング差を計算する例
rating_a = 1500
rating_b = 1600

# 勝率を計算
probability = calculate_win_probability(rating_a, rating_b)
print(f'プレイヤーAの勝率: {probability * 100:.2f}%')

# 100ポイント刻みで500ポイント差までの勝率を計算
for diff in range(0, 501, 100):
    probability = calculate_win_probability(1500, 1500 + diff)
    print(f'レーティング差が{diff}のときのプレイヤーAの勝率: {probability * 100:.2f}%')

あーそう。差を400で割るところがミソなのね。
で、100差があると、強い側の勝率が64%、200差になると76%にもなる。
スト6のレートは試行回数が莫大なので、とくにこの辺の数字の信頼度は高いと思ってよい。
なのでマスター上がりたての人は実質的には計測フェーズがいるからおいとくとして、1600の人が1700に挑む場合は、そのくらいの勝率がベースであるって意識があるとメンタル的にはプラスなんだろなと思う。
いつかこういう世界で一喜一憂する身分になってみたいものだが、うまくいけば再来年くらいかなあ。
アレックスに壊されてプラチナに戻るかもしれんけども。

コメントを残す

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