Sunteți pe pagina 1din 64

Viorica Ciocǎnaru

METODE LATICIALE DE

DESCOMPUNERE A AUTOMATELOR FINITE

LUCRARE ŞTIINŢIFICǍ

Editura Sfântul Ierarh Nicolae


2010

ISBN 978-606-577-069-0
Referent ştiinţific,
Lector DOINA ROGOZEA

2
Cuvânt înainte

Matematica a fost, este şi va fi prezentǎ mereu în viaţa omului, în tot ceea ce-l
înconjoarǎ ajutându-l aşa dupǎ cum observa Gh. Ţiţeica: ”Matematica este un mod de
exprimare a legilor naturale, este cel mai simplu şi cel mai potrivit chip de a înfăţişa o
lege generală sau curgerea unui fenomen, este cea mai perfectă limbă în care se poate
povesti un fenomen natural.”
Conceptele abstracte, fundamentate teoretic în multe domenii ale matematicii, prind
contur prin elaborare de modele care îşi gǎsesc aplicaţii intradisciplinar şi/ sau
interdisciplinar în fizicǎ, chimie, informaticǎ, etc.
În cuprinzǎtoarea arie a interferenţelor dinte matematicǎ şi informaticǎ, automatele
ocupǎ un loc aparte; ele sunt maşini teoretice care au un comportament definit de reguli
(algoritmi), care alcătuiesc programe. Automatale au finalitate (plecând de la orice stare în
care se aflǎ la un moment dat, ajung la o stare finală determinată prin programe).
Automatele finite sunt folosite în modelarea comportamentului aplicaţiilor,
proiectarea sistemelor, etc.

Autoarea

3
CUPRINS

Introducere ………………………………………………………………………… 5
Capitolul I TEORIA AUTOMATELOR
1. Noţiunea de automat. Modele de automate………………………………….. 6
2. Reprezentarea automatelor prin grafuri.............................................. 8
3. Relaţii de echivalenţa. Congruenţe pe mulţimea de stǎri ale unui
automat determinist............................................................................................ 11
Capitolul II PROBLEME SPECIALE DE TEORIA AUTOMATELOR
1. Descompunerea în serie şi în paralel în sens Hartmanis Stearns
a automatelor.................................................................................................. 17
2. Echivalenţe asociate pe un automat determinist şi algebre de asociere........... 24
3. Codificarea automatelor.................................................................................... 38
4. Reţele abstracte................................................................................................. 43
Capitolul III METODE LATICIALE DE DESCOMPUNERE A
AUTOMATELOR FINITE
1. Noţiuni de teoria laticilor……………………………………………………. 48
2. Metode laticiale de descompunere a automatelor finite................................... 55
Notaţii .......................................................................................................................... 63
Bibliografie.................................................................................................................. 64

4
Introducere

Noţiunea de automat intr ǎ în sfera mai larg ǎ a noţiunii de sistem cibernetic,


care este un model al dispozitivelor de prelucare a informaţiei provenind din
diverse surse şi care funcţioneaz ǎ la intervale de timp bine determinate.
Se poat e imag ina un aut o mat ca o cutie neagrǎ prevǎzutǎ cu o bornǎ de
intrare şi o bornǎ de ieşire capabilǎ sǎ posede un anumit numǎr de stǎri interne.
Aplicând un semnal la borna de intrare sist emul respectiv elaboreazǎ un
rǎspuns şi trece într-o nouǎ stare internǎ, aceste elemente depinzând şi de starea
la momentul actual a automatului.
Pentru cǎ introducerea semnalelor de intrare, schimbarea st ǎrilor şi apariţia
semnalelor de ieşire, se fac la intervale determinate de t imp numite tacte, se
numeşte discret modul de funcţionare al unui automat.
Dacǎ starea automatului în tactul urmǎtor şi ieşirea acestuia sunt cunoscute
exact, se obţine un automat determinist, iar dacǎ starea şi ieşirea sunt
cunoscute pânǎ la anumit e mulţimi de stǎri şi ieşiri se obţin automate
nedeterministe.
În ceea ce priveşte teoria structuralǎ a automatelor, au apǎrut în ultima jumǎtate de secol
probleme speciale cum sunt:
- teoria de structurǎ a lui Krohn şi Rhodes;
- studiul laticial al structurii automatelor iniţiat de Hartmanis şi Stearns.
Toate acestea au o deosebitǎ importanţǎ pentru proiectanţii de sisteme cibernetice care
gǎsesc descrierea matematicǎ a unor noţiuni uzuale în tehnicǎ precum noţiunea de
simulare, noţiunea de reţea abstractǎ de automate.
[1]

5
I TEORIA AUTOMATELOR

1. NOŢIUNEA DE AUTOMAT. MODELE DE AUTOMATE

Definiţia 1.1 Un automat este un 5-uplu, A = [I, S, O, f, g], I, S, O nevide unde I


este un alfabet de intrare, S este mulţime de stǎri, O este alfabet de ieşire, f: S  I  P *(S),
g: S  I  P *(O), sunt funcţii de trecere/ tranziţie şi respectiv de ieşire/ rǎspuns ale
automatului.
Oricare ar fi s  S, i I, f (s , i ) = 1, g ( s, i ) = 1, A se numeşte determinist; în caz

contrar se numeşte nedeterminist.


Oricare ar fi s  S, i I, f (s , i ) = 1, A este S- determinist.

Oricare ar fi s  S, i I, g ( s, i ) = 1, A este O- determinist.

Un automat determinist este S-determinist şi O-determinist.


Fie X = { I, S, O}, Y P (X)
Definiţia 1.2 Un automat A este Y-finit dacǎ mulţimile ce aparţin lui Y sunt
finite.
Daca Y = { I, S, O}, A Y-finit se numeşte automat finit.
Definiţia 1.3 Un automat autonom/ orologiu este un automat I-finit cu I = 1.

Alfabetul de intrare conţine un singur simbol; intrarea automatului va fi permanent


aceeaşi ceea ce dǎ automatului o comportare independentǎ de exterior. Dacǎ se considerǎ
un dispozitiv capabil de a se afla într-una din stǎrile aparţinând unei mulţ imi finite de
stǎri şi care posedǎ o bornǎ de intrare la care se pot aplica stimuli capabili sǎ schimbe
starea acestui dispozitiv, se obţine o imagine intuitivǎ a ceea ce se numeşte semiautomat.
Definiţia 1.4 Un semiautomat este un triplet A = [I, S, f] în care I, S, f au
semnificaţiile din definiţ ia automatului.
Definiţia 1.5 Semiautomatul ataşat automatului A = [I, S, O, f, g], este
semiautomatul S(A) = [I, S, f].
Prin considerarea semiautomatul S(A) se face abstracţie de comportarea la ieşire a
automatului A rǎmânând esenţialǎ funcţionarea internǎ a automatului. Unui automat i se

6
poate ataşa în mod unic un semiautomat iar un semiautomat poate fi extins la un automat
prin alegerea unui alfabet de ieşire O şi a unei funcţ ii rǎspuns g. Automatul ataşat nu e
unic, depinzând de aceastǎ alegere.
Descrierea noţiunii de automat se poate face în mai multe moduri numite modele de
automate.
Modelul A = [I, S, O, f, g], I, S, O nevide, f: S  I  P*(S), g: S  I  P*(O), a fost

elaborat de Mealy în anul 1955 pentru cazul automatelor finite.


Un model cu aplicaţii numeroase este modelul Moore elaborat în 1956; automatul
Moore e un 5-uplu, A = [I, S, O, f, h], unde I, S, O sunt nevide, f: S  I  P*(S), h:

S  P*(O) sunt funcţiile de tranziţ ie respectiv de ieşire. În cadrul modelului Moore,

legate de comportarea funcţ iei h se disting:


- automatele Moore cu întârziere pentru care ot  h(st);
- automatele Moore imediate pentru care ot  h(st+1),
unde st, ot sunt starea şi ieşirea automatului în tactul t.
În cazul automatelor Moore imediate ieşirea automatului în tactul t depinde de
starea st+1 în care trece automatul în tactul urmǎtor în timp ce la automatele Moore cu
întârziere efectul stǎrii st+1 din tactul t+1 apare în tactul precedent ceea ce justificǎ
denumirile utilizate.
O altǎ variantǎ a modelului Mealy folositǎ în cazul în care I e finit e descrisǎ în:
Definiţia 1.6 Un automat Mealy I- finit ( I = n) este un 2n+3-uplu A = [I, S,

O, fi1 , fi2 , fi3 ,.... fin , g i1 , g i2 , g i3 ,.... g in ] unde I = {i1 , i2,... in }, S, O au semnificaţiile
cunoscute iar fij : S  P *(S), g ij : S  P *
(O), fij, g ij dau mulţimile de stǎri şi

mulţimile de simboluri de ieşire la care aparţin starea şi ieşirea automatului atunci


când se introduce la intrarea automatului simbolul ij ; fij, g ij se obţin din definiţia
automatului Mealy punând fij (s) = f(s, ij ), g ij (s) = g(s, ij ).
Definiţia 1.7 Un semiautomat Medvedeev I- finit ( I = n) este un n+2-uplu

A = [I, S, O, fi1 , fi2 , fi3 ,.... fin ] unde I, S, {fij }, i  {1, 2, ..., n} au semnificaţiile din
definiţia anterioarǎ.
Modelele Mealy şi Moore pot fi prezentate în modelul Starke:
Definiţia 1.8 Un automat Starke este un 4-uplu A = [I, S, O, k] unde I, S, O
au semnificaţiile cunoscute iar k: S  I  P *(O  S), k dǎ mulţimea cǎreia îi aparţine

7
ieşirea la momentul t şi starea la momentul t+1 în funcţ ie de starea şi intrarea
automatului la momentul t.
Automatele Mealy şi Moore în cazul determinist pot fi descrise ca automate
Starke punând:
k(s t , it ) = (f(s t , it ), g(s t , it )) pentru automatul Mealy;
k(s t , it ) = (f(s t , it ), h(s t+1 )) pentru automatul Moore imediat;
k(s t , it ) = (f(s t , it ), h(s t )) pentru automatul Moore cu întârziere.
Reciproc modelul Starke permite obţinerea modelului Mealy unde:
f(s t , it ) = pr 1 k(s t , it ), g(s t , it ) = pr 2 k(s t , it ).
Dacǎ pr 2 k(s t , it ) = h(s t+1 ) se obţine modelul Moore imediat.
Dacǎ pr 2 k(s t , it ) = h(s t ) se obţine modelul Moore cu întârziere.
[1]

2. REPREZENTAREA AUTOMATELOR PRIN GRAFURI

Unui automat i se poate asocia în mod unic un graf ceea ce permite folosirea
rezultatelor şi tehnicilor de teoria grafurilor în teoria automatelor.
Definiţia 2.1 Un graf orientat este o pereche G = (V, Γ) unde V este mulţimea

vârfurilor grafului iar Γ:V  P(V); dacǎ v2  Γ( v1 ), (v1, v2) este un arc în graf.

Dacǎ V <  graful e finit, în caz contrar e un graf infinit. De obicei grafurile se

reprezintǎ ataşând fiecǎrui vârf un punct din plan şi fiecǎrui arc (v1, v2) o sǎgeatǎ care
uneşte punctele v1 şi v2, îndreptatǎ de la v1 la v2.
Definiţia 2.2 Mulţ imea arcelor grafului G = (V, Γ) este mulţimea U  VxV datǎ

de U = {(v1 ,v2)/ v2  Γ( v1 )}. În arcul (v1 ,v2) v1 este extremitatea iniţ ialǎ iar v2
extemitatea finalǎ.
a: U  V, z: U  V; a((v1 ,v2)) = v1, z((v1 ,v2)) = v2.
Definiţia 2.3 Un graf orientat este un triplet G = (V, U, h) unde V este mulţimea
vârfurilor, U mulţimea arcelor, h: U  V  V este aplicaţie injectivǎ.

8
Echivalenţa definiţ iilor 2.1 şi 2.2 se obţine din faptul cǎ pentru un arc u  U h(u) =
(a(u), z(u)). Faptul cǎ h este o aplicaţie injectivǎ revine la aceea cǎ unei perechi de
vârfuri (v1, v2) îi corespunde cel mult un arc.
Definiţia 2.4 Un graf marcat este un triplet G = (V, Γ, µ) unde (V, Γ) este un
graf iar µ: U  M este o funcţie de marcare unde U este mulţ imea arcelor iar M este
mulţimea simbolurilor de marcare.
Definiţia 2.5 Graful asociat automatului A = [I, S, O, f, g] este tripletul G (A) = {S,
Γ, µ A } unde S este mulţimea vârfurilor care coincide cu mulţimea stǎrilor
automatului, s j2  Γs j1 dacǎ şi numai dacǎ existǎ i  I astfel ca s j2  f(s j1 , i) iar µ A: {(s j1 ,
s j2 ), s j2  Γs j1 }  I  O astfel ca µ A((s j1 , s j2 )) = (i, o) dacǎ s j2  f(s j1 , i) şi o  g(s j1 , i).
Graful ataşat unui automat este orientat şi marcat.
A este S- determinist dacǎ şi numai dacǎ din: pr 1 µ A(s 1 , s 2 ) = pr1 µ A(s 1 , s 3 )
rezultǎ s 2 = s 3.
Dacǎ din pr 1 µ A(s 1 , s 2 ) = pr 1 µ A(s 1 , s 3 ) rezultǎ pr 2 µ A(s 1 , s 2 ) = pr 2 µ A(s 1 , s 3 )
automatul este O- determinist şi reciproc.
Automatul este determinist dacǎ şi numai dacǎ din: pr 1 µ A(s 1 , s 2 ) = pr 1 µ A(s 1 ,
s 3 ) rezultǎ s 2 = s 3 şi pr 2 µ A(s 1 , s 2 ) = pr 2 µ A(s 1 , s 3 ).
Exemplu de automat nedeterminist
Fie A = [{i1 , i2 }, {s 1 , s 2 }, {o 1 , o 2 }, f, g] unde f şi g sunt date prin:
f s1 s2 g s1 s2
i1 {s 1 , s 2 } {s 1 } i1 {o 1 } {o 2 }
i2 {s 1 } {s 2 } i2 {o 2 } {o 1 }

(i1, o1) (i1, o1)


s1 (i2, o1)

s2
(i2, o2) (i1, o2)

Exemplu de automat determinist


Fie A=[{i1 , i2 }, {s 1 , s 2, s 3 }, {o 1 , o 2 }, f, g] unde f şi g sunt date prin:

9
f s1 s2 s3 g s1 s2 s3

i1 s2 s3 s1 i1 O1 o1 o 2

i2 s1 s2 s1 i2 o 2 o 2 o 1

(i2, o2)
s2
(i1, o1) (i1, o1)

s1 (i2, o1)
s3
(i2, o2)
(i1, o2)

Exemplu de semiautomat
Fie A=[{i1 , i2 }, {s 1 , s 2, s 3 }, f] unde f este datǎ prin:

f s1 s2 s3
i1 s2 s2 s1
i2 s3 s1 s2

s2 i1

i2 i2

i1

i2
s1 s3
i1

[2]

10
3. RELAŢII DE ECHIVALENŢǍ. CONGRUENŢE PE MULŢIMEA DE
STǍRI ALE UNUI AUTOMAT DETERMINIST

Ataşarea unei algebre unare unui automat permite aplicarea metodelor algebrei
universale în teoria automatelor.
Definiţia 3.1 Algebra unarǎ ataşatǎ automatului A = [I, S, O, f, g] este perechea
U(A) = [S, {fi}i  I] în care mulţ imea stǎrilor automatului e mulţ imea suport a algebrei
iar operaţiile algebrei sunt definite de fi(s) = f(s, i).
Definiţia 3.2 O congruenţǎ pe automatul A este o echivalenţǎ σ  Eq(S) cu
proprietatea: oricare ar fi (s1, s2)  σ rezultǎ (f(s1, i), f(s2, i))  σ, oricare ar fi i  I.
Aceeaşi definiţ ie e valabilǎ şi pentru semiautomate.
Dacǎ σ este o congruenţǎ pe automatul A şi (s1, s2)  σ atunci (f(s1, p), f(s2, p))  σ
oricare ar fi p  I*.
Necesitatea studierii unor relaţii de echivalenţǎ pe mulţimea stǎrilor unui automat
apare în procesul de proiectare al dispozitivelor modelate de automate.
Introducerea echivalenţei între automate permite alegerea unui automat optim (dupǎ
un anumit criteriu de optimalitate) din mulţimea automatelor care realizeazǎ acelaşi proces
de prelucrare a informaţiei.
Definiţia 3.3 Fie A = [I, S, O, f, g] şi S1, S2  S. Mulţimile de stǎri S1 şi S2 sunt
echivalente (S1, S2)  ρ dacǎ:
g(S1, p) = g(S2, p)  p  I*, p  e sau
gp(S1) = gp(S2) adica ρ =  kerg p .
pI * , p  e

Stǎrile s1, s2  S sunt echivalente dacǎ ({s1 }, {s2})  ρ; se noteazǎ (s1, s2)  ρ
Teorema 3.1 Fie (s1, s2)  ρ; atunci pentru succesorii stǎrilor s1, s2, (f(s1,p), f(s2, p))
 σ oricare ar fi p  I*.
Demonstraţie (s1, s2)  ρ înseamnǎ g(s1, p) = g(s2, p)  p  I* rezultǎ g(f(s1, p),
q) = g(s1, pq) = g(s2, pq) = g(f(s2, p), q)  q  I*.
Relaţ ia de echivalenţǎ ρ între stǎrile unui automat este o relaţie de congruenţǎ aşa
cum rezultǎ din teorema anterioarǎ. Relaţ ia ρ introdusǎ între stǎrile aceluiaşi automat
poate fi extinsǎ între mulţimile de stǎri corespunzǎtoare la douǎ automate diferite.

11
Definiţia 3.4 Stǎrile s1  S1, s2  S2 sunt echivalente (s1, s2)  ρ dacǎ g(s1, p) = g(s2,
p)  p  I*, p  e.
Relaţia de echivalenţǎ dintre automate permite stabilirea legǎturii între automatele
de tip Moore şi Mealy. Orice automat Moore poate fi conceput ca un automat Mealy
alegând g(s, i) = h(s)  i  I în cazul automatelor Moore cu întârziere şi g(s, i) = h(f(s,
i)) pentru automatele Moore imediate.
Definiţia 3.5 Automatul A1 = [S1, f1, g1] acoperǎ automatul A2 = [S2, f2, g2] dacǎ
existǎ h: S2  S1 astfel ca (s2, h(s2 ))  ρ. H se numeşte aplicaţia de acoperire şi se
noteazǎ A1 > A2.
Definiţia 3.6 Automatele A1 şi A2 sunt echivalente dacǎ A1 > A2 şi A2 > A1 ; se
noteazǎ A1 ~ A2.
Teorema 3.2 Pentru fiecare automat Mealy existǎ un automat Moore echivalent.
Demonstraţie Fie A = [I, S, O, f, g] un automat Mealy; atunci automatul Moore
A’ = [I, S’, O, f,’ g’] unde S’ = O  S, f’((o, s), i) = (g(s, i), f(s, i)) iar h’((o, s)) = o
este echivalent cu A. Ţinând cont de faptul cǎ orice automat Moore poate fi conceput ca
un automat Mealy punând g(s, i) = h(s)  i I pentru automate Moore cu întârziere şi
g(s, i) = h(f(s, i)) pentru automate Moore imediate, se concepe automatul Moore ca un
caz particular de automat Mealy considerând g’((o, s), i) = o.
A’ >A: este suficient sǎ se arate cǎ (s, (o, s))  ρ  s  S , g(s, i) = h’((o, s)) = g’((o, s),
i) în baza faptului cǎ automatul Moore este conceput ca automat Mealy.
Prin inducţie dupǎ l(p) se aratǎ cǎ g(s, p) = g’((o, s), p). Pentru aceasta se extind
funcţ iile de trecere şi de ieşire de la S  I la S  I*. Oricare ar fi s  S, i  I, p  I* se
defineşte extinderea recursiv prin:
f(s, e) = s
f(s, pi) = f(f(s, p), i)
g(s, pi) = g(f(s, p), i)
Dacǎ p=e f(s, ei) = f(f(s, e), i) = f(s, i)
g(s, ei) = g(f(s, e), i) = g(s, i)
funcţiile extinse coincid cu funcţiile automatului pe mulţimea S  I.
f(s, p) reprezintǎ o mulţime de stǎri care conţine starea în care va trece automatul în tactul
l(p)+1 atunci când automatul se gǎsea în starea s şi s-a introdus cuvântul p iar g(s, p) în
aceleaşi condiţii, este o mulţime de simboluri de ieşire care conţine simbolul pe care-l
emite automatul în tactul l(p).
Pentru l(p) = 1 relaţia se verificǎ g’((o, s), i) = g(s, i).

12
Se presupune relaţia adevǎratǎ pentru l(p) = n şi se trece la l(q) = n+1.
Fie q = ip; atunci g’((o, s), ip) = g’(f’((o, s), i), p) = g’((g(s, i), f(s, i)), p) = g(f(s, i), p)
= g(s, ip).
A > A’: oricare ar fi starea (o, s)  S’ existǎ starea s  S cu ((o, s), s)  ρ
g(s’, i) = h’((o, s’)) = g’((o, s’), i) în baza faptului ca automatul Moore e conceput ca
automat Mealy.
Prin inducţie dupǎ l(p) se aratǎ cǎ g(s’, p) = g’((o, s’), p). Pentru l(p) = 1 relaţia se
verificǎ: g’((o, s’), i) = g(s’, i).
Se presupune relaţia adevǎratǎ pentru l(p) = n şi se trece la l(q) = n+1.
Fie q = ip; atunci g’((o, s’), ip) = g’(f’((o, s’), i), p) = g’((g(s’, i), f(s’, i)), p) = g(f(s’,
i), p) = g(s’, ip).
A’ > A şi A > A’ rezultǎ A ~ A’.
Automatul Moore echivalent unui automat Mealy determinist e un automat
determinist.
Definiţia 3.7 Automatul ataşat congruenţei σ pe automatul A = [I, S, O, f, g] este
automatul A(σ ) = [I, S/ σ, S/ σ, f σ, g σ] unde f σ([s], i) = [f(s, i)] oricare ar fi [s]  S/ σ,
i  I.
Definiţia 3.8 Semiautomatul cât ataşat congruenţei σ pe semiautomatul A = [I, S, f]
este semiautomatul A/σ = [I, S/ σ, f σ] unde f σ([s], i) = [f(s, i)].
Definiţia 3.9 Automatul ataşat algebrei U este automatul A(U) = [I, S, S, f, f] unde
f(s, i) = fi(s)  i I, s  S.
Teorema 3.3 Fie Ω = (α, β) un polimorfism de la algebra U1 = [S1, {f1 i}i  I1] la
algebra U2 = [S2, {f2i}i  I2] adicǎ α: {f1i}i  I1  {f2i}i  I2 este o bijecţie şi β: S1  S2
satisface egalitatea β(f1 i(s1)) = α(f1 i)(β(s1)) atunci existǎ un homomorfism χ = (t, u, u):
A(U1)  A(U2).
Demonstraţie Aplicaţiile t: I1  I2, u: S1  S2 unde t(i1) = i2 dacǎ α(f1 i1) = f2 i2 şi
u = β fac comutativǎ diagrama:
S1  I 1 f1 S1

(u, t) u
f2
2
S  I2 S2
Fie (s1, i1)  S1  I1, f2((u, t), (s1, i1)) = f2(u(s1), t(i1 )) = f2t(i1)( β(s1)) = α(f1 i1)(β(s1)) =
β(f1 i1(s1)) = u(f1 i1 (s1)).

13
Teorema 3.4 Fie Aj = [I, Sj, fj] j =1, 2 douǎ semiautomate cu acelaşi alfabet de
intrare şi χ = (1I, u) un homomorfism surjectiv χ: A1  A2. Relaţia σ  S1  S2 σ = ker u
este o congruenţǎ pe semiautomatul A1 şi semiautomatul A2 este izomorf cu
semiautomatul cât A1/ σ.
Demonstraţie Fie (s’, s”)  ker u = σ rezultǎ u(s’) = u(s”) şi trebuie arǎtat cǎ
oricare ar fi i  I, u(f1 i(s’)) = u(f1 i(s”)), u(f1i(s’)) = f2 i(u(s’)) = f2 i(u(s”)) = u(f1 i(s”)).
Surjecţia u: S1  S2 se factorizeazǎ canonic ca în urmǎtoarea diagramǎ unde k este o
bijecţie:
u
S1 S2
h k u=k  h

S1/ker u

Atunci perechea de aplicaţii χ = (1I, k) este un izomorfism de la semiautomatul


A1/ σ la semiautomatul A2 pentru cǎ diagrama de mai jos e comutativǎ pentru  i I.

S1/σ f σi S1/σ

k f2i k
S2 S2

k(f σi([s1]) = k([f1(s1, i)]) = u(f1(s1, i)) = f2i(u(s1)) = f2i(k[s1]).


Teorema 3.5 Fie σ o congruenţǎ pe semiautomatul A = [I, S, f]. Atunci existǎ un
homomorfism surjectiv χ = (1I, u): A  A/σ.
Demonstraţie Aplicaţia u: S  S/σ datǎ prin u(s) =[s] face comutativǎ diagrama
urmǎtoare pentru cǎ: f σi(u(s)) = f σi([s]) = [f(s, i)] = u(f(s, i)) = u(fi(s)).
S fi S
u u
S/σ f σi S/σ

Determinarea congruenţelor unui automat finit se bazeazǎ pe:


Teorema 3.6 Fie θs1s2 cea mai micǎ congruenţǎ pe automatul A cu proprietatea (s1 ,
s2)  θs1s2 şi θ o congruenţǎ oarecare; atunci θ =  {θ s’s”/ (s’, s”)  θ}.
Demonstraţie Dacǎ (s’, s”)  θ rezultǎ θ s’s”  θ şi  {θ s’s”/ (s’, s”)  θ}  θ.

14
Dacǎ (sα, sβ)   {θ s’s”/ (s’, s”)  θ}, (sα, s1)  θ s’1s”1, (s1, s2)  θ s’2s”2,... (sn, sβ) 
θ s’βs” β şi (s’1, s”1)  θ,... (s’ β , s” β)  θ.
Pentru cǎ θ s’ks”k  θ k  {1,..., n}, β, (sα, s1)  θ, (s1, s2)  θ,... (sn, sβ)  θ de
unde (sα, sβ)  θ adicǎ θ   {θ s’s”/ (s’, s”)  θ}.
Gǎsirea congruenţelor θ pe automatul A revine la determinarea congruenţelor θ s’s”
pentru toate perechile (s’, s”)  S  S.
Procedeu de gǎsire a congruenţelor θ s’s”:
Fie I = {i1, i2, ...im}. Se considerǎ blocul Bo = {s’, s”} şi Sijo1 = f(Bo, ij), j  {1, 2,... ,
m}. Se reunesc într-un singur bloc toate perechile de mulţ imi oarecare Sij’o1, Sij”o1
nedisjuncte şi se obţin blocurile B11, B21,... Bk11. Se considerǎ mulţ imile Sijh2 = f(Bh1, ij)
h  {1, 2,... k1}, j  {1, 2,... m} care se reunesc în blocurile B12, B22,... Bk22 în cazul în
care sunt nedisjuncte.
Procedeul se continuǎ atâta timp cât în fiecare pas se obţine cel puţin un bloc nou,
procedeul e finit pentru cǎ S < ∞.

Fie blocurile B1, ..., Bα obţ inute prin aplicarea algoritmului descris anterior şi fie

Bα+1 = S\ Bj
j 1
. Dacǎ Bj1  Bj2  Φ se reunesc blocurile Bj1, Bj2. Blocurile B11, B12,...

B1 β obţinute din blocurile B1, ..., Bα, Bα+1 prin eventuale reuniuni constituie mulţimea
S/ θ s’s” pentru cǎ douǎ stǎri s1 şi s2 care aparţ in unui bloc B’j sunt congruente dupǎ orice
congruenţǎ pe S care identificǎ stǎrile s’, s”.
Exemplu Fie automatul A=[{i1, i2}, {s1, s2, s3, s4, s5, s6}, {0, 1}, f, g] unde f şi g
sunt date de:

f s1 s2 s3 s4 s5 s6 g s1 s2 s3 s4 s5 s6

i1 s4 s6 s5 s2 s1 s3 i1 0 0 0 1 0 0
i2 s3 s3 s2 s5 s4 s4 i2 0 0 0 1 0 0

15
s4
(i1, 0)
(i2,1)
(i2,0)
(is21,1)
(i1,0) s5 (i2,0) s2

s1
(i1, 0) (i2,0) (i1,0)
(i2,0)
(i2,0)
s3 s6
(i1,0)

Se calculeazǎ θ s1s2 : Bo = {s1, s2 } Si1o1 = {s4, s6} Si2o1 = {s3 } deci B11 = {s4, s6}
B21 ={s3}
Si112 = {s2, s3} Si212 = {s5, s4 } Si122 = {s5} Si222 = {s2}
B12 = Si112  Si222 = {s2, s3} B22 = Si212  Si122 = {s4 , s5}

Si113 = {s6, s5} Si213 = {s3, s2 } Si123 = {s2, s1} Si223 = {s5, s4}
B13 = Si213  Si123 = {s1, s2, s3} B2 3 = Si113  Si223 = {s4, s5, s6}

Si114 = {s4, s5, s6 } Si214 = {s2, s3} Si124 = {s1, s2, s3} Si224 = {s4, s5}
B14 = Si114  Si224 = {s4, s5, s6} B24 = Si214  Si124 = {s1, s2, s3}

Blocurile gǎsite la acest pas coincid cu cele obţinute anterior; algoritmul s-a încheiat.
Blocurile obţinute sunt:
{s1, s2 }, {s3}, {s2, s3}, {s4, s5 }, {s4, s6}, {s1, s2, s3}, {s4, s5, s6 }
S/ θ s1s2 = {{s1, s2, s3}, {s4, s5, s6}}
Se calculeazǎ θ s3s4 : Bo = {s3, s4} Si1o1 = {s5, s2 } Si2o1 = {s2, s5} deci B11 = {s5 ,
s2} B21 ={s2, s5}
Si112 = {s1, s6 } Si212 = {s4, s3} Si122 = {s6, s1 } Si222 = {s3, s4 }
B12 = Si112  Si122 = {s1, s6} B22 = Si212  Si222 = {s3, s4}

Si113 = {s4, s3} Si213 = {s3, s4 } Si123 = {s2, s5} Si223 = {s2, s5 }
B13 = Si113  Si213 = {s3, s4} B23 = Si123  Si223 = {s2 , s5}

Algoritmul se opreşte pentru cǎ blocurile obţinute la acest pas nu diferǎ de cele


obţinute anterior; acestea sunt date mai jos:
{s3, s4 }, {s2, s5 }, {s1, s6}
S/ θ s3s4 = {{s3, s4}, {s2, s5 }, {s1, s6}}. [2]

16
II PROBLEME SPECIALE DE TEORIA
AUTOMATELOR

1. DESCOMPUNEREA ÎN SERIE ŞI ÎN PARALEL ÎN SENS


HARTMANIS STEARNS A AUTOMATELOR

Se analizeazǎ condiţiile în care automatele finite pot fi suprasimulate de automate


obţinute prin legarea în serie sau în paralel în sens Hartmanis Stearns a unor automate mai
simple.
Definiţia 1.1 Fie Aj = [Ij, Sj, Oj, fj, gj] j =1, 2 douǎ automate. Tripletul Φ = (t, z, y)
unde t: I1  I2, z: S1  S2, y: O2  O1 este o suprasimulare a automatului A1 de cǎtre
automatul A2 dacǎ urmǎtoarele diagrame sunt comutative:
S1 f1i S1

z f2t(i) z
S2 S2
I*1 g1i O1

t g2z(s) y
I*2 O2
Dacǎ exista o suprasimulare de la A1 la A2 se noteazǎ acest lucru cu A1  A2.
Definiţia 1.2 Suprasimularea Φ = (t, z, y) este injectivǎ dacǎ şi numai dacǎ aplicaţia z
este injectivǎ.
Definiţia 1.3 Perechea Φ = (t, z) unde t: I1  I2, z: S1  S2 este o semisimulare a
automatului A1 de cǎtre automatul A2 dacǎ diagrama urmǎtoare e comutativǎ:
S1 f1i S1

z f2t(i) z
S2 S2

17
Definiţia 1.4 Tripletul Ψ = (t, u, y) unde t: I1  I2, u: S1  S2, y: O2  O1 este o
simulare a automatului A1, de cǎtre automatul A2 dacǎ diagrama de mai jos este
comutativǎ:
I*1 g1s1 P*(O1)

t g2u(s1) y
I*2 P*(O2)
Daca automatul A2 simuleaza automatul A1 aceasta se noteazǎ A1/ A2 şi se citeşte
„A1 divide pe A2”.
Dacǎ A1/ A2 şi A2/ A1 atunci automatele A1 şi A2 sunt automate asociate.
Noţiunea de simulare poate fi interpretatǎ astfel: automatul A2 prevǎzut cu
dispozitivul de codificare (dispozitivele de codificare sau de decodificare – dupǎ sensul
fluxului informaţional – sunt cutii negre care realizeazǎ o corespondenţǎ între simboluri
aparţinând la douǎ alfabete) descris de funcţia t: I1  I2 şi cu dispozitivul de decodificare
descris de funcţia y: O2  O1 realizeazǎ aceeaşi activitate de prelucrare a informaţiei ca şi
automatul A1.

S1
I1 O1
u

S2
t y
I1 I2 O2 O1

Orice suprasimulare este o simulare şi o semisimulare.


Definiţia 1.5 Fie I0  Φ, Aj = [Ij, Sj, Oj, fj, gj] j =1, 2 douǎ automate deterministe şi
aplicaţiile ξ: I0xO1  I2 şi η : I0  I1. Cascada automatelor A1 şi A2 prin aplicaţiile ξ şi η
este automatul: A2  (ξ, η) A1 = [I0, S2  S1, O2  O1, f(ξ, η), g(ξ, η)] unde
f(ξ, η)((s2, s1), i0) = (f2(s2, ξ (i0, g1(s1, η(i0)))), f1(s1, η(i0)))
g(ξ, η)((s2, s1), i0) = (g2(s2, ξ (i0, g1(s1, η (i0)))), g1(s1, η(i0)))
Construcţia automatului A2  (ξ, η) A1 este prezentatǎ în figura urmǎtoare.

18
O2

O1

Operaţia binarǎ de grupare în cascadǎ depinde esenţial de aplicaţiile ξ şi η şi ea poate


fi extinsǎ la orice numǎr finit de automate.
În cazul în care aplicaţia ξ nu depinde de prima variabilǎ se obţine gruparea în serie a
automatelor A1 şi A2 iar când ξ nu depinde de a doua variabilǎ se obţine gruparea în
paralel a automatelor.
Pentru η =1Io (I0 = I1) şi ξ(i0,o1) = o1 (O1 = I2) se obţine gruparea în serie în sens

Hartmanis Stearns notatǎ A1  A2 = [I1, S2  S1, O2, f , g ] unde: f ((s2, s1), i1) = (f2(s2,

g1(s1, i1)), f1(s1, i1)) g ((s2, s1), i1) = f2(s2, g1(s1, i1)).
Dacǎ pr1 ξ = 1Io (I0 = I2) şi η = 1Io (I0 = I1) se obţine gruparea în paralel în sens

Hartmanis Stearns notatǎ A1║A2 = [I1, S2  S1, O2  O1, f , g ] unde: f ((s2, s1), i0) =

(f2(s2, i0), f1(s1, i0)) g ((s2, s1), i0) = (g2(s2, i0), g1(s1, i0)).
Teorema 1.1 Automatul A = [I, S, O, f, g] poate fi suprasimulat injectiv de automatul
A1  A2 unde Aj = [Ij, Sj, Oj, fj, gj] Sj < S j =1, 2 dacǎ şi numai dacǎ existǎ o

congruenţǎ nebanalǎ σ (cu proprietatea σ{  s,  s}) pe automatul A.

Demonstraţie Se presupune A  ( A1  A2) = [I1, S2  S1, O2  O1, f , g ] şi fie Φ = (t,


z, y) suprasimularea injectivǎ corespunzǎtoare. Aplicaţia injectivǎ z: S  S2  S1 genereazǎ
o congruenţǎ σ pe automatul A unde σ = ker pr2 z, pr2 z: S2  S1  S1. Se aratǎ cǎ σ este o

congruenţǎ: fie (s’, s”)  σ adicǎ pr2 z(s’) = pr2 z(s”) pentru cǎ f ((s1, s2), i) = (f2(s2, g1(s1,
i), f1(s1, i)) şi A  ( A1  A2)

pr2 (fi(s’)) = pr2 f t(i)(z(s’)) = f1(pr2 z(s’), t(i)) = f1(pr2 z(s”), t(i)) = pr2 f t(i)(z(s”))

= pr2 z(fi(s”)) = pr2 (fi(s”)) deci (fi(s’), fi(s”))  σ.

19
Congruenţa σ e nebanalǎ pentru cǎ în caz contrar dacǎ σ =  s aplicaţia pr2 z: S  S1 e

injectivǎ şi S  S1 contrar ipotezei. Dacǎ σ =  s atunci pentru cǎ pr z ( s ) =1,


2

aplicaţia pr1 z: S  S2 este injectivǎ şi deci S  S 2 contrar ipotezei.

Se presupune cǎ σ este o congruenţǎ nebanalǎ pe A şi se aratǎ cǎ existǎ o


suprasimulare injectivǎ a lui A prin gruparea în serie a douǎ automate A1 şi A2, A1  A2.
Se construiesc cele douǎ automate; se considerǎ o echivalenţǎ nebanalǎ  pe S cu
proprietatea   =  s. Un mod de a obţine o astfel de echivalenţǎ este urmǎtorul:

fie S/  = {Bj/ j J} şi k = max B j .


jJ

Pentru cǎ σ este o congruenţǎ nebanalǎ, k < S şi S /  < S . Se numeroteazǎ stǎrile

din fiecare bloc Bj prin 1, 2, 3,...nj nj  k.


Stǎrile numerotate identic din fiecare din blocurile Bj se considerǎ în relaţia  .

Fie S/  = {Hl / l  {1,2,...k}} , B j  H l =1 oricare ar fi j  J, l  {1, 2, ..., k}

max H l = S/σ şi S /  < S .


l{1, 2,.. k }

Se considerǎ automatele: A1 = [I, S/σ, S/σ  I, f1, g1] şi A2 = [S/σ  I, S/ , O, f2, g2]
unde: f1([s]σ, i) = [f(s, i)]σ
g1([s]σ, i) = ([s]σ, i)
f2([s1]  , ([s]σ, i)) = [s2] cu:
s2 = f([s1]   [s]σ, i)

g2([s1] , ([s]σ, i)) = g([s1]  [s] σ, i)

dacǎ [s1]  [s]σ  Φ şi arbitrar în caz contrar.

Tripletul Φ = (t, z, y) unde aplicaţiile t: I*  I*, z: S  S/   S/σ şi y = O  S/σ


 I  O sunt date de: t = 1I, z(s) = ([s]  , [s] σ) şi y = pr1 este o suprasimulare injectivǎ
deoarece aplicaţia z este o injecţie şi urmǎtoarele diagrame sunt comutative:

S fi S
z z

S/  S/σ f i S/   S/σ

20
I* gs O

1I g z(s) pr1
I* O  S/σ  I
Pentru prima diagramǎ:
z(fi(s)) = z(f(s, i)) = ([ f(s, i)]  , [ f(s, i)]σ)

f i (z(s)) = f (([s] , [s]σ, i) = (f2([s]  , g1([s]σ, i)), f1(([s]σ, i)) = (f2([s]  , ([s]σ, i)), [f(s,
i)]σ) = ([f(s, i)]  , [f(s, i)]σ)
Pentru a doua diagramǎ:

pr1 g z(s)(i) = pr1 g (([s] , [s]σ, i) = pr1(g2([s]  , g1([s]σ, i)), g1([s]σ, i)) = pr1(g2([s]  , ([s]σ,

i)), ([s]σ, i)) = g([s]   [s]σ, i) = g(s, i) = gs(i).

Rolul automatelor A1 şi A2 în automatul A1  A2 este: automatul A1 „calculeazǎ”


clasa din S/σ care conţine starea în care va trece automatul A şi anume [f(s, i)]σ şi dǎ
informaţia automatului A2 ; acesta „alege” din stǎrile clasei [f(s, i)]σ chiar clasa f(s, i).
„Calculul” stǎrii urmǎtoare f(s, i) se împarte între cele douǎ automate.
Teorema 1.2 Automatul A = [I, S, O, f, g] poate fi suprasimulat injectiv de automatul

A1║A2 unde Aj = [Ij, Sj, Oj, fj, gj] S j < S , j =1, 2 dacǎ şi numai dacǎ existǎ douǎ

congruenţe nebanale σ1, σ2 pe A astfel ca σ1  σ2 =  s.

Demonstraţie Se presupune cǎ A  (A1 ║A2) = [I2  I1, S2  S1, O2  O1, f , g ] şi fie


Φ = (t, z, y) suprasimularea injectivǎ corespunzǎtoare.
Aplicaţia injectivǎ z: S  S2  S1 genereazǎ douǎ relaţ ii de echivalenţǎ σj = prj’ z, j,
j’= 1,2, j  j’, z este injectivǎ şi deci σ1  σ2 =  s. σ1 şi σ2 sunt congruenţe nebanale pe S:
fie (s’, s”)  σ1 adicǎ pr2 z(s’) = pr2 z(s”); se obţine

z(f(s, i)) = f (z(s), t(i)) = (f2(pr1 (z(s)), i2), f1(pr2 (z(s)), i1)) unde t(i) = (i1, i2).
De aici, pr2 z(fi(s)) = f1(pr2 z(s)), i1) de unde pr2 z(fi(s’)) = pr2 z(fi(s”)) adicǎ:
(fi(s’), fi(s”))  σ1. Deci σ1 este o congruenţǎ.
În mod analog se aratǎ cǎ σ2 este o congruenţǎ.
S1 < S , S 2 < S şi S  S1 S 2 (pentru ca z este o aplicaţie injectivǎ). Se obţine

faptul cǎ σ1 şi σ2 sunt congruenţe nebanale pe A şi σ1  σ2 =  s.

21
Se aratǎ cǎ A  (A1 ║A2) prin construirea efectivǎ a automatelor A1 şi A2, se
definesc A1 = [I, S/σ1, S/σ1  I, f1, g1] şi A2 = [I, S/σ2 , S/σ2  I, f2, g2] unde fj([s]σj, i) = [f(s,
i)]σj gj([s]σj, i) = ([s]σj, i), j =1, 2.
Tripletul Φ = (t, z, y) unde aplicaţiile t: I  I  I, z: S  S/σ2  S/σ1, y: ((S/σ2)  I)
 ((S/σ2)  I)  O sunt date prin:
t(i) = (i, i)
z(s) = ([s]σ2, [s]σ1)
g([s2]σ2  [s1]σ1, i) dacǎ i1 = i2 = i

y(([s2]σ2, i2), ([s1]σ1, i1)) =


arbitrar în caz contrar,

face urmǎtoarele diagrame comutative:


S fi S
z z

S/σ2  S/σ1 f (i, i) S/σ2  S/σ1


I* gs O

t g z(s) y
I*  I* ((S/σ2)  I)  ((S/σ1)  I)
Pentru prima diagramǎ:

f (i, i)(z[s]) = f (i, i)([s2]σ2, [s1]σ1) = ([f(s, i)] σ2, [f(s, i)] σ1) = z(fi(s)).
Pentru a doua diagramǎ:

y( g z(s)(t(i))) = y( g (([s]σ2, [s]σ1), (i, i))) = y(([s]σ2, i), ([s]σ1, i)) = g(s, i) = gs(i).

Pentru cǎ σ1 şi σ2 sunt congruenţe nebanale, 1 < S / j < S j =1, 2.

Dacǎ automatul A este suprasimulabil injectiv prin legarea în paralel a douǎ automate,
el este simulabil injectiv şi prin legarea în serie a douǎ automate.
Exemplu Pentru automatul din exemplul anterior  s1s 2   s 3s 4 =  s deci A este

suprasimulabil injectiv şi prin legarea în serie a douǎ automate.


A  (A1  A2) unde: A1 = [{i1, i2}, {S1, S2}, {S1, S2}  {i1, i2 }, f1, g1]
A2 = [{i1, i2}, {S3, S4, S5 }, {S3, S4, S5 }  {i1, i2}, f2, g2] cu S1 = {s1, s2, s3}, S2 = {s4, s5, s6},
S3 = {s3, s4}, S4 = {s2, s5}, S5 = {s1, s6}.

22
f1 S1 S2 g1 S1 S2
i1 s2 s1 i1 (S1, i1) (S2, i1)
i2 s1 s2 i2 (S1, i2) (S2, i2)

f2 S3 S4 S5 g2 S3 S4 S5
i1 S4 S5 S3 i1 (S3, i1) (S4, i1) (S5, i1)
i2 S4 S3 S3 i2 (S1, i2) (S1, i2) (S1, i2)

Pe de altǎ parte considerând  =  s 3s 4 se obţine: A  (A1  A3) unde

A3 = [{S1, S2 }  {i1, i2}, {S3, S4, S5}, {0, 1}, f3, g3] unde f3 şi g3 sunt date prin:

f3 S3 S4 S5 g3 S3 S4 S5

(S1, i1) S4 S5 S3 (S1, i1) 0 0 0


(S1, i2) S4 S3 S3 (S1, i2) 0 0 0
(S2, i1) S4 S5 S3 (S2, i1) 1 0 0
(S2, i2) S4 S3 S3 (S2, i2) 1 0 0

Definiţia 1.6 Daca σ1, σ2 sunt douǎ congruenţe pe automatul A cu proprietǎţ ile σ1 
σ2 =  s, σ1  σ2 =  s, automatul A1║A2 suprasimuleazǎ complet automatul A unde Aj =

[Ij, Sj, Oj, fj, gj], j =1, 2, Sj < S .

Teorema 1.3 Dacǎ laticea congruenţelor automatului A este distributivǎ şi σ1 este o


congruenţǎ pe A, atunci existǎ cel mult o congruenţǎ σ2 pe A astfel încât perechea σ1, σ2
sǎ genereze o suprasimulare completǎ.
Demonstraţie Se face pe baza teoremei:
Într-o latice distributivǎ mǎrginitǎ, complementul unui element, dacǎ existǎ, este
unic.
Se presupune prin reducere la absurd cǎ ar exista douǎ complemente ale unui
element m, anume m’ şi m”.
m  m’ = m  m” = 0, m  m’ = m  m” = 1
m’ = m’  1 = m’  (m  m”) = (m’  m)  (m’  m”) = m’  m” de unde rezultǎ m’  m”.
m’ = m’  0 = m’  ( m  m”) = (m’  m)  (m’  m”) = m’  m” de unde rezultǎ m’ ≥ m”.
Din cele douǎ inegalitǎţi se obţine m’ = m” deci unicitatea complementului. [1]

23
2. ECHIVALENŢE ASOCIATE PE UN AUTOMAT DETERMINIST
ŞI ALGEBRE DE ASOCIERE

Fie A = [I, S, O, f, g] un automat determinist finit.


Definiţia 2.1 Echivalenţele σ1, σ2  Eq(S) sunt echivalenţe asociate (σ1, σ2)   dacǎ
din (s’, s”)  σ1 rezultǎ (fi(s’), fi(s”))  σ2 oricare ar fi i I
  Eq(S)  Eq(S) este relaţia de asociere a echivalenţelor.
Dacǎ (σ1, σ2)   aceasta înseamnǎ cǎ dacǎ la momentul t se cunoaşte starea
automatului pânǎ la o echivalenţǎ σ1, în momentul t+1 se cunoaşte starea în care trece
automatul pânǎ la o echivalenţǎ σ2.
O echivalenţǎ este o congruenţǎ daca şi numai dacǎ (σ, σ)   .
Oricare ar fi echivalenţa σ, (  s, σ)   şi (σ,  s)   .
Teorema 2.1 Dacǎ (σ1, σ2)   şi (σ’1, σ’2)   atunci (σ1  σ’1, σ2  σ’2)   ,
(σ1  σ’1, σ2  σ’2)   adicǎ relaţia de asociere  este o congruenţǎ pe laticea
echivalenţelor automatului.
Demonstraţie Fie (s1, s2)  σ1  σ’1 rezultǎ (s1, s2)  σ1 şi (s1, s2)  σ’1 rezultǎ
(fi(s1), fi(s2))  σ2 şi (fi(s1), fi(s2))  σ’2 rezultǎ (fi(s1 ), fi(s2))  σ2  σ’2 oricare ar fi i  I
ceea ce aratǎ cǎ (σ1  σ’1, σ2  σ’2 )   .
Dacǎ (s1, s2)  σ1  σ’1 ; (s1, s1)  σ1, (s1, s2)  σ’1, (s2, s3)  σ1, ... (s m-1, sm)  σ1
(sm, s2)  σ’1 rezultǎ (fi(s1), fi(s1))  σ2, (fi(s1), fi(s2))  σ’2, (fi(s2), fi(s3))  σ2, ..., (fi(s m-1),
fi(sm))  σ2, (fi(sm), fi(s2))  σ’2 rezultǎ (fi(s1), fi(s2))  σ2  σ’2 ceea ce conduce la relaţia
(σ1  σ’1, σ2  σ’2)   .
Definiţia 2.2 Operatorii lui Hartmanis şi Stearns M: Eq(S)  Eq(S) şi m: Eq(S) 
Eq(S) sunt daţi de:
M(σ) =  {σ1/ (σ1, σ)   }
m(σ) =  {σ1/ (σ, σ1)   }
Operatorul M(σ) dǎ cea mai mare echivalenţǎ cu proprietatea (M(σ), σ)   iar
operatorul m(σ) dǎ cea mai micǎ echivalenţǎ cu proprietatea (σ, m(σ))   .

24
Se presupune cǎ starea unui automat la momentul t este cunoscutǎ pânǎ la o
echivalenţǎ σ. Atunci m(σ) este cea mai finǎ echivalenţǎ pânǎ la care se cunoaşte starea
în care trece automatul în momentul t+1 iar M(σ) este cea mai puţin finǎ echivalenţǎ pe S
pânǎ la care trebuie cunoscutǎ starea la momentul t-1 pentru a cunoaşte starea
automatului la momentul t pânǎ la echivalenţa σ.
În continuare se calculeazǎ efectiv M(σ) şi m(σ) pentru o echivalenţǎ σ pe mulţ imea
stǎrilor unui automat.
Exemplu Fie automatul Moore cu întârziere, A = [{i1, i2}, {s1, s2, s3, s4, s5 }, {0, 1},
f, g] unde f şi g sunt date mai jos:

f s1 s2 s3 s4 s5 g s1 s2 s3 s4 s5
i1 s5 s4 s4 s1 s2 i1 0 0 1 1 0
i2 s3 s2 s1 s4 s5 i2 0 0 1 1 0

s1 (i2,1) s3

(i1,0) (i1,1)
(i2, 0)
s5
(i1,1)
(i2,1)

(i2, 0) (i1, 0) s4
s2
(i1,0)

(i2, 0)

Fie echivalenţa σ unde S/σ = {{s1, s2}, {s3, s4 }, {s5}}.


f({s1, s2}, i1) = {s4, s5 } f({s1, s2}, i2) = {s2, s3}
f({s3, s4}, i1) = {s1, s4 } f({s3, s4}, i2) = {s1, s4}
f({s5 }, i1) = {s2}  {s2, s3 } f({s5}, i2) = {s5 }  {s4, s5}
Blocurile din S/σ sunt duse prin f în blocurile {s4, s5}, {s2, s3}, {s1, s4}. Pentru cea
mai finǎ echivalenţǎ σ1 = m(σ) generatǎ de mulţimile {s4, s5 }, {s2, s3}, {s1, s4}, S/σ1 =
{{s1, s4, s5 }, {s2, s3}}.
Pentru a determina echivalenţa M(σ) se noteazǎ cu S1, S2, S3 urmǎtoarele mulţ imi:

25
S1 = {s1, s2 }, S2 = {s3, s4 }, S3 = {s5} şi se înlocuiesc în tabelul care-l dǎ pe f stǎrile cu
simbolurile blocurilor corespunzǎtoare. Se obţ ine tabelul:

s1 s2 s3 s4 s5
i1 S3 S2 S2 S1 S1
i2 S2 S1 S1 S2 S3

(sj1, sj2)  M(σ) când coloanele J1, J2 din tabel sunt identice. Astfel S/ M(σ) = {{s1 }, {s2,
s3}, {s4}, {s5 }}.
Definiţia 2.3 Fie L1, L2 douǎ latice finite. O sublatice L  L1  L2 este o algebrǎ de
asociere dacǎ:
 x  L1,  y L2 (x, 12)  L şi (01, y)  L unde 12 este ultimul element din L2 iar
01 este primul element din L1. (11, 12)  L şi (01, 02)  L.
Ţinând seama de teorema 2.1:
Dacǎ (σ1, σ2)   şi (σ’1, σ’2)   atunci (σ1  σ’1, σ2  σ’2 )   ,
(σ1  σ’1, σ2  σ’2 )   ;  este o congruenţǎ pe laticea echivalenţelor automatului  
Eq(S)  Eq(S) este o algebrǎ de asociere.
Fie L  L1  L2 o algebrǎ de asociere
Teorema 2.2 Dacǎ (x, y)  L şi x1  x, y  y1 atunci (x1, y), (x, y1) şi (x1, y1)  L.
Demonstraţie Dacǎ (x, y)  L, (x1, 12)  L deci (x  x1, y  12) = (x1, y)  L
(01, y1)  L deci (01  x, y  y1) = (x, y1)  L şi (x1, y1)  L.
Se pot generaliza în aceste condiţii operatorii lui Hartmanis şi Stearns.
Definiţia 2.4 Fie L  L1  L2 o algebrǎ de asociere. Operatorii lui Hartmanis şi
Stearns M: L2  L1, m: L1  L2 sunt daţi prin: M(y) =  {xj/ (xj, y)  L}, m(x) =  {yj/
(x, yj)  L}.
Pe produsul cartezian L1  L2 se introduce relaţia de ordine „  ” definitǎ prin:
(x, y)  (x’, y’) dacǎ şi numai dacǎ x  x’, y  y’.
Definiţia 2.5 Mulţimea perechilor extremale ale algebrei de asociere L este o
mulţime X(L) = {(x, y)/ (x, y)  L, x = M(y), y = m(x)}.
Teorema 2.3 Oricare ar fi x  L1, y  L2, (M(y), y)  L, (x, m(x))  L.
Demonstraţie Pentru cǎ L este o sublatice L  L1  L2 se poate scrie (M(y), y) =
(  {xj/ (xj, y)  L}, y) = (  {xj/ (xj, y)  L},  {y/ (xj, y)  L}) =  {(xj, y)/ (xj, y)  L}  L.

26
(x, m(x)) = (x,  {yj/ (x, yj)  L}) = (  {x/ (x, yj)  L},  {yj/ (x, yj)  L}) =  {(x, yj)/
(x, yj)  L}.
Proprietǎţile operatorilor M şi m
Teorema 2.4 Fie y1, y2  L2 ; atunci au loc proprietǎţile:
a) M este izotonǎ adicǎ y1  y2 rezultǎ M(y1)  M(y2);
b) M(y1  y2 )  M(y1)  M(y2 );
c) M(y1  y2 ) = M(y1)  M(y2);
d) (x, y)  L dacǎ şi numai dacǎ x  M(y).
Demonstraţie a) Folosind teorema 2.3:
Oricare ar fi x  L1, y  L2, (M(y), y)  L, (x, m(x))  L, se obţine (M(y2 ), y2)  L
şi pentru cǎ y1  y2, (M(y2), y1)  L. Apelând la definiţia lui M(y) rezultǎ M(y1) 
M(y2).
b) y1  y2  y1, y2, M(y1  y2)  M(y1 ), M(y2) rezultǎ: M(y1  y2 )  M(y1)  M(y2 )
c) y1  y2  y1, y2, M(y1  y2)  M(y1), M(y2) rezultǎ: M(y1  y2)  M(y1)  M(y2)
Din teorema 2.3 (M(y1 ), y1 )  L, (M(y2), y2)  L rezultǎ cǎ: (M(y1)  M(y2), y1 
y2 )  L pentru ca L este o sublatice.
Din definiţia lui M(y) rezultǎ M(y1)  M(y2)  M(y1  y2 ) de unde M(y1  y2 ) =
M(y1)  M(y2)
d) (x, y)  L rezultǎ x  M(y):
fie (x, y)  L, din definiţ ia lui M(y) se obţine x  M(y)
x  M(y) rezultǎ (x, y)  L:
x  M(y); din (M(y), y)  L şi teorema 2.2:
Dacǎ (x, y)  L şi x1  x, y  y1 atunci (x1, y), (x, y1 ), (x1, y1)  L rezultǎ (x, y)  L.
Teorema 2.5 Fie x1, x2  L1 ; atunci au loc proprietǎţile:
a) m este izotonǎ adicǎ x1  x2 rezultǎ m(x1)  m(x2)
b) m(x1  x2) = m(x1)  m(x2)
c) m(x1  x2)  m(x1)  m(x2)
d) (x, y)  L dacǎ şi numai dacǎ y  m(x).
Demonstraţie a) Folosind teorema 2.3:
Oricare ar fi x  L1, y  L2, (M(y), y)  L, (x, m(x))  L, se obţine (x1, m(x1))  L şi
pentru cǎ x1  x2, (x2, m(x1))  L. Apelând la definiţia lui m(x) rezultǎ m(x1)  m(x2).
b) x1  x2  x1, x2, m(x1  x2)  m(x1), m(x2) rezultǎ m(x1)  m(x2)  m(x1  x2)
Din teorema 2.3 (x1, m(x1)), (x2, m(x2))  L şi L este sublatice, se obţine:
(x1  x2, m(x1)  m(x2))  L.

27
Din definiţia lui m(x) rezultǎ m(x1  x2)  m(x1)  m(x2) de unde m(x1  x2) =
m(x1)  m(x2)
c) x1  x2  x1, x2, m(x1  x2)  m(x1), m(x2) rezultǎ: m(x1  x2 )  m(x1)  m(x2)
d) (x, y)  L rezultǎ y  m(x):
fie (x, y)  L; din definiţ ia lui m(x) se obţine y  m(x)
y  m(x) rezultǎ (x, y)  L:
y  m(x); din (x, m(x))  L şi teorema 2.2:
Dacǎ (x, y)  L şi x1  x, y  y1 atunci (x1, y), (x, y1 ), (x1, y1)  L rezultǎ (x, y)  L.
Consecinţa Sunt echivalente condiţ iile:
a) (x, y)  L;
b) y  m(x);
c) x  M(y).
Demonstraţie (x, y)  L dacǎ şi numai dacǎ y  m(x) rezultǎ a)  b).
(x, y)  L dacǎ şi numai dacǎ x  M(y) rezultǎ a)  b)  c).
Teorema 2.6 Au loc relaţiile:
a) M(m(x))  x;
b) m(M(y))  y;
c) M(m(M(y))) = M(y);
d) m(M(m(x))) = m(x).
Demonstraţie a) (x, m(x))  L rezultǎ M(m(x))  x.
b) (M(y), y)  L rezultǎ m(M(y))  y.
c) m(M(y))  y rezultǎ M(m(M(y)))  M(y) pentru cǎ M este izotonǎ.
(M(y), m(M(y)))  L rezultǎ M(y)  M(m(M(y))) de unde se obţine M(m(M(y))) =
M(y).
d) M(m(x))  x rezultǎ m(M(m(x)))  m(x) pentru cǎ m este izotonǎ.
(M(m(x)), m(x))  L rezultǎ m(x)  m(M(m(x))) de unde se obţine m(M(m(x))) =
m(x).
Teorema 2.7 Mulţimea elementelor extremale ale algebrei de asociere L are
proprietǎţile:
a) (M(y), m(M(y))), (M(m(x)), m(x))  X(L);
b) (x1, y1), (x2, y2)  X(L) x1  x2 dacǎ şi numai dacǎ y1  y2 ;
c) Mulţ imea parţial ordonatǎ (X(L),  ) este o latice (X(L),  ,  ) unde
(x1, y1)  (x2, y2) = (M(y1  y2), y1  y2)
(x1, y1)  (x2, y2) = (x1  x2, m(x1  x2)).

28
Demonstraţie a) Folosind teorema 2.6:
Au loc relaţiile: a) M(m(x))  x;
b) m(M(y))  y;
c) M(m(M(y))) = M(y);
d) m(M(m(x))) = m(x),
se obţine (M(y), m(M(y))) şi (M(m(x)), m(x))  X(L).
b) (x1, y1), (x2, y2)  X(L). Se aratǎ cǎ sup{(x1, y1 ), (x2, y2)} = (M(y1  y2 ), y1  y2): y1,
y2  y1  y2 x1 = M(y1)  M(y1  y2 ), x2 = M(y2 )  M(y1  y2 ) rezultǎ x1  x2 
M(y1  y2) deci (xj, yj)  (M(y1  y2), y1  y2) j =1, 2.
Dacǎ (xj, yj)  (x, y) j =1, 2 rezultǎ yj  y j =1, 2 rezultǎ y1  y2  y
M(y1  y2)  M(y) = x deci (M(y1  y2), y1  y2)  (x, y).
Deci (M(y1  y2), y1  y2) = sup{(x1, y1 ), (x2, y2)} în laticea (X(L),  ,  ).
Se aratǎ cǎ inf{(x1, y1 ), (x2, y2)} = (x1  x2, m(x1  x2)):
x1  x2  x1, x2 m(x1  x2)  m(x1) = y1, m(x1  x2)  m(x2 ) = y2 de unde m(x1 
x2 )  y1  y2 deci (x1  x2, m(x1  x2))  (xj, yj) j=1, 2.
Dacǎ (x, y)  (xj, yj) j =1, 2 x  xj de unde x  x1  x2, y = m(x)  m(x1  x2 )
deci (x, y)  (x1  x2, m(x1  x2)).
Deci (x1  x2, m(x1  x2)) = inf{(x1, y1), (x2, y2)} în laticea (X(L),  ,  ).
Laticea (X(L),  ,  ) nu este o sublatice a laticii (L,  ,  ).
Mulţimea perechilor extremale X(L) ale algebrei de asociere L caracterizeazǎ
algebra L.
Teorema 2.8 Fie (x, y)  L1  L2, L  L1  L2 o algebrǎ de asociere. Condiţia necesarǎ
şi suficientǎ ca (x, y)  L este existenţa perechii (x’, y’)  X(L) astfel cǎ x’  x, y’  y.
Demonstraţie
Necesitate: fie (x, y)  L, x’ = M(y), y’ = m(M(y)). Perechea (x’, y’)  X(L) pentru cǎ
m(x’) = m(M(y)) = y’
M(y’) = M(m(M(y))) = M(y) = x’ conform teoremei 2.6
Au loc relaţiile: a) M(m(x))  x;
b) m(M(y))  y;
c) M(m(M(y))) = M(y);
d) m(M(m(x))) = m(x).
Suficienţǎ: fie (x’, y’)  X(L) şi (x, y)  L1  L2 cu x’  x, y’  y. Pentru cǎ X(L)  L,
conform teoremei 2.2:
Dacǎ (x, y)  L şi x1  x, y  y1, atunci (x1, y), (x, y1), (x1, y1)  L rezultǎ (x, y)  L.

29
Consecinţǎ Dacǎ (x1, y1), (x2, y2)  X(L), afirmaţiile sunt echivalente:
a) (x1, y1)  (x2, y2);
b) x1  x2;
c) y1  y2.
Demonstraţie a) echivalent cu b), a) echivalent cu c):
(x1, y1)  (x2, y2) rezulta x1  x2, y1  y2.
b) echivalent cu c): x1  x2, y1  y2 din teorema 2.7:
Mulţimea elementelor extremale ale algebrei de asociere L are proprietǎţile:
a) (M(y), m(M(y))), (M(m(x)), m(x))  X(L);
b) (x1, y1), (x2, y2)  X(L), x1  x2 dacǎ şi numai dacǎ y1  y2 ;
c) Mulţimea parţial ordonatǎ (X(L),  ) este o latice (X(L),  ,  ) unde
(x1, y1)  (x2, y2) = (M(y1  y2), y1  y2)
(x1, y1)  (x2, y2) = (x1  x2, m(x1  x2)).
Se considerǎ L1 = L2. Fie L  L1  L2 o algebrǎ de asociere. Se poate formula în cadrul
teoriei laticelor proprietatea de congruenţǎ.
Definiţia 2.6 Elementul x  L1 are proprietatea de congruenţǎ relativ la algebra de
asociere L dacǎ şi numai dacǎ (x, x)  L.
Se noteazǎ cu CL mulţimea elementelor cu proprietatea de congruenţǎ din L.
CL = {x/ x  L1, (x, x)  L}.
Teorema 2.9 Mulţimea CL este o sublatice a laticii L1 cu 0, 1 L1 şi CL = {x / x  L
x  m(x)} = {x/ x  L x  M(x)}.
Demonstraţie CL e o sublatice cu 0, 1 CL; rezultǎ din proprietǎţile corespunzǎtoare
pentru L din definiţia 2.3:
Fie L1, L2 douǎ latice finite. O sublatice L  L1 xL2 este o algebrǎ de asociere dacǎ:
 x  L1,  y  L2 (x, 12)  L şi (01, y)  L.
Din teoremele 2.4 si 2.5:
Fie y1, y2  L2, atunci au loc proprietǎţile:
a) M este izotonǎ;
b) M(y1  y2 )  M(y1)  M(y2);
c) M(y1  y2 ) = M(y1)  M(y2);
d) (x, y)  L dacǎ şi numai dacǎ x  M(y).
Fie x1, x2  L1 ; atunci au loc proprietǎţ ile:
a) m este izotonǎ adica x1  x2 rezultǎ m(x1)  m(x2)
b) m(x1  x2) = m(x1)  m(x2)

30
c) m(x1  x2)  m(x1)  m(x2)
d) (x, y)  L dacǎ şi numai dacǎ y  m(x),
se obţine CL = {x/ x  L1, (x, x)  L} = {x/ x  L x  m(x)} = {x/ x  L x  M(x)}.
Teorema 2.10 CL = {x/ x  L1,  (y, z)  X(L) cu y  x  z}.
Demonstraţie Fie x  CL; se alege z = m(x) şi y = M(m(x)) şi se obţine M(m(x)) 
x  m(x) adicǎ y  x  z şi (y, z)  X(L) pentru cǎ m(y) = m(M(m(x))) = m(x) = z
M(z) = M(m(x)) = y
Dacǎ (y, z)  X(L) y  x  z rezultǎ M(y)  M(x)  M(z) = y  x rezultǎ M(x) 
x adicǎ x  CL din teorema 2.9:
Mulţimea CL este o sublatice a laticii L1 cu 0, 1 L1 şi CL = {x/ x  L x  m(x)} =
{x/ x  L x  M(x)}.
Definiţia 2.7 Echivalenţele σ1, σ2  Eq(S) sunt asociate (σ1, σ2)   dacǎ din (s’,
s”)  σ1 rezultǎ (fi(s’), fi(s”))  σ2 oricare ar fi i  I.
  Eq(S)  Eq(S) este relaţia de asociere a echivalenţelor şi se noteazǎ cu  SS.
Definiţia 2.8 Fie ξ  Eq(I) şi σ  Eq(S). Echivalenţele ξ şi σ sunt asociate I-S dacǎ din
(i1, i2)  ξ rezultǎ (f(s, i1), f(s, i2))  σ oricare ar fi s  S. Se noteazǎ relaţia de asociere I-S
cu  IS.
Definiţia 2.9 Fie σ  Eq(S) şi η  Eq(O). Echivalenţele σ şi η sunt asociate S-O dacǎ
din (s1, s2)  σ rezultǎ (g(s1, i), g(s2, i))  η oricare ar fi i  I. Se noteazǎ relaţia de asociere
S-O cu  SO.
Definiţia 2.10 Fie ξ  Eq(I) şi η  Eq(O). Echivalenţele ξ şi η sunt asociate I-O dacǎ
din (i1, i2)  ξ rezultǎ (g(s, i1), g(s, i2))  η oricare ar fi s  S. Se noteazǎ relaţia de asociere
I-O cu  IO.
Teorema 2.11  SS,  IS,  SO,  IO sunt algebre de asociere.
Demonstraţie  SS este algebrǎ de asociere: din faptul ca laticea (X(L),  ,  ) nu este
sublatice a laticii (L,  ,  ).
 IS este algebrǎ de asociere: fie (ξ1, σ1), (ξ2, σ2)  IS atunci (ξ1  ξ2, σ1  σ2), (ξ1  ξ2, σ1 
σ2)   IS. Dacǎ (i1, i2)  ξ1  ξ2 rezultǎ (f(s, i1), f(s, i2))  σ1  σ2 iar dacǎ (i1, i2)  ξ1  ξ2
existǎ un şir de elemente din I: i’1, i’2, i’3,..., i’n astfel cǎ (i1, i’1)  ξ1, (i’1, i’2)  ξ2, ...,(i’n-1,
i’n)  ξ1, (i’n, i2)  ξ2. Atunci (f(s, i1), f(s, i’1))  σ1, (f(s, i’1), f(s, i’2))  σ2,...
(f(s, i’n-1), f(s, i’n))  σ1, (f(s, i’n), f(s, i”2))  σ2 oricare ar fi s  S, (f(s, i1), f(s, i2))  σ1  σ2.
Deci  IS este o sublatice a laticii Eq(I)  Eq(S).
(ξ,  s)   IS, ( s, σ)   IS; deci  IS este o algebrǎ de asociere.

31
 SO este algebrǎ de asociere: fie (σ1, η1), (σ2, η2)   SO atunci (σ1  σ2, η1  η2), (σ1  σ2,
η1  η2)   SO.
Dacǎ (s1, s2) σ1  σ2 rezultǎ (g(s1, i), g(s2, i))  η1  η2 iar dacǎ (s1, s2)  σ1  σ2
existǎ un şir de elemente din S: s’1, s’2,..., s’n astfel cǎ (s1, s’1)  σ1, (s’1, s’2)  σ2, ..., (s’n-1,
s’n)  σ1, (s’n, s2)  σ2. Atunci (g(s1, i), g(s’1, i))  η1, (g(s’1, i), g(s’2, i))  η2, ... , (g(s’n-1, i),
g(s’n, i))  η1, (g(s’n, i), g(s2, i))  η2 oricare ar fi i  I, (g(s1, i), g(s2, i))  η1  η2.
Deci  SO este o sublatice a laticii Eq(S)  Eq(O).
(σ,  O)   SO, ( s, η)   SO; deci  SO este o algebrǎ de asociere.
 IO este algebrǎ de asociere: fie (ξ1, η1), (ξ2, η2)  IO atunci (ξ1  ξ2, η1  η2), (ξ1  ξ2,
η1  η2)   IO. Dacǎ (i1, i2)  ξ1  ξ2 rezultǎ (g(s, i1), g(s, i2))  η1  η2 iar dacǎ (i1, i2) 
ξ1  ξ2 existǎ un şir de elemente din I: i’1, i’2, i’3,..., i’n astfel cǎ (i1, i’1)  ξ1, (i’1, i’2) 
ξ2, ..., (i’n-1, i’n)  ξ1, (i’n, i2)  ξ2. Atunci (g(s, i1), g(s, i’1))  η1, (g(s, i’1), g(s, i’2)) 
η2, ... , (g(s, i’n-1), g(s, i’n))  η1, (g(s, i’n), g(s, i2))  η2 oricare ar fi s  S, (g(s, i1), g(s, i2))
 η1  η2 .
Deci  IO este o sublatice a laticii Eq(I)  Eq(O).
(ξ,  O)   IO, ( I, η)  IO; deci  IO este o algebrǎ de asociere.
Introducând operatorii MSS, mSS, MIS, mIS, MSO, mSO, MIO, mIO în algebrele de
asociere  SS,  IS,  SO,  IO conform definiţiei 2.4:
Fie L  L1  L2 o algebrǎ de asociere. Operatorii lui Hartmanis şi Stearns M: L2  L1
şi m: L1  L2 sunt daţi prin: M(y) =  {xj/ (xj, y)  L}, m(x) =  {yj/(x, yj)  L}, se obţine:
Teorema 2.12 Daca σ2 = mSS(σ1) atunci σ2 =  { mSS(σs1s2)/ σs1s2  σ1} unde σs1s2
este echivalenţǎ corespunzǎtoare partiţiei {{s1, s2}, {s3},...., {sn}} pe mulţimea S = {s1, s2,
s3,..., sn}.
Demonstraţie σ1 =  { σs1s2/ σs1s2  σ1} pentru cǎ din σs1s2  σ1 rezultǎ  { σs1s2/ σs1s2
 σ1}  σ1 iar pe de altǎ parte dacǎ (s’, s”)  σ1 atunci σs’s”  σ1 şi deci (s’, s”)   { σs1s2/
σs1s2  σ1} adicǎ σ1   { σs1s2/ σs1s2  σ1}. Pentru cǎ σ2 = mSS(σ1),
σ2 = mSS(  { σs1s2/ σs1s2  σ1}) =  { mSS(σs1s2)/ σs1s2  σ1}.
Consecinţǎ Dacǎ (σ1, σ2) X(  SS) atunci mSS(σ1) = σ2 =  { mSS(σs1s2)/ σs1s2  σ1}.
Fie (σ1, σ2) X(  SS) atunci σ2 = mSS(σ1) şi (σ1, σ2) = (MSS(mSS(σ1)), mSS(σ1)). Astfel
oricǎrui σ  mSS(Eq(S)) îi corespunde unic un element (MSS(σ), σ)  X(  SS). Se pot
obţine toate elementele lui X(  SS) pornind de la reuniuni de forma  { mSS(σs1s2)/ σs1s2 
σ1}.

32
Teorema 2.13 Dacǎ ξ = mIS(σ) atunci ξ =  { mIS(σs1s2)/ σs1s2  σ} unde σs1s2 este
echivalenţa corespunzǎtoare partiţiei {{s1, s2}, {s3},...., {sn}} pe mulţimea S = {s1, s2, s3,...,
sn}.
Demonstraţie σ =  {σs1s2/ σs1s2  σ} pentru cǎ din σs1s2  σ rezultǎ  {σs1s2/ σs1s2 
σ}  σ iar pe de altǎ parte dacǎ (s’, s”) σ atunci σs’s”  σ şi deci (s’, s”)   {σs1s2/ σs1s2 
σ} adicǎ σ   {σs1s2/ σs1s2  σ}. Deoarece ξ = mIS(σ), ξ = mIS(  {σs1s2/ σs1s2  σ}) =
 {σs1s2/ σs1s2  σ}.
Consecinţǎ Dacǎ (ξ, σ) X(  IS), atunci mIS(σ) = (MIS(mIS(σ)), mIS(σ)). Astfel orcǎrui
σ  mIS(Eq(S)) îi corespunde unic un element (MIS(σ), σ)  X(  IS). Se pot obţine toate
elementele lui X(  IS) pornind de la reuniuni de forma  { mIS(σs1s2)/ σs1s2  σ}.
Teorema 2.14 Dacǎ σ = mSO(η) atunci σ =  { mSO(η o1o2)/ η o1o2  η} unde η o1o2 este
echivalenţǎ corespunzǎtoare partiţiei {{o1, o2}, {o3},...., {on}} pe mulţimea O = {o1, o2,
o3,..., on}.
Demonstraţie η =  {η o1o2/ η o1o2  η} pentru cǎ din η o1o2  η rezultǎ  { η o1o2/
η o1o2  η}  η iar pe de altǎ parte dacǎ (o’, o”) η atunci η o’o’’  η şi deci (o’, o”) 
 {ηo1o2 / ηo1o2  η} adicǎ η   {ηo1o2/ ηo1o2  η}. Pentru cǎ σ = mSO(η), σ = mSO(  {η o1o2/
η o1o2  η}) =  { mSO(η o1o2)/ η o1o2  η}.
Consecinţǎ Dacǎ (σ, η) X(  SO), atunci mSO(η) = σ =  { mSO(η o1o2)/ η o1o2  η}.
Fie (σ, η) X(  SO), atunci σ = mSO(η) şi (σ, η) = (MSO(mSO(η)), mSO(η)). Astfel
oricǎrui η  mSO(Eq(O)) îi corespunde unic un element (MSO(η), η) X(  SO). Se pot
obţine toate elementele lui X(  SO) pornind de la reuniuni de forma  { mSO(ηo1o2)/ ηo1o2
 η}.
Teorema 2.15 Dacǎ ξ = mIO(η) atunci ξ =  { mIO(η o1o2)/ η o1o2  η} unde η o1o2 este
echivalenţa corespunzǎtoare partiţiei {{o1, o2}, {o3},...., {on}} pe mulţimea O = {o1, o2,
o3,..., on}.
Demonstraţie η =  {ηo1o2/ ηo1o2  η} pentru cǎ din ηo1o2  η rezulta  {ηo1o2/
ηo1o2  η}  η iar dacǎ (o’, o”) η atunci ηo’o’’  η şi deci (o’, o”)   {η o1o2/ η o1o2  η}
adicǎ η   {η o1o2/ η o1o2  η}. Pentru cǎ ξ = mIO(η), ξ = mIO(  {η o1o2/ η o1o2  η}) =
 { mIO(η o1o2)/ η o1o2  η}.
Consecinţǎ Dacǎ (ξ, η) X(  IO), atunci mIO(η) = ξ =  { mIO(η o1o2)/ η o1o2  η}.
Fie (ξ, η) X(  IO), atunci ξ = mIO(η) şi (ξ, η) = (MIO(mIO(η)), mIO(η)). Astfel oricǎrui
η  mIO(Eq(O)) îi corespunde unic un element (MIO(η), η) X(  IO). Se pot obţine toate
elementele lui X(  IO) pornind de la reuniuni de forma  { mIO(η o1o2)/ η o1o2  η}.

33
Exemplu Fie automatul Moore cu întârziere A = [{i1, i2, i3, i4}, {s1, s2, s3, s4, s5}, {0,
1}, f, g] unde f şi g sunt urmǎtoarele :
f s1 s2 s3 s4 s5 g s1 s2 s3 s4 s5
i1 s3 s1 s3 s5 s5 i1 0 0 0 0 1
i2 s1 s5 s4 s1 s4 i2 0 0 0 0 1
i3 s4 s4 s3 s4 s3 i3 0 0 0 0 1
i4 s2 s2 s5 s2 s5 i4 0 0 0 0 1

(i4, 0)
(i4, 0) s2
(i2, 0)
(i1, 0) (i3, 0)
(i2, 0)
(i4,0)
(i2, 0) (i2, 1) (i1, 1)
s1
s4
s5
(i3,0)
(i1, 0)
(i4,1)
(i3,0)
(i1, 0) (i2,0)

(i4, 0)

(i3,1)

(i1, 0) s3
(i3, 0)

Se cautǎ mulţimea perechilor extremale X(  SS):


S/ mSS(σs1s2) = {{s1, s3, s5}, {s2}, {s4}} = S/σ’1
S/ mSS(σs1s3) = {{s1, s3, s4}, {s2, s5}} = S/σ’2
S/ mSS(σs1s4) = {{s1}, {s2}, {s3, s5}, {s4}} = S/σ’3
S/ mSS(σs1s5) = {{s1, s2, s3, s4, s5}} = S/  s
S/ mSS(σs2s3) = {{s1, s2, s3, s4, s5}} = S/  s
S/ mSS(σs2s4) = {{s1, s5}, {s2}, {s3}, {s4}} = S/σ’4
S/ mSS(σs2s5) = {{s1, s2, s3, s4, s5}} = S/  s
S/ mSS(σs3s4) = {{s1, s2, s3, s4, s5}} = S/  s
S/ mSS(σs3s5) = {{s1}, {s2}, {s3, s5}, {s4}} = S/σ’3
S/ mSS(σs4s5) = {{s1, s3, s4}, {s2, s5}} = S/σ’2

34
σ’1  σ’2 =  s, σ’1  σ’3 = σ’1, σ’1  σ’4 = σ’1, σ’2  σ’3 =  s, σ’2  σ’4 =  s, σ’3  σ’4 = σ’1,
σ’j   s =  s, j {1, 2, 3, 4}.
Mulţimea de echivalenţe E = { σ’1, σ’2, σ’3, σ’4,  s} este închisǎ la reuniune şi
m(Eq(S)) = E.
Calculul lui MSS(σ’j) j {1, 2, 3, 4}, MSS(  s), MSS(  s) se face cu ajutorul unui
procedeu special, în baza teoremei 2.5 şi a definiţiei 2.2:
Fie x1, x2  L1 ; atunci au loc proprietǎţile:
e) m este izotonǎ;
f) m(x1  x2) = m(x1)  m(x2);
g) m(x1  x2)  m(x1)  m(x2);
h) (x, y)  L dacǎ şi numai dacǎ y  m(x).
Operatorii lui Hartmanis şi Stearns M: Eq(S)  Eq(S) şi m: Eq(S)  Eq(S) sunt
daţi de: M(σ) =  {σ1/ (σ1, σ)   }, m(σ) =  {σ1/ (σ, σ1)   },
Se poate scrie: MSS(σ) =  {σ’/ (σ’, σ)  SS} =  {σ’/ mSS(σ’)  σ}   {σs1s2/
mSS(σ s1s2)  σ}.
σ’=  {σ s’s”/ σ s’s”  σ’} şi dacǎ mSS(σ’)  σ se obţine mSS(σ s’s”)  σ pentru toţi σ s’s”  σ’.
Deci  {σ’/ mSS(σ’)  σ}   {σ s1s2/ mSS(σ s1s2)  σ}. Se gǎseşte MSS(σ) =  {σ s1s2/
mSS(σ s1s2)  σ} formulǎ ce se poate folosi la calculul lui MSS(σ’j) j {1, 2, 3, 4}, MSS(  s),
MSS(  s).
MSS(σ’1) = σ s1s2  σ s1s4  σ s3s5  σ s2s4 = σ1 de unde S/σ1 = {{s1, s2, s4}, {s3, s5}}
MSS(σ’2) = σ s1s3  σ s4s5 = σ2 de unde S/σ2 = {{s1, s3}, {s2}, {s4, s5}}
MSS(σ’3) = σ s1s4  σ s3s5 = σ3 de unde S/σ3 = {{s1, s4}, {s3, s5},{s2}}
MSS(σ’4) = σ s2s4 = σ4 de unde S/σ4 = {{s1}, {s2, s4}, {s3}, {s5}}
MSS(  s) =  s, MSS(  s) =  s
Se obţine astfel sublaticea perechilor extremale X(  SS) care e formatǎ din elementele
(  s,  s), (σ1, σ’1), (σ2, σ’2), (σ3, σ’3), (σ4, σ’4), (  s,  s) a cǎrei diagramǎ este urmǎtoarea:

35
(  s,  s)

(σ1, σ’1)

(σ4, σ’4) (σ2, σ’2)


(σ3, σ’3)

(  s,  s)

Exemplu
Fie automatul A = [{i1, i2, i3}, {s1, s2, s3, s4}, {0, 1, 2}, f, g] unde f şi g sunt date în
urmǎtoarele tabele:

f s1 s2 s3 s4 g s1 s2 s3 s4
i1 s1 s3 s2 s4 i1 0 2 1 2
i2 s2 s4 s1 s3 i2 2 0 1 1
i3 s3 s4 s1 s2 i3 1 2 0 2

(i2,2) s2
(i1,0)
(i3,2)
s1 (i2,0)
(i2,2)
(i3,2)
(i1,2)
s4
(i3,0) (i2,1)

(i1,1)
(i2,1)
(i3,1)

s3

36
Se cautǎ mulţimile perechilor extremale X(  SS), X(  IS), X(  SO), X(  IO) prin
procedeul folosit la exemplul precedent.
X(  SS) = { ( s,  s), (σ1, σ2), (σ3, σ3), (σ4, σ5), (  s,  s) } unde
S/σ1 = {{s1, s3}, {s2}, {s4}}
S/σ2 = {{s1, s2, s3}, {s4}}
S/σ3 = {{s1, s4}, {s2, s3}}
S/σ4 = {{s1}, {s2, s4}, {s3}}
S/σ5 = {{s1}, {s2, s3, s4}}
X(  IS) = {( s,  s), (  1, σ6), (  3, σ7), (  I,  s)} unde
I/  1 = {{i1, i2}, {i3}}
I/  2 = {{i1}, {i2, i3}}
S/σ6 = {{s1, s2}, {s3, s4}}
S/σ7 = {{s1}, {s2, s3}, {s4}}
X(  SO) = {( I,  O), (σ4,  1), (  I,  O)} unde
O/ 1 = {{0, 1}, {2}}
X(  IO) = {( I,  O), (  3,  1), (  I,  O)} unde
I/  3 = {{i1, i3}, {i2}}

Laticile au urmǎtoarele diagrame:

(  s,  s) (  I,  s)
(  S,  O) (  I,  O)

(σ3, σ3) (σ4, σ5) (  2, σ7)

(  1, σ6)
(σ1, σ2)
(σ4,  1)
(  3,  1)

(  s,  s) (  I,  s) (  S,  O) (  I,  O)

[1]

37
3. CODIFICAREA AUTOMATELOR

Algebrele de asociere sunt folosite în studiul codificǎrii automatelor, procedeu


care serveşte la realizarea fizicǎ optimalǎ a dispozitivelor care sunt descrise în mod
abstract de cǎtre automate.
Teorema 3.1 Fie A = [I, S, O, f, g] şi σ1, σ2  Eq(S),  ’  Eq(I); atunci σ1 
MSS(σ2),   MIS(σ2), dacǎ şi numai dacǎ existǎ o aplicaţie k: S/σ1  I/   S/σ2 astfel
ca urmǎtoarea diagramǎ sǎ fie comutativǎ:
SI (h1,h) S/σ1  I/ 
f k
S h2 S/σ2

unde hj(s) = [s]σ2 j =1, 2 h(i) = [i]  . Aplicaţia k este unicǎ.


Demonstraţie σ1  MSS(σ2),   MIS(σ2) rezultǎ cǎ existǎ o aplicaţie k: S/σ1  I/ 
 S/σ2 astfel ca diagrama anterioarǎ sǎ fie comutativǎ; k este unic:
Dacǎ σ1  MSS(σ2) şi   MIS(σ2) atunci (σ1, σ2)   SS şi (  , σ2)   IS.
Se defineşte aplicaţia k: S/σ1  I/   S/σ2 prin k([s]σ1, [i]  ) = [f(s, i)]σ2 care face
diagrama comutativǎ. Aplicaţia k este unicǎ prin modul ei de definire.
Existǎ k: S/σ1  I/   S/σ2 care face diagrama din teoremǎ comutativǎ; atunci σ1 
MSS(σ2),   MIS(σ2): se presupune cǎ aplicaţia k are proprietǎţile din enunţ, adicǎ
[f(s, i)]σ2 = k([s]σ1, [i]  ).
Dacǎ (s1, s2)  σ1 atunci (f(s1, i), f(s2, i))  σ2 oricare ar fi i  I pentru cǎ [f(s1, i)]σ2 =
k([s1]σ1, [i]  ) = k([s2]σ1, [i]  ) = [f(s2, i)]σ2. Astfel (σ1, σ2)   SS rezultǎ σ1  MSS(σ2).
Dacǎ (i1, i2)   atunci [f(s, i1)]σ2 = k([s]σ1, [i1]  ) = k([s]σ1, [i2 ]  ) = [f(s, i2)]σ2 adicǎ
(  , σ2)   IS de unde rezultǎ   MIS(σ2).
Teorema 3.2 Fie A = [I, S, O, f, g] şi   Eq(I), σ Eq(S),   Eq(O) σ  MSO( ) şi
  MIO(  ) dacǎ şi numai dacǎ existǎ o aplicaţie k: S/σ  I/   O/ astfel ca diagrama
de mai jos sǎ fie comutativǎ

38
SI (h1, h2) S/σ  I/ 
g k
O h3 O/

unde h1(s) = [s]σ h2(i) = [i]  , h3(o) = [o]  . Aplicaţia k este unicǎ.
Demonstraţie Dacǎ σ  MSO(  ) şi   MIO(  ) rezultǎ cǎ existǎ k: S/σ  I/ 
 O/ astfel ca diagrama de mai sus sǎ fie comutativǎ; k este unic:
Fie σ  MSO(  ) şi   MIO(  ) atunci (σ,  )   SO, (  , )   IO. Definind k([s]σ,
[i]  ) = [g(s, i)] , diagrama e comutativǎ.
Unicitatea lui k rezultǎ din definiţia lui.
Existǎ k: S/σ  I/   O/  care face diagrama din teoremǎ comutativǎ; atunci σ 
MSO(  ) şi   MIO(  ):
Se presupune k astfel încât k([s]σ, [i]  ) = [g(s, i)] . Dacǎ (s1, s2)  σ atunci [g(s1,
i)] = k([s1]σ, [i]  ) = k([s2]σ, [i]  ) = [g(s2, i)] , deci (σ,  )   SO de unde rezultǎ σ 
MSO(  ).
Dacǎ (i1, i2)   [g(s, i1)]  = k([s]σ, [i1]  ) = k([s]σ, [i2]  ) = [g(s, i2)]  deci
(  , )   IO de unde se obţine   MIO( ).
Teorema 3.3 Fie A = [I, S, O, f, g], {σj/ j J}  Eq(S), {  j’/ j’  J}  Eq(I) şi σ  Eq(S).
Atunci  σj  MSS(σ) şi   j’  MIS(σ) dacǎ şi numai dacǎ existǎ o aplicaţie k:
jJ j 'J '

jJ
S/σj   I/  j’  S/σ care face comutativǎ diagrama:
j 'J '

SI {hj}{kj’}  S/σj   I/  j’

f k
h
S S/σ
unde hj(s) = [s]σj, kj’(i) = [i]  j’, h(s) =[s]σ.

Demonstraţie Existǎ k: jJ


S/σj   I/  j’  S/σ care face diagrama comutativǎ;
j 'J '

atunci  σj  MSS(σ) şi   j’  MIS(σ):


jJ j 'J '

39
Se presupune cǎ existǎ k: jJ
S/σj  
j 'J '
I/  j’  S/σ cu k({[s]σj/ j  J}, {[i]  j’/

j’  J}) = [f(s, i)]σ.


Notând σ’ =  σj,  ’=   j’, se defineşte k’: S/σ’  I/  ’  S/σ prin k’([s]σ’, [i]  ’)
jJ j 'J '

= k({[s]σj/ j J}, {[i]  j’/ j’  J’}) = [f(s, i)]σ care face diagrama de mai jos comutativǎ
SI (h’, h”) S/σ’  I/  ’
f k
S h S/σ

unde h’(s) = [s]σ’, h”(i) = [i]  ’.


Aplicând echivalenţ elor σ, σ’ Eq(S) şi   Eq(I) teorema 3.1:

Fie A = [I, S, O, f, g] şi σ1, σ2  Eq(S) şi  ’ Eq(I); atunci σ1  MSS(σ2),   MIS(σ2)


dacǎ şi numai dacǎ existǎ o aplicaţie k: S/σ1  I/   S/σ2 astfel ca urmǎtoarea diagramǎ sǎ
fie comutativǎ

SI (h1, h) S/σ1  I/ 


f k
S h2 S/σ2

unde hj(s) = [s]σj j =1, 2, h(i) = [i]  . Aplicaţia k este unicǎ, rezultǎ  σj = σ’  MSS(σ)
jJ

şi   j’ =  '  MIS(σ).
j 'J '

Dacǎ  σj  MSS(σ) şi   j’  MIS(σ) atunci existǎ


jJ j 'J '

k: jJ
S/σj   I/  j’  S/σ care face diagrama din enunţul teoremei comutativǎ:
j 'J '

Dacǎ  σj  MSS(σ) şi   j’  MIS(σ) atunci existǎ o aplicaţie k’: S/ jJ σj 


jJ j 'J '

I/   j’  S/σ astfel ca diagrama de mai jos sǎ fie comutativǎ:


j 'J '

SI (h’, h”) S/  σj  I/   j’


jJ j 'J '

f k
h
S S/σ

40
Se defineşte aplicaţia k: 
jJ
S/σj  
j 'J '
I/  j’  S/σ prin k([s1]σ1,…, [s J ] σ J ,

[i1]  1,..., [i J ' ]  J ' ) = k’(  [sj]σj,  [ij’]  j’) dacǎ  [sj]σj,  [ij’]  j’  Φ
jJ j 'J ' jJ j 'J '

arbitrar în caz contrar


= [f(s, i)]σ daca s  [sj]σj şi i   [ij’]  j’
jJ j 'J '

arbitrar în caz contrar.


Aceastǎ aplicaţie face comutativǎ diagrama urmǎtoare:

SI (h1, h) S/σ1  I/ 


f k
S h2 S/σ2

Teorema 3.4 Fie A = [I, S, O, f, g], {  j’/ j’  J}  Eq(I), {σj/ j  J}  Eq(S), şi


  Eq(O). Atunci  σj  MSO(  ) şi   j’  MIO(  ) dacǎ şi numai dacǎ existǎ o
jJ j 'J '

aplicaţie k: 
jJ
S/σj   I/  j’  O/ astfel ca diagrama sǎ fie comutativǎ:
j 'J '

SI {hj}{kj’}  S/σj   I/  j’

g k
h
O O/
unde h(o) = [o] , hj(s) = [s]σj, kj’(i) = [i]  j’.

Demonstraţie Dacǎ existǎ k: 


jJ
S/σj   I/  j’  O/ astfel ca diagrama de mai
j 'J '

sus sǎ fie comutativǎ, atunci  σj  MSO( ) şi   j’  MIO( ):


jJ j 'J '

Se presupune cǎ existǎ o aplicaţie k: 


jJ
S/σj   I/  j’  O/ cu k({[s]σj/ j J},
j 'J '

{[i]  j’/ j’  J}) = [g(s, i)] . Notând σ’ =  σj,  ’ =   j’, se defineşte k’: S/σ’  I/  ’
jJ j 'J '

 O/  prin k’([s]σ’, [i]  ’) = k({[s]σj/ j  J}, {[i]  j’/ j’  J’}) = [g(s, i)]  care face
comutativǎ urmatoarea diagramǎ:

41
SI {h’, h”} S/σ’  I/  j’
g k
h
O O/
unde h’(s) = [s]σ’, h”(i) = [i]  ’
Aplicând echivalenţelor   Eq(I), σ’ Eq(S),   Eq(O) teorema 3.2:
Fie A = [I, S, O, f, g] şi   Eq(I), σ Eq(S),   Eq(O) σ  MSO( ) şi   MIO( )
dacǎ şi numai dacǎ existǎ o aplicaţie k: S/σ  I/   O/ astfel ca diagrama de mai jos sǎ
fie comutativǎ
SI (h1, h2) S/σ  I/ 
g k
O h3 O/
unde h1(s) = [s]σ , h2(i) = [i]  , h3(o) = [o] . Aplicaţia k este unicǎ, rezultǎ  σj = σ’ 
jJ

MSO(  ) şi   j’ =  ’  MIO( ).
j 'J '

Dacǎ  σj  MSO( ) şi   j’  MIO( ) atunci existǎ o aplicaţie


jJ j 'J '

k: jJ
S/σj   I/  j’  O/ astfel ca diagrama din enunţul teoremei sǎ fie comutativǎ:
j 'J '

Dacǎ  σj  MSO( ) şi   j’  MIO( ) atunci existǎ o aplicaţie k’: S/  σj 


jJ j 'J ' jJ

I/   j’  O/ astfel ca diagrama de mai jos sǎ fie comutativǎ:


j 'J '

SI {h’, h”} S/  σj  I/   j’


jJ j 'J '

g k’
h
O O/

Se defineşte aplicaţia k: 
jJ
S/σj   I/  j’  O/ prin k([s1]σ1,…, [s J ]
j 'J '
σ J ,

[i1]  1,..., [i J ' ]  J ' )= k’(  [sj]σj,  [ij’]  j’) dacǎ  [sj]σj,  [ij’]  j’  Φ
jJ j 'J ' jJ j 'J '

arbitrar în caz contrar


= [g(s, i)]  dacǎ s   [sj]σj şi i   [ij’]  j’
jJ j 'J '

arbitrar în caz contrar.

42
Aceastǎ aplicaţie face comutativǎ diagrama de mai jos:

SI {h1, h2} S/σ  I/  j


g k
h3
O O/
[1]

4. REŢELE ABSTRACTE

Se stabileşte un procedeu de construire a unei reţele abstracte prin cuplarea unor


semiautomate prin intermediul unor dispozitive descrise de funcţiile de transmitere ale
reţelei.
Definiţia 4.1 O reţea abstractǎ este un (2n+3)-uplu N = [ {Aj/ j {1, 2,... n}}, I, O,
{hj/ j  {1, 2,... n}}, g] unde Aj = [Ij, Sj, fj] j {1, 2,... n} sunt semiautomatele componente
ale reţelei. I  Φ este alfabetul de intrare al reţelei, O  Φ este alfabetul de ieşire al reţelei,
n n
hj: 
k 1
Sk  I  Ij sunt funcţiile de transmitere ale reţelei, g: 
k 1
Sk  I  O e o funcţie de

rǎspuns a reţelei.
n
Se poate descrie o reţea abstractǎ ca fiind automatul A(N ) = [ I, 
k 1
Sk, O, f, g] unde

f((s1, s2,... , sn), i) = (f1(s1, h1(s1,... , sn, i)),... , fn(sn, hn (s1,... , sn, i))) iar g este funcţia care
a fost definitǎ mai sus.
Definiţia 4.2 Reţeaua abstractǎ N simuleazǎ (semisimuleazǎ/ suprasimuleazǎ)
automatul A dacǎ automatul A(N ) simuleazǎ (semisimuleazǎ/ suprasimuleazǎ) automatul
A din definiţia 1.1:
Fie Aj = [Ij, Sj, Oj, fj, gj] j =1,2 douǎ automate. Tripletul Φ = (t, z, y) unde t: I1  I2,
z: S1  S2, y: O2  O1 este o suprasimulare a automatului A1 de cǎtre automatul A2 dacǎ
urmǎtoarele diagrame sunt comutative:

43
S1 f1i S1

z f2t(i) z
S2 S2

I*1 g1i O1

t g2z(s) y
I*2 O2

Definiţia 4.3 O reţea abstractǎ cu întârziere este o reţea abstractǎ pentru care
aplicaţiile fj: Sj  Ij  Sj nu depind efectiv de primul argument deci semiautomatul Aj are
starea la momentul t+1 determinatǎ exclusiv de intrarea la momentul t.
Definiţia 4.4 O reţea abstractǎ normalǎ este o reţea abstractǎ în care semiautomatele
n
Aj sunt de forma Aj = [  Slj  Ij, Sj, fj] j {1, 2,... n} iar pentru funcţiile de transmitere
l 1

au loc relaţiile: hj(s1,... , sn, i) = ( h1j(s1), ..., hnj(sn), hIj(i)) unde hlj: Sl  Slj, hIj: I  Ij
pentru l, j {1, 2,... n}.
Fie A = [I, S, O, f, g] un automat semisimulat de o reţea abstractǎ N în formǎ
normalǎ, de cǎtre perechea Φ = (1I, z).
Definiţia 4.5 Echivalenţele induse de reţeaua abstractǎ normalǎ N şi de
semisimularea Φ pe automatul A sunt date de σj = ker prj z, σlj = ker hlj prl z, l {1, 2,... n},
ξj = ker hIj.
Dacǎ σlj = ωs nu se realizeazǎ un transport efectiv de informaţie de la semiautomatul
component Al la semiautomatul component Aj pentru cǎ aplicaţia hlj prl z este constantǎ.
Teorema 4.1 Fie A = [I, S, O, f, g] un automat şi echivalenţele σj, σlj  Eq(S) şi
ξj  Eq(I) l, j  {1, 2,... n}. Existǎ o reţea abstractǎ normalǎ N care semisimuleazǎ
automatul A şi echivalenţele σj, σlj, ξj sunt echivalenţe induse de reţeaua N şi
semisimularea corespunzǎtoare Φ = (1I, z) dacǎ şi numai dacǎ au loc urmǎtoarele condiţii:
n
a) σj   σlj  MSS(σj), j {1, 2,... n};
l 1

b) ξjl  MIS(σj), j {1, 2,... n};


c) σj  `σl, l, j {1, 2,... n}.

44
Demonstraţie Suficienţǎ:
Se presupune cǎ sunt satisfǎcute condiţiile a), b), c) şi se construieşte reţeaua normalǎ
N care îndeplineşte condiţiile din enunţul teoremei.
n
Fie Aj = [  Slj  Ij, Sj, fj] unde S = S/σj, Slj = S/σlj, Ij = I/ξj şi fj([s]σj, ([s1]σ1j, ...,
l 1

[sn]σnj, [i]ξj)) = [f(s, i)]σj dacǎ s1 = s2 =...= sn = s


arbitrar în caz contrar,
semiautomatele componente ale reţelei.
Definirea funcţiei fj s-a fǎcut în baza teoremei 3.3:
Fie A = [I, S, O, f, g], {σj/ j J}  Eq(S), {  j’/ j’  J}  Eq(I) şi σ  Eq(S). Atunci

 σj  MSS(σ)
jJ
şi  
j 'J '
j’  MIS(σ) dacǎ şi numai dacǎ exista o aplicaţie k: jJ
S/σj

  I/  j’  S/σ care face comutativǎ diagrama:


j 'J '

SI {hj}{kj’}  S/σj   I/  j’

f k
h
S S/σ

unde hj(s) = [s]σj, kj’(i) = [i]  j’, h(s) = [s]σ.


Condiţiile a), b) şi teorema 3.3 fac posibilǎ existenţa aplicaţiei k pentru care diagrama
de mai jos e comutativǎ:
n
SI (  j,  kj,  ) S/σj   S/σlj  I/  j
l 1

f k
 j

S S/σj
unde  j(s) = [s]σj,  kj(s) = [s]σk j,  (i) = [i]  j , ceea ce revine la
[f(s, i)]σj = k([s]σj, [s]σ1j, ..., [s]σnj, [i]ξj) şi pentru s1 = s2 =...= sn s-a luat fj = k.
Se ia hj([s1]σ1, ..., [sn]σn, i) = ( h1j([s1]σ1), ..., hnj([sn]σn), hIj(i)) = ([[s1]σ1] σ1j, ..., [[sn]σn] σnj,
[i]  j) = ([s1]σ1j, ..., [sn]σnj, [i]  j) ceea ce se poate face ţinand seama de condiţia c).
Funcţia de ieşire a reţelei g’ se poate defini arbitrar pentru cǎ în semisimularea
automatului A de cǎtre reţeaua N nu intervine aceastǎ funcţie.

45
n
Perechea (1I, z) unde aplicaţia z: S   S/σj e datǎ de z(s) = ([s]σ1, ..., [s]σn) este o
j 1

semisimulare a automatului A = [I, S, O, f, g] prin reţeaua abstractǎ normalǎ N = [{Aj/


j  {1, 2,... n}}, I, O, {hj/ j  {1, 2,... n}}, g’] pentru cǎ urmǎtoarea diagramǎ este
comutativǎ:
S fi S

z f’i z
n n


j 1
Sj/σj  j 1
Sj/σj

f’i este funcţia de tranziţie a automatului A(N ):


f’i(z(s)) = f’i([s]σ1, ..., [s]σn) = (f1([s] σ1, h1([s]σ1, ..., [s]σn, i), ..., fn([s] σn, hn([s]σ1, ..., [s]σn, i)))
= f1([s] σ1, ([s] σ11, ..., [s] σn1, [i]  1)), ..., fn([s] σn, ([s] σ1n, ..., [s] σnn, [i]  n)) = ([f(s, i)]σ1, ...,
[f(s, i)]σn) = z(fi(s)).
Se observǎ cǎ σj = ker prj z, σlj = ker hlj prl z,  j = ker hlj.
Necesitate:
Se presupune cǎ automatul A este semisimulat de o reţea normalǎ N prin
semisimularea Φ = (t, z). Fie σj, σlj  Eq(S),  j  Eq(I) echivalenţele induse de reţeaua
normalǎ N şi semisimularea Φ. Fie reţeaua N = [{Aj/ j {1, 2,... n}}, I, O, {hj/ j {1, 2,...
n}}, g’]. Comutativitatea diagramei:
S fi S

z f’t(i) z
n n


j 1
Sj 
j 1
Sj

revine la z(f(s, i)) = f’t(i)(z(s)) = (f1(s1, h1(s1, ..., sn, t(i)), ..., fn(sn, hn(s1, ..., sn, t(i)))) unde
n
z(s) = (s1, ..., sn)   Sj.
j 1

De aici se gǎseşte prj z(f(s, i)) = fj(sj, hj(s1, ..., sn, t(i))) = fj(sj, (h1j(s1), ..., hnj(sn), hIj(i)))
= fj(prj z(s), (h1j pr1 z(s), ..., hnj prn z(s), hIj(i))).
Aceastǎ egalitate aratǎ cǎ blocul [f(s, i)]σj depinde de clasele [s]σj, [s]σ1j, ..., [s]σnj, [i]ξ j
deci [f(s, i)]σj = k([s]σj, [s]σ1j, ..., [s]σnj, [i]ξ j).

46
Aplicând teorema 3.3 se obţin condiţiile a) şi b) din enunţ.
n
σj   σlj  MSS(σj), j {1, 2,... n} (  σj  MSS(σ))
l 1 jJ

ξjl  MIS(σj), j {1, 2,... n} (  ξ j’  MIS(σ)).


j 'J '

Condiţia c) σj  σl oricare ar fi l, j {1, 2,... n} este satisfǎcutǎ din definiţia reţelei


abstracte normale şi a echivalenţelor induse.
Consecinţǎ Daca reţeaua abstractǎ normalǎ N din teoremǎ este şi o reţea cu
întârziere, condiţia a) din enunţ devine:
n
 σlj  MSS(σj), j {1, 2,... n} pentru cǎ dacǎ [s’]σ1j = [s”]σ1j, ..., [s’]σnj = [s”]σnj adicǎ
l 1

n n
(s’, s”)   σlj rezultǎ prj z(f(s’, i)) = prj z(f(s”, i)) adicǎ (f(s’, i), f(s”, i))  σj; astfel  σlj
l 1 l 1

 MSS(σj).
Teorema 4.2 Fie A = [I, S, O, f, g] un automat şi N = [{Aj/ j {1, 2,... n}}, I, O, {hj/
j  {1, 2,... n}}, g’] o reţea abstractǎ care semisimuleazǎ automatul A prin perechea Φ = (1I,
z). Dacǎ σ’j = ker prj z, σj = {(s’, s”)/ hj(z(s’), i) = hj(z(s”), i),  i I}
ξ j = {(i’, i”)/ hj(z(s), i’) = hj(z(s), i”),  s  S} j {1, 2,... n}
atunci au loc proprietǎţile:
a) σj  σj’  MSS(σj’);
b) ξ j  MIS(σj’).
Demonstraţie Se presupune cǎ reţeaua N semisimuleazǎ automatul A, deci
urmǎtoarea diagramǎ este comutativǎ:
S fi S

z f’i z
n n


j 1
Sj 
j 1
Sj

adicǎ z(f(s, i)) = f’(z(s), i) = (f1(pr1 z(s), h1(z(s), i)), ..., fn(prn z(s), hn(z(s), i))), atunci au
loc condiţiile a) şi b) din enunţul teoremei.
Dacǎ (s’, s”) σj  σj’ rezultǎ prj z(s’) = prj z(s”) şi hj(z(s’), i) = hj(z(s”), i). Se obţine
prj z(f(s’, i)) = prj z(f(s”, i)) adicǎ (f(s’, i), f(s”, i))  σj’.
Dacǎ (i’, i”)  ξ j, hj(z(s), i’) = hj(z(s), i”) de unde prj z(f(s, i’)) = prj z(f(s, i”)) adicǎ
(f(s, i’), f(s, i”))  σj’. [1]

47
III. METODE LATICIALE DE DESCOMPUNERE
A AUTOMATELOR FINITE

1. NOŢIUNI DE TEORIA LATICILOR

Fie (M,  ) o mulţime parţial ordonatǎ.


Definiţia 1.1 O latice este o mulţime parţial ordonatǎ L = (M,  ) pentru care oricare
ar fi m1, m2  M existǎ sup{m1, m2}, inf{m1, m2}  M. Se noteazǎ:
sup{m1, m2} = m1  m2
inf{m1, m2} = m1  m2.
Teorema 1.1 Operaţiile “  ”şi “  ” din laticea L au urmǎtoarele proprietǎţi:
a) (m1  m2)  m3 = m1  (m2  m3) (m1  m2)  m3 = m1  (m2  m3 ) asociativitate;
b) m1  m2 = m2  m1 m1  m2 = m2  m1 comutativitate;
c) m1  (m1  m2) = m1 m1  (m1  m2) = m1 absorbţie;
d) m1  m1 = m1 m1  m1 = m1 idempotenţǎ.
Demonstraţie a) Fie m’ = (m1  m2)  m3 şi m” = m1  (m2  m3).
m’  m1  m2, m’  m3 adicǎ m’  mj j {1, 2, 3}. De aici m’  sup{m2, m3} şi deci m’
 sup{m1, sup{m2, m3}} = m”, adicǎ m’  m”.
m”  m1, m”  m2  m3 adicǎ m”  mj j {1, 2, 3}. De aici m”  sup{m1, m2} şi deci
m”  sup{sup{m1, m2}, m3} = m’ adicǎ m”  m’.
Din cele douǎ inegalitaţi rezultǎ m’ = m”.
Fie m’ = (m1  m2)  m3, m” = m1  (m2  m3).
m’  m1  m2, m’  m3 adicǎ m’  mj j {1, 2, 3}. De aici m’  inf{m2, m3} şi deci m’
 inf{m1, inf{m2, m3}} = m” adicǎ m’  m”.
m”  m1, m”  m2  m3 adicǎ m”  mj j  {1, 2, 3}. De aici m”  inf{m1, m2} şi deci m”
 inf{inf{m1, m2}, m3} = m’ adica m”  m’.
Din m’  m” şi m”  m’ rezultǎ m’ = m”.
b) m1  m2 = sup{m1, m2} = sup{m2, m1} = m2  m1.
m1  m2 = inf{m1, m2} = inf{m2, m1} = m2  m1.

48
c) Fie m’ = m1  (m1  m2). m’  m1. Pe de altǎ parte m1  m1 şi m1  m1  m2 de unde
m1  sup{m1  (m1  m2)} = m’.
Din cele douǎ inegalitaţi rezultǎ m’ = m1.
Fie m’ = m1  (m1  m2). m’  m1. Pe de altǎ parte m1  m1 şi m1  m2  m1 de unde
m1  inf{ m1  (m1  m2)} = m’.
Din m’  m1 şi m1  m’ rezultǎ m’ = m1.
d) m1  m1 = sup{m1, m1} = m1.
m1  m1 = inf{m1, m1} = m1.
Simetria proprietǎţilor:
a) (m1  m2)  m3 = m1  (m2  m3) (m1  m2)  m3 = m1  (m2  m3)
b) m1  m2 = m2  m1 m1  m2 = m2  m1
c) m1  (m1  m2) = m1 m1  (m1  m2) = m1
d) m1  m1 = m1 m1  m1 = m1
permite obţinerea dintr-o propoziţie adevǎratǎ pentru o latice L o nouǎ propoziţie
adevǎratǎ schimbând peste tot operaţiile “  ”şi “  ” între ele; proprietatea poartǎ numele
de “principiul dualitǎţii pentru latice”.
Operaţiile de reuniune şi intersecţie se extind la orice numǎr finit de termeni folosind
proprietatea de asociativitate.
n n
 mj = m1  m2  ...  mn,  mj = m1  m2  ...  mn.
j 1 j 1

Fie M o mulţime dotatǎ cu operaţiile “  ” şi “  ” cu proprietǎţile de comutativitate,


asociativitate, absorbţie şi idempotenţǎ. Se considerǎ mulţimea parţial ordonatǎ (M,  )
unde (m1, m2)   dacǎ şi numai dacǎ m1  m2 = m2 sau ceea ce revine la acelaşi lucru
m1  m2 = m1.
m1  m2 = m1  (m1  m2) = m1
m1  m2 = (m1  m2)  m2 = m2
Din idempotenţǎ, (m1, m1)   oricare ar fi m1  M. Dacǎ (m1, m2)   şi (m2, m1)
  atunci m1  m2 = m2 = m1, iar dacǎ (m1, m2)   , (m2, m3)   atunci m1  m2 = m2,
m2  m3 = m3. Deci m1  m3 = m1  (m2  m3) = (m1  m2)  m3, m2  m3 = m3, adicǎ (m1,
m3)   .
Mulţimea parţial ordonatǎ (M,  ) formeazǎ o latice luând sup{m1, m2}= m1  m2,
inf{m1, m2} = m1  m2 în cazul în care sup şi inf existǎ pentru orice pereche {m1, m2}.
Astfel (m1, m1  m2)   , (m2, m1  m2)   iar dacǎ (m1, m)   , (m2, m)  
atunci m1  m = m2  m =m de unde (m1  m)  ( m2  m) = m  m = m iar pe de altǎ parte

49
(m1  m)  ( m2  m) = m1  m2  m  m = m1  m2  m adicǎ (m1  m2, m)   .
Pentru (m1  m2, m1)   , (m1  m2, m2)   dacǎ (m, m1)   , (m, m2)   atunci
m  m1 = m  m2 = m de unde (m  m1)  (m  m2) = m  m = m iar pe de altǎ parte
(m  m1)  (m  m2) = m1  m2  m  m adicǎ (m, m1  m2)   . Se noteazǎ aceastǎ latice
cu (M,  ,  ) şi relaţia de ordine parţialǎ  , cu semnul “  ” .
Definiţia 1.2 O sublatice a laticii (M,  ,  ) este tripletul (M1,  ,  ) unde M1  M
şi  m’, m”  M1 m’  m”  M1, m’  m”  M1, adicǎ o submulţime M1 a lui M care
formeazǎ ea însǎşi latice faţǎ de operaţiile din laticea (M,  ,  ).
Definiţia 1.3 O semilatice e o pereche (M,  ) unde M este o mulţime iar “  ” este o
operaţie cu proprietǎţile:
a) (m1  m2)  m3 = m1  (m2  m3);
b) m1  m2 = m2  m1 ;
c) m1  m1 = m1.
Unei latici (M,  ,  ) i se pot ataşa semilaticea disjunctivǎ (M,  ) şi semilaticea
conjunctivǎ (M,  ).
Exemplu Fie M o mulţime arbitrarǎ. Tripletul (P(M), ,  ) este o latice în baza
proprietǎţilor operaţiilor de reuniune şi intersecţie de mulţimi.
Dacǎ M1  M atunci (P(M1), ,  ) e o sublatice a laticii (P(M), ,  ).

Exemplu Fie Eq(M) mulţimea echivalenţelor pe mulţimea M. Pe Eq(M) se poate


introduce o relaţie de ordine parţialǎ “  ” punând    dacǎ şi numai dacǎ din (m1, m2)
  rezultǎ (m1, m2)   oricare ar fi m1, m2  M.
Relaţia  = {(m’, m”)/ (m’, m”)   1 şi (m’, m”)   2} iar  =  1   2 se obţine
cǎ  = {(m’, m”)/  m1, ..., mk şi (m’, m1)   j1, (m1, m2)   j2, ..., (mk, m”)   jk+1, j1, ...
jk+1  {1, 2}}.
Se aratǎ cǎ  = sup{  1,  2}:
Dacǎ (m’, m”)   1, (m’, m”)   luând m1 = m” şi j1 =1; se aplicǎ acelaşi procedeu
în cazul lui  2.
Dacǎ    1,  2 şi (m’, m”)   atunci existǎ m1, ..., mk astfel ca (m’, m1)   j1,
(m1, m2)   j2, ..., (mk, m”)   jk+1, j1, ... jk+1  {1, 2} de unde (m’, m1)   , ..., (mk, m”)  
şi ţinând cont de tranzitivitatea relaţiei de echivalenţǎ  , (m’, m”)   adicǎ    .
Deci mulţimea echivalenţelor pe o mulţime M formeazǎ o latice.
Exemplu Mulţimea parţial ordonatǎ (N*, /) unde “/ ” e o relaţie de divizibilitate,
formeazǎ o latice unde n1  n2 = (n1, n2), (n1, n2) cel mai mare divizor comun

50
n1  n2 = [n1, n2], [n1, n2] cel mai mic multiplu comun
Definiţia 1.4 Diagrama mulţimii parţial ordonate (M,  ) este graful orientat (M, Г)
unde m’  Г(m) dacǎ şi numai dacǎ m  m’ şi oricare ar fi m1 cu proprietatea m  m1 
m’ are loc sau m = m1 sau m1 = m’.
Pentru cǎ o latice e o mulţime parţial ordonatǎ, se poate vorbi de diagrama unei latici.
Exemplu Fie laticile L’ = (M,  ’,  ’), L” = (M,  ”,  ”) unde M = {m1, m2, m3, m4,
m5} iar operaţiile sunt date în tabelele urmǎtoare:

 ’ m1 m2 m3 m4 m5  ’ m1 m2 m3 m4 m5
m1 m1 m2 m3 m4 m5 m1 m1 m1 m1 m1 m1
m2 m2 m2 m3 m5 m5 m2 m1 m2 m2 m1 m2
m3 m3 m3 m3 m5 m5 m3 m1 m2 m3 m4 m3
m4 m4 m5 m5 m4 m5 m4 m1 m1 m4 m4 m4
m5 m5 m5 m5 m5 m5 m5 m1 m2 m3 m4 m5

” m1 m2 m3 m4 m5  ” m1 m2 m3 m4 m5
m1 m1 m2 m3 m4 m5 m1 m1 m2 m2 m1 m1
m2 m2 m2 m5 m5 m5 m2 m1 m2 m1 m1 m2
m3 m3 m5 m3 m5 m5 m3 m1 m1 m3 m1 m3
m4 m4 m5 m5 m4 m5 m4 m1 m1 m1 m4 m4
m5 m5 m5 m5 m5 m5 m5 m1 m2 m3 m4 m5

m5
m5
m3

m4 m2 m3
m4
m2
m1
m1

51
Definiţia 1.5 O latice mǎrginitǎ e un 5-uplu L = ( M,  ,  , 0, 1) unde (M,  ,
 ) este o latice iar 0, 1 M sunt respectiv cel mai mic şi cel mai mare element al
laticii L cu proprietatea:
 m  M, 0  m = m, m  1 = m.
Cel mai mare şi cel mai mic element al laticii L sunt cel mai mare şi cel mai mic
element al mulţimii parţial ordonate ataşate acestei latici.
Formula  m  M, 0  m = m, m  1 = m este echivalentǎ cu
 m  M, 0  m = 0, m  1 =1:
0  m = 0  (0  m) = 0
m  1 = (m  1)  1 = 1
0  m = (0  m)  m = m
m  1 = m  ( m  1) = m
Principiul dualitǎţii se completeazǎ pentru laticile mǎrginite cu cerinţa de a
schimba între ele şi elementele 0 şi 1.
Definiţia 1.6 Fie L = (M,  ,  , 0, 1) o latice mǎrginitǎ şi m M. Un element
complementar (sau un complement) al elementului m este elementul m’ cu:
m  m’ = 1
m  m’ = 0
Nu orice element dintr-o latice mǎrginitǎ are un complement. Astfel în laticea
mǎrginitǎ ({0, m, 1},  ,  , 0, 1) elementul m nu are complement. Complementul
unui element dacǎ existǎ nu este în mod necesar unic.
m 0 = m 1
m0 = 0
m 1 = 1
m1 = m 0
Se observǎ cǎ elementele 0 şi 1 au fiecare complement unic respectiv pe 1 şi 0.
0 1 = 1 0 = 1
0  1 = 1  0 = 0.
Definiţia 1.7 O latice complementatǎ e o latice mǎrginitǎ în care orice element
are un complement unic.
Se noteazǎ cu mc complementul elementului m dintr-o latice complementatǎ.
Definiţia 1.8 O latice modularǎ este o latice (M,  ,  ) în care oricare ar fi m1,
m2, m M, cu m1  m2 are loc:
(m1  m)  m2 = m1  (m  m2).

52
Deoarece în orice latice m1  (m  m2)  (m1  m)  m2, dacǎ m1  m2 condiţia de
modularitate revine la
m1  (m  m2)  (m1  m)  m2.
Definiţia 1.9 O latice distributivǎ este o latice (M,  ,  ) în care oricare ar fi m1,
m2, m3  M, are loc relaţia:
(m1  m2)  m3 = (m1  m3)  (m2  m3).
Definiţia 1.10 O algebrǎ Boole este o latice distributivǎ şi complementatǎ.
Exemplu Laticea ({m1, m2, 0, 1},  ,  , 0, 1) unde m1  m2 = 1, m1  m2 = 0 este
o latice complementatǎ şi distributivǎ, deci o algebrǎ Boole.
Orice mulţime total ordonatǎ cu cel putin trei elemente este o latice distributivǎ
dar necomplementatǎ.
Laticea L = ({0, 1},  ,  , 0, 1) este o algebrǎ Boole şi se noteazǎ cu B2 = (0, 1,
 ,  , c).
Laticea mǎrginitǎ (P(M),  ,  , Φ, M) formeazǎ o algebrǎ Boole în care Mc1 =
M\ M1.
Pentru o latice distributivǎ (M,  ,  ) din formula
(m1  m2)  m3 = (m1  m3)  (m2  m3)
prin dualitate, se obţine:
(m1  m2)  m3 = (m1  m3)  (m2  m3).
Orice latice distributivǎ este o latice modularǎ.
Luând m1  m3 în formula (m1  m2)  m3 = (m1  m3)  (m2  m3), se obţine
(m1  m2)  m3 = m1  (m2  m3).
Reciproca nu e adevǎratǎ.
Teorema 1.2 Într-o latice distributivǎ mǎrginitǎ, complementul unui element
dacǎ existǎ este unic.
Demonstraţie Se presupune cǎ:
m  m’ = m  m” = 0
m  m’ = m  m” = 1.
m’ = m’  1 = m’  (m  m”) = (m’  m)  (m’  m”) = m’  m” adicǎ m’  m”
m’ = m’  0 = m’  (m  m”) = (m’  m)  (m’  m”) = m’  m” adicǎ m’  m”.
Din cele douǎ inegalitǎţi rezultǎ m’ = m” deci unicitatea complementului.
Teorema 1.3 Într-o algebrǎ Boole au loc relaţiile lui De Morgan:
(m1  m2)c = m1 c  m2 c
(m1  m2)c = m1 c  m2 c.

53
Demonstraţie Se aratǎ cǎ:
(m1  m2)  (m1c  m2 c) = 1
(m1  m2)  (m1c  m2 c) =0
(m1  m2)  (m1c  m2 c) = ((m1  m2)  m1 c)  ((m1  m2)  m2 c) = (m1  m1c  m2) 
(m1  m2  m2 c) = (1  m2)  (1  m1) = 1  1 =1.
(m1  m2)  (m1c  m2 c) = (m1  (m1 c  m2 c))  (m2  (m1 c  m2 c)) = (m1  m1c  m2 c) 
(m1c  m2  m2 c) = (0  m2 c)  (m1c  0) = 0  0 = 0.
Ţinând seama de unicitatea complementului într-o latice distributivǎ se obţine
formula: (m1  m2)c = m1 c  m2 c.
Se aratǎ cǎ:
(m1  m2)  (m1c  m2 c) = 1
(m1  m2)  (m1c  m2 c) = 0
(m1  m2)  (m1c  m2 c) = (m1  (m1 c  m2 c))  (m2  (m1 c  m2 c))= (m1  m1c  m2 c) 
(m2  m1 c  m2 c) = (1  m2 c)  (1  m1c) = 1  1 =1.
(m1  m2)  (m1c  m2 c) = ((m1  m2)  m1 c)  ((m1  m2)  m2c) = (m1  m1c  m2) 
(m1  m2  m2 c) = (0  m2)  (m1  0) = 0  0 = 0.
Din faptul cǎ într-o latice distributivǎ complementul este unic, se obţine formula
urmǎtoare: (m1  m2)c = m1c  m2 c.
Fie (M,  ,  ) o latice şi   M  M o echivalenţǎ pe mulţimea M.
Definiţia 1.11 O congruenţǎ pe o latice L = (M,  ,  ) este o echivalenţǎ 
pentru care oricare ar fi m M, are loc:
 m1, m2  M, (m1, m2)   implicǎ (m1  m, m2  m)  
(m1  m, m2  m)   .
Mulţimea congruenţelor pe o latice L = (M,  ,  ) formeazǎ o sublatice a Eq(M).
[2]

54
2. METODE LATICIALE DE DESCOMPUNERE
A AUTOMATELOR FINITE

Fie N = [ {Aj/ j {1, 2,... n}}, I, O, {hj/ j {1, 2,... n}}, g’] o reţea abstractǎ
normalǎ.
Definiţia 2.1 Relaţia de precedenţǎ  pe mulţimea {Aj/ j {1, 2,... n}} este datǎ
de (Aj1, Aj2)   dacǎ şi numai dacǎ  j1j2   Sj1 unde  j1j2 = ker h j1j2.

Dacǎ S jj21 =1 nu se transmite nici o informaţie de la semiautomatul Aj1 la

semiautomatul Aj2 ceea ce revine la  j1j2 =  Sj1.


Dacǎ  j1j2   Sj1, h j1j2 nu poate fi o aplicaţie constantǎ ceea ce impune un
transfer de informaţie de la semiautomatul Aj1 la semiautomatul Aj2.
Definiţia 2.2 O mulţime închisǎ de componente ale reţelei N este o mulţime
C  {Aj/ j {1, 2,... n}} care odatǎ cu semiautomatul Aj conţine toate semiautomatele
care-l preced pe Aj, adicǎ  Aj  C (Ah, Aj)   rezultǎ Ah  C.
Teorema 2.1 Mulţimile închise de componente formeazǎ o latice distributivǎ
L(N ) faţǎ de operaţiile de reuniune şi intersecţie de mulţimi.
Demonstraţie Se presupune cǎ C1, C2  L(N ), C1  C2. C1 e o mulţime închisǎ
de componente ale reţelei N: C1  {Aj/ j {1, 2,... n}}  Aj  C1 (Ah, Aj)   rezultǎ
Ah  C1. C2 este o mulţime închisǎ de componente ale reţelei N: C2  {Aj/ j {1, 2,...
n}}  Aj’  C2 (Ah, Aj’)   rezultǎ Ah  C2.
C1  C2 = C1
C1  C2  {Aj/ j  {1, 2,... n}}  Aj  C1  C2 (Ah, Aj)   rezultǎ Ah  C1 = C1  C2
C1  C2 = C2
C1  C2  {Aj/ j  {1, 2,... n}}  Aj’  C1  C2 (Ah, Aj’)   rezultǎ Ah  C2 = C1  C2
rezultǎ deci cǎ oricare ar fi C1, C2  L(N ), C1  C2, reuniunea şi intersecţia celor douǎ
mulţimi închise de componente ale reţelei N aparţin lui L(N ).
Distributivitatea laticii L(N ) rezultǎ din distributivitatea operaţiilor de reuniune
şi de intersecţie de mulţimi.

55
Fie C1, C2, C3  L(N ) în relaţia C1  C2  C3.
C1  (C2  C3) = (C1  C2)  (C1  C3) = C2
C1  (C2  C3) = (C1  C2)  (C1  C3) = C1
(C1  C2)  C3 = (C1  C3)  (C2  C3) = C2
(C1  C2)  C3 = (C1  C3)  (C2  C3) = C3.
Definiţia 2.3 Fie M o mulţime şi P(M) mulţimea pǎrţilor sale. Un sistem de

închidere este o parte H  P(M) cu proprietatea {Mj/ j J}  H atunci 


jJ
Mj  H.

Dacǎ se ia J = Φ se obţine Mj  H.
Exemplu Mulţimea relaţiilor de echivalenţǎ pe mulţimea M formeazǎ un sistem
de închidere. Mulţimea relaţiilor reflexive şi tranzitive formeazǎ un sistem de
închidere: fie{  j/ j J} o familie de relaţii reflexive şi tranzitive pe M şi  = 
jJ
 j.

Pentru cǎ (m, m)   j, oricare ar fi m  M, j J, (m, m)   de unde  este o


relaţie reflexivǎ.
Dacǎ (m1, m2), (m2, m3)   urmeazǎ cǎ (m1, m2), (m2, m3)   j oricare ar fi
j  J,  j sunt relaţii tranzitive, (m1, m3)   j oricare ar fi j  J de unde (m1, m3)   .
Deci  este o relaţie tranzitivǎ şi reflexivǎ.
Definiţia 2.4 Un operator de închidere C pe mulţimea M este o aplicaţie C: P(M)
 P(M) cu proprietǎţile:
a) dacǎ M1  M2 rezultǎ C(M1)  C(M2);
b) M1  C(M1);
c) C(C(M1)) = C(M1).
Teorema 2.2 Existǎ o corespondenţǎ biunivocǎ între operatorii de închidere şi
sistemele de închidere definite pe mulţimea M. Operatorul de închidere CH ataşat
sistemului de închidere H este dat de: CH(M1) =  {M’/ M’  H, M1  M’} iar sistemul
de închidere ataşat operatorului de închidere C este: HC = {M’/ M’  M, M’ = C(M’)}.
Demonstraţie CH: P(M)  P(M) este un operator de închidere:
a) Dacǎ M1  M2 rezultǎ
{M’/ M’  H, M1  M’}  {M’/ M’  H, M2  M’}, de unde
 {M’/ M’  H, M1  M’}   {M’/ M’  H, M2  M’} adicǎ
CH(M1)  CH(M2).
b) Din definiţia lui CH:

56
CH(M1) =  {M’/ M’  H, M1  M’},
M1  C(M1).
c) M1  H rezultǎ CH(M1) = M1 iar dacǎ
CH(M2) = M2 atunci
M2 =  {M’/ M’  H, M2  M’}  H
pentru cǎ H este un sistem de închidere.
Deci CH(M1) = M1 dacǎ şi numai dacǎ M1  H.
CH(M1) H
CH (CH(M1)) = CH(M1).
HC este un sistem de închidere:
Fie {Mj/ j J} o familie de mulţimi din HC şi M’ =  {Mj/ j J}
Pentru cǎ M’  Mj, oricare ar fi j  J
C(M’)  C(Mj) = Mj, deci C(M’)   {Mj/ j J} = M’.
Din proprietatea b), C(M’)  M’ deci C(M’) = M’ adicǎ M’  HC.
HCH = H:
Fie M’  H atunci CH(M’) = M’ rezultǎ
M’ HCH adicǎ H  HCH.
Fie M’  HCH atunci C(M’) = M’ de unde
M’ H adicǎ HCH  H.
Din cele douǎ incluziuni se obţine egalitatea:
HCH = H.
CHC = C:
Fie M1  CHC M1  M’ M’  H este echivalent cu:
M’ = CH(M’) este echivalent cu M1  C; rezultǎ
CHC  C.
Fie M1  C M1  M’ M’  HCH = H este echivalent cu:
M’ = C(M’) este echivalent cu M1  CHC; rezultǎ
C  CHC.
Din CHC  C şi C  CHC se obţine egalitatea: CHC = C.
Laticea L(N ) formeazǎ un sistem de închidere; se considerǎ deci operatorul de
închidere C ataşat acestui sistem de închidere L(N )
C: P({Aj/ j {1, 2, ..., n}})  L(N ) cu

57
C(D) =  {C/ C  L(N ), D  C} oricare ar fi D  P({Aj/ j {1, 2, ..., n}}).
Teorema 2.3 Operatorul de închidere C are urmǎtoarele proprietǎţi:
a) C(D1  D2)  C(D1)  C(D2);
b) C(D1  D2) = C(D1)  C(D2).
Demonstraţie a) D1  D2  D1, D1  D2  D2; din izotonia operatorului de
închidere
C(D1  D2)  C(D1), C(D1  D2)  C(D2) rezultǎ
C(D1  D2)  C(D1)  C(D2).
b) D1  D1  D2, D2  D1  D2 rezultǎ din izotonia operatorului de închidere cǎ:
C(D1)  C(D1  D2), C(D2)  C(D1  D2) rezultǎ
C(D1)  C(D2)  C(D1  D2).
Dacǎ Aj  C(D1  D2) este predecesorul unui semiautomat din D1 sau D2 sau
poate aparţine lui D1 sau D2, atunci Aj  C(D1) sau Aj  C(D2).
C(D1  D2) = C(D1)  C(D2).
Definiţia 2.5 O reţea abstractǎ normalǎ fǎrǎ circuite e o reţea abstractǎ normalǎ
cu proprietatea Aj C(Ak) sau Ak C(Aj) pentru j, k  {1, 2, ..., n}, j  k.
Într-o reţea abstractǎ normalǎ fǎrǎ circuite nu existǎ circuite între semiautomate
componenete distincte dar este permisǎ transmiterea informaţiei de la ieşirea la intrarea
aceluiaşi semiautomat.
Definiţia 2.6 O descompunere a automatului A este o pereche (N , Φ) unde N este
o reţea abstractǎ normalǎ fǎrǎ circuite iar Φ este o semisimulare a automatului A prin
reţeaua N.
Fie (N , Φ) o descompunere a automatului A = [I, S, O, f, g], Φ = (1I, z) şi {Aj/ j {1,
2, ..., n}} mulţimea componentelor reţelei N.
Definiţia 2.7 Echivalenţa σ(D) ataşatǎ mulţimii D  Aj/ j  {1, 2, ..., n}} este datǎ
prin: σ(D) =  {σj/ Aj  D} unde σj este echivalenţa ataşata componentei Aj, σj = ker prj z.
Teorema 2.4 Au loc proprietǎţile:
a) Dacǎ C  L(N ) atunci σ(C) e o congruenţǎ.
b) σ(C1  C2) = σ(C1)  σ(C2).
Demonstraţie a) Fie C = {Al/ l J} o mulţime închisǎ de componenete; atunci
σ(C) =  σl.
lJ

58
Reţeaua N fiind fǎrǎ circuite, starea semiautomatului Al este determinatǎ numai de

predecesorii sǎi {Ak/ k  Jl} şi are loc:  σk  MSS(σl).


kJl

Aceasta are loc pentru cǎ dacǎ (s’, s”)  σk atunci prk z(s’) = prk z(s”) oricare ar fi
kJl

k  Jl, de unde prl z(f(s’, i)) = prl z(f(s”, i)) oricare ar fi i  I.


Deci (f(s’, i), f(s”, i))  σl adicǎ
(  σk, σl)  SS şi se obţine
kJl

 σk  MSS(σl).
kJl

Pentru cǎ C e o mulţime închisǎ de componenete, din Al  C rezultǎ cǎ predecesorii


sǎi {Ak/ k  Jl}  C, deci Jl  J.
σ(C) =  σl   (  σk)   MSS(σl) = MSS(  σl) = MSS(σ(C)).
lJ lJ kJl lJ lJ

Din teorema 2.9 din capitolul Probleme speciale de teoria automatelor:


Mulţimea CL este o sublatice a laticii L1 cu 0, 1  L1 şi CL = {x/ x  L x  m(x)} = {x/
x  L x  M(x)} unde CL ={x/ x  L1, (x, x) L}, rezultǎ cǎ σ(C) este o congruenţǎ.
b) Ck = {Aj/ j Jk} cu k =1, 2. Pentru astfel de Ck se poate scrie:
σ(C1  C2) =  σj = (  σj)  (  σj) = σ(C1)  σ(C2).
jJ 1 J 2 jJ 1 jJ 2

Consecinţǎ Dacǎ C1  C2 atunci σ(C1)  σ(C2).


Demonstraţie σ(C1  C2) = σ(C1)  σ(C2)
C1  C2, rezultǎ C1  C2 = C2 σ(C1  C2) = σ(C2).
C1  C2, rezultǎ σ(C1)  σ(C2) = σ(C2), de unde σ(C1)  σ(C2).
Fie (N , Φ) o descompunere a automatului A şi C  L(N ).
Cunoaşterea stǎrilor semiautomatelor din C duce la cunoaşterea stǎrii automatului A
pânǎ la echivalenţa σ(C).
Dacǎ σ(C1) = σ(C2) pentru mulţimile componente C1, C2  L(N ) dar C1  C2 şi
Aj  C2\ C1 atunci σ(C1) = σ(C2)  σj şi cunoaşterea stǎrii semiautomatului Aj nu aduce
nici o informaţie în plus faţǎ de cunoaşterea stǎrilor semiautomatelor din C1. Aj apare a fi
redundant în mulţimea C2.
Dacǎ aplicaţia σ: L(N )  Eq(S) este injectivǎ, atunci nu existǎ semiautomate
componente redundante.

59
Definiţia 2.8 O mulţime neredundantǎ de echivalenţe pe automatul A, Σ  Eq(S) este
o mulţime de echivalenţe Σ = {σ1, ... σn} astfel cǎ σj  σk pentru j  k şi oricare ar fi Σ1  Σ
şi σk  Σ,  {σj / σj  Σ1}  σk rezultǎ cǎ existǎ σl Σ1 astfel încât σl  σk.
Teorema 2.5 Fie (N , Φ) o descompunere a automatului A = [I, S, O, f, g] şi {Aj/
j  {1, 2, ... , n}} semiautomatele componente ale reţelei N . Atunci mulţimea de
echivalenţe {σ(C({Aj})), j {1, 2, ... , n}} este neredundantǎ dacǎ aplicaţia σ: L(N ) 
Eq(S) este injectivǎ.
Demonstraţie Se face prin metoda reducerii la absurd. Se presupune cǎ mulţimea de
echivalenţe datǎ mai jos este redundantǎ: Σ = {σ(C({Aj})), j {1, 2, ... , n}}.
Existǎ o mulţime Σ1  Σ şi o echivalenţǎ σ(C({Aj}))  Σ astfel ca:
 {σ(C({Aj})), j {1, 2, ... , n}}  σ(C({Ak})) şi
1

σ(C({Ak})) < σ(C({Aj})) oricare ar fi σ(C(C({Aj})))  Σ1.


De aici urmeazǎ cǎ Ak  C({Aj}) pentru orice Aj pentru care σ(C({Aj})) Σ1 deoarece
dacǎ Ak  C({Aj}) ar urma C({Ak})  C(C({Aj})) = C({Aj}) şi σ(C({Ak}))  σ(C({Aj}))
în baza consecinţei care afirmǎ cǎ:
Dacǎ C1  C2 atunci σ(C1)  σ(C2).
Se noteazǎ C1 =  {C({Aj})/ σ(C({Aj}))  Σ1}.
Atunci Ak C1 şi deci mulţimile închise de componente C1 şi C2 = C1  C({Ak}) sunt
distincte. Se aratǎ cǎ σ(C1) = σ(C2) deci σ n-ar fi injectivǎ:
Din formula  {σ(C({Aj}))}  σ(C({Ak})) şi având în vedere faptul cǎ C1 este o
1

mulţime închisǎ de componente, se obţine: σ(C1) =  {σ(C({Aj}))}  σ(C({Ak})). De aici,


1

în baza teoremei 2.4:


Au loc proprietǎţile:
a) Dacǎ C  L(N ) atunci σ(C) este o congruenţǎ.
b) σ(C1  C2) = σ(C1)  σ(C2),
se gǎseşte urmǎtorul rezultat σ(C1) = σ(C1)  σ(C({Ak})) = σ(C1  C({Ak})) = σ(C2)
σ nu este injectivǎ fapt care contrazice enunţul teoremei; deci presupunerea cǎ mulţimea de
echivalenţe {σ(C({Aj})), j {1, 2, ... , n}} este redundantǎ, este falsǎ; rezultǎ cǎ ea este
neredundantǎ dacǎ aplicaţia σ: L(N )  Eq(S) este injectivǎ.
Teorema 2.6 (teorema lui Hartmanis- Stearns de structurǎ a automatelor finite)

60
Fie A = [I, S, O, f, g] un automat finit şi Σ = {σ1, ..., σn}  Eq(S) o mulţime
neredundantǎ de congruenţe pe automatul A. Atunci exista o reţea abstractǎ normalǎ fǎrǎ
circuite cu n semiautomate componente A1, A2, ..., An şi semisimularea Φ, astfel cǎ:
a) (N , Φ) este o descompunere a automatului A;
b) Ak  C({Aj}) dacǎ şi numai dacǎ σk  σj;
c) σ(C({Aj})) = σj, j {1, 2, ... , n};
d) σ: L(N )  Eq(S) e aplicaţie injectivǎ.
Demonstraţie a) Pentru σj  Σ, fie σ’j  Eq(S) cu σ’j  σj. Se defineşte  j =  I pentru
j  {1, 2, ... , n} şi σlj= σ’l dacǎ σl  σj
 s în caz contrar, pentru j, l {1, 2, ... , n}.
Atunci se poate aplica teorema 4.1 din capitolul Probleme speciale de teoria
automatelor:
Fie A = [I, S, O, f, g] un automat şi echivalenţele σj, σlj  Eq(S) şi ξj  Eq(I) l, j {1,
2,... n}. Existǎ o reţea abstractǎ normalǎ N care semisimuleazǎ automatul A şi
echivalenţele σj, σlj, ξj sunt echivalenţe induse de reţeaua N şi semisimularea
corespunzatoare Φ = (1I, z) dacǎ şi numai dacǎ au loc urmǎtoarele condiţii:
n
a) σj   σlj  MSS(σj), j {1, 2,... n};
l 1

b) ξjl  MIS(σj), j {1, 2,... n};


c) σj  σl, l, j {1, 2,... n},
automatului A şi echivalenţelor σj, σlj  Eq(S), ξj  Eq(I) pentru cǎ sunt satisfǎcute
condiţiile a), b), c) ale teoremei enunţate.
n
σj   σlj  σj  MSS(σj) pentru cǎ σj este o congruenţǎ.
l 1

 I = ξj  MIS(σj) şi σlj = σ’l  σl, oricare ar fi l  {1, 2,... n}.


Deci reţeaua abstractǎ normalǎ N = [{Aj/ j {1, 2,... n}}, I, O, {hj/ j {1, 2,... n}},
g’] construitǎ în teorema 4.1 din capitolul Probleme speciale de teoria automatelor,
semisimuleaza automatul A.
Reţeaua abstractǎ normalǎ N este fǎrǎ circuite pentru cǎ dacǎ ar exista un circuit
între semiautomatele Aj şi Al ar rezulta σj = σl ceea ce ar contrazice definiţia 2.8:
O mulţime neredundantǎ de echivalenţe pe automatul A, Σ  Eq(S) este o mulţime de
echivalenţe Σ = {σ1, ... σn} astfel cǎ σj  σk pentru j  k şi oricare ar fi Σ1  Σ şi σk  Σ,
 {σj / σj  Σ1}  σk rezultǎ cǎ existǎ σl Σ1 astfel încat σl  σk.

61
b) Ak  C({Aj}) dacǎ şi numai dacǎ Ak precede Aj sau existǎ un transfer de informaţie de
la Ak la Aj. Aceasta se realizeazǎ când: σkj <  s, adicǎ σk  σj.
c) σ(C({Aj})) =  {σk/ Ak  C({Aj})} = σj.
d) Dacǎ σ(C1) = σ(C2) pentru mulţimile închise C1 şi C2, dar C1  C2, se presupune cǎ
exista un semiautomat Ak  C2\C1. Alegând Σ1 = {σj/ Aj  C1}, se obţine:  σj = σ(C1) =
j1

σ(C2)  σk şi conform definiţiei 2.8, existǎ σj Σ1 (Aj  C1) astfel încât σj  σk ceea ce
implicǎ Ak  C({Aj})  C1 pentru cǎ C1 este o mulţime închisǎ de componente. [1]

62
Notaţii

P*(M) mulţimea pǎrţilor nevide ale lui M


prj proiecţia j a unui produs cartezian sau a unei relaţii n-are
ker f echivalenţa nuclearǎ a aplicaţiei f
1M aplicaţia identica pe mulţimea M
s relaţia nulǎ pe S

s relaţia totalǎ pe S

[ ] , [ ] clase de echivalenţǎ

Eq(S) laticea echivalenţelor pe S

A automat

I alfabet de intrare

S mulţime de stǎri

i semnal de intrare

o semnal de ieşire

s stare

p, q cuvinte

e cuvânt nul

l(p) lungimea cuvântului p

f, fi, fs funcţii de trecere

g, gi, gs funcţii de ieşire

N reţea abstractǎ
semiautomat ataşat automatului A
S(A)
automat cât
A/ 
 homomorfism de automate
simulare de automate
Ψ
semisimulare de automate
Φ
A1 simuleazǎ A2
A1/A2
A1 suprasimuleazǎ A2
A1  A2
cascada automatelor A1, A2 prin aplicaţiile  şi 
A2  (  , ,  )A1
gruparea în serie în sens Hartmanis- Stearns
A1  A2
gruparea în paralel în sens Hartmanis- Stearns
A1║A2
relaţii de asociere
 SS,  IS,  SO,  IO

63
Bibliografie

[1] CREANGǍ, I., REISCHER, C., SIMOVICI, D., Introducere algebricǎ în informaticǎ.
Teoria automatelor , Ed. Junimea, Iaşi, 1973.
[2] CREANGǍ, I., REISCHER, C., SIMOVICI, D., Introducere algebricǎ în informaticǎ.
vol.1 şi vol. 2, Ed. Tehnicǎ, Bucureşti, 1974.

64

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