Очевидно, что в NP нет неразрешимых проблем. Однако, согласно Википедии :
NP - это совокупность всех задач решения, для которых в случаях, когда ответ «да», есть [... доказательства, которые] проверяются за полиномиальное время с помощью детерминированной машины Тьюринга.
[...]
Говорят, что проблема в NP, если и только если существует верификатор для задачи, которая выполняется за полиномиальное время.
Теперь рассмотрим следующую проблему:
Имеет ли диофантово уравнение , есть ли у него целочисленные решения?
Учитывая решение, легко за полиномиальное время проверить, что оно действительно является решением: просто вставьте числа в уравнение. Таким образом, проблема в NP. Однако известно, что решение этой проблемы неразрешимо !
(Точно так же кажется, что проблема остановки должна быть в NP, поскольку «да» - решение «эта программа останавливается на N-м шаге» может быть проверено за N шагов.)
Очевидно, что-то не так с моим пониманием, но что это?
источник
Ответы:
Эквивалентное определение NP состоит в том, что он состоит из всех задач, которые разрешимы (а не просто проверяемы) за полиномиальное время с помощью недетерминированной машины Тьюринга. Известно, что NTM не более мощны, чем ТМ, в том смысле, что набор проблем, решаемых НТМ, идентичен набору задач, решаемых ТМ, поэтому ясно, что по этому определению не может быть неразрешимых проблем в NP.
Чтобы продемонстрировать, что два определения NP эквивалентны, учитывая наличие детерминированного верификатора, вы можете продемонстрировать, что существует недетерминированный решатель, и наоборот.
Скажем, у вас есть детерминированный полиномиальный верификатор. Кроме того, существует машина, которая недетерминистически угадывает сертификат длины, ограниченной полиномом, соответствующим размеру сертификата этой задачи / верификатора, и затем запускает верификатор. Поскольку алфавит конечен, сертификат для любого данного ввода является конечным (и не более чем полиномиальным по размеру ввода), а верификатор работает за полиномиальное время, машина останавливается на всех ветвях для всех входных данных и запускается (не детерминированный) полиномиальное время. Таким образом, для каждого детерминированного верификатора существует недетерминированный решающий фактор.
Если у вас есть недетерминированный решатель, то для каждого принимающего вычисления вы можете записать путь выбора, принятого решателем, чтобы достичь состояния принятия. Поскольку решающий блок выполняется за полиномиальное время, длина этого пути будет максимально полиномиальной. И для детерминированной TM легко проверить, что такой путь является допустимым путем через NTM до состояния принятия, поэтому такие пути образуют сертификаты для полиномиального верификатора времени для проблемы. Таким образом, существует детерминированный верификатор для каждого недетерминированного решателя.
Таким образом, любая неразрешимая проблема не может иметь верификатора, который работает с сертификатами полиномиального размера (в противном случае наличие верификатора подразумевало бы существование решающего элемента).
Когда вы утверждаете, что существует верификатор для проблемы остановки, сертификат, о котором вы говорите, является некоторой кодировкой (TM, I, N), где TM останавливается на входе I за N шагов. Это действительно может быть проверено за N шагов, но размер сертификата не является полиномиальным по отношению к размеру (TM, I) входных данных для исходной проблемы (проблема остановки); N может быть сколь угодно большим (независимо от кодировки). Если вы попытаетесь преобразовать такой верификатор в недетерминированный решатель, вы получите довольно интересную машину. Вы должны быть в состоянии доказать, что при запуске на (TM, I) для TM, который неостановка на входе I не существует не прерывающихся путей через машину, но также и то, что для любого пути, приводящего к состоянию остановки, всегда есть другой более длинный путь (соответствующий предположению большего N), и, таким образом, нет конечной границы для время его исполнения. По сути, это потому, что существует бесконечное пространство, которое необходимо исследовать с помощью первоначального недетерминированного предположения. Преобразование такого NTM в детерминированный TM приводит к одной из тех машин, которая не зацикливается и не останавливается на некотором входе. Фактически не существует NTM, который мог бы решить проблему остановки, и поэтому не существует верификатора, который работал бы с сертификатами с ограниченным размером.
Я не очень знаком с диофантовыми уравнениями, но похоже, что по сути та же самая проблема применима к вашей аргументации.
По этой причине мне проще рассуждать об определении NTM NP. Существуют верификаторы для неразрешимых проблем (только те, которые работают с сертификатами, размер полинома которых связан с размером входных данных исходной задачи). Фактически любой TM, который распознает, но не решает какой-либо язык, может быть легко преобразован в верификатор для того же языка.
Если вы задумываетесь о верификаторах, я полагаю, что вы должны указать их временные границы с точки зрения размера исходной входной задачи , а не с точки зрения размера сертификата; Вы можете произвольно раздувать размер сертификатов, чтобы верификатор работал в более короткие сроки с точки зрения размера сертификата.
источник
Я думаю, вы неправильно поняли, что значит решить диофантово уравнение и теорему Матиясевича о неразрешимости .
Матиясевич доказал, что для каждого RE-множества существует диофентинное уравнение такое, что только если существуют целочисленные коэффициенты , .., такие, что . В частности, проблема остановки является типичным набором RE, и поэтому решение вышеуказанной проблемы неразрешимо.е ( п , х 1 , . . . , Х к ) п ∈ S х 1 х к е ( п , х 1 , . . . , Х к ) = 0S е( п ; х1, . , , , хК) n ∈ S Икс1 ИксК е( п ; х1, . , , , хК) = 0
Обратите внимание, что не ограничены по размеру и, как правило, могут быть произвольно большими, поэтому в этой задаче нет «сертификата полиномиального размера».Икс1, . , , ИксК
Для расширения: целые числа должны быть записаны в двоичном виде, чтобы быть сертификатом. Поскольку эти целые числа могут быть сколь угодно большими (независимо от ), мы имеем, что сертификат не является полиномом в или, что более важно, не ограничен и вычислимой функцией. n log nИкс1, . , , , хК N журналN
Однако каждая проблема в имеет сертификат, ограниченный каким-то полиномом (где - размер ввода). Таким образом, вопросы тривиально разрешимы, так как вы можете перечислить каждую возможную битовую строку до длины и, если ни один из них не подтвердит ввод, верните false. Если что-то есть, верните true. п ( Н ) Н Н П п ( Н )Н П p ( N) N Н П p ( N)
источник
Вы должны были прокрутить до формального определения :
То есть верификатор должен работать и с не-решениями. Где-то там неразрешимые проблемы терпят неудачу (в вашем случае ограничение длины кандидатов на решения, вероятно, не выполняется), что очевидно из (более четкого определения (в смысле вычислимости) :
источник
Я пытаюсь предоставить более подробную информацию для моего ответа выше.
На самом деле, этот вопрос является проблемой дилеммы.
С одной стороны, проблема диофантовых уравнений (DEP) неразрешима в соответствии с теоремой Матиесевича (теорема Матиесевича отвечает на десятую проблему Гильберта, а проблема Тьюринга - Остановка отвечает на обобщение десятой проблемы Гильберта, то есть проблемы Энтшайдунга); но с другой стороны, нет никакой неразрешимой проблемы в NP согласно определению NP (разрешимой и проверяемой).
То есть, либо DEP не в NP, либо DEP в NP. Оба они касаются определения NP.
Если DEP отсутствует в NP, это означает, что проблемы в NP (NDTM = Недетерминированная машина Тьюринга) разрешимы и проверяемы, то есть мы принимаем P = NP (NDTM).
Если DEP находится в NP, то NP (NTM = Non Turing Machine) содержит разрешимые и неразрешимые, очевидно разрешимые поддается проверке, поэтому проблема в том, поддается ли проверке неразрешимая? На самом деле, это знаменитая проблема P против NP. Конечно, неразрешимое не подлежит проверке, поэтому NP соответствует NTM (Машина Тьюринга), а не NDTM (Машина недетерминированного Тьюринга).
Исходя из того, что DEP находится в NP (NTM), мы думаем, что NP (NTM) является недетерминированной проблемой (неразрешимой), и текущее определение NP (NDTM, разрешимое и проверяемое) утратило эту недетерминированность (неразрешимую), поэтому мы думаем, что это должно быть подвергнуто сомнению.
источник
Мы думаем, что дилемма, которую вы подняли в отношении диофантова уравнения, очень важна, потому что она обнаруживает что-то ненормальное в текущем определении NP: - Говорят, что проблема в NP, если и только если существует верификатор для задачи, которая выполняется в полиноме время.
Что касается определения NP, его можно проследить до 60-х годов, когда было обнаружено большое количество применимых и значительных проблем, для которых не было найдено ни одного полиномиального алгоритма для их решения, чтобы распознать эти проблемы по тем проблемам, которые можно решить за полиномиальное время. (P), концепция NP была выпущена.
Однако текущее определение NP, определяемое как проверяемое за полиномиальное время, путает NP с P, поскольку проблема в P также проверяется за полиномиальное время. Иными словами, такое определение приводит к утрате сущности НП, «недетерминизма». Следовательно, это вызывает серьезные двусмысленности в понимании NP, например, вашей дилеммы: по своей природе проблема диофантова уравнения неразрешима; но по определению NP, это разрешимо, ...
По нашему мнению, сложность решения «P против NP» лежит, в первую очередь, на уровне познания, поэтому, если мы надеемся получить представление о «P против NP», нам нужно сначала задать вопрос: что такое NP?
источник