Что нам могут рассказать 20 000 партий онлайн-шахмат

Всем любителям шахмат, от стороннего наблюдателя до гроссмейстеров с самым высоким рейтингом, хорошо известно, что белые фигуры имеют преимущество над черными еще до начала игры. Почему? Потому что белые контролируют первый ход.

Но первоначальный перевес белых легко может быть уступлен черным, если первые ходы будут неточными. Это наблюдение привело меня к постановке 3 вопросов, на которые мне было любопытно найти ответы:

  1. Приводят ли определенные шахматные дебюты к победе белых чаще, чем черных? Соответственно, если игра оценивается, сильно ли меняются дебюты?
  2. Влияет ли контроль времени на победителя? Есть ли смещение в сторону белого или черного победителя по мере увеличения количества ходов?
  3. Можем ли мы предсказать победителя на основе множества факторов, кроме рейтинга игрока? Как это соотносится с прогнозами, основанными только на рейтинге игроков?

Используемый набор данных был предоставлен Kaggle и содержит 20 058 рейтинговых и нерейтинговых онлайн-игр в шахматы от Lichess, бесплатного интернет-шахматного сервера с открытым исходным кодом.

Исследовательский анализ данных

Прежде чем разобраться, насколько эффективны были шахматные дебюты, я проверил, что распределение оценок игроков за белых и за черных примерно одинаково во всех партиях.

Верхние графики выше представляют собой гистограммы, разделенные на 15 ячеек, которые показывают количество и рейтинг для белых и черных фигур. Нижний график показывает количество выигрышей для каждого цвета. Поскольку гистограммы имеют одинаковую форму и одинаковые величины, а также тот факт, что разница в количестве побед составляет ~4% от общего количества сыгранных игр, мы можем сделать вывод, что набор данных относительно равномерен для доли побед и распределения рейтинга. .

Какие дебюты приводят к большему количеству побед?

Среди всех игр (рейтинговых и нерейтинговых) какие дебюты приводят к большему количеству побед для каждого цвета? Приведенный ниже график поможет ответить на эти вопросы.

В приведенной выше таблице показаны 10 самых популярных проемов из 1453. Хотя на эти дебюты приходилось всего 0,6% использованных дебютов, они представляют собой 13% и 12,8% побед белых и черных соответственно.

Топ-3 дебюта, приведшие к наибольшему количеству побед (как в рейтинговых, так и в нерейтинговых партиях) белых:

  • Скандинавская защита: Вариант Мизеса-Котрока (+75)
  • Защита Филидора №3 (+60)
  • Пешка ферзя (+46)

Топ-3 дебюта, приведшие к наибольшему количеству побед (как в рейтинговых, так и в нерейтинговых партиях) черных:

  • Открытие Вант Круйс (+100)
  • Сицилианская защита (+45)
  • Сицилианская защита: Атака Боудлера (+45)

(Цифры в скобках показывают, сколько еще побед было одержано над цветом соперника).

Есть ли перекос в дебютах, если игра рейтинговая?

Выиграйте или проиграйте, в игре без рейтинга рейтинги игроков не изменятся. Для игры с рейтингом рейтинг шахмат увеличивается, если игрок выигрывает, или уменьшается, если игрок проигрывает. Величина увеличения или уменьшения зависит от рейтинга каждого игрока — игрок с гораздо более низким рейтингом, победивший игрока с более высоким рейтингом, получит гораздо более высокий прирост рейтинга, чем игрок с гораздо более высоким рейтингом, победивший игрока с более низким рейтингом.

Если во время рейтингового матча на карту поставлен шахматный рейтинг, влияет ли это на распределение дебютов? Распределение дебютов при рейтинговой игре показано ниже.

В приведенной выше таблице показаны 10 самых популярных дебютов из 1360, используемых в рейтинговых играх. Хотя на эти дебюты приходилось всего 0,7% использованных дебютов, они представляют собой 13,1% и 14,2% побед белых и черных соответственно.

В топ-3 дебютов, приведших к наибольшему количеству побед белых в рейтинговых партиях, вошли:

  • Скандинавская защита: Вариант Мизеса-Котрока (+56)
  • Защита Филидора №3 (+48)
  • Отказ от ферзевого гамбита: защита Маршалла (+47)

Топ-3 дебюта, приведшие к наибольшему количеству побед черных в рейтинговых партиях:

  • Открытие Вант Круйс (+101)
  • Сицилианская защита: Атака Боудлера (+42)
  • Сицилианская защита: старая сицилианская (+32)

Давайте сравним эти результаты с нашими предыдущими результатами, также принимая во внимание игры без рейтинга.

Сравнивая дебюты, использованные в рейтинговых играх и во всех играх, два из трех лучших дебютов появляются в обеих категориях, что приводит к наибольшей разнице в количестве побед белых и черных.

Белым желательно изучить и разыграть эти 2 дебюта, чтобы увеличить вероятность победы:

  1. Скандинавская защита: вариант Мизеса-Котрока
  2. Защита Филидора #3

За черных желательно изучить и разыграть эти 2 дебюта, чтобы увеличить вероятность победы:

  1. Открытие Вант-Круйс
  2. Сицилианская защита

Количество ходов определяет победителя? И влияет ли контроль времени на победителя?

Помимо используемого открытия, мне было любопытно узнать еще один фактор, заключающийся в том, благоприятствует ли долговечность игры какой-либо из сторон и влияет ли код инкремента на игровой процесс. Для целей этого раздела будут учитываться только рейтинговые игры.

Коды приращения определяют контроль времени. Код приращения — X+Y, где X — это общее время (в минутах), отведенное игроку, а Y — количество секунд, добавляемых к X после каждого сделанного хода. Например, если код приращения 10+5, игрок начинает с 10 минут, и 5 секунд добавляются к его часам после воспроизведения каждого фильма. Распределение кодов приращения для топ-15 и разница в результатах выигрыша показаны ниже:

Как видно из приведенных выше графиков, приращение 10+0 было наиболее распространенным и показало наибольшее преимущество белых с точки зрения разницы в количестве выигранных партий (+192 игры). И наоборот, приращение 7+9 больше всего благоприятствовало черным (+15 игр), но разница была намного меньше, чем преимущество белых, менее 10% преимущества белых.

Код приращения времени оказал большее влияние на количество выигрышных различий, чем используемое открытие. Это означает, что миттельшпиль и эндшпиль оказали на исход гораздо большее влияние, чем дебют.

Соответственно, я также задавался вопросом, повлияло ли количество витков на результаты. Графики и статистика для ходов белых и черных, когда соответствующий цвет выиграл игру, показаны ниже.

Хотя максимальное количество ходов у белых было значительно больше, чем у черных, этот момент был исключением. Приведенные ниже диаграммы и статистика показывают, что большинство ходов не оказали существенного влияния на исход игры ни для одного из цветов.

Прогноз победителя с использованием логистической регрессии

Наконец, можем ли мы предсказать победителя, используя переменные, отличные от рейтинга игроков? И как эта модель работает по сравнению с прогнозом модели, основанным только на рейтингах игроков?

Чтобы ответить на этот вопрос, я развернул модель логистической регрессии, используя стохастический средний градиент в качестве решателя. Обратите внимание, что ничья для анализа я не рассматривал. Мой вектор ответа был бинарным набором; 0, если выиграли черные, 1, если победили белые. Я обучил модель, используя следующие функции:

  • рейтинг
  • повороты
  • победитель
  • increment_code
  • белый_рейтинг
  • черный_рейтинг
  • движется
  • открытие_эко
  • открытие_имя
  • открытие_ply

Я не использовал остальные функции «id», «created_at», «last_move_at», «victory_status», «white_id», «black_id», так как я чувствовал, что эти функции не влияют на результат игры. При использовании отмеченных выше функций в моей входной матрице модель достигла следующей производительности:

Наша модель была правильной примерно в 72,1% случаев на наших тестовых данных. Я хотел знать, как изменится производительность, если я обучу модель, используя только рейтинг игроков. Ниже производительность:

Модель, обученная только рейтингу игроков, была правильной примерно в 65,2% случаев на тестовых данных. Повышение производительности примерно на 10% было достигнуто за счет включения других функций ввода, а не только оценок игроков. Этот результат согласуется с первоначальными ожиданиями, поскольку результаты шахматной партии зависят от множества факторов, то есть не только от рейтингов, но и от использованного дебюта, контроля времени и т. д., которые больше учитывались в нашей первой модели.

Ключевые выводы

  • Код приращения времени оказал большее влияние на количество выигрышных различий, чем используемое открытие . Следовательно, концентрируйтесь и изучайте больше позиций в миттельшпиле и эндшпиле, чем дебютов.
  • Если вы играете белыми, обратите внимание на Скандинавскую защиту: Вариант Мизеса-Котрока с шагом 10+0.
  • Если вы играете черными, обратите внимание надебют Вант-Круйса с шагом 7+9.
  • Количество ходов за игру не оказывает никакого влияния на общий результат игры.
  • Хотя рейтинги помогают прогнозировать победителя, включение других факторов улучшило производительность нашей модели логистической регрессии примерно на 7% по сравнению с прогнозированием только по рейтингу.

Последующие вопросы:

  1. До сих пор мы анализировали только партии с решающими исходами (т. е. выигрывали либо белые, либо черные). Как повлияет на анализ учет ничьих?
  2. Насколько разница в рейтингах влияет на выигрыш? Искажают ли они предвзятость сыгранных дебютов? Если мы ограничим разницу в рейтингах ниже 100, будут ли некоторые дебюты более популярными?
  3. Есть ли предвзятость в сыгранном открытии по сравнению с инкрементным кодом?
  4. Насколько отличаются дебюты, если бы набор данных состоял только из партий с гроссмейстерским рейтингом? Будет ли распределение более концентрированным?
  5. Увеличится или уменьшится производительность модели, если я включу все функции?
  6. Какие входные признаки в наибольшей степени способствовали правильному предсказанию победителя?