Documente Academic
Documente Profesional
Documente Cultură
Att expresiile regulate, ct si automatele finite deterministe sau nedeterministe, sunt reprezent a ri ale
aceleiasi multimi de limbaje, numite limbaje regulate. Astfel, orice limbaj care poate fi reprezentat
printr-o expresie regulata sau un automat finit determinist/nedeterminist poate fi reprezentat si prin
oricare din celelalte notatii.
1.1. O metoda. Fie un automat finit oarecare A (algoritmul merge att pentru automate deterministe,
ct si nedeterministe). Pentru usurinta , se numeroteaza starile automatului (n numar finit) cu numere
naturale, astfel nct multimea starilor se noteaza {1, 2, .., n}. Pentru a determina expresia regulata
echivalenta cu automatul A se vor determina expresii regulate partiale pentru seturi din ce n ce mai
mari de cai din automat, pna la includerea ntreg automatului.
(k)
n cursul procesului, se va nota cu R ij expresia regulata care descrie toate caile din A care au ca stare
de pornire starea i si ca stare finala starea j, si nici o cale dintre i si j nu contine o stare cu indice mai
mare strict dect k.
(k)
Pentru a determina o expresie Rij se porneste de la k = 0 si se incrementeaza k pna la n. Pentru
(0)
cazul de baza k = 0, Rij este expresia care defineste calea dintre i si j f a ra stari intermediare:
daca i 6= j, atunci singurele astfel de cai sunt formate din arce directe ntre i si j
daca i = j, atunci arcul uneste i cu i
(0)
n al doilea caz, cnd i = j, la cele de mai sus se adauga un termen n Rij : daca nu exista un
(0) (0)
simbol care sa faca tranzitia, atunci Rij = ; daca exista un singur simbol a, Rij = a, altfel
(0)
Rij = a1 a2 ... am .
(k)
Pentru pasul de inductie k > 0, n determinarea expresiei R ij sunt doua cazuri:
(k) (k1)
calea dintre i si j nu trece printr-o stare cu indice mai mare dect k, deci R ij = Rij
calea dintre i si j trece prin starea k cel putin o dat a , si poate fi mpartita n bucati ca n figura
urmatoare:
1
LIMBAJE REGULATE 2
i k k k j
F IGURA 1.1. Calea i j trece prin k cel putin o data, si poate fi descompusa
(n)
Metoda se bazeaza pe determinarea dupa procesul de mai sus a tuturor expresiilor R ij , i, j. Atunci
(n)
expresia regulata echivalenta cu automatul A este reuniunea expresiilor R 1j , unde starea 1 este starea
de start, iar j este una din starile finale.
1 0,1
0
1 2
Se calculeaza expresiile regulate din pasul de baza dupa regulile de mai sus ca:
(0)
R11 = 1
(0)
R12 = 0
(0)
R21 =
(0)
R22 = 01
(1)
Pentru a calcula expresii regulate mai complicate, de genul R ij , avem Formula 1 de mai sus. O
aplicam pentru toare perechile de stari si simplificam rezultatele (pentru simplificare cteva reguli de
baza sunt ( R) = R, R = R = , R = R = ):
Expresia finala este reuniunea expresiilor n care prima stare este initiala (1) si cealalt a este finala (2).
(2)
Deci R = R12 = 1 0(0 1).
1.2. ... si o alta metoda mai simpla. Metoda consta n eliminarea succesiva din automat a starilor,
adaugnd nsa tranzitii etichetate cu expresii regulate partiale (ca n metoda trecut a ). n exemplul din
figura urmatoare starea s va fi eliminata, impreuna cu tranzitiile legate de s. Starile p1...m sunt pre-
decesoare s, iar starile q1...n sunt succesoare. Expresiile regulate P 1...m si Q1...m reprezinta limbajele
determinate de perechile de stari formate din s si o alta stare din figura. Expresiile regulate Rij vor fi
calculate astfel nct tranzitiile introduse de ele s a nlocuiasca n automat orice tranzitie care implica
starea s: Rij = Pi S Qj . Daca n automat nu exista o tranzitie ntre p i si qj , atunci se adauga una cu
expresia regulata calculata, Rij . Daca aceasta tranzitie exista, atunci expresia tranzitiei se reuneste cu
Rij .
R
1m
R11
p S q1
1 P1 Q1
s
Pm Q
n
pm qn
Rmm
R
m1
(1) Se aplica procedeul de reducere a starilor pentru toate starile, n afara de starea initiala si de
starile finale.
(2) Daca starea initiala nu e si finala, atunci se obtine - pentru fiecare stare finala - expresia
regulata (R SU T ) SU , pentru un caz general ca n figura urmatoare, dupa eliminari
ale tuturor celorlalte stari finale:
R U
S
1 2
T
F IGURA 1.4. Caz general pentru starea initiala diferita de starile finale
(3) Daca starea initiala e si finala, atunci toate starile trebuie eliminate, cu exceptia starii initiale.
Rezulta un automat ca n figura urmatoare, si expresia regulata R:
F IGURA 1.5. Caz general pentru starea initiala egala cu o stare finala
(4) Pentru toate starile finale se reunesc expresiile regulate determinate de regulile de mai sus.
0U1
1 0U1 0U1
A B C D
Se elimina starea B mpreuna cu tranzitiile de la A si nspre C. Noua tranzitie ntre A si C are expresia
regulata 1(0 1) si automatul este:
0U1
1(0U1) 0U1
A C D
Cele doua stari finale se trateaza separat, prin eliminarea celorlalte stari finale. Pentru starea D se
elimina starea C si invers, rezultnd cele doua automate din figura:
LIMBAJE REGULATE 5
0U1
1(0U1)
A C
0U1
1(0U1)(0U1)
A D
0 1
q1 q2 q1
(1)
q2 q3 q1
q3 q3 q2
0 1
q1 q2 q3
(2)
q2 q1 q3
q3 q2 q1
0 1
p s p
(3) q p s
r r q
s q r
2. L EMA DE POMPARE
Lema de pompare este un mod de a demonstra ca unele limbaje NU sunt regulate. Un limbaj L
este regulat daca poate fi reprezentat de un automat finit. Intuitiv, limbajul L = {0 n 1n , n > 0}
(adica limbajul format dintr-un numar egal, nedefinit, eventual infinit, de simboli 0 si 1) nu poate fi
reprezentat de un automat finit.
Theorem 2.1. Fie L un limbaj regulat. Atunci exista o constanta n dependenta de L astfel nct pentru
orice sir w din L cu |w| n, w se poate mparti n 3 siruri, w=xyz, astfel nct:
(1) y 6=
(2) |xy| n
(3) k 0 xy k z L
LIMBAJE REGULATE 6
Exemplu. Fie limbajul L format din siruri care au num a r egal de simboli 0 si 1, 0n 1n . Presupunem ca
n este constanta dependenta de L care trebuie sa existe, cu conditiile din teorema, daca L este regulat.
Pentru orice sir din L trebuie sa fie adevarate conditiile din teorema. Fie sirul w = 0n 1n . Pentru
regularitatea lui L e obligatoriu sa existe o mpartire a w n xyz cu cele 3 conditii adevarate.
3. E CHIVALEN TA
SI
M INIMIZAREA AUTOMATELOR
Se spune ca doua stari p si q ale unui automat sunt echivalente daca si numai daca pentru orice sir de
intrare w, cele doua stari rezultate prin parcurgerea w sunt ambele finale sau ambele nefinale.
Doua automate se numesc echivalente daca starile lor initiale sunt echivalente.
0 1
A B A
B A C
C D B
(1) D D A
E D F
F G E
G F G
H G D
LIMBAJE REGULATE 7
0 1
A B E
B C F
*C D H
D E H
(2)
E F I
*F G B
G H B
H I C
I A E
B IBLIOGRAFIE
[1] Hopcroft, Motwani, Ullman, Introduction to Automata Theory, Languages and Computation, Addison-Wesley 2000
[2] http://www-db.stanford.edu/~ullman/ialc.html
C UPRINS
1.1. O metoda 1
1.3. Exercitii 5
2. Lema de pompare 5
Exemplu 6
2.1. Exercitii 6
3.1. Exercitii 6
Bibliografie 7