Введение

В теории вычислительной сложности обобщённая география — известная PSPACE-полная задача.

Введение

География – это детская игра, где игроки по очереди называют города из любой точки мира. Каждый выбранный город должен начинаться с той же буквы, которой заканчивается название предыдущего города. Повторять города нельзя. Игра начинается с любого стартового города и заканчивается, когда игрок не может назвать следующий город.

Модель графика

Для визуализации игры можно построить ориентированный граф, вершинами которого являются города мира. От вершины N1 к вершине N2 добавляется дуга тогда и только тогда, когда название города, соответствующего N2, начинается с буквы, которой заканчивается название города, соответствующего вершине N1. Иными словами, мы проводим дугу от одного города к другому, если по правилам игры из первого города можно назвать второй. Каждое альтернативное ребро в ориентированном графе соответствует одному из игроков (в игре для двух игроков). Игрок, который не может продолжить путь, проигрывает. Пример игры (включающий некоторые города штата Мичиган) показан на рисунке ниже. В обобщенной географической игре (GG) граф названий городов заменяется произвольным ориентированным графом. Приведенный ниже граф является примером обобщенной географической игры.

Играть в игру

Мы определяем P1 как игрока, ходящего первым, а P2 как игрока, ходящего вторым, и называем узлы от N1 до Nn. На приведенной выше схеме у P1 есть выигрышная стратегия: узел N1 указывает только на узлы N2 и N3. Следовательно, первый ход P1 должен быть одним из этих двух вариантов. P1 выбирает N2 (если P1 выберет N3, то P2 выберет N9, так как это единственный возможный ход, и P1 проиграет). Затем P2 выбирает N4, поскольку это единственный оставшийся вариант. P1 выбирает N5, а P2 в ответ выбирает N3 или N7. Независимо от выбора P2, P1 выбирает N9, и у P2 не остается ходов, что приводит к его поражению.

Комплексность вычислений

Проблема определения наличия выигрышной стратегии у игрока в обобщённой игре в географию является PSPACE-полной.

Обобщенная география является PSPACE-жесткой

Следующее доказательство принадлежит Дэвиду Лихтенштейну и Майклу Сипсеру. Чтобы установить PSPACE-трудность GG, мы можем свести задачу FORMULA GAME (которая, как известно, является PSPACE-трудной) к GG за полиномиальное время (P). Вкратце, экземпляр задачи FORMULA GAME состоит из квантованной булевой формулы φ = ∃x1 ∀x2 ∃x3 … Qxk(ψ), где Q — это либо ∃, либо ∀. В игру играют два игрока, Pa и Pe, которые поочередно выбирают значения для последовательных xi. Pe выигрывает игру, если формула ψ оказывается истинной, а Pa выигрывает, если ψ оказывается ложной. Формула ψ предполагается заданной в конъюнктивной нормальной форме. Для упрощения в этом доказательстве мы предполагаем, что список кванторов начинается и заканчивается экзистенциальным квантором, ∃. Следует отметить, что любое выражение можно привести к этой форме, добавив фиктивные переменные, которые не встречаются в ψ. Построив граф G, как показано выше, мы покажем, что любой экземпляр задачи FORMULA GAME можно свести к экземпляру Generalized Geography, где оптимальная стратегия для P1 эквивалентна стратегии Pe, а оптимальная стратегия для P2 эквивалентна стратегии Pa. Левая вертикальная цепочка узлов предназначена для имитации процедуры выбора значений для переменных в FORMULA GAME. Каждая структура в виде ромба соответствует квантованной переменной. Игроки по очереди выбирают пути в каждом узле ветвления. Поскольку мы предположили, что первый квантор будет экзистенциальным, P1 ходит первым, выбирая левый узел, если x1 истинно, и правый узел, если x1 ложно. Затем каждый игрок делает вынужденные ходы, после чего P2 выбирает значение для x2. Эти чередующиеся назначения продолжаются вниз по левой стороне. После того как оба игрока пройдут через все ромбы, снова наступает ход P1, поскольку мы предположили, что последний квантор является экзистенциальным. У P1 нет выбора, кроме как следовать по пути в правую сторону графа. Затем наступает ход P2. Когда игра доходит до правой стороны графа, это напоминает конец игры в FORMULA GAME. Вспомним, что в FORMULA GAME Pe выигрывает, если ψ истинно, а Pa выигрывает, если ψ ложно. Правая сторона графа гарантирует, что P1 выигрывает тогда и только тогда, когда выигрывает Pe, и что P2 выигрывает тогда и только тогда, когда выигрывает Pa. Сначала покажем, что P2 всегда выигрывает, когда выигрывает Pa. Если Pa выигрывает, то ψ ложно. Если ψ ложно, то существует неудовлетворимое предложение. P2 выберет неудовлетворимое предложение, чтобы выиграть. Когда наступит ход P1, он должен выбрать литерал в этом предложении, выбранном P2. Поскольку все литералы в предложении ложны, они не связаны с ранее посещенными узлами в левой вертикальной цепочке. Это позволяет P2 следовать по связи к соответствующему узлу в ромбе левой цепочки и выбрать его. Однако P1 теперь не может выбрать ни одного соседнего узла и проигрывает. Теперь покажем, что P1 всегда выигрывает, когда выигрывает Pe. Если Pe выигрывает, то ψ истинно. Если ψ истинно, то каждое предложение в правой части графа содержит истинный литерал. P2 может выбрать любое предложение. Затем P1 выбирает истинный литерал. И поскольку он истинный, его соседний узел в левой вертикальной цепочке уже выбран, поэтому P2 не может сделать ход и проигрывает.

Плоская обобщенная география является PSPACE-комплектной

Обобщенная география является PSPACE-полной задачей, даже при игре на планарных графах. Доказательство приведено из теоремы 3.

Ненаправленная география

Можно также рассмотреть игру в «Географию» на неориентированном графе (то есть, по ребрам можно двигаться в обоих направлениях). Френкель, Шейнерман и Уллман показали, что «География вершин» на неориентированном графе может быть решена за полиномиальное время, в то время как «География ребер» на неориентированном графе является PSPACE-полной задачей, даже для планарных графов с максимальной степенью 3. Если граф является двудольным, то «География ребер» на неориентированном графе разрешима за полиномиальное время.

Последствия

Учитывая, что GG является PSPACE-полной, не существует алгоритма полиномиального времени для оптимальной игры в GG, если P = PSPACE. Однако доказать сложность других игр может оказаться сложнее, поскольку в некоторых играх (таких как шахматы) конечное число игровых позиций, что затрудняет (или делает невозможным) установление связи с PSPACE-полной задачей. Несмотря на это, сложность некоторых игр все еще можно анализировать путем обобщения (например, рассматривая поле n × n). Подробности доказательства для обобщенного Go можно найти в указанных ссылках, как следствие доказательства полноты GG.