TEORIA DELLA COMPUTAZIONE 2
ESERCIZI dicembre 2007
1. Esibire un PDA che accetta il linguaggio delle parole sull’alfabeto{a,b in cui il numero delle
occorrenze del simbolo a è maggiore o uguale al numero di occorrenze del simbolo b.
2. Esibire un PDA che accetta il linguaggio L = {uav | u,v {a,b+ e |u|=|v| .
3.
Esibire una Macchina di Turing che termini per ogni input e riconosca il linguaggio
0i1j  i = j oppure i=j+1.
4. Dire se il linguaggio L ={w  {a,b * | la lunghezza di w è una potenza di 2 è ricorsivo. E’
necessario giustificare la risposta.
5. Definire la macchina di Turing che calcola la funzione somma fra due numeri naturali; scegliete
voi la notazione con la quale esprimere i numeri e il formalismo per esprimere la macchina.
6. Disegnare una macchina di Turing che prenda in input un intero N, rappresentato sull’alfabeto {1,
e si fermi avendo sul nastro N/2 (parte intera inferiore).
7. Siano ={0,1 e L = {(M1,M2) | M1 e M2 sono macchine di Turing sull’alfabeto  con L(M1)=
*-L(M2) . Esiste una macchina di Turing che riconosce L? E’ necessario giustificare la risposta.
8. Sia L = (M1,M2) | M1 e M2 sono macchine di Turing con L(M1) L(M2)= . Ridurre il
linguaggio Le a L. Quale conseguenza ne possiamo ricavare?
9. Sia PAL l’insieme delle stringhe palindrome sull’alfabeto {0,1 e L = {M | L(M) = PAL .
a. Provare che Lu si riduce a L
b. Quale conseguenza per L possiamo dedurre dal punto a.?
c. Dal teorema di Rice avremmo potuto ricavare la stessa conseguenza?
10. Provare che Lne si riduce all’insieme L (dei codici) delle macchine di Turing che accettano almeno
una parola sull’alfabeto {0 di lunghezza maggiore o uguale a 2.
a. Cosa possiamo dedurre per L?
b. Dal teorema di Rice potremmo ottenere la stessa conseguenza?
11. Provare che:
a. la funzione f : N 3  N tale che f(x,y,z) = (xy+2z) è primitiva ricorsiva
b. la funzione f :N  N tale che f(x) = g(x,x) è primitiva ricorsiva se lo è la funzione g: N2  N.
12. Siano g1: N  N e g2: N  N due funzioni primitive ricorsive e mod2: N  N la funzione che
dato x  N restituisce il resto della divisione intera di x per 2. Si provi che è primitiva ricorsiva
anche la funzione f definita da: f(x) = g1(x), se mod2(x)=0 e f(x)= g2(x), se mod2(x)≠0.
(Nota: per la prova serve che si introducano altre funzioni primitive ricorsive)
13. Sia f: N2  N una funzione tale che f(x,y)=x+3y. Si provi che f è primitiva ricorsiva utilizzando
solo le funzioni di base e lo schema di ricorsione primitiva.