Collega i concetti

Confronta due classi

Una classe contiene l'altra? Sono diverse? Scegli una coppia per vedere che cosa sappiamo e che cosa resta aperto.

NP?coNP\htmlData{term=NP}{\mathrm{NP}} \mathrel{?} \htmlData{term=coNP}{\mathrm{coNP}}rapporto non noto

Non conosciamo un’inclusione tra queste due classi. Questo non dimostra che siano diverse.

Una precisazione su questa coppia
NP e coNP hanno una parte in comune, che contiene P. Non si sa se siano uguali. Se lo fossero, PH collasserebbe al primo livello; se un problema NP-completo stesse in coNP, sarebbero uguali (Prop. D).
Perché: le risposte da dare all'esame
NP⊆coNP\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=coNP}{\mathrm{coNP}}?
altro: solo se NP⊆coNP\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=coNP}{\mathrm{coNP}}
Né dimostrata né esclusa: è una questione aperta.

Ne seguirebbe:

  • NP∩coNP=NP=coNP=DP=Δ2P=Σ2P=Π2P=ΣiP=ΠiP=PH\htmlData{term=NP}{\mathrm{NP}} \cap \htmlData{term=coNP}{\mathrm{coNP}} = \htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}} = \htmlData{term=DP}{\mathrm{DP}} = \htmlData{term=Δ2}{\Delta_2^{\mathrm{P}}} = \htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}} = \htmlData{term=Π2}{\Pi_2^{\mathrm{P}}} = \Sigma_i^{\htmlData{term=P}{\mathrm{P}}} = \Pi_i^{\htmlData{term=P}{\mathrm{P}}} = \htmlData{term=PH}{\mathrm{PH}}
NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}: PH collasserebbe al primo livello (PH=NP\htmlData{term=PH}{\mathrm{PH}} = \htmlData{term=NP}{\mathrm{NP}}).
coNP⊆NP\htmlData{term=coNP}{\mathrm{coNP}} \subseteq \htmlData{term=NP}{\mathrm{NP}}?
altro: solo se coNP⊆NP\htmlData{term=coNP}{\mathrm{coNP}} \subseteq \htmlData{term=NP}{\mathrm{NP}}
Né dimostrata né esclusa: è una questione aperta.

Ne seguirebbe:

  • NP∩coNP=NP=coNP=DP=Δ2P=Σ2P=Π2P=ΣiP=ΠiP=PH\htmlData{term=NP}{\mathrm{NP}} \cap \htmlData{term=coNP}{\mathrm{coNP}} = \htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}} = \htmlData{term=DP}{\mathrm{DP}} = \htmlData{term=Δ2}{\Delta_2^{\mathrm{P}}} = \htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}} = \htmlData{term=Π2}{\Pi_2^{\mathrm{P}}} = \Sigma_i^{\htmlData{term=P}{\mathrm{P}}} = \Pi_i^{\htmlData{term=P}{\mathrm{P}}} = \htmlData{term=PH}{\mathrm{PH}}
NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}: PH collasserebbe al primo livello (PH=NP\htmlData{term=PH}{\mathrm{PH}} = \htmlData{term=NP}{\mathrm{NP}}).
NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}?
altro: non si sa

nessuna delle due inclusioni mancanti è dimostrata o esclusa.

Le risposte sono calcolate dalle inclusioni e dalle separazioni della mappa, con le regole del corso: passaggio ai complementi, R=RE∩coRE\htmlData{term=R}{\mathrm{R}} = \htmlData{term=RE}{\mathrm{RE}} \cap \htmlData{term=coRE}{\mathrm{coRE}}, collasso di PH (Teorema 17.9), padding (Teorema 20.1). "Solo se" vuol dire che la risposta dipende da una questione aperta.

Definizioni e problemi delle due classi
AspettoNPcoNP
Che cos'èTempo polinomiale nondeterministicoComplementi dei problemi NP
Forma della risposta sìNP=Σ1P\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=Σ1}{\Sigma_1^{\mathrm{P}}}: ∃y R(x,y)\exists y\, R(x,y)coNP=Π1P\htmlData{term=coNP}{\mathrm{coNP}} = \htmlData{term=Π1}{\Pi_1^{\mathrm{P}}}: ∀y R(x,y)\forall y\, R(x,y)
Chiusa per complementonon si sa (NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}} è aperto)è la co-classe di NP
Problemi completiSAT=QSAT1\htmlData{term=problem:SAT}{\mathrm{SAT}} = \htmlData{term=problem:QSAT}{\mathrm{QSAT}}_1 (Cook-Levin), 3-SAT, CLIQUE, INDEPENDENT SET, NODE COVER, HAMILTON PATH, TSP(D), 3-COLORING, KNAPSACK e gli altri della Lez. 8.VALIDITY, UNSAT (=co-QSAT1= \mathrm{co\text{-}QSAT}_1), i complementi di HAMILTON PATH e TSP(D): coNP-completi (Prop. B: il complemento di un NP-completo è coNP-completo).
Fontidispensa cap. 3, 5, 12–13, 22; appunti Lez. 3, 7, 8dispensa cap. 6, 14, 22; slide Lez. 4; appunti Lez. 4 §7, Lez. 8 §8