Automi a stati finiti
|
|
- Alessandra Guerra
- 5 anni fa
- Visualizzazioni
Transcript
1
2 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)
3 utomi a stati finiti Automa: Dispositivo capace di eseguire una seuenza di azioni/operazioni in modo automatico Automa a stati finiti: Automa con una memoria finita Automa stati finiti come modello per Software per la progettazione di circuiti digitali. Analizzatori lessicali di un compilatore. Ricerca di parole chiave in un file o sul web. Software per verificare i protocolli di comunicazione.
4 sempi Automa a stati finiti per un interruttore on/off Push Start off on Push Automa a stati finiti che riconosce la stringa then Start t h e n t th the then
5 appresentare automi a stati finiti Grafo: la piu semplice rappresentazione Nodi = stati Archi rappresentano transizioni Etichette sugli archi ci dicono cosa causa la transizione
6 oncetti di base della teoria degli automi Alfabeto: Insieme finito e non vuoto di simboli Esempio: Σ = {0, 1} alfabeto binario Esempio: Σ = {a, b, c,..., z} insieme di tutte le lettere minuscole Esempio: Insieme di tutti i caratteri ASCII Stringa: Seuenza finita di simboli presi da un alfabeto Σ Esempio: (stringa su Σ = {0, 1}) Stringa vuota: La stringa con zero occorrenze di simboli da Σ La stringa vuota e denotata con ɛ
7 Lunghezza di una stringa: Numero di posizioni per i simboli nella stringa w denota la lunghezza della stringa w 0110 = 4, ɛ = 0 Potenze di un alfabeto: Σ k = insieme delle stringhe di lunghezza k con simboli da Σ Example: Σ = {0, 1} Σ 1 = {0, 1} Σ 2 = {00, 01, 10, 11} Σ 0 = {ɛ} Domanda: Quante stringhe ci sono in Σ 3?
8 L insieme di tutte le stringhe su Σ e denotato da Σ Σ = Σ 0 Σ 1 Σ 2 Anche: Σ + = Σ 1 Σ 2 Σ 3 Σ = Σ + {ɛ} Concatenazione: Se x e y sono stringhe, allora xy e la stringa ottenuta mettendo una copia di y immediatamente dopo una copia di x x = a 1 a 2... a i, y = b 1 b 2... b j xy = a 1 a 2... a i b 1 b 2... b j Esempio: x =01101, y = 110, xy = Nota: Per ogni stringa x xɛ = ɛx = x
9 inguaggi Linguaggio: insieme di stringhe scelte da Σ, dove Σ e un alfabeto. L Σ e un linguaggio. Esempi di linguaggi: L insieme delle parole italiane legali L insieme dei programmi C legali L insieme delle stringhe che consistono di n zeri seguiti da n uni, con n 0 {ɛ, 01, 0011, ,...} L insieme delle stringhe con un numero uguale di zeri e di uni {ɛ, 01, 10, 0011, 0101, 1001,...} L insieme dei numeri binari il cui valore e primo L P = {10, 11, 101, 111, 1011,...}
10 ltri esempi di linguaggi Il linguaggio vuoto che non contiene nessuna stringa Il linguaggio {ɛ} consiste della stringa vuota Nota: {ɛ} Nota: L alfabeto Σ e sempre finito
11 roblemi Problema: Sia Σ un alfabeto, w Σ e L un linguaggio, w L? La stringa w e un elemento di un linguaggio L? Esempio: Dato un numero binario, e primo = e un elemento di L P?
12 imostrazioni deduttive Seuenza di enunciati la cui verita porta da un enunciato iniziale (l ipotesi) ad un enunciato finale (la conclusione) Forma del teorema: Se H, allora C (H C, H implica C) H= ipotesi, C= conclusione Teorema: se x 4, allora 2 x x 2 x parametro uantificato universalmente (vale per tutti gli x)
13 Teoremi della forma C1 se e solo se C2 : due direzioni di prova. (Si deve provare che: C 1 C 2 e C 2 C 1 ) Dimostrazione per assurdo di teoremi della forma H C H e non C implica il falso Controesempio: per dimostrare che un teorema non vale basta provare che in un caso non vale Esercizio: E vero che se x e un numero primo allora x e dispari? No, infatti 2 e numero primo ma non e dispari
14 imostrazioni per induzione Utili uando ci sono cose definite ricorsivamente Esempio: 0 e un intero e se n e un intero allora n+1 e un intero Induzione sugli interi: dobbiamo dimostrare un enunciato S(n) su un intero n Base: dimostriamo S(i) per un intero particolare i (0 o 1 di solito) Passo induttivo: si suppone n i, si dimostra che se vale S(n) allora vale S(n + 1) Possiamo concludere che S(n) e vero per ogni n i
15 sempio - dimostrazione per induzione Se x 4, allora 2 x x 2 Base: x = 4 2 x = 2 4 = 16 e x 2 = 4 2 = 16 Induzione: Si suppone che per x 4, 2 x x 2 (ipotesi induttiva) Dobbiamo dimostrare che 2 x+1 (x + 1) 2 Abbiamo: 2 x+1 = 2 x 2 x 2 2 = 2x 2 (per ipotesi induttiva) Dimostriamo adesso che 2x 2 (x + 1) 2 = x 2 + 2x + 1 Cioe dimostriamo che x 2 2x + 1 Cioe, semplificando (divido per x), dimostriamo che x 2 + 1/x Se x 4, allora 1/x 1/4 e uindi 2 + 1/x 2.25 Quindi se x 4, allora x 2 + 1/x Abbiamo dimostrato che se x 4, allora 2 x x 2
16 nduzione strutturale Molte strutture possono essere definite ricorsivamente Espressioni: caso base: ualunue numero o lettera e un espressione caso induttivo: se E e F sono espressioni, allora lo sono anche E + F, E F e (E) Esempi: 3+(4x2), (2x(5+7))x4 Per dimostrare teoremi su una struttura X: si dimostra l enunciato sul caso base della def. di X, poi si suppone che l enunciato sia vero sulle strutture di cui X e composta secondo la definizione ricorsiva si dimostra l enunciato sulla struttura X
17 sempio Dimostrare con induzione strutturale che ogni espressione ha un numero uguale di parentesi aperte e chiuse Caso base: un carattere ha zero parentesi aperte e zero parentesi chiuse vero Induzione: Suppongo che E e F hanno un numero uguale di parentesi aperte e chiuse. Devo dimostrare che E + F, E F e (E) hanno un numero uguale di parentesi aperte e chiuse Per E + F e E F : se vale l enunciato per E e F, supponiamo che E abbia n parentesi aperte e chiuse e F ne abbia m E + F ne ha n + m parentesi aperte e n + m parentesi chiuse Per (E): se vale per E, supponiamo che E abbia n parentesi aperte e n chiuse (E) ha n + 1 parentesi aperte e n + 1 parentesi chiuse
18 nduzione mutua Non e sempre possibile dimostrare un singolo enunciato per induzione Si devono dimostrare congiuntamente un gruppo di enunciati S 1 (n), S 2 (n),..., S k (n) per induzione su n.
19 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)
20 utomi a stati finiti deterministici Un DFA e una uintupla A = (Q, Σ, δ, 0, F ) Q e un insieme finito di stati Σ e un alfabeto finito (= simboli di input) δ e una funzione di transizione: Q Σ Q, (, a) p 0 Q e lo stato iniziale F Q e un insieme di stati finali (o stati accettanti)
21 sempio Esempio: Un automa A che accetta L = {x01y : x, y {0, 1} } L automa A = ({ 0, 1, 2 }, {0, 1}, δ, 0, { 1 }) come una tabella di transizione: L automa come un diagramma di transizione: Start , 1
22 ccettazione Un automa a stati finiti (FA) accetta una stringa w = a 1 a 2 a n se esiste un cammino nel diagramma di transizione che 1 Inizia nello stato iniziale 2 Finisce in uno stato finale (di accettazione) 3 Ha una seuenza di etichette a 1 a 2 a n Esercizio: Il DFA Start , 1 accetta la stringa 01101?
23 inguaggio accettato La funzione di transizione δ puo essere estesa a ˆδ che opera su stati e stringhe (invece che su stati e simboli) Base: ˆδ(, ɛ) = Induzione: ˆδ(, xa) = δ(ˆδ(, x), a) Formalmente, il linguaggio accettato da A e L(A) = {w Σ : ˆδ( 0, w) F } I linguaggi accettati da automi a stati finiti sono detti linguaggi regolari
24 sercizio Costruire un DFA A che accetta tutte e sole le stringhe con un numero pari di zeri e un numero pari di uni
25 sercizio Costruire un DFA A che accetta tutte e sole le stringhe con un numero pari di zeri e un numero pari di uni Start
26 sempio Start Rappresentazione tabulare dell automa
27 sercizio Start w = 0101 L(A)? Sì, poichè ˆδ( 0, 0101) è uno stato accettante. ˆδ( 0, ɛ) = 0 ˆδ( 0, 0) = δ(ˆδ( 0, ɛ), 0) = δ( 0, 0) = 2 ˆδ( 0, 01) = δ(ˆδ( 0, 0), 1) = δ( 2, 1) = 3 ˆδ( 0, 010) = δ(ˆδ( 0, 01), 0) = δ( 3, 0) = 1 ˆδ( 0, 0101) = δ(ˆδ( 0, 010), 1) = δ( 1, 1) = 0
28 sercizi DFA A per i seguenti linguaggi sull alfabeto {0, 1}: 1 Insieme di tutte le strighe che finiscono con 00 2 Insieme di tutte le stringhe con tre zeri consecutivi 3 Insieme delle stringhe con 011 come sottostringa 4 Insieme delle stringhe che cominciano o finiscono (o entrambe le cose) con 01
29 sercizi Ex.5 - Primo Compitino 2013 Sia L = {w {0, 1} tale che w ha esattamente una sola occorrenza della sottostringa 00} 1 Disegnare il diagramma di transizione di un DFA che riconosce L. 2 Caratterizzare gli stati con una breve descrizione a parole (cioè per ogni stato descrivere le stringhe che portano ad esso). 3 Assumendo di aver già dimostrato che gli stati non accettanti sono caratterizzati dalle stringhe descritte al punto precedente, dimostrare per mutua induzione che: (1) se w L allora w L(A) (2) se w L(A) allora w L. Esercizi per casa: tutti gli esercizi delle dispense sui DFA
30 ommario Introduzione agli automi a stati finiti Concetti di base della teoria degli automi Tecniche di dimostrazione deterministici (DFA): esercizi non deterministici (NFA): definizioni non deterministici con ɛ-transizione (ɛ-nfa)
31 sercizi su DFA Costruire un DFA per il seguente linguaggi sull alfabeto {0, 1}: Insieme delle stringhe che cominciano o finiscono (o entrambe le cose) con 01 Definire il linguaggio accettato dai DFA descritti alla lavagna sull alfabeto {a, b} Sia L = {w {0, 1} tale che w ha esattamente una sola occorrenza della sottostringa 00} Assumendo di aver già dimostrato che gli stati non accettanti sono caratterizzati dalle stringhe descritte al punto precedente, dimostrare per mutua induzione che: (1) se w L allora w L(A) (2) se w L(A) allora w L.
32 utomi a stati finiti non deterministici (NFA) Un NFA puo essere in vari stati nello stesso momento Esempio: un automa che accetta tutte e solo le stringhe che finiscono in 01. 0, 1 Start Ecco cosa succede uando l automa elabora l input (stuck) 2 (stuck)
33 efinizione formale di NFA Formalmente, un NFA e una uintupla A = (Q, Σ, δ, 0, F ) Q e un insieme finito di stati Σ e un alfabeto finito δ e una funzione di transizione Q Σ 2 Q (cioe l insieme dei sottoinsiemi di Q), (, a) {p 1, p 2,..., p n }, n 1 0 Q e lo stato iniziale F Q e un insieme di stati finali
34 sempio L NFA appena visto 0, 1 Start e definito da ({ 0, 1, 2 }, {0, 1}, δ, 0, { 2 }) dove δ e la funzione di transizione { 0, 1 } { 0 } 1 { 2 } 2
35 inguaggio accettato da un NFA Funzione di transizione estesa ˆδ. Base: ˆδ(, ɛ) = {} Induzione: ˆδ(, xa) = δ(p, a) p ˆδ(,x) Il linguaggio accettato da A e L(A) = {w Σ : ˆδ( 0, w) F }
36 sempio 0, 1 Start La stringa 001 appartiene a L(A)? ˆδ( 0, ɛ) = { 0 } ˆδ( 0, 0) = δ( 0, 0) = { 0, 1 } ˆδ( 0, 00) = δ( 0, 0) δ( 1, 0) = { 0, 1 } = { 0, 1 } ˆδ( 0, 001) = δ( 0, 1) δ( 1, 1) = { 0 } { 2 } = { 0, 2 } contiene 2 accettante uindi 001 L(A)
37 ommario Introduzione agli automi a stati finiti Concetti di base della teoria degli automi Tecniche di dimostrazione deterministici (DFA) non deterministici (NFA): teoremi non deterministici con ɛ-transizione (ɛ-nfa)
38 uivalenza di DFA e NFA Gli NFA sono di solito piu facili da programmare. Per ogni NFA N c e un DFA D, tale che L(D) = L(N), e viceversa. Per dimostrarlo si usa una construzione a sottonsiemi. Dato un NFA N = (Q N, Σ, δ N, 0, F N ) costruiremo un DFA D = (Q D, Σ, δ D, { 0 }, F D ) tali che L(D) = L(N)
39 I dettagli della costruzione a sottoinsiemi: Q D = {S : S Q N }. Nota: Q D = 2 Q N, anche se la maggior parte degli stati in Q D sono garbage, cioe non raggiungibili dallo stato iniziale. F D = {S Q N : S F N } Per ogni S Q N e a Σ, δ D (S, a) = p S δ N (p, a)
40 0, 1 Start Costruiamo δ D dall NFA sopra: 0 1 { 0 } { 0, 1 } { 0 } { 1 } { 2 } { 2 } { 0, 1 } { 0, 1 } { 0, 2 } { 0, 2 } { 0, 1 } { 0 } { 1, 2 } { 2 } { 0, 1, 2 } { 0, 1 } { 0, 2 } In particolare: δ D ({ 0 }, 0)= δ N ( 0, 0) = { 0, 1 } δ D ({ 0 }, 1)= δ N ( 0, 1) = { 0 } δ D ({ 0, 1 }, 0) = δ N ( 0, 0) δ N ( 1, 0) = { 0, 1 } = { 0, 1 } δ D ({ 0, 1 }, 1)= δ N ( 0, 1) δ N ( 1, 1) = { 0 } { 2 } = { 0, 2 }...
41 Nota: Gli stati di D corrispondono a sottoinsiemi di stati di N, ma potevamo denotare gli stati di D in un altro modo, per esempio A,..., F. 0 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
42 Possiamo spesso evitare la crescita esponenziale degli stati costruendo la tabella di transizione per D solo per stati accessibili S come segue: Base: S = { 0 } e accessibile in D Induzione: Se lo stato S e accessibile, anche gli stati in a Σ δ D(S, a) sono accessibili. Esempio: Il DFA con stati accessibili solamente. 1 0 Start 0 1 { {, {, 0} } } 2 0 1
43 Teorema 2.11: Sia D il DFA ottenuto da un NFA N con la costruzione a sottoinsiemi. Allora L(D) = L(N). Prova: L(N) = {w Σ ˆδ N ( 0, w) F N } L(D) = {w Σ ˆδ D ({ 0 }, w) F D } = {w Σ ˆδ D ({ 0 }, w) F N } Per provare L(D) = L(N) basta provare che, w, ˆδ D ({ 0 }, w) = ˆδ N ( 0, w) (1) Mostriamo l enunciato (1) per induzione su w Base: w = ɛ. ˆδ D ({ 0 }, ɛ) = { 0 } per definizione di ˆδ D ˆδ N ( 0, ɛ) = { 0 } per definizione di ˆδ N Ip. Induttiva: L enunciato (1) vale w con w n
44 Passo Induttivo: Devo dimostrare che l enunciato (1) vale per w con w = n + 1. Sia w = xa. ˆδ D ({ 0 }, xa) def = δ D (ˆδ D ({ 0 }, x), a) i.h. = δ D (ˆδ N ( 0, x), a) cst = p ˆδ N ( 0,x) δ N (p, a) Ora segue che L(D) = L(N). def = ˆδ N ( 0, xa)
45 Teorema 2.12: Un linguaggio L e accettato da un DFA L e accettato da un NFA. Prova: La parte e il Teorema Per la parte notiamo che un ualsiasi DFA puo essere convertito in un NFA euivalente modificando la δ D in δ N secondo la regola seguente: Se δ D (, a) = p, allora δ N (, a) = {p}. Si puo mostrare per induzione su w che se ˆδ D ( 0, w) = p, allora ˆδ N ( 0, w) = {p}. L enunciato del teorema segue.
46 sercizi su NFA Esercizio 3 - I compitino 2013: Dato il seguente NFA: N=({ 0, 1 },{0, 1},δ N, 0, { 1 }), dove δ N ( 0, 0) = { 0, 1 }, δ N ( 0, 1) = { 1 }, δ N ( 1, 0) =, δ N ( 1, 1) = { 0, 1 }. 1 Verificare se le stringhe w 1 = 101 e w 2 = 0010 vengono o meno accettate dall automa mostrando tutti i passaggi. 2 Costruire il diagramma di transizione del DFA euivalente all NFA dato 3 Descrivere a parole il linguaggio accettato dall automa (suggerimento: è più facile osservando il DFA).
47 sercizi su NFA Esercizio 3 (1): w 1 = 101 e w 2 = 0010 accettate dall NFA N? w 1 = 101 L(A)? δˆ N ( 0, ɛ) = { 0 } δˆ N ( 0, 1) = δ N ( 0, 1) = { 1 } δˆ N ( 0, 10) = δ N ( 1, 0) = uindi w 1 = 101 L(A) w 2 = 0010 L(A)? δˆ N ( 0, ɛ) = { 0 } δˆ N ( 0, 0) = δ N ( 0, 0) = { 0, 1 } δˆ N ( 0, 00) = δ N ( 0, 0) δ N ( 1, 0) = { 0, 1 } = { 0, 1 } δˆ N ( 0, 001) = δ N ( 0, 1) δ N ( 1, 1) = { 1 } { 0, 1 } = { 0, 1 } δˆ N ( 0, 0010) = δ N ( 0, 0) δ N ( 1, 0) = { 0, 1 } = { 0, 1 } Poiche { 0, 1 } 1, w 2 = 0010 L(A)
48 sercizi su NFA Esercizio 3 (2) Costruire il diagramma di transizione del DFA euivalente all NFA dato? δ D ({ 0 }, 0)= δ N ( 0, 0) = { 0, 1 } δ D ({ 0 }, 1)= δ N ( 0, 1) = { 1 } δ D ({ 0, 1 }, 0)= δ N ( 0, 0) δ N ( 1, 0) = { 0, 1 } = { 0, 1 } δ D ({ 0, 1 }, 1)= δ N ( 0, 1) δ N ( 1, 1) = { 1 } { 0, 1 } = { 0, 1 } δ D ({ 1 }, 0)= δ N ( 1, 0) = δ D ({ 1 }, 1)= δ N ( 1, 1) = { 0, 1 } Disegnare graficamente il diagramma: { 0 } stato iniziale, { 0, 1 } e { 1 } stati accettanti Esercizio 3 (3) Descrivere il linguaggio accettato dall automa L(A) = {w {0, 1} + w = 1 o w = 0x o w = 11y, x, y {0, 1} }
49 sercizi su NFA Esercizi per casa: Costruire un NFA che accetta l insieme delle stringhe di 0 e di 1 con due 0 consecutivi o con due 1 consecutivi Costruire un NFA che accetta l insieme delle stringhe di a e di b e di c composte da zero o piu a seguite da zero o piu b seguite da zero o piu c Costruire un NFA che accetta l insieme delle stringhe di 0 e di 1 tale che almeno uno degli ultimi tre simboli e 1 Esercizi e del libro: Convertire in un DFA un NFA dato Esercizi delle dispense su NFA
50 utomi a stati finiti non deterministici con ɛ-transizione ɛ-nfa) Sono un estensione degli NFA dove permetto transizioni anche sulla stringa vuota Accettano sempre i linguaggi regolari Sono piu facili da progettare degli NFA
51 efinizione Un ɛ-nfa e una uintupla (Q, Σ, δ, 0, F ) Q e un insieme finito di stati Σ e un alfabeto finito δ e una funzione da Q Σ {ɛ} 2 Q 0 Q e lo stato iniziale F Q e un insieme di stati finali
52 pplicazione: NFA e ɛ-nfa per ricerche testuali NFA e ɛ NFA molto usati per la ricerca di un pattern in un testo Esempio: Costruire un NFA che accetta l insieme delle parole chiave {web, ebay} Esempio: Costruire un ɛ-nfa che accetta l insieme delle parole chiave {web, ebay}
53 sempio di ɛ-nfa Un ɛ-nfa che accetta numeri decimali consiste di: 1 Un segno + o -, opzionale 2 Una stringa di cifre decimali 3 un punto decimale 4 un altra stringa di cifre decimali Una delle stringhe (2) e (4) sono opzionali Start 0,1,...,9 0,1,...,9 ε,+, ε ,1,...,9 0,1,...,9 4.
54 sempio di ɛ-nfa Start 0,1,...,9 0,1,...,9 ε,+,- ε ,1,...,9 0,1,...,9 4. E = ({ 0, 1,..., 5 }, {., +,, 0, 1,..., 9}, δ, 0, { 5 }) dove la tabella delle transizioni per δ e ɛ +,-. 0,..., 9 0 { 1 } { 1 } 1 { 2 } { 1, 4 } 2 { 3 } 3 { 5 } { 3 } 4 { 3 } 5
55 psilon-chiusura Chiudiamo uno stato aggiungendo tutti gli stati raggiungibili da lui tramite una seuenza ɛɛ ɛ Definizione induttiva di ECLOSE() Base: ECLOSE() Induzione: p ECLOSE() and r δ(p, ɛ) r ECLOSE() Si puo applicare ECLOSE anche a un insieme S di stati ECLOSE(S) = S ECLOSE()
56 sempio di epsilon-chiusura ε ε ε 1 b ε a ε Per esempio, ECLOSE(1) = {1, 2, 3, 4, 6}
57 Definizione induttiva di ˆδ per automi ɛ-nfa Base: ˆδ(, ɛ) = ECLOSE() Induzione: ˆδ(, xa) = ECLOSE(p) p δ(t,a), t ˆδ(,x) Linguaggio accettato da un ɛ-nfa A = (Q, Σ, δ, 0, F ) L(A) = {w Σ ˆδ( 0, w) F }
58 sercizio Start 0,1,...,9 0,1,...,9 ε,+,- ε ,1,...,9 0,1,...,9 4. Esercizio: 5.6 L(E)? ˆδ( 0, ɛ) = ECLOSE( 0 )={ 0, 1 } ˆδ( 0, 5) = ECLOSE( 1 ) ECLOSE( 4 )= { 1, 4 } ˆδ( 0, 5.)= ECLOSE( 2 ) ECLOSE( 3 )= { 2, 3, 5 } ˆδ( 0, 5.6) = ECLOSE( 3 ) = { 3, 5 } 5.6 L(E) poiche ˆδ( 0, 5.6) 5
59 ommario Introduzione agli automi a stati finiti Concetti di base della teoria degli automi Tecniche di dimostrazione deterministici (DFA) non deterministici (NFA): esercizi non deterministici con ɛ-transizione (ɛ-nfa): teoremi ed esercizi
60 sercizi su NFA 1 Costruire un NFA che accetta l insieme delle stringhe di 0 e di 1 con due 0 consecutivi o con due 1 consecutivi 2 Costruire un NFA che accetta l insieme delle stringhe di a e di b e di c composte da zero o piu a seguite da zero o piu b seguite da zero o piu c 3 Costruire un NFA che accetta l insieme delle stringhe di 0 e di 1 tale che almeno uno degli ultimi tre simboli e 1
61 ipasso: Epsilon-chiusura Chiudiamo uno stato aggiungendo tutti gli stati raggiungibili da lui tramite una seuenza ɛɛ ɛ Definizione induttiva di ECLOSE() Base: ECLOSE() Induzione: p ECLOSE() and r δ(p, ɛ) r ECLOSE() Si puo applicare ECLOSE anche a un insieme S di stati ECLOSE(S) = S ECLOSE()
62 ipasso: ˆδ, L(E) Definizione induttiva di ˆδ per automi ɛ-nfa Base: ˆδ(, ɛ) = ECLOSE() Induzione: ˆδ(, xa) = ECLOSE(p) p δ(t,a), t ˆδ(,x) Linguaggio accettato da un ɛ-nfa A = (Q, Σ, δ, 0, F ) L(A) = {w Σ ˆδ( 0, w) F }
63 a ɛ-nfa a DFA Dato un ɛ-nfa E = (Q E, Σ, δ E, 0, F E ) costruiremo un DFA D = (Q D, Σ, δ D, D, F D ) tale che L(D) = L(E) Dettagli della costruzione: Q D = {S : S Q E e S = ECLOSE(S)} D = ECLOSE( 0 ) F D = {S : S Q D e S F E } δ D (S, a) = p δ E (t,a),t S ECLOSE(p)
64 sempio ɛ-nfa E Start 0,1,...,9 0,1,...,9 ε,+, ε ,1,...,9 0,1,...,9 4. Costruiamo DFA D corrispondente ad E: Si calcola D (stato iniziale) Per ogni stato S accessibile da D si calcola la funzione di transizione δ D (S, a), a Σ = {., +,, 0, 1,..., 9} D = ECLOSE( 0 ) = { 0, 1 } δ D ({ 0, 1 }, +)= ECLOSE(δ E ( 0, +)) ECLOSE(δ E ( 1, +)) = ECLOSE({ 1 }) ECLOSE( ) = { 1 } = { 1 } Completarlo per casa
65 sempio ɛ-nfa E Start DFA D corrispondente ad E 0,1,...,9 0,1,...,9 4. 0,1,...,9 0,1,...,9 0,1,...,9 ε,+, ε ,1,...,9 +,- {, } { } {, } { ,1,...,9., 3, 5 } Start.. 0,1,...,9 { 2 } { 3, 5 } 0,1,...,9 0,1,...,9
66 Teorema 2.22: Un linguaggio L e accettato da un ɛ-nfa E L e accettato da un DFA. Prova: ( =) Trasformiamo un DFA D in un ɛ-nfa aggiungendo la transizione δ E (, ɛ) =, in D in D e a Σ la transizione δ D (, a) = p diventa δ E (, a) = {p} Poiche le transizioni di D e E sono le stesse si conclude che L(E) = L(D). (= ) Usiamo D costruito come sopra. L(E) = {w Σ ˆδ E ( 0, w) F E } L(D) = {w Σ ˆδ D ( D, w) F D } = {w Σ ˆδ D ( D, w) F E } Per dimostrare che L(D) = L(E) basta mostrare per induzione su w che ˆδ E ( 0, w) = ˆδ D ( D, w) Base: ˆδ E ( 0, ɛ) def = ECLOSE( 0 ) cst = D def = ˆδ D ( D, ɛ)
67 Ip. induttiva: ˆδ E ( 0, x) = ˆδ( D, x) Induzione: ˆδ D ( D, xa) def = δ D (ˆδ D ( D, x), a) ip.ind = δ D (ˆδ E ( 0, x), a) cst = p δ E (t,a), t ˆδ E ( 0,x) ECLOSE(p) def = ˆδ E ( 0, xa)
68 sercizi su ɛ-nfa 1 Costruire un ɛ-nfa che accetta l insieme delle stringhe di a e di b e di c composte da zero o piu a seguite da zero o piu b seguite da zero o piu c 2 Costruire un ɛ-nfa che accetta l insieme delle stringhe di 0 e di 1 formate da 01 ripetuto una o piu volte o da 010 ripetuto una o piu volte 3 Costruire un ɛ-nfa che accetta l insieme delle stringhe di 0 e di 1 tale che almeno uno degli ultimi tre simboli e 1 4 Esercizi e del libro Dato un ɛ-nfa E Calcolare l ɛ-close di ogni stato di E Elencare tutte le stringhe di lunghezza minore o uguale a 3 accettate da E Trasformare E in un DFA euivalente 5 Esercizi delle dispense su ɛ-nfa
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
DettagliLinguaggi 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
DettagliAutomi e Linguaggi Formali
Automi e Linguaggi Formali Linguaggi regolari e automi a stati finiti 6 Ottobre 214 A.A. 214-215 Enrico Mezzetti emezzett@math.unipd.it Recap Definizione informale di automi a stati finiti Diagramma delle
DettagliAutomi 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
DettagliAutomi 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,
DettagliNFA 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
DettagliAutomi, 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
DettagliFondamenti 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
DettagliEspressioni 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
DettagliAutomi 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
DettagliProprieta 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.
DettagliAutomi 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
DettagliEsercizi 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
DettagliProgamma 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
DettagliProprieta 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
DettagliEspressioni 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.
DettagliAutomi 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
DettagliGrammatiche 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
DettagliFormali. 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,
DettagliNote 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
DettagliAUTOMI 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
DettagliSommario. 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
DettagliProgamma 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
DettagliAutomi 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
DettagliLinguaggi 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
DettagliLinguaggi 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
DettagliConcetti 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
DettagliFondamenti 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.
DettagliSui 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.
DettagliLinguaggi 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
DettagliPrefazione 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
DettagliAutomi 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
DettagliMa 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?
DettagliEsercizi 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}
DettagliLinguaggi 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
DettagliProgamma 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
DettagliNote 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
DettagliFondamenti 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
DettagliINDUZIONE E NUMERI NATURALI
INDUZIONE E NUMERI NATURALI 1. Il principio di induzione Il principio di induzione è una tecnica di dimostrazione molto usata in matematica. Lo scopo di questa sezione è di enunciare tale principio e di
DettagliUn 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
DettagliEspressioni 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
DettagliLinguaggi 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
DettagliPROGRAMMAZIONE III Appello del 7/03/2003
PROGRAMMAZIONE III Appello del 7/03/2003 Scrivere in stampatello COGNOME, NOME e NUMERO DI MATRICOLA (se conosciuto) su ogni foglio consegnato e sul testo, che va consegnato insieme al compito. ESERCIZIO
DettagliCapitolo 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á.
DettagliEquivalenza 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
DettagliProblemi 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
DettagliFondamenti d Informatica: linguaggi formali. Barbara Re, Phd
Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di
DettagliLINGUAGGI 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
DettagliEspressioni 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:
DettagliEspressioni regolari in UNIX p.1/19
Espressioni regolari in UNIX Violetta Lonati a Dipartimento Scienze dell Informazione Università degli Studi di Milano a E garantito il permesso di copiare, distribuire e/o modificare i materiali cont
DettagliGrammatiche 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
DettagliLinguaggi di Programmazione Corso C. Parte n.6 Linguaggi Regolari ed Espressioni Regolari. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.6 Linguaggi Regolari ed Espressioni Regolari Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Linguaggi Regolari
DettagliRACCOLTA 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.
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
DettagliLinguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto
rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora una classe piu ampia di linguaggi, i Linguaggi Liberi da Contesto (CFL) i CFL sono stati
DettagliRACCOLTA 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.
DettagliAutomi 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,
DettagliSintassi. 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
DettagliLinguaggi 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...........................................
DettagliAUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
DettagliAutomi. 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
DettagliUniversità degli Studi di Roma Tor Vergata. Principio di induzione matematica
Università degli Studi di Roma Tor Vergata. Principio di induzione matematica Il Principio di induzione matematica è una tecnica di dimostrazione che permette la dimostrazione simultanea di infinite affermazioni.
DettagliAutomi 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
Dettaglinon è 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
DettagliQuiz 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
DettagliLinguaggio 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
DettagliProprieta 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
DettagliLinguaggi 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
DettagliDa 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
DettagliEsercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen
Esercitazione Ricorsione May 31, 2016 Esercizi presi dal libro di Rosen Problema 2 a) sezione 5.3 Data la seguente funzione definita ricorsivamente come: f(n+1) = 2f(n) f(0) = 3 Determinare il valore di
DettagliTeoria 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
DettagliFondamenti dell Informatica. Esercizi di preparazione al secondo compitino
Fondamenti dell Informatica (III anno Laurea Triennale) Esercizi di preparazione al secondo compitino a.a. 2016/17 Funzioni primitive ricorsive Si definiscano come primitive ricorsive le seguenti funzioni:
DettagliAlberi: definizioni e dimostrazioni induttive.
Alberi: definizioni e dimostrazioni induttive. Gennaio 2005 Iniziamo con l introdurre la nozione di albero. Con N indichiamo l insieme dei numeri naturali (zero escluso) e con N l insieme delle liste finite
Dettaglia 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
DettagliGrammatiche 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
DettagliMETODI MATEMATICI PER L INFORMATICA. Canale E O a.a Docente: C. Malvenuto Primo compito di esonero 26 novembre 2008
METODI MATEMATICI PER L INFORMATICA Canale E O a.a. 2008 09 Docente: C. Malvenuto Primo compito di esonero 26 novembre 2008 Istruzioni. Completare subito la parte inferiore di questa pagina con il proprio
DettagliFondamenti dell Informatica: Linguaggi Formali e Calcolabilità
Eserciziario per il corso di Verona, Settembre 24 Fondamenti dell Informatica: Linguaggi Formali e Calcolabilità Dott.ssa Isabella Mastroeni Dipartimento di Informatica Università degli Studi di Verona
DettagliProblemi intrattabili, classi P e NP. Problemi intrattabili, classi P e NP
roblemi intrattabili Ci occuperemo solo di problemi decidibili, cioe ricorsivi. Tra loro, alcuni sono detti trattabili, se si puo provare che sono risolvibili in tempo polinomiale in modo deterministico.
DettagliPartizioni 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,
DettagliAutomi e Linguaggi Formali
Automi e Linguaggi Formali Problemi intrattabili, classi P e NP A.A. 2014-2015 Alessandro Sperduti sperduti@math.unipd.it Problemi intrattabili Ci occuperemo solo di problemi decidibili, cioè ricorsivi.
DettagliAutomi 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
DettagliMATEMATICA 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
DettagliAUTOMI 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
DettagliSommario. 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
DettagliUniversità degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni
Università degli Studi di Udine Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni 1 Automi e Linguaggi 1. Sia dato p N, p > 0 dimostri che il linguaggio è regolare. L p = { a 0 a 1... a
DettagliEquivalenza 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
DettagliEsercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo. S 7
Compito A Esercizio 1 (12 punti) Minimizzare il numero di stati dell automa qui rappresentato. Disegnare l automa minimo. S 3 1/1 0/0 S 6 S 7 S 1 S 2 S 4 S 5 0/0 1/1 Esercizio 2 (15 punti) Progettare un
DettagliAnalisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser
Ruolo del parser Analisi 1 1 Dipartimento di Matematica e Informatica Universitá di Camerino mariarita.diberardini@unicam.it Ruolo del parser Ruolo dell analisi sintattica Ruolo del parser Metodologie
DettagliFondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018
Fondamenti dell Informatica a.a. 2017/18 Prova scritta 11 gennaio 2018 Esercizio 1 (Automi a stati finiti) {a, b}. Si considerino i seguenti automi a stati finiti sull alfabeto Per ognuno degli automi,
DettagliSipser, Capitolo 0. Alfabeti, Stringhe, Linguaggi
Sipser, Capitolo 0 Alfabeti, Stringhe, Linguaggi Def. Un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { } Gli elementi sono inseriti tra le parentesi Insiemi
DettagliMETODI 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),
DettagliNozioni Preliminari e Terminologia. Alfabeti Stringhe Linguaggi
Nozioni Preliminari e Terminologia Alfabeti Stringhe Linguaggi Insiemi Def. Un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { } Gli elementi sono inseriti tra
DettagliProblemi intrattabili
Tempo polinomiale ed esponenziale Una Tm M ha complessita in tempo T(n) se, dato un input w di lunghezza n, M si ferma dopo al massimo T (n) passi. Problemi intrattabili Ci occuperemo solo di problemi
DettagliLezione 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
DettagliLOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)
LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema
DettagliFondamenti d Informatica: stringa e linguaggio. Barbara Re, Phd
Fondamenti d Informatica: stringa e linguaggio Barbara Re, Phd Agenda } Introdurremo } la nozione di stringa e linguaggio } il ruolo che stringhe e linguaggi hanno per rappresentare l informazione 2 Alfabeti
DettagliCostruzione di espressioni regolari 4
ostruzione di espressioni regolari 4 Indicando con d uno dei possibili digits {,, 2,,9} --possiamo esprimere il sotto linguaggio dei digits come d = ( + + 2 +.. + 9) Quale linguaggio produce l espressione:
DettagliAniello 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