2017年08月 / 07月≪ 12345678910111213141516171819202122232425262728293031≫09月

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--:--  |  スポンサー広告  |  EDIT  |  Top↑

2009.08.23 (Sun)

レーティング考

師匠ブログに珍しく(失礼m(__)m)記事がうpされていたので、24のレーティングについて少し考えてみた。後半はかなり数学なので、数学が得意な方はどうぞ^^。

まず、実際の勝率が期待勝率とマッチしているかどうかの問題を統計チックに考えてみる。大阪道場のT室での144局の平手対局をサンプルとして抽出(R差が±150~±250の対戦で引き分けのないもののみ)、上位側の勝率を調べた。結果、上位側の95勝49敗で、勝率.659であった。95%信頼区間は.582~.737である。なお、R差200点は24のシステムでは上位勝ちで+8点、下位勝ちで+24点である。すなわち、期待勝率が上位側.750が前提になっている(3勝1敗)。さらに帰無仮説:期待勝率.750は、95%の両側検定で棄却される(棄却域:.679未満)。従って、理論上の期待勝率と比べて明らかに上位側が不利である(点数を取られすぎる)。結論からいうと、+200の相手を選んで戦えば、自力が上がらなくても点数は上昇すると思われる。

さらにR差が±50~±150でも同様の調査を行ったところ、全205局中、上位側の101勝104敗であった。24では上位勝ちで+12点、下位勝ちで+20点動くので、理論上は上位側の5勝3敗(勝率.625)を想定しているが、実際はまったく互角という結果になっている。なお、95%信頼区間は.424~.561であり、理論勝率.625は95%の両側検定で明確に棄却される(棄却域:.558未満)。ここに至っては、R200上と対戦するよりもさらに率がよいものと思われる。R100上の相手とだけ指しつづければ、本来の実力より100点上げることはたやすいのではないかと思われる。ただし、無作為抽出を前提としているので、選択的な対戦を繰り返したときにどうなるかは明確ではない。

どうすれば24の点数は健全化されるか、ということを少し数式を用いて計算してみることにする(ちゃんとした文献を当たれば書いているのかも知れないが、以下は我流です)。高III(理系)+アルファ程度の数学を使うのでご了承くださいませ。

【More・・・】

前提条件として、レーティングは期待勝率を表すものと仮定する。そこでR差がx点であるときの、上位側の期待勝率をp(x)と置くことにする。R差がx+y点のときの上位側の期待勝率p(x+y)に成り立つべき条件式を考える。

x差のとき 上位:下位=p(x):1-p(x)=p(x)p(y):p(y)-p(x)p(y)
y差のとき 上位:下位=p(y):1-p(y)=p(y)-p(x)p(y):(1-p(x))(1-p(y))

であるから、p(x+y):1-p(x+y)=p(x)p(y):(1-p(x))(1-p(y))が成り立つべきである。これを解いて、

p(x+y)=p(x)p(y)/{1-p(x)-p(y)+2p(x)p(y)}

が成り立つ。p(0)=1/2と置いてよいから、この両辺からp(x)を引いてyで割り、さらに式変形をしたあとにy→0の極限を取れば、

p'(x)=4p'(0)p(x){1-p(x)}

なる微分方程式を得る。c=4p'(0)、y=p(x)とおけば、

y'=cy(1-y)

だから、これを変数分離で解けばよい。両辺をy(1-y)で割り、xについて、0からxまで積分すれば、

log(y/(1-y))=cx

なので、最終的に

y=p(x)=e^(cx)/{1+e^(cx)}

を得る。あとはcを決めれよい。先ほど抽出したサンプルデータを信頼してみることにしよう。R差200点のときの、上位側の平均勝率は.659であった。よって、p(200)=e^(200c)/{1+e^(200c)}=0.659と置いて、cを求める。そうすると

c=log(659/341)/200

を得る。したがって、これを代入すれば、

p(x)={(659/341)^(x/200)}/{1+(659/341)^(x/200)}

となる。これを元にいくつか実際に計算をしてみよう。なお理論上の点数N(x)とは、x点上の人に勝ったときに増加する点数の理論値のことである。24式に負けたときは32-N(x)とすることにする。なお、N(x)はp(x)*32で与えられる。実際の点数移動とは、24で動く点数のことである。

p(0)=0.500 N(0)=16 実際の点数移動:+16点
p(50)=0.541 N(50)=17.31 実際の点数移動:+18点(約1点得
p(100)=0.582 N(100)=18.62 実際の点数移動:+20点(約1点得
p(150)=0.621 N(150)=19.87 実際の点数移動:+22点(約2点得
p(200)=0.657 N(200)=21.02 実際の点数移動:+24点(約3点得
p(250)=0.695 N(250)=22.24 実際の点数移動:+26点(約4点得
p(300)=0.729 N(300)=23.32 実際の点数移動:+28点(約5点得
p(400)=0.789 N(400)=25.25 実際の点数移動:+31点(約6点得
p(500)=0.838 N(500)=26.82 実際の点数移動:+31点(約4点得
p(600)=0.878 N(600)=28.10 実際の点数移動:+31点(約3点得
p(700)=0.909 N(700)=29.09 実際の点数移動:+31点(約2点得
p(800)=0.933 N(800)=29.86 実際の点数移動:+31点(約1点得
p(900)=0.951 N(900)=30.43 実際の点数移動:+31点(約1点得
p(1000)=0.964 N(1000)=30.85 実際の点数移動:+31点
p(1200)=0.981 N(1200)=31.39 実際の点数移動:+31点
p(1500)=0.993 N(1500)=31.78 実際の点数移動:+31点(約1点損

ただ、これは理想的な集団(R点の移動が正しく行われていて平衡状態に達している集団)というのを前提に、200点差の勝率を基準に計算しているので、正確性に関しては多少の問題はありそうだ。そうは言っても、まずまず妥当な数字なのではないか、という気はするが。

例えば、700点差では、上位側の期待勝率0.909だが、これはほぼ10勝1敗ペースということになる。1200点差では、上位側の期待勝率0.981で、50勝1敗ペース。少なくとも、400点差で、31勝1敗で勝たないと割が合わない24の点数よりは、実感できる勝率かも知れない。

ちなみに700点差の場合、3人に一人は4対戦中に1敗を喫するという計算になる(4連勝できる確率が.682ぐらい)。700差ぐらいでは、なかなか棒には勝てないということ。

追記。関数p(x)はロジスティック関数の特別な場合にあたるシグモイド関数と呼ばれるものであるらしい。これらの関数は、個体群生態学や、薬学の問題などにも現れるそうだ。

さらに追記。24の全会員の点数を0.6倍にぐらいにすると、R点が今よりもしっくりとくるかも知れない(期待勝率との乖離がかなり小さくなると思う)。1600点ぐらいを中心にして点数の変更の一案として、以下のような変換を考えてみてはどうか。

3000→2440
2500→2140
2000→1840
1900→1780
1800→1720
1700→1660
1600→1600
1500→1540
1400→1480
1300→1420
1200→1360
1100→1300
1000→1240
900→1180
800→1120
700→1060
600→1000
500→940
19:00  |  未分類  |  TB(0)  |  CM(7)  |  EDIT  |  Top↑

*Comment

■文系人間ですが

要するに、点数ほど差は開いていないっていうことですね。
将棋は一手でいくらでも逆転するゲームですので、
尚更、差がないということになりますね(^^)。

Mackey Naya |  2009.08.23(日) 19:28 |  URL |  【コメント編集】

■ですね

まあ、そういうことになりますね。別の視点では、(こういうことは、そんなことどうでもいいじゃないか!と思う方もいらっしゃるだろうけれど)、24の点数は理論的には不健全である、とも言えます。

点数の理屈から言うと、例えば1300点の人が2400点の人とやるぐらいの点数移動が、実際は1700点の人とやるときに起きている状態です。

なるほど、格下からの挑戦を受けたくない、という人の気持ちもこれである程度説明がつくかもな、と思いましたね。
adinat0801 |  2009.08.23(日) 19:48 |  URL |  【コメント編集】

■ルンルン♪

素直に読んでいて楽しいと思いました。
高校時代は、確か広島県東部の不良校(今は違うらしい)で文系トップでしたが。。。

僕もよく20年位前に、レーティング理論について語り合いました。
あげくの果てには・・・・???
レーティング絡みの何かをした経験もありますが。
レーティング理論は話が尽きないので、今は読むだけにしてます。
T永 |  2009.08.23(日) 21:39 |  URL |  【コメント編集】

■レーティング

私も文系なので数値のことはさっぱり分かりませんが、
私はそもそもどんなことも数値に置き換えること自体、無理なことだと思っています。数値はあくまでも目安だと思っています。
keme |  2009.08.24(月) 12:49 |  URL |  【コメント編集】

数学、挫折しました^^; 抵抗した自分を褒めてあげたい。
でてきた理論上の数値はかなり説得力がありますね。自分が1100として、1500の人には三割から最悪でも二割は勝てる気がします。面白いと思ったのは、1100くらいの差があってもレーティング変動がないということです。高段に達しようかという人と1勝31敗が保てるかどうか。二枚落ちで負けかけた席主には50戦はやらないと一発入らないような気もします。ただお互い定跡形で中盤までいけば、ポカを突いて一手勝ちできる可能性もあるのかな。定跡を外して力戦に持ち込まれると、80戦くらいはしないときつそうです。

携帯将棋道場なんかは例外なく10級スタートで、再登録でも5級からですので、逆にRが低い人と対戦する方が有利になっています。すなわちRと引き換えに上位者に教えてもらえる可能性が高いというわけで、この点24と異なり一つの美点となっています。
SR |  2009.08.24(月) 15:35 |  URL |  【コメント編集】

コメントどうもです。

まあ確かに数値化にはどうしても限界はあるんだと思うのですが、ちょっと今の状態は私に取っては違和感がありますね。SRさんもおっしゃられるように、点数ほど実力が離れていないという感じがしますし、実際その通りなんじゃないかな、という気がします。
adinat0801 |  2009.08.27(木) 07:20 |  URL |  【コメント編集】

■実は妥当なのでは?

R点は、本来の実力との間に、本質的に±200ぐらいまでの誤差を許容している。
(局数が増えてもこの状況は変わらない)
そして、誤差を含む集団同士の勝率は、その平均同士から導かれる理論上の勝率と比較して
より5割に近づいていく。
だからRが±100位は誤差の範囲で「同棋力」とみなすべきであり、勝率5割は当然の結果。
また、±200くらいでも、誤差を考慮すれば、.650ぐらいで妥当。
実際のR点からイロレーティングで勝率10%は400点差だが、誤差を考慮すれば
+700でも400点差以内になるので10%は妥当な結果じゃないだろうか。
ついでに言うと、今の勝率はむしろ「平衡状態」であるため、200点上の相手に
挑戦してもR点は上がって行かないと思うよ。
ひいらぎ++(Coxiella) |  2009.09.11(金) 19:14 |  URL |  【コメント編集】

コメントを投稿する

URL
COMMENT
PASS  編集・削除するのに必要
SECRET  管理者だけにコメントを表示  (非公開コメント投稿可能)
 

▲PageTop

*Trackback

この記事のトラックバックURL

→http://adinat.blog61.fc2.com/tb.php/392-4d8fe6a4

この記事にトラックバックする(FC2ブログユーザー)

この記事へのトラックバック

▲PageTop

 | BLOGTOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。