В данной статье мы рассмотрим построение основного рейтинга MMA-ORACLE - рейтинга бойцов (поэтому, если Вы хотите понять всю математическую систему наших рейтингов, то ознакомление с этой статьей обязательно).
При построении математической системы за основу была взята система рейтингов ELO, применяемая в шахматном мире. Математическая составляющая была адаптированна к специфике и особенностям смешанных единоборств. В нашей системе нам хотелось выделить все, что мы любим в бойцах ММА, на вершину нашего рейтинга попадают бойцы, которые:
Не проигрывают и ведут достаточно длинные победные серии.
Часто дерутся и побеждают лучших бойцов, которые стоят высоко в рейтингах.
Побеждают нокаутами или сдачами.
Теперь давайте рассмотрим математику нашей системы. В начале пара слов об общих параметрах:
Рейтинг ведется с 1 января 1993 года.
Шаг построения рейтинга - 4 недели, т.е. каждые 4 недели наша команда обновляет рейтинг и заносит данные в историю рейтингов (на сайте вы можете ознакомиться со всеми шагами рейтинга, с самого начала).
Боец включается в рейтинг после 5 проведенных боев, т.е. на 6-ой бой боец попадает в рейтинг.
В случае, если боец не проводит боев в течении 52 недель (2 года), то его рейтинг начинает падать по формуле:
$$r = {0.01r} \tag{1.1}$$
При включении в рейтинг начальный рейтинг бойца считается по формуле:
Теперь имея всю необходимую предварительную информация давайте рассмотрим как влияет проведенный бой на рейтинг бойца. Изменение рейтинга бойца 1 считается по следующим формулам:
$$\Delta_1={\Delta + \Delta_{ko} + \Delta_{sub} + \Delta_{ser}} \mbox{, где }\tag{1.5}$$
$$k=\begin{cases}55, & \mbox{если rez=0}\\30, & \mbox{если }{5 \le m_c}\mbox{ и }{m_c < 25}\mbox{ и }{rez=1}\\25, & \mbox{если }{25 \le m_c}\mbox{ и }{m_c < 45}\mbox{ и }{rez=1}\\20, & \mbox{если }{45 \le m_c}\mbox{ и }{m_c < 55}\mbox{ и }{rez=1}\\15, & \mbox{если }{m_c \ge 55}\mbox{ и }{rez=1}\\\end{cases}\tag{1.9}$$
$$m_{c}\mbox{ - количество боев бойца 1}$$
$$\Delta_{ko}=\theta_{ko}\Delta ko \tag{1.10} \mbox{ - бонус за нокаут, где}$$
$$\theta_{ko}=0.3 \mbox{ - вес бонуса за нокаут} $$
$$ko=\begin{cases}1, & \mbox{если бой закончился нокаутом или техническим нокаутом}\\0, & \mbox{иначе}\end{cases}$$
$$\Delta_{sub}=\theta_{sub}\Delta sub \tag{1.11} \mbox{ - бонус за сдачу, где}$$
$$\theta_{sub}=0.3 \mbox{ - вес бонуса за сдачу} $$
$$sub=\begin{cases}1, & \mbox{если бой закончился сдачей или технической сдачей}\\0, & \mbox{иначе}\end{cases}$$
$$\Delta_{ser}={\theta_{ser}\Delta S \mbox{ - бонус за сдачу, где}} \tag{1.10}$$
$$\theta_{ser}=0.1 \mbox{ - вес бонуса за серию} $$
$$S \mbox{ - длина ткущей серии} $$
Теперь парочка комментариев для пояснения приведенных выше формул:
Коэффициент k (1.9) определяет кол-во баллов, которые боец получит в случае победы в зависимости от количества боев. Он позволяет отсечь от вершины рейтинга бойцов, которые проводят множество боев с бойцами с низким рейтингом. Так же благодаря k боец теряет больше баллов от поражения, что позволяет выходить на вершину бойцам без или с маленьким количеством поражений.
Бонусы $$\Delta_{ko},\Delta_{sub},\Delta_{ser}$$ действуют в обе стороны, т.е. в случае выигрыша боев получает эти коэффициенты в + к своему рейтингу, в случае проигрыша в минус.
Рейтинг бойцов
При построении математической системы за основу была взята система рейтингов ELO, применяемая в шахматном мире. Математическая составляющая была адаптированна к специфике и особенностям смешанных единоборств. В нашей системе нам хотелось выделить все, что мы любим в бойцах ММА, на вершину нашего рейтинга попадают бойцы, которые:
Теперь давайте рассмотрим математику нашей системы. В начале пара слов об общих параметрах:
$$r = {0.01r} \tag{1.1}$$
$$r_{init} = {\theta_{init}+\theta_{init}\theta_{wib}m_{wc}-\theta_{init}\theta_{lib}m_{lc}} \mbox{, где} \tag{1.2}$$
$$\theta_{init} = {200} \mbox{ - начальный коэф. рейтинга } $$
$$\theta_{wib} = \theta_{lib} = 0.1 \mbox{ - начальные коэф. побед и поражений } $$
$$m_{lc} \mbox{ - количество проигранных боев на момент включения в рейтинг }$$
$$m_{wc} \mbox{ - количество выигранных боев на момент включения в рейтинг}$$
$$r_{min}=50 \tag{1.3}$$
$$r = {max(r_{min}, (m_{wc} - m_{lc}) r_{min} )} \tag{1.4}$$
Теперь имея всю необходимую предварительную информация давайте рассмотрим как влияет проведенный бой на рейтинг бойца. Изменение рейтинга бойца 1 считается по следующим формулам:
$$\Delta_1={\Delta + \Delta_{ko} + \Delta_{sub} + \Delta_{ser}} \mbox{, где }\tag{1.5}$$
$$\Delta={k(rez-exp)}\tag{1.6}$$
$$exp={1\over 1+10^{(r_2-r_1)\over400}}\tag{1.7}$$
$$rez=\begin{cases}1, & \mbox{если боец 1 победил}\\0, & \mbox{если ничья}\\-1, & \mbox{если боец 1 проиграл}\end{cases}\tag{1.8}$$
$$k=\begin{cases}55, & \mbox{если rez=0}\\30, & \mbox{если }{5 \le m_c}\mbox{ и }{m_c < 25}\mbox{ и }{rez=1}\\25, & \mbox{если }{25 \le m_c}\mbox{ и }{m_c < 45}\mbox{ и }{rez=1}\\20, & \mbox{если }{45 \le m_c}\mbox{ и }{m_c < 55}\mbox{ и }{rez=1}\\15, & \mbox{если }{m_c \ge 55}\mbox{ и }{rez=1}\\\end{cases}\tag{1.9}$$
$$m_{c}\mbox{ - количество боев бойца 1}$$
$$\Delta_{ko}=\theta_{ko}\Delta ko \tag{1.10} \mbox{ - бонус за нокаут, где}$$
$$\theta_{ko}=0.3 \mbox{ - вес бонуса за нокаут} $$
$$ko=\begin{cases}1, & \mbox{если бой закончился нокаутом или техническим нокаутом}\\0, & \mbox{иначе}\end{cases}$$
$$\Delta_{sub}=\theta_{sub}\Delta sub \tag{1.11} \mbox{ - бонус за сдачу, где}$$
$$\theta_{sub}=0.3 \mbox{ - вес бонуса за сдачу} $$
$$sub=\begin{cases}1, & \mbox{если бой закончился сдачей или технической сдачей}\\0, & \mbox{иначе}\end{cases}$$
$$\Delta_{ser}={\theta_{ser}\Delta S \mbox{ - бонус за сдачу, где}} \tag{1.10}$$
$$\theta_{ser}=0.1 \mbox{ - вес бонуса за серию} $$
$$S \mbox{ - длина ткущей серии} $$
Теперь парочка комментариев для пояснения приведенных выше формул: