Skip to content

Instantly share code, notes, and snippets.

@memetor
Last active August 29, 2015 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save memetor/d089f8ba2a5dcba91ba5 to your computer and use it in GitHub Desktop.
Save memetor/d089f8ba2a5dcba91ba5 to your computer and use it in GitHub Desktop.

AVA Ratingの仕様

データソース

クラン戦結果で得られる試合結果全て。

クランのレーティング計算式

レートRA,RBを保持するA,Bが対戦しAが勝利した場合

  • RA > RBなら(レートが高い方が勝ったら)
RA += 16 - abs(RA-RB)*0.04
RB -= 16 - abs(RA-RB)*0.04
  • RA < RBなら (レートが低い方が勝ったら)
RA += abs(RA-RB)*0.04 + 16
RB -= abs(RA-RB)*0.04 + 16

abs(x-y)はx,yの差の絶対値。+=は現在の値に加算、-=は減算。

補足

  • 例外として、レート差が363以上(極端に大きい場合)の変動値は1または31とする
  • 初期値はR1500
  • 以上の計算以外は何もしない

個人のレーティング

個人レートの平均をチーム内で求めて、クランのレーティングの式に入れている。 同じ式を使っているだけで、クランのレーティングとは全く関係が無い。

5vs5の例

{Ra1,Ra2,Ra3,Ra4,Ra5},{Rb1,Rb2,Rb3,Rb4,Rb5}で構成されたA,Bが対戦しAが勝利した場合。

ARA = (Ra1 + Ra2 + Ra3 + Ra4 + Ra5) / 5  (チームAの平均レート)
ARB = (Rb1 + Rb2 + Rb3 + Rb4 + Rb5) / 5  (チームBの平均レート)
  • ARA > ARBなら (平均レートが高い方が勝ったら)
16 - abs(ARA-ARB)*0.04 の値をチームA全員に加算
16 - abs(ARA-ARB)*0.04 の値をチームB全員に減算
  • ARA < ARBなら (平均レートが低い方が勝ったら)
abs(ARA-ARB)*0.04 + 16 の値をチームA全員に加算
abs(ARA-ARB)*0.04 + 16 の値をチームB全員に減算

計算から除外した試合

以下の条件に当てはまる場合、計算から除外する

  • 試合終了時に人数差があったもの
  • 運営から存在を消されたクランと対戦した試合

全体の6.8%程度の試合が計算から除外されている(2012/07/26時点)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment