Sunteți pe pagina 1din 11

Curs nr.

5
30 octombrie 2008

Automate Mealy
Am vorbit cursul precedent despre o masina care, pe lng treceri dintr-o stare n alta, ofer i ieiri. Reamintim: Fie M = ( S , , ) un semiautomat i presupunem c, n plus, avem o alt mulime

nevid , i o funcie : S P * ( ) (funcie de ieire sau rspuns).


= ( S , , , , ) este numit automat Mealy (introdus de G. Mealy Un 5-uplu M n 1955).
Mod de lucru:

Presupunem c maina se afl n starea s i se aplic un simbol de intrare a. n acest moment, automatul se deplaseaz n starea ( s, a) = a ( s) i produce o ieire

( s, a ) . Se obine, n acest fel, i o aplicaie a : S , a ( s) = ( s, a ).


Atunci cnd mainii i se aplic un cuvnt w = a1 a 2 ...a n * , n starea s, putem privi automatul ca fiind o cutie neagr nzestrat cu dou benzi, una de intrare pe care sunt scrise simbolurile lui w i una de ieire. Odat ce maina citete un simbol, de pe banda de intrare, ea i schimb starea, i, n acelai moment, imprim un simbol din pe banda de ieire:

Starea final, dup introducerea cuvntului w = a1 a 2 ...a n , este ( s ) i cuvntul imprimat este b1b2 ...bn * , unde

b1 = a1 ( s), b2 = a2 ( a1 ( s )),..., bn = an ( an 1 o ... o a1 )( s )). = ( S , , , , ) este un automat Mealy, semiautomatul M = ( S , , ) Dac M

. se numete semiautomatul ataat automatului M


poate extinde la un automat, ns extinderea nu este unic.

Din definiie, este clar c

semiautomatul ataat este unic determinat de automat. n plus, dat un semiautomat, el se S descriem cteva modaliti de a obine automate noi, prin conectarea a dou (sau mai multe) automate. Pentru aceasta, vom privi, din nou, automatul ca fiind o cutie neagr avnd un canal de intrare i unul de ieire.

Conectri paralele.

= ( S , , , , ) i M ' = ( S ' , , ' , ' , ' ) dou automate Mealy avnd Fie M acelai alfabet de intrare . Le putem conecta n paralel astfel:

M ' i el este descris de: Vom nota automatul obinut prin M


M ' = ( S S ' , , ' , ' , ' ) unde: M

( ' )(( s, s ' ), a) = ( ( s, a), ' ( s ' , a ))


oricare ar fi ( s, s' ) S S ' , a .

( ' )((s, s' ), a ) = ( ( s, a ), ' ( s' , a)),

cu M '. M ' se numete produsul direct restrns al lui M 2.1. Definiie. M Este clar c el produce cuvintele din ( ' ) * ca rspuns la cuvinte de intrare din * . Se poate obine o conectare n paralel, chiar i n cazul n care alfabetele de intrare sunt diferite. Astfel: ' = ( S ' , ' , ' , ' , ' ) dou automate Mealy. = ( S , , , , ) i M Fie M M ' = ( S S ' , ' , ' , ' , ' ), unde Definim M ( ' )((s, s' ), (a, a' ) = ( ( s, a ), ' ( s' , a' )) oricare ar fi ( s, s' ) S S ' , a , a ' '. si M ' 2.2. Definiie. Aceast main Mealy se numete produsul direct al lui M Ea duce cuvinte din ( ' ) * n cuvinte din ( ' ) * .
2.1. Observaie. Dac (a1 , a1 ' )(a 2 , a 2 ' )...(a n , a n ' ) ( ' ) * , el poate fi vzut (i

( ' )(( s, s ' ), (a, a' )) = ( ( s, a), ' ( s' , a' )),

scris) ca fiind (a1 a 2 ,..a n , a1 ' a 2 '...a n ' ) * '* . Din acest motiv, este clar c nu putem utilize orice cuvnt din * '* drept cuvnt de intrare, cu excepia cazului n care este de forma: ( w, w' ) * '* cu l ( w) = l ( w' ). Din acest motiv, putem considera o generalizare a produsului direct. Fie un alphabet oarecare i : ' o funcie. Asociat produslui cartezian

'

avem

proieciile

canonice

p : ' , p ( a, a ' ) = a

p': ' ' , p' (a, a ' ) = a'.


si M ' 2.3. Definiie. Se numete produsul direct generalizat al automatelor M asociat lui

si

automatul:

M ' = ( S S ' , , ' , , ), M

unde

(( s, s ' ), a ) = ( ( s, p (a ), ' ( s ' , p' (a))) i (( s, s' ), a ) = ( ( s, ps(a ), ' ( s' , p' (a ))),

Acest automat generalizeaz ambele concepte de produs direct descrise anterior. O reprezentare a sa ar fi :

Conectarea n serie.

n cazul n care dorim s conectm dou maini Mealy n serie ar trebui s gsim o modalitate de agare a ieirii uneia de intrarea celeilalte. ' = ( S ' , ' , ' , ' , ' ) dou automate Mealy. = ( S , , , , ) i M Fie M ' se afl simboluri din ' n timp ce la intrarea lui M se afl La ieirea din M simboluri din . Aadar, trebuie s stabilim o legtur ntre ' si , iar aceast

' se legtur se poate realiza printr-o funcie : ' . Pe de alt parte, la ieirea din M
obine un cuvnt de ieire din '* i se pune ntrebarea dac transmiterea se face liter cu liter. Din fericire, proprietatea de universalitate a monoizilor liberi (vezi cursurile precedente) ne asigur c, pentru : ' , exist i este unic o extindere la un morfism (pe care-l notm tot cu ), : '* * . Fie : S ' ' definit prin ( s' , a' ) = ( ' ( s' , a' )). Obinem astfel, pentru fiecare a ' ' , o funcie a ' : S ' , a ' ( s' ) = ( s' , a ' ), () s' S '. Maina Mealy obinut este: M ' = ( S S ' , ' , , , ), unde (( s, s ' ), a' ) = ( ( s, ( s ' )), ' ( s' , a' )) i M a'

(( s, s' ), a' ) = ( s, a ' ( s' )), pentru orice a' ' , ( s, s' ) S S '.
M ' se numete produsul de cascad a lui M cu 2.5. Definiie. Automatul M ' indus de . O conectare n cascad se poate reprezenta astfel: M

Fr a mai insista, merit totui s menionm c toate construciile date pn acum (conectrile n paralel, conectarea n serie) se pot defini i pentru semiautomate, acestea putndu-se realiza prin simpla omitere a mulimilor i a funciilor de ieire.
Atenie totui la produsul cascad pentru semiautomate - el nu se mai realizeaz

legnd ieirile unuia de intrrile celuilalt, ntruct nu exist ieiri. n cele ce urmez, vom da descrierea unui automat Mealy cu ajutorul grafului asociat i a tabelelor de tranziie i de ieire. = ( S , , , , ) un automat Mealy. Se utilizeaz Descrierea tabelar. Fie M dou matrice, de dimensiune | S | | |, una pentru funcia de tranziie i una pentru funcia de rspuns.
Graful asociat. Fie G = ( S , E ) graful orientat care are drept mulime de noduri,

mulimea strilor automatului

(adic S) iar ca muchii (arce) mulimea Acestui graf i se asociaz i o funcie de

E = {( si , s j ) | ()a : ( si , a) s j }.

etichetare , definit dup cum urmeaz: Fie e E , deci exist si , s j S astfel nct e = ( si , s j ); vom asocia lui e, prin , toate perechile (a, b) , unde ( si , a) = s j i b ( si , a).
2.6. Exemple.
= ({0,1}, {a , a }, {b , b , b }, , ) unde 1. Fie M 1 2 1 2 3

0 1

a1
0 0

a2
1

0 1

a1 b1 b2

a2 b3 b1

Graful asociat este :

= ({0,1}, {a , a , a }, {b , b }, , ) unde 2. Fie M 1 2 3 1 2

0 1

a1

a2

a3
1

0 1

a1 b2

a2 b1

a3 b2

{0,1} 0

{b1, b2} b3 {b1,b2}

{0,1} 1

Graful asociat va fi:

Se poate observa c, n cazul nedeterminist, putem avea muchii distincte etichetate cu aceeai etichet.

Deoarece graful asociat unui automat Mealy poate fi foarte complicat chiar n cazul n care mulimile S , , au puine elemente, vom descrie conexiunile paralele sau serie date pn acum numai n cazul semiautomatelor.
2.7. Exemple. 1) Fie semiautomatele M i M ' avnd grafurile de tranzitie:

produsul direct restrns M M ' i produsul direct M M ' au acelai graf de tranziie (ntruct alfabetul de intrare i la M i M ' este format dintr-un singur element:

2) Fie M ca n primul exemplu i M avnd graful de tranziie :

Deoarece nu avem acelai alfabet de intrare, M M ' nu exist n acest caz. n schimb, M M ' are urmtorul graf de tranziie:

3) Fie M dat prin:

i M dat prin :

Definim funcia: : S ''

prin (0, a) = a, (1, a) = b (unde

S ' = {0,1}, ' = {a},

= {a, b} ). Putem defini produsul n cascad MM ' , dat prin graful:

S mai prezentm un exemplu de modelare cu ajutorul teoriei automatelor:


Reele neurale

Un model pentru creier se poate construi pornind de la un neuron:

Prin dendrite se primesc impulsuri electrice de mic intensitate pe care nucleul le adun. La depirea unei anumite valori , numite valori de prag, celula reacioneaz trimind un impuls prin axon. Filamentele de la captul axonului se afl n contact electric cu dendritele altor neuroni. n acest fel neuronul primete i transmite impulsurile electrice ntr-o reea de neuroni (interconectai) ce formeaz creierul. Putem reprezenta, schematic, un neuron prin :

unde x1, , xn sunt ponderi asociate dendritelor. Unele ponderi sunt numere reale pozitive, ce indic dendrite excitatorii iar altele vor fi negative, corespunztoare

dendritelor inhibitorii. Valoarea de prag este notat cu t, iar y este ponderea axonului, i
indic puterea impulsului de ieire. Pentru a descrie un automat Mealy asociat, vom considera cazul particular al unui neuron simplu (fiind mai uor de modelat) :

Mulimea strilor este S = {d , i}, corespunztoare d deschis, i nchis. Mulimea intrrilor este = {(0,0), (1,0), (0,1), (1,1)} i mulimea ieirilor este = {0,1}. Dac un neuron este deschis i primete la intrare 1 pe D1 i 0 pe D2, n urmtorul punct pe scara timpului, neuronul se va nchide ntruct valoarea de prag nu a fost atins. n orice caz, va exista o ieire 1 (pentru c el era deschis). Putem alctui matricele asociate funciilor de intrare i de ieire :

(0,0) (1,0) (0,1) (1,1)

d i i i d i i i d

(0,0) (1,0) (0,1) (1,1)

d
1 1 1 1

i
0 0 0 0

Utiliznd acest model simplificat al neuronului, se poate investiga modul n care informaia, sub forma unor mici impulsuri de electricitate, se plimb ntr-o reea format din astfel de neuroni. Se poate demonstra c o astfel de reea neuronal este echivalent cu un automat Mealy.
Not. Un tip de automat asemntor automatului Mealy este automatul Moore care a

aprut cam n aceeasi perioad de timp. Un automat Moore este un 5 uplu

= {S , , , , ) unde S , , , au aceleai semnificaii ca la automatul Mealy, M iar : S P * ( ). V propun ca exerciiu s ncercai s repetai constideraiile fcute pentru automatele Mealy pentru cazul automatelor Moore.

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