Необычный турнир Manthan 2011 показал слабые стороны текущих формул подсчета рейтинга. После подведения результатов у победителя соревнования touristа предполагаемое изменение рейтинга оказалось равно "-1" :)
Такое возникло по причине приведения вычисленных изменений по сумме к 0. То есть Геннадий был в некотором плюсе до таких изменений, но так как сумма всех изменений не сошлась в 0 (оказалась положительной), то из всех рейтингов было немного вычтено. В качестве quick dirty hack в том раунде я отключил приведение суммы к 0, что привело к некоторой единовременной инфляции. Еще небольшой ляп: мной было замечено, что участники второго дивизиона за хорошее выступление получают слишком много баллов.
Короче, формулы были немного допилены так, что проблема с раундом Manthan 2011 не возникла бы. На "Div. 2 Only" раундах теперь участники в топе набирают не +200 баллов, а скорее +100 (конечно, здесь большая зависимость от их ожидаемого места). И вообще, теперь набирать баллы чуть сложнее, хотя не думаю, что это будет сильно заметно. На общих раундах теперь рейтинг считается совместно для участников обоих дивизионов.
P.S. На последнем раунде сначала не было отключено разделение по дивизионам, что привело к тому, что участники второго дивизиона набирали меньше участников первого при схожих результатах. Конечно, это противоречит здравой логике. Спасибо ErzhanDS-у за наблюдение. Изменения рейтингов за последний контест пересчитаны.
Новые формулы провалидированы прошедшими раундами и статистикой с TopCoder. Логика сохраняется и это радует. Думаю, что наши формулы будут и впредь немного эволюционировать. Как говориться, c'est la vie.
На всякий пожарный:
Здорово!!! Поскорей бы на Codeforces Beta Round #65 (Div. 2) протестировать.
P.s. А вот открытости формул действительно хотелось бы.
Если в начале на CF не было ни одного "красного", а теперь их полторы сотни, то, видимо, и средний рейтинг очередного раунда растет. Приходят новички, подпитывают старожилов, приходят новые новички.
Так можно тренироваться до получения приличного первичного рейтинга.
UPD. Кстати, действительно, очень много "зеленых", которые участвовали только в одном соревновании. Видимо, всё-таки, начальный рейтинг надо давать по результатам нескольких раундов. Кстати, в шахматах именно так.
И да, в шахматах такая же система
Средний рейтинг сейчас по всем участникам CF = 1504.
Если взвесить рейтинг количеством участий в контестах, то получаем 1564 (что объяснимо, т.к. есть люди, которые просто разок попробовали, не получилось, бросили).
По Codeforces Beta Round #64 средний рейтинг = 1606.
В общем, инфляция всё-таки есть, но нельзя сказать, что очень значимая.
Представил себе картину, Гена после очередной победы смотрит на свой рейтинг... "Да, -1, плохо написал..."
Ближе к теме - а когда можно будет увидеть детальные формулы? Их пока нету, потому что "сырые"? В том старом посте только 1 формула, которая показывает "куда рейтинг должен стремится", но как именно он туда стремится - непонятно.
На ТС все формулы открытые, там, при желании, можно хоть вручную пересчитывать:) И механика процесса понятней. А на КФ пока все "по ощущениям" - ага, написал неплохо, значит, рейтинг пойдет в плюс, написал плохо - значит, не изменится, написал очень плохо - упадет.
Общий план таков:
1. решаем первые три задачи
2. ломаем 15-20 человек на TLE и int64 (а таких мно-о-о-ого)
3. если останется время, решаем четвертую и пятую
4. Snarknews увековечивает твою фамилию как призера div-2
1. Второе место в одном из конкурсов прогнозов. Да, это то чем может гордиться только самый тру кодер. Поздравляю!
2. Второе место твоей команды в каком-то неизвестном турнире в Архангельске. Значит, не смог придти к успеху в своем вузе и поехал отбирать места у провинциалов? Человек, езжай в следущий раз на Чукотку, может хоть там получится выиграть.
3. Результат 2007 года, в одной команде вместе с Богом. Ясно, что это на самом деле был не ты. Наверно, однофамилец из Орла.
Так что: сперва добейся
- Растянуть график рейтинга по вертикали. Какой-то он сейчас плоский, плохо видно колебания. За эталон предлагаю взять график рейтинга TopCoder.
- Ввести возможность просмотра истории выступлений участника (лучше - публично, но можно и в личном профиле только для участника - статистика последних выступлений в формате "место, прирост рейтинга, строчка плюсов и минусов, место в рейтинге после раунда". Например, я хочу посмотреть, почему из претендента в красные (оставалось 111 очков) я скатился во второй див, а бегать по ссылкам каждого соревнования очень долго и нудно.
- Раз уж появились тэги, использовать их наполную. К некоторым задачам до сих пор нет тэгов. Так ведь если автор каждого из раундов возьмет и проставит тэги к своим задачам, работы выйдет немного для каждого в отдельности, а в сумме получится хорошо.
- Ввести наконец сортировку по возрастанию времени сдачи в списке решивших задачу (до сих пор приходится менять вручную DESC на ASC).
Я понимаю, что у команды CodeForces и так много работы, но так может сделать открытый API и куча энтузиастов сделает это самостоятельно. Я готов написать тоже часть кода и помочь проекту.Вот сейчас обсуждается, что это (такое урезание) вроде бы совсем не правильно.
С тем, что урезание неправильно полностью согласен.
Хотелось бы услышать мнение администрации, почему у него отнялось так мало рейтинга.
мне одному кажется, что уже не серьёзно то, что например bmerry занял первое место, и попрежнему сидит в див2? на тс можно не попадя в топ50 стать жёлтым за первый раунд.
+1 когда писал свой первый контест на кф получил +134 за 201 место. а тут за первое +176. нехорошо как-то.
Интересно еще и то, что он получил +176 к рейтингу с первым местом, а я с 193 местом — +135. разница в +41 какая-то странная по-правде =)
У Вас был очень маленький рейтинг до контеста, так что все нормально.