Beruflich Dokumente
Kultur Dokumente
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
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
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
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
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:
"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:
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
Kue tiene un estado #inal Len"(!je $e (n NFA -l len$uaje aceptado por un !,A, A, es: 31A2>@C:
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:
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
&
( 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
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
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
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
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 = %
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
( 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