Может ли какая-то конечная проблема быть в NP-Complete?


13

Мой лектор сделал заявление

Любая конечная задача не может быть NP-полной

В то время он говорил о судоку, который сказал что-то вроде того, что для судоку 8х8 существует ограниченный набор решений, но я не могу точно вспомнить, что он сказал. Я записал записку, которую цитировал, но до сих пор не понимаю.

Судоку - это NP, если я не ошибаюсь. Проблема клика также является NP-полной, и если у меня была проблема 4-Клика, разве это не конечная проблема, которая является NP-полной?


Что такое «конечная проблема»? Гугл и Википедия не помогают.
Антон Трунов

3
@AntonTrunov Проблема, в которой вход имеет ограниченную длину.
Юваль Фильмус

@YuvalFilmus, Разве это не верно для всех допустимых пар ввода машины Тьюринга *? Один из символов IIRC обозначен как пустой символ, и вход изначально имеет ограниченную область, за пределами которой символы, отличные от пустого символа, не могут появляться. Термин «NP complete» обычно не используется в контексте операций над потоками, которые не могут быть смоделированы без ослабления этого предположения.
Майк Самуэль,

@MikeSamuel Когда я говорю «ограниченная длина», я имею в виду ввод размера не более 100. (Или любое число, отличное от 100).
Yuval Filmus

@YuvalFilmus, хорошо. Я говорю, что термин «NP complete» используется только тогда, когда на входе нет непустых символов или существует целое число, которое является количеством символов между крайним левым непустым символом и крайним правым непустым символом , 100 будет таким примером.
Майк Самуэль,

Ответы:


15

Если конечная задача NP-полна, то P = NP, поскольку каждая конечная задача имеет алгоритм с полиномиальным временем (даже алгоритм с постоянным временем).

Когда мы говорим, что судоку является NP-полной, мы имеем в виду, что обобщенная версия судоку, сыгранная на доске является NP-полной.N2×N2

Наконец, проблема 4-клики, хотя и не является конечной (входной граф имеет неограниченный размер), является простой задачей, которая имеет алгоритм полиномиального времени.


Так является ли проблема 4-клики P, поскольку она имеет алгоритм полиномиального времени?
TheRapture87

1
@ Aceboy1993 Правильно, это определение П.
Юваль Фильмус

Но тогда почему K-клика считается NP-Complete? K не просто представляет число как 4?
TheRapture87

КК

Кроме того, мы можем доказать, что клика является NP-полной.
Юваль Фильмус

5

Утверждение вашего учителя неверно или, возможно, вы не правильно его услышали. Правильное утверждение

L|L|1пзнак равноNп .

пNп|L|>1пзнак равноNппNп

Судоку или шахматы не являются NP-полными (как указывал Юваль), потому что их вход - доска конечного размера 9x9 или 8x8 (я говорю о вариантах решения, есть ли у судоку решение или есть ли у шахмат выигрышная стратегия). В шахматах, если вы повторяете позицию, это считается ничьей.


0

Напомним: проблема X является NP-полной, если она удовлетворяет двум критериям:

а) Именно в NP - Т.е. любое угаданное решение X можно проверить за полиномиальное время.

б) для NP это завершено - т.е. каждая задача Y в NP имеет сокращение за полиномиальное время, которое переводит экземпляр Y в экземпляр X (так что любая программа за полиномиальное время, которая решает X, также решает Y за полиномиальное время ).

Мы можем согласиться, что судоку 9x9 удовлетворяет (а). Это (б), где вещи падают. В более общем плане - проблемы (в NP или иным образом) обычно имеют экземпляры размера N для произвольно больших значений N ; конечно, это верно для известных проблем в NP. Сокращение от такой проблемы до проблемы, которая имеет максимально возможный размер проблемы, не может быть допустимым сокращением от экземпляра к экземпляру, потому что у первого всегда (бесконечно) больше экземпляров, чем у второго. Вот почему судоку необходимо обобщить на матрицы NxN, прежде чем можно будет рассматривать NP-полноту.


1
Это не правильно. Вполне возможно иметь действительное сокращение от задачи с бесконечным числом экземпляров до задачи с конечным числом экземпляров. Например, здесь приведено сокращение от SAT до задачи определения, равна ли строка длины 1 «a»: если экземпляр SAT выполним, сопоставьте его со строкой «a»; в противном случае сопоставьте его со строкой «b». Теперь это сокращение (вероятно) не вычисляется за полиномиальное время, но это вполне допустимое сокращение.
Дэвид Ричерби
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.