I risultati che collegano le classi

Teoremi del corso

Leggi l'enunciato, poi apri la scheda: trovi l'idea, i passaggi illustrati e la dimostrazione in testo.

I 17 teoremi segnati con ★ servono in almeno 8 domande delle tracce ciascuno e da soli coprono circa due terzi delle citazioni: parti da quelli. Ordina per «Più chiesti» per vederli per primi.

67 di 93

Capitolo 1 · Macchina di Turing

proposizione

Proposizione 2.1 (ricorsivo ⇒ ricorsivamente enumerabile)

per l'oraledimostrato nel corso

Se un linguaggio LL è ricorsivo (esiste una MdT che lo decide), allora è anche ricorsivamente enumerabile (esiste una MdT che lo accetta): R⊆RE\htmlData{term=R}{\mathrm{R}} \subseteq \htmlData{term=RE}{\mathrm{RE}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Si prende la macchina che decide LL e, invece di fermarsi in "no", la si fa andare a destra all'infinito.

All'esame

Giustifica R⊆RE\htmlData{term=R}{\mathrm{R}} \subseteq \htmlData{term=RE}{\mathrm{RE}} quando si colloca un problema nella scala R, RE, coRE.

Da scrivere all'esame

SÌ: ogni linguaggio ricorsivo è ricorsivamente enumerabile (R⊆RE\htmlData{term=R}{\mathrm{R}} \subseteq \htmlData{term=RE}{\mathrm{RE}}), perché dalla MdT che lo decide se ne ottiene una che lo accetta trasformando il "no" in un ciclo infinito.

Dimostrazione illustrata

1 / 3
Parti da un decisore. M decide L, quindi si ferma su ogni input w: nello stato q_(acc) se w ∈ L, in q_(rej) se w ∉ L. Così però non accetta ancora L nel senso della definizione, che sugli input fuori da L chiede di non fermarsi mai.
1. Parti da un decisore

MM decide LL, quindi si ferma su ogni input ww: nello stato qaccq_{\text{acc}} se w∈Lw \in L, in qrejq_{\text{rej}} se w∉Lw \notin L. Così però non accetta ancora LL nel senso della definizione, che sugli input fuori da LL chiede di non fermarsi mai.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

RRE

Dove: dispensa cap. 1, p. 7; slide Lez. 2; slide Lez. 5 (teorema di gerarchia). Le slide sul teorema di gerarchia richiamano anche che i ricorsivi e i ricorsivamente enumerabili sono separati per diagonalizzazione (dal corso di Elementi di Informatica Teorica): l'inclusione stretta non è dimostrata in questo corso.

Capitolo 2 · MdT multinastro

teorema

Teorema dello speedup multinastro (da kk nastri a 1)

chiesto in 5 domandedimostrato nel corso

Per ogni MdT MM a kk nastri che lavora in tempo f(n)f(n) esiste una MdT M′M' a un solo nastro che lavora in tempo O(f(n)2)O(f(n)^2) e dà lo stesso risultato: M(x)=M′(x)M(x) = M'(x) per ogni input xx.

Idea, frase per l'esame e dimostrazione +

Intuizione

I kk nastri si concatenano su un solo nastro con dei marcatori per le testine; ogni passo di MM costa due scansioni di un nastro lungo O(f(n))O(f(n)).

All'esame

Il numero di nastri cambia il tempo al più di un fattore quadratico, quindi P e le classi polinomiali non dipendono dal numero di nastri.

Da scrivere all'esame

Per lo speedup multinastro una MdT a kk nastri in tempo f(n)f(n) si simula con un nastro solo in tempo O(f(n)2)O(f(n)^2): i nastri cambiano il tempo solo polinomialmente.

Dimostrazione illustrata

1 / 4
Disponi i nastri in fila. I k nastri di M stanno uno dopo l'altro sull'unico nastro di M', separati da #. Le caselle evidenziate con ∧ segnano dove si trova ciascuno dei k cursori e indicano il simbolo che sta leggendo, qui a, b e c. M' ha un solo cursore, quindi le posizioni dei k cursori di M le deve segnare sul nastro.
1. Disponi i nastri in fila

I kk nastri di MM stanno uno dopo l'altro sull'unico nastro di M′M', separati da #\#. Le caselle evidenziate con ∧\wedge segnano dove si trova ciascuno dei kk cursori e indicano il simbolo che sta leggendo, qui aa, bb e cc. M′M' ha un solo cursore, quindi le posizioni dei kk cursori di MM le deve segnare sul nastro.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

G16 n. 5 · G20v4 n. 5 · MA23 n. 4 · LU24 n. 3 · SP n. 2

Classi

P

Dove: dispensa cap. 2, p. 13; slide Lez. 2

teorema

Teorema dello speedup lineare

per l'oraledimostrato nel corso

Se L∈TIME(f(n))L \in \mathrm{TIME}(f(n)), allora per ogni ε>0\varepsilon \gt 0 vale L∈TIME(ε⋅f(n)+n+2)L \in \mathrm{TIME}(\varepsilon \cdot f(n) + n + 2).

Idea, frase per l'esame e dimostrazione +

Intuizione

Raggruppando più simboli in uno solo la macchina fa più lavoro a ogni passo: le costanti moltiplicative si possono sempre eliminare.

All'esame

Spiega perché conta solo la notazione O(⋅)O(\cdot): per esempio, se L∈TIME(150n2)L \in \mathrm{TIME}(150n^2) allora L∈TIME(n2+n+2)L \in \mathrm{TIME}(n^2 + n + 2).

Da scrivere all'esame

Per lo speedup lineare, se L∈TIME(f(n))L \in \mathrm{TIME}(f(n)) allora L∈TIME(ε⋅f(n)+n+2)L \in \mathrm{TIME}(\varepsilon \cdot f(n) + n + 2) per ogni ε>0\varepsilon \gt 0: le costanti moltiplicative del budget non contano, conta solo l'O(⋅)O(\cdot).

Dimostrazione illustrata

1 / 5
Raggruppa le celle. M' usa un solo simbolo, il blocco verde X, per m simboli consecutivi del nastro di M, quelli sotto la parentesi. Il suo alfabeto contiene tutte le m-uple, Σ' = Σ ∪ Σ^m: è enorme ma finito, perché m è una costante. Il valore di m dipende solo da ε e si sceglie alla fine.
1. Raggruppa le celle

M′M' usa un solo simbolo, il blocco verde XX, per mm simboli consecutivi del nastro di MM, quelli sotto la parentesi. Il suo alfabeto contiene tutte le mm-uple, Σ′=Σ∪Σm\Sigma' = \Sigma \cup \Sigma^m: è enorme ma finito, perché mm è una costante. Il valore di mm dipende solo da ε\varepsilon e si sceglie alla fine.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove: dispensa cap. 2, p. 14; slide Lez. 2. La dispensa enuncia il teorema senza prova; le slide lo dimostrano.

proposizione

Proposizione (MdT con input e output)

per l'oraledimostrato nel corso

Per ogni MdT MM a kk nastri che lavora in tempo f(n)f(n) esiste una MdT con input e output a k+2k + 2 nastri che dà lo stesso output e lavora in tempo O(f(n))O(f(n)).

Idea, frase per l'esame e dimostrazione +

Intuizione

Si copia l'input sul secondo nastro, si simula MM sui nastri centrali e alla fine si copia l'output sull'ultimo nastro.

All'esame

Il nastro di input in sola lettura non toglie potenza: per questo lo spazio si misura senza contare input e output, e si possono definire L e NL.

Da scrivere all'esame

Ogni MdT a kk nastri in tempo f(n)f(n) si simula con una MdT con input e output a k+2k+2 nastri in tempo O(f(n))O(f(n)): l'input in sola lettura non toglie potenza.

Dimostrazione illustrata

1 / 3
Copia l'input. M può scrivere sul suo primo nastro, mentre in M' il nastro 1 è in sola lettura. Per questo M' copia l'input sul nastro 2, quello verde, dove M potrà lavorare come vuole. La copia legge il nastro 1 fino al primo blank e costa O(n) passi, compreso il ritorno del cursore all'inizio.
1. Copia l'input

MM può scrivere sul suo primo nastro, mentre in M′M' il nastro 1 è in sola lettura. Per questo M′M' copia l'input sul nastro 2, quello verde, dove MM potrà lavorare come vuole. La copia legge il nastro 1 fino al primo blank e costa O(n)O(n) passi, compreso il ritorno del cursore all'inizio.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

LNL

Dove: dispensa cap. 2, p. 16; slide Lez. 2

Capitolo 3 · MdT nondeterministiche

proposizione

Proposizione P⊆NP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}}

per l'oraledimostrato nel corso

Ogni problema che una MdT deterministica risolve in tempo polinomiale sta in NP: P⊆NP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Una MdT deterministica è un caso particolare di MdT nondeterministica, in cui la relazione Δ\Delta è una funzione.

All'esame

È il primo anello di ogni catena di inclusioni; il viceversa NP⊆P\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=P}{\mathrm{P}} è la questione aperta P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}.

Da scrivere all'esame

SÌ: P⊆NP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}}, perché una MdT deterministica polinomiale è una MdT nondeterministica (con Δ\Delta che è una funzione) che decide lo stesso linguaggio nello stesso tempo.

Dimostrazione illustrata

1 / 3
Prendi un algoritmo di P. L ∈ P: una macchina deterministica M (DTM) lo decide, rispondendo 1 o 0, cioè "yes" o "no", su ogni input x entro p(n) passi, con p polinomio. In ogni situazione (stato, simbolo letto) la sua funzione di transizione δ prevede esattamente una mossa.
1. Prendi un algoritmo di P

L∈PL \in \htmlData{term=P}{\mathrm{P}}: una macchina deterministica MM (DTM) lo decide, rispondendo 1 o 0, cioè "yes" o "no", su ogni input xx entro p(n)p(n) passi, con pp polinomio. In ogni situazione (stato, simbolo letto) la sua funzione di transizione δ\delta prevede esattamente una mossa.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PNP

Dove: dispensa cap. 3, p. 18; slide Lez. 3

teorema

Teorema (da nondeterministico a deterministico)

chiesto in 7 domandedimostrato nel corso

Se LL è deciso da una MdT nondeterministica NN in tempo f(n)f(n), allora è deciso da una MdT deterministica a 3 nastri in tempo O(cf(n))O(c^{f(n)}), con c>1c \gt 1 costante che dipende da NN. In breve: NTIME(f(n))⊆⋃c>1TIME(cf(n))\mathrm{NTIME}(f(n)) \subseteq \bigcup_{c \gt 1} \mathrm{TIME}(c^{f(n)}).

Idea, frase per l'esame e dimostrazione +

Intuizione

La macchina deterministica prova una dopo l'altra tutte le sequenze di scelte, che sono al più df(n)d^{f(n)} (dd è il grado di nondeterminismo).

All'esame

Dà NP⊆EXP\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=EXP}{\mathrm{EXP}}: togliere il nondeterminismo dal tempo, per quanto si sa oggi, costa un esponenziale.

Da scrivere all'esame

Per il teorema da nondeterministico a deterministico NTIME(f(n))⊆⋃c>1TIME(cf(n))\mathrm{NTIME}(f(n)) \subseteq \bigcup_{c \gt 1} \mathrm{TIME}(c^{f(n)}): simulare il nondeterminismo costa un esponenziale, quindi per esempio NP⊆EXP\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=EXP}{\mathrm{EXP}}.

Dimostrazione illustrata

1 / 4
Numera le scelte. In ogni situazione la macchina nondeterministica N ha al più d mosse possibili, numerate da 1 a d come gli archi che escono dalla radice. Un ramo di t passi è quindi una sequenza (c₁, …, c_t) di numeri fra 1 e d, dove cᵢ dice quale mossa fare al passo i. Le sequenze che scelgono una mossa inesistente si scartano.
1. Numera le scelte

In ogni situazione la macchina nondeterministica NN ha al più dd mosse possibili, numerate da 1 a dd come gli archi che escono dalla radice. Un ramo di tt passi è quindi una sequenza (c1,…,ct)(c_1, \ldots, c_t) di numeri fra 1 e dd, dove cic_i dice quale mossa fare al passo ii. Le sequenze che scelgono una mossa inesistente si scartano.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F05 n. 4 · G20v1 n. 5 · G20v2 n. 5 · G20v4 n. 5 · G20v5 n. 5 · LU24 n. 3 · SP n. 3

Classi

NPEXP

Dove: dispensa cap. 3, p. 20; slide Lez. 3

proposizione

REACHABILITY in spazio logaritmico nondeterministico

per l'oraledimostrato nel corso

REACHABILITY si decide con una MdT nondeterministica in spazio O(log⁡n)O(\log n): REACHABILITY∈NL\htmlData{term=problem:REACH}{\mathrm{REACHABILITY}} \in \htmlData{term=NL}{\mathrm{NL}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

La macchina ricorda solo il nodo corrente e il prossimo, scelto nondeterministicamente: due numeri tra 1 e nn, cioè O(log⁡n)O(\log n) celle.

All'esame

Esempio tipico di problema in NL; è anche il punto di partenza del Teorema di Savitch.

Da scrivere all'esame

SÌ: REACHABILITY∈NL\htmlData{term=problem:REACH}{\mathrm{REACHABILITY}} \in \htmlData{term=NL}{\mathrm{NL}}, perché una MdT nondeterministica indovina il cammino ricordando solo il nodo corrente e il successivo, cioè O(log⁡n)O(\log n) celle di lavoro.

Dimostrazione illustrata

1 / 4
Ricorda solo dove sei. Il grafo, con la sorgente s in verde e la destinazione t in rosso, sta sul nastro di input, in sola lettura, che non si conta nello spazio. Sul nastro di lavoro la macchina tiene solo il nodo corrente, all'inizio s. Segnare i nodi già visitati, come fa una visita del grafo, costerebbe un bit per nodo, troppo per lo spazio logaritmico.
1. Ricorda solo dove sei

Il grafo, con la sorgente ss in verde e la destinazione tt in rosso, sta sul nastro di input, in sola lettura, che non si conta nello spazio. Sul nastro di lavoro la macchina tiene solo il nodo corrente, all'inizio ss. Segnare i nodi già visitati, come fa una visita del grafo, costerebbe un bit per nodo, troppo per lo spazio logaritmico.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NL

Problemi

REACHABILITY

Dove: slide Lez. 3. Presentato nelle slide (algoritmo a 3 nastri); la dispensa non lo enuncia come risultato a sé.

Capitolo 4 · Funzioni di complessità proprie

teorema

Teorema delle soluzioni precise

per l'oraledimostrato nel corso

Se MM decide LL in tempo o spazio f(n)f(n), con ff propria, allora esiste una MdT precisa M′M' che decide LL in tempo o spazio O(f(n))O(f(n)). Precisa vuol dire che, su ogni input xx, ogni computazione si ferma dopo un numero di passi che dipende solo da ∣x∣|x| e i nastri di lavoro hanno una lunghezza che dipende solo da ∣x∣|x|.

Idea, frase per l'esame e dimostrazione +

Intuizione

Prima si calcola il "metro" lungo f(∣x∣)f(|x|) con la macchina MfM_f, poi lo si usa come sveglia (tempo) o come limite di memoria (spazio).

Da scrivere all'esame

Per il teorema delle soluzioni precise, con ff propria si può supporre che tempo o spazio della MdT dipendano solo da ∣x∣|x|, restando nel budget O(f(n))O(f(n)).

Dimostrazione illustrata

1 / 4
Costruisci un metro. Il teorema vuole una macchina precisa, la cui durata e il cui spazio dipendono solo dalla lunghezza n dell'input. Siccome f è propria, una macchina M_f scrive esattamente f(n) quasi-blank, i # del disegno, in tempo O(n + f(n)), e anche i suoi passi dipendono solo da n. Questo nastro fa da metro.
1. Costruisci un metro

Il teorema vuole una macchina precisa, la cui durata e il cui spazio dipendono solo dalla lunghezza nn dell'input. Siccome ff è propria, una macchina MfM_f scrive esattamente f(n)f(n) quasi-blank, i #\# del disegno, in tempo O(n+f(n))O(n + f(n)), e anche i suoi passi dipendono solo da nn. Questo nastro fa da metro.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove: dispensa cap. 4, p. 21; slide Lez. 4

teorema

Teorema (terminazione delle MdT space-bounded)

per l'oraledimostrato nel corso

Se MM decide LL in spazio f(n)f(n), con ff propria, allora esiste M′M' che decide LL in spazio O(f(n))O(f(n)) e tale che ogni sua computazione termina.

Idea, frase per l'esame e dimostrazione +

Intuizione

Le configurazioni possibili sono al più ∣K∣⋅∣Σ∣f(n)⋅(f(n)+1)|K| \cdot |\Sigma|^{f(n)} \cdot (f(n)+1): se la macchina fa più passi di così è in un ciclo, e la si può fermare in "no".

All'esame

È l'idea dietro SPACE(f(n))⊆TIME(kf(n))\mathrm{SPACE}(f(n)) \subseteq \mathrm{TIME}(k^{f(n)}) e quindi PSPACE⊆EXP\htmlData{term=PSPACE}{\mathrm{PSPACE}} \subseteq \htmlData{term=EXP}{\mathrm{EXP}}.

Da scrivere all'esame

Per il teorema di terminazione, una MdT con budget di spazio f(n)f(n) (ff propria) si rende sempre terminante: ha al più ∣K∣⋅∣Σ∣f(n)⋅(f(n)+1)|K| \cdot |\Sigma|^{f(n)} \cdot (f(n)+1) configurazioni, oltre le quali è in un ciclo.

Dimostrazione illustrata

1 / 4
Conta le configurazioni possibili. Una configurazione è una fotografia completa della macchina: lo stato q, il contenuto a₁ … a_s del nastro di lavoro e le posizioni dei cursori. Con spazio s = f(n) si scrive in O(s) bit; l'ipotesi s ≥ log n serve perché ci stia anche la posizione sul nastro di input, che ha n + 1 valori possibili. Le configurazioni diverse sono quindi al più 2^(O(s)).
1. Conta le configurazioni possibili

Una configurazione è una fotografia completa della macchina: lo stato qq, il contenuto a1…asa_1 \ldots a_s del nastro di lavoro e le posizioni dei cursori. Con spazio s=f(n)s = f(n) si scrive in O(s)O(s) bit; l'ipotesi s≥log⁡ns \ge \log n serve perché ci stia anche la posizione sul nastro di input, che ha n+1n + 1 valori possibili. Le configurazioni diverse sono quindi al più 2O(s)2^{O(s)}.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PSPACEEXP

Dove: dispensa cap. 4, p. 22; slide Lez. 4

Capitolo 6 · Classi complementari

proposizione

Proposizione (le classi deterministiche sono chiuse per complemento)

chiesto in 2 domandedimostrato nel corso

Se CC è una classe deterministica TIME(f(n))\mathrm{TIME}(f(n)) o SPACE(f(n))\mathrm{SPACE}(f(n)), allora C=coCC = \mathrm{co}C; per esempio P=coP\htmlData{term=P}{\mathrm{P}} = \mathrm{coP}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Basta scambiare gli stati "yes" e "no" della macchina deterministica.

All'esame

Serve a dire che P⊆coNP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=coNP}{\mathrm{coNP}} e che, se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}, allora anche NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}.

Da scrivere all'esame

SÌ: le classi deterministiche di tempo e spazio sono chiuse per complemento (per esempio P=coP\htmlData{term=P}{\mathrm{P}} = \mathrm{coP}): basta scambiare "yes" e "no" nella MdT deterministica, con lo stesso budget.

Dimostrazione illustrata

1 / 3
Parti da un decisore. M è deterministica e decide L entro il budget di tempo o di spazio: su ogni input x si ferma e risponde sì esattamente quando x ∈ L. Serve che M termini sempre, come dice la scritta in basso: se su qualche input girasse all'infinito, scambiare le uscite non le farebbe accettare quell'input, che pure sta nel complemento.
1. Parti da un decisore

MM è deterministica e decide LL entro il budget di tempo o di spazio: su ogni input xx si ferma e risponde sì esattamente quando x∈Lx \in L. Serve che MM termini sempre, come dice la scritta in basso: se su qualche input girasse all'infinito, scambiare le uscite non le farebbe accettare quell'input, che pure sta nel complemento.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F05 n. 2 · F08 n. 3

Dove: dispensa cap. 6, p. 25; slide Lez. 4

Capitolo 7 · Teorema di gerarchia

lemma

Lemma 1 (limite superiore per HfH_f)

per l'oraledimostrato nel corso

Per f(n)≥nf(n) \ge n propria, il linguaggio Hf={M;x:M accetta x in al piuˋ f(∣x∣) passi}H_f = \{M;x : M \text{ accetta } x \text{ in al più } f(|x|) \text{ passi}\} sta in TIME(f(n)3)\mathrm{TIME}(f(n)^3).

Idea, frase per l'esame e dimostrazione +

Intuizione

Una macchina universale con una "sveglia" lunga f(∣x∣)f(|x|) simula MM passo per passo, e ogni passo costa O(f(n)2)O(f(n)^2).

Da scrivere all'esame

Per il Lemma 1, Hf∈TIME(f(n)3)H_f \in \mathrm{TIME}(f(n)^3): una macchina universale con una sveglia lunga f(∣x∣)f(|x|) simula MM su xx spendendo O(f(n)2)O(f(n)^2) per ogni passo.

Dimostrazione illustrata

1 / 4
Ricevi programma e input. H_f contiene le coppie M;x in cui M accetta x in al più f(|x|) passi. La macchina universale U riceve tutta la coppia come input: la descrizione ⟨ M ⟩, cioè il programma di M, e la stringa x. Il tempo di U si misura sulla lunghezza n dell'intera coppia, descrizione compresa.
1. Ricevi programma e input

HfH_f contiene le coppie M;xM;x in cui MM accetta xx in al più f(∣x∣)f(|x|) passi. La macchina universale UU riceve tutta la coppia come input: la descrizione ⟨M⟩\langle M \rangle, cioè il programma di MM, e la stringa xx. Il tempo di UU si misura sulla lunghezza nn dell'intera coppia, descrizione compresa.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove: dispensa cap. 7, p. 26; slide Lez. 5

lemma

Lemma 2 (limite inferiore per HfH_f)

per l'oraledimostrato nel corso

Hf∉TIME(f(⌊n/2⌋))H_f \notin \mathrm{TIME}(f(\lfloor n/2 \rfloor)).

Idea, frase per l'esame e dimostrazione +

Intuizione

Diagonalizzazione: se una macchina decidesse HfH_f così in fretta, la macchina DfD_f che "fa il contrario" sulla propria descrizione porterebbe a una contraddizione.

Da scrivere all'esame

Per il Lemma 2, Hf∉TIME(f(⌊n/2⌋))H_f \notin \mathrm{TIME}(f(\lfloor n/2 \rfloor)): la macchina diagonale DfD_f, che fa il contrario sulla propria descrizione, porterebbe a una contraddizione.

Dimostrazione illustrata

1 / 4
Supponi un decisore troppo veloce. Per assurdo, una macchina M_H decide H_f in tempo f(⌊ n/2 ⌋), dove n è la lunghezza della coppia ⟨ M ⟩; x: nel disegno è il riquadro rosso, che su ogni coppia si ferma in sì o in no. La domanda a cui risponde è se M accetta x in al più f(|x|) passi.
1. Supponi un decisore troppo veloce

Per assurdo, una macchina MHM_H decide HfH_f in tempo f(⌊n/2⌋)f(\lfloor n/2 \rfloor), dove nn è la lunghezza della coppia ⟨M⟩;x\langle M \rangle; x: nel disegno è il riquadro rosso, che su ogni coppia si ferma in sì o in no. La domanda a cui risponde è se MM accetta xx in al più f(∣x∣)f(|x|) passi.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove: dispensa cap. 7, p. 27; slide Lez. 5

teorema

Teorema di gerarchia per il tempo (Teorema 7.1)

★ chiesto in 30 domandedimostrato nel corso

Se f(n)≥nf(n) \ge n è una funzione propria, allora TIME(f(n))⊊TIME(f(2n+1)3)\mathrm{TIME}(f(n)) \subsetneq \mathrm{TIME}(f(2n+1)^3). È stato dimostrato anche il risultato più forte TIME(f(n))⊊TIME(f(n)⋅log⁡2f(n))\mathrm{TIME}(f(n)) \subsetneq \mathrm{TIME}(f(n) \cdot \log^2 f(n)).

Idea, frase per l'esame e dimostrazione +

Intuizione

Con abbastanza tempo in più si risolvono problemi nuovi: con g(n)=f(2n+1)g(n) = f(2n+1), HgH_g sta nella classe grande (Lemma 1) ma non in quella piccola (Lemma 2).

All'esame

Serve a separare classi di tempo, per esempio a dimostrare P⊊EXP\htmlData{term=P}{\mathrm{P}} \subsetneq \htmlData{term=EXP}{\mathrm{EXP}}.

Da scrivere all'esame

Per il teorema di gerarchia per il tempo, se f(n)≥nf(n) \ge n è propria allora TIME(f(n))⊊TIME(f(2n+1)3)\mathrm{TIME}(f(n)) \subsetneq \mathrm{TIME}(f(2n+1)^3): con abbastanza tempo in più si risolvono problemi nuovi.

Dimostrazione illustrata

1 / 4
Confronta due budget. Sia g(n) = f(2n+1). Siccome f non decresce e f(2n+1) ≥ 2n+1 ≥ 1, vale f(n) ≤ f(2n+1) ≤ g(n)³: una macchina che sta nel budget piccolo sta anche in quello grande, e l'ovale di TIME(f(n)) sta dentro quello di TIME(g(n)³). Resta da trovare un linguaggio dentro l'ovale grande e fuori da quello piccolo.
1. Confronta due budget

Sia g(n)=f(2n+1)g(n) = f(2n+1). Siccome ff non decresce e f(2n+1)≥2n+1≥1f(2n+1) \ge 2n+1 \ge 1, vale f(n)≤f(2n+1)≤g(n)3f(n) \le f(2n+1) \le g(n)^3: una macchina che sta nel budget piccolo sta anche in quello grande, e l'ovale di TIME(f(n))\mathrm{TIME}(f(n)) sta dentro quello di TIME(g(n)3)\mathrm{TIME}(g(n)^3). Resta da trovare un linguaggio dentro l'ovale grande e fuori da quello piccolo.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PEXP

Dove: dispensa cap. 7, p. 28; slide Lez. 5. La versione con log⁡2f(n)\log^2 f(n) è citata senza prova (Problema 7.4.8 del Papadimitriou).

teorema

Teorema (separazione di P ed EXP)

★ chiesto in 12 domandedimostrato nel corso

P⊊EXP\htmlData{term=P}{\mathrm{P}} \subsetneq \htmlData{term=EXP}{\mathrm{EXP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

P⊆TIME(2n)\htmlData{term=P}{\mathrm{P}} \subseteq \mathrm{TIME}(2^n) e, per la gerarchia, TIME(2n)⊊TIME((22n+1)3)⊆TIME(2n2)⊆EXP\mathrm{TIME}(2^n) \subsetneq \mathrm{TIME}((2^{2n+1})^3) \subseteq \mathrm{TIME}(2^{n^2}) \subseteq \htmlData{term=EXP}{\mathrm{EXP}}.

All'esame

Serve a rispondere NO a "P=EXP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=EXP}{\mathrm{EXP}}?" e a escludere riduzioni da problemi completi per EXP (o classi più grandi, come NEXP) verso problemi in P.

Da scrivere all'esame

P⊊EXP\htmlData{term=P}{\mathrm{P}} \subsetneq \htmlData{term=EXP}{\mathrm{EXP}}: per il teorema di gerarchia TIME(2n)⊊TIME(26n+3)⊆EXP\mathrm{TIME}(2^n) \subsetneq \mathrm{TIME}(2^{6n+3}) \subseteq \htmlData{term=EXP}{\mathrm{EXP}}, e P⊆TIME(2n)\htmlData{term=P}{\mathrm{P}} \subseteq \mathrm{TIME}(2^n), quindi P⊊EXP\htmlData{term=P}{\mathrm{P}} \subsetneq \htmlData{term=EXP}{\mathrm{EXP}}.

Dimostrazione illustrata

1 / 3
Raccogli tutti i polinomi. Nel grafico la curva verde 2ⁿ parte sotto la linea nᵏ, la incrocia in n₀ (il tratteggio) e da lì resta sempre sopra. Per gli n minori di n₀ la differenza è una costante, che lo speedup lineare assorbe. Quindi ogni TIME(nᵏ) sta in TIME(2ⁿ), e con loro l'unione P.
1. Raccogli tutti i polinomi

Nel grafico la curva verde 2n2^n parte sotto la linea nkn^k, la incrocia in n0n_0 (il tratteggio) e da lì resta sempre sopra. Per gli nn minori di n0n_0 la differenza è una costante, che lo speedup lineare assorbe. Quindi ogni TIME(nk)\mathrm{TIME}(n^k) sta in TIME(2n)\mathrm{TIME}(2^n), e con loro l'unione P\htmlData{term=P}{\mathrm{P}}.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PEXP

Dove: dispensa cap. 7, p. 28; slide Lez. 5

Capitolo 10 · Spazio dato il tempo

teorema

Spazio dato il tempo

★ chiesto in 25 domandedimostrato nel corso

SPACE(f(n))⊆TIME(kf(n))\mathrm{SPACE}(f(n)) \subseteq \mathrm{TIME}(k^{f(n)}) per una costante kk; in particolare PSPACE⊆EXP\htmlData{term=PSPACE}{\mathrm{PSPACE}} \subseteq \htmlData{term=EXP}{\mathrm{EXP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Una macchina con spazio f(n)f(n) ha un numero di configurazioni esponenziale in f(n)f(n): se fa più passi di così è in un ciclo.

All'esame

Dà PSPACE⊆EXP\htmlData{term=PSPACE}{\mathrm{PSPACE}} \subseteq \htmlData{term=EXP}{\mathrm{EXP}} (non si sa se l'inclusione è stretta).

Da scrivere all'esame

SPACE(f(n))⊆TIME(kf(n))\mathrm{SPACE}(f(n)) \subseteq \mathrm{TIME}(k^{f(n)}), perché una macchina con budget di spazio f(n)f(n) ha al più kf(n)k^{f(n)} configurazioni; quindi PSPACE⊆EXP\htmlData{term=PSPACE}{\mathrm{PSPACE}} \subseteq \htmlData{term=EXP}{\mathrm{EXP}}.

Dimostrazione illustrata

1 / 4
Descrivi una configurazione. Fra parentesi c'è una configurazione: lo stato q e un nastro di lavoro con la sua testina (il triangolo); i puntini stanno per il resto, cioè gli altri nastri e la posizione sull'input. Con f(n) ≥ log n anche quella posizione, circa log n bit, rientra in O(f(n)). Stringhe di O(f(n)) bit sono al più c^(f(n)), con c che dipende solo dalla macchina.
1. Descrivi una configurazione

Fra parentesi c'è una configurazione: lo stato qq e un nastro di lavoro con la sua testina (il triangolo); i puntini stanno per il resto, cioè gli altri nastri e la posizione sull'input. Con f(n)≥log⁡nf(n) \ge \log n anche quella posizione, circa log⁡n\log n bit, rientra in O(f(n))O(f(n)). Stringhe di O(f(n))O(f(n)) bit sono al più cf(n)c^{f(n)}, con cc che dipende solo dalla macchina.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PSPACEEXP

Dove: dispensa cap. 10, p. 29; slide Lez. 5

Capitolo 11 · Deterministico vs nondeterministico (Savitch)

proposizione

Teorema 7.4 (a)

per l'oraledimostrato nel corso

TIME(f(n))⊆NTIME(f(n))\mathrm{TIME}(f(n)) \subseteq \mathrm{NTIME}(f(n)) e SPACE(f(n))⊆NSPACE(f(n))\mathrm{SPACE}(f(n)) \subseteq \mathrm{NSPACE}(f(n)).

Idea, frase per l'esame e dimostrazione +

Intuizione

Le MdT deterministiche sono casi particolari di quelle nondeterministiche.

All'esame

Inclusioni di base come P⊆NP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}}, L⊆NL\htmlData{term=L}{\mathrm{L}} \subseteq \htmlData{term=NL}{\mathrm{NL}} e PSPACE⊆NPSPACE\htmlData{term=PSPACE}{\mathrm{PSPACE}} \subseteq \mathrm{NPSPACE}.

Da scrivere all'esame

SÌ, per il Teorema 7.4 (a): una MdT deterministica è un caso particolare di nondeterministica, quindi TIME(f(n))⊆NTIME(f(n))\mathrm{TIME}(f(n)) \subseteq \mathrm{NTIME}(f(n)) e SPACE(f(n))⊆NSPACE(f(n))\mathrm{SPACE}(f(n)) \subseteq \mathrm{NSPACE}(f(n)).

Dimostrazione illustrata

1 / 3
Prendi la macchina deterministica. M legge il nastro (la testina è sotto la b) e rispetta il budget f(n) che entra dall'alto, di tempo o di spazio. La sua funzione di transizione δ associa a ogni coppia di stato q e simbolo letto σ una sola azione (q', tau, D): nuovo stato, simbolo da scrivere e direzione della testina.
1. Prendi la macchina deterministica

MM legge il nastro (la testina è sotto la bb) e rispetta il budget f(n)f(n) che entra dall'alto, di tempo o di spazio. La sua funzione di transizione δ\delta associa a ogni coppia di stato qq e simbolo letto σ\sigma una sola azione (q′,τ,D)(q', \tau, D): nuovo stato, simbolo da scrivere e direzione della testina.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PNPLNL

Dove: slide Lez. 5; dispensa cap. 11, p. 32 (usato nel corollario PSPACE = NPSPACE)

teorema

Teorema 7.4 (b)

chiesto in 3 domandedimostrato nel corso

NTIME(f(n))⊆SPACE(f(n))\mathrm{NTIME}(f(n)) \subseteq \mathrm{SPACE}(f(n)).

Idea, frase per l'esame e dimostrazione +

Intuizione

Si provano le sequenze di scelte una alla volta riusando lo stesso spazio: ogni computazione è lunga al più f(n)f(n).

All'esame

Dà NP⊆PSPACE\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}.

Da scrivere all'esame

SÌ, per il Teorema 7.4 (b) NTIME(f(n))⊆SPACE(f(n))\mathrm{NTIME}(f(n)) \subseteq \mathrm{SPACE}(f(n)) (si provano i rami uno alla volta riusando lo spazio); per esempio NP⊆PSPACE\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}.

Dimostrazione illustrata

1 / 3
Esplora l'albero delle scelte. Ogni nodo dell'albero è una configurazione di N e ogni figlio una scelta possibile; un ramo dalla radice in giù è una computazione. La barra a destra dice che nessun ramo supera f(n) passi. I rami però possono essere fino a d^(f(n)), con d il numero massimo di scelte per passo, e tenere in memoria l'albero intero costerebbe troppo.
1. Esplora l'albero delle scelte

Ogni nodo dell'albero è una configurazione di NN e ogni figlio una scelta possibile; un ramo dalla radice in giù è una computazione. La barra a destra dice che nessun ramo supera f(n)f(n) passi. I rami però possono essere fino a df(n)d^{f(n)}, con dd il numero massimo di scelte per passo, e tenere in memoria l'albero intero costerebbe troppo.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F04 n. 5 · G20v1 n. 6 · SE23 n. 7

Classi

NPPSPACE

Dove: dispensa cap. 11, p. 30; slide Lez. 5

teorema

Teorema 7.4 (c)

chiesto in 5 domandedimostrato nel corso

NSPACE(f(n))⊆TIME(klog⁡n+f(n))\mathrm{NSPACE}(f(n)) \subseteq \mathrm{TIME}(k^{\log n + f(n)}).

Idea, frase per l'esame e dimostrazione +

Intuizione

Si risolve REACHABILITY sul grafo delle configurazioni, che ha un numero di nodi esponenziale in log⁡n+f(n)\log n + f(n).

All'esame

Con f(n)=log⁡nf(n) = \log n dà NL⊆P\htmlData{term=NL}{\mathrm{NL}} \subseteq \htmlData{term=P}{\mathrm{P}}.

Da scrivere all'esame

SÌ, per il Teorema 7.4 (c) NSPACE(f(n))⊆TIME(klog⁡n+f(n))\mathrm{NSPACE}(f(n)) \subseteq \mathrm{TIME}(k^{\log n + f(n)}) (REACHABILITY sul grafo delle configurazioni); con f(n)=log⁡nf(n) = \log n dà NL⊆P\htmlData{term=NL}{\mathrm{NL}} \subseteq \htmlData{term=P}{\mathrm{P}}.

Dimostrazione illustrata

1 / 4
Trasforma configurazioni in nodi. Un nodo v = (q, i, w) è una configurazione di N: lo stato q, la posizione i della testina sull'input e il contenuto w dei nastri di lavoro, con le loro testine. L'input non serve, perché è sempre x. Scrivere i costa circa log n bit e w costa O(f(n)): da qui gli O(log n + f(n)) bit della graffa.
1. Trasforma configurazioni in nodi

Un nodo v=(q,i,w)v = (q, i, w) è una configurazione di NN: lo stato qq, la posizione ii della testina sull'input e il contenuto ww dei nastri di lavoro, con le loro testine. L'input non serve, perché è sempre xx. Scrivere ii costa circa log⁡n\log n bit e ww costa O(f(n))O(f(n)): da qui gli O(log⁡n+f(n))O(\log n + f(n)) bit della graffa.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F02 n. 6 · F06 n. 7 · F12 n. 1 · G20v3 n. 7 · SP n. 5

Classi

NLP

Dove: dispensa cap. 11, p. 30; slide Lez. 5. La dispensa omette la prova; le slide la svolgono.

teorema

Teorema di Savitch (Teorema 7.5)

chiesto in 7 domandedimostrato nel corso

REACHABILITY∈SPACE(log⁡2n)\htmlData{term=problem:REACH}{\mathrm{REACHABILITY}} \in \mathrm{SPACE}(\log^2 n).

Idea, frase per l'esame e dimostrazione +

Intuizione

Un cammino lungo al più 2i2^i da xx a yy ha un punto di mezzo zz: si prova ogni zz ricorsivamente riusando lo spazio; la ricorsione è profonda log⁡n\log n e ogni livello usa O(log⁡n)O(\log n) celle.

All'esame

È la base dei corollari NSPACE(f(n))⊆SPACE(f(n)2)\mathrm{NSPACE}(f(n)) \subseteq \mathrm{SPACE}(f(n)^2) e PSPACE=NPSPACE\htmlData{term=PSPACE}{\mathrm{PSPACE}} = \mathrm{NPSPACE}.

Da scrivere all'esame

Per il teorema di Savitch REACHABILITY∈SPACE(log⁡2n)\htmlData{term=problem:REACH}{\mathrm{REACHABILITY}} \in \mathrm{SPACE}(\log^2 n): si cerca ricorsivamente il punto di mezzo del cammino, con ricorsione profonda log⁡n\log n e O(log⁡n)O(\log n) bit per livello.

Dimostrazione illustrata

1 / 6
Dimezza il cammino. La curva lilla in alto chiede se da x si arriva a y con al più 2ⁱ archi. Le curve verdi passano per un nodo di mezzo z, da x a z e da z a y, con al più 2ⁱ⁻¹ archi ciascuna. Si usa 2ⁱ perché si dimezza senza arrotondamenti, e i conta i dimezzamenti che restano. La macchina non sa quale nodo sia z, quindi li prova tutti, uno dopo l'altro.
1. Dimezza il cammino

La curva lilla in alto chiede se da xx si arriva a yy con al più 2i2^i archi. Le curve verdi passano per un nodo di mezzo zz, da xx a zz e da zz a yy, con al più 2i−12^{i-1} archi ciascuna. Si usa 2i2^i perché si dimezza senza arrotondamenti, e ii conta i dimezzamenti che restano. La macchina non sa quale nodo sia zz, quindi li prova tutti, uno dopo l'altro.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F08 n. 2 · F13 n. 5 · F13 n. 7 · G20v3 n. 4 · FE23 n. 6 · E26 n. 1 · ND n. 1

Classi

NLPSPACE

Problemi

REACHABILITY

Dove: dispensa cap. 11, p. 30; slide Lez. 5

corollario

Corollario di Savitch (spazio nondeterministico)

chiesto in 7 domandedimostrato nel corso

Per ogni funzione propria f(n)≥log⁡nf(n) \ge \log n: NSPACE(f(n))⊆SPACE(f(n)2)\mathrm{NSPACE}(f(n)) \subseteq \mathrm{SPACE}(f(n)^2).

Idea, frase per l'esame e dimostrazione +

Intuizione

Si applica l'algoritmo di Savitch al grafo delle configurazioni, che ha cf(n)c^{f(n)} nodi: log⁡2(cf(n))=O(f(n)2)\log^2(c^{f(n)}) = O(f(n)^2).

All'esame

Togliere il nondeterminismo costa solo un quadrato nello spazio, mentre nel tempo (per quanto si sa) costa un esponenziale.

Da scrivere all'esame

SÌ, per il corollario di Savitch NSPACE(f(n))⊆SPACE(f(n)2)\mathrm{NSPACE}(f(n)) \subseteq \mathrm{SPACE}(f(n)^2) per f(n)≥log⁡nf(n) \ge \log n propria; per esempio NL⊆SPACE(log⁡2n)\htmlData{term=NL}{\mathrm{NL}} \subseteq \mathrm{SPACE}(\log^2 n).

Dimostrazione illustrata

1 / 4
Il grafo implicito delle configurazioni. La nuvola tratteggiata è il grafo delle configurazioni di N su x. s è la configurazione iniziale e t, il doppio cerchio, l'unica che accetta, perché si può supporre che N prima di accettare cancelli i nastri e riporti le testine all'inizio. Con f(n) ≥ log n i nodi sono al più c^(log n + f(n)) ≤ (c²)^(f(n)), cioè |V| ≤ 2^(O(f(n))): troppi per scriverli tutti.
1. Il grafo implicito delle configurazioni

La nuvola tratteggiata è il grafo delle configurazioni di NN su xx. ss è la configurazione iniziale e tt, il doppio cerchio, l'unica che accetta, perché si può supporre che NN prima di accettare cancelli i nastri e riporti le testine all'inizio. Con f(n)≥log⁡nf(n) \ge \log n i nodi sono al più clog⁡n+f(n)≤(c2)f(n)c^{\log n + f(n)} \le (c^2)^{f(n)}, cioè ∣V∣≤2O(f(n))|V| \le 2^{O(f(n))}: troppi per scriverli tutti.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F08 n. 2 · F13 n. 5 · F13 n. 7 · G20v3 n. 4 · FE23 n. 6 · E26 n. 1 · ND n. 1

Classi

NLPSPACE

Dove: dispensa cap. 11, p. 31; slide Lez. 5

corollario

Corollario: PSPACE=NPSPACE\htmlData{term=PSPACE}{\mathrm{PSPACE}} = \mathrm{NPSPACE}

chiesto in 7 domandedimostrato nel corso

PSPACE=NPSPACE\htmlData{term=PSPACE}{\mathrm{PSPACE}} = \mathrm{NPSPACE}: il nondeterminismo non aggiunge problemi risolubili in spazio polinomiale.

Idea, frase per l'esame e dimostrazione +

Intuizione

Il quadrato di un polinomio è ancora un polinomio.

All'esame

Serve a rispondere SÌ a "NPSPACE⊆PSPACE\mathrm{NPSPACE} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}?" e a dire che un problema PSPACE-completo e uno NPSPACE-completo si riducono l'uno all'altro.

Da scrivere all'esame

SÌ: NPSPACE⊆PSPACE\mathrm{NPSPACE} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}} per il corollario di Savitch (NSPACE(nk)⊆SPACE(n2k)\mathrm{NSPACE}(n^k) \subseteq \mathrm{SPACE}(n^{2k})), quindi PSPACE=NPSPACE\htmlData{term=PSPACE}{\mathrm{PSPACE}} = \mathrm{NPSPACE}.

Dimostrazione illustrata

1 / 3
Un'inclusione è immediata. L'ovale di PSPACE sta dentro quello di NPSPACE per il Teorema 7.4 (a): una macchina deterministica è una nondeterministica con una sola scelta per passo, e usa le stesse celle. Quindi SPACE(nᵏ) ⊆ NSPACE(nᵏ) per ogni k, e lo stesso vale per le unioni.
1. Un'inclusione è immediata

L'ovale di PSPACE\htmlData{term=PSPACE}{\mathrm{PSPACE}} sta dentro quello di NPSPACE\mathrm{NPSPACE} per il Teorema 7.4 (a): una macchina deterministica è una nondeterministica con una sola scelta per passo, e usa le stesse celle. Quindi SPACE(nk)⊆NSPACE(nk)\mathrm{SPACE}(n^k) \subseteq \mathrm{NSPACE}(n^k) per ogni kk, e lo stesso vale per le unioni.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F13 n. 7 · F14 n. 3 · LU22 n. 4 · FE23 n. 5 · MA23 n. 1 · E26 n. 7 · ND n. 1

Classi

PSPACE

Dove: dispensa cap. 11, p. 32; dispensa cap. 14, p. 57 (esercizio 3); slide Lez. 5

Capitolo 12 · Riduzioni (Cook-Levin)

proposizione

Proposizione (composizione di riduzioni)

chiesto in 3 domandedimostrato nel corso

Se RR è una riduzione da L1L_1 a L2L_2 e R′R' è una riduzione da L2L_2 a L3L_3, allora R′∘RR' \circ R è una riduzione da L1L_1 a L3L_3 (ancora in spazio logaritmico).

Idea, frase per l'esame e dimostrazione +

Intuizione

R(x)R(x) non si scrive per intero: ogni volta che serve un suo simbolo lo si ricalcola, tenendo solo un contatore di O(log⁡n)O(\log n) bit.

All'esame

Le riduzioni sono transitive: per mostrare che BB è NP-completo basta ridurre a BB un problema già NP-completo.

Da scrivere all'esame

SÌ, perché le riduzioni (in spazio logaritmico) si compongono: se L1L_1 si riduce a L2L_2 e L2L_2 a L3L_3, allora L1L_1 si riduce a L3L_3.

Dimostrazione illustrata

1 / 4
Concatena le equivalenze. R riduce A a B e S riduce B a C, quindi x ∈ A ⇔ R(x) ∈ B ⇔ S(R(x)) ∈ C. La composizione dà sempre la risposta giusta; resta da vedere se S(R(x)) si calcola ancora in spazio logaritmico.
1. Concatena le equivalenze

RR riduce AA a BB e SS riduce BB a CC, quindi x∈A  ⟺  R(x)∈B  ⟺  S(R(x))∈Cx \in A \iff R(x) \in B \iff S(R(x)) \in C. La composizione dà sempre la risposta giusta; resta da vedere se S(R(x))S(R(x)) si calcola ancora in spazio logaritmico.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F02 n. 2 · MZ22 n. 6 · LU22 n. 3

Dove: dispensa cap. 12, p. 34

proposizione

Proposizione (un problema completo per due classi)

per l'oraledimostrato nel corso

Se C1C_1 e C2C_2 sono chiuse rispetto alle riduzioni e un linguaggio LL è completo per entrambe, allora C1=C2C_1 = C_2.

Idea, frase per l'esame e dimostrazione +

Intuizione

Ogni problema di C1C_1 si riduce a LL, che sta in C2C_2, quindi sta in C2C_2; e viceversa.

All'esame

Per esempio: un problema sia NP-completo sia coNP-completo darebbe NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}.

Da scrivere all'esame

Solo se NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}: un linguaggio completo per due classi chiuse rispetto alle riduzioni le fa coincidere.

Dimostrazione illustrata

1 / 3
Usa la prima completezza. Prendi A ∈ C₁. B è C₁-completo, quindi A si riduce a B, la freccia A ≤ B. B è anche C₂-completo, e in particolare sta in C₂; siccome C₂ è chiusa, la riduzione porta A in C₂. Vale per ogni A di C₁, quindi C₁ ⊆ C₂.
1. Usa la prima completezza

Prendi A∈C1A \in C_1. BB è C1C_1-completo, quindi AA si riduce a BB, la freccia A≤BA \le B. BB è anche C2C_2-completo, e in particolare sta in C2C_2; siccome C2C_2 è chiusa, la riduzione porta AA in C2C_2. Vale per ogni AA di C1C_1, quindi C1⊆C2C_1 \subseteq C_2.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NPcoNP

Dove: dispensa cap. 12, p. 35

corollario

Corollario (classe piccola con un problema completo per la grande)

per l'oraledimostrato nel corso

Se C1⊆C2C_1 \subseteq C_2, C1C_1 è chiusa rispetto alle riduzioni e contiene un problema C2C_2-completo, allora C1=C2C_1 = C_2.

Idea, frase per l'esame e dimostrazione +

Intuizione

Tutto C2C_2 si riduce a quel problema, e la chiusura di C1C_1 porta tutto dentro C1C_1.

All'esame

Per esempio: un problema NP-completo sta in P solo se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}; QSAT sta in NP solo se NP=PSPACE\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=PSPACE}{\mathrm{PSPACE}}.

Da scrivere all'esame

Solo se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}: P⊆NP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}} ed è chiusa rispetto alle riduzioni, quindi se contenesse un problema NP-completo sarebbe P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}.

Dimostrazione illustrata

1 / 3
Il problema completo nella classe piccola. In alto c'è l'ipotesi C₁ ⊆ C₂. Il problema B sta nella classe piccola C₁ ed è C₂-completo, e C₁ è chiusa per le riduzioni, il riquadro tratteggiato. Serve la chiusura della classe piccola, perché è dentro C₁ che bisogna portare i problemi; quella di C₂ non entra nella dimostrazione.
1. Il problema completo nella classe piccola

In alto c'è l'ipotesi C1⊆C2C_1 \subseteq C_2. Il problema BB sta nella classe piccola C1C_1 ed è C2C_2-completo, e C1C_1 è chiusa per le riduzioni, il riquadro tratteggiato. Serve la chiusura della classe piccola, perché è dentro C1C_1 che bisogna portare i problemi; quella di C2C_2 non entra nella dimostrazione.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PNPPSPACE

Dove: dispensa cap. 12, p. 36

teorema

Teorema di Cook-Levin

★ chiesto in 11 domandedimostrato nel corso

SAT è NP-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

Una computazione nondeterministica polinomiale si descrive con una tabella p(n)×p(n)p(n) \times p(n), e la tabella si scrive come una formula in CNF che è soddisfacibile se e solo se esiste una computazione che accetta.

All'esame

È il primo problema NP-completo: tutte le altre prove di NP-completezza partono da SAT con catene di riduzioni.

Da scrivere all'esame

SAT è NP-completo per il teorema di Cook-Levin: ogni problema in NP si riduce a SAT, e SAT∈NP\htmlData{term=problem:SAT}{\mathrm{SAT}} \in \htmlData{term=NP}{\mathrm{NP}}.

Dimostrazione illustrata

1 / 6
Verifica un assegnamento. SAT ∈ NP è la parte facile. Per la formula φ in alto si indovina un valore per ogni variabile, qui x₁ = 1, x₂ = 0, x₃ = 1, e lo si sostituisce nelle clausole: ognuna diventa una coppia di bit con almeno un 1, quindi è vera. Il controllo richiede tempo polinomiale nella lunghezza di φ.
1. Verifica un assegnamento

SAT∈NP\htmlData{term=problem:SAT}{\mathrm{SAT}} \in \htmlData{term=NP}{\mathrm{NP}} è la parte facile. Per la formula ϕ\phi in alto si indovina un valore per ogni variabile, qui x1=1x_1 = 1, x2=0x_2 = 0, x3=1x_3 = 1, e lo si sostituisce nelle clausole: ognuna diventa una coppia di bit con almeno un 1, quindi è vera. Il controllo richiede tempo polinomiale nella lunghezza di ϕ\phi.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F04 n. 1 · F05 n. 6 · F12 n. 2 · F12 n. 5 · F13 n. 3 · F14 n. 6 · L18 n. 5 · GE23 n. 5 · FE23 n. 2 · SE23 n. 1 · ND n. 7

Classi

NP

Problemi

SAT

Dove: dispensa cap. 12, p. 36. La dispensa dà anche la versione con i circuiti (ogni L∈NPL \in \htmlData{term=NP}{\mathrm{NP}} si riduce a CIRCUIT SAT, che si riduce a SAT); il riepilogo del cap. 22 elenca anche CIRCUIT SAT come NP-completo.

Capitolo 13 · Problemi in NP

proposizione

Proposizione 9.1 (certificati succinti)

chiesto in 4 domandedimostrato nel corso

L∈NPL \in \htmlData{term=NP}{\mathrm{NP}} se e solo se esiste una relazione RR decidibile in tempo polinomiale e polinomialmente bilanciata (∣y∣≤∣x∣k|y| \le |x|^k) tale che L={x:(x,y)∈R per qualche y}L = \{x : (x, y) \in R \text{ per qualche } y\}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Il certificato yy è la registrazione di una computazione che accetta: è corto e si controlla in tempo polinomiale.

All'esame

Serve a dimostrare che un problema sta in NP ("indovina e verifica") e a scrivere un certificato succinto negli esercizi.

Da scrivere all'esame

Sta in NP per la Proposizione 9.1: ha un certificato di lunghezza polinomiale che si verifica in tempo polinomiale (indovina e verifica).

Dimostrazione illustrata

1 / 4
Da una computazione a un certificato. L'albero è la computazione della macchina nondeterministica N su x: a ogni nodo N sceglie una mossa, e il ramo verde arriva ad "accetta". Per descrivere quel ramo bastano le scelte fatte lungo la strada, al più |x|ᵏ se N lavora in tempo |x|ᵏ, e la graffa le indica come certificato y, che ha quindi lunghezza polinomiale in |x|.
1. Da una computazione a un certificato

L'albero è la computazione della macchina nondeterministica NN su xx: a ogni nodo NN sceglie una mossa, e il ramo verde arriva ad "accetta". Per descrivere quel ramo bastano le scelte fatte lungo la strada, al più ∣x∣k|x|^k se NN lavora in tempo ∣x∣k|x|^k, e la graffa le indica come certificato yy, che ha quindi lunghezza polinomiale in ∣x∣|x|.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F03 n. 4 · F14 n. 4 · LU24 n. 4 · SP n. 4

Classi

NP

Dove: dispensa cap. 13, p. 40

teorema

MAX2SAT è NP-completo

per l'oraledimostrato nel corso

Dato un insieme di clausole con 2 letterali e un intero KK, decidere se si possono soddisfare almeno KK clausole è NP-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

Ogni clausola di 3SAT diventa un gruppo di 10 clausole di 2 letterali: se ne soddisfano al più 7, e 7 esattamente quando la clausola originale è vera (obiettivo K=7mK = 7m).

All'esame

Mostra che 2-SAT è facile ma la sua versione di massimizzazione è difficile.

Da scrivere all'esame

MAX2SAT è NP-completo (riduzione da 3SAT: 10 clausole per ogni clausola, obiettivo K=7mK = 7m), anche se 2-SAT∈P\htmlData{term=problem:SAT2}{\mathrm{2\text{-}SAT}} \in \htmlData{term=P}{\mathrm{P}}.

Dimostrazione illustrata

1 / 5
Controlla l'appartenenza. Un'istanza di MAX2SAT è un elenco di clausole con al più due letterali e un intero K. Il certificato è un assegnamento, come x₁ = 1, x₂ = 0, x₃ = 1: si valuta ogni clausola, si contano quelle vere (qui due, perché (¬ x₁ ∨ ¬ x₃) è falsa) e si confronta il conto con K, in tempo polinomiale.
1. Controlla l'appartenenza

Un'istanza di MAX2SAT è un elenco di clausole con al più due letterali e un intero KK. Il certificato è un assegnamento, come x1=1x_1 = 1, x2=0x_2 = 0, x3=1x_3 = 1: si valuta ogni clausola, si contano quelle vere (qui due, perché (¬x1∨¬x3)(\neg x_1 \lor \neg x_3) è falsa) e si confronta il conto con KK, in tempo polinomiale.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NP

Problemi

MAX2SAT

Dove: dispensa cap. 13, p. 41

teorema

INDEPENDENT SET è NP-completo

per l'oraledimostrato nel corso

Dato un grafo GG e un intero KK, decidere se GG ha un insieme indipendente di KK nodi è NP-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

Riduzione da 3SAT: un triangolo per ogni clausola e un arco tra letterali opposti; un insieme indipendente di mm nodi sceglie un letterale vero per clausola.

All'esame

È il punto di partenza per CLIQUE e NODE COVER.

Da scrivere all'esame

INDEPENDENT SET è NP-completo (riduzione da 3SAT: un triangolo per clausola, archi tra letterali opposti, K=mK = m).

Dimostrazione illustrata

1 / 4
Verifica un gruppo di vertici. Il certificato è l'insieme S di K nodi, in verde nel grafo. Il verificatore prende le coppie di nodi di S, come (v₁, v₂) e (v₁, v₃), e controlla che nessuna sia un arco. Le coppie sono meno di K², quindi basta tempo polinomiale e INDEPENDENT SET sta in NP.
1. Verifica un gruppo di vertici

Il certificato è l'insieme SS di KK nodi, in verde nel grafo. Il verificatore prende le coppie di nodi di SS, come (v1,v2)(v_1, v_2) e (v1,v3)(v_1, v_3), e controlla che nessuna sia un arco. Le coppie sono meno di K2K^2, quindi basta tempo polinomiale e INDEPENDENT SET sta in NP.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NP

Dove: dispensa cap. 13, p. 42

corollario

Corollario: CLIQUE e NODE COVER sono NP-completi

★ chiesto in 8 domandedimostrato nel corso

CLIQUE e NODE COVER sono NP-completi.

Idea, frase per l'esame e dimostrazione +

Intuizione

Una cricca di GG è un insieme indipendente del grafo complementare; II è indipendente se e solo se V−IV - I è una copertura dei nodi.

All'esame

CLIQUE è il problema NP-completo più usato negli esercizi sulle riduzioni.

Da scrivere all'esame

CLIQUE e NODE COVER sono NP-completi: una cricca di GG è un insieme indipendente del grafo complementare, e II è indipendente se e solo se V−IV - I è una copertura dei nodi.

Dimostrazione illustrata

1 / 4
Parti da INDEPENDENT SET. INDEPENDENT SET chiede se G ha K nodi senza archi fra loro, ed è NP-completo. Nel ciclo di quattro nodi del disegno S = 1, 3 è indipendente, con |S| = 2, perché 1 e 3 non sono collegati. Per CLIQUE e NODE COVER basta riscrivere un'istanza come questa, senza costruire gadget nuovi da 3SAT.
1. Parti da INDEPENDENT SET

INDEPENDENT SET chiede se GG ha KK nodi senza archi fra loro, ed è NP-completo. Nel ciclo di quattro nodi del disegno S={1,3}S = \{1, 3\} è indipendente, con ∣S∣=2|S| = 2, perché 1 e 3 non sono collegati. Per CLIQUE e NODE COVER basta riscrivere un'istanza come questa, senza costruire gadget nuovi da 3SAT.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F02 n. 3 · F04 n. 1 · F04 n. 2 · F07 n. 6 · L18 n. 6 · G20v4 n. 7 · ND n. 6 · SP n. 4

Classi

NP

Problemi

CLIQUE · NODE COVER

Dove: dispensa cap. 13, p. 44

teorema

TSP(D) è NP-completo

chiesto in 5 domandedimostrato nel corso

Data una matrice delle distanze tra nn città e un budget BB, decidere se esiste un giro di tutte le città di costo al più BB è NP-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

Ogni nodo del grafo diventa una città, a distanza 1 se c'è l'arco e 2 se non c'è: un giro di costo nn esiste se e solo se il grafo ha un ciclo hamiltoniano.

All'esame

Problema NP-completo ricorrente; servono solo distanze 1 e 2, quindi è NP-completo in senso forte.

Da scrivere all'esame

TSP(D) è NP-completo, anche in senso forte: HAMILTON CYCLE vi si riduce con distanza 1 sugli archi, 2 altrove e budget B=nB = n.

Dimostrazione illustrata

1 / 4
Controlla un giro. Il certificato è un giro, cioè un ordine v₁, …, v_n delle città che alla fine torna alla prima, come nel disegno. Il verificatore controlla che ogni città compaia una volta, somma le n distanze d(vᵢ, vᵢ₊₁), con v_(n+1) = v₁ per la tratta di ritorno, e confronta il costo con B. Sono controlli polinomiali, quindi TSP(D) sta in NP.
1. Controlla un giro

Il certificato è un giro, cioè un ordine v1,…,vnv_1, \dots, v_n delle città che alla fine torna alla prima, come nel disegno. Il verificatore controlla che ogni città compaia una volta, somma le nn distanze d(vi,vi+1)d(v_i, v_{i+1}), con vn+1=v1v_{n+1} = v_1 per la tratta di ritorno, e confronta il costo con BB. Sono controlli polinomiali, quindi TSP(D) sta in NP.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F03 n. 2 · F08 n. 7 · F14 n. 2 · F14 n. 4 · F14 n. 7

Classi

NP

Dove: dispensa cap. 13, p. 44

teorema

3-COLORING è NP-completo (2-COLORING∈P\mathrm{2\text{-}COLORING} \in \htmlData{term=P}{\mathrm{P}})

★ chiesto in 10 domandedimostrato nel corso

Decidere se un grafo si colora con 3 colori senza nodi adiacenti dello stesso colore è NP-completo; con 2 colori il problema è in P.

Idea, frase per l'esame e dimostrazione +

Intuizione

Riduzione da 3SAT con due gadget: uno codifica il valore vero/falso dei letterali, l'altro l'OR di una clausola.

All'esame

Esempio classico del salto da 2 a 3: 2-COLORING in P, 3-COLORING NP-completo.

Da scrivere all'esame

3-COLORING è NP-completo (riduzione da 3SAT con un gadget per i valori di verità e un gadget OR), mentre 2-COLORING è in P.

Dimostrazione illustrata

1 / 5
Controlla i colori. Il certificato assegna un colore a ogni nodo. Il verificatore guarda gli archi uno alla volta e controlla che gli estremi abbiano colori diversi, come nel triangolo del disegno. Il controllo richiede tempo lineare nel numero di archi, quindi 3-COLORING sta in NP.
1. Controlla i colori

Il certificato assegna un colore a ogni nodo. Il verificatore guarda gli archi uno alla volta e controlla che gli estremi abbiano colori diversi, come nel triangolo del disegno. Il controllo richiede tempo lineare nel numero di archi, quindi 3-COLORING sta in NP.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F04 n. 3 · F12 n. 2 · F14 n. 1 · G20v1 n. 4 · MA23 n. 2 · MA23 n. 7 · SE23 n. 6 · LU24 n. 2 · ND n. 1 · ND n. 4

Classi

PNP

Problemi

2-COL · 3-COL

Dove: dispensa cap. 13, p. 44. Che 2-COLORING sia in P è solo affermato, senza prova.

corollario

Corollario: EXACT COVER BY 3-SETS, SET COVERING e SET PACKING sono NP-completi

per l'oraledimostrato nel corso

EXACT COVER BY 3-SETS, SET COVERING e SET PACKING sono NP-completi.

Idea, frase per l'esame e dimostrazione +

Intuizione

Sono tutti generalizzazioni di TRIPARTITE MATCHING: se un caso particolare è difficile, lo è anche il problema generale.

Da scrivere all'esame

EXACT COVER BY 3-SETS, SET COVERING e SET PACKING sono NP-completi perché generalizzano TRIPARTITE MATCHING, che è NP-completo.

Dimostrazione illustrata

1 / 4
Da terne a insiemi. Un'istanza di TRIPARTITE MATCHING diventa un'istanza di EXACT COVER BY 3-SETS. L'universo U contiene tutti gli elementi dei tre insiemi, tenuti distinti, e ogni terna (aᵢ, bᵢ, cᵢ) diventa l'insieme aᵢ, bᵢ, cᵢ. Un matching, cioè n terne senza componenti in comune, è allora fatto di n insiemi disgiunti che coprono i 3n elementi di U: una copertura esatta.
1. Da terne a insiemi

Un'istanza di TRIPARTITE MATCHING diventa un'istanza di EXACT COVER BY 3-SETS. L'universo UU contiene tutti gli elementi dei tre insiemi, tenuti distinti, e ogni terna (ai,bi,ci)(a_i, b_i, c_i) diventa l'insieme {ai,bi,ci}\{a_i, b_i, c_i\}. Un matching, cioè nn terne senza componenti in comune, è allora fatto di nn insiemi disgiunti che coprono i 3n3n elementi di UU: una copertura esatta.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NP

Dove: dispensa cap. 13, p. 47

teorema

KNAPSACK è NP-completo

per l'oraledimostrato nel corso

Dati nn oggetti con peso e valore interi, un limite di peso WW e un obiettivo KK, decidere se si possono scegliere oggetti di peso totale ≤W\le W e valore ≥K\ge K è NP-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

Riduzione da EXACT COVER BY 3-SETS: ogni insieme diventa un numero scritto in base n+1n+1, così le somme non hanno riporti; servono però numeri esponenzialmente grandi.

All'esame

È l'unico NP-completo del capitolo che non lo è in senso forte.

Da scrivere all'esame

KNAPSACK è NP-completo (riduzione da EXACT COVER BY 3-SETS con numeri in base n+1n + 1), ma non in senso forte: la riduzione crea numeri di valore esponenziale.

Dimostrazione illustrata

1 / 3
Controlla un sottoinsieme. Ogni oggetto i ha un peso wᵢ e un valore vᵢ. Il certificato è l'insieme S degli oggetti scelti: il verificatore somma pesi e valori e controlla ∑_(i ∈ S) wᵢ ≤ W e ∑_(i ∈ S) vᵢ ≥ K. Sono n addizioni e due confronti, in tempo polinomiale nella lunghezza dei numeri, quindi KNAPSACK sta in NP.
1. Controlla un sottoinsieme

Ogni oggetto ii ha un peso wiw_i e un valore viv_i. Il certificato è l'insieme SS degli oggetti scelti: il verificatore somma pesi e valori e controlla ∑i∈Swi≤W\sum_{i \in S} w_i \le W e ∑i∈Svi≥K\sum_{i \in S} v_i \ge K. Sono nn addizioni e due confronti, in tempo polinomiale nella lunghezza dei numeri, quindi KNAPSACK sta in NP.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NP

Problemi

KNAPSACK

Dove: dispensa cap. 13, p. 48

proposizione

Proposizione (KNAPSACK in tempo O(nW)O(nW))

per l'oraledimostrato nel corso

Ogni istanza di KNAPSACK si risolve in tempo O(nW)O(nW), dove nn è il numero di oggetti e WW il limite di peso.

Idea, frase per l'esame e dimostrazione +

Intuizione

Programmazione dinamica su una tabella n×Wn \times W; ma WW può essere esponenziale nella lunghezza dell'input (circa nlog⁡Wn \log W), quindi l'algoritmo è solo pseudopolinomiale.

All'esame

Non dimostra P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}: il tempo è polinomiale nel valore dei numeri, non nella loro lunghezza.

Da scrivere all'esame

KNAPSACK si risolve in tempo O(nW)O(nW), ma è un algoritmo pseudopolinomiale (WW è esponenziale nella lunghezza dell'input), quindi non implica P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}.

Dimostrazione illustrata

1 / 4
Definisci il sottoproblema. La tabella ha una riga per ogni i da 0 a n e una colonna per ogni capacità w da 0 a W. La cella D[i, w] contiene il valore massimo che si ottiene scegliendo fra i primi i oggetti con peso totale al più w. La riga 0, evidenziata, è tutta di zeri: senza oggetti il valore è 0 per ogni capacità.
1. Definisci il sottoproblema

La tabella ha una riga per ogni ii da 00 a nn e una colonna per ogni capacità ww da 00 a WW. La cella D[i,w]D[i, w] contiene il valore massimo che si ottiene scegliendo fra i primi ii oggetti con peso totale al più ww. La riga 00, evidenziata, è tutta di zeri: senza oggetti il valore è 00 per ogni capacità.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NP

Problemi

KNAPSACK

Dove: dispensa cap. 13, p. 49

Capitolo 14 · coNP

teorema

VALIDITY è coNP-completo

chiesto in 7 domandedimostrato nel corso

VALIDITY (la formula è vera per ogni assegnazione?) è coNP-completo; lo è anche HAMILTON PATH COMPLEMENT (il grafo non ha cammini hamiltoniani?).

Idea, frase per l'esame e dimostrazione +

Intuizione

Se L∈coNPL \in \htmlData{term=coNP}{\mathrm{coNP}}, il suo complemento si riduce a SAT con una RR; allora R′(x)=¬R(x)R'(x) = \neg R(x) riduce LL a VALIDITY.

All'esame

È il coNP-completo di riferimento: per esempio una riduzione da SAT a VALIDITY esiste solo se NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}.

Da scrivere all'esame

VALIDITY è coNP-completo (se RR riduce L‾\overline{L} a SAT, R′(x)=¬R(x)R'(x) = \neg R(x) riduce LL a VALIDITY), quindi una riduzione da SAT a VALIDITY implicherebbe NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}.

Dimostrazione illustrata

1 / 3
Cerca un controesempio. Una formula φ non è valida se esiste un assegnamento α che la rende falsa, cioè φ(α) = 0 (riquadro rosso). Dato α, basta valutare φ per controllarlo, in tempo polinomiale (riquadro verde). Il complemento di VALIDITY sta quindi in NP, e VALIDITY sta in coNP.
1. Cerca un controesempio

Una formula φ\varphi non è valida se esiste un assegnamento α\alpha che la rende falsa, cioè φ(α)=0\varphi(\alpha) = 0 (riquadro rosso). Dato α\alpha, basta valutare φ\varphi per controllarlo, in tempo polinomiale (riquadro verde). Il complemento di VALIDITY sta quindi in NP, e VALIDITY sta in coNP.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F12 n. 2 · F12 n. 5 · F14 n. 2 · G20v2 n. 3 · LU22 n. 1 · SE23 n. 1 · ND n. 7

Classi

coNP

Dove: dispensa cap. 14, p. 53

proposizione

Proposizione A (riduzioni e complementi)

per l'oraledimostrato nel corso

Se RR è una riduzione da LL a L′L', allora RR è anche una riduzione dal complemento di LL al complemento di L′L'.

Idea, frase per l'esame e dimostrazione +

Intuizione

x∈L  ⟺  R(x)∈L′x \in L \iff R(x) \in L' equivale a x∉L  ⟺  R(x)∉L′x \notin L \iff R(x) \notin L'.

All'esame

Strumento per dimostrare le Proposizioni B, C e D.

Da scrivere all'esame

Per la Proposizione A, una riduzione RR da LL a L′L' è anche una riduzione dal complemento di LL al complemento di L′L'.

Dimostrazione illustrata

1 / 3
Parti dall'equivalenza. La riduzione R porta ogni stringa x (cerchio blu) nella stringa R(x) (cerchio verde). Che sia una riduzione da A a B lo dice la riga sotto: x ∈ A ⇔ R(x) ∈ B. Il "se e solo se" vale nei due versi, quindi R manda le istanze sì in istanze sì e anche le istanze no in istanze no.
1. Parti dall'equivalenza

La riduzione RR porta ogni stringa xx (cerchio blu) nella stringa R(x)R(x) (cerchio verde). Che sia una riduzione da AA a BB lo dice la riga sotto: x∈A  ⟺  R(x)∈Bx \in A \iff R(x) \in B. Il "se e solo se" vale nei due versi, quindi RR manda le istanze sì in istanze sì e anche le istanze no in istanze no.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove: dispensa cap. 14, p. 53

proposizione

Proposizione B (complemento di un NP-completo)

chiesto in 5 domandedimostrato nel corso

Se LL è NP-completo, allora il suo complemento è coNP-completo (e viceversa).

Idea, frase per l'esame e dimostrazione +

Intuizione

Per la Proposizione A le stesse riduzioni funzionano sui complementi.

All'esame

Dà subito problemi coNP-completi: UNSAT, HAMILTON PATH COMPLEMENT, il complemento di TSP(D) e così via.

Da scrivere all'esame

Per la Proposizione B il complemento di un problema NP-completo è coNP-completo (per esempio UNSAT e HAMILTON PATH COMPLEMENT).

Dimostrazione illustrata

1 / 3
Prova l'appartenenza. Dal riquadro verde, B NP-completo, partono due frecce. Essere NP-completo vuol dire in particolare B ∈ NP, e allora il complemento B̄ sta in coNP per definizione. È la prima metà della coNP-completezza di B̄; resta da mostrare che ogni problema di coNP si riduce a lui.
1. Prova l'appartenenza

Dal riquadro verde, BB NP-completo, partono due frecce. Essere NP-completo vuol dire in particolare B∈NPB \in \htmlData{term=NP}{\mathrm{NP}}, e allora il complemento B‾\overline{B} sta in coNP per definizione. È la prima metà della coNP-completezza di B‾\overline{B}; resta da mostrare che ogni problema di coNP si riduce a lui.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F12 n. 2 · F14 n. 2 · G20v2 n. 3 · LU22 n. 1 · ND n. 7

Classi

NPcoNP

Dove: dispensa cap. 14, p. 54

proposizione

Proposizione C (chiusura dei complementi)

per l'oraledimostrato nel corso

Se una classe CC è chiusa rispetto alle riduzioni, anche coC\mathrm{co}C lo è.

Idea, frase per l'esame e dimostrazione +

Intuizione

Si applica la chiusura di CC ai complementi, usando la Proposizione A.

All'esame

Per esempio coNP è chiusa rispetto alle riduzioni perché lo è NP.

Da scrivere all'esame

Per la Proposizione C, se una classe C\mathcal{C} è chiusa rispetto alle riduzioni lo è anche coC\mathrm{co}\mathcal{C} (per esempio coNP, perché NP lo è).

Dimostrazione illustrata

1 / 3
Parti da un problema di coC. Per mostrare che coC è chiusa si prende B ∈ coC e un problema A che si riduce a B con R (riga in basso), e bisogna arrivare ad A ∈ coC. La freccia in alto è la definizione: B ∈ coC vuol dire che il complemento B̄ sta in C, e su C si può usare l'ipotesi di chiusura.
1. Parti da un problema di coCC

Per mostrare che coC\mathrm{co}C è chiusa si prende B∈coCB \in \mathrm{co}C e un problema AA che si riduce a BB con RR (riga in basso), e bisogna arrivare ad A∈coCA \in \mathrm{co}C. La freccia in alto è la definizione: B∈coCB \in \mathrm{co}C vuol dire che il complemento B‾\overline{B} sta in CC, e su CC si può usare l'ipotesi di chiusura.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NPcoNP

Dove: dispensa cap. 14, p. 54

proposizione

Proposizione D (un CC-completo in coC\mathrm{co}C)

★ chiesto in 18 domandedimostrato nel corso

Se CC è chiusa rispetto alle riduzioni e un problema CC-completo sta in coC\mathrm{co}C, allora C=coCC = \mathrm{co}C.

Idea, frase per l'esame e dimostrazione +

Intuizione

Tutto CC si riduce a quel problema, che sta in coC\mathrm{co}C, chiusa per la Proposizione C: quindi C⊆coCC \subseteq \mathrm{co}C, e per simmetria coC⊆C\mathrm{co}C \subseteq C.

All'esame

Se un problema NP-completo stesse in coNP (o un coNP-completo in NP), allora NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}.

Da scrivere all'esame

Per la Proposizione D, se un problema NP-completo stesse in coNP (o un coNP-completo in NP), allora NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}.

Dimostrazione illustrata

1 / 3
Sfrutta il problema completo. Nel riquadro in alto c'è l'ipotesi: B è C-completo e sta anche in coC. Si suppone inoltre che C sia chiusa rispetto alle riduzioni. Sotto, A è un problema qualsiasi di C, e poiché B è C-completo si riduce a B con una riduzione R.
1. Sfrutta il problema completo

Nel riquadro in alto c'è l'ipotesi: BB è CC-completo e sta anche in coC\mathrm{co}C. Si suppone inoltre che CC sia chiusa rispetto alle riduzioni. Sotto, AA è un problema qualsiasi di CC, e poiché BB è CC-completo si riduce a BB con una riduzione RR.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NPcoNP

Dove: dispensa cap. 14, p. 54

proposizione

Se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}} allora NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}

per l'oraledimostrato nel corso

Se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}, allora anche NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

P è chiusa per complemento: NP=P=coP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=P}{\mathrm{P}} = \mathrm{coP} = \htmlData{term=coNP}{\mathrm{coNP}}.

All'esame

Le risposte "solo se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}" portano con sé anche NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}; il viceversa non è noto.

Da scrivere all'esame

Se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}} allora NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}, perché P è chiusa per complemento: NP=P=coP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=P}{\mathrm{P}} = \mathrm{coP} = \htmlData{term=coNP}{\mathrm{coNP}}.

Dimostrazione illustrata

1 / 3
Assumi P = NP. Dentro l'ellisse vale l'ipotesi P = NP. Ogni problema di NP ha allora un decisore deterministico D che su input x risponde 0 o 1 in tempo polinomiale, poly(n). Il passo successivo usa due proprietà di D: è deterministico e si ferma sempre.
1. Assumi P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}

Dentro l'ellisse vale l'ipotesi P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}. Ogni problema di NP ha allora un decisore deterministico DD che su input xx risponde 00 o 11 in tempo polinomiale, poly(n)\mathrm{poly}(n). Il passo successivo usa due proprietà di DD: è deterministico e si ferma sempre.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PNPcoNP

Dove: dispensa cap. 14, p. 54; slide Lez. 4 (chiusura delle classi deterministiche per complemento)

proposizione

Proposizione P⊆NP∩coNP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}} \cap \htmlData{term=coNP}{\mathrm{coNP}}

chiesto in 6 domandedimostrato nel corso

P⊆NP∩coNP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}} \cap \htmlData{term=coNP}{\mathrm{coNP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Se L∈PL \in \htmlData{term=P}{\mathrm{P}} anche il suo complemento è in P⊆NP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}}, quindi L∈coNPL \in \htmlData{term=coNP}{\mathrm{coNP}}; e L∈P⊆NPL \in \htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}}.

All'esame

Un problema in P ha sia certificati succinti sia squalifiche succinte; esistono problemi in NP∩coNP\htmlData{term=NP}{\mathrm{NP}} \cap \htmlData{term=coNP}{\mathrm{coNP}} non noti in P.

Da scrivere all'esame

P⊆NP∩coNP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}} \cap \htmlData{term=coNP}{\mathrm{coNP}}: ogni problema in P sta in NP e, poiché P è chiusa per complemento, anche in coNP.

Dimostrazione illustrata

1 / 3
Usa il decisore come macchina NP. Il decisore deterministico D si legge come una macchina nondeterministica che a ogni passo ha una sola scelta. Sotto, la catena di stati q₀, q₁ è il suo unico ramo, che finisce con la stessa risposta 0/1 di D. La macchina accetta esattamente quando accetta D, in tempo polinomiale, quindi P ⊆ NP.
1. Usa il decisore come macchina NP

Il decisore deterministico DD si legge come una macchina nondeterministica che a ogni passo ha una sola scelta. Sotto, la catena di stati q0,q1q_0, q_1 è il suo unico ramo, che finisce con la stessa risposta 0/10/1 di DD. La macchina accetta esattamente quando accetta DD, in tempo polinomiale, quindi P⊆NP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=NP}{\mathrm{NP}}.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F02 n. 4 · F03 n. 4 · F07 n. 4 · G20v2 n. 3 · MZ22 n. 1 · ND n. 7

Dove: dispensa cap. 14, p. 55

Capitolo 15 · Problemi di ottimizzazione (DP)

proposizione

EXACT TSP è NP-hard (varianti di TSP)

per l'oraledimostrato nel corso

Le quattro varianti TSP(D), EXACT TSP, TSP COST e TSP si riducono ciascuna alla successiva; in particolare EXACT TSP è NP-hard. Lo si mostra riducendo HAMILTON CYCLE a EXACT TSP (il grafo ha un ciclo hamiltoniano se e solo se il giro ottimo costa esattamente nn).

Idea, frase per l'esame e dimostrazione +

Intuizione

Chi sa trovare il giro ottimo sa anche dire quanto costa, e quindi se costa esattamente BB o al più BB.

All'esame

EXACT TSP non sembra stare né in NP né in coNP: è il problema che motiva la classe DP.

Da scrivere all'esame

EXACT TSP è NP-hard: con distanze 1 sugli archi e 2 altrove, GG ha un ciclo hamiltoniano se e solo se il giro ottimo costa esattamente nn.

Dimostrazione illustrata

1 / 4
Dal grafo alle città. A sinistra il grafo G, a destra l'istanza di EXACT TSP: una città per nodo e una distanza w(u, v) per ogni coppia. Le linee piene, gli archi di G, valgono 1; quelle tratteggiate in rosa, le coppie senza arco, valgono 2. Il valore 2 serve solo a rendere ogni coppia senza arco più cara di un arco.
1. Dal grafo alle città

A sinistra il grafo GG, a destra l'istanza di EXACT TSP: una città per nodo e una distanza w(u,v)w(u, v) per ogni coppia. Le linee piene, gli archi di GG, valgono 11; quelle tratteggiate in rosa, le coppie senza arco, valgono 22. Il valore 22 serve solo a rendere ogni coppia senza arco più cara di un arco.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

NPDP

Dove: dispensa cap. 15, p. 58; slide Lez. 9

teorema

SAT-UNSAT è DP-completo

chiesto in 2 domandedimostrato nel corso

Date due formule φ\varphi e φ′\varphi' in CNF con 3 letterali per clausola, decidere se φ\varphi è soddisfacibile e φ′\varphi' no è DP-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

Sta in DP perché è l'intersezione di un problema NP (φ\varphi soddisfacibile) e di uno coNP (φ′\varphi' insoddisfacibile); per la difficoltà, se L=L1∩L2L = L_1 \cap L_2 si usa R(x)=(R1(x),R2(x))R(x) = (R_1(x), R_2(x)) con le riduzioni a SAT.

All'esame

È il DP-completo di riferimento: per esempio SAT-UNSAT si riduce a QSAT3\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_3 perché DP⊆Δ2P⊆Σ2P⊆Σ3P\htmlData{term=DP}{\mathrm{DP}} \subseteq \htmlData{term=Δ2}{\Delta_2^{\mathrm{P}}} \subseteq \htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}} \subseteq \htmlData{term=Σ3}{\Sigma_3^{\mathrm{P}}}.

Da scrivere all'esame

SAT-UNSAT è DP-completo e DP⊆Δ2P⊆Σ2P∩Π2P\htmlData{term=DP}{\mathrm{DP}} \subseteq \htmlData{term=Δ2}{\Delta_2^{\mathrm{P}}} \subseteq \htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}} \cap \htmlData{term=Π2}{\Pi_2^{\mathrm{P}}}: quindi si riduce a ogni problema ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}- o ΠiP\Pi_i^{\htmlData{term=P}{\mathrm{P}}}-completo con i≥2i \ge 2 (per esempio QSAT3\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_3).

Dimostrazione illustrata

1 / 4
Separa le due condizioni. Un'istanza è una coppia di formule (φ, ψ), e la risposta è sì quando φ è soddisfacibile e ψ no. Le due frecce separano le condizioni: la prima è un controllo NP, con certificato un assegnamento che soddisfa φ; la seconda è un controllo coNP. SAT-UNSAT è l'intersezione dei due linguaggi, quindi sta in DP.
1. Separa le due condizioni

Un'istanza è una coppia di formule (φ,ψ)(\varphi, \psi), e la risposta è sì quando φ\varphi è soddisfacibile e ψ\psi no. Le due frecce separano le condizioni: la prima è un controllo NP, con certificato un assegnamento che soddisfa φ\varphi; la seconda è un controllo coNP. SAT-UNSAT è l'intersezione dei due linguaggi, quindi sta in DP.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F07 n. 2 · GE23 n. 5

Classi

DP

Problemi

SAT-UNSAT

Dove: dispensa cap. 15, p. 59; slide Lez. 9

Capitolo 16 · Macchine con oracolo

proposizione

Proposizione (oracoli NP-completi equivalenti)

per l'oraledimostrato nel corso

Per ogni linguaggio LL NP-completo, PL=PSAT\htmlData{term=P}{\mathrm{P}}^L = \htmlData{term=P}{\mathrm{P}}^{\htmlData{term=problem:SAT}{\mathrm{SAT}}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Ogni domanda all'oracolo LL si traduce con una riduzione in una domanda a SAT, e viceversa, con costo polinomiale.

All'esame

Per questo si scrive PNP\htmlData{term=P}{\mathrm{P}}^{\htmlData{term=NP}{\mathrm{NP}}}, NPNP\htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=NP}{\mathrm{NP}}}, EXPNP\htmlData{term=EXP}{\mathrm{EXP}}^{\htmlData{term=NP}{\mathrm{NP}}} invece di PSAT\htmlData{term=P}{\mathrm{P}}^{\htmlData{term=problem:SAT}{\mathrm{SAT}}}, NPTSP(D)\htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=problem:TSPD}{\mathrm{TSP(D)}}}, EXPCLIQUE\htmlData{term=EXP}{\mathrm{EXP}}^{\htmlData{term=problem:CLIQUE}{\mathrm{CLIQUE}}}.

Da scrivere all'esame

Per ogni LL NP-completo PL=PSAT=PNP\htmlData{term=P}{\mathrm{P}}^L = \htmlData{term=P}{\mathrm{P}}^{\htmlData{term=problem:SAT}{\mathrm{SAT}}} = \htmlData{term=P}{\mathrm{P}}^{\htmlData{term=NP}{\mathrm{NP}}}: le domande all'oracolo si traducono con una riduzione polinomiale, quindi conta solo la classe dell'oracolo.

Dimostrazione illustrata

1 / 3
Traduci le domande verso L. Per simulare una macchina con oracolo SAT usando l'oracolo L, ogni domanda "φ ∈ SAT?" passa per la riduzione polinomiale da SAT a L, che esiste perché L è NP-completo. Ne esce la stringa x da chiedere a L, con la stessa risposta: φ ∈ SAT ⇔ x ∈ L. Questo dà P^(SAT) ⊆ P^L.
1. Traduci le domande verso LL

Per simulare una macchina con oracolo SAT usando l'oracolo LL, ogni domanda "φ∈SAT\varphi \in \htmlData{term=problem:SAT}{\mathrm{SAT}}?" passa per la riduzione polinomiale da SAT a LL, che esiste perché LL è NP-completo. Ne esce la stringa xx da chiedere a LL, con la stessa risposta: φ∈SAT  ⟺  x∈L\varphi \in \htmlData{term=problem:SAT}{\mathrm{SAT}} \iff x \in L. Questo dà PSAT⊆PL\htmlData{term=P}{\mathrm{P}}^{\htmlData{term=problem:SAT}{\mathrm{SAT}}} \subseteq \htmlData{term=P}{\mathrm{P}}^L.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

Δ2P

Problemi

SAT

Dove: dispensa cap. 16, p. 63; slide Lez. 9

proposizione

Proposizione CD=CcoDC^D = C^{\mathrm{co}D}

per l'oraledimostrato nel corso

Per ogni classe CC e ogni classe di oracoli DD: CD=CcoDC^D = C^{\mathrm{co}D}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Basta scambiare gli stati qYESq_{\mathrm{YES}} e qNOq_{\mathrm{NO}}: l'oracolo è una scatola nera che risponde in un passo.

All'esame

Per questo non si scrivono PcoNP\htmlData{term=P}{\mathrm{P}}^{\htmlData{term=coNP}{\mathrm{coNP}}} o NPcoNP\htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=coNP}{\mathrm{coNP}}}: per esempio NPcoNP=NPNP=Σ2P\htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=coNP}{\mathrm{coNP}}} = \htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=NP}{\mathrm{NP}}} = \htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}}.

Da scrivere all'esame

CD=CcoD\mathcal{C}^{\mathcal{D}} = \mathcal{C}^{\mathrm{co}\mathcal{D}} (basta scambiare qYESq_{\mathrm{YES}} e qNOq_{\mathrm{NO}}): per esempio NPcoNP=NPNP=Σ2P\htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=coNP}{\mathrm{coNP}}} = \htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=NP}{\mathrm{NP}}} = \htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}}.

Dimostrazione illustrata

1 / 3
Cambia soltanto l'oracolo. A sinistra la macchina M^D manda la domanda x all'oracolo D e riceve yes o no. A destra c'è la stessa situazione con l'oracolo complementare D̄. L'oracolo è una scatola nera: la macchina scrive x e al passo dopo si trova nello stato q_(YES) o q_(NO).
1. Cambia soltanto l'oracolo

A sinistra la macchina MDM^D manda la domanda xx all'oracolo DD e riceve yes o no. A destra c'è la stessa situazione con l'oracolo complementare D‾\overline{D}. L'oracolo è una scatola nera: la macchina scrive xx e al passo dopo si trova nello stato qYESq_{\mathrm{YES}} o qNOq_{\mathrm{NO}}.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

Δ2PΣ2P

Dove: dispensa cap. 16, p. 63; slide Lez. 9

proposizione

Oracoli inutili e DP⊆PNP\htmlData{term=DP}{\mathrm{DP}} \subseteq \htmlData{term=P}{\mathrm{P}}^{\htmlData{term=NP}{\mathrm{NP}}}

★ chiesto in 10 domandedimostrato nel corso

PP=P\htmlData{term=P}{\mathrm{P}}^{\htmlData{term=P}{\mathrm{P}}} = \htmlData{term=P}{\mathrm{P}} e NPP=NP\htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=P}{\mathrm{P}}} = \htmlData{term=NP}{\mathrm{NP}}; inoltre DP⊆PNP\htmlData{term=DP}{\mathrm{DP}} \subseteq \htmlData{term=P}{\mathrm{P}}^{\htmlData{term=NP}{\mathrm{NP}}}. Non si sa se NPNP=NP\htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=NP}{\mathrm{NP}}} = \htmlData{term=NP}{\mathrm{NP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Un oracolo in P si esegue "in linea" con costo polinomiale; una domanda NP e una coNP si risolvono con due chiamate a un oracolo NP.

All'esame

Colloca DP dentro Δ2P=PNP\htmlData{term=Δ2}{\Delta_2^{\mathrm{P}}} = \htmlData{term=P}{\mathrm{P}}^{\htmlData{term=NP}{\mathrm{NP}}}, per esempio per le riduzioni da SAT-UNSAT verso i livelli più alti di PH.

Da scrivere all'esame

PP=P\htmlData{term=P}{\mathrm{P}}^{\htmlData{term=P}{\mathrm{P}}} = \htmlData{term=P}{\mathrm{P}} e NPP=NP\htmlData{term=NP}{\mathrm{NP}}^{\htmlData{term=P}{\mathrm{P}}} = \htmlData{term=NP}{\mathrm{NP}} (oracolo eseguito in linea); DP⊆PNP=Δ2P⊆Σ2P∩Π2P\htmlData{term=DP}{\mathrm{DP}} \subseteq \htmlData{term=P}{\mathrm{P}}^{\htmlData{term=NP}{\mathrm{NP}}} = \htmlData{term=Δ2}{\Delta_2^{\mathrm{P}}} \subseteq \htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}} \cap \htmlData{term=Π2}{\Pi_2^{\mathrm{P}}}, perché bastano due domande a un oracolo NP.

Dimostrazione illustrata

1 / 4
Sostituisci l'oracolo polinomiale. A sinistra M^A manda la domanda x all'oracolo A, che sta in P. A destra M' non ha oracolo: esegue da sé il decisore polinomiale di A su x, come sottoprogramma, e prosegue con la risposta. Le domande sono al più p(n), lunghe al più p(n), e se il decisore costa q(m) il totale resta polinomiale, p(n) + p(n) · q(p(n)).
1. Sostituisci l'oracolo polinomiale

A sinistra MAM^A manda la domanda xx all'oracolo AA, che sta in P. A destra M′M' non ha oracolo: esegue da sé il decisore polinomiale di AA su xx, come sottoprogramma, e prosegue con la risposta. Le domande sono al più p(n)p(n), lunghe al più p(n)p(n), e se il decisore costa q(m)q(m) il totale resta polinomiale, p(n)+p(n)⋅q(p(n))p(n) + p(n) \cdot q(p(n)).

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PNPDPΔ2P

Dove: dispensa cap. 16, p. 63; slide Lez. 9

Capitolo 17 · Gerarchia polinomiale

teorema

Teorema 17.8 (certificati per ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}})

per l'oraledimostrato nel corso

Per ogni i≥1i \ge 1, L∈ΣiPL \in \Sigma_i^{\htmlData{term=P}{\mathrm{P}}} se e solo se esiste una relazione RR polinomialmente bilanciata, con {x;y:(x,y)∈R}\{x;y : (x, y) \in R\} in Πi−1P\Pi_{i-1}^{\htmlData{term=P}{\mathrm{P}}}, tale che L={x:esiste y con (x,y)∈R}L = \{x : \text{esiste } y \text{ con } (x, y) \in R\}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Ogni livello aggiunge un "esiste" davanti a un controllo del livello di sotto; per i=1i = 1 è la Proposizione 9.1 su NP.

All'esame

È la base della prova del collasso (Teorema 17.9) e dell'appartenenza di QSATi\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_i a ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}.

Da scrivere all'esame

Per il Teorema 17.8, L∈ΣiPL \in \Sigma_i^{\htmlData{term=P}{\mathrm{P}}} sse L={x:∃y (x,y)∈R}L = \{x : \exists y\ (x, y) \in R\} con RR polinomialmente bilanciata e verificabile in Πi−1P\Pi_{i-1}^{\htmlData{term=P}{\mathrm{P}}}.

Dimostrazione illustrata

1 / 4
Leggi la caratterizzazione. L sta in Σᵢᴾ se e solo se x ∈ L equivale a "esiste y con |y| ≤ p(|x|) e R(x, y)", con il controllo R in Πᵢ₋₁ᴾ. Nel disegno y è il riquadro tratteggiato fra x e R, e la graffa sotto ne limita la lunghezza. Per i = 1 il controllo sta in Π₀ᴾ = P e si ritrova la caratterizzazione di NP con i certificati.
1. Leggi la caratterizzazione

LL sta in ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}} se e solo se x∈Lx \in L equivale a "esiste yy con ∣y∣≤p(∣x∣)|y| \le p(|x|) e R(x,y)R(x, y)", con il controllo RR in Πi−1P\Pi_{i-1}^{\htmlData{term=P}{\mathrm{P}}}. Nel disegno yy è il riquadro tratteggiato fra xx e RR, e la graffa sotto ne limita la lunghezza. Per i=1i = 1 il controllo sta in Π0P=P\Pi_0^{\mathrm{P}} = \htmlData{term=P}{\mathrm{P}} e si ritrova la caratterizzazione di NP con i certificati.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

ΣiPΠiP

Dove: dispensa cap. 17, p. 64; slide Lez. 9. La dispensa omette la prova; le slide la danno per induzione su ii.

corollario

Corollario 1 del Teorema 17.8 (certificati per ΠiP\Pi_i^{\htmlData{term=P}{\mathrm{P}}})

per l'oraledimostrato nel corso

Per ogni i≥1i \ge 1, L∈ΠiPL \in \Pi_i^{\htmlData{term=P}{\mathrm{P}}} se e solo se esiste una relazione RR polinomialmente bilanciata, con {x;y:(x,y)∈R}\{x;y : (x, y) \in R\} in Σi−1P\Sigma_{i-1}^{\htmlData{term=P}{\mathrm{P}}}, tale che L={x:per ogni y con ∣y∣≤∣x∣k, (x,y)∈R}L = \{x : \text{per ogni } y \text{ con } |y| \le |x|^k,\ (x, y) \in R\}.

Idea, frase per l'esame e dimostrazione +

Intuizione

ΠiP=coΣiP\Pi_i^{\htmlData{term=P}{\mathrm{P}}} = \mathrm{co}\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}: complementando, "esiste" diventa "per ogni".

Da scrivere all'esame

Per il Corollario 1 del Teorema 17.8, L∈ΠiPL \in \Pi_i^{\htmlData{term=P}{\mathrm{P}}} sse L={x:∀y (x,y)∈R}L = \{x : \forall y\ (x, y) \in R\} con RR polinomialmente bilanciata e verificabile in Σi−1P\Sigma_{i-1}^{\htmlData{term=P}{\mathrm{P}}}.

Dimostrazione illustrata

1 / 3
Parti dal complemento. Πᵢᴾ è la classe dei complementi dei linguaggi di Σᵢᴾ. Nel disegno L̄ sta dentro Σᵢᴾ, e questo basta per dire L ∈ Πᵢᴾ. La prova applica il Teorema 17.8 a L̄ e poi nega la frase che ottiene.
1. Parti dal complemento

ΠiP\Pi_i^{\htmlData{term=P}{\mathrm{P}}} è la classe dei complementi dei linguaggi di ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}. Nel disegno L‾\overline{L} sta dentro ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}, e questo basta per dire L∈ΠiPL \in \Pi_i^{\htmlData{term=P}{\mathrm{P}}}. La prova applica il Teorema 17.8 a L‾\overline{L} e poi nega la frase che ottiene.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

ΣiPΠiP

Dove: dispensa cap. 17, p. 64; slide Lez. 9

corollario

Corollario 2 del Teorema 17.8 (forma con i quantificatori)

chiesto in 1 domandadimostrato nel corso

Per ogni i≥1i \ge 1, L∈ΣiPL \in \Sigma_i^{\htmlData{term=P}{\mathrm{P}}} se e solo se esiste una relazione RR polinomialmente bilanciata e decidibile in tempo polinomiale tale che L={x:∃y1∀y2∃y3…Qyi con (x,y1,…,yi)∈R}L = \{x : \exists y_1 \forall y_2 \exists y_3 \ldots Q y_i \text{ con } (x, y_1, \ldots, y_i) \in R\}, dove QQ è ∃\exists se ii è dispari e ∀\forall se ii è pari.

Idea, frase per l'esame e dimostrazione +

Intuizione

Il livello di un problema nella gerarchia è il numero di alternanze di quantificatori davanti a un controllo polinomiale.

All'esame

Si usa per collocare un problema in ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}} contando i quantificatori, e per mostrare che QSATi∈ΣiP\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_i \in \Sigma_i^{\htmlData{term=P}{\mathrm{P}}}.

Da scrivere all'esame

Per il Corollario 2 del Teorema 17.8, L∈ΣiPL \in \Sigma_i^{\htmlData{term=P}{\mathrm{P}}} sse L={x:∃y1 ∀y2…Qyi R(x,y1,…,yi)}L = \{x : \exists y_1\, \forall y_2 \dots Q y_i\ R(x, y_1, \dots, y_i)\} con RR polinomiale: il livello è il numero di alternanze.

Dimostrazione illustrata

1 / 4
Parti dal primo certificato. Per il Teorema 17.8, L ∈ Σᵢᴾ se e solo se esiste un certificato y con |y| ≤ p(|x|) tale che la coppia (x, y) supera un controllo R₁ di Πᵢ₋₁ᴾ. Nel riquadro verde c'è questo ∃ y; in quello viola il controllo che resta, un livello più in basso.
1. Parti dal primo certificato

Per il Teorema 17.8, L∈ΣiPL \in \Sigma_i^{\htmlData{term=P}{\mathrm{P}}} se e solo se esiste un certificato yy con ∣y∣≤p(∣x∣)|y| \le p(|x|) tale che la coppia (x,y)(x, y) supera un controllo R1R_1 di Πi−1P\Pi_{i-1}^{\htmlData{term=P}{\mathrm{P}}}. Nel riquadro verde c'è questo ∃y\exists y; in quello viola il controllo che resta, un livello più in basso.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

G20v3 n. 2

Dove: dispensa cap. 17, p. 65; slide Lez. 9

teorema

Teorema 17.9 (collasso di PH)

★ chiesto in 23 domandedimostrato nel corso

Se per qualche i≥1i \ge 1 vale ΣiP=ΠiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}} = \Pi_i^{\htmlData{term=P}{\mathrm{P}}}, allora per ogni j>ij \gt i: ΣjP=ΠjP=ΔjP=ΣiP\Sigma_j^{\htmlData{term=P}{\mathrm{P}}} = \Pi_j^{\htmlData{term=P}{\mathrm{P}}} = \Delta_j^{\htmlData{term=P}{\mathrm{P}}} = \Sigma_i^{\htmlData{term=P}{\mathrm{P}}}, cioè la gerarchia polinomiale collassa al livello ii.

Idea, frase per l'esame e dimostrazione +

Intuizione

Basta mostrare Σi+1P=ΣiP\Sigma_{i+1}^{\htmlData{term=P}{\mathrm{P}}} = \Sigma_i^{\htmlData{term=P}{\mathrm{P}}}: due "esiste" consecutivi si fondono in uno solo, poi si ripete salendo.

All'esame

È lo strumento delle risposte "solo se PH collassa": per esempio una riduzione da QSATi\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_i al suo complemento esiste solo se PH collassa al livello ii.

Da scrivere all'esame

Per il Teorema 17.9, se ΣiP=ΠiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}} = \Pi_i^{\htmlData{term=P}{\mathrm{P}}} allora PH collassa al livello ii: per esempio una riduzione da QSATi\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_i al suo complemento esiste solo se PH collassa al livello ii.

Dimostrazione illustrata

1 / 5
Assumi l'uguaglianza al livello i. Il riquadro rosa è l'ipotesi del teorema: per un certo i ≥ 1, Σᵢᴾ = Πᵢᴾ. Non si sa se valga per qualche i, per questo il risultato è condizionale: dice che cosa succede a tutta la gerarchia sopra il livello i se l'uguaglianza vale.
1. Assumi l'uguaglianza al livello ii

Il riquadro rosa è l'ipotesi del teorema: per un certo i≥1i \ge 1, ΣiP=ΠiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}} = \Pi_i^{\htmlData{term=P}{\mathrm{P}}}. Non si sa se valga per qualche ii, per questo il risultato è condizionale: dice che cosa succede a tutta la gerarchia sopra il livello ii se l'uguaglianza vale.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove: dispensa cap. 17, p. 65; slide Lez. 9

corollario

Corollario (collasso al primo livello)

★ chiesto in 10 domandedimostrato nel corso

Se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}, o anche solo NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}, la gerarchia polinomiale collassa al primo livello.

Idea, frase per l'esame e dimostrazione +

Intuizione

È il Teorema 17.9 con i=1i = 1.

All'esame

Senza una prova di P≠NP\htmlData{term=P}{\mathrm{P}} \neq \htmlData{term=NP}{\mathrm{NP}} non si può dimostrare che PH sia davvero una gerarchia; serve per le risposte "solo se NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}".

Da scrivere all'esame

Se NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}} (in particolare se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}) allora, per il Teorema 17.9 con i=1i = 1, PH collassa al primo livello: PH=NP\htmlData{term=PH}{\mathrm{PH}} = \htmlData{term=NP}{\mathrm{NP}}.

Dimostrazione illustrata

1 / 3
Usa l'ipotesi NP = coNP. Le due etichette in basso traducono l'ipotesi nel linguaggio della gerarchia: NP è Σ₁ᴾ e coNP è Π₁ᴾ. Dire NP = coNP è quindi l'ipotesi del Teorema 17.9 con i = 1, e il teorema si applica senza altri passaggi.
1. Usa l'ipotesi NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}}

Le due etichette in basso traducono l'ipotesi nel linguaggio della gerarchia: NP è Σ1P\htmlData{term=Σ1}{\Sigma_1^{\mathrm{P}}} e coNP è Π1P\htmlData{term=Π1}{\Pi_1^{\mathrm{P}}}. Dire NP=coNP\htmlData{term=NP}{\mathrm{NP}} = \htmlData{term=coNP}{\mathrm{coNP}} è quindi l'ipotesi del Teorema 17.9 con i=1i = 1, e il teorema si applica senza altri passaggi.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F03 n. 1 · F03 n. 7 · F04 n. 1 · F04 n. 7 · F12 n. 2 · F12 n. 5 · F14 n. 2 · G20v1 n. 4 · LU22 n. 7 · ND n. 6

Classi

PNPcoNPPH

Dove: dispensa cap. 17, p. 66; slide Lez. 9

teorema

Teorema (CIRC SAT e CIRC VALIDITY)

chiesto in 3 domandedimostrato nel corso

Nella logica della Circumscription, decidere se un modello di KB soddisfa φ\varphi (CIRC SAT) è Σ2P\htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}}-completo; decidere se KB⊨Mφ\mathit{KB} \models_M \varphi (CIRC VALIDITY) è Π2P\htmlData{term=Π2}{\Pi_2^{\mathrm{P}}}-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

È SAT più una minimizzazione degli "anormali": esiste un modello tale che nessun altro modello è più normale, cioè ∃∀\exists\forall, secondo livello.

All'esame

Esempio di problema completo al 2° livello: CLIQUE si riduce a CIRC SAT, mentre il contrario farebbe collassare PH al primo livello.

Da scrivere all'esame

CIRC SAT è Σ2P\htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}}-completo (∃\exists un modello, ∀\forall modello più normale): CLIQUE vi si riduce perché NP⊆Σ2P\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}}; il contrario farebbe collassare PH al primo livello.

Dimostrazione illustrata

1 / 6
Indovina il candidato. La macchina per CIRC SAT indovina un assegnamento T, il riquadro verde, e controlla in tempo polinomiale le due spunte: T soddisfa la base KB e la formula φ della domanda. La scelta di T è il primo quantificatore, un "esiste". Resta da verificare che T sia un modello, cioè che nessun assegnamento sia strettamente più normale.
1. Indovina il candidato

La macchina per CIRC SAT indovina un assegnamento TT, il riquadro verde, e controlla in tempo polinomiale le due spunte: TT soddisfa la base KB\mathit{KB} e la formula φ\varphi della domanda. La scelta di TT è il primo quantificatore, un "esiste". Resta da verificare che TT sia un modello, cioè che nessun assegnamento sia strettamente più normale.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F03 n. 5 · G20v3 n. 1 · G20v4 n. 2

Classi

Σ2PΠ2P

Problemi

SAT · VALIDITY · CIRC SAT

Dove: dispensa cap. 17, pp. 69–70; slide Lez. 9. La dispensa omette la prova (riduzione da QSAT2\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_2); le slide la svolgono per CIRC SAT.

teorema

Teorema 17.10 (QSATi\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_i è ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}-completo)

★ chiesto in 30 domandedimostrato nel corso

Decidere se è vera una QBF ∃X1∀X2∃X3…QXi φ\exists X_1 \forall X_2 \exists X_3 \ldots Q X_i\, \varphi con i blocchi alternati di quantificatori (QSATi\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_i) è ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}-completo; il suo complemento è ΠiP\Pi_i^{\htmlData{term=P}{\mathrm{P}}}-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

Il numero di alternanze di quantificatori coincide con il livello della gerarchia; la difficoltà si mostra come nel Teorema di Cook.

All'esame

Dà un problema completo per ogni livello: QSAT2→QSAT4\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_2 \to \htmlData{term=problem:QSAT}{\mathrm{QSAT}}_4 sì; QSAT4→QSAT2\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_4 \to \htmlData{term=problem:QSAT}{\mathrm{QSAT}}_2 solo se PH collassa al 2° livello.

Da scrivere all'esame

Per il Teorema 17.10 QSATi\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_i è ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}-completo e il complemento ΠiP\Pi_i^{\htmlData{term=P}{\mathrm{P}}}-completo: QSAT2\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_2 si riduce a QSAT4\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_4 (Σ2P⊆Σ4P\htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}} \subseteq \htmlData{term=Σ4}{\Sigma_4^{\mathrm{P}}}); il contrario solo se PH collassa al 2° livello.

Dimostrazione illustrata

1 / 5
Il primo livello è SAT. Con i = 1 c'è un solo blocco, ∃ x₁, …, x_n, e la domanda diventa se esiste un assegnamento delle variabili, il riquadro verde, che rende vera φ. È SAT, e per i = 1 il teorema coincide con il Teorema di Cook-Levin. I livelli più alti aggiungono blocchi alternati davanti alla formula.
1. Il primo livello è SAT

Con i=1i = 1 c'è un solo blocco, ∃x1,…,xn\exists x_1, \ldots, x_n, e la domanda diventa se esiste un assegnamento delle variabili, il riquadro verde, che rende vera φ\varphi. È SAT, e per i=1i = 1 il teorema coincide con il Teorema di Cook-Levin. I livelli più alti aggiungono blocchi alternati davanti alla formula.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

ΣiPΠiP

Problemi

QSATi · co-QSATi

Dove: dispensa cap. 17, p. 70; slide Lez. 9. La dispensa lo chiama solo "Theorem" e omette la prova; il numero 17.10 e la prova vengono dalle slide. Il riepilogo del cap. 22 elenca anche il complemento di QSATi\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_i come ΠiP\Pi_i^{\htmlData{term=P}{\mathrm{P}}}-completo (la barra del complemento si perde nell'estrazione del testo).

teorema

STRATEGIC COMPANIES è Σ2P\htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}}-completo

chiesto in 1 domandadimostrato nel corso

Una società è strategica se appartiene ad almeno un gruppo che produce tutte le merci, include le società controllate dalle società scelte e non può essere ridotto mantenendo queste condizioni. Decidere se una società è strategica è Σ2P\htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}}-completo; il suo complemento è Π2P\htmlData{term=Π2}{\Pi_2^{\mathrm{P}}}-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

"Esiste un insieme C′C' che contiene la società e tale che nessun suo sottoinsieme proprio va bene": un ∃\exists seguito da un ∀\forall, come QSAT2\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_2.

All'esame

Altro problema completo al 2° livello negli esercizi di riduzione (per esempio CLIQUE si riduce al complemento di STRATEGIC COMPANIES perché Σ1P⊆Π2P\htmlData{term=Σ1}{\Sigma_1^{\mathrm{P}}} \subseteq \htmlData{term=Π2}{\Pi_2^{\mathrm{P}}}).

Da scrivere all'esame

STRATEGIC COMPANIES è Σ2P\htmlData{term=Σ2}{\Sigma_2^{\mathrm{P}}}-completo e il complemento Π2P\htmlData{term=Π2}{\Pi_2^{\mathrm{P}}}-completo: CLIQUE si riduce al complemento perché Σ1P⊆Π2P\htmlData{term=Σ1}{\Sigma_1^{\mathrm{P}}} \subseteq \htmlData{term=Π2}{\Pi_2^{\mathrm{P}}}; il contrario farebbe collassare PH al primo livello.

Dimostrazione illustrata

1 / 6
Scegli un gruppo candidato. La macchina indovina un gruppo di società, il riquadro rosso: nel disegno si chiama G ed è l'insieme C' della definizione, da non confondere con l'insieme delle merci. Le frecce portano ai requisiti, tutti controllabili in tempo polinomiale. A sinistra c e le società controllate dal gruppo, che devono starci dentro; a destra le merci, che il gruppo deve produrre tutte.
1. Scegli un gruppo candidato

La macchina indovina un gruppo di società, il riquadro rosso: nel disegno si chiama GG ed è l'insieme C′C' della definizione, da non confondere con l'insieme delle merci. Le frecce portano ai requisiti, tutti controllabili in tempo polinomiale. A sinistra cc e le società controllate dal gruppo, che devono starci dentro; a destra le merci, che il gruppo deve produrre tutte.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

G20v5 n. 2

Classi

Σ2PΠ2P

Dove: dispensa cap. 17, p. 70; dispensa cap. 22, p. 85; slide Lez. 9. La dispensa omette la prova (riduzione da QSAT2\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_2); le slide la svolgono. Nell'esercizio 3 del cap. 17 e nel riepilogo del cap. 22 la versione Π2P\htmlData{term=Π2}{\Pi_2^{\mathrm{P}}}-completa è il complemento (barra persa nell'estrazione del testo).

teorema

Teorema 17.11 (niente problemi PH-completi)

chiesto in 4 domandedimostrato nel corso

Se esistesse un problema PH-completo, la gerarchia polinomiale collasserebbe a un livello finito.

Idea, frase per l'esame e dimostrazione +

Intuizione

Un problema PH-completo starebbe in qualche ΣiP\Sigma_i^{\htmlData{term=P}{\mathrm{P}}}; tutto Σi+1P\Sigma_{i+1}^{\htmlData{term=P}{\mathrm{P}}} si ridurrebbe a lui e, poiché ogni livello è chiuso rispetto alle riduzioni, Σi+1P=ΣiP\Sigma_{i+1}^{\htmlData{term=P}{\mathrm{P}}} = \Sigma_i^{\htmlData{term=P}{\mathrm{P}}}.

All'esame

Serve per le risposte "solo se PH collassa" sui problemi completi per tutta PH.

Da scrivere all'esame

Per il Teorema 17.11 un problema PH-completo farebbe collassare PH a un livello finito: quindi un problema completo per PH (o per PSPACE in PH) esiste solo se PH collassa.

Dimostrazione illustrata

1 / 3
Supponi un problema PH-completo. Sia B un problema PH-completo, il punto verde. PH è l'unione infinita dei livelli impilati nel riquadro, ma un singolo problema sta in uno di essi: B ∈ Σ_kᴾ per un certo k, che da qui in avanti resta fissato.
1. Supponi un problema PH-completo

Sia BB un problema PH-completo, il punto verde. PH è l'unione infinita dei livelli impilati nel riquadro, ma un singolo problema sta in uno di essi: B∈ΣkPB \in \Sigma_k^{\htmlData{term=P}{\mathrm{P}}} per un certo kk, che da qui in avanti resta fissato.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F02 n. 7 · G16 n. 1 · MA23 n. 2 · ND n. 6

Classi

PHΣiP

Dove: dispensa cap. 17, p. 70; slide Lez. 9

proposizione

Proposizione 17.1 (PH⊆PSPACE\htmlData{term=PH}{\mathrm{PH}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}})

★ chiesto in 18 domandedimostrato nel corso

PH⊆PSPACE\htmlData{term=PH}{\mathrm{PH}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Per ogni livello si provano tutti i certificati y1,…,yiy_1, \ldots, y_i uno alla volta riusando lo spazio: sono di lunghezza polinomiale.

All'esame

Ogni problema di PH si riduce a QSAT; non si sa se PH=PSPACE\htmlData{term=PH}{\mathrm{PH}} = \htmlData{term=PSPACE}{\mathrm{PSPACE}}.

Da scrivere all'esame

PH⊆PSPACE\htmlData{term=PH}{\mathrm{PH}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}} (Proposizione 17.1): quindi ogni problema di PH, per esempio QSAT3\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_3, si riduce a QSAT, che è PSPACE-completo.

Dimostrazione illustrata

1 / 3
Scrivi i blocchi di quantificatori. Un problema di PH sta in un livello fissato e, per il Corollario 2 del Teorema 17.8, si scrive con k blocchi alternati Q₁ y₁ … Q_k y_k, ognuno su stringhe di p(n) bit, davanti a un controllo R in tempo polinomiale. La fila di riquadri sotto è lo stesso prefisso, che la macchina tratta da sinistra a destra. Il numero k è fissato dal problema e non cresce con l'input.
1. Scrivi i blocchi di quantificatori

Un problema di PH sta in un livello fissato e, per il Corollario 2 del Teorema 17.8, si scrive con kk blocchi alternati Q1y1…QkykQ_1 y_1 \ldots Q_k y_k, ognuno su stringhe di p(n)p(n) bit, davanti a un controllo RR in tempo polinomiale. La fila di riquadri sotto è lo stesso prefisso, che la macchina tratta da sinistra a destra. Il numero kk è fissato dal problema e non cresce con l'input.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PHPSPACE

Dove: dispensa cap. 17, p. 71; slide Lez. 9. La dispensa la enuncia senza prova; le slide danno la prova (cenni).

corollario

Corollario di 17.11 (PH=PSPACE⇒\htmlData{term=PH}{\mathrm{PH}} = \htmlData{term=PSPACE}{\mathrm{PSPACE}} \Rightarrow collasso)

chiesto in 4 domandedimostrato nel corso

Se PH=PSPACE\htmlData{term=PH}{\mathrm{PH}} = \htmlData{term=PSPACE}{\mathrm{PSPACE}}, allora la gerarchia polinomiale collassa a un livello finito.

Idea, frase per l'esame e dimostrazione +

Intuizione

PSPACE ha problemi completi (QSAT): se PH fosse uguale a PSPACE ne avrebbe anche lei, e per il Teorema 17.11 collasserebbe.

All'esame

Per questo si pensa che PH≠PSPACE\htmlData{term=PH}{\mathrm{PH}} \neq \htmlData{term=PSPACE}{\mathrm{PSPACE}}; per esempio QSAT si riduce a QSAT3\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_3 solo se PH collassa.

Da scrivere all'esame

Se PH=PSPACE\htmlData{term=PH}{\mathrm{PH}} = \htmlData{term=PSPACE}{\mathrm{PSPACE}}, QSAT sarebbe PH-completo e PH collasserebbe (Teorema 17.11): quindi QSAT si riduce a QSAT3\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_3 solo se PH collassa al 3° livello.

Dimostrazione illustrata

1 / 3
Assumi PH = PSPACE. QSAT sta in PSPACE, il riquadro rosa, che per ipotesi è uguale a PH. Allora QSAT sta in PH e quindi in un livello fissato Σ_kᴾ, il riquadro sotto. È il passo che rende l'ipotesi poco credibile: formule con quante alternanze si vuole si deciderebbero con k blocchi di quantificatori, sempre gli stessi.
1. Assumi PH=PSPACE\htmlData{term=PH}{\mathrm{PH}} = \htmlData{term=PSPACE}{\mathrm{PSPACE}}

QSAT sta in PSPACE, il riquadro rosa, che per ipotesi è uguale a PH. Allora QSAT sta in PH e quindi in un livello fissato ΣkP\Sigma_k^{\htmlData{term=P}{\mathrm{P}}}, il riquadro sotto. È il passo che rende l'ipotesi poco credibile: formule con quante alternanze si vuole si deciderebbero con kk blocchi di quantificatori, sempre gli stessi.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F04 n. 1 · F08 n. 3 · L18 n. 1 · G20v4 n. 4

Classi

PHPSPACE

Dove: dispensa cap. 17, p. 71; slide Lez. 9

teorema

QSAT è PSPACE-completo

★ chiesto in 8 domandedimostrato nel corso

Decidere se una QBF qualsiasi (senza limite alle alternanze di quantificatori) è vera è PSPACE-completo.

Idea, frase per l'esame e dimostrazione +

Intuizione

Sta in PSPACE con una valutazione ricorsiva che riusa lo spazio; per la difficoltà si codifica la raggiungibilità sul grafo delle configurazioni con QBF piccole, come il predicato PATH di Savitch.

All'esame

È il PSPACE-completo di riferimento: per esempio QSAT3\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_3 si riduce a QSAT perché Σ3P⊆PSPACE\htmlData{term=Σ3}{\Sigma_3^{\mathrm{P}}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}.

Da scrivere all'esame

QSAT è PSPACE-completo: QSAT3\htmlData{term=problem:QSAT}{\mathrm{QSAT}}_3 si riduce a QSAT perché Σ3P⊆PSPACE\htmlData{term=Σ3}{\Sigma_3^{\mathrm{P}}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}, mentre il contrario implicherebbe PSPACE=Σ3P\htmlData{term=PSPACE}{\mathrm{PSPACE}} = \htmlData{term=Σ3}{\Sigma_3^{\mathrm{P}}} e il collasso di PH.

Dimostrazione illustrata

1 / 5
Valuta un quantificatore. Il nodo in alto è il quantificatore Q xᵢ. L'algoritmo prova xᵢ = 0 e poi xᵢ = 1, valuta il resto della formula e combina i due risultati: con ∃, a sinistra, basta un ramo vero, e infatti T e F danno T; con ∀, a destra, servono tutti e due veri. Il resto della formula si valuta allo stesso modo, una variabile alla volta.
1. Valuta un quantificatore

Il nodo in alto è il quantificatore QxiQ x_i. L'algoritmo prova xi=0x_i = 0 e poi xi=1x_i = 1, valuta il resto della formula e combina i due risultati: con ∃\exists, a sinistra, basta un ramo vero, e infatti T e F danno T; con ∀\forall, a destra, servono tutti e due veri. Il resto della formula si valuta allo stesso modo, una variabile alla volta.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F05 n. 7 · F07 n. 7 · G16 n. 6 · F13 n. 6 · L18 n. 1 · L18 n. 4 · FE23 n. 3 · SE23 n. 3

Classi

PSPACE

Problemi

QSAT

Dove: dispensa cap. 17, p. 71; slide Lez. 9. La dispensa omette la prova; le slide la svolgono.

Capitolo 20 · Crittografia e function problems

proposizione

Proposizione (FSAT e SAT)

per l'oraledimostrato nel corso

FSAT si risolve in tempo polinomiale se e solo se SAT si risolve in tempo polinomiale.

Idea, frase per l'esame e dimostrazione +

Intuizione

Con un algoritmo per SAT si fissano le variabili una alla volta: si prova xi=verox_i = \text{vero} e si chiede se la formula resta soddisfacibile.

All'esame

Trovare una soluzione costa quanto decidere se esiste.

Da scrivere all'esame

Per la Proposizione su FSAT e SAT, FSAT si risolve in tempo polinomiale sse SAT∈P\htmlData{term=problem:SAT}{\mathrm{SAT}} \in \htmlData{term=P}{\mathrm{P}}: con un decisore per SAT si fissano le variabili una alla volta.

Dimostrazione illustrata

1 / 4
Dalla ricerca alla decisione. Il riquadro rosso esegue su φ un algoritmo polinomiale per FSAT, che restituisce un assegnamento a quando la formula è soddisfacibile. Il riquadro blu valuta φ con i valori di a: se risulta vera la risposta è SAT, con la spunta verde. Se la formula non è soddisfacibile nessun a passa il controllo e la risposta è UNSAT. Il tempo è quello dell'algoritmo più una valutazione, quindi SAT sta in P.
1. Dalla ricerca alla decisione

Il riquadro rosso esegue su φ\varphi un algoritmo polinomiale per FSAT, che restituisce un assegnamento aa quando la formula è soddisfacibile. Il riquadro blu valuta φ\varphi con i valori di aa: se risulta vera la risposta è SAT, con la spunta verde. Se la formula non è soddisfacibile nessun aa passa il controllo e la risposta è UNSAT. Il tempo è quello dell'algoritmo più una valutazione, quindi SAT sta in P\htmlData{term=P}{\mathrm{P}}.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PNP

Problemi

SAT

Dove: dispensa cap. 20, p. 81

teorema

Teorema FP=FNP  ⟺  P=NP\mathrm{FP} = \mathrm{FNP} \iff \htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}

chiesto in 4 domandedimostrato nel corso

FP=FNP\mathrm{FP} = \mathrm{FNP} se e solo se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Se FP=FNP\mathrm{FP} = \mathrm{FNP}, FSAT è polinomiale, quindi anche SAT e allora P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}; se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}} i function problems di NP e di P coincidono.

All'esame

Le risposte "solo se FP=FNP\mathrm{FP} = \mathrm{FNP}" equivalgono a "solo se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}".

Da scrivere all'esame

FP=FNP\mathrm{FP} = \mathrm{FNP} sse P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}} (FSAT è FNP-completo e polinomiale sse SAT∈P\htmlData{term=problem:SAT}{\mathrm{SAT}} \in \htmlData{term=P}{\mathrm{P}}), quindi "solo se FP=FNP\mathrm{FP} = \mathrm{FNP}" equivale a "solo se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}".

Dimostrazione illustrata

1 / 4
Da FP = FNP a P = NP. Con l'ipotesi FP = FNP anche FSAT ha un algoritmo polinomiale: è il riquadro verde, che dalla formula φ ricava un certificato y = f(φ). Il riquadro sotto controlla y. Se è valido φ è soddisfacibile, se un certificato non c'è non lo è. Così SAT sta in P, e siccome SAT è NP-completo, ogni problema di NP si riduce a lui e sta anch'esso in P.
1. Da FP=FNP\mathrm{FP} = \mathrm{FNP} a P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}

Con l'ipotesi FP=FNP\mathrm{FP} = \mathrm{FNP} anche FSAT ha un algoritmo polinomiale: è il riquadro verde, che dalla formula φ\varphi ricava un certificato y=f(φ)y = f(\varphi). Il riquadro sotto controlla yy. Se è valido φ\varphi è soddisfacibile, se un certificato non c'è non lo è. Così SAT sta in P\htmlData{term=P}{\mathrm{P}}, e siccome SAT è NP-completo, ogni problema di NP\htmlData{term=NP}{\mathrm{NP}} si riduce a lui e sta anch'esso in P\htmlData{term=P}{\mathrm{P}}.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F03 n. 6 · MZ22 n. 5 · E26 n. 3 · E26 n. 5

Classi

PNP

Dove: dispensa cap. 20, p. 81

Capitolo 21 · Oltre PSPACE

teorema

Teorema 20.1 (padding: P=NP⇒EXP=NEXP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}} \Rightarrow \htmlData{term=EXP}{\mathrm{EXP}} = \htmlData{term=NEXP}{\mathrm{NEXP}})

chiesto in 5 domandedimostrato nel corso

Se P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}}, allora EXP=NEXP\htmlData{term=EXP}{\mathrm{EXP}} = \htmlData{term=NEXP}{\mathrm{NEXP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Si allunga ogni input xx fino a lunghezza 2∣x∣k2^{|x|^k} con simboli di riempimento: il tempo esponenziale diventa polinomiale nella nuova lunghezza, si usa P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}} e poi si torna indietro.

All'esame

Nella forma contronominale: se EXP≠NEXP\htmlData{term=EXP}{\mathrm{EXP}} \neq \htmlData{term=NEXP}{\mathrm{NEXP}} allora P≠NP\htmlData{term=P}{\mathrm{P}} \neq \htmlData{term=NP}{\mathrm{NP}}.

Da scrivere all'esame

Per il Teorema 20.1 (padding) P=NP⇒EXP=NEXP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}} \Rightarrow \htmlData{term=EXP}{\mathrm{EXP}} = \htmlData{term=NEXP}{\mathrm{NEXP}}; quindi, per contronominale, se EXP≠NEXP\htmlData{term=EXP}{\mathrm{EXP}} \neq \htmlData{term=NEXP}{\mathrm{NEXP}} allora P≠NP\htmlData{term=P}{\mathrm{P}} \neq \htmlData{term=NP}{\mathrm{NP}}.

Dimostrazione illustrata

1 / 4
Prendi L in NEXP. Il cerchio grande è NEXP e dentro c'è un linguaggio L, deciso da una macchina nondeterministica M in tempo 2^(p(n)), con p polinomio e n = |x|. Le frecce tratteggiate che escono da M sono i rami della computazione su x, lunghi fino a 2^(p(n)) passi. L'ipotesi P = NP parla solo di tempo polinomiale, e su L così com'è non si può usare.
1. Prendi LL in NEXP\htmlData{term=NEXP}{\mathrm{NEXP}}

Il cerchio grande è NEXP\htmlData{term=NEXP}{\mathrm{NEXP}} e dentro c'è un linguaggio LL, deciso da una macchina nondeterministica MM in tempo 2p(n)2^{p(n)}, con pp polinomio e n=∣x∣n = |x|. Le frecce tratteggiate che escono da MM sono i rami della computazione su xx, lunghi fino a 2p(n)2^{p(n)} passi. L'ipotesi P=NP\htmlData{term=P}{\mathrm{P}} = \htmlData{term=NP}{\mathrm{NP}} parla solo di tempo polinomiale, e su LL così com'è non si può usare.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F01 n. 5 · F03 n. 7 · F08 n. 3 · G20v4 n. 4 · E26 n. 5

Dove: dispensa cap. 21, p. 83

Extra · Algoritmi probabilistici e quantistici

teorema

Teorema 11.3 (NP⊆PP\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=PP}{\mathrm{PP}})

chiesto in 3 domandedimostrato nel corso

NP⊆PP\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=PP}{\mathrm{PP}}, dove PP è la classe dei problemi decisi in tempo polinomiale da MdT che accettano a maggioranza dei run.

Idea, frase per l'esame e dimostrazione +

Intuizione

Si trasforma la macchina nondeterministica per LL in una che accetta a maggioranza e risponde come lei.

All'esame

Si pensa che il contrario non valga.

Da scrivere all'esame

NP⊆PP\htmlData{term=NP}{\mathrm{NP}} \subseteq \htmlData{term=PP}{\mathrm{PP}} (Teorema 11.3): aggiungendo metà run che accettano sempre, un solo run accettante basta per la maggioranza; il contrario si pensa che non valga.

Dimostrazione illustrata

1 / 3
Conta i rami accettanti. L'albero è la computazione su x di una macchina di NP standardizzata: p(n) livelli di scelte binarie, 0 a sinistra e 1 a destra, e 2^(p(n)) foglie, una per ramo. Le foglie verdi accettano, quelle rosa rifiutano, e A conta le verdi. In NP la domanda è solo se A > 0, e basta un ramo su 2^(p(n)), mentre PP chiede che accetti più della metà dei rami.
1. Conta i rami accettanti

L'albero è la computazione su xx di una macchina di NP\htmlData{term=NP}{\mathrm{NP}} standardizzata: p(n)p(n) livelli di scelte binarie, 0 a sinistra e 1 a destra, e 2p(n)2^{p(n)} foglie, una per ramo. Le foglie verdi accettano, quelle rosa rifiutano, e AA conta le verdi. In NP\htmlData{term=NP}{\mathrm{NP}} la domanda è solo se A>0A > 0, e basta un ramo su 2p(n)2^{p(n)}, mentre PP\htmlData{term=PP}{\mathrm{PP}} chiede che accetti più della metà dei rami.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F05 n. 2 · G20v2 n. 4 · FE23 n. 2

Classi

NP

Dove: slide Lez. 6. Solo nelle slide, non nella dispensa. PP non è tra le classi della mappa: si indica la classe collegata.

teorema

Teorema (PP⊆PSPACE\htmlData{term=PP}{\mathrm{PP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}})

chiesto in 7 domandedimostrato nel corso

PP⊆PSPACE\htmlData{term=PP}{\mathrm{PP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Una macchina deterministica esegue uno alla volta tutti i 2nc2^{n^c} run, riusando lo spazio, e conta i "yes" e i "no" con contatori di ncn^c bit.

All'esame

Insieme agli altri risultati dà BQP⊆PSPACE\htmlData{term=BQP}{\mathrm{BQP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}.

Da scrivere all'esame

PP⊆PSPACE\htmlData{term=PP}{\mathrm{PP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}: una MdT deterministica prova tutti i run uno alla volta riusando lo spazio e conta i "yes" con contatori binari di ncn^c cifre.

Dimostrazione illustrata

1 / 3
Enumera i lanci casuali. Un run della macchina di PP è fissato dalla stringa r delle sue p(n) scelte binarie. Le foglie dell'albero sono queste stringhe, da 00…0 a 11…1, e il riquadro M sotto ciascuna è il run deterministico che si ottiene fissando quelle scelte. I run sono quindi 2^(p(n)), ciascuno lungo al più p(n) passi.
1. Enumera i lanci casuali

Un run della macchina di PP\htmlData{term=PP}{\mathrm{PP}} è fissato dalla stringa rr delle sue p(n)p(n) scelte binarie. Le foglie dell'albero sono queste stringhe, da 00…000\dots0 a 11…111\dots1, e il riquadro MM sotto ciascuna è il run deterministico che si ottiene fissando quelle scelte. I run sono quindi 2p(n)2^{p(n)}, ciascuno lungo al più p(n)p(n) passi.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F05 n. 5 · F12 n. 3 · F12 n. 7 · G17 n. 5 · G20v3 n. 6 · GE23 n. 2 · LU24 n. 1

Classi

PSPACE

Dove: slide Lez. 6. Solo nelle slide, non nella dispensa.

proposizione

Proposizioni P⊆BPP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=BPP}{\mathrm{BPP}} e BPP⊆PP\htmlData{term=BPP}{\mathrm{BPP}} \subseteq \htmlData{term=PP}{\mathrm{PP}}

chiesto in 3 domandedimostrato nel corso

P⊆BPP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=BPP}{\mathrm{BPP}} e BPP⊆PP\htmlData{term=BPP}{\mathrm{BPP}} \subseteq \htmlData{term=PP}{\mathrm{PP}}.

Idea, frase per l'esame e dimostrazione +

Intuizione

Una MdT deterministica ha un solo run, quindi la risposta giusta ha il 100% dei voti; la maggioranza qualificata di BPP è in particolare una maggioranza semplice.

Da scrivere all'esame

P⊆BPP⊆PP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=BPP}{\mathrm{BPP}} \subseteq \htmlData{term=PP}{\mathrm{PP}}: un run deterministico è il 100% delle risposte, e la maggioranza qualificata (3/43/4) di BPP è in particolare una maggioranza semplice.

Dimostrazione illustrata

1 / 3
Simula P senza casualità. Il riquadro è un algoritmo deterministico polinomiale A per un linguaggio di P. I bit casuali r₁, …, r_(p(n)) gli arrivano con le frecce tratteggiate, ma le croci dicono che A li ignora: dà sempre la stessa risposta, quella giusta. La probabilità di rispondere correttamente è 1, più di quanto chiede BPP, quindi P ⊆ BPP.
1. Simula P\htmlData{term=P}{\mathrm{P}} senza casualità

Il riquadro è un algoritmo deterministico polinomiale AA per un linguaggio di P\htmlData{term=P}{\mathrm{P}}. I bit casuali r1,…,rp(n)r_1, \dots, r_{p(n)} gli arrivano con le frecce tratteggiate, ma le croci dicono che AA li ignora: dà sempre la stessa risposta, quella giusta. La probabilità di rispondere correttamente è 1, più di quanto chiede BPP\htmlData{term=BPP}{\mathrm{BPP}}, quindi P⊆BPP\htmlData{term=P}{\mathrm{P}} \subseteq \htmlData{term=BPP}{\mathrm{BPP}}.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F12 n. 4 · F12 n. 7 · LU22 n. 6

Classi

P

Dove: slide Lez. 6. Solo nelle slide, non nella dispensa. BPP e PP non sono tra le classi della mappa completa: stanno nella mappa della scheda Probabilistiche.

proposizione

Riduzione dell'errore in BPP

chiesto in 6 domandedimostrato nel corso

In BPP la soglia 3/43/4 è convenzionale: con 2k+12k + 1 ripetizioni e voto di maggioranza l'errore scende sotto qualunque ε\varepsilon, con kk che dipende solo da ε\varepsilon (per esempio, partendo da 3/43/4, k=⌈−8ln⁡ε⌉k = \lceil -8 \ln \varepsilon \rceil). In PP invece le ripetizioni necessarie possono essere esponenziali.

Idea, frase per l'esame e dimostrazione +

Intuizione

Con una maggioranza "chiara" ogni ripetizione rende sempre più improbabile che vinca la risposta sbagliata.

All'esame

Distingue BPP (errore riducibile con poche ripetizioni) da PP (nessun metodo noto in tempo polinomiale).

Da scrivere all'esame

In BPP 2k+12k + 1 ripetizioni con voto di maggioranza portano l'errore sotto ε\varepsilon, con k=⌈−8ln⁡ε⌉k = \lceil -8 \ln \varepsilon \rceil costante; in PP il vantaggio può essere esponenzialmente piccolo e le ripetizioni esponenziali.

Dimostrazione illustrata

1 / 4
Ripeti con monete indipendenti. Le copie di A sono esecuzioni dello stesso algoritmo sullo stesso x, ciascuna con bit casuali nuovi, e ognuna risponde 0 o 1. Ciascuna sbaglia con probabilità al più 1/3, come nel disegno, o 1/4 con la soglia 3/4: conta solo che l'errore stia sotto 1/2. Servono scelte nuove perché con le stesse scelte tutte le copie darebbero la stessa risposta.
1. Ripeti con monete indipendenti

Le copie di AA sono esecuzioni dello stesso algoritmo sullo stesso xx, ciascuna con bit casuali nuovi, e ognuna risponde 0 o 1. Ciascuna sbaglia con probabilità al più 1/31/3, come nel disegno, o 1/41/4 con la soglia 3/43/4: conta solo che l'errore stia sotto 1/21/2. Servono scelte nuove perché con le stesse scelte tutte le copie darebbero la stessa risposta.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F07 n. 3 · F08 n. 6 · F14 n. 5 · G20v5 n. 6 · MA23 n. 7 · SP n. 1

Dove: slide Lez. 6. Solo nelle slide, non nella dispensa.

teorema

Teorema BQP⊊2-EXP\htmlData{term=BQP}{\mathrm{BQP}} \subsetneq 2\text{-}\mathrm{EXP}

per l'oraledimostrato nel corso

BQP⊊2-EXP\htmlData{term=BQP}{\mathrm{BQP}} \subsetneq 2\text{-}\mathrm{EXP}: BQP⊆PSPACE⊆EXP\htmlData{term=BQP}{\mathrm{BQP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}} \subseteq \htmlData{term=EXP}{\mathrm{EXP}}, e EXP⊊2-EXP\htmlData{term=EXP}{\mathrm{EXP}} \subsetneq 2\text{-}\mathrm{EXP} per il teorema di gerarchia del tempo.

Idea, frase per l'esame e dimostrazione +

Intuizione

La catena delle inclusioni dimostrate arriva a EXP, che sta strettamente dentro 2-EXP (tempo doppiamente esponenziale).

All'esame

I problemi 2-EXP-completi non si risolvono in tempo polinomiale su un computer quantistico: è un risultato certo, non una congettura.

Da scrivere all'esame

BQP⊆PSPACE⊆EXP⊊2-EXP\htmlData{term=BQP}{\mathrm{BQP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}} \subseteq \htmlData{term=EXP}{\mathrm{EXP}} \subsetneq 2\text{-}\mathrm{EXP}, quindi BQP⊊2-EXP\htmlData{term=BQP}{\mathrm{BQP}} \subsetneq 2\text{-}\mathrm{EXP}: un problema 2-EXP-completo (per esempio il ragionamento su ontologie OWL2) non si risolve in tempo polinomiale nemmeno con un calcolatore quantistico.

Dimostrazione illustrata

1 / 3
Da BQP a PSPACE. La riga in alto mette in fila due teoremi già dimostrati, BQP ⊆ PP e PP ⊆ PSPACE. La freccia fra i riquadri ne dà la conseguenza: un algoritmo quantistico con errore limitato si simula in spazio polinomiale, quindi ogni problema di BQP sta in PSPACE. La prova non usa altre proprietà del calcolo quantistico.
1. Da BQP\htmlData{term=BQP}{\mathrm{BQP}} a PSPACE\htmlData{term=PSPACE}{\mathrm{PSPACE}}

La riga in alto mette in fila due teoremi già dimostrati, BQP⊆PP\htmlData{term=BQP}{\mathrm{BQP}} \subseteq \htmlData{term=PP}{\mathrm{PP}} e PP⊆PSPACE\htmlData{term=PP}{\mathrm{PP}} \subseteq \htmlData{term=PSPACE}{\mathrm{PSPACE}}. La freccia fra i riquadri ne dà la conseguenza: un algoritmo quantistico con errore limitato si simula in spazio polinomiale, quindi ogni problema di BQP\htmlData{term=BQP}{\mathrm{BQP}} sta in PSPACE\htmlData{term=PSPACE}{\mathrm{PSPACE}}. La prova non usa altre proprietà del calcolo quantistico.

Scorri l'immagine o usa Avanti.

Dimostrazione

Classi

PSPACEEXP

Dove: slide Lez. 6. Solo nelle slide, non nella dispensa. BQP e 2-EXP non sono tra le classi della mappa completa: stanno nella mappa della scheda Quantistiche.

proposizione

Proposizione (algoritmo di Grover sui problemi in NP)

chiesto in 4 domandedimostrato nel corso

Ogni problema in NP si risolve con un algoritmo quantistico con errore limitato in tempo O(cnk/2)O(c^{n^k/2}), cioè circa la radice quadrata del tempo della ricerca esaustiva.

Idea, frase per l'esame e dimostrazione +

Intuizione

Grover cerca in una lista non ordinata di mm elementi in circa m\sqrt{m} passi; si applica alla ricerca del certificato.

All'esame

L'accelerazione è solo quadratica: non mette i problemi NP-completi in tempo polinomiale.

Da scrivere all'esame

Con Grover ogni problema in NP si risolve quantisticamente con errore limitato in tempo O(cnk/2)O(c^{n^k/2}): accelerazione solo quadratica, il tempo resta esponenziale.

Dimostrazione illustrata

1 / 5
Descrivi i certificati. Il problema ha input x ∈ 0,1ⁿ, certificati y ∈ 0,1^(p(n)) con p polinomio e un verificatore V(x, y) che lavora in tempo polinomiale. In fondo ci sono tutti i candidati, da 0…0 a 1…1, che sono al più 2^(p(n)). Una macchina classica, nel caso peggiore, li prova tutti, e spende 2^(p(n)) volte il costo di una verifica.
1. Descrivi i certificati

Il problema ha input x∈{0,1}nx \in \{0,1\}^n, certificati y∈{0,1}p(n)y \in \{0,1\}^{p(n)} con pp polinomio e un verificatore V(x,y)V(x, y) che lavora in tempo polinomiale. In fondo ci sono tutti i candidati, da 0…00\dots0 a 1…11\dots1, che sono al più 2p(n)2^{p(n)}. Una macchina classica, nel caso peggiore, li prova tutti, e spende 2p(n)2^{p(n)} volte il costo di una verifica.

Scorri l'immagine o usa Avanti.

Dimostrazione

Dove serve nelle tracce

F03 n. 6 · G20v2 n. 6 · G20v3 n. 5 · SP n. 4

Classi

NP

Problemi

KNAPSACK

Dove: slide Lez. 6. Solo nelle slide (prova accennata per KNAPSACK), non nella dispensa.