La completezza del coNP implica la durezza NP?


12

La completezza del coNP implica la durezza NP? In particolare, ho un problema che ho dimostrato di essere completo. Posso affermare che è NP-difficile? Mi rendo conto di poter rivendicare la durezza coNP, ma non sono sicuro che la terminologia sia standard.

Sono a mio agio con l'affermazione secondo cui se un problema NP-completo apparteneva a coNP, allora NP = coNP. Tuttavia, queste note di lezione affermano che se un problema NP-difficile appartiene a coNP, allora NP = coNP. Ciò suggerirebbe quindi che non posso affermare che il mio problema è NP-difficile (o che ho dimostrato coNP = NP, di cui dubito fortemente).

Forse c'è qualcosa che non va nel mio pensiero. Il mio pensiero è che un problema completo di coNP sia NP-difficile perché:

  1. ogni problema in NP può essere ridotto al suo complemento, che apparterrà al coNP.
  2. il problema del complemento in coNP si riduce al mio problema completo di coNP.
  3. quindi abbiamo una riduzione da ogni problema in NP al mio coNP-completo, quindi il mio problema è NP-difficile.

in una parola, no! almeno sulla base delle conoscenze attuali. la domanda è strettamente connessa a P =? NP (o più strettamente coNP =? NP che è anche aperto). si noti che se è dimostrato il coNP ≠ NP, anche P ≠ NP è dimostrato perché P è chiuso sotto il complemento.
vzn,

Risposte:


10

Sostieni che ogni problema in NP può essere ridotto al suo complemento , e questo è vero per le riduzioni di Turing, ma (probabilmente) non per le riduzioni multiple. Una riduzione da a è una funzione polytime tale che per tutte , iff .L 2 f x x L 1 f ( x ) L 2L1L2fxxL1f(x)L2

Se qualche problema in CONP erano NP-hard, poi per tutte le lingue non ci sarebbe una funzione polytime tale che per ogni , se e solo se . Dato che è in coNP, questo fornisce un algoritmo coNP per , che mostra che NP coNP, e quindi NP coNP. La maggior parte dei ricercatori non si aspetta che ciò avvenga, quindi i problemi nel coNP probabilmente non sono NP-difficili.M N P f x x M f ( x ) L L M =LMNPfxxMf(x)LLM=

Il motivo per cui utilizziamo le riduzioni Karp piuttosto che le riduzioni di Turing è che possiamo distinguere tra problemi NP-hard e coNP-hard. Vedi questa risposta per maggiori dettagli (le riduzioni di Turing sono chiamate riduzioni Cook in quella risposta).

Infine, coNP-hard e coNP-complete sono entrambi terminologia standard e sei libero di usarli.


"ma non per riduzioni " - non è il problema di decidere esattamente che non sappiamo se ci sono riduzioni di Karp da un ( ) -language al suo complemento? co NPNP=?coNPcoNP
G. Bach,

È corretto, ed è anche quello che mostro nella risposta. Quando ho affermato che non è vero per le riduzioni di molti, non intendevo nel senso strettamente logico, ma piuttosto nel senso che "la riduzione che stai pensando è una riduzione di Turing ma non una riduzione di molti" .
Yuval Filmus,

Oh va bene, sì, questo è probabilmente il problema.
G. Bach,

Grazie. Qual è un buon riferimento per questo? In particolare per "NP = coNP sotto le riduzioni di Cook, ma si pensa che siano diverse riduzioni di Karp"?
Austin Buchanan,

La convinzione che NP sia diversa dal coNP è piuttosto diffusa. A volte è attribuito a Stephen Cook. La durezza NP è la stessa della durezza coNP nelle riduzioni di Cook segue immediatamente la definizione.
Yuval Filmus,

6

Il problema con quella linea di ragionamento è il primo passo. Nel caso deterministico, puoi decidere con una TM iff puoi decidere con esso, perché il modo per farlo è semplicemente capovolgere il bit di output di poiché il suo output dipende solo da (se confrontiamo con la definizione del verificatore di ).M x ¯ L M x N PxLMxL¯MxNP

Nel caso non deterministico che utilizza la definizione del verificatore, non è noto se è possibile creare un verificatore da un verificatore o viceversa, e il problema è che hanno diversi quantificatori nelle definizioni che le macchine del verificatore devono soddisfare. Lasciate , quindi abbiamo un verificatore DTM tale che:coNP L coNP MNPcoNPLcoNPM

xLz{0,1}p(|x|):M(x,z)=1

Per , il verificatore dovrà soddisfareL¯M'

xL¯z{0,1}q(|x|):M'(x,z)=1

Perché allora non possiamo semplicemente usare il -verificatore della lingua per costruire un -verifier per ? Il problema è il -quantifier richiesto per avere un -verificatore. Il -verificatore potrebbe darti per alcuni certificati (errati) anche per , quindi non puoi passare da a .M ' K coNP M K coNP NP M' 0 x K NPM'KcoNPMKcoNPNPM'0xK

Forse in modo più astratto: non è chiaro come costruire (in tempo polinomiale) una macchina che riconosca esattamente gli elementi di una lingua, indipendentemente dal certificato che ne deriva, da una macchina che riconosce esattamente gli elementi di una lingua che hanno un certificato per esso, ma per il quale anche alcuni certificati non funzionano.


4
Sorprendentemente, tuttavia, è noto che NL = coNL, NPSPACE = coNPSPACE e, in generale, le classi non deterministiche definite da vincoli di spazio sono chiuse in modo complementare. Questo è il teorema di Immerman-Szelepcsényi.
Yuval Filmus,

Interessante, non lo sapevo - ma l'intuizione alla base è probabilmente il modo in cui è sempre con le classi spaziali: possiamo semplicemente riutilizzare lo spazio.
G. Bach,

@ G.Bach Non proprio, no. NL = co-NL viene stabilito mostrando chestlognst
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.