Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAlessio Manzoni Modificato 9 anni fa
1
Macchine di Turing (1) Il modello di base ha un controllo finito, un nastro di input diviso in celle e una testa di lettura che esamina una cella alla volta. Il numero di simboli di input è finito.L’input è nelle n celle più a sinistra (n finito). Nelle celle rimanenti c’è un simbolo speciale blank che non è un simbolo di input. In una mossa in funzione del simbolo esaminato dalla testa di lettura e dallo stato del controllo la macchina può: 1. Cambiare stato 2. Stampare un simbolo nella cella letta sostituendo il simbolo presente 3. Muovere la testa di lettura di una posizione a destra o a sinistra... … … a1a1 a2a2 aiai anan BB Controllo finito
2
Macchine di Turing (2) Una macchina di Turing (TM) è M = (Q, , , , q 0, B, F) dove: Q insieme finito degli stati, : Q Q {L, R}, insieme dei simboli di nastro, q 0 stato di partenza, B blank, F Q insieme degli stati finali, -B insieme dei simboli di input Una descrizione istantanea (ID) di una TM M è 1 q 2 dove q stato corrente, 1 2 stringa in * contenuto del nastro (da sinistra e fino a un blank a destra). La testa di lettura sta leggendo il simbolo più a sinistra di 2 oppure blank se 2 = . Sia la ID x 1 x 2... x i-1 q x i... x n. Se (q,x i ) = (p,y,L) per i>1 allora x 1 x 2... x i-1 q x i... x n |- M x 1 x 2... x i-2 p x i-1 Y x i+1... x n Se (q, x i ) = (p,y, R) allora x 1 x 2... x i-1 q x i... x n |- M x 1 x 2... x i-1 Y p x i+1... x n.
3
Macchine di Turing (3) Una TM M = (Q, , , , q 0, B, F) accetta il linguaggio {w | w in * e q 0 w |- M * 1 p 2 per p F, 1, 2 *} Il linguaggio accettato da una TM è detto ricorsivamente enumerabile (r.e.). Esempio. Una TM che accetta L = {0 n 1 n | n >= 1}, Idea: M sostituisce lo 0 più a sinistra con X, poi muove a destra fino all’1 più a sinistra e lo sostituisce con Y, muove a sinistra per trovare la X più a destra e muove a destra per trovare uno 0 e ripete il ciclo.
4
Macchine di Turing (4) Allora M = ({q 0,q 1,q 2,q 3,q 4 }, {0,1}, {0,1, X, Y, B}, , q 0, B, { q 4 }) dove è data dalla tabella seguente: 0 1 X Y B q 0 (q 1, X,R ) - - (q 3, Y,R ) - q 1 (q 1, 0,R ) (q 2, Y,L ) - (q 1, Y,R ) - q 2 (q 2, 0,L ) - (q 0, X,R ) (q 2, Y,L ) - q 3 - - - (q 3, Y,R ) (q 4, B,R ) q 4 - - - - - Una computazione possibile è: q 0 0 0 1 1 |- X q 1 0 1 1 |- X 0 q 1 1 1 |- X q 2 0 Y 1 |- q 2 X 0 Y 1 |- X q 0 0 Y 1 |- X X q 1 Y 1 |- X X Y q 1 1 |- X X q 2 YY |- X q 2 XYY |- XX q 0 YY |- XXY q 3 Y |- XXYY q 3 |- XXYY q 4
5
Macchine di Turing (5) Una macchina di Turing con un nastro infinito a due vie assume che ci sia un’infinità di blank a sinistra e a destra della porzione scritta. La relazione |- M differisce da quella della TM a una via perché se (q, X) = (p,Y,L) allora q X |- M p BY (mentre nel modello a una via non si può fare nessuna mossa) e se (q, X) = (p,B,R) allora q X |- M p (non segna un blank a sinistra perché ce ne possono essere infiniti). Teorema. L è riconosciuto da una macchina di Turing con nastro due vie se e solo se è riconosciuto da una macchina di Turing con nastro a una via
6
Macchine di Turing (6) Una macchina di Turing multinastro ha k teste di lettura e k nastri. In una singolamossa in dipendenza dellostato e del simboloesaminati (l’input è inizialmente sulprimo nastro) la macchina può: 1. cambiare stato 2. stampare un simbolo su ciascuna delle celle esaminate 3. muovere ciascuna delle teste a destra o a sinistra o tenerla ferma indipendentemente dalle altre. …. controllo finito ….
7
Macchine di Turing (7) Teorema. Se un linguaggio L è accettato da una macchina di Turing multinastro è accettato da una macchina di Turing a un solo nastro. Esempio. L = {ww R | w in (0+1)*} è accettato in tempo proporzionale alla lunghezza dell’input da una macchina di Turing a due nastri. L’input è copiato sul secondo nastro e le due teste sono mosse in direzioni opposte confrontando i simboli letti da ciascuna.
8
Macchine di Turing (8) Una TM non deterministica può avere piú di una scelta in uno stato per un simbolo letto. Teorema. Se un linguaggio L è accettato da una TM non deterministica M 1 allora è accettato da una TM deterministica M 2. Prova. La macchina M 2 ha tre nastri. Il primo contiene l’input. Per ogni stato e simbolo letto c’è un numero finito di scelte per la mossa Successiva e una sequenza finita di scelte può essere rappresentata da una sequenza di cifre 1, 2, …, r. La macchina M 2 genera sequenze in modo sistematico sul secondo nastro, copia l’input sul terzo nastro e simula M 1 sul terzo nastro secondo le mosse indicate sul secondo nastro. Se c’è una sequenza che porta all’accettazione dell’input prima o poi compare sul secondo nastro e l’input è accettato. Teorema (della fermata). Data una TM M e un input w è indecidibile se M accetta w.
9
Decidibilità (1) Un linguaggio è ricorsivamente enumerabile (r.e.) se le parole del linguaggio possono essere enumerate. Se questo avviene in modo che le parole si seguano in ordine crescente il linguaggio è ricorsivo. Istanze di problemi possono essere codificate come parole di un linguaggio. Esempio. Il problema se una TM accetta la stringa vuota è codificato come il linguaggio di tutte le codifiche di TM che accettano la parola vuota. Poiché il linguaggio è ricorsivamente enumerabile ma non ricorsivo, il problema se una TM data accetta la parola vuota è indecidibile.
10
Decidibilità (2) Teorema. Il complemento di un linguaggio ricorsivo è ricorsivo. Teorema. L’unione di due linguaggi r.e. è r.e.. L’unione di due linguaggi ricorsivi è ricorsiva. Teorema. Se un linguaggio L e il suo complemento sono r.e. allora L è ricorsivo. Teorema. Il linguaggio universale L u = { | una TM M accetta la stringa w} è r.e. ma non ricorsivo. Nota. L u è detto universale perché la domanda se una particolare stringa w’ è accettata da una macchina di Turing M’ è equivalente alla domanda se è in L u. Il complemento di non è neanche r.e..
11
Decidibilità (3) Teorema. Sono indecidibili le seguenti proprietà degli insiemi r.e.: vuotezza, finitezza, regolarità, noncontestualità. Corollario. Per CFG arbitrarie G 1 e G 2 è indecidibile se L(G 1 ) L(G 2 ) è vuoto. Prova. Si dimostra che l’insieme delle computazioni valide di una TM è l’intersezione di due linguaggi noncontestuali L 1 e L 2 e che grammatiche L 1 e L 2 si possono costruire effettivamente da TM. Se allora decidessimo la vuotezza decideremmo la vuotezza degli insiemi r.e..
12
Decidibilità (4) Teorema. Per grammatiche noncontestuali arbitrarie sono indecidibili i problemi seguenti: 1. L(G) = * 2. L(G 1 ) = L(G 2 ) 3. L(G 1 ) = R 4. R L(G 1 ) Prova. 1. Data una TM M l’insieme delle computazioni non valide è un CFL. Allora dalla TM possiamo costruire una CFG G tale che L(G) = * se e solo se L(M) = . Allora se decidessimo L(G) = * decideremmo la vuotazza dei linguaggi r.e.. 2.-3.-4. si riconducono all’indecidibilità di L(G) = *.
13
Gerarchia di Chomsky (1) Una CFG è lineare destra se tutte le produzioni sono della forma A wB oppure A w con A, B nonterminali e w stringa di terminali (eventualmente vuota). Analogamente si definisce una CFG lineare sinistra. Grammatiche lineari destre e sinistre sono dette regolari. Teorema. Se L ha una grammatica regolare è un linguaggio regolare. Prova. Sia L= L(G) per una grammatica lineare destra G = (V,T, P, S). Costruiamo un NFA con -transizioni M = (Q, T, , [S],{[ ]}) dove: Q è l’insieme degli stati [ ] dove è un suffisso di lato destro di produzione in P ([A], ) = {[ ] | A in P } -se a T e T* T* V allora ([a ], a) = {[ ]}. Per induzione sulla lunghezza delle sequenze di derivazione si vede che ([S], w) contiene se e solo se S * xA xy dove A y in P e xy=w oppure = S e w = . Poiché [ ] è l’unico stato finale M accetta w se e solo se S * xA w.
14
Gerarchia di Chomsky (2) Esempio. Prendiamo G con produzioni S 0A A 10A A Dalla costruzione risulta l’NFA seguente SS 0A AA 0A
15
Gerarchia di Chomsky (3) Teorema. Se L è un insieme regolare, allora L è generato da una grammatica regolare. Prova. Supponiamo L = L(M) per un DFA M = (Q, , , q 0, F). Assumiamo non in F. Costruiamo G = (Q, , P, q 0 ) dove P contiene p aq ogniqualvolta (p, a) = q e p a ogniqualvolta q finale. Esempio. Prendiamo il DFA che riconosce L = 0(10)* La grammatica che risulta dalla costruzione è A 0B | 1D | 0 B 0D | 1C C 0B | 1D | 0 D 0D | 1D. Eliminando D che è inutile si ha A 0B | 1D | 0 B 1C C 0B | 0 D C 1 B
16
Gerarchia di Chomsky (4) Una grammatica è non ristretta o di tipo 0 se è G = (V,T, P, S) dove le produzioni sono della forma con stringhe arbitrarie di simboli e non è . Esempio. G = ({S,A,B,C,D,E},{a}, P, S) dove P è: S ACaB Ca aaC CB DB CB E aD Da AD AC aE Ea AE L(G)= {a i | i potenza positiva di 2}. Teorema. Se L è L(G) per una grammatica non ristretta allora è un linguaggio r.e.. Prova. Si costruisce una macchina di Turing a due nastri non deterministica che riconosce L.
17
Gerarchia di Chomsky (5) Una grammatica non ristretta con produzioni con la condizione | | | | è chiamata grammatica contestuale (CSG) e il linguaggio che genera è chiamato linguaggio contestuale (CSL). Una formanormale per le grammatiche contestuali ha regole della forma 1 A 2 1 2 con non . Un LBA è una macchina di Turing ristretta alla porzione di nastro su cui è l’input piú due celle che contengono i marcatori terminali e $. Un LBA è M = (Q, , , , &, $, F). Il linguaggio accettato da M è {w | w in ( $})* e q 0 w$ |- M * q per q F}. Teorema. Se L è un CSL allora L è accettato da un LBA.
18
Gerarchia di Chomsky (6) Esempio. L = {a i b i c i | i 1} è generato dalla CSG G = ({S, S’, S”, S”’} {a,b,c}, P, S) con P S abcS”b bbS’” S abcS’S”’b bS’” cS’ S’cS”’c ccS’ bS’ S’bS”’c cc aS’ aaS” Teorema. Ogni CSL è ricorsivo. Prova. Data una CSG G = (V,T, P, S) e una parola w in * di lunghezza n costruiamo un grafo i cui vertici sono le parole in (V T)* di lunghezza n o meno. Poniamo un arco da a se . Allora w è in L(G) se e solo se c’è un cammino dal vertice per S al vertice per w. Per rispondere a questo usiamo un algoritmo di ricerca di cammini.
19
Gerarchia di Chomsky (7) Teorema. Esiste un linguaggio ricorsivo che non è un CSL. Teorema. I CSL sono chiusi per - unione - concatenazione - intersezione - sostituzione - omomorfismo inverso - chiusura positiva. Teorema. Per i CSL sono indecidibili le seguenti proprietà: - il CSL è vuoto - il CSL è uguale a +.
20
Gerarchia di Chomsky (8) Teorema (teorema della gerarchia). 1. Gli insiemi regolari sono contenuti propriamente nei CFL. 2. I CFL non contenenti la stringa vuota sono contenuti propriamente nei CSL. 3. I CSL sono contenuti propriamente nei linguaggi r.e.. Prova. 1. Dal fatto che ogni grammatica regolare è una CFG e che {a n b n | n 1} non è regolare per il pumping lemma. 2. Dal fatto che ogni CFG in Chomsky Normal Form è una CSG e e che {a n b n c n | n 1} è un CSL che non è un CFL per il pumping lemma. 3. Segue dal fatto che una CSG è una grammatica ristretta e che i CSL sono ricorsivi.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.