dimtip
NFA DFAdelta = E (insieme degli stati raggiunti da ogni stato nel set)
chiusure REGunione nuovo stato con , intersezione prod cartesiano, concat quando arrivo a fine L1 per , star quando ho finito arco verso l’inizio
reg L(re) / regexprimo verso x induzione su casi regex, 2o verso NFA generalizzato + CONVERT(G’)
pumping lemma REGricordati s p+1
DFA to CFGVq + Vq aVp, biiettiva x dimostrazione
Chomskyricorda S0 S (poi regole poi regole unitarie poi k>=3 poi xX)
CFL PDAlato CFL: costruiamo PDA x grammatica G con qstart, qloop, qacc + 4 delta
lato PDA: CFG con 3 regole claim Apq genera x iff porta P da p a q senza cambiare stack (x induzione)
pumping lemma CFLcammino + lungo i genera stringhe max ; p = ; cammino; prendo ripetizione DAL BASSO x questo sottoalbero altezza massima m+1
dimtip
NTM to TMnastro 3 in ordine lunghezza + lessicogragico
Adfa, Anfa, ArexAdfa simula, Anfa e Arex trasformano in DFA e NFA
Edfa, Ecfgmarca stati con archi entranti da marcati / marca var se ogni a dx marcata
Eqdfadifferenza simmetrica + Edfa
Acfgmax 2n-1 passi
linguaggi non recTM numerabili, stringhe infinite non numerabili, ogni linguaggio e’ una stringa infinita OR ! DEC = rec ^ coREC quindi non DEC o L o non rec
(es. )
Atm non decidibilecostruisco D che fa M< M> e diagonalizza - che succede se faccio D< D> ?
DEC = REC ^ coREC(1) se L DEC anche !L DEC (2) eseguo M1 e M2 in parallelo
A < B dec e B dec A decdecisore per A calcola f(w) e poi decide B
HALTtm non decx assurdo se HALTtm dec posso sapere se termina, ovvero decidere Atm (se termina simulo senno’ rifiuto)
Etm non decriduco ATM - se x w rifiuto, altrimenti simulo M(w)
REGtm non decriduco da ATM - se input nella forma 0n1n accetto senno’ simulo M(w)
non puo’ essere valido e completoaltrimeti posso dimostrare “M(y) termina” e fare un decisore per HALTtm
G1 - non puo’ essere consistente e completo = “M< M> termina”, diagonalizza - se o dimostrabile inconsistente
G2 - se consistente, non puo’ dimostrare “consistente”prendo cose dim 1, assumo consistente e x modus ponens ottengo che dimostra
dimtip
PATH IN Pmarco vertici con archi entranti
2COL in Pcoloro i vertici e i loro vicini (x tutte le CC)
2SAT in Prappresento come grafo, x v y diventa le due ; SAT nessuna CFC ha e

(SAT ⟶ ) (a,b) vuol dire a T - > b T, se c’e’ x ⟶ !x allora e’ necessario x F quindi non puo’ esserci !x ⟶ x

(no x !x ⟶ ) ordinamento topolone; assegnamento “x = T se x appare dopo !x”; per nessun (a,b) si ha a = T e b = F

quindi tutte impl vere quindi soddisfacibile

grafo + Tarjan + controllo
3COL in verifierNPrifiuta se stesso colore vicini
3SAT in NPprova tutti gli ass in parallelo
verifierNP = NP(1) se L verificatore polytime, il certificato è polinomiale - la NTM esegue il verificatore con ogni y in parallelo
(2) se NTM, uso come certificato le scelte di N
A B e B in P ⟶ A in Pfaccio M_A = MB(riduzione(()))
4COL in SAT ha
3COL 4COLaggiungo un nodo e lo coloro diverrso
Cook-Levin (SAT in NP-COMPLETE)tableau di computazione di N su un ramo

ricorda e’ almeno 1 colore + non 2 colori
3SAT K-CLIQUERIDUZIONE trasformo in un grafo - nodi tutti connessi tranne stessa formula e x !x + faccio iff
NP = coNP UNSAT in NPunSAT in coNP=NP
SAT NP-completo faccio !L SAT L UNSAT
spazio limita tempoSPACE(f(n)) TIME(f(n))
tempo limita spazioDTIME() SPACE(f(n))
PATH in SPACE(log^2 n)divide et impera, in ogni chiamata solo indici log bit
Savitch
NSPACE(f(n)) DTIME()
wlog 1 conf accettante, PATHG genera grafo al volo, TM esegue PATHG e costa spazio O()
PATH NL-completo(sappiamo PATH NL-hard perche’ abbiamo visto savitch) mi segno currNode
THT siano t1 << t2 esiste L DTIME(t2) ma non DTIME(t1)simulo con “timer” t1.5 passi e ritorno l’opposto - diagonalizzo per t1
SHT s1 e s2 O(s1)simulo in spazio limitato e in timer con max 2^O(s2(n))

DIMOSTRAZIONI UGUALI

  • ”marco vertice che ha archi entranti da vertice già marcato” style