Documente Academic
Documente Profesional
Documente Cultură
METODE LATICIALE DE
LUCRARE ŞTIINŢIFICǍ
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
5
I TEORIA AUTOMATELOR
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
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
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]
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 }
s2
(i2, o2) (i1, o2)
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 .
pI * , 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
S1/σ f σi S1/σ
k f2i k
S2 S2
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}
16
II PROBLEME SPECIALE DE TEORIA
AUTOMATELOR
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
18
O2
O1
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ţǎ: 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”))
19
Congruenţa σ e nebanalǎ pentru cǎ în caz contrar dacǎ σ = s aplicaţia pr2 z: S S1 e
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)
S fi S
z z
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]σ,
A1║A2 unde Aj = [Ij, Sj, Oj, fj, gj] S j < S , j =1, 2 dacǎ şi numai dacǎ existǎ douǎ
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
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
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).
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
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)
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
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 =
23
2. ECHIVALENŢE ASOCIATE PE UN AUTOMAT DETERMINIST
ŞI ALGEBRE DE ASOCIERE
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)
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)
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)
( 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}}
( s, s) ( I, s)
( S, O) ( I, O)
( 1, σ6)
(σ1, σ2)
(σ4, 1)
( 3, 1)
( s, s) ( I, s) ( S, O) ( I, O)
[1]
37
3. CODIFICAREA AUTOMATELOR
38
SI (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:
jJ j 'J '
jJ
S/σj I/ j’ S/σ care face comutativǎ diagrama:
j 'J '
f k
h
S S/σ
unde hj(s) = [s]σj, kj’(i) = [i] j’, h(s) =[s]σ.
39
Se presupune cǎ existǎ k: jJ
S/σj
j 'J '
I/ j’ S/σ cu k({[s]σj/ j J}, {[i] j’/
= k({[s]σj/ j J}, {[i] j’/ j’ J’}) = [f(s, i)]σ care face diagrama de mai jos comutativǎ
SI (h’, h”) S/σ’ I/ ’
f k
S h S/σ
unde hj(s) = [s]σj j =1, 2, h(i) = [i] . Aplicaţia k este unicǎ, rezultǎ σj = σ’ MSS(σ)
jJ
şi j’ = ' MIS(σ).
j 'J '
k: jJ
S/σj I/ j’ S/σ care face diagrama din enunţul teoremei comutativǎ:
j 'J '
f k
h
S S/σ
40
Se defineşte aplicaţia k:
jJ
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’ Φ
jJ j 'J ' jJ j 'J '
aplicaţie k:
jJ
S/σj I/ j’ O/ astfel ca diagrama sǎ fie comutativǎ:
j 'J '
g k
h
O O/
unde h(o) = [o] , hj(s) = [s]σj, kj’(i) = [i] j’.
{[i] j’/ j’ J}) = [g(s, i)] . Notând σ’ = σj, ’ = j’, se defineşte k’: S/σ’ I/ ’
jJ 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
SI {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ǎ
SI (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 = σ’
jJ
MSO( ) şi j’ = ’ MIO( ).
j 'J '
k: jJ
S/σj I/ j’ O/ astfel ca diagrama din enunţul teoremei sǎ fie comutativǎ:
j 'J '
g k’
h
O O/
Se defineşte aplicaţia k:
jJ
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’ Φ
jJ j 'J ' jJ j 'J '
42
Aceastǎ aplicaţie face comutativǎ diagrama de mai jos:
4. REŢELE ABSTRACTE
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
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
σj MSS(σ)
jJ
şi
j 'J '
j’ MIS(σ) dacǎ şi numai dacǎ exista o aplicaţie k: jJ
S/σj
f k
h
S S/σ
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
z f’i z
n n
j 1
Sj/σj j 1
Sj/σj
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 jJ
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
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
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), , ).
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
m0 = 0
m 1 = 1
m1 = 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.
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
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 =
jJ
j.
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.
lJ
58
Reţeaua N fiind fǎrǎ circuite, starea semiautomatului Al este determinatǎ numai de
Aceasta are loc pentru cǎ dacǎ (s’, s”) σk atunci prk z(s’) = prk z(s”) oricare ar fi
kJl
σk MSS(σl).
kJl
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
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
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) =
j1
σ(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
s relaţia totalǎ pe S
[ ] , [ ] clase de echivalenţǎ
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
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