レーティング:データ補填リーグ選択アルゴリズム改良2007年09月07日 21時52分58秒

データ補填リーグは、毎回対戦メンバーをランダムに決めている。 データ補填リーグのページに、簡単な説明が書いてあるのだが、 現在の方式に若干問題があるので、修正する。

以下、非常に細かい話なので、興味の無い人は飛ばされたい。

現在(07/09/06)までの方式を正確に書くと以下の通り。 リーグをN個作る場合、

  1. 1リーグ16チーム
  2. 最も試合数の少ない2×Nチームを選び、各リーグにランダムで2チーム登録
  3. (タイプ別)レーティングの精度が最も悪い2×Nチームを選び、 それぞれに相応しい相手チームを選び、各ペアを各リーグにランダムで2ペア(4チーム)登録
  4. タイプごとに1種類以下のチームとしか戦っていないチームがもしいれば、 最大2*Nチーム選び、各リーグにランダムで2チームを上限として登録
  5. 残った枠を、ランダムに埋める。ただし、各チームが選ばれる確率は試合数の逆数に比例する
  6. 1リーグ32機を超えてしまった場合、やり直す
  7. 6.までが1セット。1000回繰り返して1000セット作成し、そのうち未試合の組み合わせが最も多かったセットを採用する

としている。3.が複雑なので説明する。レーティングシステムの方式上、全勝 (全敗)またはそれに近い結果を得た場合は実力を測る基準がないため、かなり 高い(低い)レーティングが与えられてしまう。例えば、飛行型に全勝したチー ムがいたとする。対戦した飛行型のうちで最高の総合レーティングが1800だっ た場合、全勝チームの対飛行レーティングはだいたい24となる。

しかし、このチームの対空が本当に24もあるかどうかは疑わしい。この場合、 そのチームの強さを推し量るのに相応しい相手(例えば総合レーティング2400 の飛行型)と戦わせれば真の実力が測れよう。 そこで、レーティングの値が疑わしい(=精度の悪い)ものを優先して、それ に適切な相手と戦わせることで、レーティングの精度向上を目指す、というの が3.だ。

ただ、この処理に問題があった。未対戦のチームの中から現在のレーティング に一番近いものを対戦相手として選ぶのだ。極めて精度の悪いレーティング値 は、たいてい上の方か下の方へはるか飛び抜けることになる。先の例だと対飛 行レーティング24の相手、2400に一番近いのは今まで常にLediYastrebaだった。 この場合、LediYastreba は試合数が抜群に多いにも関わらず、強制的にリー グに組み入れられることになる。

要するに、レーティングが各タイプ別に上か下かの1位のチームはこの強制参 加で選ばれる可能性が非常に高いということだ。ごく一部少数のチームが妙に 選ばれることが多いのはこのためだ。

この偏りが目立ってきたので対策をする。相応しい相手をベストに限らずいく つか選び、その中からランダムで選ぶ。選ばれる確率は「相応しさ度合い÷試 合数」に比例させる。この変更は次回から行う。

コメント

トラックバック