イロレーティング
イロレーティング (Elo rating) とは、対戦型の競技(2人のプレイヤーまたは2つのチームが対戦して勝敗を決めるタイプの競技)において、相対評価で実力を表すために使われる指標の一つ。数学的裏付けのある最も著名なレーティングシステムである。
イロレーティングは、もともとチェスの実力を表すために考案されたものだが、様々な競技に応用されている。具体的には
などでイロレーティング、あるいはイロレーティングを改変したレーティングシステムが採用されている。一部の競技では単にレーティングと呼ぶこともある。
なお、「イロ」とは、考案者であるアルパド・イロ(ハンガリー生まれのアメリカ人物理学者)に由来する。
例えば100m走のような絶対値を競う競技では、その絶対値(例えば100m走のタイム)が試合の結果となるので、これをそのまま実力の基準として使うことができる(自己ベストタイムなど)。しかし、チェスやサッカーのような対戦型の競技では、試合の結果は勝敗であるから、そのままでは実力を表すことができない。そこで、勝敗を実力の指標に変換する工夫が必要となる。
古典的指標としては、勝率(勝敗比に変換することもできる)がある。しかし、勝率には「対戦相手の強さを考慮していない」という欠点があった。すなわち、トッププレイヤーばかりを相手にして勝率5割の場合と、初心者ばかりを相手にして勝率5割の場合とでは、言うまでもなく前者のほうが実力が上であるが、勝率ではこのような事情が反映されない。対戦相手が均等になる総当たり戦の競技では、この欠点が問題となることはないが、チェスなどでは、実力があるプレイヤーほど強い相手との対戦が増えることから、勝率では強さを表すことができないという事態に陥った。
この問題を解消する手段が、イロレーティングである。イロレーティングは、平均的強さのプレイヤーと対戦したときに予想される勝利勝率を数学的に推計し、対数に変換した指標である。実際には、試合のたびに対戦前の相互のレーティングに基づいて勝利確率(期待勝率)を計算し、これと実際の対戦結果との差異に基づいてレーティングを更新する。この作業を試合のたびに繰り返すことで、いずれ平均的強さのプレイヤーと対戦したときの真の勝利確率、すなわち強さを表す適正な値にレーティングが収束するというわけである。
なお、勝率などでも同様であるが、イロレーティングは勝敗を計算の対象としているため、引き分けは勝敗に変換しなければ計算の対象にできない。引き分けの扱いは競技団体によって異なるが、
引き分けは0.5勝0.5敗として計算する。
引き分けは再試合を行うものとして再試合の結果によって計算する。
引き分けの試合はレーティング計算の対象外とする。
という3つの手法が知られている。後述する「勝敗比は積によって推移する」という関係性が満たされるように競技の性質に応じて引き分けの扱いを適切に定める必要がある。なお、イロレーティングの発祥であるチェスでは、引き分けを0.5勝0.5敗とする方法が採用されている。以下では、引き分けの場合について言及しない。
イロは物理学者であると同時にチェスにおいてはマスターレベルであり、アメリカ合衆国チェス連盟(USCF)でプレーしていた。
当時USCFでは、ケネス・ハークネスが考案したレーティングシステムを採用していた。このシステムでは大会ごとに算出した平均レーティングに準じて個人のレーティングが決定される方法をとっており、例えば著名なトーナメントで優勝した場合、別のトーナメントで優勝した場合に比べて、5倍のポイントが与えられることがあった。
イロレーティングは統計的な推定に基づいたシステムである。試合の勝敗を直接的に各プレーヤーの能力を表す基礎的な変数に関連付けるモデルを使用する。
イロの理論では二つの前提をおいている。
試合の勝敗は、プレイヤーの評価値の大小によって決まる - あるプレイヤーがゲームに勝てば、そのゲームでは相手より評価値が高かったとみなす。負けた場合は相手より評価値が低い、引き分けの場合は評価値は同等だったとする。
各ゲームにおけるプレイヤーの評価値は、正規分布の確率変数である - あるプレイヤーの評価値は対局のたびに好調不調で変動はするものの、評価値の平均値は時間の経過とともにゆっくりとしか変化しないと考えた。
プレイヤー毎の標準偏差(レーティング偏差)のばらつきを考慮しない単純化したモデルとしてる。
またイロは各選手の真の実力(=モデルの変数)を推定する簡単な方法を提案している。対戦相手のレーティングとの比較から、予想される勝率を表から比較的簡単に算出することができる。
勝利数が多い選手のレーティングは上方修正され、少ない選手のレーティングは下方修正される。
その調整は、予想勝率を上回った勝利数と下回った勝利数に直線的に比例することになっていた。
イロレーティングは計算のシンプルさから計算機のない時代は特に有用であった。
電卓ひとつで計算できたため、公式発表の前にレーティングを1ポイント以内で計算することができた。これはレーティングの公正性が一般に受け入れられる一助となった。一方でイロレーティングの欠点である、インフレやデフレにより過去のレーティングと比較できないといった問題に対応して発展させたグリコレーティングがマーク・グリックマンにより提案された。また、FIDEではこうした問題への対処として、より正確なレーティングシステムをKaggleでのコンペにより募集している。
あるプレイヤーのイロレーティングRは、そのプレイヤーが、平均的プレイヤーと対戦した場合に予想される勝利確率と敗北確率をそれぞれW,Lとして、
R = 400 \log_{10} \frac {W}{L} + 1500
で定義される。式変形して勝敗比の側から見れば、
\frac {W}{L}=10^{(R - 1500)/400}
である。ここで、400や1500と言った定数は、単に数値を見やすくするために調整しているに過ぎず、イロレーティングの本質は、勝敗比を対数に変換したものということである。
以下、プレイヤーAがプレイヤーBに勝利する確率(=プレイヤーBがプレイヤーAに敗北する確率)をW_{AB}、プレイヤーAのイロレーティングをR_{A}などと表記することとする。
ここで、勝敗比は積によって推移するという重要な仮定を置く。すなわち、3人のプレイヤーX,Y,Zについて、イロレーティングでは、
\frac{W_{XZ}{W_{ZX}=\frac{W_{XY}{W_{YX} \times \frac{W_{YZ}{W_{ZY}
という関係が満たされることを前提とする。例えばXがYに対して平均して2勝1敗のペース(勝率約67%)、YがZに対して平均して3勝1敗のペース(勝率75%)だとすれば、2 \times 3 = 6なので、XはZに対して平均して6勝1敗のペース(勝率約86%)となることが必要である。このような関係が満たされない競技では、イロレーティングで適切に実力を評価することができない(格上ばかりと対戦するプレイヤーと格下ばかりと対戦するプレイヤーを比べると、同じ強さでもレーティングが異なった値になってしまう)。
このような仮定を置くことで、任意のプレイヤーA,Bの対戦において、平均的プレイヤーを\alphaとして、
\frac {W_{AB}{W_{BA} = \frac{W_{A \alpha}{W_{\alpha A} \times \frac{W_{\alpha B}{W_{B \alpha} = \frac {10^{(R_{A} - 1500)/400} {10^{(R_{B} - 1500)/400} = 10^{(R_A - R_B)/400}
という関係を導出することができる。ここで、W_{AB} + W_{BA} = 1であることから、
W_{AB} = \frac 1 {10^{(R_B - R_A)/400} +1}
となり、レーティング差から勝利確率が得られることになる。
このようにして計算される勝利確率は以下の常識にかなう特徴を満たす。
勝利確率は、常に0%から100%の間に収まる。
レーティングが等しいプレイヤー同士の対戦では、勝利確率は50%となる。
レーティング差の絶対値が大きくなるほど、上位者の勝利確率が高くなる。
レーティング差がプラスの無限大に近づけば、勝利確率は100%に漸近し、レーティング差がマイナスの無限大に近づけば、勝利確率は0%に漸近する(レーティング差を横軸に、勝利確率を縦軸に取れば、ロジスティック曲線を描く)。
ここまでの説明から、以下が得られる。
平均的プレイヤーのレーティングは1500である。
レーティング差ごとに勝利確率を計算すると次の表のようになる。
これにより、レーティングからそのプレイヤーの強さを容易に把握することが可能となる。
例えば、以下のように実力を把握することができる。
レーティング1500は、平均的プレイヤーの強さである。レーティング1700は、レーティング1500のプレイヤーを相手に76%の勝率となる強さである。レーティング1900は、レーティング1700のプレイヤーを相手に76%の勝率となる強さである。以下同様に、76%の勝率となるごとにレーティングが200ずつ上がっていく。
ただし、平均的プレイヤー(レーティング1500)の基準は、競技によっては、対局場ごとに異なることがある。例えば、将棋の場合には、プロ棋士のレーティングはプロ棋士の平均を1500としており、日本アマチュア将棋連盟のレーティングはアマチュアの平均を1500としている。言うまでもなく、前者のほうが高レベルとなるため、補正なしで両者を比較することはできない。チェスでは、レーティングの基準は国際的に統一されているものの、対局場や団体ごとに誤差があるため、比較には注意を要する。
各プレイヤーについて、いきなり勝利確率を適切に表すレーティング値を算出することはできない。そこで、イロレーティングでは、最初は仮の値を置いておき、試合ごとに少しずつレーティングを更新していって、徐々に適正値に収束させるという手段をとる。具体的には、試合のたびに、従前のレーティングに基づく勝利確率と実際の試合結果とを比較し、この差異によって、レーティング値を更新する。
例えば、A,Bが\text{Games}回続けて試合を行うとする(チェスの対局では、一度に複数局を行うのが通例である)。このとき、イロレーティングから計算されるAの勝利確率は、
W_{AB} = \frac 1 {10^{(R_B - R_A)/400} +1}
であり、Aに期待される勝利数は、\text{Games} \times W_{AB}である。試合の結果、Aの勝利数が\text{Wins}だったとする。その場合、レーティングから期待された勝利数と実際の勝利数との差に基づいて、Aのレーティングを
R_A^\prime = R_A + K(\text{Wins} - \text{Games} \times W_{AB})
に更新する(Bについても同様に更新する)。なお、Kは自由に設定できる定数値であり、一般的には32が採用されることが多いが、プロレベルでは16が使われることもある。Kが大きいほど、適正レーティングに収束するのが早くなる一方、収束した後も頻繁に上下する不安定な値となる。
要するに、実際の勝利数がレーティングから期待される勝利数を上回れば、レーティングが過小であったと判断してレーティングをプラスに更新し、逆に実際の勝利数がレーティングから期待される勝利数を下回れば、レーティングが過大であったと判断してレーティングをマイナスに更新するわけである。
A,Bの対戦を何試合も続けて行うのでなければ、\text{Games}は1、\text{Wins}は0か1となるので、W_{AB} + W_{BA} = 1であることに注意すれば、計算はより単純になる。すなわち、Aが勝利したとき、
R_A^\prime = R_A + K \times W_{BA}
R_B^\prime = R_B - K \times W_{BA}
とレーティングを更新する。
式を見れば分かるように、敗北したプレイヤーのレーティング減少分と同じ値が、勝利したプレイヤーのレーティングに加算される。そして、レーティング変動分は、敗北した側の勝利確率が高いほど大きくなる(つまり番狂わせが起きるほど実際の実力とレーティング値の乖離が大きいと判断してレーティング値を大きく変動させる)。
例として、レーティング1500のプレイヤーAとレーティング1700のプレイヤーBが対戦し、Aが勝利したとする。この場合、W_{BA}は約76%であるから、Kを32とすると、
R_A^\prime = 1500 + 32 \times 0.76 = 1524
R_B^\prime = 1700 - 32 \times 0.76 = 1676
がA,Bの新たなレーティングとなる。
日本の囲碁や将棋のオンライン対戦サイトなどでは、イロレーティングを簡略化したレーティングが使用されることが多い。本来のイロレーティングの計算は、上述の通り、Kを32とすれば、プレイヤーAがプレイヤーBに勝利した場合、
R_A^\prime = R_A + 32 \times W_{BA}
R_B^\prime = R_B - 32 \times W_{BA}
W_{BA} = \frac 1 {10^{(R_A - R_B)/400} +1}
で行われるが、W_{BA}の計算が多少煩雑になる。そこで、
W_{BA} = \frac{R_B -R_A}{800} +0.5
とW_{BA}の計算を線型の式に簡略化する(レーティング差を横軸に、勝利確率を縦軸に取れば、元々のイロレーティングはロジスティック曲線だったが、簡略版のこの式は単純な直線となる)。
この簡易イロレーティングを採用した場合、レーティング差に基づく勝利確率は以下のようになる。
勝利確率の計算式こそ異なるが、勝利確率と試合結果を用いてレーティングを更新していく点は、本来のイロレーティングと同様である。ただし、この簡略化された勝利確率では、レーティング差が400以上になると計算上の勝利確率が0%以下・100%以上になるという重大な欠陥がある。そのため、この方法を使う場合は、基本的にレーティング差400未満のプレイヤー同士での対戦が前提となり、レーティング差400以上のプレイヤー間では、W_{BA}と無関係にレーティング変動値を決めるなど特殊な処理が必要となる。
実際のレーティングの計算は、簡略化されたW_{BA}を代入すれば、
R_A^\prime = R_A + 32 \times ( \frac{R_B -R_A}{800} +0.5 ) = R_A + ( 0.04 \times (R_B - R_A) + 16 )
R_B^\prime = R_B - 32 \times ( \frac{R_B -R_A}{800} +0.5 ) = R_B - ( 0.04 \times (R_B - R_A) + 16 )
となる。
この方法は、オンライン将棋対局場の将棋倶楽部24や近代将棋道場などで使われている。ただし、これらの対局場では、小数点以下は四捨五入とし、レーティングの変動分が1から31の範囲に収まらない場合(レーティング差が400以上となる場合や400に近い場合)には、上記の計算によらず変動分を1あるいは31とするという特殊な処理をしている。
なお、TAISENの囲碁対局では、
W_{BA} = \frac{R_B -R_A \pm H}{800} +0.5
という式を用いている。ここで、Hはハンデ(置き石やコミの調整による)ごとに定められた点数であり、ハンデをレーティングに反映している点が、将棋倶楽部24や近代将棋と異なる。
その上で、TAISENはKを24とし、
R_A^\prime = R_A + 24 \times ( \frac{R_B -R_A \pm H}{800} +0.5 ) = R_A + ( 0.03 \times (R_B - R_A \pm H) + 12 )
R_B^\prime = R_B - 24 \times ( \frac{R_B -R_A \pm H}{800} +0.5 ) = R_B - ( 0.03 \times (R_B - R_A \pm H) + 12 )
でレーティングを計算する。なお、小数点以下は四捨五入とし、極端にレーティング差がある場合に特例を設けている点は他と同様である。
イロレーティングでは、新規のプレイヤーに対しては、初期レーティングとして暫定的な値を設定しておき、試合の度にレーティングを更新することで徐々に適正値に近付けていく。初期レーティングが過小の場合は、試合の度にレーティングが上がっていくし、逆に初期レーティングが過大の場合は、試合の度にレーティングが下がっていく。つまり、どのような値にしたとしても、いずれは適正値に収束するので、初期レーティングは何でもよく、この値の設定に関して明確なルールはない。
とはいえ、あまりにも過大または過小な初期レーティングを設定すると、
新プレイヤーのレーティングが適正値に収束するまでに時間がかかる。
新プレイヤーの対戦相手のレーティングが必要以上に変動するので、レーティングが一時的に不安定になる(例えば、新プレイヤーの初期レーティングを適正値よりも極めて低い値に設定すると、新プレイヤーの対戦相手のレーティングだけが一時的に大幅に減少してしまう)。
レーティングインフレまたはレーティングデフレ(後述)の原因となる。
といった問題が発生することがある。
初期レーティングの定め方は、とりあえず平均的プレイヤーのレーティング(1500)としたり、プレイヤーの自己申告によって定めたりといった方法もあるが、上記の問題に対応するために工夫をする場合もある。
まず、新規プレイヤーは、一定の試合数をこなすまではレーティング計算の対象外とし、一定の試合数をこなした時点でそれまでの試合結果から初期レーティングを決定するという方法がある。例えば、それまでの勝利数をW、敗北数をL、対戦相手のレーティングの平均値をOとして、
R = 400 \log_{10} \frac {W}{L} + O
を初期レーティングとする(ただし、全勝または全敗だった場合には計算ができなくなるため、初期レーティングの上限・下限を定めておく必要がある)。こうすることで、初期レーティングの時点から適正値に近い値になるため、収束が早くなり、対戦相手のレーティングが乱れることもなくなる。この他、通常のレーティング計算の対象外としつつも、Kを大きくとって収束を早めたレーティング値を新プレイヤーの分だけ別途計算しておき、一定の試合数をこなした時点でそれを初期レーティングとするという方法もある。
また、レーティングのインフレ・デフレを防止するために、同時期に引退するプレイヤーの最終レーティングと平均レーティング(1500)との差を引き継ぐという方法もある。例えば、引退するプレイヤーが2名でその最終レーティングが1300と1200、新規参加するプレイヤーが5名だったとする。この場合、引退するプレイヤーは、平均的プレイヤー(1500)と比較して、それぞれ200、300だけレーティングが少ない。これらを合計すれば、2名のプレイヤーの引退によって合計500のレーティングがリーグ全体で増加したことになる。そこで、この500を新規参加する5名で折半した100を平均レーティングから差し引いて、5名は初期レーティング1400でスタートする。こうすることで、リーグの平均レーティングは常に1500に保たれるので、レーティングのインフレ・デフレを防ぐことができる。ただし、この方法は新プレイヤーのレーティングが適正値に収束するまでに時間がかかる問題などを解決できず、逆により時間がかかるようになることもあるため、注意が必要である。
初期値として設定したレーティングが適正な値に収束するまでの間は、レーティングが真の強さを表しているとは言えないが、イロレーティングでは値が収束済みであるかどうかが明確でないという問題がある。この問題を解決するため、イロレーティングを改良したグリコレーティングと呼ばれるレーティングシステムが考案され、一部のチェス団体(オーストラリアチェス連盟など)、インターネット上のチェスサイトなどで利用が始まっている。グリコレーティングでは、そのプレイヤーの現在のレーティングと真のレーティングとの間にどの程度の誤差が予測されるかをRD(標準偏差)として算出することで、そのレーティングの信頼性が分かるようにしている。
イロレーティングは、試合が行われるごとに対戦した当事者間でレーティングが更新されるため、1500が平均的プレイヤーを表す本来のレーティング値から乖離することがある。すなわち、全プレイヤーのレーティングが過大になるレーティングインフレ、あるいは全プレイヤーのレーティングが過小になるレーティングデフレである。イロレーティングは、そもそも相対評価の指標であるから、レーティングがインフレ・デフレしたとしても、現在そのリーグに所属するプレイヤー間の実力の比較に支障はない。しかしながら、レーティングインフレ・デフレによって、過去のプレイヤーのレーティングとの比較ができなくなったり、あるいは特定のリーグでレーティングインフレ・デフレが生じた結果、他のリーグのレーティングとの比較ができなくなったりするという問題が生じることがある。
例えば、あるプレイヤーがレーティング3000でリーグに参戦し、レーティングを1000まで落としてから引退したとする。このとき、このプレイヤーは、現役中に差し引き2000のレーティングを他のプレイヤーに奪われたことになる。すなわち、このプレイヤーによって、リーグ全体のレーティングの合計値が2000増加したことになる。逆に、レーティング1000で参入して3000で引退するプレイヤーがいれば、リーグ全体のレーティングを合計2000減少させたことになる。このように、各プレイヤーのレーティングの著しい減少(増加)は、リーグ全体のレーティングの増加(減少)に繋がる。
もっとも、プレイヤー1人の影響によるレーティングの増減はわずかなものであり、増加させるプレイヤーと減少させるプレイヤーとが互いに相殺していることから、大きな影響はない。しかし、何らかの原因により、レーティングの増加あるいは減少ばかりが生ずれば、レーティングインフレやレーティングデフレが起きるのである。
この他に、イロレーティングが前提としている「勝敗比は積によって推移する」という仮定(前述)が満たされない場合、すなわち、3人のプレイヤーX,Y,Zについて、
\frac{W_{XZ}{W_{ZX}=\frac{W_{XY}{W_{YX} \times \frac{W_{YZ}{W_{ZY}
という関係が満たされない場合には、上位者と下位者のレーティング差が過大になったり過小になったりすることがある。その結果、平均的プレイヤーのレーティングは安定していても上位プレイヤーのレーティングだけがインフレして下位プレイヤーのレーティングだけがデフレする(またはその逆)という現象が生ずることがある。
具体的には、チェスのFIDE公式レーティングは、新しい世代のプレイヤーにおけるコンピューターソフトを利用した研究の普及などの原因により、旧時代のトッププレイヤーの多くがレーティングを大きく落として引退し、結果として1985年ごろから年に数点ずつレーティングインフレを起こしている。チェスではグランドマスターをはじめとするタイトルをレーティングで規定しているため、レーティングインフレによってタイトル保持者が増加するという現象に繋がっている。
また、日本のオンライン将棋対局場である将棋倶楽部24では、初期レーティングを自己申告で決められることから、これを過小に申告して登録後にレーティングを急上昇させたり、あるいはコンピューター将棋ソフトを利用した不正行為によってレーティングを上昇させた後で不正が発覚して退会処分になったりといった事例が重なり、著しいレーティングデフレの状態にあると指摘されている。将棋倶楽部24では、段級位の基準をレーティングで定めているため、レーティングデフレによって一般の段級位との釣り合いが取れなくなる問題に繋がっている。
レーティングインフレ・デフレの問題を解決するため、様々な改良が試みられており、例えばオンライン将棋対局場の81Dojoでは、オンライン将棋対局ではレーティングデフレが起きやすいことを考慮して、レーティングを下がりにくく調整した非対称レーティングを採用している。