Beruflich Dokumente
Kultur Dokumente
Automatas Finitos
Leopoldo Altamirano, Eduardo Morales
INAOE
Verano, 2011
(INAOE)
Verano, 2011
1 / 60
Contenido
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
a los Automatas 1 Introduccion formal de un Automata 2 Denicion Finito Determin stico 3 Automata Finito No-Determin stico 4 Automatas Finitos y Lenguajes Formales de las Transiciones- 5 Eliminacion
(INAOE)
Verano, 2011
2 / 60
Automata : Conjunto de estados + Control Cambio de estados en respuesta a una entrada. Tipo de Control: Determin un estado stico: Para cada entrada, hay solo al que el automata puede ir desde el estado en que se encuentre. No determin stico: Un automata nito es no-determin stico cuando se permite que el AF tenga 0 estados siguientes para cada par o mas estado-entrada.
(INAOE)
Verano, 2011
3 / 60
Automatas No-Deterministas
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Si anadimos la propiedad de no-determinismo, no anadimos poder al automata. Osea que no podemos denir ningun lenguaje que no se pueda denir con el automata determin stico. Con la propiedad de no-determinismo se agrega eciencia al describir una aplicacion:
Permite programar soluciones en un lenguaje de mas
alto nivel
Hay un algoritmo para compilar un N-DFA en un DFA y
(INAOE)
Verano, 2011
4 / 60
Automatas No-Deterministas
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
otro espontaneamente, con la cadena vac a () como aceptan entrada: N-DFA. Estos automatas tambien lenguajes regulares. Ejemplo: Compra con dinero-electronico. El cliente utiliza un archivo (env o por internet) para pagar al comerciante. El comerciante al recibir el archivo pide al banco que le transeran el dinero.
(INAOE)
Verano, 2011
5 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
6 / 60
Q es un conjunto nito de estados. es un alfabeto de s mbolos de entrada. q0 es el estado inicial/de comienzo. estados nales/de aceptacion . F representa cero o mas
(INAOE)
Verano, 2011
7 / 60
de Transicion funcion
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
argumentos.
Regresa un estado. Una regla de se escribe como (q , a) = p, donde q y
(INAOE)
Verano, 2011
8 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
de la cadena
El lenguaje del DFA es el conjunto de cadenas que
acepta {w |w tiene la forma x 01y para algunas de 0s y 1s }. cadenas x y y que consisten solo
(INAOE)
Verano, 2011
9 / 60
Tabla de Transiciones
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
El Automata anterior puede ser representado con una tabla de transiciones, denido como A = (q0 , q1 , q2 , 0, 1, , q0 , q1 ), de la siguiente forma: 0 1 q0 q2 q0 q1 q1 q1 q2 q2 q1
(INAOE)
Verano, 2011
10 / 60
Diagrama de Transiciones
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
11 / 60
Convenciones
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Se utilizan algunas convenciones para evitar mencionar el tipo de cada nombre, para esto utilizamos las siguientes reglas:
Los s mbolos de entrada son a, b , etc., o d gitos. Las cadenas de s mbolos de entrada son u , v , . . . , z . Los estados son q , p , etc.
(INAOE)
Verano, 2011
12 / 60
Diagrama de Transiciones
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Un AF se puede representar por medio de un grafo; los nodos representan estados; un arco de p a q se etiqueta con el conjunto de s mbolos de entrada a tal que (q , a) = p .
No hay arco si a no existe. El estado de inicio se indica con la palabra start con
una echa.
Los estados de aceptacion tienen doble c rculo.
(INAOE)
Verano, 2011
13 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
14 / 60
Intuitivamente, un FA acepta una cadena w = a1 a2 . . . an si hay una ruta en el diagrama de transiciones que:
1 2 3
Empieza en el estado de inicio, y Termina en un estado de aceptacion, Tiene una secuencia de etiquetas a1 , a2 , . . . , an .
(INAOE)
Verano, 2011
15 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
16 / 60
de Transicion Funcion
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
de transicion a Formalmente, extendemos la funcion (q , w ), donde w puede ser cualquier cadena de s mbolos de entrada: (q , ) = q (i.e., nos quedamos en el mismo lugar Base: si no recibimos una entrada). (q , w ) = ( (q , x ), a), donde x es una Induccion: cadena, y a es un solo s mbolo (i.e., ver a donde va el para el ultimo AF con x , luego buscar la transicion s mbolo a partir de ese estado). Hecho importante con una prueba inductiva directa: realmente representa rutas. Esto es, si w = a1 a2 . . . an , y (pi , ai ) = pi +1 , i = 0, 1, . . . , n 1, entonces (p0 , w ) = pn .
(INAOE)
Verano, 2011
17 / 60
de Transicion Funcion
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Aceptacion de Cadenas: Un AF A = (Q , , , q0 , F )
(p 0, w ) F }. L(A) = {w |
(INAOE)
Verano, 2011
18 / 60
cuando se trabaja con Una gran fuente de confusion automatas (o matematicas en general) son los errores de tipo:
Ejemplo: No confundir A, un FA, i.e., un programa, con
F son del tipo conjunto de los estados de aceptacion estados. Ejemplo enganoso: Es a un s mbolo o una cadena de longitud 1? Respuesta: Depende del contexto, i.e., se (q , a), usa en (q , a), donde es un s mbolo, o en donde es una cadena?
(INAOE)
Verano, 2011
19 / 60
Ejemplo:
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
las cadenas que tienen un Un DFA que acepta todas y solo numero par de 0s y tambien un numero par de 1s
(INAOE)
Verano, 2011
20 / 60
Ejemplo (cont.)
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
21 / 60
Ejemplo (cont.)
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
tabular del automata Representacion anterior: 0 1 q0 q2 q1 q1 q3 q0 q2 q0 q3 q3 q1 q2 Ejemplo: Problema 2.2.1.a Ejemplo: Problema 2.2.4.a
(INAOE)
Verano, 2011
22 / 60
Un automata nito es no-determin stico cuando se permite estados siguientes para cada par que el AF tenga 0 o mas estado-entrada:
(INAOE)
Verano, 2011
23 / 60
estado ir. puede ver que adivina a que Por ejemplo, el siguiente automata acepta todas las cadenas que terminan en 01:
(INAOE)
Verano, 2011
24 / 60
(INAOE)
Verano, 2011
25 / 60
procesadores de cadenas, e.g., grep, analizadores disenar NFAs que encuentren lexicos, etc. Es facil secuencias de palabras en texto.
NFA: Formalmente, un NFA es una qu ntupla
A = (Q , , , q0 , F ), donde todo es un DFA, pero (q , a) nos regresa un conjunto de estados en lugar de un solo estado. De hecho puede ser vac o, tener un solo estado estados. o tener mas
Un NFA acepta, al igual que un DFA, lenguajes
regulares
(INAOE)
Verano, 2011
26 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Por ejemplo, para el NFA que acepta cadenas que acaban de transicion es: en 01 su funcion 0 {q0 , q1 } 1 {q0 } {q2 }
q0 q1 *q2
(INAOE)
Verano, 2011
27 / 60
a Extension
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
de Similarmente a un DFA, podemos denir la funcion transicion extendida como sigue: (q , ) = q Base:
Induccion: Supongamos w es de la forma w = xa,
donde a es el s mbolo terminal y x es el resto de w . (q , x ) = {p1 , p2 , . . . , pk }. que: Supongamos tambien k i =1 (pi , a) = {r1 , r2 , . . . , rm }. Entonces (q , w ) = {r1 , r2 , . . . , rm }. (q , w ) primero En otras palabras calculamos siguiendo cualquier calculando (q , x ) y despues transicion de algunos de esos estados etiquetada con a.
(INAOE)
Verano, 2011
28 / 60
Ejemplo:
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(q0 , 00101) para el Por ejemplo, podemos calcular automata anterior: (q0 , ) = {q0 } (q0 , 0) = (q0 , 0) = {q0 , q1 } (q0 , 00) = (q0 , 0) (q1 , 0) = {q0 , q1 } (q0 , 001) = (q0 , 1) (q1 , 1) = {q0 } {q2 } = {q0 , q2 } (q0 , 0010) = (q0 , 0) (q2 , 0) = {q0 , q1 } = {q0 , q1 } (q0 , 00101) = (q0 , 1) (q1 , 1) = {q0 } {q2 } = {q0 , q2 } Que tiene un estado nal.
(INAOE)
Verano, 2011
29 / 60
Lenguajes de un NFA
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Equivalencia entre un DFA y un NFA facil de denir, aunque al Un NFA es normalmente mas mismo tiempo, para cualquier NFA N existe un DFA D tal que L(D ) = L(N ) y viceversa. de subconjunto que Para esto se usa la construccion muestra un ejemplo de como un automata se puede construir a partir de otro.
(INAOE)
Verano, 2011
30 / 60
de Subconjunto Construccion
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Para cada NFA existe un DFA equivalente (acepta el mismo lenguaje). Pero el DFA puede tener un numero exponencial de estados. Sea N = (QN , , N , q0 , FN ) un NFA. El DFA equivalente es construido a partir del subconjunto de construccion D = (QD , , D , {q0 }, FD ), donde:
|QD | = 2|QN | ; i.e., QD es el conjunto de todos los
subconjuntos de QN .
FD es el conjunto de conjuntos S en QD tal que
S FN = .
Para cualquier S QN y a ,
de todos los D (S , a) = pS N (p , a), osea, la union estados a partir de p con entrada a. D ({q1 , q2 , . . . , qk }, a) = N (p1 , a) N (p2 , a) . . . N (pk , a).
(INAOE) Verano, 2011 31 / 60
de Subconjunto Construccion
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
32 / 60
de Subconjunto Construccion
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
33 / 60
de Subconjunto Construccion
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
es importante notar que no todos notacion). Tambien los estados pueden ser alcanzados. En particular, solo los estados B, E y F son accesibles, por lo que los los podemos eliminar. demas
Una forma de no construir todos los subconjuntos para
encontrar que solo unos cuantos son despues para los estados accesibles, es construir la tabla solo accesibles (lazy evaluation).
(INAOE)
Verano, 2011
34 / 60
Ejemplo (cont.)
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Para el ejemplo anterior: D (q0 , 0) = {q0 , q1 } D (q0 , 1) = {q1 } D (q0 , q1 , 0) = {q0 , q1 } D (q0 , q1 , 1) = {q0 , q2 } = N (q0 , 1) N (q1 , 1) D (q0 , q2 , 0) = {q0 , q1 } D (q0 , q2 , 1) = {q0 }
(INAOE)
Verano, 2011
35 / 60
Ejemplo (cont.)
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
36 / 60
Prueba de Equivalencia
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
de |w | (la prueba esta en el Teorema clave: induccion D ({q0 }, w ) = N (q0 , w ). Lo que queremos probar es libro): que si D = (QD , , D , {q0 }, FD ) es construido a partir del de NFA N = (QN , , N , q0 , FN ) usando construccion subconjuntos, entonces L(D ) = L(N ).
(INAOE)
Verano, 2011
37 / 60
Prueba de Equivalencia
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
en w que Queremos probar por induccion D ({q0 }, w ) = N (q0 , w ). Las dos funciones de transicion regresan conjuntos de estados de QN , pero la determin stica lo interpreta como uno solo de sus estados QD . D ({q0 }, ) = N (q0 , ) = {q0 }. Base: w = , en este caso
(INAOE)
Verano, 2011
38 / 60
Prueba de Equivalencia
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
: Tomamos w de longitud n + 1 y asumimos que Induccion se cumple el enunciado para n, o sea que D ({q0 }, x ) = N (q0 , x ). Sean estos dos conjuntos de estados = {p1 , p2 , . . . , pk }. Dividimos a w en xa. La para el NFA nos dice que: de denicion N (q0 , w ) = k N (pi , a). i =1 de subconjuntos: Por la construccion D ({p1 , p2 , . . . , pk }, a) = k i =1 N (pi , a)
(INAOE)
Verano, 2011
39 / 60
Prueba de Equivalencia
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
D ({q0 }, x ) = {p1 , p2 , . . . , pk } tenemos Usando esto, y que que: D ({q0 }, w ) = D ( D ({q0 }, x ), a) = D ({p1 , p2 , . . . , pk }, a) = k i =1 N (pi , a) Tanto D como N aceptan w cuando contiene un estado en FN. Consecuencia: L(D ) = L(N ).
(INAOE)
Verano, 2011
40 / 60
Ejemplos
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
41 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
a un NFA En este ejemplo un tanto imaginario, se disenar para aceptar cadenas sobre el alfabeto {1, 2, 3} de tal manera que el ultimo s mbolo aparezca previamente, sin alto entre esa ninguna intervencion de un s mbolo mas del s previa aparicion mbolo, e.g., . . . 11, . . . 21112, . . . 312123.
Truco: Utilizar el estado de inicio con el signicado
Creo que todav a no se ha visto el s mbolo que corresponde al s mbolo nal. Otros tres estados representando una eleccion de que el s mbolo con que acaba la cadena se ha visto y se recuerda de que s mbolo se trata.
(INAOE)
Verano, 2011
42 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
43 / 60
Ejemplo (cont.)
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
del NFA Previo. Subconjunto de Construccion Un truco practico importante utilizado por analizadores lexicos y otros procesadores de texto es ignorar los (frecuentemente muchos) estados que no son accesibles desde el estado de inicio (i.e., no hay ruta que lleve a ellos).
Para el ejemplo anterior de NFA, de los 32
subconjuntos posibles, solo 15 son accesibles. Calculando las transiciones por demanda obtenemos el siguiente D :
(INAOE)
Verano, 2011
44 / 60
Ejemplo (cont.)
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
{p } {pq } {pqt } {pr } {prt } {ps} {pst } {prs} {prst } {pqs} {pqst } {pqr } {pqrt } {pqrs} {pqrst }
(INAOE)
1 {pq } {pqt } {pqt } {pqr } {pqr } {pqs} {pqs} {pqrs} {pqrs} {pqst } {pqst } {pqrt } {pqrt } {pqrst } {pqrst }
2 {pr } {pr } {pr } {prt } {prt } {prs} {prs} {prst } {prst } {prs} {prs} {prt } {prt } {prst } {prst }
3 {ps} {ps} {ps} {ps} {ps} {pst } {pst } {pst } {pst } {pst } {pst } {ps} {ps} {pst } {pst }
Verano, 2011 45 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
un NFA que reconozca los siguientes Ejemplo: Disene conjuntos de cadenas: abc , abd y aacd , suponiendo que el alfabeto es {a, b , c , d }
(INAOE)
Verano, 2011
46 / 60
Sea una etiqueta en arcos. No hay ningun de w todav cambio extra: la aceptacion a
se da como la existencia de la ruta desde un estado de con etiqueta w . inicio a un estado de aceptacion
Pero puede aparecer en los arcos, y signica que hay
(INAOE)
Verano, 2011
47 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
48 / 60
Ejemplo (cont.)
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
etiqueta 001 = 001. Podemos disenar un automata que acepte cadenas de numeros que tengan un signo al inicio opcional, seguida posiblemente de una cadena de decimales, seguida de un punto decimal y posiblemente de otra cadena de decimales.
(INAOE)
Verano, 2011
49 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
50 / 60
-NFA
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
formalmente: Un -NFA es una qu Mas ntupla de Q {} al (Q , , , q0 , F ), donde es una funcion conjunto potencia de Q .
(INAOE)
Verano, 2011
51 / 60
Tabla de Transicion
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
52 / 60
Las transiciones- son una conveniencia, pero no incrementan la potencia de los FAs. Para eliminar las transiciones-: para los arcos . 1 Calcular la cerradura transitiva solo Ejemplo: q {q }; r {r , s}; s {r , s}.
2
Si un estado p puede alcanzar al estado q por medio de q a r en la entrada de arcos , y existe una transicion adase de p a r con a (no ), entonces an una transicion la entrada a. Convertir el estado p en un estado de aceptacion siempre y cuando p pueda alcanzar algun estado de q por medio de arcos . aceptacion Eliminar todas las transiciones-.
(INAOE)
Verano, 2011
53 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
54 / 60
Transiciones Extendidas
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
De la misma forma como lo hicimos anteriormente, podemos denir las transiciones extendidas para -NFA. (q , ) = ECLOSE (q ) Base: (q , xa) = Induccion :
(q ,x ),a) p (
ECLOSE (p )
(q0 , 5.6) es: Por ejemplo, (q0 , ) = {q0 , q1 } = ECLOSE (q0) (q0 , 5) (q1 , 5) = {q1 , q4 } ECLOSE (q1) ECLOSE (q4) = {q1 , q4 } (q1 , .) (q4 , .) = {q2 , q3 } (q0 , 5.6) ECLOSE (q2) ECLOSE (q3) = {q2 , q3 , q5 } = (q2 , 6) (q3 , 6) (q5 , 6) = {q3 } (q0 , 5.6) = ECLOSE (q3) = {q3 , q5 }
(INAOE)
Verano, 2011
55 / 60
Equivalencias
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(q0 , w ) F = }, osea todas las cadenas L(E ) = {w | w que van de un estado inicial q0 a al menos un estado nal.
Se puede demostrar que se puede construir un DFA a
partir de un -NFA siguiendo un esquema parecido al de subconjuntos visto para NFA. de construccion
(INAOE)
Verano, 2011
56 / 60
Equivalencias
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
(INAOE)
Verano, 2011
57 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
El DFA correspondiente al -NFA de numeros decimales (omitiendo todas las transiciones a estados muertos) es:
(INAOE)
Verano, 2011
58 / 60
Equivalencias
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Se puede demostrar que un lenguaje L es aceptado por algun -NFA E si y solo si L es aceptado por un DFA. Para (cambiando un DFA a un esto, hacia un sentido es facil -NFA) y para el otro sentido se hace lo mismo que hemos hecho antes, probando con el caso base y el caso inductivo, donde partimos w = xa, asumimos que es verdad para x y probamos para w , solo que ahora tomando la cerradura o ECLOSE para los estados.
(INAOE)
Verano, 2011
59 / 60
Ejemplo
a Introduccion los Automatas Denicion formal de un Automata Finito Determin stico Automata Finito NoDetermin stico Automatas Finitos y Lenguajes Formales Eliminacion de las Transiciones-
Considere el siguiente -NFA: a b c p {p } {q } {r } q {p } {q } {r } {q } {r } {p } r a) Calcula las -closure para cada estado b) Cuales son todas las cadenas de 3 o menos caracteres aceptadas por el automata c) Convertirlo a un DFA
(INAOE)
Verano, 2011
60 / 60