Este documento presenta una introducción a los automatas finitos. Define formalmente un automata finito determinístico como una 5-tupla que incluye un conjunto de estados, un alfabeto de símbolos de entrada, un estado inicial, estados finales y una función de transición. Explica cómo representar un automata finito determinístico mediante una tabla de transiciones o un diagrama de transiciones.
In automata theory, a deterministic pushdown automaton (DPDA or DPA) is a variation of the pushdown automaton. The DPDA accepts the deterministic context-free languages, a proper subset of context-free languages. Machine transitions are based on the current state and input symbol, and also the current topmost symbol of the stack. Symbols lower in the stack are not visible and have no immediate effect. Machine actions include pushing, popping, or replacing the stack top. A deterministic pushdown automaton has at most one legal transition for the same combination of input symbol, state, and top stack symbol. This is where it differs from the nondeterministic pushdown automaton.
Lexical Analysis, Tokens, Patterns, Lexemes, Example pattern, Stages of a Lexical Analyzer, Regular expressions to the lexical analysis, Implementation of Lexical Analyzer, Lexical analyzer: use as generator.
In automata theory, a deterministic pushdown automaton (DPDA or DPA) is a variation of the pushdown automaton. The DPDA accepts the deterministic context-free languages, a proper subset of context-free languages. Machine transitions are based on the current state and input symbol, and also the current topmost symbol of the stack. Symbols lower in the stack are not visible and have no immediate effect. Machine actions include pushing, popping, or replacing the stack top. A deterministic pushdown automaton has at most one legal transition for the same combination of input symbol, state, and top stack symbol. This is where it differs from the nondeterministic pushdown automaton.
Lexical Analysis, Tokens, Patterns, Lexemes, Example pattern, Stages of a Lexical Analyzer, Regular expressions to the lexical analysis, Implementation of Lexical Analyzer, Lexical analyzer: use as generator.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
a spline is a flexible strip used to produce a smooth curve through a designated set of points.
Polynomial sections are fitted so that the curve passes through each control point, Resulting curve is said to interpolate the set of control points.
In the Java programming language, the final keyword is used in several different contexts to define an entity that can only be assigned once. Once a final variable has been assigned, it always contains the same value.
Presented by: N.V.RajaSekhar Reddy
www.technolamp.co.in
Want more interesting...
Watch and Like us @ https://www.facebook.com/Technolamp.co.in
subscribe videos @ http://www.youtube.com/user/nvrajasekhar
Autómata Finito. Configuración de un AF. Leguaje aceptado por un AF. Autómata Finito Determinista (AFD). AFD conexo y completo. Estados sumidero y generador. Representación Matricial. AFD y ER.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
a spline is a flexible strip used to produce a smooth curve through a designated set of points.
Polynomial sections are fitted so that the curve passes through each control point, Resulting curve is said to interpolate the set of control points.
In the Java programming language, the final keyword is used in several different contexts to define an entity that can only be assigned once. Once a final variable has been assigned, it always contains the same value.
Presented by: N.V.RajaSekhar Reddy
www.technolamp.co.in
Want more interesting...
Watch and Like us @ https://www.facebook.com/Technolamp.co.in
subscribe videos @ http://www.youtube.com/user/nvrajasekhar
Autómata Finito. Configuración de un AF. Leguaje aceptado por un AF. Autómata Finito Determinista (AFD). AFD conexo y completo. Estados sumidero y generador. Representación Matricial. AFD y ER.
Conocer el concepto de los autómatas finitos.
Conocer los tipos de autómatas finitos DFA y DNFA.
Funcionamiento de los autómatas finitos DFA.
Funcionamiento de los autómatas finitos DNFA.
Ejemplos de autómatas finitos usando JFLAP.
1. ´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automatas Finitos
´
Automata
Finito No-
Determin´stico
ı
Leopoldo Altamirano, Eduardo Morales
´
Automatas
Finitos y
Lenguajes
Formales
INAOE
´
Eliminacion
de las
Transiciones-ǫ
Verano, 2011
(INAOE) Verano, 2011 1 / 60
2. Contenido
´
Introduccion a
´
los Automatas
´
Definicion
formal de un ´ ´
1 Introduccion a los Automatas
´
Automata
Finito
Determin´stico
ı
´
Automata ´ ´
2 Definicion formal de un Automata Finito Determin´stico
ı
Finito No-
Determin´stico
ı
´
Automatas
Finitos y ´
3 Automata Finito No-Determin´stico
ı
Lenguajes
Formales
´
Eliminacion
de las ´
4 Automatas Finitos y Lenguajes Formales
Transiciones-ǫ
´
5 Eliminacion de las Transiciones-ǫ
(INAOE) Verano, 2011 2 / 60
3. ´ ´
Introduccion a los Automatas
´ ´
Introduccion a los Automatas
´
Introduccion a
´
los Automatas
´
Definicion
formal de un Automata: Conjunto de estados + Control → Cambio de
´
´
Automata
Finito estados en respuesta a una entrada.
Determin´stico
ı
Tipo de Control:
´
Automata
Finito No-
Determin´stico
ı
• Determin´stico: 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 determin´stico: Un automata finito es
ı ´
´
Eliminacion
de las no-determin´stico cuando se permite que el AF tenga 0
ı
Transiciones-ǫ
´
o mas estados siguientes para cada par
estado-entrada.
(INAOE) Verano, 2011 3 / 60
4. ´ ´
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
´
Determin´stico
ı
´
lenguaje que no se pueda definir con el automata
´
Automata
Finito No- determin´stico.
ı
Determin´stico
ı
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) Verano, 2011 4 / 60
5. ´ ´
Introduccion a los Automatas
´
Automatas No-Deterministas
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito • Extension del N-DFA para hacer saltos de un estado a
´
Determin´stico
ı
´
otro espontaneamente, con la cadena vac´a (ǫ) como
ı
´
Automata
Finito No- ´ ´
entrada: ǫN-DFA. Estos automatas tambien aceptan
Determin´stico
ı
´
Automatas
lenguajes regulares.
Finitos y
Lenguajes
• Ejemplo: Compra con dinero-electronico. El cliente
´
Formales
utiliza un archivo (env´o por internet) para pagar al
ı
´
Eliminacion
de las comerciante. El comerciante al recibir el archivo pide al
Transiciones-ǫ
banco que le transfieran el dinero.
(INAOE) Verano, 2011 5 / 60
6. ´ ´
Introduccion a los Automatas
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
´
Tarea: Leer la seccion 2.1.1 – 2.1.5 del libro
(INAOE) Verano, 2011 6 / 60
7. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
´ ´
Definicion Formal de un Automata
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı Un AF se representa como la 5-tupla: A = (Q, Σ, δ, q0 , F ).
´
Automata Donde:
Finito No-
Determin´stico
ı 1 Q es un conjunto finito de estados.
´
Automatas
Finitos y 2 Σ es un alfabeto de s´mbolos de entrada.
ı
Lenguajes
Formales 3 q0 es el estado inicial/de comienzo.
´
Eliminacion
de las 4 ´ ´
F representa cero o mas estados finales/de aceptacion.
Transiciones-ǫ
(INAOE) Verano, 2011 7 / 60
8. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
´ ´
funcion de Transicion
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito 1 ´ ´ ´
δ es una funcion de transicion. Esta funcion:
Determin´stico
ı
• Toma un estado y un s´mbolo de entrada como
ı
´
Automata
Finito No- argumentos.
Determin´stico
ı
• 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 s´mbolo 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-ǫ
q = p OK).
(INAOE) Verano, 2011 8 / 60
9. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Ejemplo: Un Automata A que acepta
´
Automata L = {x01y|x, y ∈ {0, 1}∗ }
Finito No-
Determin´stico
ı • El DFA acepta cadenas que tienen 01 en alguna parte
´
Automatas de la cadena
Finitos y
Lenguajes
Formales
• El lenguaje del DFA es el conjunto de cadenas que
´
Eliminacion acepta {w |w tiene la forma “x01y” para algunas
de las
Transiciones-ǫ cadenas x y y que consisten solo de 0’s y 1’s }.
´
(INAOE) Verano, 2011 9 / 60
10. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Tabla de Transiciones
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
El Automata anterior puede ser representado con una tabla
´
Automata de transiciones, definido como A = (q0 , q1 , q2 , 0, 1, δ, q0 , q1 ),
Finito No-
Determin´stico
ı 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) Verano, 2011 10 / 60
11. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Diagrama de Transiciones
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı ´
Automata representado con un diagrama de transiciones:
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 11 / 60
12. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Convenciones
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı Se utilizan algunas convenciones para evitar mencionar el
´
Automata tipo de cada nombre, para esto utilizamos las siguientes
Finito No-
Determin´stico
ı reglas:
´
Automatas
Finitos y
• Los s´mbolos de entrada son a, b, etc., o d´gitos.
ı ı
Lenguajes
Formales • Las cadenas de s´mbolos de entrada son u, v, . . . , z.
ı
´
Eliminacion
de las
• Los estados son q, p, etc.
Transiciones-ǫ
(INAOE) Verano, 2011 12 / 60
13. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Diagrama de Transiciones
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Un AF se puede representar por medio de un grafo; los
Determin´stico
ı
nodos representan estados; un arco de p a q se etiqueta
´
Automata
Finito No- con el conjunto de s´mbolos de entrada a tal que
ı
Determin´stico
ı
δ(q, a) = p.
´
Automatas
Finitos y • No hay arco si a no existe.
Lenguajes
Formales
• El estado de inicio se indica con la palabra “start” con
´
Eliminacion
de las una flecha.
Transiciones-ǫ
• Los estados de aceptacion tienen doble c´rculo.
´ ı
(INAOE) Verano, 2011 13 / 60
14. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 14 / 60
15. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
´ ˆ
Funciones de transicion extendidas (δ)
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
Intuitivamente, un FA acepta una cadena w = a1 a2 . . . an si
´
Automata
Finito No- hay una ruta en el diagrama de transiciones que:
Determin´stico
ı
´
Automatas 1 Empieza en el estado de inicio,
Finitos y
Lenguajes 2 ´
Termina en un estado de aceptacion, y
Formales
´
Eliminacion
3 Tiene una secuencia de etiquetas a1 , a2 , . . . , an .
de las
Transiciones-ǫ
(INAOE) Verano, 2011 15 / 60
16. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı Ejemplo: El siguiente AF acepta la cadena 01101:
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 16 / 60
17. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
´ ´
Funcion de Transicion
´
Introduccion a
´
los Automatas ´ ´
Formalmente, extendemos la funcion de transicion δ a
´
Definicion
ˆ
δ(q, w ), donde w puede ser cualquier cadena de s´mbolos
ı
formal de un
´
Automata de entrada:
Finito
Determin´stico
ı ˆ
• Base: δ(q, ǫ) = q (i.e., nos quedamos en el mismo lugar
´
Automata
Finito No- si no recibimos una entrada).
Determin´stico
ı
´
Automatas
´ ˆ ˆ
• Induccion: δ(q, w ) = δ(δ(q, x), a), donde x es una
Finitos y
Lenguajes
cadena, y a es un solo s´mbolo (i.e., ver a donde va el
ı ´
Formales ´
AF con x, luego buscar la transicion para el ultimo ´
´
Eliminacion
de las
s´mbolo a partir de ese estado).
ı
Transiciones-ǫ
• 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
18. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
´ ´
Funcion de Transicion
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata • Aceptacion de Cadenas: Un AF A = (Q, Σ, δ, q0 , F )
´
Finito No-
Determin´stico
ı ˆ
acepta la cadena w si δ(p0 , w ) esta en F .
´
´
Automatas
Finitos y • Lenguaje de un AF: Un AF acepta el lenguaje
Lenguajes
Formales
ˆ
L(A) = {w |δ(p0, w ) ∈ F }.
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 18 / 60
19. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Algunas confusiones frecuentes
´
Introduccion a
´
los Automatas
´
Definicion
´
Una gran fuente de confusion cuando se trabaja con
formal de un
´
Automata
´ ´
automatas (o matematicas en general) son los “errores de
Finito
Determin´stico
ı
tipo”:
´
Automata • Ejemplo: No confundir A, un FA, i.e., un programa, con
Finito No-
Determin´stico
ı L(A), el cual es del tipo “conjunto de cadenas”.
´
Automatas
Finitos y
• Ejemplo: El estado de inicio q0 es del tipo “estado” pero
Lenguajes
Formales
´
los estados de aceptacion F son del tipo “conjunto de
´
Eliminacion estados”.
de las
Transiciones-ǫ • Ejemplo enganoso: Es a un s´mbolo o una cadena de
˜ ı
longitud 1? Respuesta: Depende del contexto, i.e., se
ˆ
usa en δ(q, a), donde es un s´mbolo, o en δ(q, a),
ı
donde es una cadena?
(INAOE) Verano, 2011 19 / 60
20. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Ejemplo:
´
Introduccion a
´
los Automatas
´
Un DFA que acepta todas y solo las cadenas que tienen un
´
Definicion
formal de un ´ ´ un numero par de 1’s
numero par de 0’s y tambien ´
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 20 / 60
21. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Ejemplo (cont.)
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 21 / 60
22. ´ ´
Definicion formal de un Automata Finito Determin´stico
ı
Ejemplo (cont.)
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
´ ´
Representacion tabular del automata anterior:
Finito
Determin´stico
ı
0 1
´
Automata · → q0 q2 q1
Finito No-
Determin´stico
ı q1 q3 q0
´
Automatas q2 q0 q3
Finitos y
Lenguajes q3 q1 q2
Formales
´
Eliminacion
de las Ejemplo: Problema 2.2.1.a
Transiciones-ǫ
Ejemplo: Problema 2.2.4.a
(INAOE) Verano, 2011 22 / 60
23. ´
Automata Finito No-Determin´stico
ı
´
Automata Finito No-Determin´stico
ı
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito ´
Un automata finito es no-determin´stico cuando se permite
ı
Determin´stico
ı
´
que el AF tenga 0 o mas estados siguientes para cada par
´
Automata
Finito No- estado-entrada:
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 23 / 60
24. ´
Automata Finito No-Determin´stico
ı
´
Automata Finito No-Determin´stico
ı
´
Introduccion a
´
los Automatas
´
Definicion • En el ejemplo anterior, se puede apreciar que de q0 se
formal de un
´
Automata ´
puede ir a q0 o a q1 con la entrada “0”, y esto hace al
Finito
Determin´stico
ı AF ser no-determinista.
´
Automata
Finito No- • Un NFA puede estar en varios estados a la vez o se
Determin´stico
ı
´
puede ver que “adivina” a que estado ir.
´
Automatas
Finitos y • Por ejemplo, el siguiente automata acepta todas las
´
Lenguajes
Formales cadenas que terminan en 01:
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 24 / 60
25. ´
Automata Finito No-Determin´stico
ı
´
Automata Finito No-Determin´stico
ı
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito Lo que pasa al procesar como entrada a 00101 es:
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 25 / 60
26. ´
Automata Finito No-Determin´stico
ı
´
Automata Finito No-Determin´stico
ı
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
• Un NFA es una herramienta importante para disenar
˜
´
Automata
Finito
procesadores de cadenas, e.g., grep, analizadores
Determin´stico
ı ´ ´ ˜
lexicos, etc. Es facil disenar NFAs que encuentren
´
Automata
Finito No-
secuencias de palabras en texto.
Determin´stico
ı
• NFA: Formalmente, un NFA es una qu´ntupla
ı
´
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 vac´o, tener un solo estado
ı
de las
Transiciones-ǫ ´
o tener mas estados.
• Un NFA acepta, al igual que un DFA, lenguajes
regulares
(INAOE) Verano, 2011 26 / 60
27. ´
Automata Finito No-Determin´stico
ı
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Por ejemplo, para el NFA que acepta cadenas que acaban
Determin´stico
ı ´ ´
en 01 su funcion de transicion δ es:
´
Automata
Finito No-
Determin´stico
ı 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) Verano, 2011 27 / 60
28. ´
Automata Finito No-Determin´stico
ı
´ ˆ
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
Determin´stico
ı
ˆ
• Base: δ(q, ǫ) = q
´
Automata
Finito No-
• Induccion: Supongamos w es de la forma w = xa,
´
Determin´stico
ı donde a es el s´mbolo terminal y x es el resto de w .
ı
´
Automatas
´ ˆ
Supongamos tambien que: δ(q, x) = {p1 , p2 , . . . , pk }.
Finitos y
k
i=1 δ(pi , a) = {r1 , r2 , . . . , rm }. Entonces
Lenguajes
Formales
´
Eliminacion
∪δ(q, w ) = {r1 , r2 , . . . , rm }.
de las ˆ
En otras palabras calculamos δ(q, w ) primero
Transiciones-ǫ
ˆ x) y despues siguiendo cualquier
calculando δ(q, ´
´ de algunos de esos estados etiquetada con
transicion
a.
(INAOE) Verano, 2011 28 / 60
30. ´
Automata Finito No-Determin´stico
ı
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 = ∅}.
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
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) Verano, 2011 30 / 60
31. ´
Automata Finito No-Determin´stico
ı
´
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
Determin´stico
ı
´
construido a partir del subconjunto de construccion es
´
Automata
Finito No- D = (QD , Σ, δD , {q0 }, FD ), donde:
Determin´stico
ı
´
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 = ∅.
Transiciones-ǫ
• Para cualquier S ⊆ QN y a ∈ Σ,
δD (S, a) = p∈S δ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) Verano, 2011 31 / 60
32. ´
Automata Finito No-Determin´stico
ı
´
Construccion de Subconjunto
´
Introduccion a
´
los Automatas
´
Definicion ´ ´
La funcion de transicion δD del NFA anterior es:
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 32 / 60
33. ´
Automata Finito No-Determin´stico
ı
´
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
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 33 / 60
34. ´
Automata Finito No-Determin´stico
ı
´
Construccion de Subconjunto
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
• Lo cual es un DFA (simplemente cambiando la
Determin´stico
ı ´ ´
notacion). Tambien es importante notar que no todos
´
Automata
Finito No-
´
los estados pueden ser alcanzados. En particular, solo
Determin´stico
ı
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) Verano, 2011 34 / 60
36. ´
Automata Finito No-Determin´stico
ı
Ejemplo (cont.)
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito Lo que nos queda:
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 36 / 60
37. ´
Automata Finito No-Determin´stico
ı
Prueba de Equivalencia
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata Teorema clave: induccion de |w | (la prueba esta en el
´ ´
Finito No-
Determin´stico
ı
ˆ ˆ
libro): δD ({q0 }, w ) = δN (q0 , w ). Lo que queremos probar es
´
Automatas que si D = (QD , Σ, δD , {q0 }, FD ) es construido a partir del
Finitos y
Lenguajes NFA N = (QN , Σ, δN , q0 , FN ) usando construccion de
´
Formales
subconjuntos, entonces L(D) = L(N).
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 37 / 60
38. ´
Automata Finito No-Determin´stico
ı
Prueba de Equivalencia
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata ´
Queremos probar por induccion en w que
Finito No-
Determin´stico
ı
ˆ ˆ
δD ({q0 }, w ) = δN (q0 , w ). Las dos funciones de transicion
´
´
Automatas regresan conjuntos de estados de QN , pero la determin´stica ı
Finitos y
Lenguajes lo interpreta como uno solo de sus estados QD .
Formales ˆ ˆ
Base: w = ǫ, en este caso δD ({q0 }, ǫ) = δN (q0 , ǫ) = {q0 }.
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 38 / 60
39. ´
Automata Finito No-Determin´stico
ı
Prueba de Equivalencia
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito Induccion: Tomamos w de longitud n + 1 y asumimos que
´
Determin´stico
ı
´
Automata
se cumple el enunciado para n, o sea que
Finito No- ˆ ˆ
δD ({q0 }, x) = δN (q0 , x). Sean estos dos conjuntos de
Determin´stico
ı
´
Automatas
estados = {p1 , p2 , . . . , pk }. Dividimos a w en xa. La
Finitos y ´ ˆ
definicion de δ para el NFA nos dice que:
Lenguajes
Formales ˆ
δN (q0 , w ) = k δN (pi , a).
i=1
´
Eliminacion
de las
´
Por la construccion de subconjuntos:
k
Transiciones-ǫ δD ({p1 , p2 , . . . , pk }, a) = i=1 δN (pi , a)
(INAOE) Verano, 2011 39 / 60
40. ´
Automata Finito No-Determin´stico
ı
Prueba de Equivalencia
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
ˆ
Usando esto, y que δD ({q0 }, x) = {p1 , p2 , . . . , pk } tenemos
´
Automata que:
Finito No-
Determin´stico
ı ˆ ˆ
δD ({q0 }, w ) = δD (δD ({q0 }, x), a) = δD ({p1 , p2 , . . . , pk }, a) =
k
i=1 δN (pi , a)
´
Automatas
Finitos y
Lenguajes Tanto D como N aceptan w cuando contiene un estado en
Formales
´
Eliminacion
FN.
de las
Transiciones-ǫ
Consecuencia: L(D) = L(N).
(INAOE) Verano, 2011 40 / 60
41. ´
Automata Finito No-Determin´stico
ı
Ejemplos
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
Ejemplo: Convertir el siguiente NFA a un DFA
´
Automata
Finito No- 0 1
Determin´stico
ı
→ p {p, q} {p}
´
Automatas
Finitos y q {r } {r }
Lenguajes
Formales r {s} ∅
´
Eliminacion ∗s {s} {s}
de las
Transiciones-ǫ
(INAOE) Verano, 2011 41 / 60
42. ´
Automata Finito No-Determin´stico
ı
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
Determin´stico
ı
manera que el ultimo s´mbolo aparezca previamente, sin
´ ı
´
Automata ninguna intervencion ´ de un s´mbolo mas alto entre esa
ı ´
Finito No-
Determin´stico
ı
´
previa aparicion del s´mbolo, e.g.,
ı
´
Automatas . . . 11, . . . 21112, . . . 312123.
Finitos y
Lenguajes • Truco: Utilizar el estado de inicio con el significado
Formales
´
Eliminacion
“Creo que todav´a no se ha visto el s´mbolo que
ı ı
de las
Transiciones-ǫ
corresponde al s´mbolo final”.
ı
• 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
43. ´
Automata Finito No-Determin´stico
ı
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 43 / 60
44. ´
Automata Finito No-Determin´stico
ı
Ejemplo (cont.)
´
Introduccion a
´
los Automatas
´
Definicion
formal de un ´
Subconjunto de Construccion del NFA Previo.
´
Automata
Finito
Determin´stico
ı
• Un truco practico importante utilizado por analizadores
´
´
Automata ´
lexicos y otros procesadores de texto es ignorar los
Finito No-
Determin´stico
ı (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) Verano, 2011 44 / 60
46. ´
Automata Finito No-Determin´stico
ı
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
˜
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) Verano, 2011 46 / 60
47. ´
Automatas Finitos y Lenguajes Formales
´
Automata Finito con Transiciones-ǫ
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
• Sea ǫ una etiqueta en arcos.
´
Automata • No hay ningun cambio extra: la aceptacion de w todav´a
´ ´ ı
Finito No-
Determin´stico
ı se da como la existencia de la ruta desde un estado de
´
Automatas
Finitos y
´
inicio a un estado de aceptacion con etiqueta w .
Lenguajes
Formales
• Pero ǫ puede aparecer en los arcos, y significa que hay
´
Eliminacion ı ´
una cadena vac´a (i.e., no tiene una contribucion visible
de las
Transiciones-ǫ para w ).
(INAOE) Verano, 2011 47 / 60
48. ´
Automatas Finitos y Lenguajes Formales
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 48 / 60
49. ´
Automatas Finitos y Lenguajes Formales
Ejemplo (cont.)
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı • 001 es aceptado siguiendo la ruta q, s, r , q, r , s, con la
´
Automata
Finito No-
etiqueta 0ǫ01ǫ = 001.
Determin´stico
ı
• Podemos disenar un automata que acepte cadenas de
˜ ´
´
Automatas
Finitos y numeros que tengan un signo al inicio opcional,
´
Lenguajes
Formales seguida posiblemente de una cadena de decimales,
´
Eliminacion seguida de un punto decimal y posiblemente de otra
de las
Transiciones-ǫ cadena de decimales.
(INAOE) Verano, 2011 49 / 60
50. ´
Automatas Finitos y Lenguajes Formales
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 50 / 60
51. ´
Automatas Finitos y Lenguajes Formales
ǫ-NFA
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı ´
Mas formalmente: Un ǫ-NFA es una qu´ntuplaı
´
Automata
Finito No- (Q, Σ, δ, q0 , F ), donde δ es una funcion de Q × Σ ∪ {ǫ} al
´
Determin´stico
ı
conjunto potencia de Q.
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion ´
La tabla de transicion del ǫ-NFA del ejemplo anterior es:
de las
Transiciones-ǫ
(INAOE) Verano, 2011 51 / 60
52. ´
Automatas Finitos y Lenguajes Formales
´
Tabla de Transicion
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 52 / 60
53. ´
Eliminacion de las Transiciones-ǫ
´
Eliminacion de las Transiciones-ǫ
´
Introduccion a
´
los Automatas Las transiciones-ǫ son una conveniencia, pero no
´
Definicion
formal de un
incrementan la potencia de los FA’s. Para eliminar las
´
Automata transiciones-ǫ:
Finito
Determin´stico
ı
´
1 Calcular la cerradura transitiva solo para los arcos ǫ.
´
Automata
Finito No- Ejemplo: q −→ {q}; r −→ {r , s}; s −→ {r , s}.
Determin´stico
ı
´
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) Verano, 2011 53 / 60
54. ´
Eliminacion de las Transiciones-ǫ
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 54 / 60
55. ´
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 ˆ
• Base: δ(q, ǫ) = ECLOSE (q)
Determin´stico
ı
´
Automata ´ ˆ
• Induccion: δ(q, xa) = ˆ
p∈δ(δ(q,x),a) ECLOSE (p)
Finito No-
Determin´stico
ı ˆ
Por ejemplo, δ(q0 , 5.6) es:
´
Automatas
Finitos y
ˆ 0 , ǫ) = {q0 , q1 } = ECLOSE (q0)
δ(q
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) Verano, 2011 55 / 60
56. ´
Eliminacion de las Transiciones-ǫ
Equivalencias
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı • Como antes, el lenguaje aceptado por un ǫ-NFA, E, es:
´
Automata ˆ
L(E ) = {w |δ(q0 , w ) ∩ F = ∅}, osea todas las cadenas
Finito No-
Determin´stico
ı 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) Verano, 2011 56 / 60
57. ´
Eliminacion de las Transiciones-ǫ
Equivalencias
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito
Determin´stico
ı QD = {S|S ⊆ QE ∧ S = ECLOSE (S)}
´
Automata qD = ECLOSE (q0)
Finito No-
Determin´stico
ı FD = {S|S ⊆ QD ∧ S ∩ FE = ∅}
´
Automatas δD (S, a) = { ECLOSE (p)|p ∈ δ(t, a), t ∈ S}
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
lo que se calcula para todos los a ∈ Σ y conjuntos S ∈ QD .
(INAOE) Verano, 2011 57 / 60
58. ´
Eliminacion de las Transiciones-ǫ
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
El DFA correspondiente al ǫ-NFA de numeros decimales
´
Finito
Determin´stico
ı
(omitiendo todas las transiciones a estados “muertos”) es:
´
Automata
Finito No-
Determin´stico
ı
´
Automatas
Finitos y
Lenguajes
Formales
´
Eliminacion
de las
Transiciones-ǫ
(INAOE) Verano, 2011 58 / 60
59. ´
Eliminacion de las Transiciones-ǫ
Equivalencias
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Finito Se puede demostrar que un lenguaje L es aceptado por
Determin´stico
ı
´
Automata
algun ǫ-NFA E si y solo si L es aceptado por un DFA. Para
´
Finito No-
Determin´stico
ı
´
esto, hacia un sentido es facil (cambiando un DFA a un
´
Automatas
ǫ-NFA) y para el otro sentido se hace lo mismo que hemos
Finitos y
Lenguajes
hecho antes, probando con el caso base y el caso inductivo,
Formales donde partimos w = xa, asumimos que es verdad para x y
´
Eliminacion
de las
probamos para w , solo que ahora tomando la cerradura ǫ o
Transiciones-ǫ
ECLOSE para los estados.
(INAOE) Verano, 2011 59 / 60
60. ´
Eliminacion de las Transiciones-ǫ
Ejemplo
´
Introduccion a
´
los Automatas
´
Definicion
formal de un
´
Automata
Considere el siguiente ǫ-NFA:
Finito
Determin´stico
ı
ǫ a b c
´
Automata
→p ∅ {p} {q} {r }
Finito No-
Determin´stico
ı
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) Verano, 2011 60 / 60