Esercizi svolti il 20 Gennaio

Download Report

Transcript Esercizi svolti il 20 Gennaio

Problema 1
Siano A e B due linguaggi. Mostrare che:
• Se A e B sono in N P, allora anche A [ B e A \ B sono in N P.
traccia di soluzione:
– A [ B: costruire una NTM che invia l’input x sia a NTMA che a NTMB , quindi accetta x se o
NTMA , o NTMB (oppure entrambe) accettano x; notare che il tempo di esecuzione di NTM
`e polinomiale, quindi A [ B `e in N P.
– A\B: come sopra, ma questa volta NTM accetta x se e solo se sia NTMA che NTMB accettano
la stringa in input x.
• Se A e B sono N P-completi, allora A [ B e A \ B non necessariamente sono N P-completi.
traccia di soluzione:
– A\B: sia L un linguaggio N P-completo. Anche i linguaggi 0L = {0w|w 2 L} e 1L = {1w|w 2 L}
sono linguaggi N P-completi. Se consideriamo 0L\1L = ; che banalmente non `e N P-completo.
– A [ B: sia L un linguaggio N P-completo. Allora anche i linguaggi A = {1{0, 1}⇤ } [ 0L e
B = {0{0, 1}⇤ } [ 1L sono N P-completi. Per`o A [ B = {0, 1}⇤ che banalmente non `e N Pcompleto.
Problema 2
Definire una TM (tramite la tabella o diagramma di transizione di stato) che data una stringa binaria sul
nastro, B su tutte le altre posizioni del nastro e testina posizionata sul primo simbolo binario a sinistra,
termina con una stringa dove gli 0 sono posti prima degli 1 (con lo stesso numero di 0 e 1 della stringa
in input), B su tutte le altre posizioni del nastro e testina posizionata sul primo simbolo binario. Ad
esempio, data la configurazione
+
··· B B B 1 1 0 1 0 0 1 B B B ···
La TM termina con la seguente configurazione
+
··· B B B 0 0 0 1 1 1 1 B B B ···
Soluzione:
Di seguito si mostra la tabella di transizione di stato per una TM che si comporta come richiesto:
! q0
q1
q2
q3
q4
⇤q5
0
(q0 , 0, R)
(q2 , 1, L)
(q4 , 0, L)
1
(q1 , X, R)
(q1 , 1, R)
(q2 , 1, L)
(q3 , 1, L)
X
B
(q4 , B, L)
(q3 , B, L)
(q0 , 0, R)
(q5 , 1, L)
(q5 , B, R)