Documente Academic
Documente Profesional
Documente Cultură
q
Figura 2.9.1
h() = .
n acest fel L(M) = h(L(M)). Dar mulimea L(M) este regulat i conform
teoremei 2.9.11 va rezulta c i L(M) este o muime regulat.
Algoritmul de conversie a unei expresii regulate ntr-un AFN este urmtorul:
Algoritmul 2.6.1. Construcia unui automat finit nedeterminist cu -tranziii
pentru o expresie regulat.
Intrare:
o expresie regulat r peste un alfabet , sub forma unui arbore sintactic.
Ieire:
un AFN, N pentru limbajul L(r)
Metod:
Construim N, parcurgnd arborele sintactic de jos n sus, aplicnd regulile
(1) i (2) i combinnd automatele obinute la fiecare nod, cu ajutorul regulei (3) unde:
1.
pentru , construim automatul
start
cu i noua stare iniial i f noua stare final. Automatul va recunoate limbajul {}.
2.
pentru a, construim automatul
start
cu i noua stare iniial i f noua stare final. Automatul va recunoate limbajul {a}.
3.
dac N(s) i N(t) sunt AFN pentru expresiile regulate s i t atunci:
a) Pentru expresia regulat s|t construim urmtorul automat N(s|t)
N(s)
start
N(t)
cu i noua stare iniial a lui N(s|t) i f noua stare final. Avem _tranziii de la i la fostele
stri iniiale ale lui N(s) i N(t) i _tranziii de la fostele stri finale ale lui N(s) i N(t) la
f. Astfel, automatul N(s|t) recunoate L(s) U L(t).
b) Pentru expresia regulat st construim urmtorul automat N(st)
start
N(t)
N(s)
unde i, starea iniial pentru N(s) a devenit starea iniial pentru N(st) i f starea final
pentru N(t) a devenit starea final pentru N(st). Starea final pentru N(s) este identificat
cu starea iniial pentru N(t) i noua stare creat n N(st) i pierde statutul de stare iniial
sau final. Astfel, automatul N(st) recunoate limbajul L(s)L(t).
c) Pentru expresia regulat s* construim automatul N(s*)
start
N(s)
cu i noua stare iniial i f noua stare final pentru N(s*). Strile iniial i final pentru
N(s) i pierd acest statut. Astfel automatul N(s*) recunoate limbajul L(s)*.
Exemplul 2.6.1. S folosim algoritmul 2.3. pentru a construi AFN N(r) din expresia
regulat r=(a|b)*abb. Arborele sintactic al expresiei regulate date este:
.
.
..
b
b
bb
start
start
start
start
10