Эквивалентное определение 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, который распознает, но не решает какой-либо язык, может быть легко преобразован в верификатор для того же языка.
Если вы задумываетесь о верификаторах, я полагаю, что вы должны указать их временные границы с точки зрения размера исходной входной задачи , а не с точки зрения размера сертификата; Вы можете произвольно раздувать размер сертификатов, чтобы верификатор работал в более короткие сроки с точки зрения размера сертификата.