Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Проверять и учитывать в рейтинге, если команда теряет преемственность к прошлому сезону #6

Open
chernov1985 opened this issue Sep 24, 2021 · 2 comments

Comments

@chernov1985
Copy link
Contributor

Нужно подробней прописать, что это значит.

@chernov1985
Copy link
Contributor Author

Проверять перед релизом, не было ли дополнений в базовый состав. Если были, то проверить, что число добавленных по отношению к прошлому БС игроков не превышает 3. В принципе, СР умеет как-то показывать команды с прерванной преемственностью (я смог просмотреть), но не знаю, может ли это передавать по тому же API.

@chernov1985
Copy link
Contributor Author

Предлагаю действовать при вычислении шага от релиза на дату А к релизу на дату Б так.
Решаю следующую задачу: Что брать в качестве "релизного рейтинга" команды при расчёте бонусов за турниры, закончившиеся за эту неделю?

Нам понадобятся базовые составы команды на три разных момента времени:

  • на конец прошлого сезона 2020-04-03 - назовём его БС0
  • на дату А - БСА
  • на дату Б - БСБ.
    И ещё одна величина типа boolean: терялась ли уже раньше в текущем сезоне преемственность БС команды к БС0? Назовем её Х.

Если БСА=БСБ (т.е. базовый состав команды не менялся за эту неделю), - ура, в качестве релизного рейтинга берём рейтинг команды в релизе на дату А (назовём это число РелРейА).
Иначе (если за неделю БС команды изменился):
Если (преемственности от БС0 к БСБ нет, т.е. в БСБ хотя бы 4 новых или не больше одного из БС0) И (Х неверно), то релизным рейтингом считаем "стартовый рейтинг" СтартРей = 0,8*(тех. рейтинг по базовому составу БСБ: личные рейтинги лучших шести из БСБ, умноженные на 1, 5/6, итд). ВОПРОС 1: нужно ли это ещё умножить на нормирующий коэффициент Q из пункта А.3.11?

У нас остался только случай, что БСА отличается от БСБ, и либо БС0 вообще нету (т.е. базовый состав у команды появился только в этом сезоне); либо преемственность к прошлому сезону пока не нарушена; либо она была нарушена ещё до релиза Б.
Тогда мы (в соответствии с п. А.3.12) считаем, как и выше, число СтартРей = 0,8*(тех. рейтинг по базовому составу БСБ). И в качестве релизного рейтинга берем максимум из СтартРей и РелРейА.

И вот уже после этого - когда мы для всех команд определились, какие релизные рейтинги используем для шага от А к Б (у большинства они будут совпадать с РелРейА, но вот у некоторых что-то поменяется) - идём обсчитывать все турниры, завершившиеся между А и Б, и считать бонусы всем сыгравшим на них командам.

Думаю, это довольно близко к тому, что делалось в рейтинге МАК, но наверняка мелкие отличия найдутся.

Сделал под это таблицу b.team_lost_heredity и добавил поле rating_for_next_release в таблицу b.team_rating. Это - единственное поле, которое можем править у старого релиза при расчете нового.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant