Perché non è questo problema indecidibile in NP?


25

Chiaramente non ci sono problemi indecidibili in NP. Tuttavia, secondo Wikipedia :

NP è l'insieme di tutti i problemi di decisione per i quali i casi in cui la risposta è "sì" hanno [.. prove che sono] verificabili in tempo polinomiale da una macchina di Turing deterministica.

[...]

Si dice che un problema si trova in NP se e solo se esiste un verificatore per il problema che si esegue in tempo polinomiale.

Ora considera il seguente problema:

Data un'equazione di Diophantine , ha qualche soluzione intera?

Data una soluzione, è facile verificare in tempo polinomiale che in realtà è una soluzione: basta collegare i numeri nell'equazione. Pertanto, il problema è in NP. Tuttavia, è noto che risolvere questo problema è indecidibile !

(Allo stesso modo, sembra che il problema di arresto dovrebbe essere in NP, dal momento che la risoluzione "sì" di "questo programma si interrompe al passaggio N-esimo" può essere verificata in passaggi N.)

Ovviamente c'è qualcosa che non va nella mia comprensione, ma che cos'è?


1. Tieni presente che la definizione che stai citando è per problemi di decisione. 2. Per quanto riguarda il tuo esempio di Diophantine, non stai affermando che ogni sistema esiste un polinomio legato alla dimensione delle soluzioni, giusto?
Dmitri Chubarov,

@Dmitri: Ehm, sì, lo sto sostenendo. La dimensione della soluzione è esattamente uguale alla dimensione del problema: se sono presenti N incogniti, la soluzione contiene N numeri interi. E questo è un problema decisionale: la soluzione intera (necessaria per verificare il caso "sì") sarebbe il suo certificato .
BlueRaja - Danny Pflughoeft

19
La domanda è: quanto sono grandi gli sfigati
Artem Kaznatcheev,

10
@ BlueRaja-DannyPflughoeft se hai un alfabeto infinito per codificare i tuoi numeri interi, allora non ti trovi più nella cornice standard della teoria della complessità. Con un alfabeto finito la dimensione della codifica aumenta con il valore di un numero intero.
Dmitri Chubarov,

Una soluzione al problema di arresto restituirebbe semplicemente "Sì", senza fornire un suggerimento su quanti passaggi simulare per la verifica.
RemcoGerlich,

Risposte:


10

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.


26

Penso che tu abbia frainteso cosa significhi risolvere un'equazione diottantina e il teorema di indecidibilità di Matiyasevich .

Matiyasevich ha dimostrato che per ogni set di RE esiste un'equazione diofentina f ( n ; xS tali che n S solo se integer coefficienti esiste x 1 , .., x k tale che f ( n , x 1 , . . . , x k ) = 0f(n;X1,...,XK)nSX1XKf(n;X1,...,XK)=0. In particolare, il problema di arresto è un tipico set di RE, e quindi la risoluzione del problema sopra è indecidibile.

Si noti che non ha dimensioni limitate e in generale può essere arbitrariamente grande, quindi non esiste un "certificato con dimensioni polinomiali" evidente in questo problema.X1,...XK

Per espandere: gli interi deve essere scritto in binario per essere un certificato. Poiché questi numeri interi possono essere arbitrariamente grandi (indipendentemente da n ), abbiamo che il certificato non è polinomiale nel registro n o, cosa più importante, non è limitato dalla funzione calcolabile.X1,...,XKnlogn

Tuttavia, ogni problema in ha un certificato limitato da un polinomio p ( N ) (dove N è la dimensione dell'input). Quindi le domande di N P sono banalmente decidibili, poiché puoi enumerare ogni possibile stringa di bit fino alla lunghezza p ( N ) e se nessuna di esse certifica l'input, restituisce false. Se alcuni restituiscono true.NPp(N)NNPp(N)


Naturalmente capisco cosa significa "risolvere un'equazione diofantina" - trovi numeri che soddisfano l'equazione. Non vedo perché il teorema di indecidibilità di Matiyasevich o i set ricorsivamente enumerabili debbano essere messi in discussione. Ma penso che l'ultimo paragrafo potrebbe spiegarlo ...
BlueRaja - Danny Pflughoeft

1
Bene, questa nuova modifica lo spiega - questo spiega anche perché il problema di Halting non si trova in NP, poiché i passaggi che prende per arrestare potrebbero essere arbitrariamente grandi. Grazie!
BlueRaja - Danny Pflughoeft

La mia modifica suggerita era di rimuovere i primi due paragrafi. I primi due paragrafi spiegano perché il decimo problema di Hilbert è indecidibile, il che è completamente tangenziale alla domanda; semplicemente togliono il resto della risposta (che altrimenti è un'ottima risposta!) .
BlueRaja - Danny Pflughoeft

@ BlueRaja-DannyPflughoeft se il primo paragrafo ti ha offeso, allora posso rimuoverlo (anche se mi hai chiesto "cosa c'è di sbagliato nella mia comprensione?"). Il secondo paragrafo è necessario per impostare il problema in modo più formale dal momento che non è presente nella domanda.
Artem Kaznatcheev,

3
@ BlueRaja-DannyPflughoeft È meglio se le domande e le risposte sono autonome. Il mio secondo paragrafo risolve il problema e spiega cosa significa che questo problema è indecidibile. Il mio terzo paragrafo fornisce la risposta rapida. Il mio quarto e quinto paragrafo si espandono su questo in modo più dettagliato. Per quanto ne so, tutti i paragrafi sono necessari.
Artem Kaznatcheev,

8

Avresti dovuto scorrere fino alla definizione formale :

Una lingua è in NP se e solo se esistono polinomi p e q e una macchina di Turing deterministica M , tale cheLpqM

  • Per tutte e y, la macchina M gira nel tempo p ( | x | ) sull'input ( x , y ) .XMp(|X|)(X,y)
  • Per tutti XL , esiste una stringa di lunghezza q ( | x | ) tale che M ( x , y ) = 1 .yq(|X|)M(X,y)=1
  • Per tutte le e tutte le stringheXLyq(|X|)M(X,y)=0

Cioè, un verificatore deve lavorare anche su non soluzioni. Da qualche parte lì, i problemi indecidibili falliscono (nel tuo caso, la restrizione di lunghezza dei candidati alla soluzione non è probabilmente soddisfatta), come è evidente dalla (in senso calcolabile) definizione più chiara :

NP è l'insieme di problemi di decisione decidibili da una macchina di Turing non deterministica che gira in un tempo polinomiale.


"un verificatore deve funzionare anche su non soluzioni" - se stai dicendo che il verificatore deve fallire per le non soluzioni, lo fa già. Se stai affermando che il verificatore deve essere in grado di verificare le risposte "no", ciò è errato - sarebbe co-NP . E sono già a conoscenza della seconda definizione, ma ero confuso su come potesse essere equivalente alla prima, poiché una definizione sembra ammettere il problema nella domanda, mentre l'altra no.
BlueRaja - Danny Pflughoeft

@ BlueRaja-DannyPlughoeft: La mia osservazione è: i verificatori devono essere in grado di confutare le non soluzioni. Se ne sei a conoscenza, modifica la tua domanda di conseguenza; ti fa sembrare abbastanza inconoscibile.
Raffaello

È banalmente ovvio che il verificatore rifiuta già le non soluzioni: basta collegare i numeri all'equazione e vedere se contiene. Temo di non capire a cosa stai cercando di arrivare.
BlueRaja - Danny Pflughoeft

@ BlueRaja-DannyPlughoeft: la "definizione" che citi non specifica questo comportamento.
Raffaello

-1

Cerco di fornire maggiori dettagli per la mia risposta di cui sopra.

In effetti, questa domanda è un problema di dilemma.

Da un lato, il Problema dell'equazione diofantina (DEP) è indecidibile secondo il teorema di Matiyesevich (il teorema di Matiyesevich risponde al decimo problema di Hilbert e il problema Halting di Turing risponde alla generalizzazione del decimo problema di Hilbert, cioè il problema di Entscheidungs); ma d'altra parte, non vi è alcun problema indecidibile in NP secondo la definizione di NP (decidibile e verificabile).

Vale a dire, o DEP non è in NP o DEP è in NP. Entrambi riguardano la definizione di NP.

Se DEP non è in NP, ciò significa che i problemi in NP (NDTM = NonDeterminstic Turing Machine) sono decidibili e verificabili, vale a dire che accettiamo P = NP (NDTM).

Se DEP è in NP, allora NP (NTM = Non Turing Machine) contiene decidibili e indecidibili, ovviamente decidibili è verificabile, quindi il problema è se è indecidibile verificabile? In realtà, questo è il famoso problema di P vs. NP. Certamente, l'indecidibile non è verificabile, quindi NP corrisponde a NTM (Non Turing Machine) invece di NDTM (NonDeterminstic Turing Machine).

Partendo dalla premessa di DEP è in NP (NTM), pensiamo che NP (NTM) sia Problema non deterministico (indecidibile), e l'attuale definizione di NP (NDTM, decidibile e verificabile) ha perso questo non determinismo (indecidibile), quindi pensiamo che debba essere messo in discussione.


1
No, l'indecidibilità del DEP (decimo problema di Hilbert) non è stata dimostrata fino al 1970 da Matiyesevich. Il problema di Entscheidungs ​​non è il decimo problema di Hilbert; riguarda la validità delle formule della logica del primo ordine. E, ancora una volta, il problema P vs. NP non è assolutamente un problema se i problemi indecidibili sono verificabili.
David Richerby,

1
Se desideri fornire maggiori dettagli, devi modificare il post originale.
Tom van der Zanden,

@DavidRicherby Nota che la risposta data da Ben: «l'insieme di problemi decidibili dagli NTM è identico all'insieme di problemi decidibili dagli TM». Proprio in questo senso, penso che la definizione di NP confonda P con NP, e porta a P = NP (NDTM). Se è necessario mettere in discussione questa definizione, è necessario mettere in discussione anche altre conclusioni dedotte da questa definizione, come l'equivalenza di un verificatore deterministico e di un decisore non deterministico.
Yu Li,

@YuLi "porta a P = NP (NDTM)." Non ho idea di cosa tu voglia dire. Inoltre, non vedo l'importanza di sottolineare che TM e NTM decidono le stesse lingue. Se non decidessero le stesse lingue, le NTM sarebbero un modello di calcolo completamente irragionevole ed è difficile immaginare che ci importi cosa possono calcolare in tempo polinomiale. Nella teoria della complessità, stiamo prendendo una visione più fine e chiedendo quali siano le risorse computazionali richieste e la definizione di NP non lo confonde affatto.
David Richerby,

@DavidRicherby Grazie, ho modificato la mia risposta in base alla tua osservazione per chiarire la relazione tra il problema di Entscheidungs ​​e il decimo problema di Hilbert. Per quanto riguarda la domanda sull'attuale definizione di NP, è difficile discutere in diverse parole. L'obiettivo della mia risposta è solo quello di evocare alcune riflessioni su questo argomento di base, ...
Yu Li

-2

Pensiamo che il dilemma che hai sollevato sull'equazione diofantea sia molto significativo, perché rivela qualcosa di anormale nell'attuale definizione di NP: - Si dice che un problema si trova in NP se e solo se esiste un verificatore per il problema che si esegue in polinomio tempo.

Per quanto riguarda la definizione di NP, si può risalire agli anni '60, dove sono stati scoperti un gran numero di problemi applicabili e significativi per i quali non è stato possibile trovare algoritmi polinomiali per risolverli, al fine di riconoscere questi problemi da quei problemi risolvibili in tempo polinomiale (P), il concetto di NP è stato messo in luce.

Tuttavia, l'attuale definizione di NP definita come verificabile in tempo polinomiale confonde NP con P, poiché un problema in P è verificabile anche in tempo polinomiale. In altre parole, tale definizione porta alla perdita dell'essenza di NP, «non determinismo». Di conseguenza, provoca gravi ambiguità nella comprensione di NP, ad esempio, il tuo dilemma: per natura il problema dell'equazione diofantea è indecidibile; ma dalla definizione di NP, è decidibile, ...

A nostro avviso, la difficoltà nel risolvere «P contro NP» risiede innanzitutto a livello cognitivo, quindi se speriamo di avere una visione di «P contro NP», dobbiamo prima chiederci: che cos'è NP?


4
Questa sembra essere un'opinione sulla definizione di NP , non una risposta alla domanda. La definizione di NP va bene. Non confonde P con NP ; piuttosto, riconosce che P è un sottoinsieme di NP . Per me sarebbe molto innaturale se P non fosse un sottoinsieme di NP . NP è una classe di problemi che possono essere risolti entro determinati limiti di risorse. Ciò include necessariamente un sacco di problemi facili ( P ) che possono essere risolti senza avvicinarsi al limite delle risorse disponibili.
David Richerby,

@DavidRicherby P e NP hanno la proprietà comune di «certificato verificabile in tempo polinomiale», ma questa proprietà non è l'essenza di NP. Se questa proprietà viene utilizzata per definire NP, allora P è un sottoinsieme di NP e NP ha P come suo sottoinsieme (decidibile) e se stesso (indecidibile). Pertanto, ci si potrebbe chiedere se NP sia decidibile o indecidibile? Proprio come il dilemma sopra: se l'equazione diofantina è indecidibile o decidibile? Quindi la mia risposta è suggerire di indagare su questo dilemma dal punto di vista della definizione di NP: verificabile, indecidibile non è verificabile!
Yu Li,

I problemi in NP sono decisi per definizione: NP è la classe di problemi decisi dalle macchine di Turing non deterministiche. È facile dimostrare che questo è esattamente lo stesso insieme di problemi che hanno certificati di lunghezza polinomiale che possono essere verificati in tempo polinomiale. Se sei preoccupato che i problemi con NP potrebbero non essere decidibili, allora hai frainteso qualcosa.
David Richerby,

Sì, sono preoccupato che i problemi con NP potrebbero non essere decidibili. Parli dell'equivalenza delle due definizioni di NP: NP è la classe di problemi decisa dalle macchine di Turing non deterministiche; NP è la classe di problemi con certificati di lunghezza polinomiale verificati in tempo polinomiale. Dubito di questa equivalenza, perché l'una riguarda l'esistenza dell'algoritmo per risolvere un problema e l'altra sull'esistenza della soluzione per un problema. Il dilemma sull'equazione diofantina potrebbe essere direttamente correlato a questa equivalenza (vedi maggiori dettagli del mio argomento: arxiv.org/abs/1501.01906 ).
Yu Li,

2
@YuLi L'equivalenza delle due definizioni di NP è così semplice che viene insegnata in classi di teoria della complessità universitaria. Suggerisco di non caricare su ArXiv se non capisci le basi del campo.
David Richerby,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.