Skip to content
Go back

IIDXとEZ2ONのスコア率を相互換算する

Published:  at  19:00

IIDXとEZ2ONは判定幅もスコア計算も異なるため、スコア率をそのまま比較することは難しいです。 そこで、入力タイミングのズレが同じ分布に従うと仮定し、そのときに両ゲームで期待されるスコア率を計算して相互に換算します。

なお、計算や数式の整理にはChatGPTを利用しています。 自分は統計に詳しいわけではないため、考え方や計算に誤りがあった場合はご容赦ください。

前提

入力タイミングのズレを XX とし、平均0msの正規分布に従うと仮定します。

XN(0,σ2)X \sim N(0, \sigma^2)

ノート数は十分に多いものとし、スコア率は期待値で計算します。

これは実力そのものの換算ではなく、入力タイミングのズレだけを同じ標準偏差でモデル化した場合のスコア期待値の換算です。 EARLY/LATEの偏り、曲中でのブレ、認識難による外れ値などは考慮しません。

判定幅は以下を参照しました。

IIDXの判定と配点

判定範囲(ms)点数
PGREATX16.67\lvert X \rvert \le 16.672
GREAT16.67<X33.3316.67 < \lvert X \rvert \le 33.331
SIIDX=P(PGREAT)+0.5P(GREAT)S_{\mathrm{IIDX}} = P(\mathrm{PGREAT}) + 0.5P(\mathrm{GREAT})

EZ2ONの判定と配点

EZ2ONの計算では、各判定の実際の点数ではなく、KOOLを1としたときのスコア率への寄与として扱います。 つまり、KOOLを100%、COOLを70%、GOODを20%として計算します。

判定範囲(ms)スコア率への寄与
KOOLX22\lvert X \rvert \le 221
COOL22<X5522 < \lvert X \rvert \le 550.7
GOOD55<X11055 < \lvert X \rvert \le 1100.2
SEZ2ON=P(KOOL)+0.7P(COOL)+0.2P(GOOD)S_{\mathrm{EZ2ON}} = P(\mathrm{KOOL}) + 0.7P(\mathrm{COOL}) + 0.2P(\mathrm{GOOD})

標準正規分布による計算

標準正規分布の累積分布関数を Φ\Phi とします。 Φ(a)\Phi(a) は、標準正規分布に従う値が aa 以下になる確率を表します。

入力タイミングのズレ XX を標準偏差 σ\sigma で割って標準化したものを ZZ とします。

Z=XσZ = \frac{X}{\sigma}

このとき、ZZ は平均0、分散1の標準正規分布に従います。

ZN(0,1)Z \sim N(0, 1)

このとき、

P(aZa)=2Φ(a)1P(-a \le Z \le a) = 2\Phi(a)-1

です。 したがって、XXXa\lvert X \rvert \le a に収まる確率は、ZZZa/σ\lvert Z \rvert \le a/\sigma に収まる確率として計算できます。

IIDX側の確率

PGREAT率

P(PGREAT)=2Φ(16.67σ)1P(\mathrm{PGREAT}) = 2\Phi\left(\frac{16.67}{\sigma}\right)-1

GREAT率

P(GREAT)={2Φ(33.33σ)1}{2Φ(16.67σ)1}P(\mathrm{GREAT}) = \left\{2\Phi\left(\frac{33.33}{\sigma}\right)-1\right\} - \left\{2\Phi\left(\frac{16.67}{\sigma}\right)-1\right\}

したがって、

SIIDX=P(PGREAT)+0.5P(GREAT)S_{\mathrm{IIDX}} = P(\mathrm{PGREAT}) + 0.5P(\mathrm{GREAT})

EZ2ON側の確率

KOOL率

P(KOOL)=2Φ(22σ)1P(\mathrm{KOOL}) = 2\Phi\left(\frac{22}{\sigma}\right)-1

COOL率

P(COOL)={2Φ(55σ)1}{2Φ(22σ)1}P(\mathrm{COOL}) = \left\{2\Phi\left(\frac{55}{\sigma}\right)-1\right\} - \left\{2\Phi\left(\frac{22}{\sigma}\right)-1\right\}

GOOD率

P(GOOD)={2Φ(110σ)1}{2Φ(55σ)1}P(\mathrm{GOOD}) = \left\{2\Phi\left(\frac{110}{\sigma}\right)-1\right\} - \left\{2\Phi\left(\frac{55}{\sigma}\right)-1\right\}

したがって、

SEZ2ON=P(KOOL)+0.7P(COOL)+0.2P(GOOD)S_{\mathrm{EZ2ON}} = P(\mathrm{KOOL}) + 0.7P(\mathrm{COOL}) + 0.2P(\mathrm{GOOD})

換算方法

片方のゲームのスコア率を指定し、そのスコア率を満たす σ\sigma を数値的に求めます。 求めた σ\sigma をもう片方の式に代入して換算します。

たとえば、IIDXのランクAAAの場合、

890.888888...88.8888...%\frac{8}{9} \simeq 0.888888... \simeq 88.8888...\%

です。

SIIDX=89S_{\mathrm{IIDX}} = \frac{8}{9}

を満たす σ\sigma を、以下のPythonコードを使って求めます。

import math


def Phi(x):
    return 0.5 * (1 + math.erf(x / math.sqrt(2)))


def p(a, sigma):
    return 2 * Phi(a / sigma) - 1


def iidx(sigma):
    return p(16.67, sigma) + 0.5 * (p(33.33, sigma) - p(16.67, sigma))


def ez2on(sigma):
    return (
        p(22, sigma)
        + 0.7 * (p(55, sigma) - p(22, sigma))
        + 0.2 * (p(110, sigma) - p(55, sigma))
    )


def inv(fn, target):
    lo, hi = 1e-9, 1000.0

    for _ in range(200):
        mid = (lo + hi) / 2

        if fn(mid) > target:
            lo = mid
        else:
            hi = mid

    return (lo + hi) / 2


sigma = inv(iidx, 8 / 9)
score = ez2on(sigma)

print(sigma)  # 13.298675800799273
print(score)  # 0.9705623411040285

この結果、

σ13.30ms\sigma \simeq 13.30\mathrm{ms}

となり、

SEZ2ON0.9705697.06%S_{\mathrm{EZ2ON}} \simeq 0.97056 \simeq 97.06\%

となります。

換算結果

IIDXからEZ2ON

IIDXスコア率IIDXスコア率(%)σ\sigma(ms)EZ2ON換算備考
6/96/966.6666%約24.41ms約87.77%IIDX A
6.5/96.5/972.2222%約21.41ms約90.37%IIDX AA- / EZ2ON S相当
7/97/977.7777%約18.63ms約92.71%IIDX AA
7.5/97.5/983.3333%約15.97ms約94.92%IIDX AAA- / EZ2ON S++相当
8/98/988.8888%約13.30ms約97.06%IIDX AAA
8.5/98.5/994.4444%約10.42ms約98.96%IIDX MAX- / EZ2ON S+++相当

EZ2ONからIIDX

EZ2ONスコア率EZ2ONスコア率(%)σ\sigma(ms)IIDX換算備考
1090000/11000001090000/110000099.0909%約10.16ms約94.91%EZ2ON S+++ / IIDX MAX-相当
1080000/11000001080000/110000098.1818%約11.72ms約92.02%
1070000/11000001070000/110000097.2727%約13.01ms約89.47%IIDX AAA相当
1060000/11000001060000/110000096.3636%約14.19ms約87.06%
1050000/11000001050000/110000095.4545%約15.32ms約84.70%EZ2ON S++ / IIDX AAA-相当
1037500/11000001037500/110000094.3181%約16.70ms約81.79%
1025000/11000001025000/110000093.1818%約18.07ms約78.93%EZ2ON S+
1012500/11000001012500/110000092.0454%約19.43ms約76.15%
1000000/11000001000000/110000090.9090%約20.77ms約73.46%EZ2ON S / IIDX AA-相当

実際には、EZ2ONの表示スコアには判定によるスコアに加えてコンボボーナスが含まれます。 コンボボーナスはコンボ数がそのまま点数に加算されるため、この計算では表示スコアからコンボボーナスを引いた値を判定由来のスコアとして扱います。 その判定由来のスコアを1100000点満点に対するスコア率に直して換算します。

以下では、500、1000、1500、2000コンボ達成時の表示スコアを、コンボボーナス加算前のスコア率に直して計算します。

500コンボ達成時

EZ2ON表示スコアスコア率(コンボボーナス加算前)スコア率(コンボボーナス加算前)(%)σ\sigma(ms)IIDX換算備考
10900001089500/11000001089500/110000099.0455%約10.25ms約94.75%EZ2ON S+++ / IIDX MAX-相当
10800001079500/11000001079500/110000098.1364%約11.79ms約91.89%
10700001069500/11000001069500/110000097.2273%約13.07ms約89.35%IIDX AAA相当
10600001059500/11000001059500/110000096.3182%約14.25ms約86.94%
10500001049500/11000001049500/110000095.4091%約15.37ms約84.58%EZ2ON S++
10375001037000/11000001037000/110000094.2727%約16.76ms約81.68%
10250001024500/11000001024500/110000093.1364%約18.12ms約78.82%EZ2ON S+ / IIDX AA相当
10125001012000/11000001012000/110000092.0000%約19.48ms約76.04%
1000000999500/1100000999500/110000090.8636%約20.82ms約73.35%EZ2ON S

1000コンボ達成時

EZ2ON表示スコアスコア率(コンボボーナス加算前)スコア率(コンボボーナス加算前)(%)σ\sigma(ms)IIDX換算備考
10900001089000/11000001089000/110000099.0000%約10.34ms約94.59%EZ2ON S+++ / IIDX MAX-相当
10800001079000/11000001079000/110000098.0909%約11.86ms約91.76%
10700001069000/11000001069000/110000097.1818%約13.13ms約89.23%IIDX AAA相当
10600001059000/11000001059000/110000096.2727%約14.30ms約86.82%
10500001049000/11000001049000/110000095.3636%約15.43ms約84.46%EZ2ON S++
10375001036500/11000001036500/110000094.2273%約16.81ms約81.56%
10250001024000/11000001024000/110000093.0909%約18.18ms約78.71%EZ2ON S+ / IIDX AA相当
10125001011500/11000001011500/110000091.9545%約19.53ms約75.93%
1000000999000/1100000999000/110000090.8182%約20.88ms約73.25%EZ2ON S

1500コンボ達成時

EZ2ON表示スコアスコア率(コンボボーナス加算前)スコア率(コンボボーナス加算前)(%)σ\sigma(ms)IIDX換算備考
10900001088500/11000001088500/110000098.9545%約10.43ms約94.44%EZ2ON S+++ / IIDX MAX-相当
10800001078500/11000001078500/110000098.0455%約11.93ms約91.63%
10700001068500/11000001068500/110000097.1364%約13.19ms約89.10%IIDX AAA相当
10600001058500/11000001058500/110000096.2273%約14.36ms約86.70%
10500001048500/11000001048500/110000095.3182%約15.49ms約84.34%EZ2ON S++
10375001036000/11000001036000/110000094.1818%約16.87ms約81.45%
10250001023500/11000001023500/110000093.0455%約18.23ms約78.60%EZ2ON S+ / IIDX AA相当
10125001011000/11000001011000/110000091.9091%約19.59ms約75.82%
1000000998500/1100000998500/110000090.7727%約20.93ms約73.14%EZ2ON S

2000コンボ達成時

EZ2ON表示スコアスコア率(コンボボーナス加算前)スコア率(コンボボーナス加算前)(%)σ\sigma(ms)IIDX換算備考
10900001088000/11000001088000/110000098.9091%約10.51ms約94.28%EZ2ON S+++ / IIDX MAX-相当
10800001078000/11000001078000/110000098.0000%約12.00ms約91.50%
10700001068000/11000001068000/110000097.0909%約13.25ms約88.98%IIDX AAA相当
10600001058000/11000001058000/110000096.1818%約14.42ms約86.58%
10500001048000/11000001048000/110000095.2727%約15.54ms約84.23%EZ2ON S++
10375001035500/11000001035500/110000094.1364%約16.92ms約81.33%
10250001023000/11000001023000/110000093.0000%約18.29ms約78.48%EZ2ON S+ / IIDX AA相当
10125001010500/11000001010500/110000091.8636%約19.64ms約75.71%
1000000998000/1100000998000/110000090.7273%約20.99ms約73.04%EZ2ON S

統合表

σ\sigma(ms)IIDXスコア率EZ2ONスコア率備考
約10.16ms1090000/11000001090000/1100000 (99.0909%)EZ2ON S+++
約10.25ms1089500/11000001089500/1100000 (99.0455%)EZ2ON S+++(500コンボ)
約10.34ms1089000/11000001089000/1100000 (99.0000%)EZ2ON S+++(1000コンボ)
約10.42ms8.5/98.5/9 (94.4444%)IIDX MAX-
約10.43ms1088500/11000001088500/1100000 (98.9545%)EZ2ON S+++(1500コンボ)
約10.51ms1088000/11000001088000/1100000 (98.9091%)EZ2ON S+++(2000コンボ)
約11.72ms1080000/11000001080000/1100000 (98.1818%)EZ2ON 108万
約11.79ms1079500/11000001079500/1100000 (98.1364%)EZ2ON 108万(500コンボ)
約11.86ms1079000/11000001079000/1100000 (98.0909%)EZ2ON 108万(1000コンボ)
約11.93ms1078500/11000001078500/1100000 (98.0455%)EZ2ON 108万(1500コンボ)
約12.00ms1078000/11000001078000/1100000 (98.0000%)EZ2ON 108万(2000コンボ)
約13.01ms1070000/11000001070000/1100000 (97.2727%)EZ2ON 107万
約13.07ms1069500/11000001069500/1100000 (97.2273%)EZ2ON 107万(500コンボ)
約13.13ms1069000/11000001069000/1100000 (97.1818%)EZ2ON 107万(1000コンボ)
約13.19ms1068500/11000001068500/1100000 (97.1364%)EZ2ON 107万(1500コンボ)
約13.25ms1068000/11000001068000/1100000 (97.0909%)EZ2ON 107万(2000コンボ)
約13.30ms8/98/9 (88.8888%)IIDX AAA
約14.19ms1060000/11000001060000/1100000 (96.3636%)EZ2ON 106万
約14.25ms1059500/11000001059500/1100000 (96.3182%)EZ2ON 106万(500コンボ)
約14.30ms1059000/11000001059000/1100000 (96.2727%)EZ2ON 106万(1000コンボ)
約14.36ms1058500/11000001058500/1100000 (96.2273%)EZ2ON 106万(1500コンボ)
約14.42ms1058000/11000001058000/1100000 (96.1818%)EZ2ON 106万(2000コンボ)
約15.32ms1050000/11000001050000/1100000 (95.4545%)EZ2ON S++
約15.37ms1049500/11000001049500/1100000 (95.4091%)EZ2ON S++(500コンボ)
約15.43ms1049000/11000001049000/1100000 (95.3636%)EZ2ON S++(1000コンボ)
約15.49ms1048500/11000001048500/1100000 (95.3182%)EZ2ON S++(1500コンボ)
約15.54ms1048000/11000001048000/1100000 (95.2727%)EZ2ON S++(2000コンボ)
約15.97ms7.5/97.5/9 (83.3333%)IIDX AAA-
約16.70ms1037500/11000001037500/1100000 (94.3181%)EZ2ON 103.75万
約16.76ms1037000/11000001037000/1100000 (94.2727%)EZ2ON 103.75万(500コンボ)
約16.81ms1036500/11000001036500/1100000 (94.2273%)EZ2ON 103.75万(1000コンボ)
約16.87ms1036000/11000001036000/1100000 (94.1818%)EZ2ON 103.75万(1500コンボ)
約16.92ms1035500/11000001035500/1100000 (94.1364%)EZ2ON 103.75万(2000コンボ)
約18.07ms1025000/11000001025000/1100000 (93.1818%)EZ2ON S+
約18.12ms1024500/11000001024500/1100000 (93.1364%)EZ2ON S+(500コンボ)
約18.18ms1024000/11000001024000/1100000 (93.0909%)EZ2ON S+(1000コンボ)
約18.23ms1023500/11000001023500/1100000 (93.0455%)EZ2ON S+(1500コンボ)
約18.29ms1023000/11000001023000/1100000 (93.0000%)EZ2ON S+(2000コンボ)
約18.63ms7/97/9 (77.7777%)IIDX AA
約19.43ms1012500/11000001012500/1100000 (92.0454%)EZ2ON 101.25万
約19.48ms1012000/11000001012000/1100000 (92.0000%)EZ2ON 101.25万(500コンボ)
約19.53ms1011500/11000001011500/1100000 (91.9545%)EZ2ON 101.25万(1000コンボ)
約19.59ms1011000/11000001011000/1100000 (91.9091%)EZ2ON 101.25万(1500コンボ)
約19.64ms1010500/11000001010500/1100000 (91.8636%)EZ2ON 101.25万(2000コンボ)
約20.77ms1000000/11000001000000/1100000 (90.9090%)EZ2ON S
約20.82ms999500/1100000999500/1100000 (90.8636%)EZ2ON S(500コンボ)
約20.88ms999000/1100000999000/1100000 (90.8182%)EZ2ON S(1000コンボ)
約20.93ms998500/1100000998500/1100000 (90.7727%)EZ2ON S(1500コンボ)
約20.99ms998000/1100000998000/1100000 (90.7273%)EZ2ON S(2000コンボ)
約21.41ms6.5/96.5/9 (72.2222%)IIDX AA-
約24.41ms6/96/9 (66.6666%)IIDX A

Share this post on:

Next Post
ATOKのキー設定ジェネレータ