将棋レーティング

コメントはこちらへ

Ruby言語を用いた将棋レーティングプログラムを作ったので紹介します。

●Bradley-Terry モデル

本プログラムは Bradley-Terry モデルに基づいており、レーティング関数が折れ線
ではなく滑らかな曲線(双曲線関数 tanh)になっている点が、世の中で行われている
レーティングと若干異なります。Rate Xの棋士の Rate Yの棋士に対する予測勝率は、

         3 の ( X / 200)乗
------------------------------------
 3 の ( X / 200)乗 + 3 の ( Y / 200 )乗

であるとしています。

●実行結果の例 (# の行はここでの解説のため手動で付けたコメントです)

 【計算結果】  注:「対 n 勝数」は勝数の"予測数(実績数)"

 No 名前   [ Rate]: 対 1 勝数 対 2 勝数 対 3 勝数 対 4 勝数 対 5 勝数 対 6 勝数
 1 名人A級 [ 2730]:  0.0(  0) 61.1( 59) 54.9( 52) 39.4( 39) 23.8( 29) 11.9( 12)
 2 B級1組  [ 2643]: 37.9( 40)  0.0(  0) 38.2( 37) 26.0( 29) 28.4( 27) 12.5( 10)
 3 B級2組  [ 2621]: 30.1( 33) 33.8( 35)  0.0(  0) 51.6( 50) 97.6( 92) 37.9( 41)
 4 C級1組  [ 2613]: 20.6( 21) 22.0( 19) 49.4( 51)  0.0(  0)133.6(140) 85.4( 80)
 5 C級2組  [ 2576]: 10.2(  5) 19.6( 21) 76.4( 82)109.4(103)  0.0(  0)119.3(124)
 6 フリーC [ 2413]:  2.1(  2)  3.5(  6) 12.1(  9) 28.6( 34) 48.7( 44)  0.0(  0)

# 週刊将棋2001年9月12日号にクラス間の勝敗データが掲載されていますが、これを再現
# できるか計算してみたものです。概ね妥当な結果になっているようです。Rate の絶対
# 値は任意ですが、全体の平均が2600点になるように調整しました。これは世の中で流通
# しているアマチュアのレートから推定したプロの値とくらべると少し高めだそうです。

2005-03-31付けの計算結果
# 2004年度の成績に基づくレーティングです。

2005-12-31付けの計算結果

# 最近1年(205年1月初〜2005年12月末)の対局記録をもとにした個人別レーティングを
# 計算したものです。勝敗が未発表のテレビ棋戦の結果は除外、プロ棋士と対戦した
# アマチュア棋士はまとめてひとりの棋士とみなしています。なおこのデータはレート
# の収束速度の制限のため、上記対局で勝数・負数の何れかが4未満の棋士は計算対象外
# となっています。

●参考文献

[1] 竹内啓・藤野和建『スポーツの数理科学』(共立出版 1988)
[2] 湯川博士「将棋大好き大集合! 第4回 レーティング普及家・松田竹二郎」
                                      (週刊将棋1991年1月30日号)
[3] 鈴木宏彦「25万手スペシャル 2001年度バージョン 第4回」
                                      (週刊将棋2001年9月12日号)


トップページ