TGViewer
CatScience CatScience @cat0science · 4.46K subscribers
Post #170 1.14K
🎲 – Беспроигрышная стратегия в крестики-нолики (или как впасть в состояние «ничейной смерти»)

Вы вечно проигрываете в крестики-нолики? Устали от бесконечных издевок окружающих? Чувствуете себя неполноценным членом общества? Тогда вы обратились по адресу! Сегодня у вас есть уникальная возможность пройти наш обучающий курс по беспроигрышной стратегии, который стартует уже сегодня! Присоединяйтесь сейчас и получите скидку 10% по промокоду НЕУДАЧНОЕ_ВСТУПЛЕНИЕ_К_ЗАМЕТКЕ!

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

Итак, как не проигрывать, если вы ходите первыми (напомню, что в нашем консервативном мире крестики доминируют).
1 ход: Всегда в центр
2 ход: В угол, который дальше всего от предыдущего хода ноликов
3 ход: Защита от попыток нолика чет выстроить или, что вероятнее, – снова ход в угол
4 ход: Тут у вас в наличии либо уже имеются две выигрышные линии, и вы гасите его, либо нолик прикрыл тылы, и исход – ничья.

Если вы играете за нолики, то при «идеальном» сопернике (который ходит всегда верно) у вас есть лишь возможность обороняться и выйти вничью, например:
1 ход: В любой угол
2 ход: А дальше только пытаться помешать крестикам замутить тройничок, ведь больше вы ни на что не способны в силу своей submissive сущности.

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

Смотрите, корень нашего дерева – пустое поле 3х3. Первый игрок имеет возможность сделать ход на одну из девяти позиций – рисуем дереву девять веток с разными позициями крестиков (там внизу есть картинка). На следующем ходе у каждой ветки с крестиком есть восемь свободных мест для ноликов, то есть каждой ветке рисуем по восемь новых, где в различных комбинациях на поле две клетки заняты крестиком и ноликом. Итого имеем 9х8 – 72 ветки. Следуя такой логике, на дальнейшем шаге у дерева появится по 7 ответвлений, так как свободно только 7 клеток для крестика, количество теперь веток стало 9х8х7=504. Конечное число решений – листиков нашего дерева – равно 9! (все же знают, что это не девять с восклицанием, а факториал? – 9х8х7х6х5х4х3х2х1) или 362880. Теперь достаточно вбить компьютеру все эти исходы и запрограммировать выбирать только выигрышные.

Но тут даже с первого взгляда понятно, что такой способ слишком «деревянный»: некоторые ветви приводят к победе еще до того, как заполнится все поле, так что мы, по сути, выполняем тонну ненужных вычислений. Нужно уметь не только выбрать кратчайший путь к выигрышу, но и отсечь ненужные ветви – короче, подстричь наше дерево. Первая задача реализуется с помощью алгоритма минимакс, который сводит к минимуму счет противника, максимизируя при этом свой (то есть – выбирая наиболее возможную короткую ветвь). Вторая задача решается методом альфа-бета отсечения, который при переборке различных узлов дерева отсекает заранее проигрышные.

Ну вот, дерево подстригли, причесали – теперь полное количество его узлов сократилось до 256158, и программа всегда будет выигрывать или заканчивать партию вничью за секунды.

Таким образом, крестики-нолики являются примером игры, находящейся в состоянии «ничейной смерти»: любой игрок (даже если он полный чайник, а противник чемпион мира), применяющий правильную теорию, может выиграть или в худшем случае свести ее к ничьей. Такая полностью просчитанная игра теряет смысл, ведь опыт и квалификация игроков больше не имеют веса, и соревновательный момент уступает место вычислениям.
  • 👍 29
More from @cat0science
  1. Oct 15, 2026Post #1659
  2. Oct 13, 2026Тут на днях выпустили рекламу с ИИ-шной Гретой Гарбо. К «воскрешению» актрисы из мёртвых п…
  3. Oct 12, 2026#ночь@cat0science по следам бесед в чате
  4. Oct 12, 2026Палеозой: силур и девон. В море кишит жизнь. А на сушу она еле-еле медленно выползает. Поч…
  5. Oct 10, 2026Post #1652
  6. Oct 7, 2026Post #1651
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →