DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il...
Transcript of DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il...
![Page 1: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/1.jpg)
DECIDIBILITA E INDECIDIBILITA
Obiettivo: analizzare i limiti della risoluzione dei problemi mediantealgoritmi.
Studieremo: il potere computazionale degli algoritmi nellasoluzione dei problemi.
Proveremo che esistono problemi che possono essere risoltimediante algoritmi e altri no.
![Page 2: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/2.jpg)
Problemi di decisione
I problemi di decisione sono problemi che hanno come soluzioneuna risposta si o no.
Esempi:
I PRIMO: Dato un numero x , x e primo?
I CONNESSO: Dato un grafo G , G e connesso?
I ACCETTAZIONE DI UN DFA: Dato un DFA B e una stringaw , l’automa B accetta w?
![Page 3: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/3.jpg)
Problemi di decisione
I problemi di decisione sono problemi che hanno come soluzioneuna risposta si o no.
Esempi:
I PRIMO: Dato un numero x , x e primo?
I CONNESSO: Dato un grafo G , G e connesso?
I ACCETTAZIONE DI UN DFA: Dato un DFA B e una stringaw , l’automa B accetta w?
![Page 4: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/4.jpg)
Problemi di decisione
I problemi di decisione sono problemi che hanno come soluzioneuna risposta si o no.
Esempi:
I PRIMO: Dato un numero x , x e primo?
I CONNESSO: Dato un grafo G , G e connesso?
I ACCETTAZIONE DI UN DFA: Dato un DFA B e una stringaw , l’automa B accetta w?
![Page 5: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/5.jpg)
Ricorda: Linguaggi decidibili
Un linguaggio L ⊆ Σ∗ si dice decidibile se esiste una MdT chericonosce L e che si ferma su ogni input.
L’ input per una MdT e sempre una stringa. Se vogliamo dare ininput altri oggetti, questi devono essere codificati come stringhe.
![Page 6: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/6.jpg)
Codifica dei problemi di decisione
Rappresenteremo i problemi di decisione mediante linguaggi.
Es.: il linguaggio che rappresenta il problema “CONNESSO” e
{〈G 〉 | G e un grafo connesso}
dove 〈G 〉 denota una “ragionevole” codifica di G medianteuna stringa su un alfabeto Σ.
Ad esempio possiamo prendere Σ = {0, 1, (, ),#}.Il grafo
G = ({1, 2, 3}, {(1, 2), (2, 3), (3, 1)})
puo essere codificato come
(1#10#11)#((1#10)#(10#11)#(11#1)).
![Page 7: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/7.jpg)
Codifica dei problemi di decisione
Rappresenteremo i problemi di decisione mediante linguaggi.
Es.: il linguaggio che rappresenta il problema “CONNESSO” e
{〈G 〉 | G e un grafo connesso}
dove 〈G 〉 denota una “ragionevole” codifica di G medianteuna stringa su un alfabeto Σ.
Ad esempio possiamo prendere Σ = {0, 1, (, ),#}.Il grafo
G = ({1, 2, 3}, {(1, 2), (2, 3), (3, 1)})
puo essere codificato come
(1#10#11)#((1#10)#(10#11)#(11#1)).
![Page 8: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/8.jpg)
Codifica dei problemi di decisione
Rappresenteremo i problemi di decisione mediante linguaggi.
Es.: il linguaggio che rappresenta il problema “CONNESSO” e
{〈G 〉 | G e un grafo connesso}
dove 〈G 〉 denota una “ragionevole” codifica di G medianteuna stringa su un alfabeto Σ.
Ad esempio possiamo prendere Σ = {0, 1, (, ),#}.Il grafo
G = ({1, 2, 3}, {(1, 2), (2, 3), (3, 1)})
puo essere codificato come
(1#10#11)#((1#10)#(10#11)#(11#1)).
![Page 9: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/9.jpg)
Es. Grafi Connessi
Sia A un linguaggio di stringhe che rappresentano grafi connessi(non orientati)Nota: in questo modo esprimiamo un problema computazionalecome un problema di riconoscimento di linguaggi.Descriveremo una MdT che decide A
![Page 10: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/10.jpg)
Es. Grafi Connessi
Input 〈G 〉, codifica del grafo G
1. Seleziona un nodo di G e marcalo
2. Ripeti finche si trovano nuovi nodi da marcare:
2.1 Per ogni nodo v in G , se v e connesso ad un nodo marcatoallora marcalo.
3. se tutti i nodi risultano marcati accetta altrimenti reject
![Page 11: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/11.jpg)
Es. Grafi Connessi: rappresentazione
Grafo rappresentato mediante 2 liste:– Lista dei nodi (numeri naturali)– Lista degli edges (coppie di numeri)
Nota: non specifichiamo l’alfabeto (binario, decimale, ....).Ignoriamo i dettagli non importanti dell’implementazione.
![Page 12: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/12.jpg)
Es. Grafi Connessi: verifica input
Controlla che l’input sia
I una lista di nodi (digit) senza ripetizioni
I una lista di coppie di nodi (digit presenti nella lista precedente)
![Page 13: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/13.jpg)
Es. Grafi Connessi: implementazione
1) Seleziona un nodo di G e marcalo: Marca il primo nodo sullalista (es. con un · sul digit piu a sinistra)2) Ripeti finche nuovi nodi sono marcati
3) Per ogni nodo v in G , se v e connesso ad un nodo marcatoallora marcalo:
3.1) Sottolinea il primo nodo n1 senza · sulla lista (sottolineando ildigit piu a sinistra)
3.2) Sottolinea il primo nodo n2 con · sulla lista.
3.3) Cerca se esiste edge (n1, n2)Se SI allora marca n1 con · e vai a 2)Se NO, sia n2 il successivo nodo con · sulla lista, sottolinealoe vai a 3.3)
4) se tutti i nodi risultano marcati accetta altrimenti reject: Scorrila lista dei nodi: se tutti i nodi hanno · accetta, altrimenti reject
![Page 14: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/14.jpg)
Codifica dei problemi di decisione
“Ragionevole” codifica: un algoritmo che produce unarappresentazione univoca dell’input mediante una stringa.
I Diremo che un problema di decisione e:I decidibile se il linguaggio associato e decidibile
I semidecidibile se il linguaggio associato e Turing riconoscibileI indecidibile se il linguaggio associato non e decidibile.
I Nota. MdT verifica, come passo preliminare, che l’inputcorrisponde a una codifica dell’input del problema. Proseguela computazione solo in questo caso.
![Page 15: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/15.jpg)
Codifica dei problemi di decisione
“Ragionevole” codifica: un algoritmo che produce unarappresentazione univoca dell’input mediante una stringa.
I Diremo che un problema di decisione e:I decidibile se il linguaggio associato e decidibile
I semidecidibile se il linguaggio associato e Turing riconoscibileI indecidibile se il linguaggio associato non e decidibile.
I Nota. MdT verifica, come passo preliminare, che l’inputcorrisponde a una codifica dell’input del problema. Proseguela computazione solo in questo caso.
![Page 16: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/16.jpg)
Codifica dei problemi di decisione
“Ragionevole” codifica: un algoritmo che produce unarappresentazione univoca dell’input mediante una stringa.
I Diremo che un problema di decisione e:I decidibile se il linguaggio associato e decidibileI semidecidibile se il linguaggio associato e Turing riconoscibile
I indecidibile se il linguaggio associato non e decidibile.
I Nota. MdT verifica, come passo preliminare, che l’inputcorrisponde a una codifica dell’input del problema. Proseguela computazione solo in questo caso.
![Page 17: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/17.jpg)
Codifica dei problemi di decisione
“Ragionevole” codifica: un algoritmo che produce unarappresentazione univoca dell’input mediante una stringa.
I Diremo che un problema di decisione e:I decidibile se il linguaggio associato e decidibileI semidecidibile se il linguaggio associato e Turing riconoscibileI indecidibile se il linguaggio associato non e decidibile.
I Nota. MdT verifica, come passo preliminare, che l’inputcorrisponde a una codifica dell’input del problema. Proseguela computazione solo in questo caso.
![Page 18: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/18.jpg)
Codifica dei problemi di decisione
“Ragionevole” codifica: un algoritmo che produce unarappresentazione univoca dell’input mediante una stringa.
I Diremo che un problema di decisione e:I decidibile se il linguaggio associato e decidibileI semidecidibile se il linguaggio associato e Turing riconoscibileI indecidibile se il linguaggio associato non e decidibile.
I Nota. MdT verifica, come passo preliminare, che l’inputcorrisponde a una codifica dell’input del problema. Proseguela computazione solo in questo caso.
![Page 19: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/19.jpg)
Riepilogando....
I M macchina di Turing con tre possibili risultati computazione(accettazione, rifiuto, loop):
- Il linguaggio accettato da M e Turing riconoscibile.- Se il linguaggio accettato e associato a un problema, il
problema e semidecidibile.
I M macchina di Turing con due possibili risultati computazione(accettazione, rifiuto):
- Il linguaggio accettato da M e decidibile.- Se il linguaggio accettato e associato a un problema, il
problema e decidibile.
![Page 20: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/20.jpg)
Riepilogando....
I M macchina di Turing con tre possibili risultati computazione(accettazione, rifiuto, loop):
- Il linguaggio accettato da M e Turing riconoscibile.
- Se il linguaggio accettato e associato a un problema, ilproblema e semidecidibile.
I M macchina di Turing con due possibili risultati computazione(accettazione, rifiuto):
- Il linguaggio accettato da M e decidibile.- Se il linguaggio accettato e associato a un problema, il
problema e decidibile.
![Page 21: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/21.jpg)
Riepilogando....
I M macchina di Turing con tre possibili risultati computazione(accettazione, rifiuto, loop):
- Il linguaggio accettato da M e Turing riconoscibile.- Se il linguaggio accettato e associato a un problema, il
problema e semidecidibile.
I M macchina di Turing con due possibili risultati computazione(accettazione, rifiuto):
- Il linguaggio accettato da M e decidibile.- Se il linguaggio accettato e associato a un problema, il
problema e decidibile.
![Page 22: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/22.jpg)
Riepilogando....
I M macchina di Turing con tre possibili risultati computazione(accettazione, rifiuto, loop):
- Il linguaggio accettato da M e Turing riconoscibile.- Se il linguaggio accettato e associato a un problema, il
problema e semidecidibile.
I M macchina di Turing con due possibili risultati computazione(accettazione, rifiuto):
- Il linguaggio accettato da M e decidibile.- Se il linguaggio accettato e associato a un problema, il
problema e decidibile.
![Page 23: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/23.jpg)
Riepilogando....
I M macchina di Turing con tre possibili risultati computazione(accettazione, rifiuto, loop):
- Il linguaggio accettato da M e Turing riconoscibile.- Se il linguaggio accettato e associato a un problema, il
problema e semidecidibile.
I M macchina di Turing con due possibili risultati computazione(accettazione, rifiuto):
- Il linguaggio accettato da M e decidibile.
- Se il linguaggio accettato e associato a un problema, ilproblema e decidibile.
![Page 24: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/24.jpg)
Riepilogando....
I M macchina di Turing con tre possibili risultati computazione(accettazione, rifiuto, loop):
- Il linguaggio accettato da M e Turing riconoscibile.- Se il linguaggio accettato e associato a un problema, il
problema e semidecidibile.
I M macchina di Turing con due possibili risultati computazione(accettazione, rifiuto):
- Il linguaggio accettato da M e decidibile.- Se il linguaggio accettato e associato a un problema, il
problema e decidibile.
![Page 25: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/25.jpg)
Linguaggi/Problemi decidibili
I Sia B un DFA e w una parola. L’automa B accetta w?(Problema dell’accettazione di un DFA)
I Sia A un DFA. Il linguaggio L(A) accettato da A e vuoto?(Problema del vuoto)
I Siano A,B due DFA. I due automi sono equivalenti, cioe sonotali che L(A) = L(B)? (Problema dell’equivalenza)
![Page 26: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/26.jpg)
Linguaggi/Problemi decidibili
I Sia B un DFA e w una parola. L’automa B accetta w?(Problema dell’accettazione di un DFA)
I Sia A un DFA. Il linguaggio L(A) accettato da A e vuoto?(Problema del vuoto)
I Siano A,B due DFA. I due automi sono equivalenti, cioe sonotali che L(A) = L(B)? (Problema dell’equivalenza)
![Page 27: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/27.jpg)
Linguaggi/Problemi decidibili
I Sia B un DFA e w una parola. L’automa B accetta w?(Problema dell’accettazione di un DFA)
I Sia A un DFA. Il linguaggio L(A) accettato da A e vuoto?(Problema del vuoto)
I Siano A,B due DFA. I due automi sono equivalenti, cioe sonotali che L(A) = L(B)? (Problema dell’equivalenza)
![Page 28: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/28.jpg)
Problema dell’accettazione di un DFA:
Sia B un DFA e w una parola. L’automa B accetta w?
Il corrispondente linguaggio e
ADFA = {〈B,w〉 | B e un DFA che accetta la parola w}.
Teorema
ADFA e un linguaggio decidibile.
Dimostrazione.
Costruiamo una MdTM che decide ADFA: sull’input 〈B,w〉, dove B e un DFA e w e unaparola, M
I Simula B sulla stringa wI Se la simulazione termina in uno stato finale di B allora M
accetta, altrimenti rifiuta.
![Page 29: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/29.jpg)
Problema dell’accettazione di un DFA:
Sia B un DFA e w una parola. L’automa B accetta w?
Il corrispondente linguaggio e
ADFA = {〈B,w〉 | B e un DFA che accetta la parola w}.
Teorema
ADFA e un linguaggio decidibile.
Dimostrazione.
Costruiamo una MdTM che decide ADFA: sull’input 〈B,w〉, dove B e un DFA e w e unaparola, M
I Simula B sulla stringa wI Se la simulazione termina in uno stato finale di B allora M
accetta, altrimenti rifiuta.
![Page 30: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/30.jpg)
Problema dell’accettazione di un DFA:
Sia B un DFA e w una parola. L’automa B accetta w?
Il corrispondente linguaggio e
ADFA = {〈B,w〉 | B e un DFA che accetta la parola w}.
Teorema
ADFA e un linguaggio decidibile.
Dimostrazione.
Costruiamo una MdTM che decide ADFA: sull’input 〈B,w〉, dove B e un DFA e w e unaparola, M
I Simula B sulla stringa wI Se la simulazione termina in uno stato finale di B allora M
accetta, altrimenti rifiuta.
![Page 31: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/31.jpg)
Problema dell’accettazione di un DFA:
Sia B un DFA e w una parola. L’automa B accetta w?
Il corrispondente linguaggio e
ADFA = {〈B,w〉 | B e un DFA che accetta la parola w}.
Teorema
ADFA e un linguaggio decidibile.
Dimostrazione.
Costruiamo una MdTM che decide ADFA: sull’input 〈B,w〉, dove B e un DFA e w e unaparola, M
I Simula B sulla stringa wI Se la simulazione termina in uno stato finale di B allora M
accetta, altrimenti rifiuta.
![Page 32: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/32.jpg)
Problema dell’accettazione di un DFA:
Sia B un DFA e w una parola. L’automa B accetta w?
Il corrispondente linguaggio e
ADFA = {〈B,w〉 | B e un DFA che accetta la parola w}.
Teorema
ADFA e un linguaggio decidibile.
Dimostrazione.
Costruiamo una MdTM che decide ADFA: sull’input 〈B,w〉, dove B e un DFA e w e unaparola, M
I Simula B sulla stringa w
I Se la simulazione termina in uno stato finale di B allora Maccetta, altrimenti rifiuta.
![Page 33: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/33.jpg)
Problema dell’accettazione di un DFA:
Sia B un DFA e w una parola. L’automa B accetta w?
Il corrispondente linguaggio e
ADFA = {〈B,w〉 | B e un DFA che accetta la parola w}.
Teorema
ADFA e un linguaggio decidibile.
Dimostrazione.
Costruiamo una MdTM che decide ADFA: sull’input 〈B,w〉, dove B e un DFA e w e unaparola, M
I Simula B sulla stringa wI Se la simulazione termina in uno stato finale di B allora M
accetta, altrimenti rifiuta.
![Page 34: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/34.jpg)
Dettagli
Codifica di 〈B,w〉: lista le 5 componenti di B sul nastro di M (unadopo l’altra)MdT M verifica che l’input sia corretto. Se NO viene rifiutatoSuccessivamente M simula la computazione di B
![Page 35: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/35.jpg)
Dettagli
M simula la computazione di B
I Usa · per marcare lo stato iniziale come stato correntee · per marcare il primo simbolo di w come simbolo corrente
I Scorre la sottostringa che rappresenta la funzione ditransizione di B per conoscere la transizione corrispondente astato corrente r (con ·) e simbolo corrente x (con ·)⇒ M conosce nuovo stato q
I M sposta · da r allo stato q e da x al simbolo successivoLa procedura termina quando la string input di B e terminata
I Ora M controlla lo stato corrente (con ·) ed accetta sse esso efinale per B
![Page 36: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/36.jpg)
Problema del vuoto: Dato un DFA A, L(A) e vuoto?
Linguaggio corrispondente:EDFA = {〈A〉 | A e un DFA e L(A) = ∅}.
Teorema
EDFA e un linguaggio decidibile.
Dimostrazione.
Progettiamo una MdT T che sull’input 〈A〉 dove A e un DFA:
I Marca lo stato iniziale q0 di AI Ripeti fino a quando non viene marcato nessun nuovo stato:
Marca tutti gli stati che hanno una transizione entrante dauno stato marcatoNota stiamo marcando tutti gli stati q tali che esiste uncammino dallo stato iniziale q0 di A a q nel grafo di A
I Se la lista non contiene stati finali, accetta; altrimenti rifiuta.
![Page 37: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/37.jpg)
Problema del vuoto: Dato un DFA A, L(A) e vuoto?
Linguaggio corrispondente:EDFA = {〈A〉 | A e un DFA e L(A) = ∅}.
Teorema
EDFA e un linguaggio decidibile.
Dimostrazione.
Progettiamo una MdT T che sull’input 〈A〉 dove A e un DFA:
I Marca lo stato iniziale q0 di AI Ripeti fino a quando non viene marcato nessun nuovo stato:
Marca tutti gli stati che hanno una transizione entrante dauno stato marcatoNota stiamo marcando tutti gli stati q tali che esiste uncammino dallo stato iniziale q0 di A a q nel grafo di A
I Se la lista non contiene stati finali, accetta; altrimenti rifiuta.
![Page 38: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/38.jpg)
Problema del vuoto: Dato un DFA A, L(A) e vuoto?
Linguaggio corrispondente:EDFA = {〈A〉 | A e un DFA e L(A) = ∅}.
Teorema
EDFA e un linguaggio decidibile.
Dimostrazione.
Progettiamo una MdT T che sull’input 〈A〉 dove A e un DFA:
I Marca lo stato iniziale q0 di AI Ripeti fino a quando non viene marcato nessun nuovo stato:
Marca tutti gli stati che hanno una transizione entrante dauno stato marcatoNota stiamo marcando tutti gli stati q tali che esiste uncammino dallo stato iniziale q0 di A a q nel grafo di A
I Se la lista non contiene stati finali, accetta; altrimenti rifiuta.
![Page 39: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/39.jpg)
Problema del vuoto: Dato un DFA A, L(A) e vuoto?
Linguaggio corrispondente:EDFA = {〈A〉 | A e un DFA e L(A) = ∅}.
Teorema
EDFA e un linguaggio decidibile.
Dimostrazione.
Progettiamo una MdT T che sull’input 〈A〉 dove A e un DFA:
I Marca lo stato iniziale q0 di A
I Ripeti fino a quando non viene marcato nessun nuovo stato:Marca tutti gli stati che hanno una transizione entrante dauno stato marcatoNota stiamo marcando tutti gli stati q tali che esiste uncammino dallo stato iniziale q0 di A a q nel grafo di A
I Se la lista non contiene stati finali, accetta; altrimenti rifiuta.
![Page 40: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/40.jpg)
Problema del vuoto: Dato un DFA A, L(A) e vuoto?
Linguaggio corrispondente:EDFA = {〈A〉 | A e un DFA e L(A) = ∅}.
Teorema
EDFA e un linguaggio decidibile.
Dimostrazione.
Progettiamo una MdT T che sull’input 〈A〉 dove A e un DFA:
I Marca lo stato iniziale q0 di AI Ripeti fino a quando non viene marcato nessun nuovo stato:
Marca tutti gli stati che hanno una transizione entrante dauno stato marcatoNota stiamo marcando tutti gli stati q tali che esiste uncammino dallo stato iniziale q0 di A a q nel grafo di A
I Se la lista non contiene stati finali, accetta; altrimenti rifiuta.
![Page 41: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/41.jpg)
Problema del vuoto: Dato un DFA A, L(A) e vuoto?
Linguaggio corrispondente:EDFA = {〈A〉 | A e un DFA e L(A) = ∅}.
Teorema
EDFA e un linguaggio decidibile.
Dimostrazione.
Progettiamo una MdT T che sull’input 〈A〉 dove A e un DFA:
I Marca lo stato iniziale q0 di AI Ripeti fino a quando non viene marcato nessun nuovo stato:
Marca tutti gli stati che hanno una transizione entrante dauno stato marcatoNota stiamo marcando tutti gli stati q tali che esiste uncammino dallo stato iniziale q0 di A a q nel grafo di A
I Se la lista non contiene stati finali, accetta; altrimenti rifiuta.
![Page 42: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/42.jpg)
Problema dell’equivalenza: Dati due DFA, sonoequivalenti?
Useremo il seguente Lemma
Lemma
Dati due insiemi X ,Y , risulta
X = Y ⇔ Z = (X ∩ Y ) ∪ (X ∩ Y ) = ∅
![Page 43: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/43.jpg)
Problema dell’equivalenza
Linguaggio corrispondente:EQDFA = {〈A,B〉 | A,B sono DFA e L(A) = L(B)}.
Teorema
EQDFA e un linguaggio decidibile.
Dimostrazione.
Idea: progettare una MdTM che usa la MdTT che decide EDFA. Sull’input 〈A,B〉, dove A e B sono DFA, M:
I Costruisce il DFA C tale cheL(C) = (L(A) ∩ L(B)) ∪ (L(B) ∩ L(A))
I Simula T sull’input 〈C〉I Se T accetta, accetta; se T rifiuta, rifiuta.
![Page 44: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/44.jpg)
Problema dell’equivalenza
Linguaggio corrispondente:EQDFA = {〈A,B〉 | A,B sono DFA e L(A) = L(B)}.
Teorema
EQDFA e un linguaggio decidibile.
Dimostrazione.
Idea: progettare una MdTM che usa la MdTT che decide EDFA. Sull’input 〈A,B〉, dove A e B sono DFA, M:
I Costruisce il DFA C tale cheL(C) = (L(A) ∩ L(B)) ∪ (L(B) ∩ L(A))
I Simula T sull’input 〈C〉I Se T accetta, accetta; se T rifiuta, rifiuta.
![Page 45: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/45.jpg)
Problema dell’equivalenza
Linguaggio corrispondente:EQDFA = {〈A,B〉 | A,B sono DFA e L(A) = L(B)}.
Teorema
EQDFA e un linguaggio decidibile.
Dimostrazione.
Idea: progettare una MdTM che usa la MdTT che decide EDFA. Sull’input 〈A,B〉, dove A e B sono DFA, M:
I Costruisce il DFA C tale cheL(C) = (L(A) ∩ L(B)) ∪ (L(B) ∩ L(A))
I Simula T sull’input 〈C〉I Se T accetta, accetta; se T rifiuta, rifiuta.
![Page 46: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/46.jpg)
Problema dell’equivalenza
Linguaggio corrispondente:EQDFA = {〈A,B〉 | A,B sono DFA e L(A) = L(B)}.
Teorema
EQDFA e un linguaggio decidibile.
Dimostrazione.
Idea: progettare una MdTM che usa la MdTT che decide EDFA. Sull’input 〈A,B〉, dove A e B sono DFA, M:
I Costruisce il DFA C tale cheL(C) = (L(A) ∩ L(B)) ∪ (L(B) ∩ L(A))
I Simula T sull’input 〈C〉I Se T accetta, accetta; se T rifiuta, rifiuta.
![Page 47: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/47.jpg)
Problema dell’equivalenza
Linguaggio corrispondente:EQDFA = {〈A,B〉 | A,B sono DFA e L(A) = L(B)}.
Teorema
EQDFA e un linguaggio decidibile.
Dimostrazione.
Idea: progettare una MdTM che usa la MdTT che decide EDFA. Sull’input 〈A,B〉, dove A e B sono DFA, M:
I Costruisce il DFA C tale cheL(C) = (L(A) ∩ L(B)) ∪ (L(B) ∩ L(A))
I Simula T sull’input 〈C〉
I Se T accetta, accetta; se T rifiuta, rifiuta.
![Page 48: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/48.jpg)
Problema dell’equivalenza
Linguaggio corrispondente:EQDFA = {〈A,B〉 | A,B sono DFA e L(A) = L(B)}.
Teorema
EQDFA e un linguaggio decidibile.
Dimostrazione.
Idea: progettare una MdTM che usa la MdTT che decide EDFA. Sull’input 〈A,B〉, dove A e B sono DFA, M:
I Costruisce il DFA C tale cheL(C) = (L(A) ∩ L(B)) ∪ (L(B) ∩ L(A))
I Simula T sull’input 〈C〉I Se T accetta, accetta; se T rifiuta, rifiuta.
![Page 49: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/49.jpg)
Estensioni
Nota:Potremmo formulare i tre precedenti problemi sostituendo ai DFAuna qualsiasi rappresentazione equivalente (NFA o espressioniregolari).
Es.:
ANFA = {〈B,w〉 | B e un NFA che accetta la parola w},
AREX = {〈R,w〉 | R e un’espressione regolare e w ∈ L(R)}.
E facile convincersi che questi linguaggi sono decidibili.
![Page 50: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/50.jpg)
Problemi indecidibili
I Motivazioni per lo studio di questi problemi:
I Sapere che esistono problemi non risolvibili con un computer
I I problemi indecidibili sono esoterici o lontani dai problemi diinteresse informatico? NO
I Esempi di problemi indecidibili:
I Il problema generale della verifica del software non e risolvibilemediante computer
I Costruire un perfetto sistema di “debugging” per determinarese un programma si arresta.
I Equivalenza di programmi: Dati due programmi essiforniscono lo stesso output?
I Compressione dati ottimale: Trovare il programma piu cortoper produrre una immagine data.
I Individuazione dei virus: Questo programma e un virus?
![Page 51: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/51.jpg)
Problemi indecidibili
I Motivazioni per lo studio di questi problemi:I Sapere che esistono problemi non risolvibili con un computer
I I problemi indecidibili sono esoterici o lontani dai problemi diinteresse informatico? NO
I Esempi di problemi indecidibili:
I Il problema generale della verifica del software non e risolvibilemediante computer
I Costruire un perfetto sistema di “debugging” per determinarese un programma si arresta.
I Equivalenza di programmi: Dati due programmi essiforniscono lo stesso output?
I Compressione dati ottimale: Trovare il programma piu cortoper produrre una immagine data.
I Individuazione dei virus: Questo programma e un virus?
![Page 52: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/52.jpg)
Problemi indecidibili
I Motivazioni per lo studio di questi problemi:I Sapere che esistono problemi non risolvibili con un computer
I I problemi indecidibili sono esoterici o lontani dai problemi diinteresse informatico? NO
I Esempi di problemi indecidibili:
I Il problema generale della verifica del software non e risolvibilemediante computer
I Costruire un perfetto sistema di “debugging” per determinarese un programma si arresta.
I Equivalenza di programmi: Dati due programmi essiforniscono lo stesso output?
I Compressione dati ottimale: Trovare il programma piu cortoper produrre una immagine data.
I Individuazione dei virus: Questo programma e un virus?
![Page 53: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/53.jpg)
Problemi indecidibili
I Motivazioni per lo studio di questi problemi:I Sapere che esistono problemi non risolvibili con un computer
I I problemi indecidibili sono esoterici o lontani dai problemi diinteresse informatico? NO
I Esempi di problemi indecidibili:
I Il problema generale della verifica del software non e risolvibilemediante computer
I Costruire un perfetto sistema di “debugging” per determinarese un programma si arresta.
I Equivalenza di programmi: Dati due programmi essiforniscono lo stesso output?
I Compressione dati ottimale: Trovare il programma piu cortoper produrre una immagine data.
I Individuazione dei virus: Questo programma e un virus?
![Page 54: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/54.jpg)
Problemi indecidibili
I Motivazioni per lo studio di questi problemi:I Sapere che esistono problemi non risolvibili con un computer
I I problemi indecidibili sono esoterici o lontani dai problemi diinteresse informatico? NO
I Esempi di problemi indecidibili:I Il problema generale della verifica del software non e risolvibile
mediante computerI Costruire un perfetto sistema di “debugging” per determinare
se un programma si arresta.I Equivalenza di programmi: Dati due programmi essi
forniscono lo stesso output?
I Compressione dati ottimale: Trovare il programma piu cortoper produrre una immagine data.
I Individuazione dei virus: Questo programma e un virus?
![Page 55: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/55.jpg)
Problemi indecidibili
I Motivazioni per lo studio di questi problemi:I Sapere che esistono problemi non risolvibili con un computer
I I problemi indecidibili sono esoterici o lontani dai problemi diinteresse informatico? NO
I Esempi di problemi indecidibili:I Il problema generale della verifica del software non e risolvibile
mediante computerI Costruire un perfetto sistema di “debugging” per determinare
se un programma si arresta.I Equivalenza di programmi: Dati due programmi essi
forniscono lo stesso output?
I Compressione dati ottimale: Trovare il programma piu cortoper produrre una immagine data.
I Individuazione dei virus: Questo programma e un virus?
![Page 56: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/56.jpg)
Problemi indecidibili
I Motivazioni per lo studio di questi problemi:I Sapere che esistono problemi non risolvibili con un computer
I I problemi indecidibili sono esoterici o lontani dai problemi diinteresse informatico? NO
I Esempi di problemi indecidibili:I Il problema generale della verifica del software non e risolvibile
mediante computerI Costruire un perfetto sistema di “debugging” per determinare
se un programma si arresta.I Equivalenza di programmi: Dati due programmi essi
forniscono lo stesso output?
I Compressione dati ottimale: Trovare il programma piu cortoper produrre una immagine data.
I Individuazione dei virus: Questo programma e un virus?
![Page 57: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/57.jpg)
Problemi indecidibili
OBIETTIVO: presentare un problema irrisolvibile (linguaggioindecidibile)
Il linguaggio consiste delle coppie 〈M,w〉 dove M e una MdT cheaccetta la stringa w
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
Teorema
Il linguaggio
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
non e decidibile.
![Page 58: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/58.jpg)
Problemi indecidibili
OBIETTIVO: presentare un problema irrisolvibile (linguaggioindecidibile)
Il linguaggio consiste delle coppie 〈M,w〉 dove M e una MdT cheaccetta la stringa w
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
Teorema
Il linguaggio
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
non e decidibile.
![Page 59: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/59.jpg)
Problemi indecidibili
OBIETTIVO: presentare un problema irrisolvibile (linguaggioindecidibile)
Il linguaggio consiste delle coppie 〈M,w〉 dove M e una MdT cheaccetta la stringa w
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
Teorema
Il linguaggio
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
non e decidibile.
![Page 60: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/60.jpg)
Strumenti
Cardinalita di insiemi (infiniti).
Diagonalizzazione: metodo introdotto da Cantor.
![Page 61: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/61.jpg)
Cardinalita
Cardinalita di un insieme: la sua taglia
Due insiemi hanno la stessa cardinalita se e possibile stabilire unacorrispondenza tra i loro elementi.
Es: A = {1, 2, 3},B = {4, 3, 5} ⇒ 1− 4, 2− 3, 3− 5
Cosa possiamo dire per insiemi infiniti?
![Page 62: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/62.jpg)
Cardinalita
Cardinalita di un insieme: la sua taglia
Due insiemi hanno la stessa cardinalita se e possibile stabilire unacorrispondenza tra i loro elementi.
Es: A = {1, 2, 3},B = {4, 3, 5} ⇒ 1− 4, 2− 3, 3− 5
Cosa possiamo dire per insiemi infiniti?
![Page 63: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/63.jpg)
Cardinalita
Quanti numeri naturali ci sono? INFINITI!
Quanti numeri reali ci sono? INFINITI!
La quantita di numeri reali e la stessa di quella dei numeri naturali?
Come si misura la cardinalita di insiemi infiniti?
![Page 64: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/64.jpg)
Cardinalita
Quanti numeri naturali ci sono? INFINITI!
Quanti numeri reali ci sono? INFINITI!
La quantita di numeri reali e la stessa di quella dei numeri naturali?
Come si misura la cardinalita di insiemi infiniti?
![Page 65: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/65.jpg)
Cardinalita
Quanti numeri naturali ci sono? INFINITI!
Quanti numeri reali ci sono? INFINITI!
La quantita di numeri reali e la stessa di quella dei numeri naturali?
Come si misura la cardinalita di insiemi infiniti?
![Page 66: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/66.jpg)
Il Metodo della diagonalizzazione
Introdotto da Cantor nel 1973 mentre cercava di determinare comestabilire se, dati due insiemi infiniti, uno e piu grande dell’altro.
- Cantor osservo che due insiemi finiti hanno la stessacardinalita se gli elementi dell’uno possono essere messi incorrispondenza uno a uno con quelli dell’altro.
- Estese questo concetto agli insiemi infiniti.
![Page 67: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/67.jpg)
Il Metodo della diagonalizzazione
Introdotto da Cantor nel 1973 mentre cercava di determinare comestabilire se, dati due insiemi infiniti, uno e piu grande dell’altro.
- Cantor osservo che due insiemi finiti hanno la stessacardinalita se gli elementi dell’uno possono essere messi incorrispondenza uno a uno con quelli dell’altro.
- Estese questo concetto agli insiemi infiniti.
![Page 68: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/68.jpg)
Il Metodo della diagonalizzazione
Introdotto da Cantor nel 1973 mentre cercava di determinare comestabilire se, dati due insiemi infiniti, uno e piu grande dell’altro.
- Cantor osservo che due insiemi finiti hanno la stessacardinalita se gli elementi dell’uno possono essere messi incorrispondenza uno a uno con quelli dell’altro.
- Estese questo concetto agli insiemi infiniti.
![Page 69: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/69.jpg)
Premessa: Funzioni
Definizione
Una funzione f : X → Y e una relazione input-output.X e l’insieme dei possibili input (dominio),Y e l’insieme dei possibili output (codominio).Per ogni input x ∈ X esiste un solo output y = f (x) ∈ Y .
Definizione
f : X → Y e iniettiva se ∀x , x ′ ∈ X x 6= x ′ ⇒ f (x) 6= f (x ′)
Definizione
f : X → Y e suriettiva se ∀y ∈ Y si ha y = f (x) per qualchex ∈ X
Definizione
Una funzione f : X → Y e una funzione biettiva di X su Y (o unabiezione tra X e Y ) se f e iniettiva e suriettiva.
![Page 70: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/70.jpg)
Premessa: Funzioni
Definizione
Una funzione f : X → Y e una relazione input-output.X e l’insieme dei possibili input (dominio),Y e l’insieme dei possibili output (codominio).Per ogni input x ∈ X esiste un solo output y = f (x) ∈ Y .
Definizione
f : X → Y e iniettiva se ∀x , x ′ ∈ X x 6= x ′ ⇒ f (x) 6= f (x ′)
Definizione
f : X → Y e suriettiva se ∀y ∈ Y si ha y = f (x) per qualchex ∈ X
Definizione
Una funzione f : X → Y e una funzione biettiva di X su Y (o unabiezione tra X e Y ) se f e iniettiva e suriettiva.
![Page 71: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/71.jpg)
Premessa: Funzioni
Definizione
Una funzione f : X → Y e una relazione input-output.X e l’insieme dei possibili input (dominio),Y e l’insieme dei possibili output (codominio).Per ogni input x ∈ X esiste un solo output y = f (x) ∈ Y .
Definizione
f : X → Y e iniettiva se ∀x , x ′ ∈ X x 6= x ′ ⇒ f (x) 6= f (x ′)
Definizione
f : X → Y e suriettiva se ∀y ∈ Y si ha y = f (x) per qualchex ∈ X
Definizione
Una funzione f : X → Y e una funzione biettiva di X su Y (o unabiezione tra X e Y ) se f e iniettiva e suriettiva.
![Page 72: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/72.jpg)
Premessa: Funzioni
Definizione
Una funzione f : X → Y e una relazione input-output.X e l’insieme dei possibili input (dominio),Y e l’insieme dei possibili output (codominio).Per ogni input x ∈ X esiste un solo output y = f (x) ∈ Y .
Definizione
f : X → Y e iniettiva se ∀x , x ′ ∈ X x 6= x ′ ⇒ f (x) 6= f (x ′)
Definizione
f : X → Y e suriettiva se ∀y ∈ Y si ha y = f (x) per qualchex ∈ X
Definizione
Una funzione f : X → Y e una funzione biettiva di X su Y (o unabiezione tra X e Y ) se f e iniettiva e suriettiva.
![Page 73: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/73.jpg)
Premessa: Funzioni
Esempio f : {1, 2, 5} → {2, 4, 7}1→ 2, 2→ 2, 5→ 4 e una funzione. Non e ne iniettiva nesuriettiva.
Esempio f : {1, 2, 5} → {2, 4, 7, 9}1→ 2, 2→ 4, 5→ 7 e una funzione iniettiva ma nonsuriettiva.
Esempio f : {1, 2, 5} → {2, 4}1→ 2, 2→ 4, 5→ 2 e una funzione suriettiva ma noniniettiva.
Esempio f : {1, 2, 5} → {2, 4, 7}1→ 2, 2→ 4, 5→ 7 e una funzione biettiva.
![Page 74: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/74.jpg)
Premessa: Funzioni
Esempio f : {1, 2, 5} → {2, 4, 7}1→ 2, 2→ 2, 5→ 4 e una funzione. Non e ne iniettiva nesuriettiva.
Esempio f : {1, 2, 5} → {2, 4, 7, 9}1→ 2, 2→ 4, 5→ 7 e una funzione iniettiva ma nonsuriettiva.
Esempio f : {1, 2, 5} → {2, 4}1→ 2, 2→ 4, 5→ 2 e una funzione suriettiva ma noniniettiva.
Esempio f : {1, 2, 5} → {2, 4, 7}1→ 2, 2→ 4, 5→ 7 e una funzione biettiva.
![Page 75: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/75.jpg)
Premessa: Funzioni
Esempio f : {1, 2, 5} → {2, 4, 7}1→ 2, 2→ 2, 5→ 4 e una funzione. Non e ne iniettiva nesuriettiva.
Esempio f : {1, 2, 5} → {2, 4, 7, 9}1→ 2, 2→ 4, 5→ 7 e una funzione iniettiva ma nonsuriettiva.
Esempio f : {1, 2, 5} → {2, 4}1→ 2, 2→ 4, 5→ 2 e una funzione suriettiva ma noniniettiva.
Esempio f : {1, 2, 5} → {2, 4, 7}1→ 2, 2→ 4, 5→ 7 e una funzione biettiva.
![Page 76: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/76.jpg)
Premessa: Funzioni
Esempio f : {1, 2, 5} → {2, 4, 7}1→ 2, 2→ 2, 5→ 4 e una funzione. Non e ne iniettiva nesuriettiva.
Esempio f : {1, 2, 5} → {2, 4, 7, 9}1→ 2, 2→ 4, 5→ 7 e una funzione iniettiva ma nonsuriettiva.
Esempio f : {1, 2, 5} → {2, 4}1→ 2, 2→ 4, 5→ 2 e una funzione suriettiva ma noniniettiva.
Esempio f : {1, 2, 5} → {2, 4, 7}1→ 2, 2→ 4, 5→ 7 e una funzione biettiva.
![Page 77: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/77.jpg)
Premessa: Cardinalita
Definizione
Due insiemi X e Y hanno la stessa cardinalita se esiste unafunzione biettiva f : X → Y di X su Y .
|X | = |Y | ⇔ esiste una funzione biettiva f : X → Y
Esempio f : {1, 2, 5} → {2, 4, 7} 1→ 2, 2→ 4,5→ 7.
Esempio f : N→ {2n | n ∈ N} n→ 2n
![Page 78: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/78.jpg)
Premessa: Cardinalita
Definizione
Due insiemi X e Y hanno la stessa cardinalita se esiste unafunzione biettiva f : X → Y di X su Y .
|X | = |Y | ⇔ esiste una funzione biettiva f : X → Y
Esempio f : {1, 2, 5} → {2, 4, 7} 1→ 2, 2→ 4,5→ 7.
Esempio f : N→ {2n | n ∈ N} n→ 2n
![Page 79: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/79.jpg)
Premessa: Cardinalita
Definizione
Due insiemi X e Y hanno la stessa cardinalita se esiste unafunzione biettiva f : X → Y di X su Y .
|X | = |Y | ⇔ esiste una funzione biettiva f : X → Y
Esempio f : {1, 2, 5} → {2, 4, 7} 1→ 2, 2→ 4,5→ 7.
Esempio f : N→ {2n | n ∈ N} n→ 2n
![Page 80: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/80.jpg)
Premessa: Cardinalita
Definizione
Due insiemi X e Y hanno la stessa cardinalita se esiste unafunzione biettiva f : X → Y di X su Y .
|X | = |Y | ⇔ esiste una funzione biettiva f : X → Y
Esempio f : {1, 2, 5} → {2, 4, 7} 1→ 2, 2→ 4,5→ 7.
Esempio f : N→ {2n | n ∈ N} n→ 2n
![Page 81: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/81.jpg)
Insiemi numerabili
Definizione
Un insieme e enumerabile (o numerabile) se ha la stessa cardinalitadi un sottoinsieme di N.
Se A e numerabile possiamo “numerare” gli elementi di A escrivere una lista (a1, a2, . . .)
cio e per ogni numero naturale i , possiamo specificare l’elementoi–mo della lista.
Es. Per l’insieme dei numeri naturali pari, l’elemento i-mo dellalista corrisponde a 2i .
![Page 82: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/82.jpg)
Insiemi numerabili
Es. L’insieme dei numeri razionali e numerabile
Mostriamo che possiamo formare una lista di tutti i numerirazionali.Formiamo un rettangolo infinito:
1/1 1/2 1/3 1/4 . . .2/1 2/2 2/3 2/4 . . .3/1 3/2 3/3 3/4 . . .4/1 4/2 4/3 4/4 . . .. . . . . . . . . . . . . . .
![Page 83: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/83.jpg)
Insiemi numerabili
Come formiamo la lista di tutti i numeri razionali?Se prendiamo prima tutta la prima linea, non arriviamo mai allaseconda!
1/1 1/2 1/3 1/4 . . .2/1 2/2 2/3 2/4 . . .3/1 3/2 3/3 3/4 . . .4/1 4/2 4/3 4/4 . . .. . . . . . . . . . . . . . .
![Page 84: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/84.jpg)
Insiemi numerabili
Idea: Listiamo per diagonali: I, II, III, IV, V, VI,. . .
1/1 1/2 1/3 1/4 . . .2/1 2/2 2/3 2/4 . . .3/1 3/2 3/3 3/4 . . .4/1 4/2 4/3 4/4 . . .. . . . . . . . . . . . . . .
1/1, 2/1, 1/2, 3/1, 2/2, 1/3, . . .
Nota: dovremmo eliminare i duplicati (ma e solo una questionetecnica)
![Page 85: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/85.jpg)
Insiemi numerabili
Σ∗ e numerabile.:listiamo prima la stringa vuota, poi le stringhe (in ordinelessicografico) lunghe 1, poi 2, . . .
Esempio: Σ = {0, 1}, w0 = ε, w1 = 0, w2 = 1, w3 = 00, ...
![Page 86: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/86.jpg)
Insiemi numerabili
L’insieme
{〈M〉 | M e una MdT sull’alfabeto Σ}
e numerabile: e possibile codificare una MdTM con una stringa su un alfabeto Σ.
Esempio: Σ = {0, 1},〈M〉 = 111C111C211 . . . 11Cn,Ct = 0i10j10h10k0m e la codifica di δ(qi , aj) = (qh, ak ,Dm),con D1 = L, D2 = R.
![Page 87: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/87.jpg)
L’insieme dei numeri reali non e numerabile.
Sia per assurdo R numerabile, allora possiamo costruire la lista
f (1), f (2), f (3), . . .
Per ogni i ≥ 1 , scriviamo f (i) = f0(i), f1(i)f2(i)f3(i) . . .Es: se f (1) = 4, 256 . . .allora f0(1) = 4, f1(1) = 2, f1(1) = 2, f2(1) = 5, f3(1) = 6, . . .
Organizziamoli in una matrice:
i\f (i) f1 f2 f3 . . . . . . . . .
1 f1(1) f2(1) f3(1) . . . fi (1) . . .2 f1(2) f2(2) f3(2) . . . fi (2) . . .3 f1(3) f2(3) f3(3) . . . fi (3) . . ....
......
.... . .
......
i f1(i) f2(i) f3(i) . . . fi (i) . . ....
......
......
.... . .
![Page 88: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/88.jpg)
L’insieme dei numeri reali non e numerabile.
Sia per assurdo R numerabile, allora possiamo costruire la lista
f (1), f (2), f (3), . . .
Per ogni i ≥ 1 , scriviamo f (i) = f0(i), f1(i)f2(i)f3(i) . . .Es: se f (1) = 4, 256 . . .allora f0(1) = 4, f1(1) = 2, f1(1) = 2, f2(1) = 5, f3(1) = 6, . . .
Organizziamoli in una matrice:
i\f (i) f1 f2 f3 . . . . . . . . .
1 f1(1) f2(1) f3(1) . . . fi (1) . . .2 f1(2) f2(2) f3(2) . . . fi (2) . . .3 f1(3) f2(3) f3(3) . . . fi (3) . . ....
......
.... . .
......
i f1(i) f2(i) f3(i) . . . fi (i) . . ....
......
......
.... . .
![Page 89: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/89.jpg)
L’insieme dei numeri reali non e numerabile.
Sia per assurdo R numerabile, allora possiamo costruire la lista
f (1), f (2), f (3), . . .
Per ogni i ≥ 1 , scriviamo f (i) = f0(i), f1(i)f2(i)f3(i) . . .Es: se f (1) = 4, 256 . . .allora f0(1) = 4, f1(1) = 2, f1(1) = 2, f2(1) = 5, f3(1) = 6, . . .
Organizziamoli in una matrice:
i\f (i) f1 f2 f3 . . . . . . . . .
1 f1(1) f2(1) f3(1) . . . fi (1) . . .2 f1(2) f2(2) f3(2) . . . fi (2) . . .3 f1(3) f2(3) f3(3) . . . fi (3) . . ....
......
.... . .
......
i f1(i) f2(i) f3(i) . . . fi (i) . . ....
......
......
.... . .
![Page 90: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/90.jpg)
L’insieme dei numeri reali non e numerabile (cont.)
i\f (i) f1 f2 f3 . . . . . . . . .
1 f1(1) f2(1) f3(1) . . . fi (1) . . .2 f1(2) f2(2) f3(2) . . . fi (2) . . .3 f1(3) f2(3) f3(3) . . . fi (3) . . ....
......
.... . .
......
i f1(i) f2(i) f3(i) . . . fi (i) . . ....
......
......
.... . .
Sia x ∈ (0, 1) il numero x = 0, x1x2x3 . . . xi . . .ottenuto scegliendo xi 6= fi (i) per ogni i ≥ 1
Chiaramente x ∈ R.
Risulta x nella lista?Se x = f (j) allora il suo j-mo digit soddisfa xj = fj(j);Ma xj 6= fj(j) (per def. di x), contraddizione!
Quindi x ∈ R non pu o comparire nella lista e R non numerabile
![Page 91: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/91.jpg)
L’insieme dei numeri reali non e numerabile (cont.)
i\f (i) f1 f2 f3 . . . . . . . . .
1 f1(1) f2(1) f3(1) . . . fi (1) . . .2 f1(2) f2(2) f3(2) . . . fi (2) . . .3 f1(3) f2(3) f3(3) . . . fi (3) . . ....
......
.... . .
......
i f1(i) f2(i) f3(i) . . . fi (i) . . ....
......
......
.... . .
Sia x ∈ (0, 1) il numero x = 0, x1x2x3 . . . xi . . .ottenuto scegliendo xi 6= fi (i) per ogni i ≥ 1
Chiaramente x ∈ R. Risulta x nella lista?
Se x = f (j) allora il suo j-mo digit soddisfa xj = fj(j);Ma xj 6= fj(j) (per def. di x), contraddizione!
Quindi x ∈ R non pu o comparire nella lista e R non numerabile
![Page 92: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/92.jpg)
L’insieme dei numeri reali non e numerabile (cont.)
i\f (i) f1 f2 f3 . . . . . . . . .
1 f1(1) f2(1) f3(1) . . . fi (1) . . .2 f1(2) f2(2) f3(2) . . . fi (2) . . .3 f1(3) f2(3) f3(3) . . . fi (3) . . ....
......
.... . .
......
i f1(i) f2(i) f3(i) . . . fi (i) . . ....
......
......
.... . .
Sia x ∈ (0, 1) il numero x = 0, x1x2x3 . . . xi . . .ottenuto scegliendo xi 6= fi (i) per ogni i ≥ 1
Chiaramente x ∈ R. Risulta x nella lista?Se x = f (j) allora il suo j-mo digit soddisfa xj = fj(j);Ma xj 6= fj(j) (per def. di x), contraddizione!
Quindi x ∈ R non pu o comparire nella lista e R non numerabile
![Page 93: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/93.jpg)
Il Metodo della diagonalizzazione
{w1,w2, . . .} = Σ∗, {M1,M2, . . .} = MdT su Σ: numerabili
w1 w2 w3 . . . wi wj
M1 x1,1 · · · · ·M2 · x2,2 · · · ·· · · x3,3 · · ·· · · · x4,4 · ·
Mi · · · · xi ,i xi ,j· · · · · · ·· · · · · · ·
con xi ,j = 1 se wj ∈ L(Mi ), x = 0 altrimenti.
Sia L = {wi ∈ Σ∗ | wi 6∈ L(Mi )}L e il “complemento della diagonale”:se l’elemento (Mi ,wi ) della diagonale e xi ,i = 1, allora wi 6∈ L;se l’elemento (Mi ,wi ) della diagonale e xi ,i = 0, allora wi ∈ L
![Page 94: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/94.jpg)
Il Metodo della diagonalizzazione
{w1,w2, . . .} = Σ∗, {M1,M2, . . .} = MdT su Σ: numerabili
w1 w2 w3 . . . wi wj
M1 x1,1 · · · · ·M2 · x2,2 · · · ·· · · x3,3 · · ·· · · · x4,4 · ·
Mi · · · · xi ,i xi ,j· · · · · · ·· · · · · · ·
con xi ,j = 1 se wj ∈ L(Mi ), x = 0 altrimenti.
Sia L = {wi ∈ Σ∗ | wi 6∈ L(Mi )}L e il “complemento della diagonale”:se l’elemento (Mi ,wi ) della diagonale e xi ,i = 1, allora wi 6∈ L;se l’elemento (Mi ,wi ) della diagonale e xi ,i = 0, allora wi ∈ L
![Page 95: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/95.jpg)
Il Metodo della diagonalizzazione
{w1,w2, . . .} = Σ∗, {M1,M2, . . .} = MdT su Σ: numerabili
w1 w2 w3 . . . wi wj
M1 x1,1 · · · · ·M2 · x2,2 · · · ·· · · x3,3 · · ·· · · · x4,4 · ·
Mi · · · · xi ,i xi ,j· · · · · · ·· · · · · · ·
con xi ,j = 1 se wj ∈ L(Mi ), x = 0 altrimenti.
Sia L = {wi ∈ Σ∗ | wi 6∈ L(Mi )}L e il “complemento della diagonale”:se l’elemento (Mi ,wi ) della diagonale e xi ,i = 1, allora wi 6∈ L;se l’elemento (Mi ,wi ) della diagonale e xi ,i = 0, allora wi ∈ L
![Page 96: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/96.jpg)
Il Metodo della diagonalizzazione
w1 w2 w3 . . . wi wj
M1 x1,1 · · · · ·M2 · x2,2 · · · ·· · · x3,3 · · ·· · · · x4,4 · ·
Mi · · · · xi ,i xi ,j· · · · · · ·· · · · · · ·
con xi ,j = 1 se wj ∈ L(Mi ), xi ,j = 0 altrimenti.
Sia L = {wi ∈ Σ∗ | wi /∈ L(Mi )}Puo L comparire nella lista?
Supponiamo L = L(Mh),
I wh ∈ L ⇒ xh,h = 0 ⇒ wh /∈ L(Mh) = L contraddizione
I wh /∈ L ⇒ xh,h = 1 ⇒ wh ∈ L(Mh) = L contraddizione
![Page 97: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/97.jpg)
Il Metodo della diagonalizzazione
w1 w2 w3 . . . wi wj
M1 x1,1 · · · · ·M2 · x2,2 · · · ·· · · x3,3 · · ·· · · · x4,4 · ·
Mi · · · · xi ,i xi ,j· · · · · · ·· · · · · · ·
con xi ,j = 1 se wj ∈ L(Mi ), xi ,j = 0 altrimenti.
Sia L = {wi ∈ Σ∗ | wi /∈ L(Mi )}Puo L comparire nella lista?Supponiamo L = L(Mh),
I wh ∈ L ⇒ xh,h = 0 ⇒ wh /∈ L(Mh) = L contraddizione
I wh /∈ L ⇒ xh,h = 1 ⇒ wh ∈ L(Mh) = L contraddizione
![Page 98: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/98.jpg)
Il Metodo della diagonalizzazione
“Esistono piu linguaggi (problemi) che macchine di Turing(algoritmi)”
Corollary
Esistono linguaggi che non sono Turing riconoscibili
![Page 99: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/99.jpg)
Il Metodo della diagonalizzazione
“Esistono piu linguaggi (problemi) che macchine di Turing(algoritmi)”
Corollary
Esistono linguaggi che non sono Turing riconoscibili
![Page 100: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/100.jpg)
Macchina di Turing Universale
Abbiamo visto chee possibile codificare una MdTM con una stringa su un alfabeto Σ.
E possibile anche codificare una MdT M e una stringa w conuna stringa su un alfabeto Σ.Esempio: 〈M,w〉 = “codifica di M ′′#“codifica di w ′′.
![Page 101: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/101.jpg)
Macchina di Turing Universale
Abbiamo visto chee possibile codificare una MdTM con una stringa su un alfabeto Σ.
E possibile anche codificare una MdT M e una stringa w conuna stringa su un alfabeto Σ.Esempio: 〈M,w〉 = “codifica di M ′′#“codifica di w ′′.
![Page 102: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/102.jpg)
Macchina di Turing Universale
I Una MdT universale U simula la computazione di unaqualsiasi MdT M
I U riceve in input una rappresentazione 〈M,w〉 di M e di unpossibile input w di M
I E chiamata universale perche la computazione di una qualsiasiMdT puo essere simulata da U
I Anticipo alcuni sviluppi fondamentali in informatica:
- Compilatore Java (o C , C++) in Java (o in C , C++)- Programma eseguito da un computer
Teorema
Esiste una MdT universale.
〈M,w〉 → Macchina Universale U →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 103: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/103.jpg)
Macchina di Turing Universale
I Una MdT universale U simula la computazione di unaqualsiasi MdT M
I U riceve in input una rappresentazione 〈M,w〉 di M e di unpossibile input w di M
I E chiamata universale perche la computazione di una qualsiasiMdT puo essere simulata da U
I Anticipo alcuni sviluppi fondamentali in informatica:
- Compilatore Java (o C , C++) in Java (o in C , C++)- Programma eseguito da un computer
Teorema
Esiste una MdT universale.
〈M,w〉 → Macchina Universale U →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 104: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/104.jpg)
Macchina di Turing Universale
I Una MdT universale U simula la computazione di unaqualsiasi MdT M
I U riceve in input una rappresentazione 〈M,w〉 di M e di unpossibile input w di M
I E chiamata universale perche la computazione di una qualsiasiMdT puo essere simulata da U
I Anticipo alcuni sviluppi fondamentali in informatica:
- Compilatore Java (o C , C++) in Java (o in C , C++)- Programma eseguito da un computer
Teorema
Esiste una MdT universale.
〈M,w〉 → Macchina Universale U →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 105: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/105.jpg)
Macchina di Turing Universale
I Una MdT universale U simula la computazione di unaqualsiasi MdT M
I U riceve in input una rappresentazione 〈M,w〉 di M e di unpossibile input w di M
I E chiamata universale perche la computazione di una qualsiasiMdT puo essere simulata da U
I Anticipo alcuni sviluppi fondamentali in informatica:
- Compilatore Java (o C , C++) in Java (o in C , C++)- Programma eseguito da un computer
Teorema
Esiste una MdT universale.
〈M,w〉 → Macchina Universale U →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 106: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/106.jpg)
Macchina di Turing Universale
I Una MdT universale U simula la computazione di unaqualsiasi MdT M
I U riceve in input una rappresentazione 〈M,w〉 di M e di unpossibile input w di M
I E chiamata universale perche la computazione di una qualsiasiMdT puo essere simulata da U
I Anticipo alcuni sviluppi fondamentali in informatica:- Compilatore Java (o C , C++) in Java (o in C , C++)
- Programma eseguito da un computer
Teorema
Esiste una MdT universale.
〈M,w〉 → Macchina Universale U →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 107: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/107.jpg)
Macchina di Turing Universale
I Una MdT universale U simula la computazione di unaqualsiasi MdT M
I U riceve in input una rappresentazione 〈M,w〉 di M e di unpossibile input w di M
I E chiamata universale perche la computazione di una qualsiasiMdT puo essere simulata da U
I Anticipo alcuni sviluppi fondamentali in informatica:- Compilatore Java (o C , C++) in Java (o in C , C++)- Programma eseguito da un computer
Teorema
Esiste una MdT universale.
〈M,w〉 → Macchina Universale U →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 108: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/108.jpg)
Macchina di Turing Universale
I Una MdT universale U simula la computazione di unaqualsiasi MdT M
I U riceve in input una rappresentazione 〈M,w〉 di M e di unpossibile input w di M
I E chiamata universale perche la computazione di una qualsiasiMdT puo essere simulata da U
I Anticipo alcuni sviluppi fondamentali in informatica:- Compilatore Java (o C , C++) in Java (o in C , C++)- Programma eseguito da un computer
Teorema
Esiste una MdT universale.
〈M,w〉 → Macchina Universale U →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 109: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/109.jpg)
Macchina di Turing Universale
I Una MdT universale U simula la computazione di unaqualsiasi MdT M
I U riceve in input una rappresentazione 〈M,w〉 di M e di unpossibile input w di M
I E chiamata universale perche la computazione di una qualsiasiMdT puo essere simulata da U
I Anticipo alcuni sviluppi fondamentali in informatica:- Compilatore Java (o C , C++) in Java (o in C , C++)- Programma eseguito da un computer
Teorema
Esiste una MdT universale.
〈M,w〉 → Macchina Universale U →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 110: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/110.jpg)
AMdT e Turing riconoscibile
Teorema
Il linguaggio
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
e Turing riconoscibile.
Dimostrazione.
Definiamo una MdT U che accetta AMdT : sull’input 〈M,w〉 doveM e una MdT e w e una stringa
1. Simula M sull’input w .2. Se M accetta, accetta; se M rifiuta, rifiuta.
![Page 111: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/111.jpg)
AMdT e Turing riconoscibile
Teorema
Il linguaggio
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
e Turing riconoscibile.
Dimostrazione.
Definiamo una MdT U che accetta AMdT : sull’input 〈M,w〉 doveM e una MdT e w e una stringa
1. Simula M sull’input w .2. Se M accetta, accetta; se M rifiuta, rifiuta.
![Page 112: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/112.jpg)
AMdT e Turing riconoscibile
Teorema
Il linguaggio
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
e Turing riconoscibile.
Dimostrazione.
Definiamo una MdT U che accetta AMdT : sull’input 〈M,w〉 doveM e una MdT e w e una stringa
1. Simula M sull’input w .
2. Se M accetta, accetta; se M rifiuta, rifiuta.
![Page 113: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/113.jpg)
AMdT e Turing riconoscibile
Teorema
Il linguaggio
AMdT = {〈M,w〉 | M e una MdT che accetta la parola w}
e Turing riconoscibile.
Dimostrazione.
Definiamo una MdT U che accetta AMdT : sull’input 〈M,w〉 doveM e una MdT e w e una stringa
1. Simula M sull’input w .2. Se M accetta, accetta; se M rifiuta, rifiuta.
![Page 114: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/114.jpg)
Dettagli: Simulazione di MdT input
Abbiamo visto MdT che simula AutomaSimulare MdT M con altra MdT risulta molto simile.
1. Marca stato iniziale di M (stato corrente) e primo simbolo sunastro (posizione corrente testina)
2. cerca prossima transizione (nella parte che descrive la funzionedi transizione),sia (q, x)→ (q′, x ′,D)
3. Esegui la transizione
4. Aggiorna lo stato corrente (marca q′) e la posizione correntedella testina (marca simbolo a D)
5. Se lo stato corrente risulta qaccept/qreject decidi diconseguenza, altrimenti ripeti da 2
![Page 115: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/115.jpg)
Dettagli: Simulazione di MdT input
Abbiamo visto MdT che simula AutomaSimulare MdT M con altra MdT risulta molto simile.
1. Marca stato iniziale di M (stato corrente) e primo simbolo sunastro (posizione corrente testina)
2. cerca prossima transizione (nella parte che descrive la funzionedi transizione),sia (q, x)→ (q′, x ′,D)
3. Esegui la transizione
4. Aggiorna lo stato corrente (marca q′) e la posizione correntedella testina (marca simbolo a D)
5. Se lo stato corrente risulta qaccept/qreject decidi diconseguenza, altrimenti ripeti da 2
![Page 116: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/116.jpg)
Note
1. Nota: U e detta MdT universale.
2. Nota: U riconosce AMdT : accetta ogni coppia〈M,w〉 ∈ AMdT
3. Nota: U cicla su 〈M,w〉 se (e solo se) M cicla su w . QuindiU non decide AMdT .
![Page 117: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/117.jpg)
Note
1. Nota: U e detta MdT universale.
2. Nota: U riconosce AMdT : accetta ogni coppia〈M,w〉 ∈ AMdT
3. Nota: U cicla su 〈M,w〉 se (e solo se) M cicla su w . QuindiU non decide AMdT .
![Page 118: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/118.jpg)
Note
1. Nota: U e detta MdT universale.
2. Nota: U riconosce AMdT : accetta ogni coppia〈M,w〉 ∈ AMdT
3. Nota: U cicla su 〈M,w〉 se (e solo se) M cicla su w . QuindiU non decide AMdT .
![Page 119: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/119.jpg)
Indecidibilita del problema della fermata
AMdT = {〈M,w〉 | M e una MdT e w ∈ L(M)}
Teorema
Il linguaggio AMdT non e decidibile.
![Page 120: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/120.jpg)
Indecidibilita del problema della fermata
Prima di vedere la dimostrazione consideriamo un classico quesitodi Bertrand Russell:
In un paese vive un solo barbiere,Un uomo ben sbarbato, che rade tutti e soli gli uomini del villaggioche non si radono da soli.
Chi sbarba il barbiere?
Autoreferenza puo causare problemi!
![Page 121: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/121.jpg)
Indecidibilita del problema della fermata
Prima di vedere la dimostrazione consideriamo un classico quesitodi Bertrand Russell:
In un paese vive un solo barbiere,Un uomo ben sbarbato, che rade tutti e soli gli uomini del villaggioche non si radono da soli.
Chi sbarba il barbiere?
Autoreferenza puo causare problemi!
![Page 122: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/122.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Supponiamo per assurdo che esiste una macchina di Turing H condue possibili risultati di una computazione (accettazione, rifiuto) etale che:
H =
{accetta se M accetta w
rifiuta se M rifiuta w
H : 〈M,w〉 → H →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 123: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/123.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Supponiamo per assurdo che esiste una macchina di Turing H condue possibili risultati di una computazione (accettazione, rifiuto) etale che:
H =
{accetta se M accetta w
rifiuta se M rifiuta w
H : 〈M,w〉 → H →
{accetta se M accetta w
rifiuta se M rifiuta w
![Page 124: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/124.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Costruiamo una nuova MdT D che usa H come sottoprogrammaD sull’input 〈M〉, dove M e una MdT:
1. Simula H sull’input 〈M, 〈M〉〉2. Fornisce come output l’opposto di H, cioe se H accetta,
rifiuta e se H rifiuta, accetta
〈M〉 → D → 〈M, 〈M〉〉 → H →
{accetta
rifiuta→ I →
{rifiuta
accetta
Quindi
D(〈M〉) =
{rifiuta se M accetta 〈M〉,accetta se M rifiuta 〈M〉
![Page 125: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/125.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Costruiamo una nuova MdT D che usa H come sottoprogrammaD sull’input 〈M〉, dove M e una MdT:
1. Simula H sull’input 〈M, 〈M〉〉2. Fornisce come output l’opposto di H, cioe se H accetta,
rifiuta e se H rifiuta, accetta
〈M〉 → D → 〈M, 〈M〉〉 → H →
{accetta
rifiuta→ I →
{rifiuta
accetta
Quindi
D(〈M〉) =
{rifiuta se M accetta 〈M〉,accetta se M rifiuta 〈M〉
![Page 126: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/126.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Costruiamo una nuova MdT D che usa H come sottoprogrammaD sull’input 〈M〉, dove M e una MdT:
1. Simula H sull’input 〈M, 〈M〉〉2. Fornisce come output l’opposto di H, cioe se H accetta,
rifiuta e se H rifiuta, accetta
〈M〉 → D → 〈M, 〈M〉〉 → H →
{accetta
rifiuta→ I →
{rifiuta
accetta
Quindi
D(〈M〉) =
{rifiuta se M accetta 〈M〉,accetta se M rifiuta 〈M〉
![Page 127: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/127.jpg)
Indecidibilita del problema della fermata: Dimostrazione
1. Nota: MdT M deve essere in grado di accettare ogni stringa.
2. Nota: La codifica 〈M〉 di M e una stringa.
3. Nota: Operare una macchina sulla sua codifica e analogo adusare un compilatore Pascal per compilarlo(il compilatore Pascal e scritto in Pascal).
![Page 128: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/128.jpg)
Indecidibilita del problema della fermata: Dimostrazione
1. Nota: MdT M deve essere in grado di accettare ogni stringa.
2. Nota: La codifica 〈M〉 di M e una stringa.
3. Nota: Operare una macchina sulla sua codifica e analogo adusare un compilatore Pascal per compilarlo(il compilatore Pascal e scritto in Pascal).
![Page 129: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/129.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Autoreferenzialita puo essere pericolosa!
Ora se diamo in input a D la sua stessa codifica 〈D〉 abbiamo
D(〈D〉) =
{rifiuta se D accetta 〈D〉,accetta se D rifiuta 〈D〉
〈D〉 → D → 〈D, 〈D〉〉 → H →
{accetta
rifiuta→ I →
{rifiuta
accetta
Cioe D accetta 〈D〉 se e solo se D rifiuta 〈D〉Assurdo!Tutto causato dall’assunzione che esiste H!Quindi H non esiste!�
![Page 130: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/130.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Autoreferenzialita puo essere pericolosa!
Ora se diamo in input a D la sua stessa codifica 〈D〉 abbiamo
D(〈D〉) =
{rifiuta se D accetta 〈D〉,accetta se D rifiuta 〈D〉
〈D〉 → D → 〈D, 〈D〉〉 → H →
{accetta
rifiuta→ I →
{rifiuta
accetta
Cioe D accetta 〈D〉 se e solo se D rifiuta 〈D〉Assurdo!Tutto causato dall’assunzione che esiste H!Quindi H non esiste!�
![Page 131: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/131.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Autoreferenzialita puo essere pericolosa!
Ora se diamo in input a D la sua stessa codifica 〈D〉 abbiamo
D(〈D〉) =
{rifiuta se D accetta 〈D〉,accetta se D rifiuta 〈D〉
〈D〉 → D → 〈D, 〈D〉〉 → H →
{accetta
rifiuta→ I →
{rifiuta
accetta
Cioe D accetta 〈D〉 se e solo se D rifiuta 〈D〉Assurdo!Tutto causato dall’assunzione che esiste H!Quindi H non esiste!�
![Page 132: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/132.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Autoreferenzialita puo essere pericolosa!
Ora se diamo in input a D la sua stessa codifica 〈D〉 abbiamo
D(〈D〉) =
{rifiuta se D accetta 〈D〉,accetta se D rifiuta 〈D〉
〈D〉 → D → 〈D, 〈D〉〉 → H →
{accetta
rifiuta→ I →
{rifiuta
accetta
Cioe D accetta 〈D〉 se e solo se D rifiuta 〈D〉Assurdo!Tutto causato dall’assunzione che esiste H!Quindi H non esiste!�
![Page 133: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/133.jpg)
Indecidibilita del problema della fermata: Dimostrazione
Autoreferenzialita puo essere pericolosa!
Ora se diamo in input a D la sua stessa codifica 〈D〉 abbiamo
D(〈D〉) =
{rifiuta se D accetta 〈D〉,accetta se D rifiuta 〈D〉
〈D〉 → D → 〈D, 〈D〉〉 → H →
{accetta
rifiuta→ I →
{rifiuta
accetta
Cioe D accetta 〈D〉 se e solo se D rifiuta 〈D〉Assurdo!Tutto causato dall’assunzione che esiste H!Quindi H non esiste!�
![Page 134: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/134.jpg)
Indecidibilita del problema della fermata: Riepilogo dellaDimostrazione
1. Definiamo AMdT = {〈M,w〉 |M e MdT che accetta w}2. Assumiamo AMdT decidibile; sia H MdT che lo decide
3. Usiamo H per costruire MdT D che inverte le decisioni;D(〈M〉): accetta se M rifiuta 〈M〉 ; rifiuta se M accetta 〈M〉.
4. Diamo in input a D la sua codifica 〈D〉:D(〈D〉): accetta sse D rifiuta.Contraddizione
![Page 135: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/135.jpg)
Diagonalizzazione?
Consideriamo la tavola
〈M1〉 〈M2〉 〈M3〉 〈M4〉 . . .
M1 acc acc . . .M2 acc acc acc acc . . .M3
M2 acc acc . . ....
......
......
...
![Page 136: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/136.jpg)
Diagonalizzazione?
Consideriamo H: MdT H rifiuta se Mi va in loop
〈M1〉 〈M2〉 〈M3〉 〈M4〉 . . .
M1 acc rej acc rej . . .M2 acc acc acc acc . . .M3 rej rej rej rej . . .M2 acc acc rej rej . . .
......
......
......
![Page 137: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/137.jpg)
Diagonalizzazione?
Consideriamo ora D e D(〈D〉):
Dobbiamo considerare la diagonale!
〈M1〉 〈M2〉 〈M3〉 〈M4〉 . . . 〈D〉 . . .
M1 acc rej acc rej . . . . . . . . .M2 acc acc acc acc . . . . . . . . .M3 rej rej rej rej . . . . . . . . .M2 acc acc rej rej . . . . . . . . .
......
......
......
......
D acc acc rej rej . . . ??? . . ....
......
......
......
...
![Page 138: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/138.jpg)
Indecidibilita
I Nella prova precedente e stato utilizzato il metodo delladiagonalizzazione.
I In conclusione, AMdT e Turing riconoscibile ma e indecidibile.
I Che differenza c’e tra le due dimostrazioni?Cioe che differenza c’e tra U e D?
I Sappiamo che esistono linguaggi che non sono Turingriconoscibili.
I Vogliamo individuare uno specifico linguaggio non Turingriconoscibile (AMdT )
![Page 139: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/139.jpg)
Indecidibilita
I Nella prova precedente e stato utilizzato il metodo delladiagonalizzazione.
I In conclusione, AMdT e Turing riconoscibile ma e indecidibile.
I Che differenza c’e tra le due dimostrazioni?Cioe che differenza c’e tra U e D?
I Sappiamo che esistono linguaggi che non sono Turingriconoscibili.
I Vogliamo individuare uno specifico linguaggio non Turingriconoscibile (AMdT )
![Page 140: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/140.jpg)
Indecidibilita
I Nella prova precedente e stato utilizzato il metodo delladiagonalizzazione.
I In conclusione, AMdT e Turing riconoscibile ma e indecidibile.
I Che differenza c’e tra le due dimostrazioni?Cioe che differenza c’e tra U e D?
I Sappiamo che esistono linguaggi che non sono Turingriconoscibili.
I Vogliamo individuare uno specifico linguaggio non Turingriconoscibile (AMdT )
![Page 141: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/141.jpg)
Un linguaggio che non e Turing riconoscibile
Definizione
Diciamo che un linguaggio L e co-Turing riconoscibile se L eTuring riconoscibile.
Teorema
Un linguaggio L e decidibile se e solo se L e Turing riconoscibile eco-Turing riconoscibile.
![Page 142: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/142.jpg)
Un linguaggio che non e Turing riconoscibile
Definizione
Diciamo che un linguaggio L e co-Turing riconoscibile se L eTuring riconoscibile.
Teorema
Un linguaggio L e decidibile se e solo se L e Turing riconoscibile eco-Turing riconoscibile.
![Page 143: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/143.jpg)
Un linguaggio che non e Turing riconoscibile
L e decidibile ⇔ L e il suo complemento sono entrambi Turingriconoscibili.
Dimostrazione(⇒) Se L e decidibile allora esiste una macchina di Turing Mcon due possibili risultati di una computazione (accettazione,rifiuto) e tale che M accetta w se e solo se w ∈ L. Allora L eTuring riconoscibile. Inoltre e facile costruire una MdTM che accetta w se e solo se w 6∈ L:
w → H →
{accetta se w ∈ L
rifiuta se w 6∈ L→
{rifiuta se H accetta
accetta se H rifiuta
![Page 144: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/144.jpg)
Un linguaggio che non e Turing riconoscibile
L e decidibile ⇔ L e il suo complemento sono entrambi Turingriconoscibili.
Dimostrazione(⇒) Se L e decidibile allora esiste una macchina di Turing Mcon due possibili risultati di una computazione (accettazione,rifiuto) e tale che M accetta w se e solo se w ∈ L. Allora L eTuring riconoscibile. Inoltre e facile costruire una MdTM che accetta w se e solo se w 6∈ L:
w → H →
{accetta se w ∈ L
rifiuta se w 6∈ L→
{rifiuta se H accetta
accetta se H rifiuta
![Page 145: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/145.jpg)
Un linguaggio che non e Turing riconoscibile
L e decidibile ⇔ L e il suo complemento sono entrambi Turingriconoscibili.
Dimostrazione(⇒) Se L e decidibile allora esiste una macchina di Turing Mcon due possibili risultati di una computazione (accettazione,rifiuto) e tale che M accetta w se e solo se w ∈ L. Allora L eTuring riconoscibile. Inoltre e facile costruire una MdTM che accetta w se e solo se w 6∈ L:
w → H →
{accetta se w ∈ L
rifiuta se w 6∈ L→
{rifiuta se H accetta
accetta se H rifiuta
![Page 146: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/146.jpg)
Un linguaggio che non e Turing riconoscibile
(⇐) Supponiamo che L e il suo complemento siano entrambiTuring riconoscibili. Sia M1 una MdTche riconosce L e M2 una MdTche riconosce L. Definiamo una MdTN (a due nastri): sull’input x
1. Copia x sui nastri di M1 e M2
2. Simula M1 e M2 in parallelo (usa un nastro per M1, l’altro perM2
3. Se M1 accetta, accetta; se M2 accetta, rifiuta
![Page 147: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/147.jpg)
Un linguaggio che non e Turing riconoscibile
(⇐) Supponiamo che L e il suo complemento siano entrambiTuring riconoscibili. Sia M1 una MdTche riconosce L e M2 una MdTche riconosce L. Definiamo una MdTN (a due nastri): sull’input x
1. Copia x sui nastri di M1 e M2
2. Simula M1 e M2 in parallelo (usa un nastro per M1, l’altro perM2
3. Se M1 accetta, accetta; se M2 accetta, rifiuta
![Page 148: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/148.jpg)
Un linguaggio che non e Turing riconoscibile
(⇐) Supponiamo che L e il suo complemento siano entrambiTuring riconoscibili. Sia M1 una MdTche riconosce L e M2 una MdTche riconosce L. Definiamo una MdTN (a due nastri): sull’input x
1. Copia x sui nastri di M1 e M2
2. Simula M1 e M2 in parallelo (usa un nastro per M1, l’altro perM2
3. Se M1 accetta, accetta; se M2 accetta, rifiuta
![Page 149: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/149.jpg)
Un linguaggio che non e Turing riconoscibile
(⇐) Supponiamo che L e il suo complemento siano entrambiTuring riconoscibili. Sia M1 una MdTche riconosce L e M2 una MdTche riconosce L. Definiamo una MdTN (a due nastri): sull’input x
1. Copia x sui nastri di M1 e M2
2. Simula M1 e M2 in parallelo (usa un nastro per M1, l’altro perM2
3. Se M1 accetta, accetta; se M2 accetta, rifiuta
![Page 150: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/150.jpg)
Un linguaggio che non e Turing riconoscibile
x →M1 →accetta
M2 → accetta →
{accetta se M1 accetta
rifiuta se M2 accetta
N decide L. Infatti, per ogni stringa x abbiamo due casi:
1. x ∈ L. Ma x ∈ L se e solo se M1 si arresta e accetta x . QuindiN accetta x .
2. x 6∈ L. Ma x 6∈ L se e solo se M2 si arresta e accetta x . QuindiN rifiuta x .
Poiche una e solo una delle due MdTaccetta x , N e una MdTcon solo due possibili risultati di una computazione(accettazione, rifiuto) e tale che N accetta x se e solo sex ∈ L.
�
![Page 151: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/151.jpg)
Un linguaggio che non e Turing riconoscibile
x →M1 →accetta
M2 → accetta →
{accetta se M1 accetta
rifiuta se M2 accetta
N decide L. Infatti, per ogni stringa x abbiamo due casi:
1. x ∈ L. Ma x ∈ L se e solo se M1 si arresta e accetta x . QuindiN accetta x .
2. x 6∈ L. Ma x 6∈ L se e solo se M2 si arresta e accetta x . QuindiN rifiuta x .
Poiche una e solo una delle due MdTaccetta x , N e una MdTcon solo due possibili risultati di una computazione(accettazione, rifiuto) e tale che N accetta x se e solo sex ∈ L.
�
![Page 152: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/152.jpg)
Un linguaggio che non e Turing riconoscibile
x →M1 →accetta
M2 → accetta →
{accetta se M1 accetta
rifiuta se M2 accetta
N decide L. Infatti, per ogni stringa x abbiamo due casi:
1. x ∈ L. Ma x ∈ L se e solo se M1 si arresta e accetta x . QuindiN accetta x .
2. x 6∈ L. Ma x 6∈ L se e solo se M2 si arresta e accetta x . QuindiN rifiuta x .
Poiche una e solo una delle due MdTaccetta x , N e una MdTcon solo due possibili risultati di una computazione(accettazione, rifiuto) e tale che N accetta x se e solo sex ∈ L.
�
![Page 153: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/153.jpg)
Un linguaggio che non e Turing riconoscibile
x →M1 →accetta
M2 → accetta →
{accetta se M1 accetta
rifiuta se M2 accetta
N decide L. Infatti, per ogni stringa x abbiamo due casi:
1. x ∈ L. Ma x ∈ L se e solo se M1 si arresta e accetta x . QuindiN accetta x .
2. x 6∈ L. Ma x 6∈ L se e solo se M2 si arresta e accetta x . QuindiN rifiuta x .
Poiche una e solo una delle due MdTaccetta x , N e una MdTcon solo due possibili risultati di una computazione(accettazione, rifiuto) e tale che N accetta x se e solo sex ∈ L.
�
![Page 154: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/154.jpg)
Un linguaggio che non e Turing riconoscibile
x →M1 →accetta
M2 → accetta →
{accetta se M1 accetta
rifiuta se M2 accetta
N decide L. Infatti, per ogni stringa x abbiamo due casi:
1. x ∈ L. Ma x ∈ L se e solo se M1 si arresta e accetta x . QuindiN accetta x .
2. x 6∈ L. Ma x 6∈ L se e solo se M2 si arresta e accetta x . QuindiN rifiuta x .
Poiche una e solo una delle due MdTaccetta x , N e una MdTcon solo due possibili risultati di una computazione(accettazione, rifiuto) e tale che N accetta x se e solo sex ∈ L.
�
![Page 155: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/155.jpg)
Un linguaggio che non e Turing riconoscibile
Teorema
AMdT non e Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che AMdT sia Turing riconoscibile.Sappiamo che AMdT e Turing riconoscibile.Quindi AMdT e Turing riconoscibile e co-Turing riconoscibile.Per il precedente teorema, AMdT e decidibile.Assurdo, poiche abbiamo dimostrato che AMdT e indecidibile.
![Page 156: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/156.jpg)
Un linguaggio che non e Turing riconoscibile
Teorema
AMdT non e Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che AMdT sia Turing riconoscibile.
Sappiamo che AMdT e Turing riconoscibile.Quindi AMdT e Turing riconoscibile e co-Turing riconoscibile.Per il precedente teorema, AMdT e decidibile.Assurdo, poiche abbiamo dimostrato che AMdT e indecidibile.
![Page 157: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/157.jpg)
Un linguaggio che non e Turing riconoscibile
Teorema
AMdT non e Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che AMdT sia Turing riconoscibile.Sappiamo che AMdT e Turing riconoscibile.
Quindi AMdT e Turing riconoscibile e co-Turing riconoscibile.Per il precedente teorema, AMdT e decidibile.Assurdo, poiche abbiamo dimostrato che AMdT e indecidibile.
![Page 158: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/158.jpg)
Un linguaggio che non e Turing riconoscibile
Teorema
AMdT non e Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che AMdT sia Turing riconoscibile.Sappiamo che AMdT e Turing riconoscibile.Quindi AMdT e Turing riconoscibile e co-Turing riconoscibile.
Per il precedente teorema, AMdT e decidibile.Assurdo, poiche abbiamo dimostrato che AMdT e indecidibile.
![Page 159: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/159.jpg)
Un linguaggio che non e Turing riconoscibile
Teorema
AMdT non e Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che AMdT sia Turing riconoscibile.Sappiamo che AMdT e Turing riconoscibile.Quindi AMdT e Turing riconoscibile e co-Turing riconoscibile.Per il precedente teorema, AMdT e decidibile.
Assurdo, poiche abbiamo dimostrato che AMdT e indecidibile.
![Page 160: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/160.jpg)
Un linguaggio che non e Turing riconoscibile
Teorema
AMdT non e Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che AMdT sia Turing riconoscibile.Sappiamo che AMdT e Turing riconoscibile.Quindi AMdT e Turing riconoscibile e co-Turing riconoscibile.Per il precedente teorema, AMdT e decidibile.Assurdo, poiche abbiamo dimostrato che AMdT e indecidibile.
![Page 161: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/161.jpg)
Riducibilita
E importante riconoscere che un problema P e indecidibile.
Come? Due possibilita:
I Supporre l’esistenza di una MdTche decide P e provare che questo conduce a unacontraddizione.
I Considerare un problema P ′ di cui sia nota l’indecidibilita edimostrare che P ′ “non e piu difficile” del problema inquestione P.
![Page 162: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/162.jpg)
Riducibilita
E importante riconoscere che un problema P e indecidibile.
Come? Due possibilita:
I Supporre l’esistenza di una MdTche decide P e provare che questo conduce a unacontraddizione.
I Considerare un problema P ′ di cui sia nota l’indecidibilita edimostrare che P ′ “non e piu difficile” del problema inquestione P.
![Page 163: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/163.jpg)
Riducibilita
E importante riconoscere che un problema P e indecidibile.
Come? Due possibilita:
I Supporre l’esistenza di una MdTche decide P e provare che questo conduce a unacontraddizione.
I Considerare un problema P ′ di cui sia nota l’indecidibilita edimostrare che P ′ “non e piu difficile” del problema inquestione P.
![Page 164: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/164.jpg)
Riducibilita
E importante riconoscere che un problema P e indecidibile.
Come? Due possibilita:
I Supporre l’esistenza di una MdTche decide P e provare che questo conduce a unacontraddizione.
I Considerare un problema P ′ di cui sia nota l’indecidibilita edimostrare che P ′ “non e piu difficile” del problema inquestione P.
![Page 165: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/165.jpg)
Riducibilita: un esempio
Esempio Σ = {0, 1}.
EVEN = {w ∈ Σ∗ | w e la rappresentazione binaria di n ∈ N pari}
ODD = {w ∈ Σ∗ | w e la rappresentazione binaria di n ∈ N dispari}
Sia w ∈ Σ∗ e sia n il corrispondente decimale di w . E facilecostruire la MdTINCR:
w → INCR → w ′ (= rappresentazione binaria di n + 1)
![Page 166: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/166.jpg)
Riducibilita: un esempio
Esempio Σ = {0, 1}.
EVEN = {w ∈ Σ∗ | w e la rappresentazione binaria di n ∈ N pari}
ODD = {w ∈ Σ∗ | w e la rappresentazione binaria di n ∈ N dispari}
Sia w ∈ Σ∗ e sia n il corrispondente decimale di w . E facilecostruire la MdTINCR:
w → INCR → w ′ (= rappresentazione binaria di n + 1)
![Page 167: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/167.jpg)
Riducibilita: un esempio
Esempio Σ = {0, 1}.
EVEN = {w ∈ Σ∗ | w e la rappresentazione binaria di n ∈ N pari}
ODD = {w ∈ Σ∗ | w e la rappresentazione binaria di n ∈ N dispari}
Sia w ∈ Σ∗ e sia n il corrispondente decimale di w . E facilecostruire la MdTINCR:
w → INCR → w ′ (= rappresentazione binaria di n + 1)
![Page 168: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/168.jpg)
Riducibilita: un esempio
Esempio Σ = {0, 1}.
EVEN = {w ∈ Σ∗ | w e la rappresentazione binaria di n ∈ N pari}
ODD = {w ∈ Σ∗ | w e la rappresentazione binaria di n ∈ N dispari}
Sia w ∈ Σ∗ e sia n il corrispondente decimale di w . E facilecostruire la MdTINCR:
w → INCR → w ′ (= rappresentazione binaria di n + 1)
![Page 169: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/169.jpg)
Riducibilita: un esempio
I EVEN “non e piu difficile” di ODD: se esiste una MdTR che decide ODD, la MdTS decide EVEN.
S : w → INCR → w ′ → R
I Viceversa se EVEN e indecidibile proviamo cosı che ancheODD lo e: se per assurdo esistesse una MdTR che decide ODD, la MdTS deciderebbe EVEN.
I Problema. Possiamo dire che ODD “non e piu difficile” diEVEN? In che modo?
![Page 170: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/170.jpg)
Riducibilita: un esempio
I EVEN “non e piu difficile” di ODD: se esiste una MdTR che decide ODD, la MdTS decide EVEN.
S : w → INCR → w ′ → R
I Viceversa se EVEN e indecidibile proviamo cosı che ancheODD lo e: se per assurdo esistesse una MdTR che decide ODD, la MdTS deciderebbe EVEN.
I Problema. Possiamo dire che ODD “non e piu difficile” diEVEN? In che modo?
![Page 171: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/171.jpg)
Riducibilita: un esempio
I EVEN “non e piu difficile” di ODD: se esiste una MdTR che decide ODD, la MdTS decide EVEN.
S : w → INCR → w ′ → R
I Viceversa se EVEN e indecidibile proviamo cosı che ancheODD lo e: se per assurdo esistesse una MdTR che decide ODD, la MdTS deciderebbe EVEN.
I Problema. Possiamo dire che ODD “non e piu difficile” diEVEN? In che modo?
![Page 172: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/172.jpg)
Riducibilita: un esempio
I EVEN “non e piu difficile” di ODD: se esiste una MdTR che decide ODD, la MdTS decide EVEN.
S : w → INCR → w ′ → R
I Viceversa se EVEN e indecidibile proviamo cosı che ancheODD lo e: se per assurdo esistesse una MdTR che decide ODD, la MdTS deciderebbe EVEN.
I Problema. Possiamo dire che ODD “non e piu difficile” diEVEN? In che modo?
![Page 173: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/173.jpg)
Riducibilita: un altro esempio
Esempio (il “vero” problema della fermata):
HALTMdT = {〈M,w〉 | M e una MdT e M si arresta su w}
Se HALTMdT fosse decidibile potremmo decidere anche AMdT :
I Sia R una MdT che decide HALTMdT .
I Costruiamo S che sull’input 〈M,w〉, dove M e una MdT e we una stringa:
- simula R su 〈M,w〉- se R rifiuta, rifiuta; se R accetta (questo significa che M si
ferma su w) simula M finche M si arresta su w .- Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT . Poichesappiamo che AMdT e indecidibile allora anche HALTMdT
deve essere indecidibile.
![Page 174: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/174.jpg)
Riducibilita: un altro esempio
Esempio (il “vero” problema della fermata):
HALTMdT = {〈M,w〉 | M e una MdT e M si arresta su w}
Se HALTMdT fosse decidibile potremmo decidere anche AMdT :
I Sia R una MdT che decide HALTMdT .
I Costruiamo S che sull’input 〈M,w〉, dove M e una MdT e we una stringa:
- simula R su 〈M,w〉- se R rifiuta, rifiuta; se R accetta (questo significa che M si
ferma su w) simula M finche M si arresta su w .- Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT . Poichesappiamo che AMdT e indecidibile allora anche HALTMdT
deve essere indecidibile.
![Page 175: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/175.jpg)
Riducibilita: un altro esempio
Esempio (il “vero” problema della fermata):
HALTMdT = {〈M,w〉 | M e una MdT e M si arresta su w}
Se HALTMdT fosse decidibile potremmo decidere anche AMdT :
I Sia R una MdT che decide HALTMdT .
I Costruiamo S che sull’input 〈M,w〉, dove M e una MdT e we una stringa:
- simula R su 〈M,w〉- se R rifiuta, rifiuta; se R accetta (questo significa che M si
ferma su w) simula M finche M si arresta su w .- Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT . Poichesappiamo che AMdT e indecidibile allora anche HALTMdT
deve essere indecidibile.
![Page 176: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/176.jpg)
Riducibilita: un altro esempio
Esempio (il “vero” problema della fermata):
HALTMdT = {〈M,w〉 | M e una MdT e M si arresta su w}
Se HALTMdT fosse decidibile potremmo decidere anche AMdT :
I Sia R una MdT che decide HALTMdT .
I Costruiamo S che sull’input 〈M,w〉, dove M e una MdT e we una stringa:
- simula R su 〈M,w〉- se R rifiuta, rifiuta; se R accetta (questo significa che M si
ferma su w) simula M finche M si arresta su w .- Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT . Poichesappiamo che AMdT e indecidibile allora anche HALTMdT
deve essere indecidibile.
![Page 177: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/177.jpg)
Riducibilita: un altro esempio
Esempio (il “vero” problema della fermata):
HALTMdT = {〈M,w〉 | M e una MdT e M si arresta su w}
Se HALTMdT fosse decidibile potremmo decidere anche AMdT :
I Sia R una MdT che decide HALTMdT .
I Costruiamo S che sull’input 〈M,w〉, dove M e una MdT e we una stringa:
- simula R su 〈M,w〉
- se R rifiuta, rifiuta; se R accetta (questo significa che M siferma su w) simula M finche M si arresta su w .
- Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT . Poichesappiamo che AMdT e indecidibile allora anche HALTMdT
deve essere indecidibile.
![Page 178: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/178.jpg)
Riducibilita: un altro esempio
Esempio (il “vero” problema della fermata):
HALTMdT = {〈M,w〉 | M e una MdT e M si arresta su w}
Se HALTMdT fosse decidibile potremmo decidere anche AMdT :
I Sia R una MdT che decide HALTMdT .
I Costruiamo S che sull’input 〈M,w〉, dove M e una MdT e we una stringa:
- simula R su 〈M,w〉- se R rifiuta, rifiuta; se R accetta (questo significa che M si
ferma su w) simula M finche M si arresta su w .
- Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT . Poichesappiamo che AMdT e indecidibile allora anche HALTMdT
deve essere indecidibile.
![Page 179: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/179.jpg)
Riducibilita: un altro esempio
Esempio (il “vero” problema della fermata):
HALTMdT = {〈M,w〉 | M e una MdT e M si arresta su w}
Se HALTMdT fosse decidibile potremmo decidere anche AMdT :
I Sia R una MdT che decide HALTMdT .
I Costruiamo S che sull’input 〈M,w〉, dove M e una MdT e we una stringa:
- simula R su 〈M,w〉- se R rifiuta, rifiuta; se R accetta (questo significa che M si
ferma su w) simula M finche M si arresta su w .- Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT . Poichesappiamo che AMdT e indecidibile allora anche HALTMdT
deve essere indecidibile.
![Page 180: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/180.jpg)
Riducibilita: un altro esempio
Esempio (il “vero” problema della fermata):
HALTMdT = {〈M,w〉 | M e una MdT e M si arresta su w}
Se HALTMdT fosse decidibile potremmo decidere anche AMdT :
I Sia R una MdT che decide HALTMdT .
I Costruiamo S che sull’input 〈M,w〉, dove M e una MdT e we una stringa:
- simula R su 〈M,w〉- se R rifiuta, rifiuta; se R accetta (questo significa che M si
ferma su w) simula M finche M si arresta su w .- Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT . Poichesappiamo che AMdT e indecidibile allora anche HALTMdT
deve essere indecidibile.
![Page 181: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/181.jpg)
Riducibilita: un altro esempio
Analizziamo l’esempio precedente:
I A partire dalla MdT R che decide HALTMdT abbiamocostruito una MdT S decide AMdT .
I Questa MdT S e ottenuta facendo seguire alla computazionedi R e se R accetta, la computazione di una MdT M ′:
〈M,w〉 → M ′ : Simula M su w →
{accetta se M accetta w ;
cicla altrimenti
I M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdT G .
![Page 182: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/182.jpg)
Riducibilita: un altro esempio
Analizziamo l’esempio precedente:
I A partire dalla MdT R che decide HALTMdT abbiamocostruito una MdT S decide AMdT .
I Questa MdT S e ottenuta facendo seguire alla computazionedi R e se R accetta, la computazione di una MdT M ′:
〈M,w〉 → M ′ : Simula M su w →
{accetta se M accetta w ;
cicla altrimenti
I M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdT G .
![Page 183: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/183.jpg)
Riducibilita: un altro esempio
Analizziamo l’esempio precedente:
I A partire dalla MdT R che decide HALTMdT abbiamocostruito una MdT S decide AMdT .
I Questa MdT S e ottenuta facendo seguire alla computazionedi R e se R accetta, la computazione di una MdT M ′:
〈M,w〉 → M ′ : Simula M su w →
{accetta se M accetta w ;
cicla altrimenti
I M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdT G .
![Page 184: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/184.jpg)
Riducibilita: un altro esempio
Analizziamo l’esempio precedente:
I A partire dalla MdT R che decide HALTMdT abbiamocostruito una MdT S decide AMdT .
I Questa MdT S e ottenuta facendo seguire alla computazionedi R e se R accetta, la computazione di una MdT M ′:
〈M,w〉 → M ′ : Simula M su w →
{accetta se M accetta w ;
cicla altrimenti
I M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdT G .
![Page 185: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/185.jpg)
Riducibilita: un altro esempio
Analizziamo l’esempio precedente:
I A partire dalla MdT R che decide HALTMdT abbiamocostruito una MdT S decide AMdT .
I Questa MdT S e ottenuta facendo seguire alla computazionedi R e se R accetta, la computazione di una MdT M ′:
〈M,w〉 → M ′ : Simula M su w →
{accetta se M accetta w ;
cicla altrimenti
I M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdT G .
![Page 186: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/186.jpg)
Riducibilita: un altro esempio
Quindi due requisiti:
1. La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdTG .
2. M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I due requisiti sono entrambi necessari:
1. Il primo assicura che possiamo costruire una MdT
S : 〈M,w〉 → G → 〈M ′,w〉 → MdT che decide HALTMdT
2. Il secondo che la MdT S deciderebbe AMdT
![Page 187: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/187.jpg)
Riducibilita: un altro esempio
Quindi due requisiti:
1. La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdTG .
2. M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I due requisiti sono entrambi necessari:
1. Il primo assicura che possiamo costruire una MdT
S : 〈M,w〉 → G → 〈M ′,w〉 → MdT che decide HALTMdT
2. Il secondo che la MdT S deciderebbe AMdT
![Page 188: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/188.jpg)
Riducibilita: un altro esempio
Quindi due requisiti:
1. La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdTG .
2. M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I due requisiti sono entrambi necessari:
1. Il primo assicura che possiamo costruire una MdT
S : 〈M,w〉 → G → 〈M ′,w〉 → MdT che decide HALTMdT
2. Il secondo che la MdT S deciderebbe AMdT
![Page 189: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/189.jpg)
Riducibilita: un altro esempio
Quindi due requisiti:
1. La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdTG .
2. M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I due requisiti sono entrambi necessari:
1. Il primo assicura che possiamo costruire una MdT
S : 〈M,w〉 → G → 〈M ′,w〉 → MdT che decide HALTMdT
2. Il secondo che la MdT S deciderebbe AMdT
![Page 190: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/190.jpg)
Riducibilita: un altro esempio
Quindi due requisiti:
1. La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdTG .
2. M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I due requisiti sono entrambi necessari:
1. Il primo assicura che possiamo costruire una MdT
S : 〈M,w〉 → G → 〈M ′,w〉 → MdT che decide HALTMdT
2. Il secondo che la MdT S deciderebbe AMdT
![Page 191: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/191.jpg)
Riducibilita: un altro esempio
Quindi due requisiti:
1. La stringa F (〈M,w〉) = 〈M ′,w〉 puo essere ottenuta medianteuna MdTG .
2. M ′ si ferma su w se e solo se M accetta w , cioe:
〈M,w〉 ∈ AMdT ⇔ 〈M ′,w〉 ∈ HALTMdT
I due requisiti sono entrambi necessari:
1. Il primo assicura che possiamo costruire una MdT
S : 〈M,w〉 → G → 〈M ′,w〉 → MdT che decide HALTMdT
2. Il secondo che la MdT S deciderebbe AMdT
![Page 192: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/192.jpg)
Schema di Riduzione
Dal problema A al Problema B
1. Sappiamo che A risulta indecidibile
2. Vogliamo provare che B e indecidibile
3. Assumiamo (per assurdo) B decidibile edusiamo questa assunzione per provare A decidibile
4. La contraddizione ci fa concludere: B indecidibile
![Page 193: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/193.jpg)
Schema di Riduzione
Dal problema A al Problema B
1. Sappiamo che A risulta indecidibile
2. Vogliamo provare che B e indecidibile
3. Assumiamo (per assurdo) B decidibile edusiamo questa assunzione per provare A decidibile
4. La contraddizione ci fa concludere: B indecidibile
![Page 194: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/194.jpg)
Schema di Riduzione
Dal problema A al Problema B
1. Sappiamo che A risulta indecidibile
2. Vogliamo provare che B e indecidibile
3. Assumiamo (per assurdo) B decidibile edusiamo questa assunzione per provare A decidibile
4. La contraddizione ci fa concludere: B indecidibile
![Page 195: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/195.jpg)
Schema di Riduzione
Dal problema A al Problema B
1. Sappiamo che A risulta indecidibile
2. Vogliamo provare che B e indecidibile
3. Assumiamo (per assurdo) B decidibile edusiamo questa assunzione per provare A decidibile
4. La contraddizione ci fa concludere: B indecidibile
![Page 196: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/196.jpg)
Riepilogo per HALTMdT
Dal problema A al Problema B
1. Sappiamo che A risulta indecidibileUnico conosciuto: A = AMdT
2. Vogliamo provare che B e indecidibileHALTMdT gioca il ruolo di B
3. Assumiamo (per assurdo) B decidibile ed usiamo questaassunzione per provare A decidibileProviamo HALTMdT decidibile ⇒ AMdT decidibile
Sia R una MdT che decide HALTMdT .Costruiamo S che sull’input 〈M,w〉
I simula R su 〈M,w〉I Se R accetta (M si ferma su w)
I simula M finche M si arresta su w .Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT !
4. La contraddizione ci fa concludere: B = HALTMdT
indecidibile
![Page 197: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/197.jpg)
Riepilogo per HALTMdT
Dal problema A al Problema B
1. Sappiamo che A risulta indecidibileUnico conosciuto: A = AMdT
2. Vogliamo provare che B e indecidibileHALTMdT gioca il ruolo di B
3. Assumiamo (per assurdo) B decidibile ed usiamo questaassunzione per provare A decidibileProviamo HALTMdT decidibile ⇒ AMdT decidibileSia R una MdT che decide HALTMdT .Costruiamo S che sull’input 〈M,w〉
I simula R su 〈M,w〉I Se R accetta (M si ferma su w)
I simula M finche M si arresta su w .Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT !
4. La contraddizione ci fa concludere: B = HALTMdT
indecidibile
![Page 198: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/198.jpg)
Riepilogo per HALTMdT
Dal problema A al Problema B
1. Sappiamo che A risulta indecidibileUnico conosciuto: A = AMdT
2. Vogliamo provare che B e indecidibileHALTMdT gioca il ruolo di B
3. Assumiamo (per assurdo) B decidibile ed usiamo questaassunzione per provare A decidibileProviamo HALTMdT decidibile ⇒ AMdT decidibileSia R una MdT che decide HALTMdT .Costruiamo S che sull’input 〈M,w〉
I simula R su 〈M,w〉I Se R accetta (M si ferma su w)
I simula M finche M si arresta su w .Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT !
4. La contraddizione ci fa concludere: B = HALTMdT
indecidibile
![Page 199: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/199.jpg)
Riepilogo per HALTMdT
Dal problema A al Problema B
1. Sappiamo che A risulta indecidibileUnico conosciuto: A = AMdT
2. Vogliamo provare che B e indecidibileHALTMdT gioca il ruolo di B
3. Assumiamo (per assurdo) B decidibile ed usiamo questaassunzione per provare A decidibileProviamo HALTMdT decidibile ⇒ AMdT decidibileSia R una MdT che decide HALTMdT .Costruiamo S che sull’input 〈M,w〉
I simula R su 〈M,w〉I Se R accetta (M si ferma su w)
I simula M finche M si arresta su w .Se M ha accettato, accetta; se M ha rifiutato, rifiuta.
Se R decide HALTMdT allora S decide AMdT !
4. La contraddizione ci fa concludere: B = HALTMdT
indecidibile
![Page 200: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/200.jpg)
Problema del vuoto di MdT
Consideriamo
EMdT = {〈M〉 | M MdT tale che L(M) = ∅}
Teorema
EMdT e indecidibile.
1. Sappiamo che AMdT risulta indecidibile
2. Vogliamo provare che EMdT e indecidibile
3. Assumiamo (per assurdo) EMdT decidibile edusiamo questa assunzione per provare AMdT decidibile
4. La contraddizione ci fa concludere: EMdT indecidibile
![Page 201: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/201.jpg)
Problema del vuoto di MdT
Consideriamo
EMdT = {〈M〉 | M MdT tale che L(M) = ∅}
Teorema
EMdT e indecidibile.
1. Sappiamo che AMdT risulta indecidibile
2. Vogliamo provare che EMdT e indecidibile
3. Assumiamo (per assurdo) EMdT decidibile edusiamo questa assunzione per provare AMdT decidibile
4. La contraddizione ci fa concludere: EMdT indecidibile
![Page 202: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/202.jpg)
Problema del vuoto di MdT
Consideriamo
EMdT = {〈M〉 | M MdT tale che L(M) = ∅}
Teorema
EMdT e indecidibile.
1. Sappiamo che AMdT risulta indecidibile
2. Vogliamo provare che EMdT e indecidibile
3. Assumiamo (per assurdo) EMdT decidibile edusiamo questa assunzione per provare AMdT decidibile
4. La contraddizione ci fa concludere: EMdT indecidibile
![Page 203: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/203.jpg)
Problema del vuoto di MdT
Consideriamo
EMdT = {〈M〉 | M MdT tale che L(M) = ∅}
Teorema
EMdT e indecidibile.
1. Sappiamo che AMdT risulta indecidibile
2. Vogliamo provare che EMdT e indecidibile
3. Assumiamo (per assurdo) EMdT decidibile edusiamo questa assunzione per provare AMdT decidibile
4. La contraddizione ci fa concludere: EMdT indecidibile
![Page 204: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/204.jpg)
Problema del vuoto di MdT
Assumiamo (per assurdo) EMdT decidibile, sia R MdT che lo decideUsiamo R per costruire una MdT S che decide AMdT :
Data istanza 〈M,w〉 di AMdT ,Usiamo R su 〈M〉.
R accetta ⇒ L(M) = ∅ ⇒ M non accetta w⇒ Decider S per AMdT deve rifiutare 〈M,w〉.
R rifiuta 〈M,w〉 ⇒ L(M) 6= ∅Rimane la domanda: w ∈ L(M)?Modifichiamo M in M1
![Page 205: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/205.jpg)
Problema del vuoto di MdT
Assumiamo (per assurdo) EMdT decidibile, sia R MdT che lo decideUsiamo R per costruire una MdT S che decide AMdT :
Data istanza 〈M,w〉 di AMdT ,Usiamo R su 〈M〉.
R accetta ⇒ L(M) = ∅ ⇒ M non accetta w⇒ Decider S per AMdT deve rifiutare 〈M,w〉.
R rifiuta 〈M,w〉 ⇒ L(M) 6= ∅Rimane la domanda: w ∈ L(M)?Modifichiamo M in M1
![Page 206: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/206.jpg)
Problema del vuoto di MdT
Assumiamo (per assurdo) EMdT decidibile, sia R MdT che lo decideUsiamo R per costruire una MdT S che decide AMdT :
Data istanza 〈M,w〉 di AMdT ,Usiamo R su 〈M〉.
R accetta ⇒ L(M) = ∅ ⇒ M non accetta w⇒ Decider S per AMdT deve rifiutare 〈M,w〉.
R rifiuta 〈M,w〉 ⇒ L(M) 6= ∅Rimane la domanda: w ∈ L(M)?Modifichiamo M in M1
![Page 207: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/207.jpg)
Problema del vuoto di MdT
Assumiamo (per assurdo) EMdT decidibile, sia R MdT che lo decideUsiamo R per costruire una MdT S che decide AMdT :
Data istanza 〈M,w〉 di AMdT ,Usiamo R su 〈M〉.
R accetta ⇒ L(M) = ∅ ⇒ M non accetta w⇒ Decider S per AMdT deve rifiutare 〈M,w〉.
R rifiuta 〈M,w〉 ⇒ L(M) 6= ∅Rimane la domanda: w ∈ L(M)?Modifichiamo M in M1
![Page 208: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/208.jpg)
Problema del vuoto di MdT: M1
Iniziamo con MdT t.c. L(M1) = L(M)
![Page 209: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/209.jpg)
Problema del vuoto di MdT: M1
Inseriamo filtro che controlla se l’input corrisponde a w :facendo un confronto carattere per carattere tra input x e stringaw (data)
![Page 210: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/210.jpg)
Problema del vuoto di MdT: M1
Descrizione formale di M1
M1 su input x
1. Se x 6= w , rifiuta
2. Se x = w e M accetta w , accetta
M rifiuta w sse L(M1) = ∅
![Page 211: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/211.jpg)
Problema del vuoto di MdT: S
Input di S corrisponde alla coppia 〈M,w〉Prima di ”usare” R (decider di EMdT ), S deve calcolare la codifica〈M1〉 di M1 (deve aggiungere il filtro)
S su input 〈M,w〉1. Calcola la codifica 〈M1〉 di M1
2. Usa R su input 〈M1〉3. Se R rifiuta, accetta
se R accetta (L(M1) = ∅), rifiuta
Se R accetta (L(M1) = ∅ e quindi w /∈ L(M)) quindi S rifiuta
Se R rifiuta (L(M1) = {w} e w ∈ L(M)) quindi S accetta
Conclusione: Da R abbiamo costruito un decider S per AMdT ,quindi R non esiste.
![Page 212: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/212.jpg)
Problema del vuoto di MdT: S
Input di S corrisponde alla coppia 〈M,w〉Prima di ”usare” R (decider di EMdT ), S deve calcolare la codifica〈M1〉 di M1 (deve aggiungere il filtro)
S su input 〈M,w〉1. Calcola la codifica 〈M1〉 di M1
2. Usa R su input 〈M1〉3. Se R rifiuta, accetta
se R accetta (L(M1) = ∅), rifiuta
Se R accetta (L(M1) = ∅ e quindi w /∈ L(M)) quindi S rifiuta
Se R rifiuta (L(M1) = {w} e w ∈ L(M)) quindi S accetta
Conclusione: Da R abbiamo costruito un decider S per AMdT ,quindi R non esiste.
![Page 213: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/213.jpg)
Problema del vuoto di MdT: S
Input di S corrisponde alla coppia 〈M,w〉Prima di ”usare” R (decider di EMdT ), S deve calcolare la codifica〈M1〉 di M1 (deve aggiungere il filtro)
S su input 〈M,w〉1. Calcola la codifica 〈M1〉 di M1
2. Usa R su input 〈M1〉3. Se R rifiuta, accetta
se R accetta (L(M1) = ∅), rifiuta
Se R accetta (L(M1) = ∅ e quindi w /∈ L(M)) quindi S rifiuta
Se R rifiuta (L(M1) = {w} e w ∈ L(M)) quindi S accetta
Conclusione: Da R abbiamo costruito un decider S per AMdT ,quindi R non esiste.
![Page 214: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/214.jpg)
Problema del vuoto di MdT: S
Input di S corrisponde alla coppia 〈M,w〉Prima di ”usare” R (decider di EMdT ), S deve calcolare la codifica〈M1〉 di M1 (deve aggiungere il filtro)
S su input 〈M,w〉1. Calcola la codifica 〈M1〉 di M1
2. Usa R su input 〈M1〉3. Se R rifiuta, accetta
se R accetta (L(M1) = ∅), rifiuta
Se R accetta (L(M1) = ∅ e quindi w /∈ L(M)) quindi S rifiuta
Se R rifiuta (L(M1) = {w} e w ∈ L(M)) quindi S accetta
Conclusione: Da R abbiamo costruito un decider S per AMdT ,quindi R non esiste.
![Page 215: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/215.jpg)
Funzioni calcolabili
Definizione
Una funzione f : Σ∗ → Σ∗ e calcolabile se esiste una TM M taleche su ogni input w, M si arresta con f (w), e solo con f (w), sulsuo nastro.
I Nota: questa definizione sottolinea la differenza tra definireuna funzione f , cioe definire i valori di f e calcolare tali valoridi f .
I La funzione F : 〈M,w〉 → 〈M1,w〉 dell’esempio precedente ecalcolabile.
![Page 216: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/216.jpg)
Funzioni calcolabili
Definizione
Una funzione f : Σ∗ → Σ∗ e calcolabile se esiste una TM M taleche su ogni input w, M si arresta con f (w), e solo con f (w), sulsuo nastro.
I Nota: questa definizione sottolinea la differenza tra definireuna funzione f , cioe definire i valori di f e calcolare tali valoridi f .
I La funzione F : 〈M,w〉 → 〈M1,w〉 dell’esempio precedente ecalcolabile.
![Page 217: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/217.jpg)
Funzioni calcolabili
Definizione
Una funzione f : Σ∗ → Σ∗ e calcolabile se esiste una TM M taleche su ogni input w, M si arresta con f (w), e solo con f (w), sulsuo nastro.
I Nota: questa definizione sottolinea la differenza tra definireuna funzione f , cioe definire i valori di f e calcolare tali valoridi f .
I La funzione F : 〈M,w〉 → 〈M1,w〉 dell’esempio precedente ecalcolabile.
![Page 218: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/218.jpg)
Funzioni calcolabili
Le seguenti funzioni aritmetiche sono calcolabili (dove n,m ∈ N):
I incr(n) = n + 1
I dec(n) =
{n − 1 se n > 0;
0 se n = 0
I (m, n)→ m + n;
I (m, n)→ m − n;
I (m, n)→ m · n
![Page 219: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/219.jpg)
Riducibilita
Definizione
Un linguaggio A e riducibile a un linguaggio B (A ≤m B) se esisteuna funzione calcolabile f : Σ∗ → Σ∗ tale che ∀w
w ∈ A⇔ f (w) ∈ B
La funzione f e chiamata la riduzione di A a B.
I Una riduzione fornisce un modo per convertireproblemi di appartenenza ad A in problemi di appartenenza aB.
I Se un problema A e riducibile a B e sappiamo risolvere Ballora sappiamo risolvere A⇒ A “non e piu difficile” di B.
![Page 220: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/220.jpg)
Riducibilita
Definizione
Un linguaggio A e riducibile a un linguaggio B (A ≤m B) se esisteuna funzione calcolabile f : Σ∗ → Σ∗ tale che ∀w
w ∈ A⇔ f (w) ∈ B
La funzione f e chiamata la riduzione di A a B.
I Una riduzione fornisce un modo per convertireproblemi di appartenenza ad A in problemi di appartenenza aB.
I Se un problema A e riducibile a B e sappiamo risolvere Ballora sappiamo risolvere A⇒ A “non e piu difficile” di B.
![Page 221: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/221.jpg)
Riduzioni
Teorema
Se A ≤m B e B e decidibile, allora A e decidibile.
Siano: M il decider per B ed f la riduzione da A a BCostruiamo un decider N per A: su input w
I Calcola f (w)I ”utilizza” M su f (w) e da lo stesso output.
w ∈ A ⇔ f (w) ∈ B (f riduzione da A a B) ⇔ M accetta f (w)
Quindi N decide A.
Teorema
Se A ≤m B e B e Turing riconoscibile, allora A e Turingriconoscibile.
RA riconoscitore per A, RB riconoscitore per B,
RA : w → f → f (w)→ RB
![Page 222: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/222.jpg)
Riduzioni
Teorema
Se A ≤m B e B e decidibile, allora A e decidibile.
Siano: M il decider per B ed f la riduzione da A a BCostruiamo un decider N per A: su input w
I Calcola f (w)I ”utilizza” M su f (w) e da lo stesso output.
w ∈ A ⇔ f (w) ∈ B (f riduzione da A a B) ⇔ M accetta f (w)
Quindi N decide A.
Teorema
Se A ≤m B e B e Turing riconoscibile, allora A e Turingriconoscibile.
RA riconoscitore per A, RB riconoscitore per B,
RA : w → f → f (w)→ RB
![Page 223: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/223.jpg)
Riduzioni
Teorema
Se A ≤m B e B e decidibile, allora A e decidibile.
Siano: M il decider per B ed f la riduzione da A a BCostruiamo un decider N per A: su input w
I Calcola f (w)I ”utilizza” M su f (w) e da lo stesso output.
w ∈ A ⇔ f (w) ∈ B (f riduzione da A a B) ⇔ M accetta f (w)
Quindi N decide A.
Teorema
Se A ≤m B e B e Turing riconoscibile, allora A e Turingriconoscibile.
RA riconoscitore per A, RB riconoscitore per B,
RA : w → f → f (w)→ RB
![Page 224: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/224.jpg)
Riduzioni
CorollarioSe A ≤m B e A e indecidibile, allora B e indecidibile.
(se B fosse decidibile lo sarebbe anche A in virtu del teoremaprecedente)
CorollarioSe A ≤m B e A non e Turing riconoscibile, allora B non eTuring riconoscibile.
(se B fosse Turing riconoscibile lo sarebbe anche A in virtu delteorema precedente)
![Page 225: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/225.jpg)
Riduzioni
CorollarioSe A ≤m B e A e indecidibile, allora B e indecidibile.
(se B fosse decidibile lo sarebbe anche A in virtu del teoremaprecedente)
CorollarioSe A ≤m B e A non e Turing riconoscibile, allora B non eTuring riconoscibile.
(se B fosse Turing riconoscibile lo sarebbe anche A in virtu delteorema precedente)
![Page 226: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/226.jpg)
Riduzioni
CorollarioSe A ≤m B e A e indecidibile, allora B e indecidibile.
(se B fosse decidibile lo sarebbe anche A in virtu del teoremaprecedente)
CorollarioSe A ≤m B e A non e Turing riconoscibile, allora B non eTuring riconoscibile.
(se B fosse Turing riconoscibile lo sarebbe anche A in virtu delteorema precedente)
![Page 227: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/227.jpg)
Riduzioni
CorollarioSe A ≤m B e A e indecidibile, allora B e indecidibile.
(se B fosse decidibile lo sarebbe anche A in virtu del teoremaprecedente)
CorollarioSe A ≤m B e A non e Turing riconoscibile, allora B non eTuring riconoscibile.
(se B fosse Turing riconoscibile lo sarebbe anche A in virtu delteorema precedente)
![Page 228: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/228.jpg)
Esempi di riduzioni
ATM = {〈M,w〉 | M e una TM e w ∈ L(M)}
ETM = {〈M〉 | M e una TM e L(M) = ∅}
ATM ≤m ETM
Data una MT M e una stringa w , sia M1 la MdT tale che, su uninput x :
1. Se x 6= w allora M1 si ferma e rifiuta x .
2. Se x = w allora M1 simula M su w e accetta x se M accettax = w .
La funzione: 〈M,w〉 → 〈M1〉 e una riduzione di ATM a ETM .
Infatti, M accetta w (cioe 〈M,w〉 ∈ ATM) se e solo se L(M1) 6= ∅(cioe se e solo se 〈M1〉 ∈ ETM).
![Page 229: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/229.jpg)
Esempi di riduzioni
ATM = {〈M,w〉 | M e una TM e w ∈ L(M)}
ETM = {〈M〉 | M e una TM e L(M) = ∅}
ATM ≤m ETM
Data una MT M e una stringa w , sia M1 la MdT tale che, su uninput x :
1. Se x 6= w allora M1 si ferma e rifiuta x .
2. Se x = w allora M1 simula M su w e accetta x se M accettax = w .
La funzione: 〈M,w〉 → 〈M1〉 e una riduzione di ATM a ETM .
Infatti, M accetta w (cioe 〈M,w〉 ∈ ATM) se e solo se L(M1) 6= ∅(cioe se e solo se 〈M1〉 ∈ ETM).
![Page 230: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/230.jpg)
Esempi di riduzioni
ATM = {〈M,w〉 | M e una TM e w ∈ L(M)}
ETM = {〈M〉 | M e una TM e L(M) = ∅}
ATM ≤m ETM
Data una MT M e una stringa w , sia M1 la MdT tale che, su uninput x :
1. Se x 6= w allora M1 si ferma e rifiuta x .
2. Se x = w allora M1 simula M su w e accetta x se M accettax = w .
La funzione: 〈M,w〉 → 〈M1〉 e una riduzione di ATM a ETM .
Infatti, M accetta w (cioe 〈M,w〉 ∈ ATM) se e solo se L(M1) 6= ∅(cioe se e solo se 〈M1〉 ∈ ETM).
![Page 231: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/231.jpg)
Esempi di riduzioni
ATM ≤m ETM e AMdT indecidibile ⇒ EMdT indecidibile.
Quindi anche EMdT e indecidibile(decidibilita non risente della complementazione)
Nota. Non esiste nessuna riduzione da AMdT a EMdT .
![Page 232: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/232.jpg)
Esempi di riduzioni
ATM ≤m ETM e AMdT indecidibile ⇒ EMdT indecidibile.
Quindi anche EMdT e indecidibile(decidibilita non risente della complementazione)
Nota. Non esiste nessuna riduzione da AMdT a EMdT .
![Page 233: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/233.jpg)
Esempi di riduzioni
ATM ≤m ETM e AMdT indecidibile ⇒ EMdT indecidibile.
Quindi anche EMdT e indecidibile(decidibilita non risente della complementazione)
Nota. Non esiste nessuna riduzione da AMdT a EMdT .
![Page 234: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/234.jpg)
Esempi di riduzioni
REGULARMdT = {〈M〉 | M e una MdT e L(M) e regolare }
AMdT ≤m REGULARMdT
Data una MT M e una stringa w , sia R la macchina di Turing taleche, su un input x :
1. Se x ∈ {0n1n | n ∈ N}, allora R si ferma e accetta x .
2. Se x 6∈ {0n1n | n ∈ N} allora R simula M su w e accetta x seM accetta w .
f : 〈M,w〉 → 〈R〉 e riduzione da AMdT a REGULARMdT .Infatti, se M accetta w allora L(R) = Σ∗ (regolare) e se M nonaccetta w allora L(R) = {0n1n | n ∈ N} (non regolare)
Quindi M accetta w (cioe 〈M,w〉 ∈ AMdT ) se e solo se L(R) eregolare (cioe se e solo se 〈R〉 ∈ REGULARMdT ).
![Page 235: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/235.jpg)
Esempi di riduzioni
REGULARMdT = {〈M〉 | M e una MdT e L(M) e regolare }
AMdT ≤m REGULARMdT
Data una MT M e una stringa w , sia R la macchina di Turing taleche, su un input x :
1. Se x ∈ {0n1n | n ∈ N}, allora R si ferma e accetta x .
2. Se x 6∈ {0n1n | n ∈ N} allora R simula M su w e accetta x seM accetta w .
f : 〈M,w〉 → 〈R〉 e riduzione da AMdT a REGULARMdT .Infatti, se M accetta w allora L(R) = Σ∗ (regolare) e se M nonaccetta w allora L(R) = {0n1n | n ∈ N} (non regolare)
Quindi M accetta w (cioe 〈M,w〉 ∈ AMdT ) se e solo se L(R) eregolare (cioe se e solo se 〈R〉 ∈ REGULARMdT ).
![Page 236: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/236.jpg)
Esempi di riduzioni
REGULARMdT = {〈M〉 | M e una MdT e L(M) e regolare }
AMdT ≤m REGULARMdT
Data una MT M e una stringa w , sia R la macchina di Turing taleche, su un input x :
1. Se x ∈ {0n1n | n ∈ N}, allora R si ferma e accetta x .
2. Se x 6∈ {0n1n | n ∈ N} allora R simula M su w e accetta x seM accetta w .
f : 〈M,w〉 → 〈R〉 e riduzione da AMdT a REGULARMdT .Infatti, se M accetta w allora L(R) = Σ∗ (regolare) e se M nonaccetta w allora L(R) = {0n1n | n ∈ N} (non regolare)
Quindi M accetta w (cioe 〈M,w〉 ∈ AMdT ) se e solo se L(R) eregolare (cioe se e solo se 〈R〉 ∈ REGULARMdT ).
![Page 237: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/237.jpg)
Esempi di riduzioni
REGULARMdT = {〈M〉 | M e una MdT e L(M) e regolare }
AMdT ≤m REGULARMdT
Data una MT M e una stringa w , sia R la macchina di Turing taleche, su un input x :
1. Se x ∈ {0n1n | n ∈ N}, allora R si ferma e accetta x .
2. Se x 6∈ {0n1n | n ∈ N} allora R simula M su w e accetta x seM accetta w .
f : 〈M,w〉 → 〈R〉 e riduzione da AMdT a REGULARMdT .Infatti, se M accetta w allora L(R) = Σ∗ (regolare) e se M nonaccetta w allora L(R) = {0n1n | n ∈ N} (non regolare)
Quindi M accetta w (cioe 〈M,w〉 ∈ AMdT ) se e solo se L(R) eregolare (cioe se e solo se 〈R〉 ∈ REGULARMdT ).
![Page 238: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/238.jpg)
Esempi di riduzioni
EMdT = {〈M〉 | M e una MdT e L(M) = ∅}
EQMdT = {〈M1,M2〉 | M1,M2 sono MdT e L(M1) = L(M2)}
EMdT ≤m EQMdT
Sia M1 una macchina di Turing tale che L(M1) = ∅.f : 〈M〉 → 〈M,M1〉 e una riduzione di EMdT a EQMdT .Infatti, L(M) = ∅ (cioe 〈M〉 ∈ EMdT ) se e solo seL(M) = ∅ = L(M1) (cioe se e solo se 〈M,M1〉 ∈ EQMdT )
![Page 239: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/239.jpg)
Esempi di riduzioni
EMdT = {〈M〉 | M e una MdT e L(M) = ∅}
EQMdT = {〈M1,M2〉 | M1,M2 sono MdT e L(M1) = L(M2)}
EMdT ≤m EQMdT
Sia M1 una macchina di Turing tale che L(M1) = ∅.f : 〈M〉 → 〈M,M1〉 e una riduzione di EMdT a EQMdT .Infatti, L(M) = ∅ (cioe 〈M〉 ∈ EMdT ) se e solo seL(M) = ∅ = L(M1) (cioe se e solo se 〈M,M1〉 ∈ EQMdT )
![Page 240: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/240.jpg)
Esempi di riduzioni
AMdT ≤m EQMdT
Idea: Data 〈M,w〉, considerare una MT M1 che accetta Σ∗ euna macchina M2 che accetta Σ∗ se M accetta w :
Per ogni input x :M1 accetta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT ) se e solo seL(M1) = Σ∗ = L(M2) (cioe se e solo se 〈M1,M2〉 ∈ EQMdT )
![Page 241: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/241.jpg)
Esempi di riduzioni
AMdT ≤m EQMdT
Idea: Data 〈M,w〉, considerare una MT M1 che accetta Σ∗ euna macchina M2 che accetta Σ∗ se M accetta w :
Per ogni input x :M1 accetta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT ) se e solo seL(M1) = Σ∗ = L(M2) (cioe se e solo se 〈M1,M2〉 ∈ EQMdT )
![Page 242: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/242.jpg)
Esempi di riduzioni
AMdT ≤m EQMdT
Idea: Data 〈M,w〉, considerare una MT M1 che accetta Σ∗ euna macchina M2 che accetta Σ∗ se M accetta w :
Per ogni input x :M1 accetta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT ) se e solo seL(M1) = Σ∗ = L(M2) (cioe se e solo se 〈M1,M2〉 ∈ EQMdT )
![Page 243: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/243.jpg)
Esempi di riduzioni
AMdT ≤m EQMdT
Idea: Data 〈M,w〉, considerare una MT M1 che accetta Σ∗ euna macchina M2 che accetta Σ∗ se M accetta w :
Per ogni input x :M1 accetta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT ) se e solo seL(M1) = Σ∗ = L(M2) (cioe se e solo se 〈M1,M2〉 ∈ EQMdT )
![Page 244: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/244.jpg)
Esempi di riduzioni
I AMdT ≤m EQMdT
I Idea: Data 〈M,w〉, considerare una MT M1 che accettal’insieme vuoto e una macchina M2 che accetta Σ∗ se Maccetta w :
Per ogni input x :M1 rifiuta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .
Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT )se e solose L(M1) = ∅ 6= Σ∗ = L(M2)(cioe se e solo se 〈M1,M2〉 ∈ EQMdT ).
![Page 245: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/245.jpg)
Esempi di riduzioni
I AMdT ≤m EQMdT
I Idea: Data 〈M,w〉, considerare una MT M1 che accettal’insieme vuoto e una macchina M2 che accetta Σ∗ se Maccetta w :
Per ogni input x :M1 rifiuta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .
Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT )se e solose L(M1) = ∅ 6= Σ∗ = L(M2)(cioe se e solo se 〈M1,M2〉 ∈ EQMdT ).
![Page 246: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/246.jpg)
Esempi di riduzioni
I AMdT ≤m EQMdT
I Idea: Data 〈M,w〉, considerare una MT M1 che accettal’insieme vuoto e una macchina M2 che accetta Σ∗ se Maccetta w :
Per ogni input x :M1 rifiuta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .
Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT )se e solose L(M1) = ∅ 6= Σ∗ = L(M2)(cioe se e solo se 〈M1,M2〉 ∈ EQMdT ).
![Page 247: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/247.jpg)
Esempi di riduzioni
I AMdT ≤m EQMdT
I Idea: Data 〈M,w〉, considerare una MT M1 che accettal’insieme vuoto e una macchina M2 che accetta Σ∗ se Maccetta w :
Per ogni input x :M1 rifiuta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .
Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT )se e solose L(M1) = ∅ 6= Σ∗ = L(M2)(cioe se e solo se 〈M1,M2〉 ∈ EQMdT ).
![Page 248: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/248.jpg)
Esempi di riduzioni
I AMdT ≤m EQMdT
I Idea: Data 〈M,w〉, considerare una MT M1 che accettal’insieme vuoto e una macchina M2 che accetta Σ∗ se Maccetta w :
Per ogni input x :M1 rifiuta x ,M2 simula M su w . Se M accetta, M2 accetta.
I f : 〈M,w〉 → 〈M1,M2〉 e riduzione da AMdT a EQMdT .
Infatti, M accetta w (cioe 〈M,w〉 ∈ AMdT )se e solose L(M1) = ∅ 6= Σ∗ = L(M2)(cioe se e solo se 〈M1,M2〉 ∈ EQMdT ).
![Page 249: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/249.jpg)
Esempi di riduzioni
Teorema
EQMdT non e ne Turing riconoscibile ne co-Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
Supponiamo per assurdo che EQMdT sia co-Turingriconoscibile, cioe che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
![Page 250: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/250.jpg)
Esempi di riduzioni
Teorema
EQMdT non e ne Turing riconoscibile ne co-Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
Supponiamo per assurdo che EQMdT sia co-Turingriconoscibile, cioe che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
![Page 251: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/251.jpg)
Esempi di riduzioni
Teorema
EQMdT non e ne Turing riconoscibile ne co-Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
Supponiamo per assurdo che EQMdT sia co-Turingriconoscibile, cioe che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
![Page 252: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/252.jpg)
Esempi di riduzioni
Teorema
EQMdT non e ne Turing riconoscibile ne co-Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
Supponiamo per assurdo che EQMdT sia co-Turingriconoscibile, cioe che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
![Page 253: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/253.jpg)
Esempi di riduzioni
Teorema
EQMdT non e ne Turing riconoscibile ne co-Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
Supponiamo per assurdo che EQMdT sia co-Turingriconoscibile, cioe che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
![Page 254: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/254.jpg)
Esempi di riduzioni
Teorema
EQMdT non e ne Turing riconoscibile ne co-Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
Supponiamo per assurdo che EQMdT sia co-Turingriconoscibile, cioe che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
![Page 255: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/255.jpg)
Esempi di riduzioni
Teorema
EQMdT non e ne Turing riconoscibile ne co-Turing riconoscibile.
Dimostrazione.
Supponiamo per assurdo che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
Supponiamo per assurdo che EQMdT sia co-Turingriconoscibile, cioe che EQMdT sia Turing riconoscibile.
AMdT ≤m EQMdT ⇒ AMdT ≤m EQMdT
Quindi AMdT sarebbe Turing riconoscibile: assurdo.
![Page 256: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/256.jpg)
Teorema di Rice
Afferma che, per ogni proprieta non banale delle funzionicalcolabili, il problema di decidere quali funzioni soddisfino taleproprieta e quali no, e indecidibile.Propriet banale: proprieta che non effettua alcuna discriminazionetra le funzioni calcolabili, cioe che vale o per tutte o per nessuna.
Teorema di Rice. Sia
P = {〈M〉 | M e una MdT che verifica la proprieta P}un linguaggio che soddisfa le seguenti due condizioni:
1. L’appartenenza di M a P dipende solo da L(M), cioe
∀M1,M2 MdT tali che L(M1) = L(M2), 〈M1〉 ∈ P ⇔ 〈M2〉 ∈ P
2. P e un problema non banale, cioe
∃M1,M2 MdT tali che 〈M1〉 ∈ P, 〈M2〉 6∈ P
P e indecidibile.
![Page 257: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/257.jpg)
Teorema di Rice
Afferma che, per ogni proprieta non banale delle funzionicalcolabili, il problema di decidere quali funzioni soddisfino taleproprieta e quali no, e indecidibile.Propriet banale: proprieta che non effettua alcuna discriminazionetra le funzioni calcolabili, cioe che vale o per tutte o per nessuna.
Teorema di Rice. Sia
P = {〈M〉 | M e una MdT che verifica la proprieta P}un linguaggio che soddisfa le seguenti due condizioni:
1. L’appartenenza di M a P dipende solo da L(M), cioe
∀M1,M2 MdT tali che L(M1) = L(M2), 〈M1〉 ∈ P ⇔ 〈M2〉 ∈ P
2. P e un problema non banale, cioe
∃M1,M2 MdT tali che 〈M1〉 ∈ P, 〈M2〉 6∈ P
P e indecidibile.
![Page 258: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/258.jpg)
Teorema di Rice
Afferma che, per ogni proprieta non banale delle funzionicalcolabili, il problema di decidere quali funzioni soddisfino taleproprieta e quali no, e indecidibile.Propriet banale: proprieta che non effettua alcuna discriminazionetra le funzioni calcolabili, cioe che vale o per tutte o per nessuna.
Teorema di Rice. Sia
P = {〈M〉 | M e una MdT che verifica la proprieta P}un linguaggio che soddisfa le seguenti due condizioni:
1. L’appartenenza di M a P dipende solo da L(M), cioe
∀M1,M2 MdT tali che L(M1) = L(M2), 〈M1〉 ∈ P ⇔ 〈M2〉 ∈ P
2. P e un problema non banale, cioe
∃M1,M2 MdT tali che 〈M1〉 ∈ P, 〈M2〉 6∈ P
P e indecidibile.
![Page 259: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/259.jpg)
Teorema di Rice
Afferma che, per ogni proprieta non banale delle funzionicalcolabili, il problema di decidere quali funzioni soddisfino taleproprieta e quali no, e indecidibile.Propriet banale: proprieta che non effettua alcuna discriminazionetra le funzioni calcolabili, cioe che vale o per tutte o per nessuna.
Teorema di Rice. Sia
P = {〈M〉 | M e una MdT che verifica la proprieta P}un linguaggio che soddisfa le seguenti due condizioni:
1. L’appartenenza di M a P dipende solo da L(M), cioe
∀M1,M2 MdT tali che L(M1) = L(M2), 〈M1〉 ∈ P ⇔ 〈M2〉 ∈ P
2. P e un problema non banale, cioe
∃M1,M2 MdT tali che 〈M1〉 ∈ P, 〈M2〉 6∈ P
P e indecidibile.
![Page 260: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/260.jpg)
Teorema di Rice
I Ogni proprieta non banale del linguaggio di una MdT eindecidibile.
I Nota la differenza tra una proprieta di L(M) e una proprieta diM:
- Esempio: L(M) = ∅ e una proprieta del linguaggio.- Esempio: “M ha almeno 1000 stati” e una proprieta della
MdT.- “L(M) = ∅” e indecidibile; “M ha almeno 1000 stati” e
facilmente decidibile, basta guardare alla codifica di M econtare.
![Page 261: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/261.jpg)
Teorema di Rice
I Ogni proprieta non banale del linguaggio di una MdT eindecidibile.
I Nota la differenza tra una proprieta di L(M) e una proprieta diM:
- Esempio: L(M) = ∅ e una proprieta del linguaggio.- Esempio: “M ha almeno 1000 stati” e una proprieta della
MdT.- “L(M) = ∅” e indecidibile; “M ha almeno 1000 stati” e
facilmente decidibile, basta guardare alla codifica di M econtare.
![Page 262: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/262.jpg)
Teorema di Rice
I Ogni proprieta non banale del linguaggio di una MdT eindecidibile.
I Nota la differenza tra una proprieta di L(M) e una proprieta diM:
- Esempio: L(M) = ∅ e una proprieta del linguaggio.
- Esempio: “M ha almeno 1000 stati” e una proprieta dellaMdT.
- “L(M) = ∅” e indecidibile; “M ha almeno 1000 stati” efacilmente decidibile, basta guardare alla codifica di M econtare.
![Page 263: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/263.jpg)
Teorema di Rice
I Ogni proprieta non banale del linguaggio di una MdT eindecidibile.
I Nota la differenza tra una proprieta di L(M) e una proprieta diM:
- Esempio: L(M) = ∅ e una proprieta del linguaggio.- Esempio: “M ha almeno 1000 stati” e una proprieta della
MdT.
- “L(M) = ∅” e indecidibile; “M ha almeno 1000 stati” efacilmente decidibile, basta guardare alla codifica di M econtare.
![Page 264: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/264.jpg)
Teorema di Rice
I Ogni proprieta non banale del linguaggio di una MdT eindecidibile.
I Nota la differenza tra una proprieta di L(M) e una proprieta diM:
- Esempio: L(M) = ∅ e una proprieta del linguaggio.- Esempio: “M ha almeno 1000 stati” e una proprieta della
MdT.- “L(M) = ∅” e indecidibile; “M ha almeno 1000 stati” e
facilmente decidibile, basta guardare alla codifica di M econtare.
![Page 265: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/265.jpg)
Conseguenze del Teorema di Rice
Non possiamo decidere se una MdT:
- Accetta ∅.
- Accetta un linguaggio finito.
- Accetta un linguaggio regolare, ecc.
![Page 266: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/266.jpg)
Conseguenze del Teorema di Rice
Non possiamo decidere se una MdT:
- Accetta ∅.- Accetta un linguaggio finito.
- Accetta un linguaggio regolare, ecc.
![Page 267: DECIDIBILITA E INDECIDIBILIT A - di-srv.unisa.it · 1) Seleziona un nodo di G e marcalo:Marca il primo nodo sulla lista (es. con un sul digit piu a sinistra) 2) Ripeti nch e nuovi](https://reader030.fdocument.pub/reader030/viewer/2022040715/5e1e5bd801252c4b7e09a40a/html5/thumbnails/267.jpg)
Conseguenze del Teorema di Rice
Non possiamo decidere se una MdT:
- Accetta ∅.- Accetta un linguaggio finito.
- Accetta un linguaggio regolare, ecc.