Professional Documents
Culture Documents
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automatas Finitos
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes INAOE
Formales
Eliminacion
de las
Transiciones-
(INAOE) 1 / 58
Contenido
Introduccion a
los Automatas
Definicion
formal de un 1 Introduccion a los Automatas
Automata
Finito
Determinstico
Automatas
Finitos y 3 Automata Finito No-Determinstico
Lenguajes
Formales
Eliminacion
de las 4 Automatas Finitos y Lenguajes Formales
Transiciones-
(INAOE) 2 / 58
Introduccion a los Automatas
Definicion
formal de un Automata: Conjunto de estados + Control Cambio de
Automata
Finito estados en respuesta a una entrada.
Determinstico
Tipo de Control:
Automata
Finito No-
Determinstico
Determinstico: Para cada entrada, hay solo un estado
Automatas al que el automata puede ir desde el estado en que se
Finitos y
Lenguajes encuentre.
Formales
No determinstico: Un automata finito es
Eliminacion
de las no-determinstico cuando se permite que el AF tenga 0
Transiciones-
o mas estados siguientes para cada par
estado-entrada.
(INAOE) 3 / 58
Introduccion a los Automatas
Automatas No-Deterministas
Introduccion a
los Automatas
Definicion
formal de un Si anadimos la propiedad de no-determinismo, no anadimos
Automata
Finito poder al automata. Osea que no podemos definir ningun
Determinstico
lenguaje que no se pueda definir con el automata
Automata
Finito No- determinstico.
Determinstico
Con la propiedad de no-determinismo se agrega eficiencia
Automatas
Finitos y al describir una aplicacion:
Lenguajes
Formales Permite programar soluciones en un lenguaje de mas
Eliminacion
de las alto nivel
Transiciones-
Hay un algoritmo para compilar un N-DFA en un DFA y
poder ser ejecutado en una computadora convencional
(INAOE) 4 / 58
Introduccion a los Automatas
Automatas No-Deterministas
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automata
Finito No-
Extension del N-DFA para hacer saltos de un estado a
Determinstico otro espontaneamente, con la cadena vaca () como
Automatas
Finitos y
entrada: N-DFA. Estos automatas tambien aceptan
Lenguajes
Formales
lenguajes regulares.
Eliminacion
de las
Transiciones-
(INAOE) 5 / 58
Definicion formal de un Automata Finito Determinstico
Definicion
formal de un
Automata
Finito
Determinstico Un AF se representa como una 5-tupla: A = (Q, , , q0 , F ).
Automata Donde:
Finito No-
Determinstico 1 Q: Un conjunto finito de estados.
Automatas
Finitos y 2 : Un conjunto finito de smbolos de entrada (alfabeto)
Lenguajes
Formales 3 q0 : El estado inicial/de comienzo.
Eliminacion
de las 4 F : cero o mas estados finales/de aceptacion.
Transiciones-
(INAOE) 6 / 58
Definicion formal de un Automata Finito Determinstico
Funcion de Transicion
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito 5 : Funcion de transicion. Esta funcion:
Determinstico
Toma un estado y un smbolo de entrada como
Automata
Finito No- argumentos.
Determinstico Regresa un estado.
Automatas Una regla de se escribe como (q, a) = p, donde q y
Finitos y
Lenguajes p son estados y a es un smbolo de entrada.
Formales
Intuitivamente: Si el AF esta en un estado q, y recibe
Eliminacion
de las una entrada a, entonces el AF va al estado p (nota:
Transiciones-
puede ser al mismo estado q = p).
(INAOE) 7 / 58
Definicion formal de un Automata Finito Determinstico
DFA
Introduccion a
los Automatas
Definicion
El lenguaje de un DFA es el conjunto de todas las
formal de un
Automata
cadenas que el DFA acepta
Finito
Determinstico Dada una cadena (e.g., s1 , s2 , . . . , sn ) el DFA empieza
Automata en su estado inicial (e.g., q0 ), consulta si existe una
Finito No-
Determinstico transicion de q0 con el primer smbolo (s1 ) a otro estado
Automatas (e.g., q1 ) y si existe (i.e., (q0 , s1 ) = q1 ) se mueve al
Finitos y
Lenguajes estado descrito en la transicion.
Formales
Eliminacion
Procesa el siguiente smbolo de la cadena (i.e., s2 ) y
de las
Transiciones-
as continua.
Si logra procesar toda la cadena y el estado al que
llega es uno de los estados finales, entonces se dice
que el automata acepta esa cadena.
(INAOE) 8 / 58
Definicion formal de un Automata Finito Determinstico
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico Un Automata A que acepta L = {x01y|x y {0, 1} }
Automata
Finito No- El DFA acepta cadenas que tienen 01 en alguna parte
Determinstico
de la cadena
Automatas
Finitos y El lenguaje del DFA es el conjunto de cadenas que
Lenguajes
Formales acepta {w|w tiene la forma x01y para algunas
Eliminacion
de las
cadenas x y y que consisten solo de 0s y 1s }.
Transiciones-
(INAOE) 9 / 58
Definicion formal de un Automata Finito Determinstico
Tabla de Transiciones
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico El automata anterior puede ser representado con una tabla
Automata de transiciones, definido como
Finito No-
Determinstico A = ({q0 , q1 , q2 }, {0, 1}, , q0 , q1 ), de la siguiente forma:
Automatas 0 1
Finitos y
Lenguajes q0 q2 q0
Formales
?q1 q1 q1
Eliminacion
de las q2 q2 q1
Transiciones-
(INAOE) 10 / 58
Definicion formal de un Automata Finito Determinstico
Diagrama de Transiciones
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes Cada estado tiene un nodo asociado
Formales
(INAOE) 11 / 58
Definicion formal de un Automata Finito Determinstico
Convenciones
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
(INAOE) 12 / 58
Definicion formal de un Automata Finito Determinstico
Definicion
formal de un
Automata
Finito
Determinstico
Intuitivamente, un FA acepta una cadena w = a1 a2 . . . an si
Automata
Finito No- hay una ruta en el diagrama de transiciones que:
Determinstico
Eliminacion
3 Tiene una secuencia de etiquetas a1 , a2 , . . . , an .
de las
Transiciones-
(INAOE) 13 / 58
Definicion formal de un Automata Finito Determinstico
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico Ejemplo: El siguiente AF acepta la cadena 01101:
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 14 / 58
Definicion formal de un Automata Finito Determinstico
Funcion de Transicion
Introduccion a
los Automatas
Definicion
Formalmente, podemos extendemos la funcion de transicion
formal de un
Automata
a (q, w), donde w puede ser cualquier cadena de
Finito
Determinstico
smbolos de entrada:
Automata Base: (q, ) = q (i.e., nos quedamos en el mismo lugar
Finito No-
Determinstico si no recibimos una entrada).
Automatas
Finitos y Induccion: (q, w) = ((q, x), a), donde x es una
Lenguajes
Formales cadena, y a es un solo smbolo (i.e., ver a donde va el
Eliminacion AF con x, luego buscar la transicion para el ultimo
de las
Transiciones- smbolo a partir de ese estado).
Si (q, x) = p entonces (q, w) = (p, a)
representa rutas.
(INAOE) 15 / 58
Definicion formal de un Automata Finito Determinstico
Funcion de Transicion
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
(INAOE) 16 / 58
Definicion formal de un Automata Finito Determinstico
Ejemplo:
Introduccion a
los Automatas
Un DFA que acepta todas y solo las cadenas que tienen un
Definicion
formal de un numero par de 0s y tambien un numero par de 1s
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 17 / 58
Definicion formal de un Automata Finito Determinstico
Ejemplo (cont.)
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 18 / 58
Definicion formal de un Automata Finito Determinstico
Ejemplo (cont.)
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Representacion tabular del automata anterior:
Automata
Finito No- 0 1
Determinstico
? q0 q2 q1
Automatas
Finitos y q1 q3 q0
Lenguajes
Formales q2 q0 q3
Eliminacion q3 q1 q2
de las
Transiciones-
(INAOE) 19 / 58
Definicion formal de un Automata Finito Determinstico
Problema 2.2.1
Introduccion a
los Automatas Cada vez que entra una canica en alguno de las dos
Definicion
formal de un entradas (A o B) cae y mueve la compuerta. La salida D es
Automata
Finito
exito y la C fracaso. Modelarlo como un DFA.
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 20 / 58
Definicion formal de un Automata Finito Determinstico
Problema 2.2.4
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
(INAOE) 21 / 58
Automata Finito No-Determinstico
Definicion
formal de un
Automata
Finito Un automata finito es no-determinstico cuando se permite
Determinstico
que el AF tenga 0 o mas estados siguientes para cada par
Automata
Finito No- estado-entrada:
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 22 / 58
Automata Finito No-Determinstico
(INAOE) 23 / 58
Automata Finito No-Determinstico
Definicion
formal de un
Automata
Finito Lo que pasa al procesar como entrada a 00101 es:
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 24 / 58
Automata Finito No-Determinstico
Definicion
formal de un
Un NFA es una herramienta importante para disenar
Automata
Finito
procesadores de cadenas, e.g., grep, analizadores
Determinstico lexicos, etc. Es facil disenar NFAs que encuentren
Automata
Finito No-
secuencias de palabras en texto.
Determinstico
NFA: Formalmente, un NFA es una quntupla
Automatas
Finitos y A = (Q, , , q0 , F ), donde todo es un DFA, pero (q, a)
Lenguajes
Formales nos regresa un conjunto de estados en lugar de un solo
Eliminacion estado. De hecho puede ser vaco, tener un solo estado
de las
Transiciones- o tener mas estados.
Un NFA acepta, al igual que un DFA, lenguajes
regulares
(INAOE) 25 / 58
Automata Finito No-Determinstico
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Por ejemplo, para el NFA que acepta cadenas que acaban
Determinstico
en 01 su funcion de transicion es:
Automata
Finito No-
Determinstico 0 1
Automatas
Finitos y
q0 {q0 , q1 } {q0 }
Lenguajes
Formales
q1 {q2 }
Eliminacion
*q2
de las
Transiciones-
Como puede observarse, todo se especifica en conjuntos.
(INAOE) 26 / 58
Automata Finito No-Determinstico
Extension a
Introduccion a
los Automatas
Definicion
Similarmente a un DFA, podemos definir la funcion de
formal de un transicion extendida como sigue:
Automata
Finito
Determinstico
Base: (q, ) = q
Automata Induccion: Supongamos w es de la forma w = xa,
Finito No-
Determinstico donde a es el smbolo terminal y x es el resto de w.
Automatas
Finitos y
Supongamos
Sk tambien que: (q, x) = {p1 , p2 , . . . , pk }.
i=1 (pi , a) = {r1 , r2 , . . . , rm }.
Lenguajes
Formales
Eliminacion
Entonces (q, w) = {r1 , r2 , . . . , rm }.
de las
Transiciones- En otras palabras calculamos (q, w) primero
calculando (q, x) y despues siguiendo cualquier
transicion de algunos de esos estados etiquetada con
a.
(INAOE) 27 / 58
Automata Finito No-Determinstico
Ejemplo:
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Por ejemplo, podemos calcular (q0 , 00101) para el
Determinstico
automata anterior:
Automata
Finito No- (q0 , ) = {q0 }
Determinstico
(q0 , 0) = (q0 , 0) = {q0 , q1 }
Automatas
Finitos y (q0 , 00) = (q0 , 0) (q1 , 0) = {q0 , q1 }
Lenguajes
Formales (q0 , 001) = (q0 , 1) (q1 , 1) = {q0 } {q2 } = {q0 , q2 }
Eliminacion (q0 , 0010) = (q0 , 0) (q2 , 0) = {q0 , q1 } = {q0 , q1 }
de las
Transiciones- (q0 , 00101) = (q0 , 1) (q1 , 1) = {q0 } {q2 } = {q0 , q2 }
Que tiene un estado final.
(INAOE) 28 / 58
Automata Finito No-Determinstico
Lenguajes de un NFA
Introduccion a
los Automatas
Definicion
formal de un El lenguaje aceptado por un NFA, A, es:
Automata
Finito L(A) = {w|(q0 , w) F 6= }.
Determinstico
Automata
Finito No-
Determinstico
Equivalencia entre un DFA y un NFA
Automatas
Finitos y Un NFA es normalmente mas facil de definir, aunque al
Lenguajes
Formales mismo tiempo, para cualquier NFA N existe un DFA D tal
Eliminacion
de las
que L(D) = L(N) y viceversa.
Transiciones- Para esto se usa la construccion de subconjunto que
muestra un ejemplo de como un automata se puede
construir a partir de otro.
(INAOE) 29 / 58
Automata Finito No-Determinstico
Construccion de Subconjunto
Introduccion a Para cada NFA existe un DFA equivalente (acepta el mismo
los Automatas
lenguaje). Pero el DFA puede tener un numero exponencial
Definicion
formal de un de estados.
Automata
Finito Sea N = (QN , , N , q0 , FN ) un NFA. El DFA equivalente
Determinstico
construido a partir del subconjunto de construccion es
Automata
Finito No- D = (QD , , D , {q0 }, FD ), donde:
Determinstico
Automatas
|QD | = 2|QN | ; i.e., QD es el conjunto de todos los
Finitos y
Lenguajes
subconjuntos de QN .
Formales
FD es el conjunto de conjuntos S en QD tal que
Eliminacion
de las S FN 6= .
Transiciones-
Para cualquier S QN y a ,
S
D (S, a) = pS N (p, a), osea, la union de todos los
estados a partir de p con entrada a.
D ({q1 , q2 , . . . , qk }, a) =
N (p1 , a) N (p2 , a) . . . N (pk , a).
(INAOE) 30 / 58
Automata Finito No-Determinstico
Construccion de Subconjunto
Introduccion a
los Automatas
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 31 / 58
Automata Finito No-Determinstico
Construccion de Subconjunto
Introduccion a
los Automatas
Al existir 3 estados, tenemos 8 subconjuntos. Esto mismo lo
Definicion
formal de un podemos poner como:
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 32 / 58
Automata Finito No-Determinstico
Construccion de Subconjunto
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Lo cual es un DFA (simplemente cambiando la
Determinstico notacion). Tambien es importante notar que no todos
Automata
Finito No-
los estados pueden ser alcanzados. En particular, solo
Determinstico
los estados B, E y F son accesibles, por lo que los
Automatas
Finitos y demas los podemos eliminar.
Lenguajes
Formales Una forma de no construir todos los subconjuntos para
Eliminacion despues encontrar que solo unos cuantos son
de las
Transiciones- accesibles, es construir la tabla solo para los estados
accesibles (lazy evaluation).
(INAOE) 33 / 58
Automata Finito No-Determinstico
Ejemplo (cont.)
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Para el ejemplo anterior: D ({q0 }, 0) = {q0 , q1 }
Automata
Finito No- D ({q0 }, 1) = {q1 }
Determinstico
D ({q0 , q1 }, 0) = {q0 , q1 }
Automatas
Finitos y D ({q0 , q1 }, 1) = {q0 , q2 } = N (q0 , 1) N (q1 , 1)
Lenguajes
Formales D ({q0 , q2 }, 0) = {q0 , q1 }
Eliminacion D ({q0 , q2 }, 1) = {q0 }
de las
Transiciones-
(INAOE) 34 / 58
Automata Finito No-Determinstico
Ejemplo (cont.)
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito Lo que nos queda:
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 35 / 58
Automata Finito No-Determinstico
Prueba de Equivalencia
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
(INAOE) 36 / 58
Automata Finito No-Determinstico
Prueba de Equivalencia
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico Queremos probar por induccion en w que
Automata D ({q0 }, w) = N (q0 , w).
Finito No-
Determinstico Las dos funciones de transicion regresan conjuntos de
Automatas
Finitos y
estados de QN , pero la determinstica lo interpreta
Lenguajes
Formales
como uno solo de sus estados QD .
Eliminacion Base: w = , en este caso
de las
Transiciones- D ({q0 }, ) = N (q0 , ) = {q0 }.
(INAOE) 37 / 58
Automata Finito No-Determinstico
Prueba de Equivalencia
Introduccion a
los Automatas
Definicion
formal de un
Automata Induccion: Tomamos w de longitud n + 1 y suponemos
Finito
Determinstico que se cumple el enunciado para n, o sea que
Automata D ({q0 }, x) = N (q0 , x).
Finito No-
Determinstico
Sean estos dos conjuntos de estados
Automatas
Finitos y = {p1 , p2 , . . . , pk }.
Lenguajes
Formales Dividimos a w en xa. La definicion de para el NFA nos
Sk
Eliminacion dice que: N (q0 , w) = i=1 N (pi , a).
de las
Transiciones-
Por la construccion de subconjuntos:
Sk
D ({p1 , p2 , . . . , pk }, a) = i=1 N (pi , a)
(INAOE) 38 / 58
Automata Finito No-Determinstico
Prueba de Equivalencia
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico Usando esto, y que D ({q0 }, x) = {p1 , p2 , . . . , pk }
Automata tenemos que:
Finito No-
Determinstico D ({q0 }, w) = D (D ({q0 }, Skx), a) =
Automatas D ({p1 , p2 , . . . , pk }, a) = i=1 N (pi , a)
Finitos y
Lenguajes
Formales
Tanto D como N aceptan w cuando contiene un estado
Eliminacion en FN.
de las
Transiciones- Consecuencia: L(D) = L(N).
(INAOE) 39 / 58
Automata Finito No-Determinstico
Ejemplos
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Ejemplo: Convertir el siguiente NFA a un DFA
Automata
Finito No- 0 1
Determinstico
p {p, q} {p}
Automatas
Finitos y q {r } {r }
Lenguajes
Formales r {s}
Eliminacion s {s} {s}
de las
Transiciones-
(INAOE) 40 / 58
Automata Finito No-Determinstico
Ejemplo
Introduccion a
los Automatas
Definicion
En este ejemplo un tanto imaginario, se disenara un NFA
formal de un
Automata
para aceptar cadenas sobre el alfabeto {1, 2, 3} de tal
Finito
Determinstico
manera que el ultimo smbolo aparezca previamente, sin
Automata ninguna intervencion de un smbolo mas alto entre esa
Finito No-
Determinstico
previa aparicion del smbolo, e.g.,
Automatas . . . 11, . . . 21112, . . . 312123.
Finitos y
Lenguajes Truco: Utilizar el estado de inicio con el significado
Formales
Eliminacion
Creo que todava no se ha visto el smbolo que
de las corresponde al smbolo final.
Transiciones-
Otros tres estados representando una eleccion de que
el smbolo con que acaba la cadena se ha visto y se
recuerda de que smbolo se trata.
(INAOE) 41 / 58
Automata Finito No-Determinstico
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 42 / 58
Automata Finito No-Determinstico
Ejemplo (cont.)
Introduccion a
los Automatas
Definicion
formal de un Subconjunto de Construccion del NFA Previo.
Automata
Finito
Determinstico
Un truco practico importante utilizado por analizadores
Automata lexicos y otros procesadores de texto es ignorar los
Finito No-
Determinstico (frecuentemente muchos) estados que no son
Automatas accesibles desde el estado de inicio (i.e., no hay ruta
Finitos y
Lenguajes que lleve a ellos).
Formales
Para el ejemplo anterior de NFA, de los 32
Eliminacion
de las
Transiciones-
subconjuntos posibles, solo 15 son accesibles.
Calculando las transiciones por demanda obtenemos
el siguiente D :
(INAOE) 43 / 58
Automata Finito No-Determinstico
Ejemplo (cont.)
Introduccion a
1 2 3
los Automatas {p} {pq} {pr } {ps}
Definicion
formal de un
{pq} {pqt} {pr } {ps}
Automata
Finito
{pqt} {pqt} {pr } {ps}
Determinstico {pr } {pqr } {prt} {ps}
Automata
Finito No-
{prt} {pqr } {prt} {ps}
Determinstico
{ps} {pqs} {prs} {pst}
Automatas
Finitos y {pst} {pqs} {prs} {pst}
Lenguajes
Formales {prs} {pqrs} {prst} {pst}
Eliminacion {prst} {pqrs} {prst} {pst}
de las
Transiciones- {pqs} {pqst} {prs} {pst}
{pqst} {pqst} {prs} {pst}
{pqr } {pqrt} {prt} {ps}
{pqrt} {pqrt} {prt} {ps}
{pqrs} {pqrst} {prst} {pst}
{pqrst} {pqrst} {prst} {pst}
(INAOE) 44 / 58
Automata Finito No-Determinstico
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Ejemplo: Disene un NFA que reconozca los siguientes
Automatas
conjuntos de cadenas: abc, abd y aacd, suponiendo que el
Finitos y
Lenguajes
alfabeto es {a, b, c, d}
Formales
Eliminacion
de las
Transiciones-
(INAOE) 45 / 58
Automatas Finitos y Lenguajes Formales
Definicion
formal de un
Automata
Finito Sea una etiqueta en arcos.
Determinstico
No hay ningun cambio extra: la aceptacion de w todava
Automata
Finito No-
Determinstico
se da como la existencia de la ruta desde un estado de
Automatas
inicio a un estado de aceptacion con etiqueta w.
Finitos y
Lenguajes Pero puede aparecer en los arcos, y significa que
Formales
puede existir una transicion con una cadena vaca (i.e.,
Eliminacion
de las no tiene una contribucion visible para w).
Transiciones-
Se les denota NFA.
(INAOE) 46 / 58
Automatas Finitos y Lenguajes Formales
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 47 / 58
Automatas Finitos y Lenguajes Formales
Ejemplo (cont.)
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico 001 es aceptado siguiendo la ruta q, s, r , q, r , s, con la
Automata
Finito No-
etiqueta 001 = 001.
Determinstico
Podemos disenar un automata que acepte cadenas de
Automatas
Finitos y numeros que tengan un signo al inicio opcional,
Lenguajes
Formales seguido posiblemente de una cadena de decimales,
Eliminacion seguido de un punto decimal y posiblemente de otra
de las
Transiciones- cadena de decimales.
(INAOE) 48 / 58
Automatas Finitos y Lenguajes Formales
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 49 / 58
Automatas Finitos y Lenguajes Formales
-NFA
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
(INAOE) 50 / 58
Automatas Finitos y Lenguajes Formales
Tabla de Transicion
Introduccion a
los Automatas
Definicion
formal de un
Automata La tabla de transicion del -NFA del ejemplo anterior es:
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 51 / 58
Eliminacion de las Transiciones-
Automatas
2 Si un estado p puede alcanzar al estado q por medio
Finitos y
Lenguajes
de arcos , y existe una transicion de q a r en la entrada
Formales a (no ), entonces anadase una transicion de p a r con
Eliminacion
de las
la entrada a.
Transiciones-
3 Convertir el estado p en un estado de aceptacion
siempre y cuando p pueda alcanzar algun estado de
aceptacion q por medio de arcos .
4 Eliminar todas las transiciones-.
(INAOE) 52 / 58
Eliminacion de las Transiciones-
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico
Automata
Finito No-
Determinstico
Automatas
Finitos y
Lenguajes
Formales
Eliminacion
de las
Transiciones-
(INAOE) 53 / 58
Eliminacion de las Transiciones-
Transiciones Extendidas
Introduccion a
los Automatas
De la misma forma como lo hicimos anteriormente,
Definicion
formal de un podemos definir las transiciones extendidas para -NFA.
Automata
Finito
Determinstico
Base: (q, ) = ECLOSE(q)
S
Automata Induccion: (q, xa) = p((q,x),a) ECLOSE(p)
Finito No-
Determinstico
Por ejemplo, (q0 , 5.6) es:
Automatas
Finitos y (q0 , ) = {q0 , q1 } = ECLOSE(q0 )
Lenguajes
Formales
(q0 , 5) (q1 , 5) = {q1 , q4 }
Eliminacion ECLOSE(q1 ) ECLOSE(q4 ) = {q1 , q4 }
de las
Transiciones- (q1 , .) (q4 , .) = {q2 , q3 }
ECLOSE(q2 ) ECLOSE(q3 ) = {q2 , q3 , q5 } = (q0 , 5.6)
(q2 , 6) (q3 , 6) (q5 , 6) = {q3 }
(q0 , 5.6) = ECLOSE(q3 ) = {q3 , q5 }
(INAOE) 54 / 58
Eliminacion de las Transiciones-
Equivalencias
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico Como antes, el lenguaje aceptado por un -NFA, E, es:
Automata L(E) = {w|(q0 , w) F 6= }, osea todas las cadenas
Finito No-
Determinstico w que van de un estado inicial q0 a al menos un estado
Automatas
Finitos y
final.
Lenguajes
Formales
Se puede demostrar que se puede construir un DFA a
Eliminacion partir de un -NFA siguiendo un esquema parecido al
de las
Transiciones- de construccion de subconjuntos visto para NFA.
(INAOE) 55 / 58
Eliminacion de las Transiciones-
Equivalencias
Introduccion a
los Automatas
Definicion
formal de un
Automata
Finito
Determinstico QD = {S|S QE S = ECLOSE(S)}
Automata
Finito No- qD = ECLOSE(q0 )
Determinstico
Automatas
FD = {S|S QD S FE 6= }
Finitos y S
Lenguajes D (S, a) = { ECLOSE(p)|p (t, a), t S}
Formales
Eliminacion
Lo que se calcula para todos los a y conjuntos
de las
Transiciones-
S QD .
(INAOE) 56 / 58
Eliminacion de las Transiciones-
Equivalencias
Introduccion a
los Automatas
Definicion
formal de un
Automata Se puede demostrar que un lenguaje L es aceptado por
Finito
Determinstico algun -NFA E si y solo si L es aceptado por un DFA.
Automata
Finito No- Para esto, hacia un sentido es facil (cambiando un DFA
Determinstico
a un -NFA)
Automatas
Finitos y Para el otro sentido se hace lo mismo que hemos
Lenguajes
Formales hecho antes, probando con el caso base y el caso
Eliminacion
de las
inductivo, donde partimos de w = xa, suponemos que
Transiciones- es verdad para x y probamos para w, solo que ahora
tomando la cerradura o ECLOSE para los estados.
(INAOE) 57 / 58
Eliminacion de las Transiciones-
Ejemplo
Introduccion a
los Automatas
Definicion
formal de un
Automata
Considere el siguiente -NFA:
Finito
Determinstico
a b c
Automata
p {p} {q} {r }
Finito No-
Determinstico
q {p} {q} {r }
Automatas r {q} {r } {p}
Finitos y
Lenguajes
Formales
a) Calcula las -closure para cada estado
Eliminacion b) Cuales son todas las cadenas de 3 o menos caracteres
de las
Transiciones- aceptadas por el automata
c) Convertirlo a un DFA
(INAOE) 58 / 58