Si può mostrare la durezza NP mediante riduzioni di Turing?


19

Nell'articolo Complexity of the Frobenius Problem di Ramírez-Alfonsín, è stato dimostrato che un problema era NP-completo utilizzando le riduzioni di Turing. È possibile? Come esattamente? Pensavo che ciò fosse possibile solo in tempi polinomiali con una riduzione. Ci sono riferimenti a riguardo?

Esistono due diverse nozioni di durezza NP, anche completezza NP? Ma poi sono confuso, perché da un punto di vista pratico, se voglio dimostrare che il mio problema è NP-difficile, quale uso?

Hanno iniziato la descrizione come segue:

Una riduzione di Turing del tempo polinomiale da un problema ad un altro problema P 2 è un algoritmo A che risolve P 1 usando un'ipotetica subroutine A 'per risolvere P 2 tale che, se A' fosse un algoritmo di tempo polinomiale per P 2, allora A sarebbe un algoritmo temporale polinomiale per P 1 . Diciamo che P 1 può essere ridotto di Turing a P 2 .P1P2P1P2P2P1P1P2

Un problema è chiamato (Turing) NP-hard se c'è un problema decisionale NP completo P 2 tale che P 2 può essere Turing ridotto a P 1 .P1P2P2P1

E poi usano una tale riduzione di Turing da un problema NP completo per mostrare la completezza NP di qualche altro problema.

Risposte:


17

Esistono (almeno) due diverse nozioni di durezza NP. La nozione di consueto, che utilizza le riduzioni Karp, afferma che un linguaggio è NP-difficile, se tutte le lingue NP-Karp si riduce a L . Se cambiamo le riduzioni di Karp in riduzioni di Cook, otteniamo un'idea diversa. Ogni lingua che è Karp-NP-difficile è anche Cook-NP-difficile, ma il contrario è probabilmente falso. Supponiamo che NP è diverso da CONP, e prendere il tuo preferito NP-completo linguaggio L . Quindi il complemento di L è Cook-NP-hard ma non Karp-NP-hard.LLLL

Il motivo per cui è Cook-NP-hard è il seguente: prendere qualsiasi lingua M in NP. Poiché L è NP-hard, esiste una funzione polytime f tale che x M sse f ( x ) L sse f ( x ) ¯ L . Una riduzione Cook da M a ¯ L prende x , calcola f ( x ) , controlla se f ( x ) ¯L¯MLfxMf(x)Lf(x)L¯ML¯xf(x) e genera il contrario.f(x)L¯

Il motivo per cui non è NP-difficile (supponendo che NP sia diverso da coNP) è il seguente. Supponiamo che ¯ L fosse NP-difficile. Poi per ogni lingua M in CONP, v'è una riduzione polytime f tale che x ¯ M sse f ( x ) ¯ L , o in altre parole, x M sse f ( x ) L . Poiché L è in NP, questo dimostra che M è in NP, e quindi coNP L¯L¯MfxM¯f(x)L¯xMf(x)LLMNP. Ciò implica immediatamente che NP coNP, e quindi NP = coNP.

Se alcuni Cook-NP-hard linguaggio è in P, allora P = NP: per qualsiasi lingua M in NP, usano la riduzione Cook a L per dare un algoritmo polytime per M . Quindi, in questo senso, anche le lingue complete di Cook-NP sono "le più difficili in NP". D'altra parte, è facile vedere che Cook-NP-hard = Cook-CONP-hard: una riduzione Cuocere per L può essere convertito in una riduzione cuocere per ¯ L . Quindi perdiamo un po 'di precisione usando le riduzioni di Cook.LMLMLL¯

Probabilmente ci sono altre carenze nell'uso delle riduzioni di Cook, ma lo lascerò ad altri risponditori.


Non ho ancora capito completamente tutto ciò che devo dire. Ma ho un'altra domanda, forse puoi rispondere a questa (dal momento che non ci sono così tante altre risposte): e se avessi un rosso Turing. dal problema NP completo A al problema B e un Karp rosso. dal problema B al problema C. Ciò stabilisce la completezza NP del problema C (l'appartenenza non è un problema)? E in generale, posso chiamare il problema B NP-hard o piuttosto (Turing) NP-hard? Grazie!
user2145167

4
Due riduzioni Karp compongono una riduzione Karp e due riduzioni Cook compongono una riduzione Cook. Poiché una riduzione di Karp è anche una riduzione di Cook, se componi una riduzione di Karp e una riduzione di Cook, otterrai una riduzione di Cook. Ma in generale non si ottiene una riduzione del Karp.
Yuval Filmus,

@YuvalFilmus, potresti per favore elaborare cosa volevi dire con iff f ( x ) L iff f ( x ) ¯ L ? xMf(x)Lf(x)L¯
Omar Shehab,

Un Karp-riduzione da a L è una funzione f (polytime in questo caso) tale che x M sse f ( x ) L . Per ogni f , x tiene sempre presente che f ( x ) L iff f ( x ) ¯ L , dove ¯ L è il complemento di L (rispetto all'intervallo di f ). MLfxMf(x)L f,xf(x)Lf(x)L¯L¯Lf
Yuval Filmus

6

Va bene. Una riduzione di Turing a tempo polinomiale è una riduzione di Cook (come nel teorema di Cook-Levin) e la riduzione di un problema NP completo al nuovo problema dà durezza NP (così come una riduzione polinomiale-tiem, riduzione AKA Karp). In effetti, le riduzioni di Karp sono comunque limitate dalle riduzioni di Turing.

Dove differiscono (per quanto riguarda questa domanda) è nel mostrare l'adesione. Una riduzione di Karp da un problema a un problema in NP mostra che il primo è in NP. Una riduzione di Cook nella stessa direzione no.


Grazie. Non ero nemmeno consapevole del fatto che uno mostra l'appartenenza usando esplicitamente una riduzione di Karp. Ma ha senso. Ma si può mostrare l'adesione NP utilizzando una riduzione di Turing in entrambe le direzioni, giusto?
user2145167

1
@ user2145167 no, la risposta di Yuval fornisce la storia completa qui, ma in breve, le riduzioni di Cook sono più deboli, quindi consenti più in - ad esempio puoi passare da qualsiasi problema di co-NP tramite una riduzione di Cook a qualsiasi problema di NP completo, che non è vero per riduzioni Karp.
Luke Mathieson,
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.