You are on page 1of 16

AUTMATAS FINITOS Y LENGUAJES FORMALES CLASE 2

INTRODUCCIN A LOS AUTMATAS Autmata: Conjunto de estados + Control Cambio de estados en respuesta a una entrada Tipo de Control - Determinstico: Para cada entrada, hay slo un estado al que el autmata puede ir desde el estado en que se encuentre - !o determinstico: "n autmata #inito es no-determinstico cuando se permite que el AF ten$a % o m&s estados si$uientes para cada par estado-entrada - 'i a(adimos la propiedad de no-determinismo, no a(adimos poder al autmata o !o podemos de#inir nin$)n len$uaje que no se pueda de#inir con el autmata determinstico - Con la propiedad de no-determinismo se a$re$a e#iciencia al describir una aplicacin o Permite pro$ramar soluciones en un len$uaje de m&s alto ni*el o +ay un al$oritmo para compilar un !-D,A en un D,A y poder ser ejecutado en una computadora con*encional - -.tensin del !-D,A para hacer saltos de un estado a otro espont&neamente o Con la cadena *aca como entrada o !-D,A o -stos autmatas tambi/n aceptan len$uajes re$ulares -jemplo: Compra con dinero-electrnico -l cliente utili0a un archi*o 1en*o por internet2 para pa$ar al comerciante -l comerciante al recibir el archi*o pide al banco que le trans#ieran el dinero

Tarea: 3eer la seccin 4 5 5 6 4 5 7 del libro de +opcro#t

DEFINICIN FORMAL DE UN AUTMATA FINITO DETERMINISTICO 5 "n conjunto #inito de estados, tpicamente Q 4 "n al#abeto de smbolos de entrada, tpicamente 8 "n estado es el estado inicial / de comienzo, tpicamente q0

9 Cero o m&s estados finales / de aceptacin: este conjunto es tpicamente F 7 "na #uncin de transicin, tpicamente -sta #uncin: a Toma un estado y un smbolo de entrada como ar$umentos b ;e$resa un estado c "na <re$la= de se escribira como 1q,a2 > p, donde q y p son estados, y a es un smbolo de entrada d ?ntuiti*amente: 'i el AF est& en un estado q, y se recibe una entrada a, entonces el AF *a al estado p 1nota: q > p OK2 "n AF se representa como la 7-tupla: A > 1Q, , , q0, F2

Ejemplo: "n Autmata A que acepta L > @x%5y : x, y @%,5ABA - -l D,A acepta cadenas que tienen %5 en al$una parte de la cadena - -l len$uaje del D,A es el conjunto de cadenas que acepta - @C D C tiene la #orma x%5y para al$unas cadenas x y y que consisten slo de %Es y 5EsA -l Autmata A > 1@q%, q5, q4A, @%,5A, , q%, @q5A2 Autmata representado con una tabla de transiciones: q% q5 q4 % q4 q5 q4 5 q% q5 q5

Autmata representado con un dia$rama de transiciones: 5 % 'tart q% % q4 5 q5 %,5

Convencione 'e utili0an al$unas con*enciones para e*itar mencionar el tipo de cada nombre, para esto utili0amos las si$uientes re$las: 3os smbolos de entrada son a, b, etc , o d$itos 3as cadenas de smbolos de entrada son u, v, , z 3os estados son q, p, etc

Di!"#!m! $e T#!n icione "n AF se puede representar por medio de un $ra#o: los nodos representan estados: un arco de p a q se etiqueta con el conjunto de smbolos de entrada a tal que 1q,a2 > p !o hay arco si a no e.iste -l estado de inicio se indica con la palabra <start= con una #lecha 5 'tart q% % % q4 5 q5 %,5

3os estados de aceptacin tienen doble crculo

E%&en i'n $e ! R(&! ) ?ntuiti*amente, un FA acepta una cadena w > a a! an si hay una ruta en el dia$rama de transiciones que: 5 -mpie0a en el estado de inicio, 4 Termina en un estado de aceptacin, y 8 Tiene una secuencia de etiquetas a , a!, , an -jemplo: -l AF %,5 'tart q% % q5 5 q4

acepta la cadena %55%5 ,ormalmente, e.tendemos la #uncin de transicin a "1q#w2, donde w puede ser cualquier cadena de smbolos de entrada: *! e: "1q#2 > q 1i e , cuando no hay salida, el AF no *a a nin$)n lu$ar2 In$(cci'n: "1q#w2 > 1"1q#x2,a2, donde x es una cadena, y a es un solo smbolo 1i e , *er a dnde *a el AF con x, lue$o buscar la transicin para el )ltimo smbolo a partir de ese estado2 +echo importante con una prueba inducti*a directa: " realmente representa rutas -sto es, si w > a a! an, y 1pi#ai2 > pi$5 para toda i > %, 5, , n-5, entonces "1p0#w2 > pn Acep&!ci'n $e C!$en! "n AF A > 1Q,,,q0,F2 acepta la cadena w si "1p0#w2 est& en F Len"(!je $e (n AF -l AF A acepta el len$uaje L1A2 > @w D "1p0#w2 FA

Al"(n! con+( ione +#ec(en&e "na $ran #uente de con#usin cuando se trabaja con autmatas 1o matem&ticas en $eneral2 son los <errores de tipo= -jemplo: !o con#undir A, con un FA, i e , un pro$rama, con L1A2, el cual es del tipo <conjunto de cadenas= -jemplo: -l estado de inicio q0 es del tipo <estado= pero los estados de aceptacin F son del tipo <conjunto de estados= -jemplo en$a(oso: F-s a un smbolo o una cadena de lon$itud 5G o ;espuesta: Depende del conte.to, i e , Fse usa en 1q#a2, donde es un smbolo, o en %1q#a2, donde es una cadenaG
5 'tart q% 5 % % 5 q4 5 q8 % % q5

Ejemplo: D,A que acepta todas y slo las cadenas que tienen un n)mero par de %Es y tambi/n un n)mero par de 5Es

;epresentacin tabular del autmata anterior q% q5 q4 q8 Ejemplo: Problema 4 4 9 a % q4 q8 q% q5 5 q5 q% q8 q4

A(&'m!&! Fini&o No,De&e#min- &ico "n autmata #inito es no-determinstico cuando se permite que el AF ten$a % o m&s estados si$uientes para cada par estado-entrada:
%,5 'tart q% % q5

-n el ejemplo anterior, se puede apreciar que de q% se puede ir a q% a q5 con la entrada <%=, y esto hace al A, ser no-determinista "n !,A puede estar en *arios estados a la *e0 o se puede *er que <adi*ina= a qu/ estado ir Por ejemplo, el si$uiente autmata acepta todas las cadenas que terminan en %5:

3o que pasa al procesar como entrada a %%5%5 es:

"na herramienta importante para dise(ar procesadores de cadenas, e $ , $rep, anali0adores l/.icos -s #&cil dise(ar !,As que encuentren secuencias de palabras en te.to NFA Fo#m!l ,ormalmente, un !,A es una quntupla A>1Q,,, q0,F2, donde todo es un DFA, pero 1q#a2 es un conjunto de estados en lu$ar de un solo estado De hecho puede ser *aco, tener un solo estado o tener m&s estados "n !,A acepta, al i$ual que un D,A, len$uajes re$ulares Por ejemplo, para el !,A que acepta cadenas que acaban en %5 su #uncin de transicin es:

Como puede obser*arse, todo se especi#ica en conjuntos


H E%&en i'n ! 'imilarmente a un D,A, podemos de#inir la #uncin de transicin e.tendida H como si$ue: H 1q#2 > @qA Iase: ?nduccin: 'ea: H 1q#x2 > @p , p!, , p&A o o 1pi#a2 > 'i para i > 5, 4, , & H 1q#xa2 > '5 '4 -ntonces 'J 1 p, a 2 H 1q#xa2 >
H 1 q,x 2 p

Por ejemplo, podemos calcular

H1q , 2 = {q% } % H 1q% ,%2 =1q% ,%2 ={q% , q5} H1q ,%%2 =1q ,%2 1q ,%2 = {q , q } 5 % % % 5 H1q ,%%52 =1q ,52 1q ,52 = {q , q } 5 % % % 4 H1q ,%%5%2 =1q ,%2 1q ,%2 = {q , q } 4 % % % 5

H 1q%,%%5%52

para el autmata anterior:

Kue tiene un estado #inal Len"(!je $e (n NFA -l len$uaje aceptado por un !,A, A, es: 31A2>@C:

H1q ,%%5%52 =1q ,52 1 q ,52 = {q , q } 5 % % % 4

H 1q%,C2L,MNA

E.(iv!lenci! en&#e (n DFA / (n NFA "n !,A es normalmente m&s #&cil de de#inir, aunque al mismo tiempo, para cualquier !,A ! e.iste un D,A D tal que 31D2>31!2 y *ice*ersa Para esto se usa la construccin de subconjunto que muestra un ejemplo de cmo un autmata se puede construir a partir de otro Con &#(cci'n $e S(0conj(n&o 5 Para cada NFA e.iste un DFA equi*alente 1acepta el mismo len$uaje2

4 Pero el DFA puede tener un n)mero e.ponencial de estados 'ea ' > 1Q', ', ', q0, F'2 un NFA -l D,A equi*alente construido a partir del subconjunto de construccin es ( > 1Q(, , (, @q0A, F(A, donde: 5 DQ( D> 4)Q'): i e , Q( es el conjunto de todos los subconjuntos de Q' 4 F( es el conjunto de conjuntos * en Q( tal que * F' 8 Para cualquier * Q' y
p *

( 1 * , a 2 = ' 1 p, a 2

a ,

O sea, la unin de todos los estados a partir de p con entrada a (1@q ,q!, ,q&A,a2 > '1p ,a2 '1p!,a2 '1p&,a2 3a #uncin de transicin ( del !,A anterior es:

Al e.istir 8 estados, tenemos P subconjuntos -sto mismo lo podemos poner como:

3o cual es un D,A 1simplemente cambiando la notacin2 Tambi/n es importante notar que no todos los estados pueden ser alcan0ados -n

particular, slo los estados I, - y , son accesibles, por lo que los dem&s los podemos eliminar "na #orma de no construir todos los subconjuntos para despu/s encontrar que slo unos cuantos son accesibles, es construir la tabla slo para los estados accesibles 1lazy evaluation2 Para el ejemplo anterior: (1@q0A,02 > @q0,q A (1@q0A, 2 > @q A (1@q0,q A,02 > @q0,q A (1@q0,q A, 2 > @q0,q!A > '1q0, 2 '1q , 2 (1@q0,q!A,02 > @q0,q A (1@q0,q!A, 2 > @q0A 3o que nos queda:

Teorema cla*e 1induccin de DwD, la prueba est& en el libro2: %(1@q0A,w2 > %'1q0,w2 3o que queremos probar es que si D > 1Q(, , (, @q0A, F(2 es construido a partir del !,A ' > 1Q', ', ', q0, F'2 usando construccin de subconjuntos, entonces 31D2 > 31!2 Kueremos probar por induccin en w que
H 1@q A, w2 = H 1q , w2 3as dos ( % ' %

#unciones de transicin re$resan conjuntos de estados de K!, pero la determinstica lo interpreta como uno solo de sus estados KD

H 1@q A, 2 = H 1q , 2 =@q A Iase: w = , en este caso ( % ' % % ?nduccin: Tomamos w de lon$itud n$ y asumimos que se cumple el H 1@q A, x 2 = H 1 q , x 2 'ean estos dos conjuntos enunciado para n, o sea que ( % ' % @ p , p , , p A de estados > 5 4 Di*idimos a w en xa &
H para el !,A nos dice que: 3a de#inicin de

H 1 q , w2 = 1 p , a 2 ' i ' %
i= 5 & i= 5

&

Por la construccin de subconjuntos: "sando esto, y que

( 1@ p5 , p4 , , p& A, a 2 = ' 1 pi , a 2

H 1@q A, x 2 =@ p , p , , p A ( % 5 4 &

tenemos que:
& i= 5

H 1@q A, w2 = 1 H 1@q A, x 2, a 2 = 1@ p , p , , p A, a 2 = 1 p , a 2 = H 1q , w2 ( % ( ( % ( 5 4 & ' i ' %

Tanto ( y ' aceptan C cuando contiene un estado en F' Consecuencia: L1(2 > L1'2 Ejemplo: Problema 4 8 5 Ejemplo -n este ejemplo un tanto ima$inario, se dise(ar& un NFA para aceptar cadenas sobre el al#abeto @5, 4, 8A de tal manera que el )ltimo smbolo apare0ca pre*iamente, sin nin$una inter*encin de un smbolo m&s alto entre esa pre*ia aparicin del smbolo, e $ , 55, 45554, 854548 Truco: "tili0ar el estado de inicio con el si$ni#icado <Creo que toda*a no se ha *isto el smbolo que corresponde al smbolo #inal= Otros tres estados representando una eleccin de que el smbolo con que acaba la cadena se ha *isto y se recuerda de que smbolo se trata

q 5 5,4,8 'tart p 4 r 5 8 s 5,4 8 4 t 5

Ejemplo: 'ubconjunto de Construccin del !,A Pre*io "n truco pr&ctico importante utili0ado por anali0adores l/.icos y otros procesadores de te.to es i$norar los 1#recuentemente muchos2 estados que no son accesibles desde el estado de inicio 1i e , no hay ruta que lle*e a ellos2 Para el ejemplo anterior de !,A, de los 84 subconjuntos posibles, solo 57 son accesibles Calculando las transiciones <por demanda= obtenemos el si$uiente (: --> p pq Bpqt pr Bprt ps Bpst prs Bprst pqs Bpqst pqr Bpqrt pqrs Bpqrst 5 pq pqt pqt pqr pqr pqs pqs pqrs pqrs pqst pqst pqrt pqrt pqrst pqrst 4 pr pr pr prt prt prs prs prst prst prs prs prt prt prst prst 8 Ps Ps Ps Ps Ps Pst Pst Pst Pst Pst Pst Ps Ps Pst Pst

T!#e!: Problemas 4 9 5 a,b

AUTMATAS FINITOS Y LENGUAJES FORMALES A(&'m!&! Fini&o Con T#!n icione , 'ea una etiqueta en arcos !o hay nin$)n cambio e.tra: la aceptacin de w toda*a se da como la e.istencia de la ruta desde un estado de inicio a un estado de aceptacin con etiqueta w o Pero puede aparecer en los arcos, y si$ni#ica que hay una cadena *aca 1i e , no tiene una contribucin *isible para w2 Ejemplo % 'tart q 5 % 5 r s

%%5 es aceptado si$uiendo la ruta q, s, r, q, r, s, con la etiqueta %%5 > %%5 Podemos dise(ar un autmata que acepte cadenas de n)meros que ten$an un si$no al inicio opcional, se$uida posiblemente de una cadena de decimales, se$uida de un punto decimal y posiblemente de otra cadena de decimales

Q&s #ormalmente: "n -!,A es una quntupla 1Q, , , q0, F2, donde es una #uncin de K.@A al conjunto potencia de K

3a tabla de transicin del -!,A del ejemplo anterior es:

Elimin!ci'n $e l! T#!n icione , 3as transiciones- son una con*eniencia, pero no incrementan la potencia de los FARs Para eliminar las transiciones-: 5 Calcular la cerradura transiti*a slo para los arcos a -jemplo: q r q --> @qA: r -->@r,sA: s-->@r,sA 4 'i un estado p puede alcan0ar al estado q por medio de arcos , y e.iste una transicin de q a r en la entrada a 1no 2, entonces a(&dase una transicin de p a r con la entrada a 8 Con*ertir el estado p en un estado de aceptacin siempre y cuando p pueda alcan0ar al$)n estado de aceptacin q por medio de arcos 9 -liminar todas las transiciones- s

% 'tart q 5 r s

%,5 %,5 Ejemplo De la misma #orma como lo hicimos anteriormente, podemos de#inir las H para -!,A transiciones e.tendidas H 1 q, 2 = +,L-*+ 1 q 2 Iase: H 1 q , xa 2 = +,L-*+ 1 p 2 ?nduccin: H 1 q ,7 S2 es: Por ejemplo, %
p 1 H 1 q , x 2, a 2

H 1q , 2 =@q , q A = +,L-*+ 1q 2 % % 5 % 1q% ,72 1 q5 ,72 =@q5 , q9 A H1q ,72 +,L-*+ 1q5 2 +,L-*+ 1q9 2 =@q5 , q9 A = %

1q5 , 2 1 q9 , 2 =@q4 , q8 A
H 1q ,7 2 +,L-*+ 1q4 2 +,L-*+ 1q8 2 =@q4 , q8 , q7 A = %

1q4 ,S2 1q8 ,S2 1q7 ,S2 =@q8 A


H 1q ,7 S2 +,L-*+ 1q8 2 =@q8 , q7 A = %

Como antes, el len$uaje aceptado por un -!,A, -, es: H 1q%,w2L,MNA, osea todas las cadenas w que *an de un estado 31-2>@w: inicial q% a al menos un estado #inal 'e puede demostrar que se puede construir un D,A a partir de un -!,A si$uiendo un esquema parecido al de construccin de subconjuntos *isto para !,A
Q( = @* : * Q+ * = +,L-*+ 1 * 2A q( = +,L-*+ 1q% 2 F( = @* : * Q( * F+ A

lo que se calcula para todos los a y conjuntos

( 1 * , a2 = +,L-*+ 1 p2 : p ( t , a ) , t *A

* Q(

Ejemplo: Problema 4 7 S Por ejemplo, el D,A correspondiente al -!,A de n)meros decimales 1omitiendo todas las transiciones a estados <muertos=2 es:

'e puede demostrar que un len$uaje 3 es aceptado por al$)n -!,A - si y solo si 3 es aceptado por un D,A Para esto, hacia un sentido es #&cil 1cambiando un D,A a un -!,A2 y para el otro sentido se hace lo mismo que hemos hecho antes, probando con el caso base y el caso inducti*o, donde partimos w.xa, asumimos que es *erdad para x y probamos para w, solo que
ahora tomando la cerradura o -C3O'- para los estados

You might also like