AUTMATA FINITOS DETERMINISTICO Autmata Finito Deterministico .(AFD) Autmata: Es una maquina o sistema que puede aceptar una entrada y posiblemente producir una salida, y que tendr algn tipo de memoria interna que podr registrar cierta informacin de las entradas previas. Definicin de AFD: Un AFD, es una coleccin de cinco elementos(5-tupla) denotada por: M=(Q, , s, F, ) donde: - Q: Es una coleccin finita de estados.(Q= q ,q ,....,q ) - : Es un alfabeto de entrada. - s: Representa el estado inicial (s Q, s=q ) - F: Es una coleccin de estados finales o de aceptacin . - : Es una funcin de transicin de la forma: : QX ---------- Q donde AUTMATA FINITOS DETERMINISTICO i , se tiene que: q , a =q , con a (a, es un smbolo), significa que sea cual sea el estado actual y el carcter de la entrada, siempre hay un estado siguiente asociado a este par y el mismo es nico. Para toda cadena W y smbolo a de entrada se tiene que : q , Wa = W ,a . AUTMATA FINITOS DETERMINISTICO Representacin: Existen dos formas de representar un AFD. Diagrama de Transicin de Estado(DTE): Es una coleccin finita de crculos los cuales se pueden rotular(anotar, apuntar) con fines de referencia, conectados con flechas que reciben el nombre de arcos. Cada uno de estos arcos se etiqueta con un simbo0lo o categora de smbolo (ej. Letras o dgitos) que podran estar presentes en la cadena que se analiza. - Uno de los crculos es designado con un apuntador, y representa la posicin inicial. - Por lo menos unos de los crculos se representa como un circulo doble, estos crculos dobles designan posiciones del diagrama en las cuales se ha reconocido una cadena valida. AUTMATA FINITOS DETERMINISTICO Tabla de Transicin(TT): Es un arreglo bidimensional cuyos elementos proporcionan el resumen del diagrama de transicin de estado. En las filas se colocan los estados de Q, en las columnas los smbolos del alfabeto , y en la posicin (q , a) se coloca (q , a). Acontinuacin se presenta un ejemplo de un AFD: AUTMATA FINITOS DETERMINISTICO Cadena Valida o Aceptada: Se dice que una cadena es aceptada por un DTE, si los smbolos que aparecen en la cadena (de izquierda a derecha), corresponden a una secuencia de arcos rotulados que conducen del estado inicial a un circulo doble. Ejemplo: Sea el AFD dado por: M=(Q, , s, F, ) donde, Q= q0 , q1 ; 0, 1 ; s=q0 ;F= q1 ; : dada por: q0 ,0 =q0 ; q0 ,1 =q1 ; q1 ,0 =q1 ; q1 ,1 =q0 - Obtenga la tabla de transicin y el diagrama de transicin de estado asociado al AFD dado. - Verifique la validez de las cadenas siguientes para el AFD dado. W =01000; w =01001 AUTMATA FINITOS DETERMINISTICO Solucin: - Tabla de Transicin Asociada al AFD: - Diagrama de Transicin de Estados: (qi, ) 0 1 q0 q0 q1 q1 q0 q1 AUTMATA FINITOS DETERMINISTICO Evaluando la cadena w =01000, se tiene que (q , 01000)= q ,0),1),0),0),0)=q ; La cadena no es Aceptada (q , 010011)= q ,0),1),0),0),1)=q ; La cadena es Aceptada. Definicin: Si M es un AFD, entonces el lenguaje aceptado por M es: L(M)= W / W es aceptada por M . Ejemplo: Sea el AFD, dado por: AUTMATA FINITOS DETERMINISTICO El lenguaje aceptado por el AFD dado anteriormente es: L(M)= W / W=(Cadenas de cero o ms yes (Y) que contienen un numero par de equis(X) ) . Nota: Es importante resaltar que L(M), esta formada por todas las cadenas aceptadas por M, y no que es un conjunto de cadenas que son todas aceptadas por M. AUTMATA FINITO NO DETERMINISTICO Si se permite que desde un estado, se realicen cero, una o ms transiciones mediante el mismo smbolo de entrada, se dice que el autmata es no deterministico. El no determinismo consiste (intuitivamente) en agregar transiciones que antes estaban prohibidas: saltos con varios smbolos sobre la flecha, saltos vacos y saltos a ms de un estado con el mismo smbolo. Definicin: Un AFND, va a estar formado mediante una coleccin de cinco elementos, denotados por: M=(Q, , s, F, ) donde Q: Conjunto finito de Estados : Alfabeto de Entrada s: Representa el estado Inicial(s=q ). F Q: Coleccin o conjunto de Estados finitos o de aceptacin : Relacin sobre Q x x Q y se llama relacin de transicin AUTMATA FINITO NO DETERMINISTICO Observacin: puesto que es una relacin para todo par (q,0) compuesto por el estado actual y el smbolo de la entrada. (q,0), es una coleccin de ceros o ms estados. es decir, (q,0) Q . Esto significa que, para todo estado q, se puede tener cero o mas alternativas a elegir como estado siguiente, todas para el mismo smbolo de entrada. Representacin de un AFND: Al igual que los AFDS, los AFND, pueden ser representados por medio de la tabla de transicin y por medio del diagrama de transicin de estado. A continuacin se describen cada una de estas dos formas. AUTMATA FINITO NO DETERMINISTICO Tabla de transicin. En las filas estarn los estados q Q El estado inicial se preceder del smbolo Cada estado final se preceder del smbolo * En las columnas estarn los smbolos a { } En la posicin (q,a) estarn los estados en (q,a) Diagrama de transicin de estado. - En los nodos estarn los estados - El estado inicial tendr un arco entrante no etiquetado - Los estados finales estarn rodeados de doble circulo - Habr un arco etiquetado con a ( ) entre el nodo qi si qj (qi,a) AUTMATA FINITO NO DETERMINISTICO Ejemplo: Sea el AFND M dado por: Q= q 0, q1 , q2 , q3 , q4 ; a, b ; s= q0 ; F= q2 ,q3,q4 ; : dada por: a b q0 {q1,q4 } {q3} q1 {q1} {q2} q2 q3 q4 {q4} AUTMATA FINITO NO DETERMINISTICO El Diagrama de Transicin Asociado a M, se muestra a continuacin: AUTMATA FINITO NO DETERMINISTICO Observacin: Como se aprecia en la tabla de relacin de transicin las celdas son conjuntos. Las celdas con vaco( ), indican que no existe ninguna transicin desde el estado actual mediante la entrada correspondiente. Que para un estado actual, smbolo de entrada exista mas de un posible estado siguiente, significa que se puede elegir entre las distintas posibilidades. El ejemplo dado no existe nada que determine la eleccin hacia un nico estado, por tal razn se dice que el comportamiento del autmata es no deterministico. Definicin: Si M es un AFND, entonces el lenguaje aceptado por M es: L(M)= W / W es aceptada por M . Nota: En el caso particular del ejemplo anterior cabe destacar que el lenguaje aceptado por dicho autmata es: L(M)= EQUIVALENCIA ENTRE AFD Y AFND EQUIVALENCIA ENTRE AFD Y AFND Ejemplo: Sea el AFND M dado por: Q={q0, q1,q2}; ={a,b}; S={q0} y F={q0} y : dada por: Obtenga un AFD M = (Q , , s F , ) que sea equivalente. Defina todas las componentes. a b q0 {q1} q1 {q0,q2} q2 {q0} EQUIVALENCIA ENTRE AFD Y AFND Solucin: El DTE asociado a M, viene dado por : EQUIVALENCIA ENTRE AFD Y AFND EQUIVALENCIA ENTRE AFD Y AFND A continuacin se presenta el diagrama de transicin de estado resultante: AFND CON -TRANSICIONES - transiciones: Son aquellas transiciones que al realizarse no consumen ningn smbolo de entrada,, es decir; son transiciones de un estado a otro que no dependen de ninguna entrada. Ejemplo: Sea el AFND, dado por: AFND CON -TRANSICIONES Comentario: El autmata puede cambiar su estado de q0 sin consumir nada en la entrada. q1 , es el nico estado de aceptacin del AFND presentado, si W es cualquier cadena de cero o ms aes, el autmata cicla sobre q0 hasta que consuma las aes, una vez que la cadena se vaca se desplaza a q1 y la acepta. Ejemplo: Sea El AFND dado por: AFND CON -TRANSICIONES Comentario: El AFND dado puede moverse de q a q sin consumir nada en la entrada. En los ejemplos citados, la decisin de elegir una -transicin, se realiza de la misma forma que la de cualquier otra transicin con eleccin mltiple que exista en un AFND. Por lo tanto las -transiciones son consistentes con el matiz no deterministico de los AFND. Construccin de la Tabla de Transicin: Si un AFND tiene - transiciones, la relacin asocia pares de Q X ( U( )) X Q con subconjuntos de Q .( Es decir es una relacin sobre Q X ( U( )) X Q, se puede aadir una nueva columna en la tabla de para colocar los pares de la forma (q, ). Ejemplo: Para el DTE del ejemplo anterior se tiene que la tabla seria: AFND CON -TRANSICIONES Nota: Cuando hay -transiciones en n AFND es conveniente suponer que cada estado tiene una -transicin que cicla en ese estado. En el caso del ejemplo anterior la tabla quedara de la siguiente forma a b q0 {q1} q1 {q2} q2 {q0} {q0} a b q0 {q1} {q0} q1 {q2} {q1} q2 {q0} {q0,q2} AFND CON -TRANSICIONES Nota: Para calcular el conjunto de estados siguientes en un AFND, que contiene -transiciones se deben tener en cuenta las - transiciones anteriores y posteriores a la transicin etiquetada con . Ejemplo: Sea el AFND dado por. AFND CON -TRANSICIONES Conjunto de estados siguientes a: (q , a)= q , q (q , b)= q , q , q Nota: Para l calculo del conjunto de estados siguientes en un AFND con -transiciones se deben tener en consideracin las definiciones dadas a continuacin. Definicin: Para todo estado q Q, se define la -cerradura de q como sigue. -c(q)= p / p es accesible desde q sin consumir nada en la entrada , ampliando la definicin dada para todo el conjunto de estados se tiene que: AFND CON -TRANSICIONES Ejemplo: Sea el AFND, dado por: Obtener : -c(q3 ); -c(q1 ); -c(q4 ) Solucin: -c(q3 )= q3 ; -c(q1 )= q1 , q2 ; -c(q )= q0 ,q2 , q4 AFND CON -TRANSICIONES Definicin: Para todo q Q y , se tiene que d(q, )= p / hay una transicin de q a p etiquetada con , ampliando esta definicin a todo el conjunto Q, se tiene que. Ejemplo: Para el AFND del ejemplo dado anteriormente obtener, d(q0,a); d(q1, b); d q3,q4 , b . Solucin: d(q0,a)= q3 ; d(q0, b)= ; d q3,q4 , b = d q3 , b)U q4 , b = q4 U q0 = q0,q4 AFND CON -TRANSICIONES Definicin: A partir de un AFND que tiene transiciones se puede tener un AFND sin -transiciones que acepte el mismo lenguaje. Se define M =(Q, , s, F , ) donde: F = FU q / - c(q)F (q, )= - c(q, )= - c (d( - c(q), )) Ejemplo: Sea el AFND con - transiciones dado por: AFND CON -TRANSICIONES AFND CON -TRANSICIONES Solucin: (q0,a)= - c(d( - c(q0),a))= q1,q3,q4,q5 se tiene que - c(q0)= q0,q1 ; d( q0,q1 ,a)= q3,q4 - c q3,q4 )= q1,q3 ,q4,q5 (q0,b)= q2 ; (q1,a)= q4,q5 ; (q1,b)= q2 ; (q2,a)= ; (q2,b)= ; (q3,a)= q2,q5 ; (q3,b)= q2,q4,q5 ; (q4,a)= ; (q4,b)= ; (q5,a)= ; (q5,b)= ; AFND CON -TRANSICIONES A continuacin se muestra el DTE asociado al AFND sin - transiciones. CONCEPTOS RELATIVOS A AFD Y AFND Extensin a palabras: dado que la solo transita cuando recibe un smbolo de entrada, se puede generalizar para cuando recibe una palabra formada por mas de un smbolo o por palabra vaca. Aceptacin de palabras: x * es aceptada o reconocida por un AFD si f (qo, x) F. Es decir, si se parte del estado inicial y recibe la palabra de entrada x, se transita a un estado que pertenece al conjunto de estados finales o de aceptacin F. CONCEPTOS RELATIVOS A AFD Y AFND Lenguaje reconocido por un AFD: es el conjunto de palabras aceptadas por un AFD. As se comprueba que existe entre autmatas y lenguajes de forma que cada autmata reconoce un lenguaje determinado (regular en el caso de la Af), generando como salida una aceptacin si la palabra de entrada pertenece al lenguaje y una no-aceptacin si la palabra de entrada no pertenece al lenguaje. Tambin existe la relacin inversa que permite asegurar que, para cada lenguaje regular, hay un AF que reconoce palabras de ese lenguaje y no reconoce ninguna palabra que no pertenezca al lenguaje. Accesibilidad entre estados: p Q es accesible desde q Q, pAp, si existe una palabra x * tal que f (q, x)=p. A efectos de simplificar los autmatas, todos aquellos estados no accesibles desde el inicial, se pueden borrar, ya que no afectaran al comportamiento del autmata al no poder llegar nunca a ellos. CONCEPTOS RELATIVOS A AFD Y AFND Autmatas Conexos: Un AFD es conexo si para cada estado qi Q, qi es accesible desde qj . Equivalencia entre estados: Dos estados p, q Q son equivalentes pEq, si x , (p,x) F (q,x) F Nota: Si las transiciones de p con la entrada x llegan a un estado final las transiciones de q con x tambin tienen que llegar, y si las transiciones de p con x no llegan a un estado final las transiciones de q con x tampoco deben llegar. GRACIAS POR SU ATENCION