Automatas Finitos´ - INAOE - Ciencias...

58
Introducci ´ on a los Aut´ omatas Definici ´ on formal de un Aut ´ omata Finito Determin´ ıstico Aut ´ omata Finito No- Determin´ ıstico Aut ´ omatas Finitos y Lenguajes Formales Eliminaci ´ on de las Transiciones- Aut ´ omatas Finitos INAOE (INAOE) 1 / 58

Transcript of Automatas Finitos´ - INAOE - Ciencias...

Page 1: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automatas Finitos

INAOE

(INAOE) 1 / 58

Page 2: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Contenido

1 Introduccion a los Automatas

2 Definicion formal de un Automata Finito Determinıstico

3 Automata Finito No-Determinıstico

4 Automatas Finitos y Lenguajes Formales

5 Eliminacion de las Transiciones-ε

(INAOE) 2 / 58

Page 3: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Introduccion a los Automatas

Introduccion a los Automatas

Automata: Conjunto de estados + Control→ Cambio deestados en respuesta a una entrada.Tipo de Control:• Determinıstico: Para cada entrada, hay solo un estado

al que el automata puede ir desde el estado en que seencuentre.

• No determinıstico: Un automata finito esno-determinıstico cuando se permite que el AF tenga 0o mas estados siguientes para cada parestado-entrada.

(INAOE) 3 / 58

Page 4: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Introduccion a los Automatas

Automatas No-Deterministas

Si anadimos la propiedad de no-determinismo, no anadimospoder al automata. Osea que no podemos definir ningunlenguaje que no se pueda definir con el automatadeterminıstico.Con la propiedad de no-determinismo se agrega eficienciaal 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

poder ser ejecutado en una computadora convencional

(INAOE) 4 / 58

Page 5: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Introduccion a los Automatas

Automatas No-Deterministas

• Extension del N-DFA para hacer saltos de un estado aotro espontaneamente, con la cadena vacıa (ε) comoentrada: εN-DFA. Estos automatas tambien aceptanlenguajes regulares.

(INAOE) 5 / 58

Page 6: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Definicion Formal de un Automata

Un AF se representa como una 5-tupla: A = (Q,Σ, δ,q0,F ).Donde:

1 Q: Un conjunto finito de estados.2 Σ: Un conjunto finito de sımbolos de entrada (alfabeto)3 q0: El estado inicial/de comienzo.4 F : cero o mas estados finales/de aceptacion.

(INAOE) 6 / 58

Page 7: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Funcion de Transicion

5 δ: Funcion de transicion. Esta funcion:• Toma un estado y un sımbolo de entrada como

argumentos.• Regresa un estado.• Una “regla” de δ se escribe como δ(q,a) = p, donde q y

p son estados y a es un sımbolo de entrada.• Intuitivamente: Si el AF esta en un estado q, y recibe

una entrada a, entonces el AF va al estado p (nota:puede ser al mismo estado q = p).

(INAOE) 7 / 58

Page 8: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

DFA

• El lenguaje de un DFA es el conjunto de todas lascadenas que el DFA acepta

• Dada una cadena (e.g., s1, s2, . . . , sn) el DFA empiezaen su estado inicial (e.g., q0), consulta si existe unatransicion de q0 con el primer sımbolo (s1) a otro estado(e.g., q1) y si existe (i.e., δ(q0, s1) = q1) se mueve alestado descrito en la transicion.

• Procesa el siguiente sımbolo de la cadena (i.e., s2) yası continua.

• Si logra procesar toda la cadena y el estado al quellega es uno de los estados finales, entonces se diceque el automata acepta esa cadena.

(INAOE) 8 / 58

Page 9: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Ejemplo

Un Automata A que acepta L = {x01y |x ∧ y ∈ {0,1}∗}• El DFA acepta cadenas que tienen 01 en alguna parte

de la cadena• El lenguaje del DFA es el conjunto de cadenas que

acepta {w |w tiene la forma “x01y ” para algunascadenas x y y que consisten solo de 0’s y 1’s }.

(INAOE) 9 / 58

Page 10: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Tabla de Transiciones

El automata anterior puede ser representado con una tablade transiciones, definido comoA = ({q0,q1,q2}, {0,1}, δ,q0,q1), de la siguiente forma:

0 1→ q0 q2 q0?q1 q1 q1q2 q2 q1

(INAOE) 10 / 58

Page 11: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Diagrama de Transiciones

• Cada estado tiene un nodo asociado• Cada transicion de estados tiene un arco asociado

etiquetado con el/los sımbolos correspondientes• Existe una etiqueta de inicio para el estado inicial y un

doble cırculo asociado a los estados finales

(INAOE) 11 / 58

Page 12: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Convenciones

Por convencion se utilizan:• a, b, etc., o dıgitos para los sımbolos de entrada• u, v , . . . , z para las cadenas de sımbolos de entrada• q,p, etc., para los estados

(INAOE) 12 / 58

Page 13: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Funciones de transicion extendidas (δ)

Intuitivamente, un FA acepta una cadena w = a1a2 . . . an sihay una ruta en el diagrama de transiciones que:

1 Empieza en el estado de inicio,2 Termina en un estado de aceptacion, y3 Tiene una secuencia de etiquetas a1,a2, . . . ,an.

(INAOE) 13 / 58

Page 14: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Ejemplo

Ejemplo: El siguiente AF acepta la cadena 01101:

(INAOE) 14 / 58

Page 15: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Funcion de Transicion

Formalmente, podemos extendemos la funcion de transicionδ a δ(q,w), donde w puede ser cualquier cadena desımbolos de entrada:

• Base: δ(q, ε) = q (i.e., nos quedamos en el mismo lugarsi no recibimos una entrada).

• Induccion: δ(q,w) = δ(δ(q, x),a), donde x es unacadena, y a es un solo sımbolo (i.e., ver a donde va elAF con x , luego buscar la transicion para el ultimosımbolo a partir de ese estado).

• Si δ(q, x) = p entonces δ(q,w) = δ(p,a)

• δ representa rutas.

(INAOE) 15 / 58

Page 16: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Funcion de Transicion

• Aceptacion de Cadenas: Un AF A = (Q,Σ, δ,q0,F )acepta la cadena w si δ(q0,w) esta en F .

• Lenguaje de un AF: Un AF acepta el lenguajeL(A) = {w |δ(q0,w) ∈ F}.

(INAOE) 16 / 58

Page 17: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Ejemplo:

Un DFA que acepta todas y solo las cadenas que tienen unnumero par de 0’s y tambien un numero par de 1’s

(INAOE) 17 / 58

Page 18: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Ejemplo (cont.)

(INAOE) 18 / 58

Page 19: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Ejemplo (cont.)

Representacion tabular del automata anterior:0 1

?→ q0 q2 q1q1 q3 q0q2 q0 q3q3 q1 q2

(INAOE) 19 / 58

Page 20: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Problema 2.2.1

Cada vez que entra una canica en alguno de las dosentradas (A o B) cae y mueve la compuerta. La salida D esexito y la C fracaso. Modelarlo como un DFA.

(INAOE) 20 / 58

Page 21: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Definicion formal de un Automata Finito Determinıstico

Problema 2.2.4

Disene un DFA que acepte:• Todas las cadenas que acaban en 00• Todas las cadenas con 000 en algun lugar• Todas las cadenas con una sucadena 001

(INAOE) 21 / 58

Page 22: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Automata Finito No-Determinıstico

Un automata finito es no-determinıstico cuando se permiteque el AF tenga 0 o mas estados siguientes para cada parestado-entrada:

(INAOE) 22 / 58

Page 23: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Automata Finito No-Determinıstico

• En el ejemplo anterior, se puede apreciar que de q0 sepuede ir a q0 o a q1 con la entrada “0”, y esto hace alAF ser no-determinista.

• Un NFA puede estar en varios estados a la vez o sepuede ver que “adivina” a que estado ir.

• Por ejemplo, el siguiente automata acepta todas lascadenas que terminan en 01:

(INAOE) 23 / 58

Page 24: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Automata Finito No-Determinıstico

Lo que pasa al procesar como entrada a 00101 es:

(INAOE) 24 / 58

Page 25: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Automata Finito No-Determinıstico

• Un NFA es una herramienta importante para disenarprocesadores de cadenas, e.g., grep, analizadoreslexicos, etc. Es facil disenar NFAs que encuentrensecuencias de palabras en texto.

• NFA: Formalmente, un NFA es una quıntuplaA = (Q,Σ, δ,q0,F ), donde todo es un DFA, pero δ(q,a)nos regresa un conjunto de estados en lugar de un soloestado. De hecho puede ser vacıo, tener un solo estadoo tener mas estados.

• Un NFA acepta, al igual que un DFA, lenguajesregulares

(INAOE) 25 / 58

Page 26: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo

Por ejemplo, para el NFA que acepta cadenas que acabanen 01 su funcion de transicion δ es:

0 1→ q0 {q0,q1} {q0}

q1 ∅ {q2}*q2 ∅ ∅

Como puede observarse, todo se especifica en conjuntos.

(INAOE) 26 / 58

Page 27: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Extension a δ

Similarmente a un DFA, podemos definir la funcion detransicion extendida δ como sigue:• Base: δ(q, ε) = q• Induccion: Supongamos w es de la forma w = xa,

donde a es el sımbolo terminal y x es el resto de w .Supongamos tambien que: δ(q, x) = {p1,p2, . . . ,pk}.⋃k

i=1 δ(pi ,a) = {r1, r2, . . . , rm}.Entonces ∪δ(q,w) = {r1, r2, . . . , rm}.

• En otras palabras calculamos δ(q,w) primerocalculando δ(q, x) y despues siguiendo cualquiertransicion de algunos de esos estados etiquetada cona.

(INAOE) 27 / 58

Page 28: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo:

Por ejemplo, podemos calcular δ(q0,00101) para elautomata 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 final.

(INAOE) 28 / 58

Page 29: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Lenguajes de un NFA

El lenguaje aceptado por un NFA, A, es:L(A) = {w |δ(q0,w) ∩ F 6= ∅}.

Equivalencia entre un DFA y un NFAUn NFA es normalmente mas facil de definir, aunque almismo tiempo, para cualquier NFA N existe un DFA D talque L(D) = L(N) y viceversa.Para esto se usa la construccion de subconjunto quemuestra un ejemplo de como un automata se puedeconstruir a partir de otro.

(INAOE) 29 / 58

Page 30: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Construccion de SubconjuntoPara cada NFA existe un DFA equivalente (acepta el mismolenguaje). Pero el DFA puede tener un numero exponencialde estados.Sea N = (QN ,Σ, δN ,q0,FN) un NFA. El DFA equivalenteconstruido a partir del subconjunto de construccion esD = (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 6= ∅.• 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) 30 / 58

Page 31: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Construccion de Subconjunto

La funcion de transicion δD del NFA anterior es:

(INAOE) 31 / 58

Page 32: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Construccion de Subconjunto

Al existir 3 estados, tenemos 8 subconjuntos. Esto mismo lopodemos poner como:

(INAOE) 32 / 58

Page 33: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Construccion de Subconjunto

• Lo cual es un DFA (simplemente cambiando lanotacion). Tambien es importante notar que no todoslos estados pueden ser alcanzados. En particular, sololos estados B, E y F son accesibles, por lo que losdemas los podemos eliminar.

• Una forma de no construir todos los subconjuntos paradespues encontrar que solo unos cuantos sonaccesibles, es construir la tabla solo para los estadosaccesibles (lazy evaluation).

(INAOE) 33 / 58

Page 34: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo (cont.)

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) 34 / 58

Page 35: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo (cont.)

Lo que nos queda:

(INAOE) 35 / 58

Page 36: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Prueba de Equivalencia

Teorema clave: induccion de |w | (la prueba esta en ellibro): δD({q0},w) = δN(q0,w). Lo que queremos probar esque si D = (QD,Σ, δD, {q0},FD) es construido a partir delNFA N = (QN ,Σ, δN ,q0,FN) usando construccion desubconjuntos, entonces L(D) = L(N).

(INAOE) 36 / 58

Page 37: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Prueba de Equivalencia

• Queremos probar por induccion en w queδD({q0},w) = δN(q0,w).

• Las dos funciones de transicion regresan conjuntos deestados de QN , pero la determinıstica lo interpretacomo uno solo de sus estados QD.

• Base: w = ε, en este casoδD({q0}, ε) = δN(q0, ε) = {q0}.

(INAOE) 37 / 58

Page 38: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Prueba de Equivalencia

• Induccion: Tomamos w de longitud n + 1 y suponemosque 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 definicion de δ para el NFA nosdice que: δN(q0,w) =

⋃ki=1 δN(pi ,a).

• Por la construccion de subconjuntos:δD({p1,p2, . . . ,pk},a) =

⋃ki=1 δN(pi ,a)

(INAOE) 38 / 58

Page 39: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Prueba de Equivalencia

• Usando esto, y que δD({q0}, x) = {p1,p2, . . . ,pk}tenemos que:δD({q0},w) = δD(δD({q0}, x),a) =δD({p1,p2, . . . ,pk},a) =

⋃ki=1 δN(pi ,a)

• Tanto D como N aceptan w cuando contiene un estadoen FN.

• Consecuencia: L(D) = L(N).

(INAOE) 39 / 58

Page 40: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplos

Ejemplo: Convertir el siguiente NFA a un DFA0 1

→ p {p,q} {p}q {r} {r}r {s} ∅∗s {s} {s}

(INAOE) 40 / 58

Page 41: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo

En este ejemplo un tanto imaginario, se disenara un NFApara aceptar cadenas sobre el alfabeto {1,2,3} de talmanera que el ultimo sımbolo aparezca previamente, sinninguna intervencion de un sımbolo mas alto entre esaprevia aparicion del sımbolo, e.g.,. . . 11, . . .21112, . . .312123.• Truco: Utilizar el estado de inicio con el significado

“Creo que todavıa no se ha visto el sımbolo quecorresponde al sımbolo final”.

• Otros tres estados representando una eleccion de queel sımbolo con que acaba la cadena se ha visto y serecuerda de que sımbolo se trata.

(INAOE) 41 / 58

Page 42: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo

(INAOE) 42 / 58

Page 43: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo (cont.)

Subconjunto de Construccion del NFA Previo.• Un truco practico importante utilizado por analizadores

lexicos y otros procesadores de texto es ignorar los(frecuentemente muchos) estados que no sonaccesibles desde el estado de inicio (i.e., no hay rutaque lleve a ellos).

• Para el ejemplo anterior de NFA, de los 32subconjuntos posibles, solo 15 son accesibles.Calculando las transiciones “por demanda” obtenemosel siguiente δD:

(INAOE) 43 / 58

Page 44: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo (cont.)1 2 3

→ {p} {pq} {pr} {ps}{pq} {pqt} {pr} {ps}{∗pqt} {pqt} {pr} {ps}{pr} {pqr} {prt} {ps}{∗prt} {pqr} {prt} {ps}{ps} {pqs} {prs} {pst}{∗pst} {pqs} {prs} {pst}{prs} {pqrs} {prst} {pst}{∗prst} {pqrs} {prst} {pst}{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

Page 45: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automata Finito No-Determinıstico

Ejemplo

Ejemplo: Disene un NFA que reconozca los siguientesconjuntos de cadenas: abc, abd y aacd , suponiendo que elalfabeto es {a,b, c,d}

(INAOE) 45 / 58

Page 46: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automatas Finitos y Lenguajes Formales

Automata Finito con Transiciones-ε

• Sea ε una etiqueta en arcos.• No hay ningun cambio extra: la aceptacion de w todavıa

se da como la existencia de la ruta desde un estado deinicio a un estado de aceptacion con etiqueta w .

• Pero ε puede aparecer en los arcos, y significa quepuede existir una transicion con una cadena vacıa (i.e.,no tiene una contribucion visible para w).

• Se les denota ε−NFA.

(INAOE) 46 / 58

Page 47: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automatas Finitos y Lenguajes Formales

Ejemplo

(INAOE) 47 / 58

Page 48: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automatas Finitos y Lenguajes Formales

Ejemplo (cont.)

• 001 es aceptado siguiendo la ruta q, s, r ,q, r , s, con laetiqueta 0ε01ε = 001.

• Podemos disenar un automata que acepte cadenas denumeros que tengan un signo al inicio opcional,seguido posiblemente de una cadena de decimales,seguido de un punto decimal y posiblemente de otracadena de decimales.

(INAOE) 48 / 58

Page 49: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automatas Finitos y Lenguajes Formales

Ejemplo

(INAOE) 49 / 58

Page 50: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automatas Finitos y Lenguajes Formales

ε-NFA

• Mas formalmente: Un ε-NFA es una quıntupla(Q,Σ, δ,q0,F ), donde δ es una funcion de Q × Σ ∪ {ε}al conjunto potencia de Q.

• Hay que evitar que ε sea parte del alfabeto Σ

(INAOE) 50 / 58

Page 51: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Automatas Finitos y Lenguajes Formales

Tabla de Transicion

La tabla de transicion del ε-NFA del ejemplo anterior es:

(INAOE) 51 / 58

Page 52: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Eliminacion de las Transiciones-ε

Eliminacion de las Transiciones-ε

Las transiciones-ε son una conveniencia, pero noincrementan la potencia de los FA’s. Para eliminar lastransiciones-ε:

1 Calcular la cerradura transitiva solo para los arcos ε.Del primer ejemplo: q −→ {q}; r −→ {r , s}; s −→ {r , s}.

2 Si un estado p puede alcanzar al estado q por mediode arcos ε, y existe una transicion de q a r en la entradaa (no ε), entonces anadase una transicion de p a r conla entrada a.

3 Convertir el estado p en un estado de aceptacionsiempre y cuando p pueda alcanzar algun estado deaceptacion q por medio de arcos ε.

4 Eliminar todas las transiciones-ε.

(INAOE) 52 / 58

Page 53: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Eliminacion de las Transiciones-ε

Ejemplo

(INAOE) 53 / 58

Page 54: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Eliminacion de las Transiciones-ε

Transiciones Extendidas

De la misma forma como lo hicimos anteriormente,podemos definir las transiciones extendidas para ε-NFA.• Base: δ(q, ε) = ECLOSE(q)

• Induccion: δ(q, xa) =⋃

p∈δ(δ(q,x),a) ECLOSE(p)

Por ejemplo, δ(q0,5.6) es:δ(q0, ε) = {q0,q1} = ECLOSE(q0)δ(q0,5) ∪ δ(q1,5) = {q1,q4}ECLOSE(q1) ∪ ECLOSE(q4) = {q1,q4}δ(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

Page 55: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Eliminacion de las Transiciones-ε

Equivalencias

• Como antes, el lenguaje aceptado por un ε-NFA, E, es:L(E) = {w |δ(q0,w) ∩ F 6= ∅}, osea todas las cadenasw que van de un estado inicial q0 a al menos un estadofinal.

• Se puede demostrar que se puede construir un DFA apartir de un ε-NFA siguiendo un esquema parecido alde construccion de subconjuntos visto para NFA.

(INAOE) 55 / 58

Page 56: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Eliminacion de las Transiciones-ε

Equivalencias

• QD = {S|S ⊆ QE ∧ S = ECLOSE(S)}• qD = ECLOSE(q0)

• FD = {S|S ⊆ QD ∧ S ∩ FE 6= ∅}• δD(S,a) = {

⋃ECLOSE(p)|p ∈ δ(t ,a), t ∈ S}

• Lo que se calcula para todos los a ∈ Σ y conjuntosS ∈ QD.

(INAOE) 56 / 58

Page 57: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Eliminacion de las Transiciones-ε

Equivalencias

• Se puede demostrar que un lenguaje L es aceptado poralgun ε-NFA E si y solo si L es aceptado por un DFA.

• Para esto, hacia un sentido es facil (cambiando un DFAa un ε-NFA)

• Para el otro sentido se hace lo mismo que hemoshecho antes, probando con el caso base y el casoinductivo, donde partimos de w = xa, suponemos quees verdad para x y probamos para w , solo que ahoratomando la cerradura ε o ECLOSE para los estados.

(INAOE) 57 / 58

Page 58: Automatas Finitos´ - INAOE - Ciencias Computacionalesemorales/Cursos/Automatas/AutomatasFinito… · 3 Automata Finito No-Determin´ ´ıstico 4 Automatas Finitos y Lenguajes Formales

Introduccion alos Automatas

Definicionformal de unAutomataFinitoDeterminıstico

AutomataFinito No-Determinıstico

AutomatasFinitos yLenguajesFormales

Eliminacionde lasTransiciones-ε

Eliminacion de las Transiciones-ε

Ejemplo

Considere el siguiente ε-NFA:ε a b c

→ p ∅ {p} {q} {r}q {p} {q} {r} ∅∗r {q} {r} ∅ {p}

a) Calcula las ε-closure para cada estadob) Cuales son todas las cadenas de 3 o menos caracteres

aceptadas por el automatac) Convertirlo a un DFA

(INAOE) 58 / 58