Una definizione equivalente di NP è che consiste in tutti i problemi che sono decidibili (non solo verificabili) nel tempo polinomiale da una macchina di Turing non deterministica. È noto che le NTM non sono più potenti delle TM, nel senso che l'insieme di problemi decidibili dalle NTM è identico all'insieme dei problemi decidibili dalle TM, quindi chiaramente con questa definizione non ci possono essere problemi indecidibili in NP.
Per dimostrare che le due definizioni di NP sono equivalenti, data l'esistenza di un verificatore deterministico, è possibile dimostrare l'esistenza di un decisore non deterministico e viceversa.
Supponi di avere un verificatore polinomiale deterministico. Quindi c'è anche una macchina che indovina in modo non deterministico un certificato di una lunghezza limitata dal polinomio corrispondente alla dimensione del certificato associata a questo problema / verificatore e quindi esegue il verificatore. Poiché l'alfabeto è finito, il certificato per ogni dato input è finito (e al massimo polinomiale nella dimensione dell'input) e il verificatore viene eseguito in un tempo polinomiale, la macchina si arresta su tutti i rami per tutti gli input e viene eseguita (non- deterministico) tempo polinomiale. Quindi esiste un decisore non deterministico per ogni verificatore deterministico.
Se hai un decisore non deterministico, allora per ogni calcolo accettante puoi scrivere il percorso delle scelte prese dal decisore per raggiungere lo stato di accettazione. Poiché il decisore corre nel tempo polinomiale, questo percorso avrà la massima lunghezza polinomiale. Ed è facile per una TM deterministica convalidare che un tale percorso è un percorso valido attraverso un NTM verso uno stato di accettazione, quindi tali percorsi formano certificati per un verificatore di tempo polinomiale per il problema. Quindi esiste un verificatore deterministico per ogni decisore non deterministico.
Pertanto, qualsiasi problema indecidibile non può avere un verificatore che funzioni su certificati di dimensioni polinomiali (altrimenti l'esistenza del verificatore implicherebbe l'esistenza di un decisore).
Quando affermi che esiste un verificatore per il problema di arresto, il certificato di cui stai parlando è una codifica di (TM, I, N), in cui la TM si ferma sull'ingresso I in N passaggi. Ciò può essere verificato in N passaggi, ma la dimensione del certificato non è polinomiale nella dimensione dell'input (TM, I) al problema originale (il problema di arresto); N può essere arbitrariamente grande (indipendentemente dalla codifica). Se provi a convertire un tale verificatore in un decisore non deterministico, finisci con una macchina piuttosto interessante. Dovresti essere in grado di dimostrarlo quando eseguito su (TM, I) per una TM che non lo fastop su input I non esistono percorsi non-stop attraverso la macchina, ma anche che per qualsiasi percorso che porta ad uno stato di arresto c'è sempre un altro percorso più lungo (corrispondente a un'ipotesi di una N più grande), e quindi non c'è limite finito il suo tempo di esecuzione. In sostanza questo è perché c'è uno spazio infinito che deve essere esplorato dall'ipotesi iniziale non deterministica. La conversione di un tale NTM in una TM deterministica porta a una di quelle macchine che non eseguono loop o si fermano su alcuni input. In realtà non esiste NTM in grado di decidere il problema di arresto, quindi non esiste un verificatore che funzioni su certificati con dimensioni limitate.
Non ho molta familiarità con le equazioni di Dihanthant, ma sembra essenzialmente che lo stesso problema si applichi al tuo argomento.
Per questo motivo trovo più facile ragionare sulla definizione NTM di NP. Esistono verificatori per problemi indecidibili (ma non quelli che funzionano su certificati con una dimensione polinomiale legata alla dimensione dell'input al problema originale). In effetti, qualsiasi TM che riconosce ma non decide una lingua può essere facilmente convertita in un verificatore per la stessa lingua.
Se pensi ai verificatori, suppongo che tu debba dare i loro limiti di tempo in termini di dimensioni dell'input del problema originale , non in termini di dimensioni del certificato; puoi gonfiare arbitrariamente la dimensione dei certificati in modo che il verificatore venga eseguito in un tempo inferiore in termini di dimensioni del certificato.