Разработка алгоритма подбора игроков в реальном времени для шахматных игр
Недавно я возобновил игру в шахматы после очень долгого перерыва. В результате время, потраченное на расточительные и непродуктивные развлечения, сократилось.
Шахматы имеют много преимуществ:
- Повышает способность решать проблемы.
- Повышает компрессию при чтении и IQ
Преимущества шахмат
Есть множество других преимуществ, которые имеют решающее значение для инженерных профессий и специалистов по данным.
Моя сторона науки о данных была воспламенена после того, как я провел некоторое время, играя в Chess.com, интересуясь, как работает их алгоритм подбора игроков. В этом информационном бюллетене мы подробно обсудим, какие функции полезны и как мы можем построить алгоритм подбора игроков.
Если вы не подписаны на эту рассылку, посетите этот ссылка на сайт и нажмите кнопку подписаться.
Постановка задачи
Создайте алгоритм подбора игроков в режиме реального времени для игры в шахматы.
Бизнес-цели
- Максимальное удержание на платформе.
- Увеличить количество игр, сыгранных одним пользователем за сеанс, что в конечном итоге приведет к тому, что пользователи будут покупать членство Pro или Diamond, чтобы изучать шахматы.
- Увеличьте продолжительность сеанса на платформе.
Подход
Функции
Для подбора игроков в реальном времени мы учитываем следующие факторы:
- Сопоставьте ближайшего онлайн-игрока на основе рейтинга: новичку не следует сопоставляться с Вишванатаном Анандом, игроком уровня гроссмейстера.
- Это позволяет избежать сопоставления грубых или оскорбительных игроков с добрыми: это очень важно для поддержания гармонии на платформе и улучшения удержания.
- Проверьте подключение к Интернету, избегайте совпадений игроков с хорошим подключением к Интернету с игроками с плохим подключением.
Связь как фактор
- Избегайте матчей с игроками, которые ушли, не подав в отставку (так называемое «Плохое спортивное поведение»): проанализируйте прошлое поведение игроков на платформе, раздражающие игроки должны быть сопоставлены с игроками аналогичного типа.
Открытие как фактор
- Многие игроки считают, что алгоритм сопоставления основан на стилях открытия и сериях побед/проигрышей. Я полностью согласен с этим. После игры в несколько игр это действительно происходит, и это делает алгоритм сопоставления еще более интересным. Это не заставляет вас чувствовать, что вы все это знаете. Шахматы — это игра разума, и заучивание наизусть нескольких дебютных стилей не сделает вас профессиональным игроком!
Серия побед/поражений как фактор
- Предсказание выигрыша или проигрыша до матча, когда игроки совпадают, является мастерским ходом. Это правда, что игра против сложного соперника с более низким рейтингом заставляет играть больше. Я испытал это на себе. Проанализируйте серии побед/поражений игроков: поднимите боевой дух игроков с более низким рейтингом в матчах с высокой вероятностью победы (наоборот в более сложном матче, если есть длинная серия побед).
Некоторым из вас может быть интересно, почему профиль пользователя не был учтен. Я намеренно не включил демографические или географические данные профиля пользователя, потому что шахматы — это бесплатная игра, в которую может играть любой, независимо от языка, возраста, пола, физических способностей или социального статуса.
Алгоритм науки о данных
Это идеальная задача для изучения парного ранжирования.
Мы попарно сравниваем игроков, которые хотели бы играть в том или ином формате, со всеми остальными игроками в очереди и сопоставляем тех, у кого совпадение лучше.
{Pi, Pj} -> 1 или 0; где 1 означает, что Pi и Pj являются релевантными совпадениями, а 0 означает, что Pi и Pj не являются релевантными совпадениями, используйте вероятность предсказания классификатора, чтобы найти две пары, которые лучше всего совпадают или более релевантны.
Книжное определение. Попарное ранжирование аналогично классификации. Каждая точка данных связана с другой точкой данных, и цель состоит в том, чтобы изучить классификатор, который будет предсказывать, какая из двух «более» актуальна для данного запроса.
Вывод.
Эта проблема гораздо шире, и ее можно еще оптимизировать. Алгоритмы сопоставления всегда интересно разрабатывать и обдумывать. Я хотел бы услышать ваши мысли по этой проблеме и поделиться своим мнением в комментариях.
_ Присоединяйтесь, подписывайтесь на меня или поддержите меня в _ LinkedIn _ если вы нашли это чтение полезным. Чтобы узнать больше обо мне посетите: _ Здесь
Я также номинирован на премию HackerNoon 2022 Noonies Award. Голосуйте за меня: Участник года в HackerNoon — данные | Демон науки о данных
Также опубликовано здесь