"Информатика (базовый и углублённый уровень)", Гейн А.Г., Сенокосов А.И.
Список проигрышных позиций помогает найти ходы, которые оставляют соперника в невыгодном положении. Его составляют от завершения игры к начальным положениям: проверяют допустимые ходы и выясняют, куда они ведут. Если есть ход в проигрышную для соперника позицию, исходное положение выигрышное; если все ходы ведут в выигрышные для него положения — проигрышное. Так список становится основой стратегии, а не догадкой о следующем ходе.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Проигрышная позиция — положение игры, из которого при правильной игре обоих участников проигрывает тот, чей сейчас ход. Например, конечное положение может оказаться проигрышным для игрока, которому правила не оставляют разрешённого хода. Понятие нужно, чтобы отмечать положения, в которые выгодно переводить соперника.
Выигрышная позиция — положение, из которого игрок может одним из разрешённых ходов перевести игру в проигрышную позицию соперника. Здесь оценивается не просто наличие хода, а его результат для следующего игрока. Это определение позволяет распознавать выгодные положения по уже изученным случаям.
Выигрышная стратегия — способ выбирать ходы так, чтобы гарантировать победу независимо от ответов соперника. Стратегия задаёт правило действий на протяжении игры, а не только удачный первый ход. Она нужна, чтобы обосновать, почему победа сохраняется при любом допустимом ответе противника.
Список проигрышных позиций — упорядоченный перечень положений, распознанных как проигрышные и используемых для выбора выигрышного хода. Порядок важен: новые положения классифицируют на основе тех, что уже проверены. Список помогает не пропускать случаи и применять найденное правило при выборе хода.
Разбор начинают с конечных положений, потому что у них нет дальнейших ходов, а результат напрямую задают правила игры. Например, правила могут считать проигравшим того, кто не может сделать ход; в другой игре завершение может трактоваться иначе. Пока не определено, что означает конец игры, нельзя верно разметить даже самые простые положения. Поэтому сначала фиксируют исход для каждого вида окончания партии.
Затем используют уже известные проигрышные положения, чтобы находить выигрышные. Если из рассматриваемого положения существует разрешённый ход в проигрышное для соперника положение, игрок может выбрать именно его. Остальные ходы могут быть невыгодными, но для вывода о выигрышности они не отменяют найденной возможности. Важно проверять, что переход действительно разрешён и что в целевом положении ход принадлежит сопернику.
Чтобы распознать новую проигрышную позицию, проверяют не один удобный вариант, а все возможные ходы. Если каждый из них приводит к выигрышной позиции для следующего игрока, текущий игрок не может своим ходом передать сопернику проигрышное положение. Поэтому при правильной игре он оказывается в невыгодном положении. Если же обнаружен хотя бы один переход в проигрышную позицию, эту позицию следует считать выигрышной, а не проигрышной.
Список строят последовательно, располагая положения по удалённости от завершения игры. Сначала отмечают конечные случаи, потом проверяют позиции, ход из которых ведёт в уже разобранные случаи, и далее повторяют процедуру. Такой порядок нужен, чтобы каждый вывод опирался на известные результаты, а не на предположение о ещё не исследованных положениях. Для каждой новой записи следует перечислить варианты ходов и указать основание классификации.
Список превращается в стратегию, когда игрок использует его для выбора хода из текущего положения. Нужно найти доступную проигрышную позицию для соперника и перевести игру туда; после ответа соперника анализ повторяют. Если это правило применимо на каждом этапе, оно позволяет сохранять преимущество, а не рассчитывать на ошибку противника. Гарантия действует при условии, что правила соблюдаются и игрок каждый раз выбирает подходящий ход.
| Что проверяем | Вывод | Основание |
|---|---|---|
| Ходов из позиции нет | Классифицировать по правилу завершения игры | Результат задаётся условиями игры |
| Есть ход в известную проигрышную позицию | Позиция выигрышная | Можно передать сопернику проигрышное положение |
| Все возможные ходы ведут в выигрышные позиции | Позиция проигрышная | При правильной игре соперник получит выигрышную позицию |
| В списке найдена позиция, достижимая одним ходом | Выбрать соответствующий ход | Он переводит игру в проигрышную позицию соперника |
Используйте таблицу сверху вниз: сначала проверьте, не завершена ли игра, затем разберите все доступные переходы. Не считайте отсутствие позиции в списке готовой классификацией — список может быть ещё не полон. При выборе хода убедитесь, что найденное проигрышное положение достижимо именно одним разрешённым ходом.
Условие. Для игры из § 58 рассмотрите несколько ближайших к завершению положений и составьте начальную часть списка проигрышных позиций. Конкретные правила переходов нужно взять из описания самой игры, поскольку без них нельзя перечислить положения или установить исход окончания. Здесь разберём порядок действий, применимый к заданной игровой схеме.
Ответ. Начальная часть списка состоит из конечных проигрышных положений и тех более ранних положений, для которых проверены все варианты и каждый ведёт в выигрышную позицию. Точный перечень зависит от разрешённых ходов в игре § 58. Записывайте рядом с каждым положением основание, чтобы можно было проверить вывод.
Условие. Для заданной позиции перечислите все допустимые ходы и определите, выигрышная она или проигрышная. Предполагается, что часть более близких к завершению игры положений уже классифицирована. Если данных для какого-либо перехода пока нет, сначала продолжите построение списка, а не угадывайте результат.
Ответ. Позиция выигрышная, если найден хотя бы один разрешённый ход в проигрышное положение соперника; иначе она проигрышная только после проверки всех ходов. В ответе укажите классификацию и основание. Для выигрышной позиции назовите подходящий ход, а для проигрышной — подтвердите, что исключений нет.
Условие. По составленному списку предложите стратегию игроку, начинающему из указанной позиции, и объясните, почему она гарантирует победу. Сначала нужно выяснить, содержит ли список положение, достижимое из начального одним разрешённым ходом. Стратегия должна учитывать не только первый ход, но и ответы соперника.
Ответ. Стратегия состоит в переводе соперника в проигрышную позицию и повторении этого выбора после каждого его ответа. Она гарантирует победу, если для всех возникающих положений переходы проверены, правила игры соблюдаются, а нужный ответ доступен. Одного удачного первого хода без анализа продолжения недостаточно.
Считать позицию проигрышной только потому, что пока не найден выигрышный ход, — преждевременно. Обычно так происходит, когда проверяют несколько вариантов и принимают отсутствие находки за доказательство. Перечислите все разрешённые ходы и только после этого делайте вывод; при неполном списке продолжите анализ.
Позиция не становится выигрышной от перехода в любое известное положение: оно должно быть проигрышным именно для соперника. Эту ошибку допускают, когда смотрят только на знакомый пункт списка и не учитывают, чей ход будет следующим. Перед выводом проверьте тип целевой позиции и сторону, которой предстоит ходить.
Пропуск допустимого хода может перевернуть классификацию: именно среди незамеченных вариантов иногда оказывается путь в проигрышную позицию соперника. Такое случается при небрежном перечислении ходов или попытке упростить проверку. Сверьте список переходов с правилами игры и отметьте каждый рассмотренный вариант.
Нельзя смешивать положение игры с игроком, которому принадлежит ход: одно и то же состояние доски может оцениваться по-разному в зависимости от очереди хода. Ошибка возникает, если записывают только набор игровых объектов, не фиксируя, чей ход и как правила трактуют окончание. В каждой записи указывайте очередь хода и проверяйте конечный результат по правилам.
Для работы нужны правила игры из § 58, умение перечислять допустимые ходы и понимание того, когда партия заканчивается. Без точного описания переходов нельзя проверить все варианты, а без правила окончания — классифицировать конечные положения. Этот способ анализа применяется в конечных играх, при построении выигрышных стратегий и решении задач на перебор игровых позиций. Он связывает описание правил с последовательным доказательством того, какой ход выгоден.
С чего начинать составление списка проигрышных позиций?
С конечных положений игры: сначала выясните, что означает завершение партии по её правилам. Затем переходите к положениям, из которых можно попасть в уже классифицированные, и проверяйте все допустимые ходы.
Почему из выигрышной позиции достаточно найти один ход в проигрышную?
После такого хода сопернику достаётся положение, которое при правильной игре не позволяет ему гарантировать победу. Поэтому игроку достаточно иметь хотя бы один безопасный способ передать сопернику невыгодный ход.
Почему для проигрышной позиции нужно проверить все допустимые ходы?
Любой ход может дать игроку способ перевести игру в проигрышное положение соперника. Чтобы признать позицию проигрышной, нужно убедиться, что такого хода нет и каждый разрешённый ход ведёт в выигрышную позицию.
Как по списку выбрать ход, который обеспечивает выигрышную стратегию?
Найдите в списке проигрышную позицию, в которую можно попасть одним разрешённым ходом из текущего положения. Сделайте этот ход, а после ответа соперника снова примените правило и ищите подходящий переход.
Что делать, если из позиции возможен ход, которого ещё нет в составленном списке?
Отсутствие положения в списке ещё не говорит, выигрышное оно или проигрышное. Проверьте все его ходы и при необходимости продолжите классификацию от ближайших к завершению игры положений, не делая выводов по неполному списку.
Лабораторная работа № 27 (к § 58) Построение стратегии на основе списка проигрышных позиций