NP-сложные проблемы, которые не являются NP-полными, сложнее?
Насколько я понимаю, все NP-полные проблемы являются NP-сложными, но известно, что некоторые NP-сложные проблемы не являются NP-полными, а NP-сложные проблемы, по крайней мере, такие же сложные, как NP-полные.
Значит ли это, что NP-сложные задачи, которые не являются NP-полными, сложнее? И как это сложнее?
6 ответов
Чтобы ответить на этот вопрос, сначала нужно понять, какие сложные задачи также являются NP-полными. Если NP-сложная задача принадлежит NP, то она является NP-полной. Чтобы принадлежать к множеству NP, проблема должна быть
(i) решение проблемы,
(ii) число решений задачи должно быть конечным, и каждое решение должно иметь полиномиальную длину, и
(iii) учитывая решение по полиномиальной длине, мы должны быть в состоянии сказать, является ли ответ на проблему да / нет
Теперь легко заметить, что может быть много сложных для NP задач, которые не относятся к множеству NP и которые труднее решить. В качестве интуитивно понятного примера, оптимизационная версия коммивояжера, в которой нам нужно найти фактическое расписание, сложнее, чем вариант решения коммивояжера, где нам просто нужно определить, существует ли расписание с длиной <= k или нет.
Проблема остановки машины Тьюринга неразрешима на машинах Тьюринга и NP-харде, но не у NPC. Видимо, это сложнее;)
Проблема остановки Тьюринга неразрешима и относится к набору NP-Hard. Для решения проблемы остановки у нас нет какого-либо решения, так как это язык RE. Поэтому у нас нет алгоритма для его решения. Таким образом, ясно, что неразрешимые проблемы также есть в NP-Hard. Таким образом, набор NP-Hard также содержит языки или проблемы, для которых у нас нет алгоритма для решения.
- NP-полный должен быть NP и NP-сложным.
- и NP-хард, которые не являются NP-полными, не являются NP.
- Теперь по определению NP есть кто-то, кто дает пример ответа на задачу. и есть верификатор для проверки.
- это означает, что у NP-Hard нет ни одного из них. Следовательно, их трудно решить, это правда.
С http://en.wikipedia.org/wiki/NP-hard
Есть также проблемы с решением, которые являются NP-сложными, но не NP-полными, например, проблема остановки. Это проблема, которая спрашивает: "Если программа и ее данные будут работать вечно?" Это вопрос да / нет, так что это проблема решения. Легко доказать, что проблема остановки является NP-сложной, но не NP-полной.