Automi e Linguaggi Formali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Automi e Linguaggi Formali"

Transcript

1 Automi e Linguaggi Formali Linguaggi regolari e automi a stati finiti 6 Ottobre 214 A.A Enrico Mezzetti emezzett@math.unipd.it

2 Recap Definizione informale di automi a stati finiti Diagramma delle Transizioni Start t h e n t th the then Elementi fondamentali: - stati finiti (iniziale, finale) - input - transizione ed etichetta (label) Rappresentazioni strutturali - Grammatiche, es. E E + E - Espressioni regolari, es. [A-Z][a-z]*[][A-Z][A-Z] Docente: Enrico Mezzetti 2 of 31

3 Recap - 2 Concetti di base della Teoria degli automi - Alfabeto: insieme finito e non vuoto di simboli Σ = {a, b, c,..., z} lettere minuscole - Stringa: seuenza finita di simboli da Σ (ɛ stringa vuota) 111, 111 Σ = {, 1} - Lunghezza di una stringa 11 = 4, ɛ = - Potenza k-esima di un alfabeto: come insieme delle stringhe di lunghezza k con simboli da Σ Σ 2 = {, 1, 1, 11} se Σ = {, 1} - Concatenazione: unione di due stringhe una stringa x = 111, y = 11, xy = Linguaggio: insieme di stringhe scelte da Σ L e un linguaggio su Σ se L Σ Problema dell appartenenza ad un linguaggio - Decidere se stringa w e un elemento di un linguaggio L Docente: Enrico Mezzetti 3 of 31

4 Automi a stati finiti deterministici - DFA Determinismo vs. non-determinismo in automa - Automa non-deterministico riducibile ad uno deterministico Deterministic Finite Automaton (DFA) definito da: 1 Un iniseme finito di stati Q 2 Un insieme finito di simboli in input (alfabeto) Σ 3 Una funzione di transizione δ(, a) p Q 4 Uno stato iniziale Q 5 Un iniseme di stati finali (o accettati) F Q DFA A = (Q, Σ, δ,, F ) Docente: Enrico Mezzetti 4 of 31

5 Linguaggio di un DFA Linguaggio di un DFA: insieme di stringhe che il DFA accetta DFA A che accetta tutte le stringhe dell alfabeto binario che contengono la seuenza 1 1, 111, L = {x1y : x, y {, 1} } Formalmente A = ({, 1, 2 }, {, 1}, δ,, { 1 }) Tabella di transizione Diagramma di transizione: Start , 1 Docente: Enrico Mezzetti 5 of 31

6 Accettazione su diagramma di transizione Un automa a stati finiti (FA) accetta una stringa w = a 1 a 2 a n se esiste un cammino (path) nel diagramma di transizione che 1 Inizia nello stato iniziale 2 Finisce in uno stato finale p F 3 Ha una seuenza di label a 1 a 2 a n Esempio Start , Docente: Enrico Mezzetti 6 of 31

7 Definizione formale di linguaggio di un DFA Funzione di transizione estesa ˆδ : (, w) p Q opera su stringhe Definita ricorsivamente per induzione su w Base ˆδ(, ɛ) = Induzione ˆδ(, xa) = δ(ˆδ(, x), a) Formalmente, il linguaggio accettato da A e L(A) = {w : ˆδ(, w) F } I linguaggi accettati da automi a stati finiti sono detti linguaggi regolari Docente: Enrico Mezzetti 7 of 31

8 Esempio di funzione di transizione estesa Consideriamo un DFA che accetta tutte e sole le stringhe con un numero pari di e un numero pari di 1 DFA che conta il numero di e 1 di una stringa in ingresso numero di e 1 letti sono entrambi pari 1 numero di letti e pari ma di 1 e dispari 2 numero di 1 letti e pari ma di e dispari numero di e 1 letti sono entrambi dispari 3 Start Docente: Enrico Mezzetti 8 of 31

9 Accettazione formale A = ({, 1, 2, 3 }, {, 1}, δ,, { }) Start Verifichiamo che ˆδ(, w) = ad es. per w= ˆδ(, ɛ) = - ˆδ(, 1) = δ(ˆδ(, ɛ), 1) = δ(, 1) = 1 - ˆδ(, 11) = δ(ˆδ(, 1), 1) = δ( 1, 1) = - ˆδ(, 11) = δ(ˆδ(, 11), ) = δ(, ) = 2 - ˆδ(, 111) = δ(ˆδ(, 11), 1) = δ( 2, 1) = 3 - ˆδ(, 111) = δ(ˆδ(, 111), ) = δ( 3, ) = 1 - ˆδ(, 1111) = δ(ˆδ(, 111), 1) = δ( 1, 1) = Docente: Enrico Mezzetti 9 of 31

10 Esercizi su DFA Docente: Enrico Mezzetti 1 of 31

11 Automi a stati finiti non deterministici - NFA Automi a stati finiti non deterministici - puo trovarsi contemporaneamente in diversi stati Esempio: automa che accetta solo le stringhe di ualsiasi lunghezza che terminano in 1, 1 Start Elaborazione dell input (stuck) 2 (stuck) Note: Non ci sono archi in uscita da 2, n da per input Sono ammessi piu archi in uscita per uno stesso symbolo Docente: Enrico Mezzetti 11 of 31

12 Definizione formale di NFA Non-deterministic Finite Automaton (NFA) definito da: 1 Un iniseme finito di stati Q 2 Un insieme finito di simboli in input (alfabeto) Σ 3 Una funzione di transizione δ(, a) Q Q 4 Uno stato iniziale Q 5 Un iniseme di stati finali (o accettati) F Q NFA A = (Q, Σ, δ,, F ) Differenza evidente con DFA - δ DFA : (, a) p Q - δ NFA : (, a) P(Q) Docente: Enrico Mezzetti 12 of 31

13 Specifiche di NFA Esempio: automa che accetta solo le stringhe di ualsiasi lunghezza che terminano in 1 Tabella di transizione Diagramma di transizione A = ({, 1, 2 }, {, 1}, δ,, { 2 }) 1 {, 1 } { } 1 { 2 } 2, 1 Start Docente: Enrico Mezzetti 13 of 31

14 Definizione formale di un linguaggio di un NFA Simile a DFA, sfrutta la funzione di transizione estesa ˆδ : (, w) P(Q) Sempre definita ricorsivamente per induzione su w Base ˆδ(, ɛ) = {} (singleton) Induzione ˆδ(, xa) = p ˆδ(,x) δ(p, a) Ovvero: applica transizione con label a a partire da tutti i p ˆδ(, x) Esempio: ˆδ(, 11) Formalmente, il linguaggio accettato da A e L(A) = {w : ˆδ(, w) F } Docente: Enrico Mezzetti 14 of 31

15 Esempio di accettazione formale A = ({, 1, 2 }, {, 1}, δ,, { 2 }) 1 {, 1 } { } 1 { 2 } 2, 1 Start Verifichiamo che accetta il linguaggio L = {x1 : x Σ } - Per induzione mutua su w per i tre enunciati seguenti w Σ ˆδ(, w) 1 1 ˆδ(, w) w = x 2 2 ˆδ(, w) w = x1 Docente: Enrico Mezzetti 15 of 31

16 Accettazione formale - 2 Base Se w = allora w = ɛ. Allora l enunciato () segue dalla defnizione Per (1) e (2) entrambi i lati sono falsi per ɛ Induzione Assumiamo che w = xa, dove a {, 1}, x = n e gli enunciati () (2) valgono per x. Dobbiamo dimostrare che gli enunciati valgono anche per w. () ˆδ(, x): poiche ammette transizioni su se stesso sia per che per 1, anche ˆδ(, w) (1-if) w termina con : allora a = e per () sappiamo che ˆδ(, x); poiche esiste una transizione da a 1 su input concludiamo che 1 ˆδ(, w) (1-only-if) 1 ˆδ(, w): sappiamo che c solo un modo di raggiungere 1 ovvero attraverso una se. x. (2-if) w termina con 1: allora a = 1 e x termina con ; per (1) sappiamo che 1 ˆδ(, x). Poiche esiste una transizione da 1 a 2 su input 1, allora 2 ˆδ(, w) (2-only-if) 2 ˆδ(, w): sappiamo che c solo un modo di raggiungere, ovvero che W sia nelle forma x1 dove 1 ˆδ(, x); per (1) sappiamo che x termina con e uindi w termina con 1 Docente: Enrico Mezzetti 16 of 31

17 Euivalenza di DFA e NFA DFA e NFA sono euivalenti - Accettano la stessa classe di linguaggi (NFA generalmente piu facili da costruire e meno complessi da tradurre) Per ogni NFA N esiste un DFA D tale che L(D) = L(N) (e viceversa) Dimonstrazione usa costruzione per sottonsiemi - Considera tutti i sottoinsiemi dell insieme di stati dell NFA - Descrizione formale di A nei termini di stati e transizioni di B Dato un NFA N = (Q N, Σ, δ N,, F N ) costruiremo un DFA D = (Q D, Σ, δ D, { }, F D ) tale che L(D) = L(N) Docente: Enrico Mezzetti 17 of 31

18 Construzione per sottonsiemi Osservazioni su N = (Q N, Σ, δ N,, F N ) e D = (Q D, Σ, δ D, { }, F D ) - Condividono lo stesso alfabeto Σ - Q D = {S : S Q N } (powerset Q D = 2 Q N ) (in effetti non tutti raggiungibili da ) - F D = {S Q N : S F N } - S Q N e a Σ, δ D (S, a) = p S δ N (p, a) E Per calcolare δ D (S, a) dobbiamo operare su tutti i p S Docente: Enrico Mezzetti 18 of 31

19 Construzione per sottonsiemi - Esempio, 1 Start Costruiamo δ D dell NFA gia visto 1 { } {, 1 } { } { 1 } { 2 } { 2 } {, 1 } {, 1 } {, 2 } {, 2 } {, 1 } { } { 1, 2 } { 2 } {, 1, 2 } {, 1 } {, 2 } DFA 1 A A A B E B C A D D A A E E F F E B G A D H E F E Che caratteristica hanno gli stati in δ D? Docente: Enrico Mezzetti 19 of 31

20 Valutazione differita dei sottoinsiemi Per evitare la crescita esponenziale degli stati - Tabella di transizione per D con solo stati accessibili S Determinazione induttiva di S accessibili Base S per definizione di stato iniziale Induzione Sia S accessibile, allora lo sono anche gli stati in δ D (S, a), a Tornando all esempio: - - δ D (, a) = {{ }, {, 1 }} - δ D ({, 1 }, a) = {{, 1 }, {, 2 }} - δ D ({, 2 }, a) = {{ }, {, 1 }} 1 Start 1 { {, {, } } 1 } 2 1 Docente: Enrico Mezzetti 2 of 31

21 Giustificazione formale costruzione per sottoinsiemi Th 2.11: Sia D il DFA ottenuto da un NFA N con la costruzione per sottoinsiemi. Allora L(D) = L(N) Prova: L(D) = L(N) se D e N accettano le stesse stringhe 1 Dimostriamo per induzione su w che ˆδ D ({ }, w) = ˆδ N (, w) Base w = (w = ɛ) per definizione Induzione w = n + 1, w = xa e enunciato vale per x ˆδ D ({ }, xa) def = δ D (ˆδ D ({ }, x), a) (1) i.h. = δ D (ˆδ N (, x), a) (2) cst = δ N (p, a) (3) p ˆδ N (,x) def = ˆδ N (, xa) (4) 2 Se D e N accettano w sia ˆδ D (, w) e ˆδ N (, w) contengono uno stato in F N Docente: Enrico Mezzetti 21 of 31

22 Generalizzazione Th 2.12: Un linguaggio L e accettato da un DFA se e solo se L e accettato da un NFA. Prova: Parte se Th Parte solo se Notiamo che un ualsiasi DFA puo essere convertito in un NFA euivalente in cui in ogni momento esiste solo una scelta di transizione possibile. Per induzione su w : Base Se δ D (, a) = p, allora δ N (, a) = {p}. Induzione Si dimostra che se ˆδ D (, w) = p, allora ˆδ N (, w) = {p}. Docente: Enrico Mezzetti 22 of 31

23 Crescita esponenziale degli stati Trasformazione vista e un caso favorevole ( stati) Esempio conversione con Q N = n + 1 e Q D = 2 n Insieme delle stringhe in {,1} tali che l n-esimo simbolo dalla fine sia 1., 1 Start 1, 1, 1, 1, n - Esistono 2 n sotto-seuenze distinte di lunghezza n - Se DFA avesse meno di 2 n stati allora almeno uno stato sarebbe raggiungibile da due seuenze distinte a 1 a 2 a n b 1 b 2 b n i s.t. a i b i (pigeonhole principle) Docente: Enrico Mezzetti 23 of 31

24 Crescita esponenziale degli stati - 2 Caso 1: i = 1-1a 2 a n e b 2 b n (o viceversa) e allo stesso momento uno stato accettante e non accettante Caso 2: i 1 - a 1 a i 1 1a i+1 a n b 1 b i 1 b i+1 b n State p := i 1 : ˆδ N (, a 1 a i 1 1a i+1 a n i 1 ) = ˆδ N (, b 1 b i 1 b i+1 b n i 1 ) p e allo stesso momento uno stato accettante e non accettante Docente: Enrico Mezzetti 24 of 31

25 Automi a stati finiti con transizioni ɛ Estensione di FA che ammettono transizioni su ɛ - Zucchero sintattico non estende l espressivita - ɛ-fa strettamente legati alle espressioni regolari Esempio: ɛ-nfa che accetta numeri decimali Start,1,...,9,1,...,9 ε,+,- 1 2 ε 3 5.,1,...,9,1,..., Numeri decimali in notazione anglosassone: 1 Un segno + o -, opzionale 2 Una stringa di cifre decimali 3 Un punto decimale 4 Un altra stringa di cifre decimali Una sola sottoseuenza tra (2) e (4) puo essere vuota Docente: Enrico Mezzetti 25 of 31

26 Definizione ed esempio Un ɛ-nfa e una uintupla (Q, Σ, δ,, F ) dove δ : Q Σ {ɛ} P(Q) Es. ɛ-nfa numeri decimali E = ({, 1,..., 5 }, {., +,,, 1,..., 9} δ,, { 5 }) Start,1,...,9,1,...,9 ε,+,- 1 2 ε 3 5.,1,...,9,1,...,9 4. ɛ +,-.,..., 9 { 1 } { 1 } 1 { 2 } { 1, 4 } 2 { 3 } 3 { 5 } { 3 } 4 { 3 } 5 Docente: Enrico Mezzetti 26 of 31

27 ɛ-chiusura Quali sono le stringhe e i linguaggi accettati da ɛ-nfa? Concetto fondamentale ɛ-closure di uno stato - Insieme di stati raggiungibili da attraverso ɛ-transizioni - Definizione induttiva: Base ECLOSE() Induzione p ECLOSE() and r δ(p, ɛ) r ECLOSE() Esempio: ε ε ε b ε a ε ECLOSE(1) = {1, 2, 3, 4, 6} Docente: Enrico Mezzetti 27 of 31

28 Funzione di transizione per ɛ-nfa Definizione di ˆδ per automi ɛ-nfa - Per induzione su w (ɛ non contribuisce a w) Base ˆδ(, ɛ) = ECLOSE() Induzione ˆδ(, xa) = p δ(ˆδ(,x),a) ECLOSE(p) Esempio: ˆδ(, 5.6) per l NFA dei numeri decimali Docente: Enrico Mezzetti 28 of 31

29 Da ɛ-nfa a DFA Dato un ɛ-nfa E = (Q E, Σ, δ E,, F E ) - Costruire un DFA D = (Q D, Σ, δ D, D, F D ) - Tale che L(D) = L(E) Caratterizzazione di D - Q D = {S : S Q E e S = ECLOSE(S)} - D = ECLOSE( ) - F D = {S : S Q D e S F E } - a, δ D (S, a) = {ECLOSE(p) : p δ(t, a) per alcuni t S} Docente: Enrico Mezzetti 29 of 31

30 Esempio ɛ-nfa E Start DFA D corrispondente,1,...,9,1,...,9 4,1,...,9.,1,...,9,1,...,9 ε,+,- 1 2 ε 3 5.,1,...,9 +,- {, } { } {, } { ,1,...,9., 3, 5 } Start..,1,...,9 { 2 } { 3, 5 },1,...,9,1,...,9 Docente: Enrico Mezzetti 3 of 31

31 Euivalenza tra ɛ-nfa e DFA Th 2.22: Un linguaggio L e accettato da un ɛ-nfa E se e solo se L e accettato da un DFA Prova: Parte se Facile Parte solo se Usiamo D costruito come sopra e mostriamo per induzione su w che ˆδ E (, w) = ˆδ D ( D, w) Base w = (w = ɛ) ˆδ E (, ɛ) = ECLOSE( ) = D = ˆδ( D, ɛ) Induzione w = n + 1, w = xa e enunciato vale per x ˆδ E (, xa) = ECLOSE(p) = = p δ E (ˆδ E (,x),a) p δ D (ˆδ D ( D,x),a) p ˆδ D ( D,xa) = ˆδ D ( D, xa) ECLOSE(p) ECLOSE(p) Docente: Enrico Mezzetti 31 of 31

Automi a stati finiti

Automi a stati finiti ommario Introduzione agli automi a stati finiti Concetti di base della teoria degli automi Tecniche di dimostrazione deterministici (DFA) non deterministici (NFA) non deterministici con ɛ-transizione (ɛ-nfa)

Dettagli

Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file

Dettagli

Linguaggi regolari e automi a stati finiti. Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti. Linguaggi regolari e automi a stati finiti utomi a stati finiti Gli automi a stati finiti sono usati come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file

Dettagli

Automi e Linguaggi Formali. Cambiamenti di orario. Altre informazioni utili. Motivazione. Anno accademico

Automi e Linguaggi Formali. Cambiamenti di orario. Altre informazioni utili. Motivazione. Anno accademico Automi e Linguaggi Formali Anno accademico 5-6 Docente: Francesca Rossi E-mail: frossi@math.unipd.it Orario: Lunedi 5:3 7:3, LUM 5 Venerdi 3:3 6:3, LUM 5 Cambiamenti di orario non si fara lezione Venerdi

Dettagli

Automi e Linguaggi Formali

Automi e Linguaggi Formali E-mail: frossi@math.unipd.it rario e ricevimento Orario: Mercoledi 13:30 15:30, LUM 250 Giovedi 13:30 15:30, LUM 250 Venerdi 12:30 13:30, LUM 250 Ricevimento: Martedi 16:00-18:00, studio 428, IV piano,

Dettagli

NFA per riconoscere numeri decimali

NFA per riconoscere numeri decimali NFA per riconoscere numeri decimali Vogliamo un NFA che accetta numeri decimali. Un numero decimale consiste di: 1 Un segno + o -, opzionale 2 Una stringa di cifre decimali 3 un punto decimale 4 un altra

Dettagli

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari roprieta dei Linguaggi Regolari Pumping Lemma. Ogni linguaggio regolare soddisfa una proprieta ben nota, il pumping lemma. Questa tecnica fornisce uno strumento utile per dimostrare che un linguaggio non

Dettagli

Proprieta dei Linguaggi regolari

Proprieta dei Linguaggi regolari Proprieta dei Linguaggi regolari Pumping Lemma. Ogni linguaggio regolare soddisfa il pumping lemma. Se qualcuno vi presenta un falso linguaggio regolare, l uso del pumping lemma mostrera una contraddizione.

Dettagli

Automi e Linguaggi Formali Automi a stack (Pushdown automata)

Automi e Linguaggi Formali Automi a stack (Pushdown automata) Automi e Linguaggi Formali Automi a stack (Pushdown automata) A.A. 2014-2015 Enrico Mezzetti emezzett@math.unipd.it Automi a stack Un Pushdown Automata (PDA) o Automa a stack Essenzialmente un ɛ-nfa con

Dettagli

Automi a stati finiti

Automi a stati finiti Automi a stati finiti Definizioni preliminari Il modello: la definizione formale, esempi. Le definizioni utili per descrivere e provare proprietà degli automi: diagramma degli stati, configurazioni, relazione

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle grammatiche 1

Dettagli

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo e Linguaggi Liberi Linguaggi regolari Potere espressivo degli automi Costruzione di una grammatica equivalente a un automa Grammatiche regolari Potere espressivo delle Tutti i linguaggi che possono essere

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 2 Alberto Carraro 12 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a stati finiti deterministici

Dettagli

AUTOMI A STATI FINITI

AUTOMI A STATI FINITI AUTOMI A STATI FINITI I linguaggi regolari godono di interessanti proprietà algebriche: Sono defnibili con le espressioni regolari Sono generati da grammatiche di Chomsky di tipo 3. Sono riconoscibili

Dettagli

Espressioni regolari. Espressioni regolari

Espressioni regolari. Espressioni regolari ommario delle espressioni regolari Da automi a espressioni regolari Da espressioni regolari ad automi Leggi algebriche per linguaggi spressioni regolari DFA, NFA, ɛ-nfa sono un metodo formale per costruire

Dettagli

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi Linguaggi Regolari e Linguaggi Liberi Potenza espressiva degli automi Potenza espressiva delle grammatiche 9/11/2004 Programmazione - Luca Tesei 1 Linguaggi Regolari Tutti i linguaggi che possono essere

Dettagli

Esercizi di Informatica Teorica - DFA

Esercizi di Informatica Teorica - DFA Esercizi di Informatica Teorica - DFA Esercizio Definire, se esso esiste, l automa deterministico a stati finiti A che riconosce il linguaggio L = {w w {,},w[i] =, i dispari,i > }. Dimostrare rigorosamente

Dettagli

Automi e Linguaggi Formali

Automi e Linguaggi Formali Automi e Linguaggi Formali Espressioni regolari A.A. 2014-2015 Enrico Mezzetti emezzett@math.unipd.it Espressioni regolari Un FA (NFA o DFA) e un metodo per costruire una macchina che riconosce linguaggi

Dettagli

Automi, Linguaggi e Computazione

Automi, Linguaggi e Computazione Automi, Linguaggi e Computazione Capitolo 1 : Teoria degli Automi e Tecniche di Dimostrazione Laurea Magistrale in Ingegneria Informatica Università di Padova Docente : Giorgio Satta Presentazione basata

Dettagli

Automi a stati finiti

Automi a stati finiti Automi a stati finiti Il modello: la definizione formale, esempi. Le definizioni utili per descrivere e provare proprietà degli automi: configurazioni, relazione porta a e relative definizioni di linguaggio

Dettagli

Fondamenti dell Informatica

Fondamenti dell Informatica Fondamenti dell Informatica Compito scritto 28 settembre 2005 Cognome: Nome: Matricola: Note 1. Per i quiz a risposta multipla, fare una croce sulla/e lettera/e che identifica/no la/e risposta/e desiderata/e.

Dettagli

Fondamenti di Programmazione: AUTOMI E LINGUAGGI FORMALI Corso di Laurea in MATEMATICA a.a. 2018/2019

Fondamenti di Programmazione: AUTOMI E LINGUAGGI FORMALI Corso di Laurea in MATEMATICA a.a. 2018/2019 Fondamenti di Programmazione: AUTOMI E LINGUAGGI FORMALI Corso di Laurea in MATEMATICA a.a. 2018/2019 Chiara Bodei Dipartimento di Informatica chiara.bodei@unipi.it Testi di riferimento Libro di testo

Dettagli

Espressioni regolari

Espressioni regolari spressioni Regolari Un FA (NFA o DFA) e una macchina a stati finiti che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo (o algebrico) per descrivere un linguaggio regolare.

Dettagli

Sommario. Espressioni regolari. Equivalenza tra espressioni regolari e DFA. Esercizi problemi di decisione

Sommario. Espressioni regolari. Equivalenza tra espressioni regolari e DFA. Esercizi problemi di decisione Sommario Espressioni regolari Equivalenza tra espressioni regolari e DFA Esercizi problemi di decisione ESPRESSIONI REGOLARI Le espressioni regolari sono una notazione per rappresentare insiemi di stringhe

Dettagli

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari Esercizi di Fondamenti di Informatica per la sicurezza tefano Ferrari 23 dicembre 2003 2 Argomento 1 Grammatiche e linguaggi Esercizi Es. 1.1 Definiti i linguaggi: L 1 = {aa, ab, bc, c} L 2 = {1, 22, 31}

Dettagli

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Progamma sintetico Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Un problema classico Un uomo viaggia con un lupo, una pecora

Dettagli

Linguaggi e Traduttori: Analisi lessicale

Linguaggi e Traduttori: Analisi lessicale Linguaggi e Traduttori: Analisi lessicale Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-La) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova

Dettagli

Capitolo 1: Concetti matematici di base

Capitolo 1: Concetti matematici di base Capitolo 1: Concetti matematici di base 1 Insiemi x A x é elemento dell insieme A. B A B é un sottoinsieme di A. B A B é un sottoinsieme proprio di A. A costituito da n elementi A = n é la sua cardinalitá.

Dettagli

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da:

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da: Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Automi Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli Studi di Milano

Dettagli

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Progamma sintetico Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Un problema classico Un uomo viaggia con un lupo, una pecora

Dettagli

Automi deterministici e non

Automi deterministici e non Automi deterministici e non Negli esempi visti fin ora gli automi avevano sempre relazioni di transizione per cui per un dato elemento del dominio coppia (s, v), dove s è uno stato (sorgente) e v un simbolo,

Dettagli

Sommario. 1. Ancora qualche esempio di DFA Introduzione, definizione ed esempi di automa a stati finiti nondeterministici

Sommario. 1. Ancora qualche esempio di DFA Introduzione, definizione ed esempi di automa a stati finiti nondeterministici Sommario. Ancora qualche esempio di DFA Introduzione, definizione ed esempi di automa a stati finiti nondeterministici Michael O. Rabin (93) 2. Dimostrazione equivalenza tra automi a stati finiti nondeterministici

Dettagli

Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto

Automi a Pila e Grammatiche Libere dal Contesto. Automi a Pila e Grammatiche Libere dal Contesto utomi a Pila Un automa a pila (PDA) e una estensione degli automi a stati finiti, che ha una memoria (una pila) Vedremo due modi equivalenti per definire il linguaggio accettato da un PDA Vedremo che la

Dettagli

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione Problemi che i calcolatori non possono risolvere E importante sapere se un programma e corretto, cioe fa uello che ci aspettiamo. E facile vedere che il programma Ma il programma in Fig. 8.2 del libro?

Dettagli

Automi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/55

Automi. Rosario Culmone, Luca Tesei. 20/10/2009 UNICAM - p. 1/55 Automi Rosario Culmone, Luca Tesei 20/10/2009 UNICAM - p. 1/55 Storia Dal latino automatus "che si muove da sé" Macchine o dispositivi reali o ipoteticamente realizzabili, i quali siano in grado di eseguire

Dettagli

Prefazione all edizione italiana

Prefazione all edizione italiana Questo è l'indice del libro, in cui sono evidenziati i paragrafi corrispondenti agli argomenti trattati nel corso e che costituiscono il programma d'esame. Si noti che la presentazione di alcuni argomenti

Dettagli

Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014

Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014 Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014 Il compito è diviso in due parti come i compitini: 1) Automi e Linguaggi e 2) Macchine di Turing e Calcolabilità. Si può consegnare

Dettagli

Concetti di base sugli automi e sui linguaggi formali

Concetti di base sugli automi e sui linguaggi formali Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere

Dettagli

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3 Note del corso di Calcolabilità e Linguaggi Formali - Lezione 3 Alberto Carraro 26 ottobre 2011 DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Automi a a pila deterministici e

Dettagli

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP

Progamma sintetico. Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Progamma sintetico Nozioni preliminari Automi Finiti Macchine di Turing Limiti delle macchine di Turing La tesi di Church-Turing Le classi P e NP Un problema classico Un uomo viaggia con un lupo, una pecora

Dettagli

Problemi di decisione Si delinei un algoritmo che decide se due linguaggi regolari su Σ hanno una stringa in comune.

Problemi di decisione Si delinei un algoritmo che decide se due linguaggi regolari su Σ hanno una stringa in comune. Problemi di decisione Si delinei un algoritmo che decide se due linguaggi regolari su Σ hanno una stringa in comune. Si delinei un algoritmo che decide se un DFA accetta un linguaggio infinito Si delinei

Dettagli

non è lineare destro. (PUNTI 15)

non è lineare destro. (PUNTI 15) 6 Giugno 2005 (h.1.00) 1) Dimostrare formalmente che il seguente linguaggio: L = {a i b j c k : k = i+ j, i, j, k 0} non è lineare destro. 2) Progettare, commentando opportunamente, l automa a stati finiti

Dettagli

AUTOMI A PILA. M.P. Schutzenberger

AUTOMI A PILA. M.P. Schutzenberger AUTOMI A PILA Introdotti da A. G. Oettinger in Automatic Syntactic Analysis and the pushdown store Proc. Symp. Applied Math., 1961 e da M.P. Schutzenberger in Context free languages and pushdown automata

Dettagli

Automi e Linguaggi Formali

Automi e Linguaggi Formali Esressioni regolari utomi e Linguaggi Formali Esressioni regolari Un F (NF o DF) e un metodo er costruire una macchina che riconosce linguaggi regolari Una esressione regolare e un modo dichiarativo er

Dettagli

Quiz sui linguaggi regolari

Quiz sui linguaggi regolari Fondamenti dell Informatica 1 semestre Quiz sui linguaggi regolari Prof. Giorgio Gambosi a.a. 2016-2017 Problema 1: Data l espressione regolare a, definita su {a, b}, descrivere il linguaggio corrispondente

Dettagli

METODI MATEMATICI PER L INFORMATICA

METODI MATEMATICI PER L INFORMATICA METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 7 19/05/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Ricorsione Esercizio 2 pagina 357 Trovare f(1), f(2), f(3),

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2014/2015 Linguaggi formali e compilazione Generalità delle ǫ-transizioni Gli automi non deterministici, come abbiamo visto, possono

Dettagli

10. LINGUAGGI REGOLARI

10. LINGUAGGI REGOLARI 10. LINGUAGGI REGOLARI I linguaggi regolari: Sono i linguaggi generati da grammatiche di Chomsky di tipo 3. Vari elementi sintattici di base dei linguaggi di programmazione sono regolari (es. identificatori)

Dettagli

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari

Proprieta dei Linguaggi Regolari. Proprieta dei Linguaggi Regolari roprieta dei Linguaggi Regolari Proprieta di chiusura. E interessante investigare proprieta di chiusura dei linguaggi regolari rispetto ad applicazione di sostituzioni o omomorfismi. Queste tecniche permettono

Dettagli

Teoria della complessità

Teoria della complessità Teoria della complessità Materiale consigliato: testo del corso capitolo 34 Introduzione agli algoritmi e strutture dati T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein McGraw Hill, 2005 Denise Salvi

Dettagli

Un prefisso, un suffisso o una sottostringa di una stringa, quando non sono la stringa stessa, sono detti propri.

Un prefisso, un suffisso o una sottostringa di una stringa, quando non sono la stringa stessa, sono detti propri. SIMBOLI Un simbolo è un entità primitiva astratta non meglio definita. Per ciò che ci concerne, un simbolo è atomico: se anche avesse una struttura interna, noi non la osserviamo. Le uniche caratteristiche

Dettagli

Grammatiche libere da contesto. Grammatiche libere da contesto

Grammatiche libere da contesto. Grammatiche libere da contesto rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora classi piu grandi di linguaggi Linguaggi Liberi da Contesto (CFL) sono stati usati nello

Dettagli

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione Informatica e Laboratorio di Programmazione Automi Alberto Ferrari Alberto Ferrari Informatica e Laboratorio di Programmazione automa o automa: macchina astratta o realizza un certo algoritmo, secondo

Dettagli

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi,

Formali. Corso di Automi e Linguaggi. Gennaio- Marzo Docente: Francesca Rossi, Corso di Automi e Linguaggi Formali Gennaio- Marzo 2004 Docente: Francesca Rossi, frossi@math.unipd.it Corso di Automi e Linguaggi Formali Gennaio-Marzo 2004 p.1/30 Dati del corso Orario: Lunedi 15:50-17:30,

Dettagli

Equivalenza di PDA e CFG. Equivalenza di PDA e CFG

Equivalenza di PDA e CFG. Equivalenza di PDA e CFG quivalenza di PDA e CFG Un linguaggio e generato da una CFG se e solo se e accettato da un PDA per pila vuota se e solo se e accettato da un PDA per stato finale Grammar PDA by empty stack PDA by final

Dettagli

Linguaggi di Programmazione e Compilatori

Linguaggi di Programmazione e Compilatori Maria Rita Di Berardini Linguaggi di Programmazione e Compilatori Raccolta Esercizi 10 giugno 2009 Università di Camerino Dipartimenento di Matematica e Informatica Indice 1 Analisi Lessicale...........................................

Dettagli

LINGUAGGI REGOLARI. Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti:

LINGUAGGI REGOLARI. Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti: LINGUAGGI REGOLARI Teorema (Kleene). Le seguenti classi di linguaggi sono equivalenti: 1 - L(GR): linguaggi generati da grammatiche di tipo 3 (anche con ε-produzioni) 2 - L(ASF): linguaggi riconosciuti

Dettagli

RACCOLTA DI ESERCIZI CON SOLUZIONI

RACCOLTA DI ESERCIZI CON SOLUZIONI Università degli Studi di Padova Dipartimento di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria Informatica Automi, Linguaggi e Computazione RACCOLTA DI ESERCIZI CON SOLUZIONI prof.

Dettagli

Automi a pila. Automi a pila

Automi a pila. Automi a pila utomi a pila Un automa a pila (PDA) e in pratica un ǫ-nfa con una pila. In una transizione un PDA: 1 Consuma un simbolo di input. 2 Va in un nuovo stato (o rimane dove e ). 3 Rimpiazza il top della pila

Dettagli

Sintassi. Linguaggi. 4: Sintassi. Claudio Sacerdoti Coen. Universitá di Bologna 24/02/2011. Claudio Sacerdoti Coen

Sintassi. Linguaggi. 4: Sintassi. Claudio Sacerdoti Coen. Universitá di Bologna 24/02/2011. Claudio Sacerdoti Coen Linguaggi 4: Universitá di Bologna 24/02/2011 Outline 1 Wikipedia: La sintassi è la branca della linguistica che studia i diversi modi in cui le parole si uniscono tra loro per formare

Dettagli

Analisi Lessicale: Linguaggi Regolari

Analisi Lessicale: Linguaggi Regolari Analisi Lessicale: Linguaggi Regolari Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 18 mar, 2016 Sommario 1 Espressioni Regolari Linguaggi

Dettagli

Esercizi di Informatica Teorica

Esercizi di Informatica Teorica Esercizi di Informatica Teorica Linguaggi non contestuali: automi a pila 1 Automa a pila richiami un automa a pila non deterministico è una settupla: A = dove èl alfabeto (finito)

Dettagli

LINGUAGGI FORMALI. Introduzione

LINGUAGGI FORMALI. Introduzione LINUAI FORMALI Introduzione Alfabeto : un qualunque insieme di simboli. (Tratteremo solo alfabeti finiti). Esempio: {a,b,c,,,x,w,y,z} {0.1.2.3.4.5.6.7.8.9} {0,1} Stringa (su un alfabeto) : una sequenza

Dettagli

Prof. Emanuele ANDRISANI

Prof. Emanuele ANDRISANI Potenze con esponente razionale Sia a > 0 e a 1. Abbiamo definito a x quando x N. Poniamo a 0 = 1 a x = a m n = n a m se x = m n Q, x > 0, m, n N a x = 1 a x se x Q, x > 0. È così definita la potenza a

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole note, nuovi significati: linguaggio, determinismo e infinito Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico

Dettagli

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm

Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemm Sui Linguaggi Regolari: Teorema di Kleene - Pumping Lemma N.Fanizzi - V.Carofiglio 6 aprile 2016 1 Teorema di Kleene 2 3 o 1 o 3 o 8 Teorema di Kleene Vale la seguente equivalenza: L 3 L FSL L REG Dimostrazione.

Dettagli

RACCOLTA DI ESERCIZI CON SOLUZIONI

RACCOLTA DI ESERCIZI CON SOLUZIONI Università degli Studi di Padova Dipartimento di Ingegneria dell Informazione Corso di Laurea Magistrale in Ingegneria Informatica Automi, Linguaggi e Computazione: RACCOLTA DI ESERCIZI CON SOLUZIONI prof.

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a cura di Luca Cabibbo e Walter Didimo a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 automi a pila automi a pila e grammatiche non contestuali notazioni sul livello degli esercizi: (*)

Dettagli

Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis

Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Capitolo 2 Grammatiche e Linguaggi Si ringraziano il Prof. Giovanni Semeraro e il Dott. Pasquale Lops per la concessione del

Dettagli

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché

Partizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché Partizioni intere PARTIZIONAMENTO: Dato un insieme di n interi non negativi rappresentati in binario, trovare un sottoinsieme P! {1,2,..., n } tale che! i"p a i =! i# P a i Es: Dato {38, 17, 52, 61, 21,

Dettagli

Espressioni regolari. Espressioni regolari

Espressioni regolari. Espressioni regolari spressioni regolari Un FA (NFA o DFA) e un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere un linguaggio regolare. Esempio:

Dettagli

Linguaggi. Ci sono linguaggi che non possono essere riconosciu4 da PDA? TM 1. Linguaggi riconosciuti da PDA. Linguaggi regolari

Linguaggi. Ci sono linguaggi che non possono essere riconosciu4 da PDA? TM 1. Linguaggi riconosciuti da PDA. Linguaggi regolari TM 1 Linguaggi Linguaggi regolari Linguaggi riconosciuti da PDA Ci sono linguaggi che non possono essere riconosciu4 da PDA? Unione Abbiamo visto che l unione di alcuni linguaggi riconosciuti da PDA non

Dettagli

Espressioni regolari descrivono i linguaggi regolari. Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari.

Espressioni regolari descrivono i linguaggi regolari. Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari. Espressioni regolari descrivono i linguaggi regolari Un FA (NFA o DFA) è un metodo per costruire una macchina che riconosce linguaggi regolari. Una espressione regolare e un modo dichiarativo per descrivere

Dettagli

Aniello Murano Automi e Pushdown

Aniello Murano Automi e Pushdown Aniello Murano Automi e Pushdown 2 Lezione n. Parole chiave: Automi e PDA Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Calcolabilità, complessità e macchine computazionali

Dettagli

Proprieta dei linguaggi liberi da contesto. Proprieta dei linguaggi liberi da contesto

Proprieta dei linguaggi liberi da contesto. Proprieta dei linguaggi liberi da contesto roprieta di CFL Semplificazione di una CFG: se un linguaggio e un CFL, ha una grammatica di una forma speciale. Pumping Lemma per CFL: simile ai linguaggi regolari. Proprieta di chiusura: alcune delle

Dettagli

Linguaggi regolari e automi a stati finiti

Linguaggi regolari e automi a stati finiti Linguaggi regolari e automi a stati finiti Argomenti della lezione Linguaggi regolari e automi a stati finiti Automi a stati finiti non deterministici Relazione tra automi deterministici e non deterministici

Dettagli

Da espressioni regolari a -NFA

Da espressioni regolari a -NFA Da espressioni regolari a -NFA Teorema 3.7: Per ogni espressione regolare R possiamo costruire un -NFA A, talechel(a) =L(R). Dimostrazione: Per induzione strutturale: Base: Automa per, ;, ea. (a) (b) a

Dettagli

Linguaggi formali, automi e logiche (draft)

Linguaggi formali, automi e logiche (draft) Linguaggi formali, automi e logiche (draft) Massimo Franceschet e Angelo Montanari May 12, 2006 1 Automi a stati finiti su parole finite In questo capitolo vengono richiamati gli elementi di base della

Dettagli

Linguaggi formali, automi e logiche

Linguaggi formali, automi e logiche Linguaggi formali, automi e logiche Angelo Montanari 1 Automi a stati finiti su parole finite In questo capitolo vengono richiamati gli elementi di base della teoria degli automi a stati finiti (automi

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Argomenti della lezione Obiettivi e programma del corso Alfabeti, stringhe, linguaggi Operazioni su linguaggi Espressioni regolari Per studiare le proprietà fondamentali di algoritmi,

Dettagli

a cura di Luca Cabibbo e Walter Didimo

a cura di Luca Cabibbo e Walter Didimo a cura di Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 principio di induzione finita (o matematica) cardinalità di insiemi pigeonhole principle espressioni

Dettagli

Linguaggi di Programmazione Corso C. Parte n.2 Introduzione ai Linguaggi Formali. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.2 Introduzione ai Linguaggi Formali. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.2 Introduzione ai Linguaggi Formali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Definizioni Preliminari Un

Dettagli

Reti Logiche Sequenziali

Reti Logiche Sequenziali Reti Logiche Sequenziali 00.e Cenni sugli Automi a stati finiti Automa a stati finiti: definizione Un automa a stati finiti deterministico (DFA Deterministic Finite Automaton) è una quintupla (Q, Σ, δ,

Dettagli

Trasformazione di un NDFA in un DFA con ε-regole

Trasformazione di un NDFA in un DFA con ε-regole Trasformazione di un NDFA in un DFA con -regole a A B D d b C E c t A B C D E a D E b D D c D,E D E D d C C a - t ( s, q i ) = -chiusura (δ (s, q j )) qj -chiusura ( qi) -Primo passo dell algoritmo modificato

Dettagli

Grammatiche libere da contesto. Grammatiche libere da contesto

Grammatiche libere da contesto. Grammatiche libere da contesto rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora classi piu grandi di linguaggi. Linguaggi Liberi da Contesto (CFL) sono stati usati nello

Dettagli

Proprieta dei linguaggi liberi da contesto. Proprieta dei linguaggi liberi da contesto

Proprieta dei linguaggi liberi da contesto. Proprieta dei linguaggi liberi da contesto roprieta di CFL Semplificazione di una CFG: se un linguaggio e un CFL, ha una grammatica di una forma speciale. Pumping Lemma per CFL: simile ai linguaggi regolari. Proprieta di chiusura: alcune delle

Dettagli

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari

Fondamenti di informatica per la sicurezza anno accademico docente: Stefano Ferrari Corso di Laurea in icurezza dei sistemi e delle reti informatiche Fondamenti di informatica per la sicurezza anno accademico 2004 2005 docente: tefano Ferrari 14.01.2005 del secondo compitino vers. B valutazioni

Dettagli

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale

Aniello Murano Classe dei problemi NP. Nella lezione precedente abbiamo visto alcuni problemi che ammettono soluzione polinomiale Aniello Murano Classe dei problemi NP 13 Lezione n. Parole chiave: Classe NP Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009 Introduzione alla lezione Nella lezione

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2014/2015 Linguaggi formali e compilazione sul corso Sito web: http://algogroup.unimore.it/people/mauro/dida/2014-2015 / Ricevimento:

Dettagli

AUTOMI A PILA. M.P. Schutzenberger

AUTOMI A PILA. M.P. Schutzenberger UTOMI PIL Introdotti da. G. Oettinger in utomatic Syntactic nalysis and the pushdown store Proc. Symp. pplied Math., 1961 e da M.P. Schutzenberger in Context free languages and pushdown automata Information

Dettagli

Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice

Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice l linguaggio universale Il linguaggio universale L u e l insieme delle stringhe binarie che codificano una coppia (M,w) dove w L(M). Esiste una TM U, detta TM universale, tale che L u = L(U). U ha tre

Dettagli

Cenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)

Cenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Cenni di programmazione ricorsiva Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B) Corso di Laurea in Informatica Università di Pisa A.A. 2009/10 R. Barbuti, P. Mancarella Indice

Dettagli

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare

Dettagli

MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014

MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014 MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 4 APRILE 014 1. Trovare il numero di stringhe di lunghezza n che si possono formare usando le lettere A, B, C, D, E in modo che ogni stringa

Dettagli

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica teorica Lez. n 7 Macchine di Turing. Macchine di Turing. Prof. Giorgio Ausiello Università di Roma La Sapienza Macchine di Turing Argomenti della lezione Definizione della macchina di Turing Riconoscimento e accettazione di linguaggi Macchine a più nastri La macchina di Turing èun è automa che può leggere e scrivere

Dettagli

Automi e Macchine. Computabilità. Progetto Nazionale Lauree Scientifiche Licei Fracastoro e Messedaglia Verona, novembre/dicembre 2012.

Automi e Macchine. Computabilità. Progetto Nazionale Lauree Scientifiche Licei Fracastoro e Messedaglia Verona, novembre/dicembre 2012. Automi e Macchine Computabilità Progetto Nazionale Lauree Scientifiche Licei Fracastoro e Messedaglia Verona, novembre/dicembre 2012 Computabilità AA 2012/13 Ugo Solitro Sommario Introduzione Automi a

Dettagli

Equivalenza e minimizzazione di automi. Equivalenza e minimizzazione di automi

Equivalenza e minimizzazione di automi. Equivalenza e minimizzazione di automi tati equivalenti Sia A = (Q,Σ,δ,q,F) un DFA, e {p,q} Q. Definiamo p q w Σ : ˆδ(p,w) F se e solo se ˆδ(q,w) F Se p q diciamo che p e q sono equivalenti Se p q diciamo che p e q sono distinguibili In altre

Dettagli

Le grammatiche formali

Le grammatiche formali Le grammatiche formali Il carattere generativo dei sistemi linguisticii i Consideriamo i la seguente frase: Un gatto rincorre il topo Non facciamo difficoltà a riconoscere che si tratta di una frase sintatticamente

Dettagli