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.