2023-12-11に更新

イロ・レーティングって何だぜ(^~^)?<その1>

読了目安:23分

前の関連記事

📖 【廃案】きふわらべ式、将棋の先手勝率70%の時代に向けて、将棋のルールを変えない大会ルールの代案

画像

202312__shogi__10-1732--Logarithm-o2o8o0.png

202312__shogi__10-1631--BugFixAbout1980.png

はじめに

ramen-tabero-futsu2.png
「 イロ・レーティングって何だぜ?」

kifuwarabe-futsu.png
「 👇 ググれだぜ」

📖 Elo rating system

ramen-tabero-futsu2.png
「 さっぱり 分からんなあ」

             W
R = 400 log10 ────── + R0
             L

ohkina-hiyoko-futsu2.png
「 👆 数式は こうだそうよ」

ramen-tabero-futsu2.png
「 簡単だなあ」

y軸の切片b

R = (ナンチャラ) + R0

ramen-tabero-futsu2.png
「 👆 R0 というのは 平均的なプレイヤーのレーティングだそうだぜ」

202312__chess__05-2059--EroRatingSystem-o2o0.png

ramen-tabero-futsu2.png
「 👆 グラフで言うと x=0 のときのy軸上の点 R0 だぜ」

202312__chess__05-2059--EroRatingSystem-o2o1o0.png

ramen-tabero-futsu2.png
「 👆 だから 大会の平均は y=R0 だろうと 横線1本引いたわけだぜ」

kifuwarabe-futsu.png
「 R0 って どうやって決めるんだぜ?」

ramen-tabero-futsu2.png
「 経験で いい感じに決めるそうだぜ、 1500 とか」

分数x

              W
R = (ナンチャラ) × ───── + (ナンチャラ)
              L

ramen-tabero-futsu2.png
「 👆 W は ウィン(Win;勝った数)、Lは ローズ(Lose;負けた数)だぜ。
W / L というのは、1回負けたときに いくつ勝っているか という 勝ちと 負けの比だぜ」

ohkina-hiyoko-futsu2.png
「 なんで 勝った数 / 対局数 の 勝率 にしないの?」

ramen-tabero-futsu2.png
「  が欲しいだけなら 分母を (勝った数 + 負けた数) にする意味もないからだろ」

kifuwarabe-futsu.png
「 1つ負けた辺りの勝ち数 って 日本語で何て言うんだぜ?」

ramen-tabero-futsu2.png
「 距離 / 時間 を 速度 と呼ぶのに なら(倣)うと、 勝ち速度 で どうだぜ?」

ramen-tabero-futsu2.png
「 一応 計算しておくと、1つ負けるまでに 1つ勝つ人の 勝ち速度は 1 だぜ。
以下同様に」

 1つ負けるまでに  1つ勝つ人の 勝ち速度は 1
 1つ負けるまでに  2つ勝つ人の 勝ち速度は 2
10個負けるまでに 25個勝つ人の 勝ち速度は 2.5
30個負けるまでに 90個勝つ人の 勝ち速度は 3

ramen-tabero-futsu2.png
「 👆 簡単だな」

202312__chess__05-2142--WinSpeed-o2o0.png

ramen-tabero-futsu2.png
「 👆 グラフにすると
勝ち速度が 1 なら オレンジ色の線、
勝ち速度が 3 なら 紫色の線だな」

対数 400 log10 ナンチャラ

R = 400 log10 x + b

ramen-tabero-futsu2.png
「 👆 10を底とする x の対数の400倍に b を足したものが イロ・レーティングだな」

kifuwarabe-futsu.png
「 くわしく」

ramen-tabero-futsu2.png
「 👇 10を底とする x の対数は、お金のゼロが並んでいるところの桁数に似ている」

log10     10 = 1
log10    100 = 2
log10   1000 = 3
log10  10000 = 4
log10 100000 = 5

ohkina-hiyoko-futsu2.png
「 👆 便利ねえ」

kifuwarabe-futsu.png
「 じゃあ 勝ち速度の桁の ゼロの数 を数えているのかだぜ?」

ramen-tabero-futsu2.png
「 雰囲気は そうだぜ」

kifuwarabe-futsu.png
「 しかし、 勝ち速度って 1 とか 2.5 とか 3 とか、 アマチュアなら 1桁台の 小さな数字だろ。
10連勝でもし続けなければ 勝ち速度の桁は ずっと 1 にも満たないだろ?」

ramen-tabero-futsu2.png
「 まあ だから 400 を掛けてるんだな」

kifuwarabe-futsu.png
「 その 400 という数字は どこから出てきた?」

ramen-tabero-futsu2.png
「 計算結果が 使いやすい数になるのが 400 なんだろ。
だったら 計算してみろだぜ」

           1倍
log10    1 =   0
log10    2 =   0.3010…
log10    3 =   0.4771…
log10    4 =   0.6020…
log10    5 =   0.6989…
log10    6 =   0.7781…
log10    7 =   0.8450…
log10    8 =   0.9030…
log10    9 =   0.9542…
log10   10 =   1
log10   11 =   1.0413…
log10   12 =   1.0791…
log10   13 =   1.1139…
log10   20 =   1.3010…
log10   30 =   1.4771…
log10   40 =   1.6020…
log10   50 =   1.6989…
log10   60 =   1.7781…
log10   70 =   1.8450…
log10   80 =   1.9030…
log10   90 =   1.9542…
log10  100 =   2
log10  110 =   2.0413…
log10  120 =   2.0791…
log10  130 =   2.1139…
log10  200 =   2.3010…
log10  300 =   2.4771…
log10  400 =   2.6020…
log10  500 =   2.6989…
log10  600 =   2.7781…
log10  700 =   2.8450…
log10  800 =   2.9030…
log10  900 =   2.9542…
log10 1000 =   3
log10 1100 =   3.0413…
log10 1200 =   3.0791…
log10 1300 =   3.1139…

kifuwarabe-futsu.png
「 👆 対数の小数部って なんか くるくる回ってるな……」

ramen-tabero-futsu2.png
「 早よ 400倍しろだぜ」

           1倍          200倍    300倍     400倍     500倍     600倍    700倍     800倍     900倍
log10    1 =   0      ,
log10    2 =   0.3010…,    60.2…,   90.3…,  120.4…,  150.5…,  180.6…   210.7…,  240.8…,  270.9…
log10    3 =   0.4771…,    95.4…,  143.1…,  190.8…,  238.5…,  286.2…,  333.9…,  381.6…,  429.4…
log10    4 =   0.6020…,   120.4…,  180.6…,  240.8…,  301.0…,  361.2…,  421.4…,  481.6…,  541.8…
log10    5 =   0.6989…,   139.7…,  209.6…,  279.5…,  349.4…,  419.3…,  489.2…,  559.1…,  629.0…
log10    6 =   0.7781…,   155.6…,  233.4…,  311.2…,  389.0…,  466.8…,  544.7…,  622.5…,  700.3…
log10    7 =   0.8450…,   169.0…,  253.5…,  338.0…,  422.5…,  507.0…,  591.5…,  676.0…,  760.5…
log10    8 =   0.9030…,   180.6…,  270.9…,  361.2…,  451.5…,  541.8…,  632.1…,  722.4…,  812.7…
log10    9 =   0.9542…,   190.8…,  286.2…,  381.6…,  477.1…,  572.5…,  667.9…,  763.3…,  858.8…
log10   10 =   1

kifuwarabe-futsu.png
「 👆 この中で 何倍がいいか 好きな数を選べと言われたら……フーム、別に 100倍でいいのでは……」

ohkina-hiyoko-futsu2.png
「 しんすう(真数)を 勝ち数/負け数 にしなさいよ」

勝ち負け比     勝ち速度   1倍         200倍    300倍     400倍    500倍     600倍    700倍     800倍    900倍
10%,  log10  1/9 =  ー0.9542…,  ー190.8…, ー286.2…, ー381.6…, ー477.1…, ー572.5…, ー667.9…, ー763.3…, ー858.8…
20%,  log10  2/8 =  ー0.6020…,  ー120.4…, ー180.6…, ー240.8…, ー301.0…, ー361.2…  ー421.4…, ー481.6…, ー541.8…
30%,  log10  3/7 =  ー0.3679…,  ー 73.5…, ー110.3…, ー147.1…, ー183.9…, ー220.7…, ー257.5…, ー294.3…, ー331.1…
40%,  log10  4/6 =  ー0.1760…,  ー 35.2…, ー 52.8…, ー 70.4…, ー 88.0…, ー105.6…, ー123.2…, ー140.8…, ー158.4…
50%,  log10  5/5 =   0      ,     0   ,    0   ,    0   ,    0   ,    0   ,    0   ,    0   ,    0
60%,  log10  6/4 =   0.1760…,    35.2…,   52.8…,   70.4…,   88.0…,  105.6…,  123.2…,  140.8…,  158.4…
70%,  log10  7/3 =   0.3679…,    73.5…,  110.3…,  147.1…,  183.9…,  220.7…,  257.5…,  294.3…,  331.1…
80%,  log10  8/2 =   0.6020…,   120.4…,  180.6…,  240.8…,  301.0…,  361.2…,  421.4…,  481.6…,  541.8…
90%,  log10  9/1 =   0.9542…,   190.8…,  286.2…,  381.6…,  477.1…,  572.5…,  667.9…,  763.3…,  858.8…

kifuwarabe-futsu.png
「 👆 なんか 上下対称になったな……、しかし 別に 400 に優位性を感じないが……」

ohkina-hiyoko-futsu2.png
「 じゃあ なんで 400 にしたのよ?」

ramen-tabero-futsu2.png
「 ああ、分かった。度数法だぜ」

   何勝何敗     1倍       200倍    300倍     400倍    500倍     600倍    700倍     800倍     900倍
log10  1/ 1 =   0      ,   0    ,   0   ,    0   ,   0   ,    0   ,   0   ,    0   ,    0
log10 11/10 =   0.0413…,   8.278…,  12.41…,  16.55…,  20.69…,  24.83…,  28.97…,  33.11…,  37.25…
log10 12/10 =   0.0791…,  15.83…,   23.75…,  31.67…,  39.59…,  47.50…   55.42…,  63.34…,  71.26…
log10 13/10 =   0.1139…,  22.78…,   34.18…,  45.57…,  56.97…,  68.36…,  79.76…,  91.15…, 102.54…
log10 14/10 =   0.1461…,  29.22…,   43.83…,  58.45…,  73.06…,  87.67…, 102.28…, 116.90…, 131.51…
log10 15/10 =   0.1760…,  35.21…,   52.82…,  70.43…,  88.04…, 105.6…,  123.2…,  140.8…,  158.4…
log10 17/10 =   0.2304…,  46.08…,   69.13…,  92.17…, 115.2…,  138.2…,  161.3…,  184.3…,  207.4…
log10 18/10 =   0.2552…,  51.05…,   76.58…, 102.1…,  127.6…,  153.1…,  178.6…,  204.2…,  229.7…
log10 20/10 =   0.3010…,  60.20…,   90.30…, 120.4…,  150.5…,  180.6…,  210.7…,  240.8…,  270.9…
log10 22/10 =   0.3424…,  68.48…,  102.7…,  136.9…,  171.2…,  205.4…,  239.6…,  273.9…,  308.1…
log10 24/10 =   0.3802…,  76.04…,  114.0…,  152.0…,  190.1…,  228.1…,  266.1…,  304.1…,  342.1…
log10 26/10 =   0.4149…,  82.99…,  124.4…,  165.9…,  207.4…,  248.9…,  290.4…,  331.9…,  373.4…
log10 28/10 =   0.4471…,  89.43…,  134.1…,  178.8…,  223.5…,  268.2…,  313.0…,  357.7…,  402.4…
log10 31/10 =   0.4913…,  98.27…,  147.4…,  196.5…,  245.6…,  294.8…,  343.9…,  393.0…,  442.2…

ramen-tabero-futsu2.png
「 👆 こういうことだろ」

kifuwarabe-futsu.png
「 400倍の列だけ 抜き出してくれだぜ」

   何勝何敗     1倍       400倍    およそ 度数法で
log10  1/ 1 =   0      ,   0   ,     0°
log10 11/10 =   0.0413…,  16.55…,    15°
log10 12/10 =   0.0791…,  31.67…,    30°
log10 13/10 =   0.1139…,  45.57…,    45°
log10 14/10 =   0.1461…,  58.45…,    60°
log10 15/10 =   0.1760…,  70.43…,    75°
log10 17/10 =   0.2304…,  92.17…,    90°
log10 18/10 =   0.2552…,  102.1…,   105°
log10 20/10 =   0.3010…,  120.4…,   120°
log10 22/10 =   0.3424…,  136.9…,   135°
log10 24/10 =   0.3802…,  152.0…,   150°
log10 26/10 =   0.4149…,  165.9…,   165°
log10 28/10 =   0.4471…,  178.8…,   180°
log10 31/10 =   0.4913…,  196.5…,   195°
log10 33/10 =   0.5185…,  207.4…,   210°
log10 34/10 =   0.5314…,  212.5…,   210°
log10 36/10 =   0.5563…,  222.5…,   225°
log10 37/10 =   0.5682…,  227.2…,   225°
log10 40/10 =   0.6020…,  240.8…,   240°
log10 43/10 =   0.6334…,  253.3…,   255°
log10 47/10 =   0.6720…,  268.8…,   270°
log10 51/10 =   0.7075…,  283.0…,   285°
log10 56/10 =   0.7481…,  299.2…,   300°
log10 61/10 =   0.7853…,  314.1…,   315°
log10 67/10 =   0.8260…,  330.4…,   330°
log10 73/10 =   0.8633…,  345.3…,   345°
log10 79/10 =   0.8976…,  359.0…,   360°
log10 87/10 =   0.9395…,  375.8…,   375°
log10 94/10 =   0.9731…,  389.2…,   390°
log10 103/10 =   1.012…,   405.1…,   405°

ramen-tabero-futsu2.png
「 👆 まあまあ 15° ずつで キリのいい数字が来るだろ?」

ohkina-hiyoko-futsu2.png
「 来てるのかなあ?」

図示

202312__shogi__06-0042--EloRatingDegrees.png

ramen-tabero-futsu2.png
「 👆 こうなんだが、細かすぎるのも 嬉しくないよな」

202312__shogi__06-0102--EloRatingDegrees-Chart-o2o0.png

ramen-tabero-futsu2.png
「 👆 こうかな?」

ohkina-hiyoko-futsu2.png
「 その 0~100 の数字が 分けわかんなくない?」

202312__shogi__06-0102--EloRatingDegrees-Chart-o2o1o0.png

ramen-tabero-futsu2.png
「 👆 じゃあ これで」

kifuwarabe-futsu.png
「 それだと 勝率70% が分かんないぜ」

勝率70%って何?

ramen-tabero-futsu2.png
「 勝率70% って、10局やったら7回勝つということかだぜ?」

ohkina-hiyoko-futsu2.png
「 やっぱ 勝った数/(勝った数+負けた数) の方が 分かりやすかったんじゃない?」

ramen-tabero-futsu2.png
「 m回やったら1回勝てる
100回やったら n回勝てる
人は どっちの記法の方が分かりやすいんだぜ?」

kifuwarabe-futsu.png
「 両方併記したらどうだぜ?」

その前に整理

202312__shogi__07-2127--EloRatingDegreesCjart.png

y = 400 log10 x

ramen-tabero-futsu2.png
「 👆 えーと、計算で求めて」

202312__shogi__06-1934--EloRatingDegreesCjart-o2o0.png

ramen-tabero-futsu2.png
「 👆 その前に 整理しておくぜ」

ohkina-hiyoko-futsu2.png
「 めっちゃ不便な地下鉄の路線図みたいね」

kifuwarabe-futsu.png
「 その表を勝率に変えてくれだぜ」

勝率

202312__shogi__06-2237--EloRatingDegreesCjart-WinRate-o2o0.png

ramen-tabero-futsu2.png
「 👆 はあ、疲れた」

暗記方法を思案

ramen-tabero-futsu2.png
「 じゃあ、暗記方法を考えようぜ?」

ohkina-hiyoko-futsu2.png
「 じゃあ ラジアンを 度数法に変えるのが 400 なの?」

ramen-tabero-futsu2.png
「 180 を 円周率で割ったら およそ 57.3 だしなあ。 400 なんか どこで見つけたんだろうなあ?」

定数K

ohkina-hiyoko-futsu2.png
「 イロ・レーティングが 0 なら 勝率50% ねえ。
120 なら 勝率33% ぐらい」

ramen-tabero-futsu2.png
「 だいぶ ずれるな」

ohkina-hiyoko-futsu2.png
「 イロ・レーティングが 190 ぐらいなら 勝率25%、
240 ぐらいで 勝率20%、
270 ぐらいで 勝率16.6666% ぐらい、
315 ぐらいで 勝率14% ぐらい、
345 ぐらいで 勝率12% ぐらい、
390 ぐらいで 勝率10% ぐらいよ」

ramen-tabero-futsu2.png
「 ずれるなあ」

kifuwarabe-futsu.png
「 お母んの見てる早見表、定数Kが 16 になってないかだぜ?」

ohkina-hiyoko-futsu2.png
「 あちゃ~」

ramen-tabero-futsu2.png
「 定数Kなんて どうとでも設定できるしなあ」

1辺の長さが45の正九角形

ohkina-hiyoko-futsu2.png
「 1辺の長さが50の正八角形にした方が楽じゃない?」

ramen-tabero-futsu2.png
「 正9角形の方がいいかも。1辺の長さは45」

kifuwarabe-futsu.png
「 攻めるなあ」

ramen-tabero-futsu2.png
「 じゃあ 次回はそれで」

(📅 2023-12-07 thu) 正九角形

ramen-tabero-futsu2.png
「 正九角形か~ それも4重の」

202312__shogi__07-1954--EloRatingDegreesCjart-Nonagon-o2o4o0.png

ramen-tabero-futsu2.png
「 👆 五重にしたった」

ohkina-hiyoko-futsu2.png
「 どうやって暗記すんの?」

ramen-tabero-futsu2.png
「 レーティング差の下2桁を 00 にして、4で割る。その数字が 3 なら、頭は .000 になるかな」

kifuwarabe-futsu.png
「 肝心の 有効部の数は 何なんだぜ?」

ramen-tabero-futsu2.png
「 さっきの 3 を 5倍して、 レーティング差の下2桁から 引く」

ohkina-hiyoko-futsu2.png
「 早見表が欲しいわねえ」

暗記の早見表

202312__shogi__07-2336--EloRatingDegreesChart-Nonagon-o2o1o0.png

ramen-tabero-futsu2.png
「 👆 こうかな」

202312__shogi__08-0110--LogarithmSpiral.png

ramen-tabero-futsu2.png
「 👆 暗記表の暗記方法も 付けておこう」

(📅 2023-12-08 fri) 95

ohkina-hiyoko-futsu2.png
「 位相が 95 だったら どうすんの?」

ramen-tabero-futsu2.png
「 45の倍数で 末尾が 95 になる例を調べるか」

  0
 45
 90
135
180
225
270
315
360
405
450
495
540
585
630
675
720
765
810
855
900

ramen-tabero-futsu2.png
「 👆 面白。一周するぜ」

kifuwarabe-futsu.png
「 9の倍数と、その半分で できているな」

度  有効部
  0,    1
 45,    0.75
 90,    0.6
135,    0.5
180,    0.33
225,    0.25
270,    0.2
315,    0.17
360,    0.14
405,    0.1
※以下、類推
450,    0.75 ?
495,    0.6 ?
540,    0.5 ?
585,    0.33 ?
630,    0.25 ?
675,    0.2 ?
720,    0.17 ?
765,    0.14 ?
810,    0.1 ?
855    ?
900    0.1

ramen-tabero-futsu2.png
「 👆 ダメか、数が合わないぜ」

ohkina-hiyoko-futsu2.png
「 調べるしかなくない?」

202312__shogi__08-2208--EloRatingDegreesChart-o4o1o0.png

ramen-tabero-futsu2.png
「 👆 15°ずつ調査だ! あっ! 時計の形になってる!」

kifuwarabe-futsu.png
「 どこが 時計の形になってるんだぜ?」

202312__shogi__08-2322--EloRatingClockChart.png

ramen-tabero-futsu2.png
「 👆 ここがだぜ!」

ohkina-hiyoko-futsu2.png
「 暗記しにくく なってない?」

202312__shogi__09-0126--LogarithmSpiral.png

ramen-tabero-futsu2.png
「 👆 改訂!」

202312__shogi__09-0238--EloRatingSystem.png

ramen-tabero-futsu2.png
「 👆 暗記方法も見直したぜ」

(📅 2023-12-09 sat) 400倍する理由

202312__shogi__10-1631--BugFixAbout1980.png
ramen-tabero-futsu2.png
「 👆 400倍しておくと、yが15ずつ増えていくとき、xは 有効桁数の整数が被らず並ぶのかあ。
自然数とマッピングしたんだな」

kifuwarabe-futsu.png
「 なんのこっちゃ」

備考: 真数ゼロの位置

ramen-tabero-futsu2.png
「 時計の 12時~4時、4時~8時、8時~12時で 3パターンあるのは
400単位ではなく 405単位 だからだぜ」

ohkina-hiyoko-futsu2.png
「 なんで 1周 1215 じゃなくて 1200 なの?」

ramen-tabero-futsu2.png
「 15ずつ増やしていくと たまたま 1200 が途中で来たんだぜ。
上図で 真数ゼロ を 12時の方に入れたが、
真数ゼロを 11時の方に入れれば 同じことだぜ」

備考: 405

kifuwarabe-futsu.png
「 405 というのは お父んが 15 単位にしたからか。 15 * 27 = 405

ramen-tabero-futsu2.png
「 5、10、15 の3段階あるから、
0~400 で一周するはずの対数が
405、810、1215 の 3段階要るようになってしまったんだぜ」

ramen-tabero-futsu2.png
「 400 じゃなく、 405 を掛けたら どんな数列だったんだろな?」

kifuwarabe-futsu.png
「 15 単位にならない」

ramen-tabero-futsu2.png
「 そうか~」

(📅 2023-12-10 mon) R0 が仮に 2000 とか、1500 という理由は?

ohkina-hiyoko-futsu2.png
「 イロは R0 を完全任意だが仮決めで 2000 としたみたいで、慣習的には 1500 が使われることが多いそうだけど、
この数の優位性は何なの?」

ramen-tabero-futsu2.png
「 レーティング 2000 なら x は 100_000 (十万) で 8時。キリがいいぜ。
数が好きなら 2000 はキリ番だから選ぶだろうなんだぜ。
y = 2000 の優位性はキリがいいからだぜ」

ramen-tabero-futsu2.png
「 慣習的には 1500、 3時か~ x = 5600 の優位性って何だろな~。
慣習的なものは 分からんぜ」

備考: 対数の法則

kifuwarabe-futsu.png
「 この対数螺旋に なんか 法則ねーの?」

ramen-tabero-futsu2.png
「 4時間で 10倍だぜ」

備考: yが105増えると、xはだいたい2倍前後

kifuwarabe-futsu.png
「 他には?」

ramen-tabero-futsu2.png
「 yが105増えると、つまり、1時間で xはだいたい2倍前後だぜ」

kifuwarabe-futsu.png
「 ほんとか?」

             yが105増えた

y    x             y    x             倍率
---- -----            ---- ----------    -------------
000  1.0              105  1.8           1.8
015  1.1              120  2.0           1.8
030  1.2              135  2.2           1.8
045  1.3              150  2.4           1.8
060  1.4              165  2.6           1.9
075  1.5              180  2.8           1.9
090  1.7              195  3.1           1.8

105  1.8              210  3.4           1.9
120  2.0              225  3.7           1.9
135  2.2              240  4.0           1.8
150  2.4              255  4.3           1.8
165  2.6              270  4.7           1.8
180  2.8              285  5.2           1.9
195  3.1              300  5.6           1.8

210  3.4              315  6.1           1.8
225  3.7              330  6.7           1.8
240  4.0              345  7.3           1.8
255  4.3              360  7.9           1.8
270  4.7              375  8.7           1.9
285  5.2              390  9.5           1.8

300  5.6              405  10            1.8 ★レーティング1500もここ
315  6.1              420  11            1.8
330  6.7              435  12            1.8
345  7.3              450  13            1.8
360  7.9              465  15            1.9
375  8.7              480  16            1.8
390  9.5              495  17            1.8

405  10               510  19            1.9
420  11               525  21            1.9
435  12               540  22            1.8
450  13               555  24            1.8
465  15               570  27            1.8
480  16               585  29            1.8
495  17               600  32            1.9

510  19               615  33            1.7
525  21               630  38            1.8
540  22               645  41            1.9
555  24               650  45            1.9
570  27               675  49            1.8
585  29               690  53            1.8

600  32               705  58            1.8
615  33               720  63            1.9
630  38               735  69            1.8
645  41               750  75            1.8
650  45               765  82            1.8
675  49               780  89            1.8
690  53               795  97            1.8

705  58               810  11_0          1.9
720  63               825  12_0          1.9
735  69               840  13_0          1.9
750  75               855  14_0          1.9
765  82               870  15_0          1.8
780  89               885  16_0          1.8
795  97               900  18_0          1.9

810  11_0             915  19_0          1.7
825  12_0             930  21_0          1.8
840  13_0             945  23_0          1.8
855  14_0             960  25_0          1.8
870  15_0             975  27_0          1.8
885  16_0             990  30_0          1.9

900  18_0             1005  33_0         1.8
915  19_0             1020  35_0         1.8
930  21_0             1035  39_0         1.9
945  23_0             1050  42_0         1.8
960  25_0             1065  46_0         1.8
975  27_0             1080  50_0         1.9
990  30_0             1095  55_0         1.8

1005  33_0            1110  60_0         1.8
1020  35_0            1125  65_0         1.9
1035  39_0            1140  70_0         1.8
1050  42_0            1155  77_0         1.8
1065  46_0            1170  84_0         1.8
1080  50_0            1185  92_0         1.8
1095  55_0            1200  10_00        1.8

1110  60_0            1215  11_00        1.8
1125  65_0            1230  12_00        1.8
1140  70_0            1245  13_00        1.9
1155  77_0            1260  14_00        1.8
1170  84_0            1275  15_00        1.8
1185  92_0            1290  17_00        1.8

kifuwarabe-futsu.png
「 👆 1.7 ~ 1.9 倍だな」

ramen-tabero-futsu2.png
「 そんなもんか。2倍いかないんだな」

ohkina-hiyoko-futsu2.png
「 慣習的に使われる 1500 の優位性って、何もなくない?」

ramen-tabero-futsu2.png
「 105 を足した 1605 のレーティングが 10000 だぜ」

備考: 2時間で3倍、 3時間で6倍ぐらい

kifuwarabe-futsu.png
「 1時間で、2倍。
4時間で 10倍。 他には?」

ramen-tabero-futsu2.png
「 2時間で 3倍、
3時間で6倍 ぐらいだぜ」

kifuwarabe-futsu.png
「 じゃあ 5時間で19倍、 6時間で 32倍、  7時間で 58倍か?」

ramen-tabero-futsu2.png
「 気づいたか」

202312__shogi__10-1732--Logarithm-o2o8o0.png

ramen-tabero-futsu2.png
「 👆 表ができたな」

(📅 2023-12-10 mon ⏰ 20:33) 対局結果による点数移動

ohkina-hiyoko-futsu2.png
「 勝ったり 負けたりすると どんなけ点が移動するの?」

ramen-tabero-futsu2.png
「 ウィキペディアの例によると」

📖 イロレーティング

R'A = RA + K * WBA
R'B = RB - K * WBA

ramen-tabero-futsu2.png
「 👆 勝った方が A とするとき、
B の元の勝率が A のレーティングに足され、
B のレーティングからは引かれるようだぜ」

kifuwarabe-futsu.png
「 例を見せてくれだぜ」

   Rating
   ------
A  1750
B  1600

ramen-tabero-futsu2.png
「 👆 A のレーティングが 1750、 B のレーティングが 1600 とするとき、
レーティングの差は 150。
Aから見た勝率 WAB は暗記から ざっと 2時で 75%、
Bから見た勝率 WBA は暗記から ざっと 25% だぜ」

ohkina-hiyoko-futsu2.png
「 勝率が移動するって どういうことなの?」

ramen-tabero-futsu2.png
「 K定数というのがあって、 32 や 16 を使うらしいが、 仮に 32 だとしよう」

R'A = 1750 + 32 * 0.25
    = 1750 + 8
    = 1758

R'B = 1600 - 32 * 0.25
    = 1600 - 8
    = 1592

ramen-tabero-futsu2.png
「 👆 動いたな」

32 や 16 の優位性は?

kifuwarabe-futsu.png
「 32 や 16 が他の数より優れているのかだぜ? もし優れているのなら、それは なぜだぜ?」

ramen-tabero-futsu2.png
「 レーティングが変動するためには、
まあ 0未満の小数でもいいけど、
人の扱いやすさとしては 自然数の 1 以上であってほしいと仮定しようぜ」

ohkina-hiyoko-futsu2.png
「 対局は レーティング差が 400 以内で行われると 仮定しましょう」

ramen-tabero-futsu2.png
「 暗記で、レーティング差が 400 のときは、
レーティング上位者が勝つ確率 90%、
レーティング下位者が勝つ確率  9% だぜ」

kifuwarabe-futsu.png
「 両者 足して 100% にならない お父んの暗記表 わらう。
ゼロサムが崩れてるぜ」

ramen-tabero-futsu2.png
「 概算だしな」

   Rating
   ------
A  2000
B  1600

   Constant
   ----
K  32

R'A = RA + K * WBA
    = 1600 + 32 * 0.09
    = 1600 + 2.88
    = 1602.88

R'B = RB - K * WBA
    = 1600 - 32 * 0.09
    = 1600 - 2.88
    = 1597.12

ramen-tabero-futsu2.png
「 2.88 かあ。 自然数にマッピングするという観点からは 1 でもいいのでは?」

ohkina-hiyoko-futsu2.png
「 16 なら 1.44 よ」

kifuwarabe-futsu.png
「 K は 11 じゃダメなのかだぜ?」

ramen-tabero-futsu2.png
「 さあ?」

実装

kifuwarabe-futsu.png
「 イロ・レーティングを実装してくれだぜ」

ramen-tabero-futsu2.png
「 式は あるわけだし、 あとは ジャンケンでもしてればいいのでは?」

ohkina-hiyoko-futsu2.png
「 👇 記事を変えて やりましょう」

📖 イロ・レーティングって何だぜ(^~^)?<その2>

暗記表の計算式は?

ramen-tabero-futsu2.png
「 おっと、 暗記していては プログラムに落とし込めないぜ」

kifuwarabe-futsu.png
「 数式があるだろ」

y = 400 * log10 x

ohkina-hiyoko-futsu2.png
「 x は どんな式なの?」

            y = 400 * log10 x
400 * log10 x = y
      log10 x = y / 400

ramen-tabero-futsu2.png
「 log10 って どうやって 移項するんだったかな……」

kifuwarabe-futsu.png
「 👇 ググれだぜ」

📖 x=-log y これを移項してy=の式にすることってできますか。

ramen-tabero-futsu2.png
「 対数の逆は 指数か……?」

            y = 400 * log10 x
400 * log10 x = y
      log10 x = y / 400
            x = 10 ^ (y / 400) ← ??

ramen-tabero-futsu2.png
「 👆 こうか?」

kifuwarabe-futsu.png
「 計算機によると、違うそうだぜ」

ohkina-hiyoko-futsu2.png
「 両辺に 1 / log10 1 を掛けたらどうなの?」

                            y = 400 * log10 x
                400 * log10 x = y
                      log10 x = y / 400
      log10 x * (1 / log10 1) = y / 400 * (1 / log10 1)  ← ??
                            x = y / 400 * (1 / log10 1)  ← ??
                            x = (y / 400) / log10 1  ← ??
 ``

![ramen-tabero-futsu2.png](https://crieit.now.sh/upload_images/d27ea8dcfad541918d9094b9aed83e7d61daf8532bbbe.png)  
「 👆 こうか?」  

![kifuwarabe-futsu.png](https://crieit.now.sh/upload_images/beaf94b260ae2602ca8cf7f5bbc769c261daf8686dbda.png)  
「 計算機によると、違うそうだぜ」  

![ramen-tabero-futsu2.png](https://crieit.now.sh/upload_images/d27ea8dcfad541918d9094b9aed83e7d61daf8532bbbe.png)  
「 その計算機に 答えを聞いてくれだぜ」  

![kifuwarabe-futsu.png](https://crieit.now.sh/upload_images/beaf94b260ae2602ca8cf7f5bbc769c261daf8686dbda.png)  
「 👇 WolframAlpha によると、 400x だそうだぜ」  

📖 [400 * x = 400 * log10 x](https://www.wolframalpha.com/input?i=400+*+x+=+400+*+log10+x&assumption={"FunClash",+"log"}+-%3E+{"Log10"}&lang=ja)  

![ramen-tabero-futsu2.png](https://crieit.now.sh/upload_images/d27ea8dcfad541918d9094b9aed83e7d61daf8532bbbe.png)  
「 そうは ならんやろ」  

![ramen-tabero-futsu2.png](https://crieit.now.sh/upload_images/d27ea8dcfad541918d9094b9aed83e7d61daf8532bbbe.png)  
「 `400 * log10 10` は 400、  
`400 * log 100` は 800、  
じゃあ、  
`400 なら 10`、  
`800 なら 100` なのは なんでだぜ?」    

![ohkina-hiyoko-futsu2.png](https://crieit.now.sh/upload_images/96fb09724c3ce40ee0861a0fd1da563d61daf8a09d9bc.png)  
「 40 で割ったり、 8 で割ったんじゃないの?」  

![kifuwarabe-futsu.png](https://crieit.now.sh/upload_images/beaf94b260ae2602ca8cf7f5bbc769c261daf8686dbda.png)  
「 👇 指数の逆関数が 対数なのだから、  
対数の逆関数は 指数になるんじゃないのかなあ?」  

📖 [【標準】指数関数の逆関数](https://math.nakaken88.com/textbook/standard-inverse-function-exponential-function/)  

```plaintext
            y = 400 * log10 x
400 * log10 x = y
      log10 x = y / 400
            x = 10 ^ (y / 400) ← ??

ramen-tabero-futsu2.png
「 👆 この式は さっき やったぜ」

kifuwarabe-futsu.png
「 計算機によると、違うそうだぜ」

            y = 400 * log10 x
400 * log10 x = y
      log10 x = y / 400
            x = 10 ^ log10(y / 400) ← ??

ramen-tabero-futsu2.png
「 👆 じゃあ これでどうか?」

kifuwarabe-futsu.png
「 計算機によると、違うそうだぜ」

ramen-tabero-futsu2.png
「 その計算機に 答えを聞いてくれだぜ」

kifuwarabe-futsu.png
「 👇 WolframAlpha によると、 10 ^ (x/400) だそうだぜ」

📖 10 ^ (x/400)

ramen-tabero-futsu2.png
「 検算してみたが、合ってないぜ」

kifuwarabe-futsu.png
「 お父んの 入力方法が おかしいのでは? こうだろ」

(カタカタカタカタ)

ramen-tabero-futsu2.png
「 あっ、有効桁数が2桁になった!」

ramen-tabero-futsu2.png
「 じゃあ y = 10 ^ (x / 400) だぜ!」

ohkina-hiyoko-futsu2.png
「 Python で実装してみましょう」

次の関連記事

📖 イロ・レーティングって何だぜ(^~^)?<その2>

.

ツイッターでシェア
みんなに共有、忘れないようにメモ

むずでょ

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント