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.

Slides:



Advertisements
Presentazioni simili
Automi finiti deterministici (DFA) (1)
Advertisements

Automi temporizzati.
LIMITI:DEFINIZIONI E TEOREMI
Sistemi dinamici discreti e computabilità intrinseca
Macchine di Turing e ricorsività generale
Alfabeti, Stringhe e Linguaggi
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Estendere i linguaggi: i tipi di dato astratti
Sintassi (prima parte)
LR Parser Giuseppe Morelli. La maggior parte dei parser Bottom-Up è costituita dai cosiddetti parser LR(k) dove: L indica il verso dellanalisi della stringa.
Parser Bottom UP Giuseppe Morelli. Parser Bottom UP Un parser Bottom Up lavora costruendo il corrispondente albero di parsing per una data stringa di.
Linguaggi Regolari e Linguaggi Liberi
Tabelle LALR Costruzione delle tabelle LALR Metodo LALR Introduciamo lultimo metodo di costruzione di tabelle per il parsing LR Nome: lookahead-LR abbreviato.
Costruzione delle tabelle di parsing LR canoniche
Costruzione di tabelle di Parsing SLR
Automi e Linguaggi Regolari Alberto Cuesta Cañada.
Precorsi di Informatica Dott. Antonio Cisternino Settembre 2003
Sistemi di Lindenmayer
INSIEMI INSIEME= gruppo di oggetti di tipo qualsiasi detti elementi dell’insieme. Un insieme è definito quando viene dato un criterio non ambiguo che.
1 Linguaggi di Programmazione - elementi Corso di Laurea in Informatica (AA 2005/2006) Gabriella Pasi e Carla Simone
Deduzione naturale + Logica & Calcolabilità
Alberi binari di ricerca
MACCHINE DI TURING Le macchine di Turing sono dispositivi astratti per la manipolazione di simboli, ideati nel 1936 dal matematico e logico britannico.
Analisi e Sintesi di circuiti sequenziali
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi e Strutture Dati (Mod. B)
Algoritmi e Strutture Dati (Mod. B)
Modelli simulativi per le Scienze Cognitive
Modelli simulativi per le Scienze Cognitive
Analisi e Sintesi di circuiti sequenziali. Definizione Una macchina sequenziale é un sistema nel quale, detto I(t) l'insieme degli ingressi in t, O(t)
Alfabeti, Stringhe e Linguaggi Def: un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { }. Gli elementi sono.
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
PROBLEMI RISOLUBILI E COMPUTABILITÀ
LINGUAGGI DI PROGRAMMAZIONE
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Fondamenti di Comunicazione Digitale
Logica Matematica Seconda lezione.
L’inventore del calcolatore odierno
Antonio Cisternino La Macchina di Turing.
CHI ERA ALAN TURING? Turing fece parte del team di matematici che, a partire dalla base di Bletchley Park, decodificarono i messaggi scritti dalle macchine.
LA MACCHINA DI TURING Nel 1936 il matematico inglese A. M. Turing propose una definizione del concetto di algoritmo tramite un modello matematico di macchina.
Introduzione ai linguaggi formali e alle stringhe
ESTENSIONI SEMPLICI e TEOREMA DELL’ELEMENTO PRIMITIVO
Università degli studi di Lecce
La rappresentazione delle informazioni in un computer Seconda parte.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
4 < 12 5 > −3 a < b a > b a ≤ b a ≥ b
Capitolo 13 Cammini minimi: Ordinamento topologico Algoritmi e Strutture Dati.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
1 Ordinamento (Sorting) INPUT: Sequenza di n numeri OUTPUT: Permutazione π = tale che a 1 ’  a 2 ’  … …  a n ’ Continuiamo a discutere il problema dell’ordinamento:
Automi a pila (1) Un automa a pila (PDA) è M = (Q, S, G, d, q0, Z0, F) dove: Q insieme finito di stati S alfabeto finito di input 3. G alfabeto di pila.
Grammatiche Grammatiche libere da contesto Grammatiche regolari
public class volume { public static void main (String[] args) { final double bott_vol =2.0; final double latt_vol = 0.355; int bott_num = 4; int latt_num.
Grammatiche non contestuali (1)
Espressioni regolari (1)
Automi temporizzati.
In generale, con il termine di grammatica si intende un formalismo che permette di definire un insieme di stringhe mediante l’imposizione di un particolare.
Indecidibilità Limiti della calcolabilità Pigreco-day 14 marzo 2014 Matematica e Incertezza Prof. Antonio Iarlori Mathesis Lanciano-Ortona.
TEORIA ELEMENTARE DEGLI INSIEMI
Elementi di Topologia in R
Linguaggi e Grammatiche Alfabeto : insieme non vuoto di elementi detti simboli A = { a, b, c } Stringa : sequenza di simboli di un alfabeto ab abc abcab.
Linguaggi, stringhe e alfabeti. Linguaggi e grammatiche Un linguaggio è un sistema di comunicazione tra persone che permette di trasmettere informazioni.
Teoremi sulle funzioni derivabili 1. Definizione di massimo globale x0x0 f(x 0 ) Si dice massimo assoluto o globale di una funzione il più grande dei.
IISS "E. Medi" - Galatone Prof. Giuseppe Frassanito a.s. 2012/2013
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
prof.Giuseppe Frassanito a.s
Le frazioni A partire da N vogliamo costruire un nuovo insieme numerico nel quale sia sempre possibile eseguire la divisione. Per fare ciò dobbiamo introdurre.
Teoria dei Sistemi di Trasporto Tematica 4: Elementi minimi di teoria della probabilità.
Transcript della presentazione:

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

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.

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.

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 (q 3, Y,R ) (q 4, B,R ) q Una computazione possibile è: q |- X q |- X 0 q |- 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

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

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 ….

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.

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.

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.

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..

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..

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 si riconducono all’indecidibilità di L(G) =  *.

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.

Gerarchia di Chomsky (2) Esempio. Prendiamo G con produzioni S  0A A  10A A   Dalla costruzione risulta l’NFA seguente SS  0A  AA  0A       

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  

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. 

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. 

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. 

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  +. 

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. 