Крестики-нолики
Кре́стики-но́лики[1] — логическая игра между двумя противниками на квадратном поле 3 на 3 клетки или бо́льшего размера (вплоть до «бесконечного поля»). Один из игроков играет «крестиками», второй — «ноликами». В традиционной китайской игре (Гомоку) используются чёрные и белые камни.
Классический вариант
Правила игры
Игроки по очереди ставят на свободные клетки поля 3×3 знаки (один всегда крестики, другой всегда нолики). Первый, выстроивший в ряд 3 своих фигуры по вертикали, горизонтали или диагонали, выигрывает. Первый ход делает игрок, ставящий крестики.
Обычно по завершении партии выигравшая сторона зачёркивает чертой свои три знака (нолика или крестика), составляющих сплошной ряд.
Анализ
Для каждой из сторон общеизвестны алгоритмы, которые гарантируют ничью при любой игре противника, а при его ошибке позволяют выиграть. Таким образом, игра находится в состоянии «ничейной смерти».
Ниже приведены некоторые из таких стратегий. Считается, что игрок всегда соблюдает два правила, имеющие приоритет над всеми остальными:
- Правило 1. Если игрок может немедленно выиграть, он это делает.
- Правило 2. Если игрок не может немедленно выиграть, но его противник мог бы немедленно выиграть, сделав ход в какую-то клетку, игрок сам делает ход в эту клетку, предотвращая немедленный проигрыш.
За крестики
Первый ход сделать в центр. Остальные ходы, если неприменимы правила 1—2, делаются в тот из свободных углов, который дальше всего от предыдущего хода ноликов, а если и это невозможно — в любую клетку.
O | ||
O |
Докажем, что эта стратегия приводит к победе или ничьей. Если нолик пойдёт на сторону, то позиция (с точностью до симметрии) окажется такова:
О | ||
Х | ||
Х |
После чего правила 1 и 2 приведут к позиции:
Х | О | О |
Х | ||
Х |
Выигрыш.
Если же нолик пойдёт в угол, позиция (с точностью до симметрии) будет следующая:
О | ||
Х | ||
Х |
В зависимости от следующего хода нолика, возникнет одна из трёх позиций:
О | О | Х |
Х | ||
Х |
О | O | O |
O | Х | О |
Х | O | Х |
В первой и третьей позиции — ничья. Во второй — победа ноликов.
За нолики
Вcпоминаем, что правила 1-2, если они применимы, имеют приоритет над всем, написанным ниже.
- Если крестики сделали первый ход в центр, до конца игры ходить в любой угол, а если это невозможно — в любую клетку.
О | ||
Х | ||
- Если крестики сделали первый ход в угол, ответить ходом в центр.
Х | ||
О | ||
- Следующим ходом занять угол, противоположный первому ходу крестиков, а если это невозможно — пойти на сторону.
Х | ||
О | ||
О | Х |
- Если крестики сделали первый ход на сторону, ответить ходом в центр.
- Если следующий ход крестиков — в угол, занять противоположный угол:
Х | О | |
О | ||
Х |
- Если следующий ход крестиков — на противоположную сторону, пойти в любой угол:
О | Х | |
О | ||
Х |
- Если следующий ход крестиков — на сторону рядом с их первым ходом, пойти в угол рядом с обоими крестиками
О | Х | |
Х | О | |
Дерево игровых ситуаций
Дерево игровых ситуаций для игры крестики-нолики, где игрок за «крестики» ходит первым и поступает по приведённому выше алгоритму, а игрок за «нолики» может поступать как угодно (причём приведено по одной вершине для рационального и для нерационального поступка, то есть любого другого), состоит из 50-ти узлов.
Компьютерное решение
Для решения такого рода игр на компьютере строится дерево игровых ситуаций в соответствии с методом мини-макс. Полное число узлов в таком дереве равно 255168[2]. Это число получается как сумма всех возможных вариантов ходов — 9 вариантов на первом шаге, 8 — для каждого из 9 на втором шаге, 7 — на каждом из 72 вариантов на третьем шаге и т. д., за вычетом ситуаций досрочного окончания игры (выигрыша).
Пример более простой реализации поиска выигравшего игрока: https://github.com/evgnor86/XO_game.git
Обобщения
Более длинные линии
Можно рассматривать игру, в которой победителем считается игрок, первым построивший одинаковых знаков на достаточно большом для этого прямоугольном поле. При этом можно ограничить поле каким-нибудь размером (начиная с ), либо вовсе не ограничивать (в этом случае говорят о «бесконечном» поле)
Игра до 4 одинаковых знаков на бесконечном поле неинтересна, ибо начинающий довольно быстро строит «вилку» и выигрывает. Игра при также неинтересна из-за «ничейной смерти». Существуют стратегии, не дающие противнику построить нужную линию никогда. Однако при игра становится намного содержательнее. Такой вариант имеет специальное название — гомоку. Изначально в гомоку играли на доске размером 19×19, позже она была уменьшена до размера в 15×15 клеток.
Основной победной тактикой при игре на бесконечном поле считается построение пересечений («вилок»), которые не дают противнику возможности блокировать все возможные пути построения пятёрки. Чтобы не проиграть, необходимо своевременно прерывать линии противника длиной в три фигуры и больше.
Практика показала, что при равных правилах для игроков тот, кто делает первый ход, имеет преимущество, позволяющее при достаточно квалифицированной игре одержать победу, что впоследствии было доказано строго[3][4]. Для сохранения интереса к игре предлагались различные варианты модификации правил игры.
Так, с введением фолов (запрещённых ходов) для игрока, начинающего первым — ему запрещено строить вилки 3×3, 4×4, а также выстраивать «длинный ряд» из своих фигур — получилась новая игра под названием рэндзю, с большим разнообразием стратегий игры и равными шансами игроков.
Модификация поля
Увеличение размера поля уже обсуждалось выше. Самым простым, но увеличивающим тактическое богатство игры, является добавление одной клетки вдоль одной из сторон поля 3×3.
Другим вариантом является изменение топологии поля. Например, можно считать противоположные стороны поля склеенными, образуя при этом либо поверхность цилиндра или тора, либо проективную плоскость. Также можно увеличивать размерность, например, играть в кубе 4×4×4, в гиперкубе и так далее.
Обмен значков
Можно отменить правило, указывающее игрокам ставить только свой вид значков.
Например, вариантом игры может быть: игроки ставят крестик или нолик (что захотят); первый выигрывает, если построит линию нужной длины из одинаковых значков, второй — если до заполнения поля этого не произойдёт.
Другой вариант: «свой» значок меняется с каждым ходом.
Изменение условия выигрыша
Вместо того, чтобы заканчивать игру построением первой линии нужной длины, можно на этом не останавливаться и продолжить до полного заполнения поля. Например, на любом поле можно играть на то, кто больше построит «четвёрок» из своих знаков.
Также существует вариант крестиков-ноликов Силвермэна. В нём используется игровое поле 4×4 клетки. Крестики выигрывают, если возникает ряд из 4-х одинаковых значков (крестиков или ноликов), иначе выигрывают нолики.
Удлинение хода
Ещё один вариант модификации игры — выставлять на каждом ходе не один свой знак, а два или более. Такова игра Connect6, в которой чёрные делают первый ход, выставляя один знак, после чего игроки поочерёдно выставляют по два знака, побеждает первый, построивший линию из 6 или более своих знаков.
Крестики-нолики в культуре
Песен, посвящённых этой игре, три.
- Песня «Крестики-нолики» композитора Вениамина Баснера на стихи Михаила Матусовского в исполнении Таисии Калинченко стала лауреатом «Песни-74»[5]. В дальнейшем её спел Эдуард Хиль[6]
- Другую песню с таким же названием спела Катя Лель[7]
- Третью песню спели дуэтом Виктор Рыбин и Наталья Сенчукова[8].
См. также
Примечания
- В XIX веке, наряду с названием «крестики-нолики» (см. Н. А. Лейкин, «Учебный день в немецкой школе», 1871), также использовались «херики-оники» или «херики» — по старому названию букв русского алфавита «Х» — «хер» и «О» — «оно» («Хер» в словаре Даля Архивная копия от 14 июня 2011 на Wayback Machine), «нолики» (Н. П. Гиляров-Платонов, «Из пережитого», 1886
- How many Tic-Tac-Toe (noughts and crosses) games? . www.se16.info. Дата обращения: 16 августа 2019.
- Allis, L. V. (1994). Searching for solutions in games and artificial intelligence, Ph.D. Thesis, University of Limburg, Maastricht.
- Allis, L. V., Herik, H. J. van den, and Huntjens, M. P. H. (1996). Go-Moku Solved by New Search Techniques. Computational Intelligence, Vol. 12.
- Таисия Калинченко "Крестики-нолики" (1974)
- Эдуард Хиль, - Крестики нолики
- Катя Лель - Крестики-нолики
- Виктор Рыбин и Наталья Сенчукова — «Крестики-нолики»
Литература
- Гарднер М. Крестики-нолики. —М.: Мир, 1988. ISBN 5-03-001234-6.