Рейтинг игроков, рейтинг Эло. Немного математика есть в каждом Оо

Ссылка на официальный ман по рейтингу эло — Рейтинг Эло.

Применим на практике?

Допустим, у нас 2 команды с рейтингами:

1
2
$rating_a = 800;
$rating_b = 500;

Расчитаем вероятность победы первой команды:

1
$e = 1/(1+pow(10, ($rating_b-$rating_a)/400));

Дальше опишу простую функцию для расчета коэффициена, необходимого для участия в финальном рейтинге:

1
2
3
4
5
6
7
8
9
10
11
12
function EloK($rating)
{
    if ($rating >= 2400) {
        return(10);
    }
    elseif ($rating >= 1000) {
        return(15);
    }
    else {
        return(25);
    }
}

Простая хуйня, иллюстрирующая, что значение равно 10 для сильнейших команд (рейтинг от 2400), 15 — для команд с рейтингом меньше чем 2400 и 25 — для новичков.

Ну и получим новый рейтинг по самой формуле:

1
2
3
4
5
6
$new_rating_a = $rating_a + EloK($rating_a) * (1 - $e);
$new_rating_b = $rating_b + EloK($rating_b) * (0 - (1-$e));

print $new_rating_a;
print ' / ';
print $new_rating_b;

Результат:

803.77448893 / 496.22551107

Вот такие пироги. Да, будет введено на Live-CS…

Тэги: , , ,

 

Опубликовано 05.09.2009 в 22:49. В рубриках: По вебу. Вы можете следить за ответами к этой записи через RSS 2.0.
Вы можете оставить свой отзыв или трекбек со своего сайта.

Комментарии (12):

  1. Равшан пишет:

    Спасибо, хорошая системка, доработать бы. и было бы всё вообще супер.

  2. 407kuu_napenb пишет:

    Есть верх рейтинга для команды тоесть момент когда уже по сотым долям идет рейтинг ?

  3. acee пишет:

    А есть еще подобные системы?? Даже интересно стало…
    Пишу щас онлайн игру. Понадобится для рэйтинга.

    • системы есть
      более того, можно даже самому придумать…

      • acee пишет:

        )))) самому придумать, то всегда можно…
        интересно посмотреть, хорошие системы, потом свою составить..

        • чем эта не хороша?
          многие на ней базируются

          • acee пишет:

            думаю, она лучшая… + еще тот факт, что ей пользовались на шахматных играх )
            но, согласись… посмотрев все лучшее, убрав недостатки и собрав только плюсы… получится, что-то куда более лучше… но в то же время тут и недостатков то вроде бы нету :)

  4. Пора бы ввести учет эффективности, не?
    Например мы имеем команду со скилом 1600
    и играем против команды со скиллом 590 у который эффективность 100 %
    По текущей формуле нам дают 0.01
    Думаю стоит как нибудь доработать, иначе это безобразие.

    Хотя в принципе, если каждые 3 месяца обнулять статистику, то не будем таких проблем.

    зы. стоит разрграничить 1х1 и 5х5, а то весь процесс пробивания в топ 10 теряет смысл, всякие потные уебки днями и ночами безвылазно играют 1на1 на ножах.

Оставьте свой комментарий




Вы можете использовать теги ↓