Linguaggi regolari e automi a stati finiti
|
|
|
- Alice Bruni
- 9 anni fa
- Просмотров:
Транскрипт
1
2 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 o sul web. Software per verificare sistemi a stati finiti, come protocolli di comunicazione.
3 sempi Esempio: automa a stati finiti per un interruttore on/off Push Start off on Push Esempio: automa a stati finiti che riconosce la stringa then Start t h e n t th the then
4 appresentazioni strutturali Ci sono vari modi di specificare una macchina Grammatiche: Una regola come E E + E specifica un espressione aritmetica Coda Persona.Coda dice che una coda e costituita da una persona seguita da una coda. Espressioni regolari: Denotano la struttura dei dati, per esempio: [A-Z][a-z]*[][A-Z][A-Z] e compatibile con (matches) Ithaca NY non e compatibile con Palo Alto CA Domanda: Quale espressione e compatibile con Palo Alto CA?
5 oncetti di base Alfabeto: Insieme fnito 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: Sequenza fnita di simboli da un alfabeto Σ, e.g Stringa vuota: La stringa con zero occorrenze di simboli da Σ La stringa vuota e denotata con ɛ
6 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 Σ Esempio: Σ = {0, 1} Σ 1 = {0, 1} Σ 2 = {00, 01, 10, 11} Σ 0 = {ɛ} Domanda: Quante stringhe ci sono in Σ 3?
7 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 rimpiazzando 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
8 inguaggi Definizione: Se Σ e un alfabeto, e L Σ, allora 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 {ɛ, 01, 0011, ,...}
9 ltri esempi L insieme delle stringhe con un numero uguale di zeri e di uni {ɛ, 01, 10, 0011, 0101, 1001,...} L P = insieme dei numeri binari il cui valore e primo {10, 11, 101, 111, 1011,...} Il linguaggio vuoto Il linguaggio {ɛ} consiste della stringa vuota Nota: {ɛ} Nota: L alfabeto Σ e sempre finito
10 roblemi La stringa w e un elemento di un linguaggio L? Esempio: Dato un numero binario, e primo = e un elemento di L P? E L P? Che risorse computazionali sono necessarie per rispondere a questa domanda? Di solito non pensiamo ai problemi come delle decisioni si/no, ma come qualcosa che trasforma un input in un output. Esempio: Fare il parsing di un programma C = controllare se il programma e corretto, e se lo e, produrre un albero di parsing.
11 imostrazioni deduttive Sequenza 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= ipotesi, C= conclusione Esempio: se x 4, allora 2 x x 2 x parametro quantificato universalmente (vale per tutti gli x)
12 Modus ponens: regola logica che fa passare da un enuciato al successivo Se H e vera, e sappiamo che se H allora C, allora possiamo concludere che anche C e vera Teoremi della forma C1 se e solo se C2 : due direzioni di prova Dimostrazione per assurdo: H e non C implica il falso
13 uantificatori Per ogni x ( x): vale per tutti i valori della variabile Esiste x ( x): vale per almeno un valore della variabile Esempio: un insieme s e infinito se e solo se, per ogni intero n, esiste almeno un sottoinsieme T di S con n elementi Dobbiamo considerare un n arbitrario e poi trovare un insieme con quel numero n di elementi precede Enunciato simile ma di significato diverso, e scorretto: Esiste un sottoinsieme T dell insieme S tale che, per ogni n, T ha n elementi
14 imostrazioni per induzione Utili quando 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 (0 o 1 di solito) Passo induttivo: per n i, dimostriamo che se vale S(n) allora vale anche S(n + 1) Possiamo concludere che S(n) e vero per ogni n i
15 sempio Se x 4, allora 2 x x 2 Base: x = 4 2 x = 2 4 = 16 e x 2 = 4 2 = 16 Induzione: Supponiamo che 2 x x 2 per x 4 Dobbiamo dimostrare che 2 x+1 (x + 1) 2 Abbiamo: 2 x+1 = 2 x 2 2 x 2 (dalla base induttiva) Dimostriamo adesso che 2x 2 (x + 1) 2 Semplificando: x 2 + 1/x Se x 4, 1/x 1/ /x 2.25
16 nduzione strutturale Molte strutture possono essere definite ricorsivamente Esempio (espressioni): caso base: qualunque 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 un espressione: si dimostra l enunciato sul caso base, e poi si dimostra l enunciato sulla struttura X a partire dalla validita dell enunciato sulle strutture di cui X e composta secondo la definizione ricorsiva
17 sempio Teorema: ogni espressione ha un numero uguale di parentesi aperte e chiuse Caso base: zero parentesi vero Induzione: Tre modi per costruire un espressione induttivamente: E + F, E F, e (E) Per E + F e E F : se vale per E e F, supponiamo che E abbia n parentesi aperte e chiuse e F ne abbia m E + F ne ha n + m Per (E): se vale per E, supponiamo che E abbia n parentesi aperte e chiuse (E) ne ha n + 1
18 utomi a stati finiti deterministici Un DFA e una quintupla A = (Q, Σ, δ, q 0, F ) Q e un insieme finito di stati Σ e un alfabeto finito (= simboli in input) δ e una funzione di transizione (q, a) p q 0 Q e lo stato iniziale F Q e un insieme di stati finali
19 sempio Esempio: Un automa A che accetta L = {x01y : x, y {0, 1} } L automa A = ({q 0, q 1, q 2 }, {0, 1}, δ, q 0, {q 1 }) come una tabella di transizione: 0 1 q 0 q 2 q 0 q 1 q 1 q 1 q 2 q 2 q 1 L automa come un diagramma di transizione: Start q 0 q 2 q 1 0, 1
20 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 sequanza di etichette a 1 a 2 a n Esempio: L automa a stati finiti 0, 1 Start q q q 1 2 accetta ad esempio la stringa 01101
21 inguaggio accettato La funzione di transizione δ puo essere estesa a ˆδ che opera su stati e stringhe (invece che su stati e simboli) Base: ˆδ(q, ɛ) = q Induzione: ˆδ(q, xa) = δ(ˆδ(q, x), a) Formalmente, il linguaggio accettato da A e L(A) = {w : ˆδ(q 0, w) F } I linguaggi accettati da automi a stati finiti sono detti linguaggi regolari
22 sempio Esempio: DFA che accetta tutte e sole le stringhe con un numero pari di zeri e un numero pari di uni Start 1 q 0 q q 2 1 q 3 1
23 sempio Rappresentazione tabulare dell automa 0 1 q 0 q 2 q 1 q 1 q 3 q 0 q 2 q 0 q 3 q 3 q 1 q 2
24 sercizi DFA per i seguenti linguaggi sull alfabeto {0, 1}: Insieme di tutte le strighe che finiscono con 00 Insieme di tutte le stringhe con tre zeri consecutivi Insieme delle stringhe con 011 come sottostringa Insieme delle stringhe che cominciano o finiscono (o entrambe le cose) con 01
25 utomi a stati finiti non deterministici (NFA) Un NFA puo essere in vari stati nello stesso momento, oppure, visto in un altro modo, puo scommettere su quale sara il prossimo stato Esempio: un automa che accetta tutte e solo le stringhe che finiscono in 01. 0, 1 Start q q 1 q 2 Ecco cosa succede quando l automa elabora l input q 0 q 0 q 0 q 0 q 0 q 0 q 1 q 1 q 1 (stuck) q 2 (stuck) q
26 efinizione formale di NFA Formalmente, un NFA e una quintupla A = (Q, Σ, δ, q 0, F ) Q e un insieme finito di stati Σ e un alfabeto finito δ e una funzione di transizione da Q Σ all insieme dei sottoinsiemi di Q q 0 Q e lo stato iniziale F Q e un insieme di stati finali
27 sempio L NFA di due pagine fa e ({q 0, q 1, q 2 }, {0, 1}, δ, q 0, {q 2 }) dove δ e la funzione di transizione 0 1 q 0 {q 0, q 1 } {q 0 } q 1 {q 2 } q 2
28 sempio Funzione di transizione estesa ˆδ. Base: ˆδ(q, ɛ) = {q} Induzione: ˆδ(q, xa) = δ(p, a) p ˆδ(q,x) Esempio: Calcoliamo ˆδ(q 0, 00101) sulla lavagna Formalmente, il linguaggio accettato da A e L(A) = {w : ˆδ(q 0, w) F }
29 Proviamo formalmente che l NFA 0, 1 Start q q q 1 2 accetta il linguaggio {x01 : x Σ }. Faremo una induzione mutua sui tre enunciati seguenti 0 w Σ q 0 ˆδ(q 0, w) 1 q 1 ˆδ(q 0, w) w = x0 2 q 2 ˆδ(q 0, w) w = x01
30 Base: Se w = 0 allora w = ɛ. Allora l enunciato (0) segue dalla defnizione Per (1) e (2) entrambi i lati sono falsi per ɛ Induzione: Assumiamo che w = xa, dove a {0, 1}, x = n e gli enunciati (0) (2) valgono per x. Si mostra che gli enunciati valgono per xa.
31 quivalenza di DFA e NFA Gli NFA sono di solito piu facili da programmare. Sorprendentemente, per ogni NFA N c e un DFA D, tale che L(D) = L(N), e viceversa. Questo comporta una construzione a sottoinsiemi, un esempio importante di come un automa B puo essere costruito da un altro automa A. Dato un NFA N = (Q N, Σ, δ N, q 0, F N ) costruiremo un DFA D = (Q D, Σ, δ D, {q 0 }, F D ) tali che. L(D) = L(N)
32 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)
33 Costruiamo δ D dall NFA gia visto: 0 1 {q 0 } {q 0, q 1 } {q 0 } {q 1 } {q 2 } {q 2 } {q 0, q 1 } {q 0, q 1 } {q 0, q 2 } {q 0, q 2 } {q 0, q 1 } {q 0 } {q 1, q 2 } {q 2 } {q 0, q 1, q 2 } {q 0, q 1 } {q 0, q 2 }
34 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
35 Possiamo spesso evitare la crescita esponenziale degli stati costruendo la tabella di transizione per D solo per stati accessibili S come segue: Base: S = {q 0 } e accessibile in D Induzione: Se lo stato S e accessibile, lo sono anche gli stati in a Σ δ D(S, a). Esempio: Il sottoinsieme DFA con stati accessibili solamente. 1 0 Start 0 1 { q 0} { q 0, q 1 } {q 0, q2 } 0 1
36 Teorema 2.11: Sia D il DFA ottenuto da un NFA N con la costruzione a sottoinsiemi. Allora L(D) = L(N). Prova: Prima mostriamo per induzione su w che ˆδ D ({q 0 }, w) = ˆδ N (q 0, w) Base: w = ɛ. L enunciato segue dalla definizione.
37 Induzione: ˆδ D ({q 0 }, xa) def = δ D (ˆδ D ({q 0 }, x), a) i.h. = δ D (ˆδ N (q 0, x), a) cst = p ˆδ N (q 0,x) δ N (p, a) Ora segue che L(D) = L(N). def = ˆδ N (q 0, xa)
38 Teorema 2.12: Un linguaggio L e accettato da un DFA se e solo se L e accettato da un NFA. Prova: La parte se e il Teorema Per la parte solo se notiamo che un qualsiasi DFA puo essere convertito in un NFA equivalente modificando la δ D in δ N secondo la regola seguente: Se δ D (q, a) = p, allora δ N (q, a) = {p}. Per induzione su w si puo mostrare che se ˆδ D (q 0, w) = p, allora ˆδ N (q 0, w) = {p}. L enunciato del teorema segue.
39 rescita esponenziale degli stati Esiste un NFA N con n + 1 stati che non ha nessun DFA equivalente con meno di 2 n stati 0, 1 Start 1 0, 1 0, 1 0, 1 0, 1 q 0 q 1 q 2 q n L(N) = {x1c 2 c 3 c n : x {0, 1}, c i {0, 1}} Supponiamo che esista un DFA equivalente con meno di 2 n stati. D deve ricordare gli ultimi n simboli che ha letto. Ci sono 2 n sequenze di bit a 1 a 2 a n q, a 1 a 2 a n, b 1 b 2 b n : q ˆδ N (q 0, a 1 a 2 a n ), q ˆδ N (q 0, b 1 b 2 b n ), a 1 a 2 a n b 1 b 2 b n
40 Caso 1: 1a 2 a n 0b 2 b n Allora q deve essere sia uno stato di accettazione che uno stato di non accettazione. Caso 2: a 1 a i 1 1a i+1 a n b 1 b i 1 0b i+1 b n Ora ˆδ N (q 0, a 1 a i 1 1a i+1 a n 0 i 1 ) = ˆδ N (q 0, b 1 b i 1 0b i+1 b n 0 i 1 ) e ˆδ N (q 0, a 1 a i 1 1a i+1 a n 0 i 1 ) F D ˆδ N (q 0, b 1 b i 1 0b i+1 b n 0 i 1 ) / F D
41 A con transizioni epsilon 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 q ε,+,- q q q ε q ,1,...,9 0,1,...,9 q 4.
42 sempio ɛ-nfa che accetta l insieme di parole chiave {ebay, web} Σ w e b Start e b a y
43 efinizione ed esempio Un ɛ-nfa e una quintupla (Q, Σ, δ, q 0, F ) dove δ e una funzione da Q Σ {ɛ} all insieme dei sottoinsiemi di Q. Esempio: L ɛ-nfa della pagina precedente E = ({q 0, q 1,..., q 5 }, {., +,, 0, 1,..., 9} δ, q 0, {q 5 }) dove la tabella delle transizioni per δ e ɛ +,-. 0,..., 9 q 0 {q 1 } {q 1 } q 1 {q 2 } {q 1, q 4 } q 2 {q 3 } q 3 {q 5 } {q 3 } q 4 {q 3 } q 5
44 psilon-chiusura Chiudiamo uno stato aggiungendo tutti gli stati raggiungibili da lui tramite una sequenza ɛɛ ɛ Definizione induttiva di ECLOSE(q) Base: q ECLOSE(q) Induzione: p ECLOSE(q) and r δ(p, ɛ) r ECLOSE(q)
45 sempio di epsilon-chiusura ε ε ε 1 b ε a ε Per esempio, ECLOSE(1) = {1, 2, 3, 4, 6}
46 Definizione induttiva di ˆδ per automi ɛ-nfa Base: ˆδ(q, ɛ) = ECLOSE(q) Induzione: ˆδ(q, xa) = ECLOSE(p) p δ(ˆδ(q,x),a) Calcoliamo ˆδ(q 0, 5.6) per l NFA dei numeri decimali
47 a ɛ-nfa a DFA Dato un ɛ-nfa E = (Q E, Σ, δ E, q 0, F E ) costruiremo un DFA D = (Q D, Σ, δ D, q D, F D ) tale che L(D) = L(E) Dettagli della costruzione: Q D = {S : S Q E e S = ECLOSE(S)} q D = ECLOSE(q 0 ) F D = {S : S Q D e S F E } δ D (S, a) = {ECLOSE(p) : p δ(t, a) per alcuni t S}
48 sempio ɛ-nfa E Start 0,1,...,9 0,1,...,9 q ε,+,- 0 q 1 q 2 q ε 3 q 5. 0,1,...,9 0,1,...,9 q 4.
49 DFA D corrispondente ad E 0,1,...,9 0,1,...,9 +,- { q 0, q } { q } { q, q } { q , q 3, q 5 0,1,...,9. } Start.. 0,1,...,9 { q2 } { q 3, q 5 } 0,1,...,9 0,1,...,9
50 Teorema 2.22: Un linguaggio L e accettato da un ɛ-nfa E se e solo se L e accettato da un DFA. Prova: Usiamo D costruito come sopra e mostriamo per induzione che ˆδ E (q 0, w) = ˆδ D (q D, w) Base: ˆδ E (q 0, ɛ) = ECLOSE(q 0 ) = q D = ˆδ(q D, ɛ)
51 Induzione: ˆδ E (q 0, xa) = = = p δ E (ˆδ E (q 0,x),a) p δ D (ˆδ D (q D,x),a) p ˆδ D (q D,xa) ECLOSE(p) ECLOSE(p) ECLOSE(p) = ˆδ D (q D, xa)
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.
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
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
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
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.
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
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
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
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
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}
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.
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
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),
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
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
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
Linguaggi 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
Fondamenti 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
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:
La 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
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
Esercizi di Logica Matematica (parte 2)
Luca Costabile Esercizio 317 Esercizi di Logica Matematica (parte 2) Dimostro per induzione sulla costruzione del termine : - Supponiamo che sia una variabile :, - Supponiamo che sia una variabile diversa
Esercizi sul Calcolo Proposizionale
Esercizi sul Calcolo Proposizionale Francesco Sborgia Matricola: 459245 December 7, 2015 1 Esercizio 1 Per ogni formula A dimostrare che ρ(a) = min{n A F n } Definizione 1. Ricordiamo che, dato un linguaggio
LOGICA 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
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
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
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
Alberi: 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
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
02 - Logica delle dimostrazioni
Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 0 - Logica delle dimostrazioni Anno Accademico 015/016
Fondamenti teorici e programmazione
Fondamenti teorici e programmazione FTP(A) - modb Lezione 16 Grammatiche Libere da Contesto Alberi di derivazione sintattica Linguaggio generato F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione
