Documente Academic
Documente Profesional
Documente Cultură
λ
p q
Figura 2.9.1
▼Demonstratie
Se arată că automatele finite nedeterministe cu λ-tranziţii sunt echivalente cu cele fără λ-
tranziţii.
Vom da aici un exemplu de utilizare a homomorfismului pentru a da o altă demonstraţie
a acestei afirmaţii. Fie automatul finit cu λ-tranziţii M = (Q, Σ, δ, q0, F), unde considerăm
λ un simbol care nu este în Σ. Considerăm acum automatul finit nedeterminist M’, peste
alfabetul Σ∪{λ}:
M’ = (Q, Σ∪{λ}, δ, q0, F) ,
Definim acum acceptarea pentru automatul cu cu λ-tranziţii după cum urmează:
pentru orice x din Σ*, automatul M acceptă x dacă există y în (Σ∪{λ})* astfel încât:
M’ acceptă y relativ la definiţia acceptării unui automat finit nedeterminist;
- x este obţinut din y prin ştergerea tuturor apariţiilor simbolului λ; atunci x
= h(y), unde:
h: (Σ∪{λ})* → Σ*,
este homomorfismul definit de :
h(a) = a pentru a ∈ Σ
h(λ) = λ.
În acest fel L(M) = h(L(M’)). Dar mulţimea L(M’) este regulată şi conform
teoremei 2.9.11 va rezulta că şi L(M) este o muţime regulată.▲
cu i noua stare iniţială şi f noua stare finală. Automatul va recunoaşte 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 următorul automat N(s|t)
N(s)
λ λ
start f
i
λ λ
N(t)
cu i noua stare iniţială a lui N(s|t) şi f noua stare finală. Avem λ _tranziţii de la i la
fostele stări iniţiale ale lui N(s) şi N(t) şi λ _tranziţii de la fostele stări finale ale lui N(s)
şi N(t) la f. Astfel, automatul N(s|t) recunoaşte L(s) U L(t).
b) Pentru expresia regulată st construim următorul automat N(st)
N(s) N(t)
start
i f
unde i, starea iniţială pentru N(s) a devenit starea iniţială 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 iniţială pentru N(t) şi noua stare creată în N(st) îşi pierde statutul de stare iniţială
sau finală. Astfel, automatul N(st) recunoaşte limbajul L(s)L(t).
c) Pentru expresia regulată s* construim automatul N(s*)
λ
start λ λ
i N(s) f
cu i noua stare iniţială şi f noua stare finală pentru N(s*). Stările iniţială şi finală pentru
N(s) îşi pierd acest statut. Astfel automatul N(s*) recunoaşte 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
* a a
bb
a b
Parcurgând acum arborele vom avea:
Pentru simbolul a avem: start a
2 3
Pentru simbolul b avem: start b
4 5
Pentru a|b avem:
2 3 λ
λ a
start
1 6
λ b λ
4 5
Pentru (a|b)* avem:
λ
a
2 3
λ λ
start λ 6 λ 7
0 1
λ b
4 5 λ
λ
Continând acest proces, în final vom obţine automatul următor:
λ
a
2 3
λ λ
λ 6 λ 7 a 8 b 9 b
start 0 1 10
λ λ
b
4 5
λ
Teorema 2.6.1 Fiind dată o expresie regulată R, există un automat F cu număr finit de
stări, nedeterminist şi cu λ-tranziţii, care acceptă limbajul generat de R.
▼ Demonstraţie:
- se face prin inducţie în raport cu fiecare din cele trei operaţii ale expresiilor regulate.
Construcţia formală se deduce din diagramele de stare definite mai sus. ▲
Teorema 2.6.2. Fiind dat un automat cu număr finit de stări, determinist, care acceptă
limbajul L, există o expresie regulată care reprezintă limbajul L.
▼ Demonstraţie:
- se aplică algoritmul de transformare a automatului finit determinist într-o gramatică de
tip 3, după care se aplică acesteia algoritmul de determinare a expresiei regulate
echivalente. ▲