Limiti di runtime su algoritmi di NP completano i problemi assumendo P ≠ NP


13

Assumere P ≠ N P .P≠NP

Cosa possiamo dire dei limiti di runtime di tutti i problemi NP-completi?

cioè quali sono le funzioni più strette L , U : N → N per le quali possiamo garantire che un algoritmo ottimale per qualsiasi problema NP completo venga eseguito nel tempo di almeno ω ( L ( n ) ) e al massimo o ( U ( n ) ) su un input di lunghezza n ?L,U:N→Nω(L(n))o(U(n))n

Ovviamente, ∀ c : L ( n ) = Ω ( n c ) . Inoltre, U ( n ) = O ( 2 n ω ( 1 ) ) .∀c:L(n)=Ω(nc)U(n)=O(2nω(1))

Senza assumere Q P ≠ N P , E T H , o qualsiasi altra supposizione che non è implicita da P ≠ N P , possiamo dare dei limiti migliori su L , U ?QP≠NPETHP≠NPL,U

MODIFICARE:

Si noti che almeno uno di L , U deve essere lontano dai limiti che ho dato qui, poiché essendo problemi NPC, questi problemi hanno una riduzione del tempo poli tra di loro, il che significa che se un problema NPC ha un algoritmo ottimale di tempo f ( n ) , quindi tutti i problemi hanno un algoritmo (ottimale o no) di runtime O ( f ( n O ( 1 ) ) ) .L,Uf(n)O(f(nO(1)))


se P ≠ NP possiamo dire che i limiti di runtime sono più grandi di qualsiasi polinomio .... afaik no, non si conoscono limiti migliori .... molta notazione non dice che ... esistono superpolinomiali ma sub-esponenziali funzioni es. 2 log n≠2logn
— vzn

In primo luogo, 2 log n è proprio lineare, quindi immagino si intende 2 p o l y l o g ( n ) che è noto come la classe Q P . Mi rendo pienamente conto che P ≠ N P non significa che nessuna funzione NP completa verrà eseguita in tempo esponenziale, ma non è quello che sto chiedendo. Ad esempio, supponendo P ≠ N P , è possibile che un problema NPC possa essere risolto in 2 l o g ( n ) ⋅ l o g ∗2logn2polylog(n)QPP≠NPP≠NP( n ) , dovelo g ∗ (n)è la funzione inversa di Ackermann? Le notazioni sono semplicemente uno strumento utilizzato per esprimere formalmente la mia domanda.2log(n)⋅log∗(n)log∗(n)
— RB

grazie per la correzione. molto poco si sa in questa zona afaik. prova questa domanda NTime (n ^ k) =? DTime (n ^ k) tcs.se
— vzn

@RB Mentre è vero che in ogni "mondo possibile" ci sono limiti inferiori e superiori che si trovano approssimativamente all'interno di un polinomio l'uno dell'altro, non è chiaro quali limiti a priori siano possibili.
— Yuval Filmus

Risposte:


2

La mia interpretazione della domanda è che si chiede delle possibilità nei mondi relativizzati . Supponiamo che in qualche mondo relativizzato, P ≠ N P . Possiamo dedurre qualcosa di non banale sulla complessità temporale dei problemi NP-completi? L' argomento Baker – Gill – Solovay mostra che possiamo "forzare" alcuni problemi NP a richiedere tempo esponenziale, quindi il limite superiore indicato nella domanda è essenzialmente ottimale.P≠NP

Per quanto riguarda il limite inferiore, tracciamo di seguito una dimostrazione relativa ad un oracolo, N P = T I M E ( 2 O ( log 2 n ) ) . Supponendo che la bozza di prova sia corretta, possiamo anche applicarla a funzioni inferiori a 2 O ( log 2 n ) , e questo dimostra che anche il limite inferiore indicato nella domanda è essenzialmente stretto.NP=TIME(2O(log2n))2O(log2n)

Schizzo di prova. Costruiamo due oracoli O 1 , O 2 : il primo si comporta come un problema completo T I M E ( 2 O ( log 2 n ) ) , e il secondo implementa la diagonalizzazione Baker – Gill – Solovay. È semplice racchiudere entrambi gli oracoli in un unico oracolo.O1,O2TIME(2O(log2n))

L'oracolo O 1 consiste di tutte le coppie ⟨ M , x ⟩ tale che M è una macchina oracolo Turing che accetta x in tempo di esecuzione 2 2 √O1⟨M,x⟩Mxlog | x | quando viene dato accesso agli oracoliO1,O2limitato a ingressi di lunghezza al massimo2√22log|x|√O1,O2log | x | . (Questa non è una definizione circolare.)2log|x|√

L'oracolo O 2 è definito nello stesso modo in cui l'oracolo è definito in Baker – Gill – Solovay: per ogni oracolo con orologio la macchina di Turing M che corre nel tempo T = 2 o ( log 2 n ) , troviamo una lunghezza di input n che è "intoccato", esegui M su 1 n per passi T , e per ogni query su O 2 di dimensione n , contrassegniamo che questo input non è in O 2 (per altre query segnaliamo anche che l'input non è presente, a meno che non aveva già deciso che è in OO2MT=2o(log2n)nM1nTO2nO22 ). Le query su O 1 vengono gestite in modo simile (come query implicite su O 1 , O 2 di dimensioni inferiori, gestite in modo ricorsivo); si noti che tali query non menzionano mai stringhe di lunghezza n in O 2 , poiché 2 √O2O1O1,O2nO2log T <n. Se la macchina accetta, contrassegniamocome mancantitutte le altre stringhe di lunghezzaninO2, altrimenti selezioniamo una stringa di lunghezzane lainseriamoinO2.2logT√<nnO2nO2

The class PO1,O2PO1,O2 consists of all programs running in time 22O(√logn)22O(logn√), making queries to O1,O2O1,O2 of size 2O(√logn)2O(logn√). The class NPO1,O2NPO1,O2 is of the form x↦∃|y|<nCφ(x,y)x↦∃|y|<nCφ(x,y), where φ∈PO1,O2φ∈PO1,O2, and so it is contained in the class of all programs running in time 2nC2nC and making oracle queries of size 2O(√logn)2O(logn√). The latter is contained in TIME(2log2nC)O1,O2TIME(2log2nC)O1,O2, since we can use O1O1 to decide it. This shows that NPO1,O2⊆TIME(2O(log2n))O1,O2NPO1,O2⊆TIME(2O(log2n))O1,O2.

For the other direction, let LL be the language which consists of 1n1n for each nn such that O2O2 contains some string of length nn. By construction of O2O2, L∉TIME(2o(log2n))O1,O2L∉TIME(2o(log2n))O1,O2, while clearly L∈NPO1,O2L∈NPO1,O2. This shows that NPO1,O2=TIME(2O(log2n))O1,O2NPO1,O2=TIME(2O(log2n))O1,O2.


I have to admint I didn't fully understand your answer, but if, as you mentioned, some NP-complete problem ΠΠ is only solvable in Ω(2nc)Ω(2nc), then all other NPC problems are also only solvable in Ω(2nΩ(1))Ω(2nΩ(1)), as there's a poly time reduction to them from ΠΠ, which means that otherwise you'd have a better algorithm for ΠΠ. This implies for example QP≠NPQP≠NP and ETHETH doesn't it? What am I missing?
— R B

Well, it doesn't imply ETHETH, but it does look it may imply QP≠NPQP≠NP.
— R B

You're not missing anything. There is a relativized world in which ETH is true. There is another relativized world where P=NP, and so in particular ETH is false.
— Yuval Filmus

But not in all reletivized worlds in which P≠NPP≠NP, QP≠NPQP≠NP is true as well, right? There is a chance that P⊊QP=NPP⊊QP=NP. From what I understood from your answer, if P≠NPP≠NP there exist a NPC problem whose lower bound is exponential, and I'm wondering why it's true.
— R B

1
In my answer I (purportedly) give a relativized world in which NP=TIME(nO(logn))NP=TIME(nO(logn)). Another relativized world has NP=TIME(2nO(1))NP=TIME(2nO(1)). In yet other relativized worlds, P=NP. Regarding QP, I don't claim anything about it.
— Yuval Filmus
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.