Является ли проблема N Queens NP-трудной?


11

Проблема N-королевы заключается в следующем:

Вход: N

Вывод: размещение N «ферзей» на шахматной доске NXN таким образом, чтобы никакие две королевы не лежали в одной строке, столбце или диагонали.

Сделав поиск в Google по этому вопросу, я обнаружил, что многие слайды многих профессоров утверждают, что это проблема NP-Hard (например, web.mst.edu/~ercal/387/slides/NP-Hard.ppt).

Однако я не смог найти доказательства (или получить одно). Причина, по которой я задаю этот вопрос, заключается в том, что я думаю, что у меня есть алгоритм, который решает определенные случаи проблемы, то есть с N, не кратным 2 или 3 (N - это число ферзей). Связанная проблема - Можем ли мы считать размер входного файла равным N (где N - количество королев)? Или мы принимаем входной размер равным log (N), поскольку число 'N' может быть представлено в log (N) битах?


6
(1) Почему вы используете N и n? Это одна и та же переменная или разные переменные? (2) Для каждого целого числа n, кроме 2 и 3, существует способ поместить n ферзей на доску n × n, удовлетворяющих условию n-ферзя (см. Википедию ), поэтому я не знаю, о какой проблеме вы говорите, когда Вы говорите: «Это сложная проблема для NP».
Цуёси Ито

3
Я помню, что результат твердости возникает, когда доска не обязательно квадратная, то есть форма платы задается как часть ввода.
Сашо Николов

27
Не может быть доказательства NP-полноты для шахматной доски, потому что эта задача имеет одинарный вход ... то есть, есть только один вход для размера , в то время как свидетель нуждается в описании размера полинома. Теорема Махани гласит, что показ такой задачи как NP-полной подразумевает, что P = NP. Вам нужны забавные формы доски, чтобы задача была NP-полной. n×nn
Питер Шор

2
Возможно, подсчет решений - немного более интересная проблема (за исключением класса #P, как доказано в «О сложности подсчета полных отображений»).
Марцио де Биаси

3
Смотрите также: dl.acm.org/citation.cfm?id=122322
Джефф

Ответы:


8

Как указано, ответ на этот вопрос НЕТ.

Ссылки: Алгоритм полиномиального времени http://dl.acm.org/citation.cfm?id=101343 [любезно предоставлено: vzn]

Еще один гораздо более простой метод: http://dl.acm.org/citation.cfm?id=122322 [любезно предоставлено Джеффом]


Вы можете принять этот ответ, чтобы он не появлялся снова без ответа.
Суреш Венкат

11
Алгоритм полиномиального времени в первой ссылке не гарантирует получение решения. Успешен ли алгоритм или нет, зависит от начальной конфигурации, которая выбрана случайным образом, и авторы приводят только эмпирические доказательства того, что, по-видимому, он принимает полиномиальное количество испытаний до тех пор, пока он не будет успешным.
Цуёси Ито

4
Вторая ссылка также не является доказательством. То, что найдено единственное выполнимое решение для n-ферзей с n = 500000, не означает, что оно есть в P. (Это только повышает вероятность этого)
Джеффри Де Смет,

1

На самом деле, это только что было доказано.

https://blogs.cs.st-andrews.ac.uk/csblog/2017/08/31/n-queens-completion-is-np-complete/ ]


5
Нет, это не так. Прочитайте статью, или даже ее аннотацию: она имеет дело с завершением королев , вариантом проблемы. N
Клемент С.

1
@ClementC. На самом деле, поскольку исходный вопрос недостаточно точен, я думаю, что у Каспера есть смысл, даже если его способ сформулировать это может быть неполным. Принимая во внимание n, если существует место, очевидно, что решение находится в P, поскольку задача всегда имеет решения для n> 3. Таким образом, проблема завершения n-ферзей (решение о том, можно ли расширить данное частичное решение) кажется естественной проблемой решения, которую нужно рассмотреть, чтобы понять сложность проблемы.
17

3
@holf Это действительно верное замечание, которое вы высказываете, но в этом ответе даже не упоминается (и что читатель совершенно не сможет его прочитать). Иметь неверный ответ на неоднозначный вопрос не совсем оптимально.
Климент С.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.