Vous êtes sur la page 1sur 10

TEMA 5. AUTMATAS FINITOS.

CONTENIDOS 5.1.- Conceptos y Tipos de Autmatas. 5.2.- Autmatas Finitos. 5.2.1.- Configuracin. 5.2.2.- Movimiento. 5.2.3.- Forma de Reconocimiento. 5.2. .- !engua"e Reconocido por un autmata finito. 5.3.- Formas de Representar un Autmata Finito. 5.3.1.- Representacin Ta#u$ar. 5.3.2.- Representacin por %iagramas. 5. .- &aso de una 'ram(tica Regu$ar a Autmata Finito. 5.5.- &aso de Autmata Finito a 'ram(tica Regu$ar. 5.).- &aso de Autmata Finito a *+presin Regu$ar.

5.1.- CONCEPTOS Y TIPOS DE AUTMATAS !as m(,uinas reconocedoras o autmatas son dispositivos forma$es ,ue deciden si una cadena pertenece o no a un determinado $engua"e. *n genera$- estas m(,uinas constan de $os siguientes e$ementos. a/ 0na cinta de entrada- dividida en ce$das- cada una de $as cua$es est( ocupada por un s1m#o$o de$ voca#u$ario de entrada. &uede e+istir un s1m#o$o especia$ $$amado de$imitador 2- ,ue marca e$ comien3o y fina$ de $a cadena.

$ a b b a $ Cabeza de lectura

#/ 0na memoria- ,ue consta de una funcin de direccionamiento- una funcin de #4s,ueda y un a$fa#eto de memoria. c/ 0n contro$ de estados- ,ue no es m(s ,ue una funcin ,ue nos dice a ,ue estado de#e transitar $a m(,uina cuando- encontr(ndose en un estado- $ee un determinado s1m#o$o en $a cinta de entrada. !$amamos configuracin a$ con"unto de e$ementos ,ue definen $a situacin de un autmata en un instante dado. %iremos ,ue estamos en $a configuracin inicia$ cuando e$ autmata se encuentra en e$ estado inicia$- con $a ca#e3a de $ectura situada en $a posicin m(s a $a i3,uierda- y en $a memoria de$ autmata est(5 e$ s1m#o$o de memoria inicia$. %e $a misma forma- e$ autmata se encuentra en $a configuracin fina$- cuando $a ca#e3a se encuentra posicionada en e$ s1m#o$o m(s a $a derec6a de $a cinta de entrada- y $a memoria est( en unas condiciones determinadas. 0n autmata se dice ,ue es no7determinista cuando estando en un estado y tras $eer un determinado s1m#o$o puede pasar a dos o m(s estados distintos. &or e$ contrario- si e$ estado a$ ,ue puede pasar $a m(,uina es 4nico para una determinada configuracin dada- entonces e$ autmata es determinista. !os Tipos de M(,uinas ,ue e+isten en re$acin con $as gram(ticas de C6oms8y son . 9 Autmatas Finitos . reconocen $engua"es regu$ares. 9 Autmatas con &i$a . reconocen $engua"es de conte+to $i#re. 9 Autmatas #idirecciona$es. $engua"es sensi#$es a$ conte+to. 9 M(,uinas de Turing. $engua"es de estructura de frase. Cuando- adem(s de reconocer si una cadena de entrada pertenece o no a un $engua"e- estas m(,uinas son capaces de generar otras cadenas- pertenecientes a un determinado a$fa#eto de sa$ida- ,ue se escri#en so#re una cinta de sa$ida- entonces se denominan traductores.

5.2.- AUTOMATAS FINITOS 0n autmata finito es una m ,uina reconocedora de $engua"es regu$ares sin memoria au+i$iar y $a ca#e3a s$o se mueve a derec6a- ,ue consta de $os siguientes e$ementos. AF . : ;-Te--,<-F = donde . ; . Con"unto finito de estados. Te. Con"unto de s1m#o$os de entrada >A$fa#eto de entrada> . Re$acin de transicin entre estados- ta$ ,ue. . ? ; + :Te 0 = / --@ ; A cada par ?estado- s1m#o$o $e1do/ $e corresponden ninguno- uno o varios estados pertenecientes a ;- se admiten adem(s transiciones de$ tipo ?,-/ A ,B- ,ue representan un cam#io entre estados sin rea$i3ar $ectura a$guna en $a entrada. A cada una de $as asignaciones de $a re$acin de transicin $as $$amaremos transiciones. ,< . *stado inicia$C ,< pertenece a ;. F . Con"unto de estados fina$esC F inc$uido en ;. *"emp$o. Dea AFE : ;-Te--,<-F = en donde . ; . : ,<-,1-,2-,3-, = Te. : a-#-c = ,< . ,< F .:, = podemos resumir $a re$acin de transicin en $a siguiente ta#$a .

b q1 q2, q4 q3 q4

c q1 q2 q3,q4 q4

q0 q0, q1 q0, q2 q0,q3 q1 q1, q4 q2 q3 q4 q2 q3 q4

5.2.1.- Configuracin *n un instante dado $a configuracin de un autmata finito viene dada por e$ par ?,- F /- siendo , . estado actua$ de $a m(,uina. ?, pertenece a ;/ F . su#cadena ,ue ,ueda por $eer. ?pertenece a T9/ Configuracin inicia$ -@ *stado inicia$ y cadena integra por reconocer ?,<- F/. Configuracin fina$ -@ !$egado a un estado fina$ perteneciente a F y $a cadena vac1a ?,- /.

5.2.2.- Mo i!i"n#o *$ paso de una configuracin a otra se $$ama movimiento. 0n movimiento v($ido de$ autmata para una configuracin dada ?,- +F /- se produce por tanto si y s$o si e+iste transicin de $a forma ?,- + / ?,- +F / GHHH ?,B-F/ I-------@ ?,-+/ A ,B en donde ,-,B pertenecen a ; + pertenece a T 0 F pertenece a T9

Cuando transitamos de una configuracin a otra en un n4mero de movimientos mayor o igua$ ,ue cero $o e+presaremos como. ?,-F</ GHHH9 ?,B-Fn/ I-----@ ?,-F</ GHHH ?,B-F1/ - ... - ?,-Fn-1/ GHHH ?,B-Fn/

5.2.$.- For!a %" r"conoci!i"n#o 0n autmata finito reconoce o acepta una cadena de entrada si- tras $eer$a comp$etamente- e+iste a$ menos un camino- o secuencia de movimientos ta$es ,ue a partir de $a configuracin inicia$ se $$ega a un estado fina$perteneciente a$ con"unto de estados fina$es F. ?,<-/ GHHH9 ?,f-/ - ,f pertenece a F. Etese ,ue pueden e+istir otras secuencias de movimientos ,ue a partir de $a misma tira de entrada- 6agan terminar a$ autmata en un estado no fina$. Cuando todas $as secuencias de movimientos aca#an en un estado no fina$ diremos ,ue e$ autmata no 6a reconocido $a cadena. 5.2.&.- '"ngua(" r"conoci%o )or un Au#!a#a Fini#o Don a,ue$$as cadenas ,ue acepta un autmata finito- forma$mente se define como. !?AF/ A : J pertenece a Te9- ?,<-/ GHHH9 ?,f-/- ,f pertenece a F = 5.$.- *EP*ESENTACION DE AUTOMATAS F. *+isten dos formas de representar un A.F.- ,ue son. - Representacin Ta#u$ar. - Representacin con %iagramas. %ada $a siguiente descripcin . AF.? :,<-,1-,2=- :a-#= - -,<- :,2= / ?,<-a/A:,1= ?,<-#/A ?,1-a/A:,1-,2= ?,2-a/A ?,1-#/A ?,2-#/A:,2=

5.$.1.- *")r"+"n#acin Ta,u-ar *$ con"unto T ser( e$ enca#e3ado de sus Co$umnas. *$ con"unto ; ser( e$ enca#e3ado de sus Fi$as.

q0 q2

a q1

q1 q1, q2 q2

5.$.2.- *")r"+"n#acin )or %iagra!a+ %" Tran+icion"+ De rea$i3a mediante grafos eti,uetados y dirigidos- cada nodo se eti,ueta con un estado. Di ?,i-a/A,8 para todo a perteneciente a T- entonces e+iste un arco eti,uetado con a ,ue va desde ,i 6asta ,8. A$ estado inicia$ $e $$ega un arco ,ue no se inicia en ning4n nodo. *$ nodo correspondiente a$ estado fina$ estar marcado por un do#$e c1rcu$o. a q0 a q1 a q2 b

*"emp$os. 1.- Dea e$ siguiente autmata finito . MA? :,<-,1-,2= - :<-1= - -,<-:,2= /

q0 q1 q0 q1 q2 q0 q2 q2

a/ Reconocer $a cadena 11<1<<1 A@ ?,<- 11<1<<1/ GH ?,<-1<1<<1/ GH ?,<-<1<<1/ GH ?,1-1<<1/ GH ?,<-<<1/ GH ?,1-<1/ GH ?,2-1/ GH ?,2-/ A@ Reconocida. #/ Reconocer $a cadena 1<1< A@ ?,<-1<1</ GH ?,<-<1</ GH ?,1-1</ GH ?,<-</ GH ?,1-/ A@ Cadena no reconocida- no $$egamos a estado fina$. c/ Reconocer $a cadena <<1< A@ ?,<-<<1</ GH ?,1-<1</ GH ?,2-1</ GH ?,2-</ A@ Cadena no reconocida por no se $e1da comp$etamente.

2.- Dea e$ siguiente autmata finito . MA? :,<-,1-,2= - :a-#= - -,<-:,2= / b a q2

a q0 a q1

a/ Reconocer $a cadena aaa## A@ ?,<-aaa##/ GHHH ?,1-aa##/ GHHH ?,2-a##/ GHHH Eo podemos. GHHH ?,1-a##/ GHHH ?,1-##/ GHHH Eo GHHH ?,2-##/ GHH?,2-#/GHHH ?,2-/ A@ Cadena reconocida.

5.&.- PASO DE .*AMATICA *E.U'A* A AF. *$ a$goritmo para encontrar e$ autmata finito ,ue reconoce e$ $engua"e de una 'ram(tica regu$ar a i3,uierda es e$ siguiente . *ntrada A@ una 'ram(tica regu$ar '?E-T-&-D/ Da$ida A@ 0n AFE MA?;-T--,<-F/ no determinista ,ue reconoce e$ $engua"e generado por '. MKtodo A@ &aso 1.- A cada no7termina$ de $a 'ram(tica se $e 6ace corresponder un estado de$ autmata. &aso 2.- A$ e+istir reg$as de $a forma A-@a- se inc$uye un nuevo estado en ; y se inc$uye tam#iKn en F. &aso 3.- *$ estado inicia$ es e$ ,ue est( asociado a$ a+ioma. &aso .- Di e+iste $a reg$a D-@- entonces e$ estado inicia$ se inc$uye en F. &aso 5.- &ara cada reg$a Ai-@aA" se crea una transicin ?,i-a/A,". *"emp$o. Dea $a 'ram(tica '? :D-A-L= - :a-#= -&-D/ &A: D -@ aA A -@ aA M #L M # L -@ #L M # = 1.- Nacemos corresponder DI-@,< C AI-@,1 C LI-@,2 2.- Tenemos en &- A-@# C L-@# entonces inc$uimos ,3 en ; y F. 3.- Eo inc$uimos ,< en F. .D-@aA A-@aA A-@#L A-@# L-@#L L-@# ------------------------------------------?,<-a/A,1 ?,1-a/A,1 ?,1-#/A,2 ?,1-#/A,3 ?,2-#/A,2 ?,2-#/A,3

af.?:,<-,1-,2-,3=-:a-#=--,<-:,3=/ a b q0 q1 q1 q1 q2, q3 q2 q3 q2,q3

5.5.- PASO DE AF. A .*AMATICA *E.. *$ a$goritmo para encontrar $a 'ram(tica regu$ar a i3,uierda ,ue genera e$ $engua"e reconocido por un autmata finito es e$ siguiente . *ntrada A@ 0n AFE MA?;-T--,<-F/ Da$ida A@ 0na 'ram(tica regu$ar a i3,uierda '?E-T-&-D/ con posi#$es s1m#o$os in4ti$es. MKtodo A@ &aso 1.- *$ con"unto T es e$ mismo. &aso 2.- &ara cada estado ,i se crea un no7termina$ Ai. &aso 3.- &ara cada reg$a de Transicin ?,"-a/A,i se crea $a reg$a A"-@aAi. Di adem(s ,i pertenece a F se crea $a reg$a A"-@a. Di ,i pertenece a F y es a#so$utamente convergente no se crea A"-@aAi. *"emp$o. Dea e$ AFE. MA?;-T--,<-F/- donde ;A:,<-,1-,2= TA:a-#= FA:,2= Funcin . ?,<-a/A:,1= ?,1-#/A ?,<-#/A ?,2-a/A ?,1-a/A:,1-,2= ?,2-#/A:,2= 1.- Nacemos corresponder ,<I-@A C ,1I-@L C ,2I-@C 2.?,<-a/A ,1 ?,1-a/A ,1 ?,1-a/A ,2 ?,2-#/A ,2 -------- A -@ aL -------- L -@ aL -------- L -@ aC -------- L -@ a -------- C -@ #C -------- C -@ #

3.- '? :A-L-C= - :a-#= -&-A/

5./.PASO DE AF. A E0P*ESION *E.. *$ a$goritmo para o#tener $a e+presin regu$ar ,ue denota e$ $engua"e reconocido por un autmata finito dado - se #asa en e$ emp$eo de sistemas de ecuaciones o#tenidas a partir de$ AFE. Dea e$ autmata finito MA? :,<-,1-,2= - :a-#= - -,<-:,2= /- con funcin de transferencia . ?,<-a/A:,1= ?,<-#/A O#tenemos $as siguientes ecuaciones. 1.- Asignamos $as re$aciones ,<I-@P< C ,1I-@P1 C ,2I-@P2 2.- O#tenemos $as ecuaciones directas . P<AaP1 P1AaP1QaP2 P2A#P2 3.- Como ,2 pertenece a F A@ P1AaP1QaP2Qa P2A#P2Q# .- *$ sistema de ecuaciones fina$ y su resu$tado es. P<AaP1 P1AaP1QaP2Qa P2A#P2Q# *+presin regu$ar A@ aa9a#9 *"ercicios . 1.- Dea e$ AFE. MA?;- T- -,<-F/- donde ;A:,<-,1-,2-,3= TA:a- #= FA:,2-,3= Funcin . ?,<-a/A:,1=C ?,1-a/A:,2=C ?,2-a/A:,2=C ?,3-a/A ?,<-#/A C ?,1-#/A C ?,2-#/A:,2=C ?,3-#/A:,3= ?,1-a/A:,1-,2= ?,2-a/A ?,1-#/A ?,2-#/A:,2=

2.- Dea e$ AFE. MA?;- T- -,<-F/- donde ;A:,<-,1-,2-,3-, -,5= TA:a-#-c-d= FA:, -,5= Funcin . ?,<-a/A:,1=C ?,1-#/A:,2-,3=C ?,2-#/A:,2=C ?,2-c/A:, =C ?,3-d/A:,3-,5=C

5.1.- T*ANSFO*MA* E0P*ESIONES *E.U'A*ES EN A. FINITOS &artiendo de una e+presin regu$ar e+isten dos formas de o#tener e$ autmata finito ,ue recono3ca $as cadenas pertenecientes a$ $engua"e por e$$a representada. !a primera de e$$as consiste en o#tener mediante e$ uso de derivadas $a gram(tica regu$ar por $a i3,uierda y de Ksta o#tener e$ autmata finito asociado. !a segunda forma consiste en asociar a cada reg$a de descripcin de $a e+presin regu$ar un autmata ,ue $a reconoce. Ramos a estudiar $a segunda de e$$as por ser $a forma en $a ,ue $os generadores de ana$i3adores $e+icogr(ficos o#tienen $os autmatas de forma autom(tica. *ste a$goritmo asocia a cada e+presin regu$ar un autmata ,ue reconoce e$ $engua"e descrito por dic6a e+presin regu$ar. !os autmatas o#tenidos de#en cump$ir $as siguientes propiedades.

D$o puede e+istir un estado fina$. Eing4n arc6o termina en e$ estado inicia$. Eo 6ay ning4n arco ,ue sa$ga de$ fina$.

!a e+presin regu$ar A - tiene como autmata asociado

!a e+presin regu$ar Aa - donde a es termina$- tiene como autmata asociado

&ara $a e+presin regu$ar A+, donde y son e+presiones regu$ares. De parte de dos grafos ? uno ,ue representa a y otro ,ue representa a /. Duponiendo ,ue uno tiene como estado incia$ p< y como fina$ pf y otro tiene como estado incia$ r< y como fina$ rf- se crea un nuevo estado inicia$ ,< y un nuevo estado fina$ ,f y se conectan de $a siguiente forma.

p0

pf

r0

rf

q0

p0

pf

qf

r0

rf

&ara $a e+presin regu$ar A, donde y son e+presiones regu$ares. De parte de dos grafos ? uno ,ue representa a y otro ,ue representa a /. Duponiendo ,ue uno tiene como estado incia$ p< y como fina$ pf y otro tiene como estado incia$ r< y como fina$ rf- se crea un nuevo arco eti,uetado con desde pf 6acia r< y se toma como inicia$ r< y como fina$ rf.

p0

pf

r0

rf

p0

pf

r0

rf

&ara $a e+presin regu$ar A, donde es una e+presin regu$ar. De parte de$ grafo ,ue representa a suponiendo ,ue tiene como estado incia$ p< y como fina$ pf- se crea un nuevo estado inicia$ ,< y un nuevo estado fina$ ,f y se conectan de $a siguiente forma.

p0

pf

q0

p0

pf

qf