Espressioni regolari. Espressioni regolari

Похожие документы
Espressioni regolari

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

Proprieta dei Linguaggi regolari

Linguaggi Regolari e Linguaggi Liberi

Linguaggi Regolari e Linguaggi Liberi

Linguaggi regolari e automi a stati finiti

Operatori di relazione

Si ottiene facendo precedere i numeri naturali dal segno + o dal segno -.

Esercitazioni di Reti Logiche. Algebra Booleana e Porte Logiche

L insieme dei numeri Relativi

Precorsi di matematica

Esercizi di Fondamenti di Informatica per la sicurezza. Stefano Ferrari

Anno 4 Matrice inversa

Pumping lemma per i linguaggi Context-free

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

EQUAZIONI MATRICIALI

Numeri relativi: numeri il cui valore dipende dal segno che li precede.

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Ricorsione. Rosario Culmone. - p. 1/13

Strutture algebriche. Leggi di composizione. Leggi di composizione. Gruppi Insiemi di numeri Polinomi

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI

X Settimana = 0 R. = 0 R x, x R. + (x 0 R. ) x 0 R = = x 0 R

x 1 Fig.1 Il punto P = P =

Richiami di Algebra di Commutazione

Le grammatiche formali

Il codice di Sarngadeva

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

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

Le operazioni fondamentali con i numeri relativi

Algebra di Boole X Y Z V. Algebra di Boole

LIMITI. 1. Definizione di limite.

3. Matrici e algebra lineare in MATLAB

Fondamenti di Informatica

LINGUAGGI FORMALI Esercizi

Geometria BIAR Esercizi 2

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

1 Se X e Y sono equipotenti, Sym(X) e Sym(Y ) sono isomorfi

Algebra di Boole. Modulo 2. Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Algebra di Boole Cenni all Algebra di Boole

OPERAZIONI IN Q = + = = = =

ESERCIZI IN PIÙ I NUMERI COMPLESSI

Università degli Studi di Palermo Facoltà di Economia. Dipartimento di Scienze Economiche, Aziendali e Statistiche. Appunti del corso di Matematica

Esempio 1 Si consideri il seguente gioco in forma estesa:

METODI MATEMATICI PER L INFORMATICA

Equazioni di primo grado ad un incognita

Dott. Dallavalle Riccardo UNITA DIATTICA nr. 5 Gli argomenti di oggi:


Gruppi, Anelli, Campi

4 + 7 = 11. Possiamo quindi dire che:

RADICALI QUADRATICI E NON Applicazione geometrica 1 (lato di un quadrato)

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Grammatiche context-free

DAI NUMERI NATURALI AI NUMERI RAZIONALI

Elementi di informatica

La sottrazione di numeri naturali: esercizi svolti

Reti logiche: introduzione

LEZIONE 8. k e w = wx ı + w y j + w z. k di R 3 definiamo prodotto scalare di v e w il numero

Sviluppi e derivate delle funzioni elementari

Riconoscere e formalizzare le dipendenze funzionali

LA MATEMATICA DELLE RELAZIONI SOCIALI

IL CALCOLO LETTERALE. La «traduzione» del linguaggio comune in linguaggio matematico

Congruenze. Alberto Abbondandolo Forte dei Marmi, 17 Novembre 2006

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Algebra di Boole Algebra di Boole

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Criteri di divisibilità

Anno 2. Radicali algebrici e aritmetici: condizioni di esistenza

Moltiplicazione. Divisione. Multipli e divisori

Corso di Analisi Matematica Funzioni di una variabile

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

I.T.I.S. TRASFORMATA DI LAPLACE DIAGRAMMI DI BODE

Conclusione? Verifica la proprietà commutativa per le altre operazioni.

misura. Adesso, ad un arbitrario punto P dello spazio associamo una terna di numeri reali x

Транскрипт:

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: 01 + 10 Le espressioni regolari sono usate, ad esempio, in comandi UNIX (grep) strumenti per l analisi lessicale di UNIX (Lex (Lexical analyzer generator) e Flex (Fast Lex)).

perazioni sui linguaggi Unione: L M = {w : w L o w M} Concatenazione: L.M = {w : w = xy,x L,y M} Potenze: L 0 = {ǫ}, L 1 = L, L k+1 = L.L k Chiusura di Kleene: L = L i i=0

Definizione induttiva di espressioni regolari Base: ǫ e sono espressioni regolari. L(ǫ) = {ǫ} e L( ) =. Se a Σ, allora a e un espressione regolare. L(a) = {a}. Induzione: Se E e un espressione regolare, allora (E) e un espressione regolare. L((E)) = L(E). Se E e F sono espressioni regolari, allora E + F e un espressione regolare. L(E + F) = L(E) L(F). Se E e F sono espressioni regolari, allora E.F e un espressione regolare. L(E.F) = L(E).L(F). Se E e un espressione regolare, allora E e un espressione regolare. L(E ) = (L(E)).

sempio Espressione regolare per L = {w {0,1} : 0 e 1 alternati in w} o, equivalentemente, (01) + (10) + 0(10) + 1(01) (ǫ + 1)(01) (ǫ + 0)

rdine di precedenza per gli operatori 1 Chiusura 2 Concatenazione (punto) 3 Piu (+) Esempio: 01 + 1 e raggruppato in (0(1) ) + 1

quivalenza di FA e espr. regolari Abbiamo gia mostrato che DFA, NFA, e ǫ-nfa sono tutti equivalenti. -NFA NFA RE DFA Per mostrare che gli FA sono equivalenti alle espressioni regolari, mostreremo che 1 Per ogni DFA A possiamo trovare (costruire, in questo caso) un espressione regolare R, tale che L(R) = L(A). 2 Per ogni espressione regolare R esiste un ǫ-nfa A, tale che L(A) = L(R).

a tecnica di eliminazione di stati Etichettiamo gli archi con espressioni regolari di simboli R 1m q 1 p 1 Q 1 R 11 S P 1 s q k Q k R km P m p m R k1

Ora eliminiamo lo stato s. R + 11 Q 1 S* P 1 q 1 p 1 R 1m + Q 1 S* P m q k R k1 + Q k S* P 1 R km + Q k S* P m p m Per lo stato accettante q eliminiamo dall automa originale tutti gli stati eccetto q 0 e q.

Per ogni q F saremo rimasti con A q della forma Start R S U T e che corrisponde all espressione regolare E q = (R + SU T) SU o con A q della forma Start R che corrisponde all espressione regolare E q = R L espressione finale e q F E q

sempio A, dove L(A) = {W : w = x1b, o w = x1bc, x {0,1}, {b,c} {0,1}} 0,1 Start 1 0,1 0,1 A B C D La trasformiamo in un automa con espressioni regolari come etichette 0 + 1 Start 1 0 + 1 0 + 1 A B C D

sempio 0 + 1 Start 1 0 + 1 0 + 1 A B C D Eliminiamo lo stato B 0 + 1 Start A 1( 0 + 1) 0 + 1 C D Poi eliminiamo lo stato C e otteniamo A D 0 + 1 Start A 1( 0 + 1) ( 0 + 1) D con espressione regolare (0 + 1) 1(0 + 1)(0 + 1)

sempio Da 0 + 1 Start A 1( 0 + 1) 0 + 1 C D possiamo eliminare D e ottenere A C 0 + 1 Start A 1( 0 + 1) C con espressione regolare (0 + 1) 1(0 + 1) L espressione finale e la somma delle due espressioni regolari precedenti: (0 + 1) 1(0 + 1)(0 + 1) + (0 + 1) 1(0 + 1)

a espressioni regolari a ǫ-nfa Teorema 3.7: Per ogni espressione regolare R possiamo costruire un ǫ-nfa A, tale che L(A) = L(R). Prova: Per induzione strutturale: Base: Automa per ǫ,, e a. (a) (b) a (c)

Induzione: Automa per R + S, RS, e R R S (a) R S (b) R (c)

sempio Trasformiamo (0 + 1) 1(0 + 1) 0 1 (a) 0 1 (b)

sempio (b) Start 0 1 1 0 1 (c)

eggi algebriche per i linguaggi L M = M L. L unione e commutativa. (L M) N = L (M N). L unione e associativa. (LM)N = L(MN). La concatenazione e associativa. Nota: La concatenazione non e commutativa, cioe, esistono L e M tali che LM ML.

L = L = L. e l identita per l unione. {ǫ}l = L{ǫ} = L. {ǫ} e l identita sinistra e destra per la concatenazione. L = L =. e l annichilatore sinistro e destro per la concatenazione.

L(M N) = LM LN. La concatenazione e distributiva a sinistra sull unione. (M N)L = ML NL. La concatenazione e distributiva a destra sull unione. L L = L. L unione e idempotente. = {ǫ}, {ǫ} = {ǫ}. L + = LL = L L, L = L + {ǫ}

(L ) = L. La chiusura e idempotente. Prova: ( ) i w (L ) w L j i=0 j=0 k,m N : w (L m ) k p N : w L p w i=0 w L L i