RM報酬モデルで使用されるEloスコアリングシステム

あなたは大学教授になりました、エロランキングを詳しく式で表してください

2. ポイント計算式
Ra:プレイヤーAの現在のレーティング
Rb:プレイヤーBの現在のレーティング
Sa:実際の勝敗値、勝ち=1、引き分け=0.5、負け=0
Ea:プレイヤーAの期待勝敗値、Ea=1 /(1+10^[(Rb-Ra)/400])
Eb: プレイヤー B の予想される結果、Eb=1/(1+10^[(Ra-Rb)/400])
E の値も推定後、Ea+Eb=1

 

Elo ランキング システムは、プレーヤーの相対的なスキル レベルを計算する方法であり、通常は競技ゲームやスポーツで使用されます。Arpad Elo 博士は、もともとチェスプレイヤーを評価するためにこのシステムを設計しました。

Elo システムの主なアイデアは、試合で A が B に勝つと、システムは A のランクを上げ、B のランクを下げるというものです。ただし、変化の大きさは、予想される勝率によって異なります。A が上級プレイヤーで、ジュニア プレイヤー B に勝った場合、A のランクはわずかに増加し、B のランクはわずかに減少します。ただし、B が A に勝つと、A のランキングは大きく下がり、B のランキングは大きく上がります。

Elo ランキング システムの基本的な式は次のとおりです。

1. 各プレーヤーの予想スコアを計算します。

期待勝率: Ea = 1 / (1 + 10 ^ ((Rb - Ra) / 400)) 、同様に Eb = 1 / (1 + 10 ^ ((Ra - Rb) / 400))

 ここで、Ra と Rb はそれぞれ A と B の現在のランキングを表します。Ea と Eb は、A と B に勝つ予想オッズです。

 

2.ランキング更新:

Ra = 旧Ra + K * (Sa - Ea)、新Rb = 旧Rb + K * (Sb - Eb)

 

ここで、K はK 係数 (通常は 10 ~ 60、特定の状況に応じて異なります)、Sa と Sb はゲームの結果 (A が勝った場合、Sa=1、Sb=0、B が勝った場合、Sa=0、 Sb =1; 同点の場合は、Sa=Sb=0.5)。

  1. ここで、R'_A と R'_B は更新された Elo レーティング、S_A と S_B は実際のスコア (勝利は 1、引き分けは 0.5、負けは 0)、K はレーティングの変化の大きさに影響する係数です。 。

Kファクターの選択

K ファクターの選択は、プレーヤーの経験レベルやゲームの重要性など、さまざまな要因によって決まります。適切な K 値を選択すると、Elo スコアリング システムがプレーヤーの実際の強さをより適切に反映することができます。

K 値が高くなると(例: 40)、プレイヤーの評価がより不安定になり、初級または中級のプレイヤーにより適したものになり、評価がスキルの向上をより早く反映できるようになります。一方、K 値が低い (10 や 20 など) と、レーティングがより安定し、上級プレイヤーにより適しています。

場合によっては、K 値はプレーヤーの現在のレーティングまたは試合のタイプに基づいて調整できます。たとえば、チェスの場合、ジュニア プレーヤーの K は 40、中級プレーヤーの K は 20、トップ プレーヤーの K は 10 になる可能性があります。

これらはすべて、プレイヤーの強さを数値化するためのおおよその方法にすぎないことに注意してください。実際には、どのゲームにもある程度のランダム性があるため、どのスコアリング システムもプレーヤーの強さを完全かつ正確に反映することはできませんElo レーティング システムは、過去の試合データを使用して各プレイヤーに妥当なレーティングを割り当てる試みにすぎません。同時に、各ゲームの結果がプレイヤーの Elo スコアに影響を与えるため、このシステムはゲームに追加の戦略レイヤーももたらします。プレイヤーはElo スコアの維持または改善新しい戦略の試行の間でトレードオフを行う必要があります。

以上が Elo ランキング システムの基本原理と計算式です。

3. 説明例
プレイヤー A の現在のレーティングが 1500、プレイヤー B のレーティングが 1600 である場合、
プレイヤー A の推定勝敗値は Ea = 1/(1+10^[(1600-1500)/400] となります。 ]) ≈ 0.36 と
プレイヤー B の推定値 勝敗値 Eb = 1-Ea = 1-0.36 = 0.64

プレーヤー A が勝つと仮定すると、実際の勝敗値は Sa = 1 です。
プレーヤー A の最終スコアは、R'a = 1500 + 32*(1-0.36) = 1500+20.5 = 1520 です。プレーヤー A は 20 ポイント勝ちます。プレイヤー B は 20 点差で負けます。

プレーヤー B が勝つと仮定すると、実際の勝敗値は Sa = 1 です。
チーム B の最終スコアは、R'b = 1600 + 32*(1-0.64) = 1600 + 11.52 = 1612 です。プレーヤー B が 12 ポイント勝ちます。プレイヤー A は 12 点差で負けます。
PS: ^ 記号はべき乗演算を表します。

4. ラダーシステムの目的
1. 初心者が経験豊富なプレイヤーによる虐待から保護され、マスター ゲームに初心者が存在しないようにする。
2. プレーヤーのゲームの楽しみを最大限に高めるために、競争的で公平なゲームの試合を作成します。
3. ゲームに参加する対戦相手を見つけるのに長く待つ必要はありません。

V. 具体例
11 戦闘プラットフォームのはしごの例。
次の式はラダー ポイントの計算方法を示す良い例であり、Si の計算は ELO アルゴリズムに基づいています。11 個のラダーにはまだバグがありますが、確かに優れた設計であることは認められます。


 

数式で400で割る原理は何ですか

Elo のランキング システムで使用される公式の 400 による除算部分は、10 を底とする対数スケールを適切なゲームまたは競技スケールにマッピングすることを目的としていますチェスの場合、Arpad Elo が 400 を選択したのは、400 ランク上のプレイヤーが約 0.75 の確率で 400 ランク下のプレイヤーに勝つことができる適切な値であると判断したためです。

400 という数字を選んだ具体的な理由としては、当時の棋士のランキングが 2000 位前後であったため、名人と初心者のランキングの差が大きすぎたり小さすぎたりしないように、適切な範囲を設定したいと考えたことが挙げられます。そして 400 という数字は彼のニーズを満たすことができます。

ただし、他のアプリケーションでは、この値は異なる場合があります。たとえば、オンライン ゲームでは、より幅広いプレイヤー ベースとより高速なゲーム速度に対応するために、より大きな値またはより小さな値を選択する場合があります。

おすすめ

転載: blog.csdn.net/qq_39970492/article/details/131251163