Sunteți pe pagina 1din 7

LIMBAJE REGULATE

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. T RANSFORMAREA AUTOMATELOR FINITE N E XPRESII REGULATE

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

n primul caz, daca


(0)
(1) nu exista un simbol de intrare a care sa faca tranzitia i j, atunci Rij =
(0)
(2) exista fix un simbol a care sa faca tranzitia, atunci Rij = a
(0)
(3) exista mai multi astfel de simboli a1 , a2 , ..., am , atunci Rij = a1 a2 ... am .

(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

(k1) (k1) (k1)


R R R
ik kk * kj

F IGURA 1.1. Calea i j trece prin k cel putin o data, si poate fi descompusa

Atunci expresia rezulta n forma Formula 1

(k) (k1) (k1) (k1) (k1)


Rij = Rij Rik (Rkk ) Rkj

(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.

Exemplu. Fie automatul din figura urmatoare:

1 0,1

0
1 2

F IGURA 1.2. Exemplu

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 = ):

din Formula 1 simplificat


(1)
R11 = ( 1) ( 1)( 1) ( 1) = 1
(1)
R12 = 0 ( 1)( 1) 0 =10
(1)
R21 = ( 1)( 1) =
(1)
R22 = 0 1 ( 1) 0 = 01
LIMBAJE REGULATE 3

Pasul urmator este si ultimul:

din Formula 1 simplificat


(2)
R11 = 1 1 0( 0 1) ) = 1
(2)
R12 = 1 0 1 0( 0 1) ( 0 1) = 1 0(0 1)*
(2)
R21 = ( 0 1)( 0 1) =
(2)
R22 = 0 1 ( 0 1)( 0 1) ( 0 1) = (0 1)

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

F IGURA 1.3. Starea s va fi eliminata

Strategia de rezolvare a problemei este:


LIMBAJE REGULATE 4

(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.

Exemplu. Fie automatul din figura urmatoare.

0U1

1 0U1 0U1
A B C D

F IGURA 1.6. Exemplu

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

F IGURA 1.7. S-a eliminat B

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

F IGURA 1.8. S-au eliminat D, respectiv C

Expresia ntregului automat este reuniunea

R = (0 1) 1(0 1) (0 1) 1(0 1)(0 1)

1.3. Exercitii. Convertiti automatele urmatoare n expresii regulate:

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.

Presupunem ca exista o asemenea mpartire cu conditiile adevarate (nu ne intereseaza configuratia


exacta a mpartirii, suntem siguri doar ca ea exista). Din faptul ca |xy| n stim ca x si y sunt formate
numai din zerouri. Conditia 3 spune ca xz, xyyz, xyyyz... sunt n L. Se observa chiar din prima
ncercare, de a include xz n L, ca este imposibil (numarul de zerouri scade din cauza excluderii y,
dar numarul de simboli 1 ramne constant). Deci L nu poate fi regulat.

2.1. Exercitii. Demonstrati ca limbajele urmatoare nu sunt regulate:

(1) {0n 10n |n 1}


(2) {0n 1m |n m}
(3) {0n 12n |n 1}
(4) {0n |n e patrat perf ect}
(5) {wwR |wR e inversul w}

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.

O consecinta importanta a echivalentei automatelor este minimizarea automatelor finite deterministe.


Pentru orice automat finit determinist, exista si este unic un automat finit determinist minim. Determi-
narea acestuia se face prin partitionarea starilor n blocuri, astfel nct toate starile dintr-un bloc sunt
echivalente, si nici o pereche de stari din blocuri diferite nu sunt echivalente.

3.1. Exercitii. Minimizati automatele:

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. Transformarea Automatelor finite n Expresii regulate 1

1.1. O metoda 1

1.2. ... si o alta metoda mai simpla 3

1.3. Exercitii 5

2. Lema de pompare 5

Exemplu 6

2.1. Exercitii 6

3. Echivalenta si Minimizarea automatelor 6

3.1. Exercitii 6

Bibliografie 7

S-ar putea să vă placă și