皆さん、
チェス界における最高の称号である「グランドマスター」は映画などで聞いたことはありませんか?
この「グランドマスター」を獲得するための数値的な指標が「イロレーティング(Elo rating)」で、この「イロレーティング」で基準値以上に到達する必要があります。
この「イロレーティング」とは、チェス以外にも、例えば「サッカーのFIFAランキング」や「ラグビーのランキング」などの対戦型の競技(2人のプレイヤーまたは2つのチームが対戦して勝敗を決めるタイプの競技)において、相対的な評価で実力を表すために使われる数値的な指標の一つです。
この「イロレーティング」の算出方法の数式について、初めて「イロレーティング」の言葉を知った中学生も理解できるように、解説しましたので、興味のある方は、読み進めて頂けますと嬉しいです^^♪
イロレーティングとは?イロレーティングが応用される競技とは?
「イロレーティング (Elo rating)」 とは、対戦型の競技(2人のプレイヤーまたは2つのチームが対戦して勝敗を決めるタイプの競技)において、相対的な評価で実力を表すために使われる指標の一つです。「イロレーティング」は、数学的裏付けのある最も著名なレーティングシステム、言い換えると、外部から中立的な立場で作られた数学的裏付けのある格付けシステムです。
尚、接頭語である「イロ」とは、イロレーティングの考案者であるアルパド・イロ(ハンガリー生まれのアメリカ人物理学者:生誕1903年8月25日から死没:89歳:1992年11月5日)に由来します。
イロレーティングが応用されたチェスについて
国際チェス連盟がチェスプレーヤーに各々の成績を基にして授与する称号(タイトル)は、世界チャンピオンを別にすれば、最上位の称号「グランドマスター」、「インターナショナルマスター」、「FIDEマスター」、「キャンディデイトマスター」の4つが存在します。称号の取得には通例「イロレーティング」と「ノーム」が基準以上に達することが必要です。
称号 | 授与されるための条件 |
グランドマスター (International Grandmaster, GM) | 2500以上のイロレーティングを一度でも獲得し、国際大会において2600相当の成績(GMノーム※1)を3回達成すれば授与されます。 |
インターナショナルマスター (International Master, IM) | 2400以上のイロレーティングを一度でも獲得し、国際大会において2450相当の成績(IMノーム※2)を3回達成すれば授与されます。 |
FIDEマスター (FIDE:Fédération Internationale des Échecs:国際チェス連盟)Master, FM) | 2300以上のイロレーティングを獲得すれば授与されます。 |
キャンディデイトマスター (Candidate Master, CM) | 2200以上のイロレーティングを獲得すれば授与されます。 |
尚、2番目の称号である「インターナショナルマスター」は、日本国籍者では、南條遼介さん、小島慎也さんの2名が授与されています。
また、3番目の称号である「FIDEマスター」は、日本国籍者では将棋棋士である羽生善治さん、渡辺暁さん、上杉晋作さん、青嶋未来さんの4名が授与されています。
GMノーム※1と、IMノーム※2の詳細な取り決めについては、FIDEのハンドブックをご確認ください。
外部リンク:FIDE Handbook
イロレーティングが応用されたサッカーのFIFAランキングについて
FIFAランキング(正式名称:FIFA(仏語「Fédération Internationale de Football Association」)/Coca-Cola World Ranking)は、国際サッカー連盟(FIFA)により発表されるサッカーのランキングです。
現行のFIFAランキングの方式は、チェスや将棋で多用されているイロレーティングと呼ばれる数学的裏付けを持つ算出方法をベースにしている点に特徴があります。
この方式では、試合前のランキングに基づいて結果を予測し、予測と実際の結果との差異に基づいてランキングのポイントを増減させます。
これにより、試合をするたびに自然と現在の実力を表すランキングに近付いていくように設計されています。
イロレーティングの定義(その1)
あるプレイヤーのイロレーティング「R」は、そのプレイヤーが平均的プレイヤーと対戦した場合に予想される勝利確率と敗北確率をそれぞれ「W」、「L」、平均的なプレイヤーのイロレーティングを「R0」として、次の(式1)で表されます。
(式1) ↓↓↓
で表わされます。
イロレーティング「R」の理解のための「常用対数:log10」の解説
確実に理解するために「対数:log」について、説明します。直観的には、次のような数式によって理解できると思います(分かりやすくするために「底=10」としています)。
対数(たいすう:logarithm)とは、例えば、ある数「X」を数「10」の冪乗(べき乗) 「10」の「Y」乗 として表した場合の冪指数(べき指数)「Y」です。この「Y」は「底を「10」とする「X」の対数(logarithm of X to base 10; base 10 logarithm of X)」と呼ばれ、通常は「log10 X」と書き表されます。
第1の具体例としては
上記のように、「3」は底を「10」とする「X=1000」の対数「log10 1000」と書き表されます。
対数「log10 X」に対する「X」は真数(しんすう:antilogarithm)と呼ばれる。底「10」に対応する対数を与える関数を考えることができ、そのような対数関数を「常用対数」と呼びます。「常用対数」の対数関数は通常「log10」と表されます。
第2の具体例としては
従って、上記の常用対数「Y=log10 X」は、座標軸上、点(1、0)を通ります。
第3の具体例としては
従って、上記の常用対数「Y=log10 X」は、座標軸上、点(10、1)を通ります。
常用対数「Y=log10 X」のグラフ
以上より、上記の常用対数「Y=log10 X」のグラフは、次の緑の曲線のようになります。
図1 ↓↓↓
緑の曲線は底が 「10」の場合の常用関数のグラフです。
常用関数を示した緑の曲線は点 (1、0)と、点(10、1) を通り、Y 軸を漸近線とします。
実数の常用対数「log10 X」は、底「10」が「1」でない正数であり (10 ≠ 1、10 > 0、0より大きい実数)、真数「X」が正数である場合 (X > 0)について定義されます。 これらの条件を満たす対数は、ある「X」と「10」の組に対してただ一つに定まります。
実数の対数関数 log10 X は底「10」に対する指数関数「10」の「X」乗 の逆関数です。この性質はしばしば対数関数の定義として用いられます。次の赤線が指数関数「10」の「X」乗 のグラフです。逆関数とは、XとYの「役割」を交換し,同じ対応を逆から見た関数のことです。
図2 ↓↓↓
上述した常用関数「Y=log10 X」を示した図1と、指数関数「Y=10のX乗」を示した図2とは、1次関数である「Y=X」のグラフの直線を対称軸として、線対称となります。
図2に示された、指数関数「Y=10のX乗」は、座標軸上、点(0、1)と点(1、10)を通ります。これは、図1に示された、上記の常用対数「Y=log10 X」が、座標軸上、点(1、0)と点(10、1)を通ります。よって、ちょうど「X」と「Y」を置き換えたことが分かります。
イロレーティングの定義(その2)
上述した(式1)イロレーティング「R」を変形して勝敗比「W/L」の側から見るように変形すると、先ず、(式2)、(式3)のようになり、
(式2) ↓↓↓
R-R0 = 400 log10 (W/L)
(式3)↓↓↓
(R-R0)/400 = log10 (W/L)
ここで上述した常用対数の第1の具体例を参照すると、
(式4) ↓↓↓
となります。
「R0」の値としては、イロは完全に任意としつつも便宜上「2000」を用いましたが、慣習的に「1500」が用いられることが多いです。
ここで、「400」や「R0」といった定数は、単に数値を見やすくするために調整しているに過ぎません。イロレーティングの本質は、勝敗比を対数に変換したものということです。
イロレーティングに基づく、勝利確率の算出方法(その1)
以下、次のように定義する。
WAB:プレイヤーAがプレイヤーBに勝利する確率(=プレイヤーBがプレイヤーAに敗北する確率)
RA :プレイヤーAのイロレーティング
ここで、勝敗比は積によって推移するという重要な仮定を定めます。
すなわち、3人のプレイヤー「X」、「Y」、「Z」について、イロレーティングでは、
(式5) ↓↓↓
という関係が満たされることを前提とします。
例えば「X」が「Y」に対して平均して2勝1敗のペース(勝率約67%=勝率「2÷3」)、
「Y」が「Z」に対して平均して3勝1敗のペース(勝率75%=勝率「3÷4」)だとすれば、
(式5)に、「X」が「Y」に勝つ勝率 WXY と、「X」が「Y」に負ける負率 WYX と、「Y」が「Z」に勝つ勝率 WYZ と「Y」が「Z」に負ける負率 WZY と、夫々代入すると、「X」が「Z」に勝つ勝率が求められ、(式6)が導かれます。
(式6) ↓↓↓
WXZ/WZX=(勝率「2÷3」÷負率「1÷3」)×(勝率「3÷4」/負率「1÷4」)
(式6)を計算すると、次の式(式7)が得られます。
(式7) ↓↓↓
WXZ/WZX= 2 × 3 = 6 = 「6÷7」/「1÷7」
よって、
「X」は「Z」に対して平均して6勝1敗のペース(勝率約86%=勝率「6÷7」/負率「1÷7」)となることが必要です。
このような関係が満たされない競技では、イロレーティングで適切に実力を評価することができません(格上ばかりと対戦するプレイヤーと格下ばかりと対戦するプレイヤーを比べると、同じ強さでもイロレーティングが異なった値になってしまうからです)。
このような仮定を置くことで、任意のプレイヤーA、Bの対戦において、平均的プレイヤーをプレイヤーα(アルファ)として、上述した(式4)よりプレイヤーAがプレイヤーαに勝つ勝率は、次の(式8)のようになり、プレイヤーαがプレイヤーBに勝つ勝率は、次の(式9)、(式10)のようになります。
(式8) ↓↓↓
WAα÷WαA = 10の{(RA-Rα)÷400}乗
(式9) ↓↓↓
WαB÷WBα = 10の{(Rα-RB)÷400}乗
(式10) ↓↓↓
WαB÷WBα = 10の{(RαーR0)÷400}乗 / 10の{(RBーR0)÷400}乗
従って、プレイヤーBがプレイヤーαに勝つ勝率は、次の(式11)のようになります。
(式11) ↓↓↓
WBα÷WαB = 10の{(RBーR0)÷400}乗 / 10の{(RαーR0)÷400}乗
ここで、『10のA乗と10のB乗の掛け算と割り算との具体例』について説明します。
10のA乗と10のB乗の掛け算と割り算の具体例について
このように、10のA乗と10のB乗との掛け算は、10の(A+B)乗となり、10のA乗と10のB乗との割り算は、10の(AーB)乗となります。
従って、上述した(式11)は、次の(式12)、(式13)、(式14)のようになります。
(式12) ↓↓↓
WBα÷WαB = 10の[{(RBーR0)÷400}ー{(RαーR0)÷400}]乗
(式13) ↓↓↓
WBα÷WαB = 10の[{(RBーR0)ー(RαーR0)}÷400]乗
(式14) ↓↓↓
WBα÷WαB = 10の{(RBーRα)÷400}乗
上述した(式8) ↓↓↓
WAα÷WαA = 10の{(RA-Rα)÷400}乗
ここで、
(式15) ↓↓↓
Rα=R0
とし、上述した(式8)と(式14)とを組み合わせると、次の(式16)と(式16’)が得られます。
(式16) ↓↓↓
WAα÷WαA = 10の{(RA-R0)÷400}乗
(式16’) ↓↓↓
WBα÷WαB = 10の{(RBーR0)÷400}乗
従って、(式16)と(式16’)から次の(式17)が得られます。
(式17) ↓↓↓
(WAα÷WαA)/(WBα÷WαB)= 10の{(RA-R0)÷400}乗 / 10の{(RBーR0)÷400}乗
ここで、(式17)と『10のA乗と10のB乗の掛け算と割り算との具体例』に基づいて、次の(式18)と(式18’)が得られます。
(式18) ↓↓↓
(WAα÷WαA)/(WBα÷WαB)= 10の[{(RA-R0)ー(RBーR0)}÷400]乗
(式18’) ↓↓↓
(WAα÷WαA)/(WBα÷WαB)= 10の{(RAーRB)÷400}乗
以上より、WAB/WBA を求めると、次の(式19)が得られます。
(式19) ↓↓↓
ここで、次の(式20)が成り立つことから、
(式20) ↓↓↓
よって、次の(式21)が得られ、
(式21) ↓↓↓
上述の(式21)を、上述の(式19)に代入して、計算していくと、次の(式22)、(式22’)、(式22’’)、(式22’’’)、(式22’’’’)
(式22) ↓↓↓
WAB/(1-WAB)= 10の{(RAーRB)÷400}乗
(式22’) ↓↓↓
WAB=(1-WAB)× 10の{(RAーRB)÷400}乗
(式22’’) ↓↓↓
WAB=[10の{(RAーRB)÷400}乗]-[WAB×10の{(RAーRB)÷400}乗]
(式22’’’) ↓↓↓
WAB(1+[10の{(RAーRB)÷400}乗])=[10の{(RAーRB)÷400}乗]
(式22’’’’) ↓↓↓
WAB =[10の{(RAーRB)÷400}乗]/(1+[10の{(RAーRB)÷400}乗])
上記の式(式22’’’’)に右辺の分母と分子に『[10の{(RBーRA)÷400}乗]』を掛けると、次の(式23)、(式23’)、(式23’’)が得られます。
(式23) ↓↓↓
WAB =『10の[{(RAーRB)+(RBーRA)}÷400]乗』/
([10の{(RBーRA)÷400}乗]+『10の[{(RAーRB)+(RBーRA)}÷400]乗』)
(式23’) ↓↓↓
WAB =『10の[0]乗』/([10の{(RBーRA)÷400}乗]+『10の[0]乗』)
(式23’’) ↓↓↓
WAB =1/([10の{(RBーRA)÷400}乗]+1)
即ち、次の(式24)が得られます。
(式24) ↓↓↓
となり、プレイヤーAと、プレイヤーBとのイロレーティングの差からプレイヤーAが勝利する勝利確率が得られることになります。
このようにして計算されるプレイヤーAが勝利する勝利確率は以下の常識にかなう特徴を満たします。
・勝利確率は、常に0%から100%の間に収まる。
・イロレーティングが等しいプレイヤー同士の対戦では、勝利確率は50%となる。
・イロレーティングの差の絶対値が大きくなるほど、上位者の勝利確率が高くなる。
・イロレーティングの差がプラスの無限大に近づけば、勝利確率は100%に漸近する。
・イロレーティングの差がマイナスの無限大に近づけば、勝利確率は0%に漸近する。
イロレーティングに基づく、勝利確率の算出方法(その2)
各プレイヤーについて、いきなり勝利確率を適切に表すレーティング値を算出することはできません。そこで、イロレーティングでは、最初は仮の値を置いておき、試合ごとに少しずつレーティング値を更新していって、徐々に適正値に収束させるという手段をとります。
具体的には、試合のたびに、従前のレーティング値に基づく勝利確率と実際の試合結果とを比較し、この差異によって、レーティング値が更新されます。
例えば、「A」、「B」が「Games回」続けて試合を行うとする(チェスの対局では、一度に複数局を行うのが通例である)。このとき、イロレーティングから計算されるAの勝利確率は、上述した(式24)に示すように、
(式24) ↓↓↓
であり、Aに期待される勝利数は、Games × WABであります。試合の結果、Aの勝利数がWinsだったとします。その場合、レーティング値から期待された勝利数と実際の勝利数との差に基づいて、Aのレーティング値を、次の式(式25)に基づいて、「RA」を「RA’」に更新します(Bについても同様に更新します)。
(式25)↓↓↓
RA’ = RA + K(Wins ー Games × WAB)
なお、Kは自由に設定できる定数値であり、一般的には32が採用されることが多いが、プロレベルでは16が使われることもあります。
Kが大きいほど、適正なレーティング値に収束するのが早くなる一方、収束した後も頻繁に上下する不安定な値となります。
要するに、実際の勝利数がレーティング値から期待される勝利数を上回れば、レーティング値が過小であったと判断してレーティング値をプラスに更新し、逆に実際の勝利数がレーティング値から期待される勝利数を下回れば、レーティング値が過大であったと判断してレーティング値をマイナスに更新するわけです。
A、Bの対戦が1回である場合のイロレーティングについて
A、Bの対戦を何試合も続けて行うのでなければ、Gamesは1、Winsは0か1となるので、上述した(式25)に、Games=1、Wins=1、を代入して、更に、上述した(式20)から導かれる(式20’)も代入すると、
(式20’) ↓↓↓
WAB=1-WBA
これにより、計算はより単純になります。すなわち、Aが勝利しBが負けたとき、Aのイロレーティングは次の(式26)で計算され、Bのイロレーティングは(式27)によって計算されます。
(式26) ↓↓↓
RA’ = RA + K × WBA
(式27) ↓↓↓
RB’ = RB ー K × WBA
以上のようにイロレーティングが更新されます。
上記の(式26)及び(式27)を見れば分かるように、敗北したプレイヤーBのレーティング値の減少分と同じ値が、勝利したプレイヤーAのレーティング値に加算されます。
そして、レーティング値の変動分は、敗北したB側の勝利確率WBAが高いほど大きくなります。
つまり番狂わせが起きるほど実際の実力とレーティング値の乖離が大きいと判断してレーティング値を大きく変動させます。
レーティング値が1500のプレイヤーAと、レーティング値が1700のプレイヤーBが対戦し、Aが勝利した場合のAのレーティング値とBのレーティング値は?
一の具体例として、レーティング値が1500のプレイヤーAと、レーティング値が1700のプレイヤーBが対戦し、Aが勝利したとする。この場合、WABは、上述した(式24)に、RB=1700、RA=1500を代入すると、次の(式28)が得られます。
(式28)↓↓↓
WAB=1÷{(10の0.5乗)+1} ≒ 1÷{(3.162278)+1}
=1 ÷ 4.162278 ≒ 0.24 = 約24%
従って、上述の(式21)により、
WBA = 100%-約24% = 約76%
これにより、K=32 とすると、次の(式26’)、(式27’)に示すように、
(式26’) ↓↓↓
RA’ =1500+32×0.76=1524 (=1500+24)
(式27’) ↓↓↓
RB’ =1700−32×0.76=1676 (=1700ー24)
がA、Bの新たなレーティング値となります。
レーティング値が1500のプレイヤーAと、レーティング値が1900のプレイヤーBが対戦し、Aが勝利した場合のAのレーティング値とBのレーティング値は?
他の具体例として、レーティング値が1500のプレイヤーAと、レーティング値が1900のプレイヤーBが対戦し、Aが勝利したとする。この場合、WABは、上述した(式24)に、RB=1900、RA=1500を代入すると、次の(式28)が得られます。
(式28)↓↓↓
WAB=1÷{(10の1乗)+1} ≒ 1÷{(10)+1}
=1 ÷ 11 ≒ 0.09 = 約9%
従って、上述の(式21)により、
WBA = 100%-約9% = 約91%
これにより、K=32 とすると、次の(式26’’)、(式27’’)に示すように、
(式26’’) ↓↓↓
RA’’ =1500+32×0.91=1529 (=1500+29)
(式27’) ↓↓↓
RB’’ =1900ー32×0.91=1871 (=1900-29)
がA、Bの新たなレーティング値となります。
『イロレーティングの計算式とは?中学生も理解できるよう徹底解説!』のまとめ
イロレーティングとは、平均的強さのプレイヤーと対戦したときに予想される勝利勝率を数学的に推計し、対数に変換した指標です。
実際には、試合のたびに対戦前の相互のイロレーティングに基づいて勝利確率(期待勝率)を計算し、これと実際の対戦結果との差異に基づいて「イロレーティング」を更新します。
A、Bの対戦が1回である場合において、Aが勝利しBが負けたとき、Aのイロレーティングは(式01)で計算され、Bのイロレーティングは(式02)によって計算されます。
(式01)↓↓↓
RA’ = RA + (K × WBA)
(式02)↓↓↓
RB’ = RB ー (K × WBA)
以上のようにイロレーティングが更新されます。
最後までお読み頂きまして、有難うございました^^♪