ホームページ

バックギャモンサーバーのレート計算方法について

バックギャモンを遊べるサーバーでは、対戦成績がレーティングという値に反映されるレーティングシステムが採用されている場合が多いのですが、その計算方法については、あまり十分に記述されていません。たとえば、ヤフーゲームでは、レーティングについてにその概要が説明されていますが、どこにも計算式が書かれていないため、具体的な計算方法は分かりません。このページでは、バックギャモンサーバーのレート計算方法について記述します。また、将棋、チェスなどのレート計算方法との比較も試みます。

FIBS (First Internet Backgammon Server)

FIBSでは、レーティングの計算方法が解説されています。その解説によれば、FIBSでは以下のようにレーティングが計算されます。

まずは、期待勝率が以下のように計算されます。

E = 1-(1/(10^(D*√N/2000)+1))
ただし、 E: 期待勝率, D: レーティングの差 (自分 - 相手), N: マッチの長さ

そして、K (Match value) が以下の式から計算されます。

K = 4*√N

このようにして求めれたEとKから、レート変動が以下のように計算されます。

勝った場合: レート上昇 = K * (1-E)
負けた場合: レート下降 = K * E

経験値が400になるまでの間は、さらに以下の補正が行われます。

(新しいレート変動値) = (古いレート変動値) * (5 - (試合終了時の経験値/100)

例えば、自分のレートが1500、相手のレートが1700で、5ポイントマッチをして勝ったとします。まず、経験値が400以上の場合には、D=-200, N=5より

E = 1-(1/(10^(-200*√5/2000)+1)) = 0.374
となり、レート上昇は
K * (1-E) = 4√5 * (1-0.374) = 3.35
つまり、試合後のレートは1503.35となります。ここで、経験値が0だった場合には、試合後の経験値が5になるので、5-5/100 = 4.95倍のレート変動、つまり 3.35 * 4.95 = 16.58 のレート変動となります。

このFIBSのレーティングの式は、「期待勝率がレーティング差のロジスティック曲線によって表される」というチェスのEloの式を元にしています。ポイントマッチの才のマッチポイントの長さをどう評価するか、という点が式に入っています。

GamesGrid

GamesGrid Backgammonではレートシステムの解説にあるように、FIBSと非常に似通ったレートシステムが採用されています。ところが、実際にレート変動をFIBSの式に入れてみると、若干値が異なります。つまり、FIBSの式そのものではなく、若干修正した式を用いているようです。

また、経験値が少ないときの補正に関しては、経験値が500までの期間についてレート変動が大きくなるという補正をしているようです。

いくつかのレート変動の値からGamesGridにおける計算式を推定しようと試みたころ、以下の事実が分かりました。

  1. 1ポイントマッチと2ポイントマッチではレート変動が等しい。つまり、2ポイントマッチではN=1として計算がされている。これは、2ポイントマッチではイニシャルキューブを打てば実質的に1ポイントマッチと変わらないためであると考えられる。
  2. Match value の式に関しては、FIBSと同じ K = 4*√N が採用されている。
  3. 期待勝率の関数形は、おそらくロジスティック関数形を採用している。

レーティングの計算式に関しては、以下の式を仮定してみます。

E = 1-(1/(10^(D/a)+1))
a = b/(N^c)
ただし、b,cは定数

この式で、b=2000, c=0.5 とすると、FIBSの式に等しくなります。b=2100, c=5/9 とすると、FIBSの式よりもGamesGridのレート変動に近くなるのですが、まだ一致しません。もしかすると、もう少し複雑な計算式が使われているのかもしれません。

[Note] この式において、cの値は「マッチが長くなることによって上位者が有利になる度合い」をあらわし、bの値は「実力差が同じ場合のレート差の大きさ」をあらわしている、と定性的に表現することができます。bの値は、任意に設定してかまわない値であるのに対し、cの値は、正確に定めようとすれば、数多くの対戦結果から経験的に定めるよりありません。FIBSではc=0.5と定めていますが、この値が適切であるという理論的根拠はありません。GamesGridでは、a = b/(N^c) のところを a = f(N)と表記して、経験的に定められた関数を使っている可能性もあります。[/Note]

ヤフーゲーム

ヤフーゲームのレーティング計算方法については、分かりません。 なにか分かったら、ここに加筆します。 ご存知の方は、教えていただけると幸いです。

Yahoo! Games

米国版 Yahoo! Gamesでは、FIBSの式が使われているとのことです。

他のボードゲームとの比較

3種類のボードゲームについて、レーティング計算方法の比較表を作成しました。

ゲーム場所期待勝率の関数形関数のパラメータ
バックギャモンFIBSロジスティック1)a=2000/√N, K=4*√N
チェスFIDEロジスティック1)a=400, K=10〜25
将棋将棋道場24線形2)a=400, K=32
  1. ロジスティック:E = 1 - (1/(10^(D/a)+1))
  2. 線形:E = 0.5 + D/2a (-a < D < a)

このように、レートの計算には期待勝率がレーティング差のロジスティック関数であらわされるという計算法と、線形であらわされるという計算があります。そこで、ロジスティック関数と線形関数において、a=400とした計算を比較してみました。

winning probability

線形関数については、レーティング差が400を超えると、期待勝率が0から1の間におさまらなくなります。そこで、線形関数を採用する場合には、それ以上のレート差の戦いは無効であるとする必要があります。期待勝率が2割から8割の間、つまりレート差が240以内の間では、線形とロジスティックは非常に似通った関数形を示すのに対し、レート差が240以上になると、両者の差が開きます。したがって、期待勝率として線形関数を採用している場合には、このグラフの場合はレート差が400付近の相手と戦う場合に、レート上位者がかなり「損をする」といった現象が生じます。

リンク


バックギャモンのページ

ホームページ