Является ли следующая проблема NP-трудной?
Учитывая конфигурацию доски для международных шашек , найдите один законный ход.
Соответствующая задача для американских шашек (или английских шашек) тривиально разрешима за полиномиальное время. Есть три основных различия между этими двумя играми.
Первое и самое значительное отличие - это правило «летающий король». В шашках король может перепрыгнуть через фигуру соседнего противника в пустой квадрат в двух шагах в любом диагональном направлении. В международных шашках король может перепрыгнуть фигуру противника на произвольное расстояние, сдвинув произвольное расстояние по диагонали.
Как и в шашках, одна и та же фигура может быть использована для захвата серии фигур за один ход. Однако, в отличие от шашек, захваченные фрагменты в международных проектах не удаляются, пока не закончится вся последовательность. Захватывающая фигура может перепрыгивать или приземляться в одном и том же пустом квадрате несколько раз, но она не может перепрыгивать фигуру противника более одного раза.
Наконец, и шашки, и международные шашки имеют правило принудительного захвата: если вы можете захватить фигуру противника, вы должны это сделать. Тем не менее, правила правила не согласны, когда есть несколько вариантов для нескольких. В шашках вы можете выбрать любую максимальную последовательность захватов; другими словами, вы можете выбрать любую последовательность захвата, которая заканчивается, когда часть захвата больше не может захватывать. В международных шашках вы должны выбрать самую длинную последовательность захватов. Таким образом, моя проблема эквивалентна следующему:
Учитывая конфигурацию доски для международных шашек , найдите ход, который захватывает максимальное количество противоборствующих фигур.
Достаточно доказать, что следующая задача является NP-полной. (Это очевидно в NP.)
Учитывая конфигурацию доски для международных драфтов с участием только королей , может (и поэтому должен) один игрок захватить все фигуры своего противника за один ход?
На соответствующую задачу проверки можно ответить за полиномиальное время; это занимательное домашнее задание. Эта проблема выглядит более похожей на анализ Демейном, Демейном и Эппштейном финальных матчей Футбола ; решение развлекательной домашней работы появляется в конце их статьи. Решение также появляется в документе FOCS 1978 Frankel et al. это доказывает, что оптимально играть в шашки очень сложно; см. также доказательство Робсона 1984 года о том, что шашки на самом деле завершены.
Ответы:
Хорошо, вот сокращение. Оказывается, вам не нужна планарность в конце концов. Кроме того, для «найти законный ход» я принимаю вопрос о решении как «ход Х законен?».
Во-первых, давайте вместо этого поработаем с игрой, в которой фигуры движутся ортогонально, а не по диагонали. Эта игра эквивалентна (просто посмотрите на доску для шашек, повернутую на 45 градусов), за исключением свойств ребер, которые мы не будем использовать. Мы используем два гаджета: слияние / разделение и кроссовер. См. Http://www.hearn.to/draughts.pdf . Мы предполагаем, что на доске есть один белый король для перемещения. (Ни одна другая фигура не сможет захватить сколько-нибудь значительное количество фигур.) Она будет перемещаться по указанным коридорам, захватывая черные фигуры по пути.
Во-первых, слияние: если король входит в любой из N путей A (посредством захвата черной фигуры, не показана), он может выйти в точке B. Аналогичным образом, если мы перевернем гаджет и он войдет в точку B, захватив показанную фигуру, он может выйти по любому пути A (опять же, захватывая внешнюю черную фигуру). Это одноразовый гаджет (потому что выходной черный кусок может быть захвачен только один раз).
Во-вторых, кроссовер. Если король входит через A (C), он может выйти в B (D). Он не может остановиться посередине и изменить маршруты, потому что это будет сегмент захвата без захвата.
Теперь, учитывая ориентированный граф, построим соответствующую игровую конфигурацию следующим образом. Для каждой вершины создайте слияние, которое подает в разбиение. Направьте выходы разделения на входы слияния гаджетов вершин (слияние + разделение), соответствующие вершинам, к которым соединяются выходящие ребра, при необходимости используя кроссоверы. Запустите короля на дополнительном входе в любую вершину (чтобы захватить черный кусок, чтобы он вошел в вершину).
Наконец, выровняйте все «длины ребер», добавив дополнительные черные фигуры вдоль путей вывода / ввода по мере необходимости. Если есть V вершин и k черных фигур вдоль каждого ребра, то король может захватить 2V + kV + 1 кусков тогда и только тогда, когда существует гамильтонова схема соответствующего графа. Если у короля есть альтернативный ход, захватывая простую цепочку фигур 2V + kV, то определение того, законен ли этот альтернативный ход, является NP-завершенным.
источник
Вот возможная альтернатива редукции Боба, на этот раз из (ненаправленного) гамильтонова цикла.
Я не уверен на 100%, что детали верны - я уже нашел и исправил несколько проблем, - но я уверен, что это можно перевести в правильное доказательство.Как указывает Боб, это сокращение имеет серьезную ошибку; белый король может легко отклониться от своего канонического пути через доску. Эту ошибку можно исправить, добавив перекрестный гаджет Боба в соответствующие места (я думаю) , но тогда он существенно не отличается от его сокращения.источник
Теперь, почему вы не представляли мне эту проблему, когда я работал над диссертацией?
Хорошо, у меня есть сокращение от плоско-направленного гамильтонова цикла.
источник