Un problema decisionale che non è noto per essere in PH ma sarà in P se P = NP


28

Modifica : Come Ravi Boppana ha correttamente sottolineato nella sua risposta e Scott Aaronson ha anche aggiunto un altro esempio nella sua risposta , la risposta a questa domanda si è rivelata "sì" in un modo che non mi aspettavo affatto. In primo luogo ho pensato che non rispondessero alla domanda che avrei voluto porre, ma dopo aver riflettuto un po ', queste costruzioni rispondono ad almeno una delle domande che volevo porre, cioè: "Esiste un modo per dimostrare un risultato condizionale" P = NP ⇒ L ∈P 'senza provare il risultato incondizionato L ∈PH? ”Grazie, Ravi e Scott!


Esiste un problema di decisione L tale che le seguenti condizioni sono entrambe soddisfatte?

  • L non è noto per essere nella gerarchia polinomiale.
  • È noto che P = NP implica L ∈P.

Un esempio artificiale è buono come uno naturale. Inoltre, anche se uso la lettera " L ", può essere un problema promettente invece di una lingua se aiuta.

Sfondo . Se sappiamo che un problema di decisione L è nella gerarchia polinomiale, allora sappiamo che "P = NP ⇒ L ∈P." L'intento della domanda è di chiedere se il contrario è valido. Se esiste una lingua L che soddisfa le due condizioni precedenti, allora può essere considerata una prova del fallimento del contrario.

La domanda è stata motivata dall'interessante commento di Joe Fitzsimons alla mia risposta alla domanda di Walter Bishop " Conseguenze di #P = FP ".


Dimostrare un negativo universale è sempre difficile (er), ma sarei sorpreso se esistesse un linguaggio del genere. La congettura generalizzata Linial-Nisan (se fosse finita vera) non avrebbe implicato ciò che stai chiedendo, non credo. Avrebbe solo significato che BQP non era contenuto in PH. Se PH fosse crollato in P, BQP non sarebbe stato ancora contenuto in P (H).
Daniel Apon,

Stai chiedendo se esiste una classe di complessità X st X non è un sottoinsieme di PH e P = NP -> X = P?
Philip White,

@Philip: Sì, ma non credo che ciò cambi il problema perché di solito possiamo convertire un problema di decisione L in una classe X di problemi di decisione riducibili a L. Almeno quello era il mio intento di porre questa domanda in termini di problemi di decisione .
Tsuyoshi Ito,

Forse vuoi richiedere che la lingua L sia in qualche modo vicina al PH, oltre alle tue attuali esigenze? Forse, diciamo, in PSPACE (anche se è discutibile quanto PSPACE sia vicino a PH; vedi S. Fenner, S. Homer, M. Schaefer, R. Pruim. Gerarchie iper-polinomiali e il salto polinomiale. Teorical Computer Science. Volume 262 ( 2001), pagg. 241-256 cse.sc.edu/~fenner/papers/hyp.pdf ). O forse vuoi davvero chiedere un linguaggio del genere naturale . L
Joshua Grochow,

@Joshua: Grazie per il commento e il riferimento. Come indicato nell'aggiornamento (revisione 3), ora penso di aver posto la domanda giusta (contrariamente a quanto ho aggiunto nella revisione 2). Volevo sapere "Esiste un modo per dimostrare un risultato condizionale 'P = NP ⇒ L∈P' senza provare il risultato incondizionato L∈PH?" A tal fine, la naturalezza del problema non dovrebbe essere richiesta perché una volta lì è un metodo di prova, dovrebbe applicarsi allo stesso modo sia agli esempi naturali che a quelli inventati.
Tsuyoshi Ito,

Risposte:


26

Dato che non ti dispiace un linguaggio artificiale, che ne dici di definire L come vuoto se P è uguale a NP e come problema di arresto se P non è uguale a NP. Va bene, è un po 'un trucco, ma penso che dovrai riformulare il problema per evitare tali trucchi. L


5
Grazie, vedo il punto (definire L = {M: la macchina di Turing M si ferma e P ≠ NP}). Ovviamente, questo non risponde a ciò che volevo fare, ma credo di dover pensare di più per formulare la domanda che volevo porre correttamente.
Tsuyoshi Ito,

30

Se un esempio artificiale è davvero buono come uno naturale, allora posso davvero fornire un esempio del genere!

Modifica: Inoltre, il mio esempio è "un po '" meno di un imbroglione rispetto a quello suggerito da Ravi Boppana (dove prendiamo L come lingua vuota se P = NP e il problema di arresto altrimenti), in quanto definirò la lingua L dando una procedura finita per decidere se x L per qualsiasi input x. In nessun caso deciderà se x∈L richiede la risoluzione di una domanda matematica "illimitata" come P vs. NP.x


Senza ulteriori: lasciate M 1 , M 2 , . . . essere un elenco delle macchine Polying Turing. Per tutti n , sia M t ( n ) il primo lessicograficamente M i che decida correttamente 3SAT su tutti gli input di lunghezza n o inferiore. Quindi definire la lingua L come segue: per tutti gli ingressi x di dimensione n , x L se e solo se la macchina di Turing codificata da x si ferma al massimo n t ( n )M1,M2,...nMt(n)Minxnxxnt(n) passi quando eseguito su un nastro vuoto.

Rivendicazione 1: Se P = NP, allora L P.

Dimostrazione: Se P = NP, allora c'è qualche fisso M i che risolve 3SAT per tutti gli ingressi; quindi t ( n ) i per tutto n . QEDMit(n)in

Rivendicazione 2: Se P NP, quindi L P.

Prova: se t ( n ) aumenta senza limite, allora possiamo semplicemente applicare il Teorema della Gerarchia del Tempo. QEDt(n)

Ora, non solo L non è in P assumendo P NP: si presume che non sarebbe nemmeno in PH (o PSPACE)!

Per inciso, mi chiedo se qualcuno può migliorare la costruzione di cui sopra, per ottenere un linguaggio L che è in P se P = NP, ma dimostrabilmente non in PH o PSPACE se P NP?


1
Grazie! Non sono stato in grado di modificare la costruzione per rendere dimostrabile la non associazione a PH, ma questo è sufficiente per convincermi che l'aggiunta della condizione che L è decidibile con una prova costruttiva della decidibilità probabilmente non cambierà molto la situazione. Hmm.
Tsuyoshi Ito,

3
Accetterò la risposta di Ravi Boppana perché la sua è stata la prima ad arrivare, anche se voglio accettarle entrambe perché entrambe mi hanno dato una maggiore comprensione del problema. Spero che capiate….
Tsuyoshi Ito,

4
Bello. Questa è un'ottima risposta
Daniel Apon,

@Tyson Williams: Nel caso in cui non te ne fossi reso conto, fai molta attenzione a non introdurre un errore quando modifichi un post di altri utenti. È stato fortunato che Joe l'abbia notato e lo abbia corretto.
Tsuyoshi Ito,

18

Rispondendo alla domanda di Scott Aaronson, ma un po 'troppo lungo per un commento, qui è una costruzione di un linguaggio L tale che P = N P implica L P , ma P N P implica L P H .LP=NPLPPNPLPH

Lasciate M 1 , M 2 , M 3 , ... e t ( n ) sia come nella costruzione di Scott. Facciamo in modo che L non si riduca a Σ k S A T per ogni k , ma lo facciamo solo se t ( n ) (cioè se P N P ). La costruzione procede per fasi. Allo stadio s = ( i , j )M1,M2,M3,t(n)LΣkSATkt(n)PNPs=(i,j)(utilizzando qualche facilmente calcolabile e facilmente invertibile biiezione Σ *Σ * × Σ * ), che garantisce che M i non è molto-un riduzione da L a Σ j S A T . Sia n s il numero intero più piccolo in modo tale che t ( n s ) > t ( n s - 1 ) (caso base: n 0 = 1 ). Se esiste un numero intero n s , quindi impostareΣΣ×ΣMiLΣjSATnst(ns)>t(ns1)n0=1nsL ( 1 n s ) = 1 - Σ k S A T ( M i ( 1 n s ) ) . Se non c'è tale intero n s , abbiamo lasciato L vuoto sempre dopo.L(1ns)=1ΣkSAT(Mi(1ns))nsL

Se P N P , allora t ( n ) come n , per cui v'è sempre un tale n s , pertanto L non è in P H . Se P = N P , allora la mia L è solo un numero finito diverso da quello di Scott L , e quindi è in P .PNPt(n)nnsLPHP=NPLLP


Grazie per la tua risposta, ma non sono sicuro di aver compreso la costruzione. Mi sembra che per calcolare n s , potrebbe essere necessario per la ricerca a tempo indeterminato, e quindi mi sembra che non abbiamo un algoritmo esplicito per decidere il linguaggio L. Se non abbiamo bisogno di un algoritmo esplicito, la risposta di Ravi Boppana mostra che esiste una lingua L tale che P = NP⇒L∈P e P ≠ NP⇒L∉R (cioè L è indecidibile). ns
Tsuyoshi Ito,

1
@Tsuyoshi Ito: Non credo che si deve calcolare n s dato s al fine di decidere L; tutto quello che dovete fare è, su input 1 n , decidere se n è della forma n s per alcuni s , e capire quale s è (se presente). Ecco come: sull'ingresso 1 n , calcola t ( n ) e calcola t ( m ) per tutti m < n . Se esiste una m < n tale che t ( nnss1nnnsss1nt(n)t(m)m<nm<n) = t ( m ) , quindi n non è n s per qualsiasi s , quindi L ( 1 n ) = 0 . Altrimenti, capire quale stadio s corrisponde a questo n s (che può essere fatto poiché hai calcolato tutti i valori precedenti di t ) e quindi calcola L ( 1 n ) come descritto nella risposta. t(n)=t(m)nnssL(1n)=0snstL(1n)
Joshua Grochow,
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.