Warriors of Typing参加者のEloレーティングを算出してみた!

※この記事はタイパー Advent Calendar 2021の5日目の記事です。
4日目の記事は「TEA_R」さんの「初心者の運指について」です。
6日目の記事は「かり~」さんの「タイパーインタビュー14:とるてぃさん」です。

はじめに

こんにちは! たのん(@tanon_710)です。
この記事では、まずEloレーティングについての簡単な説明をしたあと、過去のWarriors of Typingの試合結果から大会参加者のEloレーティングを算出した結果と、レーティングの使い方について述べています。
また、おまけとしてレーティング算出の方法についても説明しています。

以前に白狐さんがEloレーティングを用いてe-typingのスコアからレーティングを計算する実験を行っていましたので、そちらもぜひご覧ください!
https://drakscake.hatenadiary.com/entry/20210523/1621759471

Eloレーティングとは?

Elo(イロ)レーティングとは、物理学者であり強豪チェスプレイヤーでもあったアルパド・イロが、チェスプレイヤーの実力を明確にするために考案したレーティングシステムのことです。
ゲームなどでよく見る「レーティング」の多くは、Eloレーティングまたはこれを改変をしたものを用いて計算されています。

そんなEloレーティングの根幹は、プレイヤー間の実力差(より正確には勝利確率)が、プレイヤーのレーティングの差で表現できることにあります。
たとえば、Eloレーティングのもとでは「レート1000のプレイヤーとレート1200のプレイヤーの実力差」と「レート1500のプレイヤーとレート1700のプレイヤーの実力差」が同じになります。
つまり、自分のレートと対戦相手のレートを比べることで、自分と相手の間にどの程度の実力差があるのかを把握することができます。

具体的には、レートの差と勝利確率が以下のように対応します。

画像3

レートの値そのものには特別な意味はなく、相対的なレートの差が意味を持つ、というのがEloレーティングの基本ですが、実際上はレーティングに階級やスコアなどを対応付けることで、レートの値そのものにも意味を持たせていることが多いです。

試合結果から算出したEloレーティング

Warriors of TypingのS1 春の陣~S3 秋の陣までの試合結果から算出したEloレーティングは、以下の画像のとおりとなります。
ただし、画像には以下の2条件を満たす参加者の方のみのレーティングを記載しています。

・Warriors of Typing Season 3に1回以上参加している
・Warriors of Typing全体の参加回数が2回以上である

画像1

※レーティングはあくまで参考であり、参加者の実力を正確に反映しているわけではないことに注意してください。

今回のEloレーティングの算出にあたっては、「20ワード1本先取」の試合を行ったとみなすかわりに、「1ワード20本先取」の試合を行ったとみなしてレーティングを計算しています。
そのため、このレーティングにおいては、レートの差と試合の予測スコアが対応付けられることになり、その対応付けは以下のようになります。

画像2

参加者のEloレーティングと上記の表を組み合わせることで、たとえば「○○さんと△△さんはレート差が100だから対戦結果は20-10くらいになるはず!」というふうに、「仮想Warriors of Typing」の対戦結果を予測することができます。
また、レーティングの近い参加者どうしは比較的実力が近いと考えられるので、ライバルを探すのに役立てることもできます。

計算結果と参加者の実力を比べると、レート1700~1800あたりがローマ字でのRTCの予選突破を狙えるラインではないかと感じるので、RTC出場を目標にされている方はレート1700~1800あたりの参加者の方に勝つことを意識するのがよいのではないかと思います。

おわりに

以上、簡単ではありますがWarriors of Typing参加者のEloレーティングの計算結果のご紹介でした。
レーティングという形で実力を可視化することは賛否があると思いますが、レーティングは単なる数字にすぎないので、レートの値の大小にとらわれず、ぜひ有効に活用していただけたらと思います。


明日の記事は「かり~」さんの「タイパーインタビュー14:とるてぃさん」です。
こちらの記事もぜひお楽しみください!


おまけ:ELOレーティングの算出方法

まず、Eloレーティングの有効性に関わる部分として、「A対Cの勝敗の比」を「A対Bの勝敗の比」と「B対Cの勝敗の比」の積で求められるという関係が必要になります(これがないと、勝敗の比がレートの差によって決まる、というEloレーティングの性質が成り立たなくなります)。
もちろん、これを厳密に確かめることは不可能なのですが、過去のWarriors of Typingの結果を見る限り上記の関係がある程度成り立っていると判断しました。

計算に際しては、大会の対戦結果を20ワード1本先取ではなく、1ワード20本先取に読み替えてレーティング計算を行っています。
また、Eloレーティングの計算に用いるパラメータとして、レーティングの初期値 = 1500, 勝敗の比が10:1となるレート差 = 400, K(レート変動の係数) = 16を用いました(一般的なEloレーティングのパラメータと同様の数値を用いています)。

参考までに、過去のWarriors of Typingの対戦結果のテキストファイルと、上記の設定でEloレーティングを算出するためのスクリプトを共有します。
以下のURLからご確認いただけます。
https://drive.google.com/drive/folders/12Qq1GZApAy_MRqtlUNHZTduy4fCJE2TU?usp=sharing