Espressioni regolari (1) - PowerPoint PPT Presentation

About This Presentation
Title:

Espressioni regolari (1)

Description:

Title: Definizioni di base Author: am Last modified by: am Created Date: 9/1/2002 10:16:14 AM Document presentation format: On-screen Show Other titles – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 16
Provided by: Am951951
Category:

less

Transcript and Presenter's Notes

Title: Espressioni regolari (1)


1
Espressioni regolari (1)
  • I linguaggi accettati da automi finiti (linguaggi
    regolari) sono descritti da espressioni regolari.
  • Dato un alfabeto S, le espressioni regolari su S
    e gli insiemi che denotano sono definiti
    ricorsivamente
  • - Ø è unespressione regolare e denota linsieme
    vuoto
  • - e è unespressione regolare e denota linsieme
    e
  • per ciascun a ? S a è unespressione regolare e
    denota
  • linsieme a
  • - se r, s sono espressioni regolari che denotano
    i linguaggi R, S
  • allora (rs), (rs), r sono espressioni
    regolari che denotano i
  • linguaggi R?S, RS, R.
  • Chiamiamo L(r) il linguaggio denotato da r.

2
Espressioni regolari (2)
Assumiamo che loperatore abbia precedenza
sualla concatenazione e che la concatenazione
abbia precedenza su e omettiamo le parentesi
non necessarie. Assumiamo gli assiomi seguenti r
s s r è commutativo r (s t) (r
s) t è associativo r (s t) (r s) t .
è associativo r (s t) r s r t .
distribuisce rispetto a (s t) r s r t r
e r r e r e è lidentità per .
3
Espressioni regolari (3)
Esempi. Linsieme delle parole chiave begin,
end, if, then, else è descritto dallespressione
regolare begin end if then else.
Linsieme degli identificatori è descritto
dallespressione regolare (a b z) (a b
z 0 9) Linsieme delle costanti
intere è descritto dallespressione regolare 0
(1 2 9) (0 1 9 Due espressioni
regolari sono equivalenti se descrivono lo stesso
linguaggio. Esempio. (a b) (a b)
4
Espressioni regolari (4)
Teorema . Sia r unespressione regolare. Allora
esiste un NFA con e transizioni che accetta L( r
). Prova. Per induzione sul numero di operatori
di r mostriamo che esiste un NFA M con e
transizioni, uno stato finale e nessuna
transizione dallo stato finale tale che L(M) L(
r ). Base. è il NFA per r e
è il NFA per r Ø è il
NFA per r a Passo. Assumiamo che la tesi valga
per r con meno di i operatori, con i gt1. Abbia r
i operatori.
a
5
Espressioni regolari (5)
Assumiamo per ipotesi di induzione che per r1, r2
con meno di i operatori esistano automi M1, M2
che accettano L (r1), L(r2). Lautoma M che
accetta L (r1 r2) ha il diagramma Lautoma
M che accetta L (r1 r2) ha il diagramma Lauto
ma M che accetta L (r1) ha il diagramma
e
e
e
e
e
e
e
e
e
6
Espressioni regolari (6)
Teorema. Se L è accettato da un DFA, allora L è
denotato da unespressione regolare. Prova. Sia L
accettato da un DFA M (q1, , qn, S, d, q1,
F). Sia Rkij linsieme di tutte le stringhe che
portano il DFA da qi a qj senza passare da uno
stato di numero più alto di k. Allora Rnij
denota tutte le stringhe che portano da qi a qj.
Si ha Rkij Rk-1ik(Rk-1kk) Rk-1kj ? Rk-1ij
a d (qi,a) qj se non ij R0ij
a d (qi,a) qj ? e se
ij Dobbiamo mostrare che per ciascun i,j,k
esiste unespressione regolare rkij che denota il
linguaggio regolare Rkij.
7
Espressioni regolari (7)
Base. R0ij è un insieme finito di stringhe
ciascuna delle quali o è un simbolo di S oppure
e. Quindi r0ij a1 ap oppure a1 ap
e se i j, dove a1, , ap è linsieme di
tutti i simboli a tali che d(qi,a) qj. Se non
ce ne sono r0ij Ø oppure r0ij e se i
j. Passo. La formula ricorsiva per Rkij usa solo
unione, concatenazione, chiusura (operatori delle
espressioni regolari). Per ipotesi di induzione
per ciascun l, m esiste unespressione regolare
rk-1lm tale che L(rk-1lm) Rk-1lm . Quindi per
rkij possiamo prendere lespressione rk-1ik
(rk-1kk ) rk-1kj rk-1ij . Osserviamo che L(M)
? qj ? F Rn1j . Perciò L(M) è denotato da
rn1j1 rn1j2 rn1jp dove F qj1 , ,
qjp .
8
Espressioni regolari (8)
Esempio. Prendiamo lautoma Abbiamo r011
e r111 e r211 (00) r012 0 r112
0 r212 0(00) r013 1 r113 1 r213 01
r021 0 r121 0 r221 0(00) r022 e
r122 e 00 r222 (00) r023 1 r123 1
01 r223 01 r031 Ø r131 Ø r231 (0
1)(00)0 r032 01 r132 01 r232 (0
1)(00) r033 e r133 e r233 e (01) 01

1
1
0
q1
q2
q3
0, 1
0
9
Espressioni regolari (9)
Quindi r312 r213 (r233) r232 r212 01
(e (01) 01 ) (e (01) 01 ) 01
r313 r213 (r233) r233 r213 01 (e
(01) 01 ) (e (01) 01 )
01 Lespressione regolare per M è r312 r313
.
10
Macchine di Moore e di Mealy (1)
Gli automi finiti danno un output che è un
segnale di accettazione o di non accettazione. Le
macchine di Moore e di Mealy danno un output su
un alfabeto diverso da quello di input e
associato con lo stato (macchina di Moore) o con
la transizione (macchina di Mealy). Una macchina
di Moore è M (Q, S, D, d, l, q0), dove D è
lalfabeto di output e l Q S ? D associa a
ogni stato un simbolo di output. In risposta
allinput a1, , an , n 0, la macchina dà
loutput l(q0) l(qn) dove d(qi-1, ai) qi , 1
i n. Esempio. Si voglia determinare il
residuo modulo 3 per ogni stringa binaria
trattata come un intero binario. La macchina
entra in qj se linput visto fino a tal punto ha
residuo j. Sia l(qj) j per j 0,1,2.
0
1
1
0
q0
q2
q1
0
1
0
2
1
11
Macchine di Moore e di Mealy (2)
  • Osservazione. Un DFA è un caso speciale di
    macchina di Moore dove lalfabeto di output è
    0,1 e uno stato q è di accettazione se e solo
    se l(q) 1.
  • Una macchina di Mealy è M (Q, S, D, d, l, q0)
    dove
  • Q ? S ? D associa a ogni stato un simbolo di
    output.
  • Loutput in risposta allinput a1, , an , n 0,
    è
  • l(q0 , a1) l(qn,an) dove d(qi-1, ai) qi , 1
    i n.
  • Osservazione. La sequenza di output della
    macchina di Mealy è lunga n (e non n1 come per
    la macchina di Moore) perché sullinput e dà
    output e.

12
Macchine di Moore e di Mealy (3)
Esempio. Il linguaggio (01)(0011) che è
accettato da un DFA con almeno cinque stati è
accettato dallautoma di Mealy che ricorda nello
stato lultimo simbolo letto
p0
0/y
0/n
q0
1/n
0/n
1/n
1/y
p1
13
Macchine di Moore e di Mealy (4)
Sia M una macchina di Mealy o una macchina di
Moore. Definiamo TM(w) loutput prodotto da M
sullinput w. Una macchina di Mealy M e una
macchina di Moore M sono equivalenti se, per
tutti gli input w, bTM(w) TM(w) dove b è
loutput di M per il suo stato
iniziale. Teorema. Se M1 (Q, S, D, d, l, q0) è
una macchina di Moore, allora cè una macchina di
Mealy M2 equivalente a M1. Prova. Sia M2 (Q, S,
D, d, l, q0), con l(q,a) l(d(q,a)) per tutti
gli stati q e simboli di input a. Allora M1 ed M2
entrano nella stessa sequenza di stati sul
medesimo input e con ciascuna transizione M2
emette loutput che M1 associa allo stato in cui
è entrato.
14
Macchine di Moore e di Mealy (5)
Esempio. La macchina di Mealy equivalente alla
macchina di Moore dellesempio è la
seguente Teorema. Se M1 (Q, S, D, d, l,
q0) è una macchina di Mealy, allora cè una
macchina di Moore M1 equivalente. Prova. Sia M2
(Q ? D, S, D, d, l, q0,b0), dove b0 ? D
scelto arbitrariamente. Gli stati di M2 sono
coppie q,b, consistenti di uno stato di M1 e di
un simbolo di output. Definiamo d(q,b,
a) d(q,a), l(q,a) e l(q,b)b. Con
uninduzione su n si mostra che se M1 entra negli
stati q1, , qn sullinput a1, , an ed emette
b1, , bn allora M2 entra negli stati q0,b0, ,
qn,bn, ed emette b0, , bn.
1/1
0/2
0/0
1/2
0/1
1/0
15
Macchine di Moore e di Mealy (6)
Esempio. La macchina di Moore equivalente alla
macchina di Mealy dellesempio è la seguente
1
0
n
n
n
0
1
q0,n
p0,n
p1,n
0
0
0
1
1
y
y
y
q0,y
p0,y
p1,y
0
1
Write a Comment
User Comments (0)
About PowerShow.com