SlideShare una empresa de Scribd logo
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´matas
Finitos
INAOE
(INAOE) 1 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Contenido
1 Introduccio´n a los Auto
´matas
2 Definicio´n formal de un Auto´mata Finito Determin
´ıstico
3 Auto´mata Finito No-Determin
´ıstico
4 Auto´matas Finitos y Lenguajes
Formales
5 Eliminacio´n de las Transiciones-
ϵ
(INAOE) 2 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Introduccio´n a los Auto
´matas
Introduccio´ n a los Auto´
matas
Auto´ mata: Conjunto de estados + Control → Cambio
de
estados en respuesta a una
entrada. Tipo de Control:
• Determin´ıstico: Para cada entrada, hay so´lo un
estado
al que el auto´mata puede ir desde el estado en
que se encuentre.
• No determin´ıstico: Un auto´mata finito
es
no-determin´ıstico cuando se permite que el AF
tenga 0 o ma´s estados siguientes para cada par
estado-entrada.
(INAOE) 3 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Introduccio´n a los Auto
´matas
Auto´ matas No-
Deterministas
Si an˜adimos la propiedad de no-determinismo, no
an˜adimos poder al auto´mata. Osea que no podemos
definir ningu´n lenguaje que no se pueda definir con el
auto´mata determin´ıstico.
Con la propiedad de no-determinismo se agrega
eficiencia al describir una aplicacio´n:
• Permite programar soluciones en un lenguaje de
ma´s
alto
nivel
• Hay un algoritmo para compilar un N-DFA en un
DFA y
poder ser ejecutado en una computadora
convencional
(INAOE) 4 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Introduccio´n a los Auto
´matas
Auto´ matas No-
Deterministas
• Extensio´n del N-DFA para hacer saltos de un
estado a
otro esponta´neamente, con la cadena vac´ıa (ϵ)
como entrada: ϵN-DFA. Estos auto´matas tambie´n
aceptan lenguajes regulares.
(INAOE) 5 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Definicio´ n Formal de un Auto´
mata
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 ma´s estados finales/de aceptacio´n.
(INAOE) 6 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Funcio´ n de Transicio
´ n
5 δ: Funcio´n de transicio´n. Esta funcio
´n: • Toma un estado y un s´ımbolo de entrada
como
argumento
s.
• 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
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
DFA
• El lenguaje de un DFA es el conjunto de todas
las
cadenas que el DFA
acepta
• Dada una cadena (e.g., s1, s2, . . . , sn) el DFA
empieza
en su estado inicial (e.g., q0), consulta si existe una
transicio´n de q0 con el primer s´ımbolo (s1) a otro
estado (e.g., q1) y si existe (i.e., δ(q0, s1) = q1) se
mueve al estado descrito en la transicio´n.
• Procesa el siguiente s´ımbolo de la cadena (i.e., s2)
y
as´ı
continua.
• Si logra procesar toda la cadena y el estado al
que llega es uno de los estados finales, entonces
se dice que el auto´mata acepta esa cadena.
(INAOE) 8 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Ejemplo
Un Auto´mata A que acepta L = { x 01y |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 “x 01y ” para
algunas
cadenas x y y que consisten so´lo de 0’s y
1’s }.
(INAOE) 9 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Tabla de Transiciones
El auto´mata anterior puede ser representado con una
tabla de transiciones, definido 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) 10 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Diagrama de Transiciones
• Cada estado tiene un nodo
asociado
• Cada transicio´n 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
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Convenciones
Por convencio´n 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
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Funciones de transicio´ n extendidas
(δˆ)
Intuitivamente, un FA acepta una cadena w = a1a2 . . .
an si hay una ruta en el diagrama de transiciones que:
1 Empieza en el estado de inicio,
2 Termina en un estado de aceptacio´n, y
3 Tiene una secuencia de etiquetas a1, a2, . . . , an.
(INAOE) 13 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Ejemplo
Ejemplo: El siguiente AF acepta la cadena
01101:
(INAOE) 14 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Funcio´ n de Transicio
´ n
Formalmente, podemos extendemos la funcio´n de
transicio´n δ a δˆ(q, w ), donde w puede ser cualquier
cadena de s´ımbolos de entrada:
• Base: δˆ(q, ϵ) = q (i.e., nos quedamos en el mismo
lugar
si no recibimos una
entrada).
• Induccio´n: δˆ(q, w ) = δ(δˆ(q, x ), a), donde x es
una
cadena, y a es un solo s´ımbolo (i.e., ver a do´nde va
el AF con x , luego buscar la transicio´n para el u
´ltimo s´ımbolo a partir de ese estado).
• Si δˆ(q, x ) = p entonces δˆ(q, w ) = δ(p,
a)
• δˆ representa rutas.
(INAOE) 15 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Funcio´ n de Transicio
´ n
• Aceptacio´ n 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
lenguaje 0
L(A) = { w |δˆ(q , w ) ∈
F } .
(INAOE) 16 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Ejemplo:
Un DFA que acepta todas y so´lo las cadenas que tienen
un nu´mero par de 0’s y tambie´n un nu´mero par de 1’s
(INAOE) 17 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Ejemplo (cont.)
(INAOE) 18 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Ejemplo (cont.)
Representacio´n tabular del auto´mata
anterior: 0
1
1
* → q0
q2
q1 q
q
q
q2 q q
3
0
0
3
q3 q1 q2
(INAOE) 19 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Problema 2.2.1
Cada vez que entra una canica en alguno de las dos
entradas (A o B) cae y mueve la compuerta. La salida D
es e´xito y la C fracaso. Modelarlo como un DFA.
(INAOE) 20 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Definicio´n formal de un Auto´mata Finito Determin
´ıstico
Problema 2.2.4
Disen˜e un DFA que acepte:
• Todas las cadenas que acaban en 00
• Todas las cadenas con 000 en algu´n
lugar
• Todas las cadenas con una sucadena
001
(INAOE) 21 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Auto´ mata Finito No-Determin
´ıstico
Un auto´mata finito es no-determin´ıstico cuando se
permite que el AF tenga 0 o ma´s estados siguientes
para cada par estado-entrada:
(INAOE) 22 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Auto´ mata Finito No-Determin
´ıstico
• En el ejemplo anterior, se puede apreciar que de q0
se
puede ir a q0 o
´ a q1 con la entrada “0”, y esto
hace al AF ser no-determinista.
• Un NFA puede estar en varios estados a la vez o
se
puede ver que “adivina” a que´ estado
ir.
• Por ejemplo, el siguiente auto´mata acepta todas
las
cadenas que terminan en
01:
(INAOE) 23 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Auto´ mata Finito No-Determin
´ıstico
Lo que pasa al procesar como entrada a 00101
es:
(INAOE) 24 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Auto´ mata Finito No-Determin
´ıstico
• Un NFA es una herramienta importante para
disen˜ar
procesadores de cadenas, e.g., grep,
analizadores le´xicos, etc. Es fa´cil disen˜ar NFAs
que encuentren 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 o tener ma´s estados.
• Un NFA acepta, al igual que un DFA,
lenguajes regulares
(INAOE) 25 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Ejemplo
Por ejemplo, para el NFA que acepta cadenas que
acaban en 01 su funcio´n de transicio´n δ es:
0 1
→ q0 {q0, q1 } {q0 }
q1 ∅ {q2 }
*q2 ∅ ∅
Como puede observarse, todo se especifica en
conjuntos.
(INAOE) 26 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Extensio´ n a
δˆ
Similarmente a un DFA, podemos definir la funcio
´n de ˆ
transicio´n extendida δ como
sigue:
• Base: δˆ(q, ϵ) =
q
• Induccio´n: Supongamos w es de la forma w =
xa,
donde a es el s´ımbolo terminal y x es el resto
de w .
Supongamos tambie´n que: δˆ(q, x ) = {p1, p2, . . . ,
pk }.
S k
i
=1
i 1 2 m
δ(p , a) = { r , r , . . . , r
} .
Entonces ∪δ(q, w ) = { r1, r2, . . . ,
rm} .
• En otras palabras calculamos δˆ(q, w )
primero
calculando δˆ(q, x ) y despue´s siguiendo cualquier
transicio´n de algunos de esos estados etiquetada
con a.
(INAOE) 27 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Ejemplo:
Por ejemplo, podemos calcular δˆ(q0, 00101)
para el auto´mata 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 }0 0 1 0 2 0
2
δˆ(q , 00101) = δ(q , 1) ∪ δ(q , 1) = { q } ∪ { q } = { q ,
q }
Que tiene un estado
final.
(INAOE) 28 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Lenguajes de un NFA
El lenguaje aceptado por un NFA, A,
es: 0
L(A) = { w |δˆ(q , w ) ∩ F /=
}
∅.
Equivalencia entre un DFA y un NFA
Un NFA es normalmente ma´s fa´cil de definir, aunque
al mismo tiempo, para cualquier NFA N existe un
DFA D tal que L(D) = L(N) y viceversa.
Para esto se usa la construccio´n de subconjunto
que muestra un ejemplo de co´mo un auto´mata
se puede construir a partir de otro.
(INAOE) 29 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Construccio´ n de
Subconjunto
Para cada NFA existe un DFA equivalente (acepta el
mismo lenguaje). Pero el DFA puede tener un nu´mero
exponencial de estados.
Sea N = (Q , Σ, δ , q , F ) un NFA. El DFA
equivalente
N N 0 N
construido a partir del subconjunto de construccio
´n es
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 ∈
Σ,
D
δ (S, a) =
S
p∈S N
δ (p, a), osea, la unio´n de todos
los
estados a partir de p con entrada
a.
δD ({ q1, q2, . . . , qk } , a) =
δN (p1, a) ∪ δN (p2, a) ∪ . . . ∪ δN (pk ,
(INAOE) 30 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Construccio´ n de
Subconjunto
La funcio´n de transicio´n δD del NFA anterior
es:
(INAOE) 31 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Construccio´ n de
Subconjunto
Al existir 3 estados, tenemos 8 subconjuntos. Esto
mismo lo podemos poner como:
(INAOE) 32 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Construccio´ n de
Subconjunto
• Lo cual es un DFA (simplemente cambiando
la
notacio´n). Tambie´n es importante notar que no
todos los estados pueden ser alcanzados. En
particular, so´lo los estados B, E y F son accesibles,
por lo que los dema´s los podemos eliminar.
• Una forma de no construir todos los subconjuntos
para
despue´s encontrar que so´lo unos cuantos son
accesibles, es construir la tabla so´lo para los
estados accesibles (lazy evaluation).
(INAOE) 33 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata 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
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Ejemplo (cont.)
Lo que nos
queda:
(INAOE) 35 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Prueba de Equivalencia
Teorema clave: induccio´n de |w | (la prueba esta´
en el
libro): δˆD ({q0 }, w ) = δˆN (q0, w ). Lo que queremos
probar es
que si D = (QD, Σ, δD, {q0 }, FD ) es construido a partir
del
NFA N = (Q , Σ, δ , q , F ) usando construccio´n
de
N N 0
N
subconjuntos, entonces L(D) =
L(N).
(INAOE) 36 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Prueba de Equivalencia
• Queremos probar por induccio´n en w
que
δˆD ({ q0} , w ) = δˆN (q0,
w ).
• Las dos funciones de transicio´n regresan conjuntos
de
estados de QN , pero la determin´ıstica lo
interpreta como uno solo de sus estados QD .
• Base: w = ϵ, en este caso
δˆD ({ q0} , ϵ) = δˆN (q0, ϵ) =
{ q0} .
(INAOE) 37 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de
un Auto
´mata Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Prueba de Equivalencia
• Induccio´n: Tomamos w de longitud n + 1 y
suponemos
que 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 definicio´n de δ para el NFA
nos ˆN
0
dice que: δ (q , w )
=
S k
i
=1
δN (pi , a).
• Por la construccio´n de
subconjuntos:
δD ({ p1, p2, . . . , pk } , a)
=
S k
i
=1
δN (pi , a)
(INAOE) 38 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Prueba de Equivalencia
D 0 1 2
k
• Usando esto, y que δˆ ({q }, x ) = {p , p , . . . ,
p }
tenemos
que:
δˆD ({ q0} , w ) = δD (δˆD ({ q0} , x ),
a) =
δD ({ p1, p2, . . . , pk } , a)
=
S k
i
=1
δN (pi , a)
• Tanto D como N aceptan w cuando contiene un
estado
en FN.
• Consecuencia: L(D) = L(N).
(INAOE) 39 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Ejemplos
Ejemplo: Convertir el siguiente NFA a un
DFA 0 1
→ p
q
r
∗
s
{p, q}
{r }
{s}
{s}
{p}
{r }
∅
{s}
(INAOE) 40 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Ejemplo
En este ejemplo un tanto imaginario, se disen˜ara´ un
NFA
para aceptar cadenas sobre el alfabeto { 1, 2, 3}
de tal
manera que el u´ltimo s´ımbolo aparezca
previamente, sin ninguna intervencio´n de un s
´ımbolo ma´s alto entre esa previa aparicio´n 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
que corresponde al s´ımbolo final”.
• Otros tres estados representando una eleccio´n de
que el s´ımbolo con que acaba la cadena se ha
visto y se recuerda de que s´ımbolo se trata.
(INAOE) 41 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Ejemplo
(INAOE) 42 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Ejemplo (cont.)
Subconjunto de Construccio´n del NFA
Previo.
• Un truco pra´ctico importante utilizado por
analizadores
le´xicos 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) 43 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata 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
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´mata Finito No-Determin
´ıstico
Ejemplo
Ejemplo: Disen˜e un NFA que reconozca los siguientes
conjuntos de cadenas: abc, abd y aacd , suponiendo
que el alfabeto es {a, b, c, d }
(INAOE) 45 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´matas Finitos y Lenguajes
Formales
Auto´ mata Finito con
Transiciones-ϵ
• Sea ϵ una etiqueta en
arcos.
• No hay ningu´n cambio extra: la aceptacio´n de w
todav´ıa
se da como la existencia de la ruta desde un estado
de inicio a un estado de aceptacio´n con etiqueta w
.
• Pero ϵ puede aparecer en los arcos, y significa
que
puede existir una transicio´n con una cadena vac´ıa
(i.e., no tiene una contribucio´n visible para w ).
• Se les denota
ϵ−NFA.
(INAOE) 46 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´matas Finitos y Lenguajes
Formales
Ejemplo
(INAOE) 47 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´matas Finitos y Lenguajes
Formales
Ejemplo (cont.)
• 001 es aceptado siguiendo la ruta q, s, r , q, r , s,
con la
etiqueta 0ϵ01ϵ =
001.
• Podemos disen˜ar un auto´mata que acepte
cadenas de
nu´meros que tengan un signo al inicio opcional,
seguido posiblemente de una cadena de
decimales, seguido de un punto decimal y
posiblemente de otra cadena de decimales.
(INAOE) 48 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´matas Finitos y Lenguajes
Formales
Ejemplo
(INAOE) 49 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´matas Finitos y Lenguajes
Formales
ϵ-
NFA
• Ma´s formalmente: Un ϵ-NFA es una qu
´ıntupla
(Q, Σ, δ, q0, F ), donde δ es una funcio´n de Q × Σ ∪
{ϵ}
al conjunto potencia de Q.
• Hay que evitar que ϵ sea parte del
alfabeto Σ
(INAOE) 50 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Auto´matas Finitos y Lenguajes
Formales
Tabla de Transicio´
n
La tabla de transicio´n del ϵ-NFA del ejemplo anterior
es:
(INAOE) 51 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Eliminacio´n de las Transiciones-
c
Eliminacio´ n de las
Transiciones-ϵ
Las transiciones-ϵ son una conveniencia, pero no
incrementan la potencia de los FA’s. Para eliminar
las transiciones-ϵ:
1 Calcular la cerradura transitiva so´lo 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
medio de arcos ϵ, y existe una transicio´n de q a r en
la entrada a (no ϵ), entonces an˜a´dase una transicio
´n de p a r con la entrada a.
3 Convertir el estado p en un estado de aceptacio´n
siempre y cuando p pueda alcanzar algu´n
estado de aceptacio´n q por medio de arcos ϵ.
4 Eliminar todas las transiciones-ϵ.
(INAOE) 52 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Eliminacio´n de las Transiciones-
c
Ejemplo
(INAOE) 53 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Eliminacio´n de las Transiciones-
c
Transiciones Extendidas
De la misma forma como lo hicimos anteriormente,
podemos definir las transiciones extendidas para ϵ-
NFA.
• Base: δˆ(q, ϵ) = ECLOSE
(q)
ˆ
• Induccio´n: δ(q, xa)
=
S
ˆ
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
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Eliminacio´n de las Transiciones-
c
Equivalencias
• Como antes, el lenguaje aceptado por un ϵ-NFA, E,
es:
L(E ) = { w |δˆ(q0, w ) ∩ F =/ }
∅ , osea todas las
cadenas
w que van de un estado inicial q0 a al menos un
estado
final
.
• Se puede demostrar que se puede construir un
DFA a
partir de un ϵ-NFA siguiendo un esquema
parecido al de construccio´n de subconjuntos
visto para NFA.
(INAOE) 55 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Eliminacio´n de las Transiciones-
c
Equivalencias
• QD = { S|S ⊆ QE ∧ S = ECLOSE (S)}
• qD = ECLOSE (q0)
• FD = {S|S ⊆ QD ∧ S ∩ FE =
/
}
∅
D
S
• δ (S, a) = { ECLOSE (p)|p ∈ δ(t, a), t
∈ S}
• Lo que se calcula para todos los a ∈ Σ y
conjuntos
S ∈ QD .
(INAOE) 56 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Eliminacio´n de las Transiciones-
c
Equivalencias
• Se puede demostrar que un lenguaje L es aceptado
por
algu´n ϵ-NFA E si y solo si L es aceptado por un
DFA.
• Para esto, hacia un sentido es fa´cil (cambiando un
DFA
a un ϵ-NFA)
• Para el otro sentido se hace lo mismo que
hemos
hecho antes, probando con el caso base y el caso
inductivo, donde partimos de w = xa, suponemos
que
es verdad para x y probamos para w , solo que
ahora tomando la cerradura ϵ o ECLOSE para los
estados.
(INAOE) 57 / 58
Introduccio´n
a los Auto
´matas
Definicio´n
formal de un
Auto´mata
Finito
Determin
´ıstico
Auto´mata
Finito No-
Determin
´ıstico
Auto
´matas
Finitos y
Lenguajes
Formales
Eliminacio´n
de las
Transiciones-
c
Eliminacio´n de las Transiciones-
c
Ejemplo
Considere el siguiente ϵ-
NFA: ϵ a b c
→ p
q
∗r
∅
{p}
{q}
{p}
{q}
{r }
{q}
{r }
∅
{r }
∅
{p}
a) Calcula las ϵ-closure para cada estado
b) Cuales son todas las cadenas de 3 o menos
caracteres aceptadas por el auto´mata
c) Convertirlo a un DFA
(INAOE) 58 / 58

Más contenido relacionado

DOCX
33col2301405 121126110801-phpapp02
PDF
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
PPTX
Semana 6 Automatas-Finitos-y-Lenguajes-Regulares.pptx
PPTX
Fundamentos de los Automatas Finitos Info
PPTX
Teoría de Autómata
PPTX
Presentacion Enguelbert Garcia
PPTX
AUTOMATA FINITO DETERMINISTA Y LENGUAJES REGULARES.pptx
POT
Automatas Infinitos
33col2301405 121126110801-phpapp02
Portafolio lenguajes y automatas unidad 3 - Autómatas finitos
Semana 6 Automatas-Finitos-y-Lenguajes-Regulares.pptx
Fundamentos de los Automatas Finitos Info
Teoría de Autómata
Presentacion Enguelbert Garcia
AUTOMATA FINITO DETERMINISTA Y LENGUAJES REGULARES.pptx
Automatas Infinitos

Similar a Automatas finitos en la electronica digital (20)

PPTX
No determinista autómatas finitos
PPTX
Autómata finito
PDF
Introducción a la Teoría de Autómatas by Yeredith
PDF
automatas finitos
PPTX
Presentacion Autómata finito No deterministico
PPTX
Presentación Autómatas Finito No Deterministico
PDF
Máquinas de turing o máquinas con cola
PDF
Autómata de Pila
PPTX
Programación de la mañana para que se pueden asistir a la universidad de la m...
PPT
Presentacion de afdn anny y aner
PPTX
Automatas Finitos Deterministicos y No Deterministicos
PDF
Gramaticas Regulares
PDF
Autómatas Finitos
PDF
Automatas y compiladores clase3
PPTX
PPTX
Unidad_3_T1_AutomatasFinitos presentacion
PDF
Maquinas de estado
PPTX
Presentación de automata finito no deterministico, ana belgica vallejo y saud...
PPTX
Presentación de automata finito no deterministico, ana belgica vallejo y saud...
No determinista autómatas finitos
Autómata finito
Introducción a la Teoría de Autómatas by Yeredith
automatas finitos
Presentacion Autómata finito No deterministico
Presentación Autómatas Finito No Deterministico
Máquinas de turing o máquinas con cola
Autómata de Pila
Programación de la mañana para que se pueden asistir a la universidad de la m...
Presentacion de afdn anny y aner
Automatas Finitos Deterministicos y No Deterministicos
Gramaticas Regulares
Autómatas Finitos
Automatas y compiladores clase3
Unidad_3_T1_AutomatasFinitos presentacion
Maquinas de estado
Presentación de automata finito no deterministico, ana belgica vallejo y saud...
Presentación de automata finito no deterministico, ana belgica vallejo y saud...
Publicidad

Último (20)

PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
DOC
Manual de Convivencia 2025 actualizado a las normas vigentes
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
PDF
IPERC...................................
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PPTX
Doctrina 1 Soteriologuia y sus diferente
PDF
Introducción a la historia de la filosofía
PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
DOCX
PLANES DE área ciencias naturales y aplicadas
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Manual de Convivencia 2025 actualizado a las normas vigentes
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
IPERC...................................
Tomo 1 de biologia gratis ultra plusenmas
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Doctrina 1 Soteriologuia y sus diferente
Introducción a la historia de la filosofía
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
Programa_Sintetico_Fase_4.docx 3° Y 4°..
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PLANES DE área ciencias naturales y aplicadas
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Publicidad

Automatas finitos en la electronica digital

  • 1. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´matas Finitos INAOE (INAOE) 1 / 58
  • 2. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Contenido 1 Introduccio´n a los Auto ´matas 2 Definicio´n formal de un Auto´mata Finito Determin ´ıstico 3 Auto´mata Finito No-Determin ´ıstico 4 Auto´matas Finitos y Lenguajes Formales 5 Eliminacio´n de las Transiciones- ϵ (INAOE) 2 / 58
  • 3. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Introduccio´n a los Auto ´matas Introduccio´ n a los Auto´ matas Auto´ mata: Conjunto de estados + Control → Cambio de estados en respuesta a una entrada. Tipo de Control: • Determin´ıstico: Para cada entrada, hay so´lo un estado al que el auto´mata puede ir desde el estado en que se encuentre. • No determin´ıstico: Un auto´mata finito es no-determin´ıstico cuando se permite que el AF tenga 0 o ma´s estados siguientes para cada par estado-entrada. (INAOE) 3 / 58
  • 4. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Introduccio´n a los Auto ´matas Auto´ matas No- Deterministas Si an˜adimos la propiedad de no-determinismo, no an˜adimos poder al auto´mata. Osea que no podemos definir ningu´n lenguaje que no se pueda definir con el auto´mata determin´ıstico. Con la propiedad de no-determinismo se agrega eficiencia al describir una aplicacio´n: • Permite programar soluciones en un lenguaje de ma´s alto nivel • Hay un algoritmo para compilar un N-DFA en un DFA y poder ser ejecutado en una computadora convencional (INAOE) 4 / 58
  • 5. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Introduccio´n a los Auto ´matas Auto´ matas No- Deterministas • Extensio´n del N-DFA para hacer saltos de un estado a otro esponta´neamente, con la cadena vac´ıa (ϵ) como entrada: ϵN-DFA. Estos auto´matas tambie´n aceptan lenguajes regulares. (INAOE) 5 / 58
  • 6. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Definicio´ n Formal de un Auto´ mata 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 ma´s estados finales/de aceptacio´n. (INAOE) 6 / 58
  • 7. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Funcio´ n de Transicio ´ n 5 δ: Funcio´n de transicio´n. Esta funcio ´n: • Toma un estado y un s´ımbolo de entrada como argumento s. • 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
  • 8. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico DFA • El lenguaje de un DFA es el conjunto de todas las cadenas que el DFA acepta • Dada una cadena (e.g., s1, s2, . . . , sn) el DFA empieza en su estado inicial (e.g., q0), consulta si existe una transicio´n de q0 con el primer s´ımbolo (s1) a otro estado (e.g., q1) y si existe (i.e., δ(q0, s1) = q1) se mueve al estado descrito en la transicio´n. • Procesa el siguiente s´ımbolo de la cadena (i.e., s2) y as´ı continua. • Si logra procesar toda la cadena y el estado al que llega es uno de los estados finales, entonces se dice que el auto´mata acepta esa cadena. (INAOE) 8 / 58
  • 9. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Ejemplo Un Auto´mata A que acepta L = { x 01y |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 “x 01y ” para algunas cadenas x y y que consisten so´lo de 0’s y 1’s }. (INAOE) 9 / 58
  • 10. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Tabla de Transiciones El auto´mata anterior puede ser representado con una tabla de transiciones, definido 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) 10 / 58
  • 11. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Diagrama de Transiciones • Cada estado tiene un nodo asociado • Cada transicio´n 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
  • 12. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Convenciones Por convencio´n 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
  • 13. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Funciones de transicio´ n extendidas (δˆ) Intuitivamente, un FA acepta una cadena w = a1a2 . . . an si hay una ruta en el diagrama de transiciones que: 1 Empieza en el estado de inicio, 2 Termina en un estado de aceptacio´n, y 3 Tiene una secuencia de etiquetas a1, a2, . . . , an. (INAOE) 13 / 58
  • 14. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Ejemplo Ejemplo: El siguiente AF acepta la cadena 01101: (INAOE) 14 / 58
  • 15. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Funcio´ n de Transicio ´ n Formalmente, podemos extendemos la funcio´n de transicio´n δ a δˆ(q, w ), donde w puede ser cualquier cadena de s´ımbolos de entrada: • Base: δˆ(q, ϵ) = q (i.e., nos quedamos en el mismo lugar si no recibimos una entrada). • Induccio´n: δˆ(q, w ) = δ(δˆ(q, x ), a), donde x es una cadena, y a es un solo s´ımbolo (i.e., ver a do´nde va el AF con x , luego buscar la transicio´n para el u ´ltimo s´ımbolo a partir de ese estado). • Si δˆ(q, x ) = p entonces δˆ(q, w ) = δ(p, a) • δˆ representa rutas. (INAOE) 15 / 58
  • 16. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Funcio´ n de Transicio ´ n • Aceptacio´ n 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 lenguaje 0 L(A) = { w |δˆ(q , w ) ∈ F } . (INAOE) 16 / 58
  • 17. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Ejemplo: Un DFA que acepta todas y so´lo las cadenas que tienen un nu´mero par de 0’s y tambie´n un nu´mero par de 1’s (INAOE) 17 / 58
  • 18. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Ejemplo (cont.) (INAOE) 18 / 58
  • 19. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Ejemplo (cont.) Representacio´n tabular del auto´mata anterior: 0 1 1 * → q0 q2 q1 q q q q2 q q 3 0 0 3 q3 q1 q2 (INAOE) 19 / 58
  • 20. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Problema 2.2.1 Cada vez que entra una canica en alguno de las dos entradas (A o B) cae y mueve la compuerta. La salida D es e´xito y la C fracaso. Modelarlo como un DFA. (INAOE) 20 / 58
  • 21. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Definicio´n formal de un Auto´mata Finito Determin ´ıstico Problema 2.2.4 Disen˜e un DFA que acepte: • Todas las cadenas que acaban en 00 • Todas las cadenas con 000 en algu´n lugar • Todas las cadenas con una sucadena 001 (INAOE) 21 / 58
  • 22. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Auto´ mata Finito No-Determin ´ıstico Un auto´mata finito es no-determin´ıstico cuando se permite que el AF tenga 0 o ma´s estados siguientes para cada par estado-entrada: (INAOE) 22 / 58
  • 23. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Auto´ mata Finito No-Determin ´ıstico • En el ejemplo anterior, se puede apreciar que de q0 se puede ir a q0 o ´ a q1 con la entrada “0”, y esto hace al AF ser no-determinista. • Un NFA puede estar en varios estados a la vez o se puede ver que “adivina” a que´ estado ir. • Por ejemplo, el siguiente auto´mata acepta todas las cadenas que terminan en 01: (INAOE) 23 / 58
  • 24. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Auto´ mata Finito No-Determin ´ıstico Lo que pasa al procesar como entrada a 00101 es: (INAOE) 24 / 58
  • 25. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Auto´ mata Finito No-Determin ´ıstico • Un NFA es una herramienta importante para disen˜ar procesadores de cadenas, e.g., grep, analizadores le´xicos, etc. Es fa´cil disen˜ar NFAs que encuentren 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 o tener ma´s estados. • Un NFA acepta, al igual que un DFA, lenguajes regulares (INAOE) 25 / 58
  • 26. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Ejemplo Por ejemplo, para el NFA que acepta cadenas que acaban en 01 su funcio´n de transicio´n δ es: 0 1 → q0 {q0, q1 } {q0 } q1 ∅ {q2 } *q2 ∅ ∅ Como puede observarse, todo se especifica en conjuntos. (INAOE) 26 / 58
  • 27. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Extensio´ n a δˆ Similarmente a un DFA, podemos definir la funcio ´n de ˆ transicio´n extendida δ como sigue: • Base: δˆ(q, ϵ) = q • Induccio´n: Supongamos w es de la forma w = xa, donde a es el s´ımbolo terminal y x es el resto de w . Supongamos tambie´n que: δˆ(q, x ) = {p1, p2, . . . , pk }. S k i =1 i 1 2 m δ(p , a) = { r , r , . . . , r } . Entonces ∪δ(q, w ) = { r1, r2, . . . , rm} . • En otras palabras calculamos δˆ(q, w ) primero calculando δˆ(q, x ) y despue´s siguiendo cualquier transicio´n de algunos de esos estados etiquetada con a. (INAOE) 27 / 58
  • 28. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Ejemplo: Por ejemplo, podemos calcular δˆ(q0, 00101) para el auto´mata 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 }0 0 1 0 2 0 2 δˆ(q , 00101) = δ(q , 1) ∪ δ(q , 1) = { q } ∪ { q } = { q , q } Que tiene un estado final. (INAOE) 28 / 58
  • 29. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Lenguajes de un NFA El lenguaje aceptado por un NFA, A, es: 0 L(A) = { w |δˆ(q , w ) ∩ F /= } ∅. Equivalencia entre un DFA y un NFA Un NFA es normalmente ma´s fa´cil de definir, aunque al mismo tiempo, para cualquier NFA N existe un DFA D tal que L(D) = L(N) y viceversa. Para esto se usa la construccio´n de subconjunto que muestra un ejemplo de co´mo un auto´mata se puede construir a partir de otro. (INAOE) 29 / 58
  • 30. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Construccio´ n de Subconjunto Para cada NFA existe un DFA equivalente (acepta el mismo lenguaje). Pero el DFA puede tener un nu´mero exponencial de estados. Sea N = (Q , Σ, δ , q , F ) un NFA. El DFA equivalente N N 0 N construido a partir del subconjunto de construccio ´n es 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 ∈ Σ, D δ (S, a) = S p∈S N δ (p, a), osea, la unio´n de todos los estados a partir de p con entrada a. δD ({ q1, q2, . . . , qk } , a) = δN (p1, a) ∪ δN (p2, a) ∪ . . . ∪ δN (pk , (INAOE) 30 / 58
  • 31. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Construccio´ n de Subconjunto La funcio´n de transicio´n δD del NFA anterior es: (INAOE) 31 / 58
  • 32. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Construccio´ n de Subconjunto Al existir 3 estados, tenemos 8 subconjuntos. Esto mismo lo podemos poner como: (INAOE) 32 / 58
  • 33. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Construccio´ n de Subconjunto • Lo cual es un DFA (simplemente cambiando la notacio´n). Tambie´n es importante notar que no todos los estados pueden ser alcanzados. En particular, so´lo los estados B, E y F son accesibles, por lo que los dema´s los podemos eliminar. • Una forma de no construir todos los subconjuntos para despue´s encontrar que so´lo unos cuantos son accesibles, es construir la tabla so´lo para los estados accesibles (lazy evaluation). (INAOE) 33 / 58
  • 34. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata 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
  • 35. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Ejemplo (cont.) Lo que nos queda: (INAOE) 35 / 58
  • 36. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Prueba de Equivalencia Teorema clave: induccio´n de |w | (la prueba esta´ en el libro): δˆD ({q0 }, w ) = δˆN (q0, w ). Lo que queremos probar es que si D = (QD, Σ, δD, {q0 }, FD ) es construido a partir del NFA N = (Q , Σ, δ , q , F ) usando construccio´n de N N 0 N subconjuntos, entonces L(D) = L(N). (INAOE) 36 / 58
  • 37. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Prueba de Equivalencia • Queremos probar por induccio´n en w que δˆD ({ q0} , w ) = δˆN (q0, w ). • Las dos funciones de transicio´n regresan conjuntos de estados de QN , pero la determin´ıstica lo interpreta como uno solo de sus estados QD . • Base: w = ϵ, en este caso δˆD ({ q0} , ϵ) = δˆN (q0, ϵ) = { q0} . (INAOE) 37 / 58
  • 38. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto ´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Prueba de Equivalencia • Induccio´n: Tomamos w de longitud n + 1 y suponemos que 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 definicio´n de δ para el NFA nos ˆN 0 dice que: δ (q , w ) = S k i =1 δN (pi , a). • Por la construccio´n de subconjuntos: δD ({ p1, p2, . . . , pk } , a) = S k i =1 δN (pi , a) (INAOE) 38 / 58
  • 39. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Prueba de Equivalencia D 0 1 2 k • Usando esto, y que δˆ ({q }, x ) = {p , p , . . . , p } tenemos que: δˆD ({ q0} , w ) = δD (δˆD ({ q0} , x ), a) = δD ({ p1, p2, . . . , pk } , a) = S k i =1 δN (pi , a) • Tanto D como N aceptan w cuando contiene un estado en FN. • Consecuencia: L(D) = L(N). (INAOE) 39 / 58
  • 40. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Ejemplos Ejemplo: Convertir el siguiente NFA a un DFA 0 1 → p q r ∗ s {p, q} {r } {s} {s} {p} {r } ∅ {s} (INAOE) 40 / 58
  • 41. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Ejemplo En este ejemplo un tanto imaginario, se disen˜ara´ un NFA para aceptar cadenas sobre el alfabeto { 1, 2, 3} de tal manera que el u´ltimo s´ımbolo aparezca previamente, sin ninguna intervencio´n de un s ´ımbolo ma´s alto entre esa previa aparicio´n 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 que corresponde al s´ımbolo final”. • Otros tres estados representando una eleccio´n de que el s´ımbolo con que acaba la cadena se ha visto y se recuerda de que s´ımbolo se trata. (INAOE) 41 / 58
  • 42. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Ejemplo (INAOE) 42 / 58
  • 43. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Ejemplo (cont.) Subconjunto de Construccio´n del NFA Previo. • Un truco pra´ctico importante utilizado por analizadores le´xicos 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) 43 / 58
  • 44. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata 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
  • 45. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´mata Finito No-Determin ´ıstico Ejemplo Ejemplo: Disen˜e un NFA que reconozca los siguientes conjuntos de cadenas: abc, abd y aacd , suponiendo que el alfabeto es {a, b, c, d } (INAOE) 45 / 58
  • 46. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´matas Finitos y Lenguajes Formales Auto´ mata Finito con Transiciones-ϵ • Sea ϵ una etiqueta en arcos. • No hay ningu´n cambio extra: la aceptacio´n de w todav´ıa se da como la existencia de la ruta desde un estado de inicio a un estado de aceptacio´n con etiqueta w . • Pero ϵ puede aparecer en los arcos, y significa que puede existir una transicio´n con una cadena vac´ıa (i.e., no tiene una contribucio´n visible para w ). • Se les denota ϵ−NFA. (INAOE) 46 / 58
  • 47. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´matas Finitos y Lenguajes Formales Ejemplo (INAOE) 47 / 58
  • 48. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´matas Finitos y Lenguajes Formales Ejemplo (cont.) • 001 es aceptado siguiendo la ruta q, s, r , q, r , s, con la etiqueta 0ϵ01ϵ = 001. • Podemos disen˜ar un auto´mata que acepte cadenas de nu´meros que tengan un signo al inicio opcional, seguido posiblemente de una cadena de decimales, seguido de un punto decimal y posiblemente de otra cadena de decimales. (INAOE) 48 / 58
  • 49. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´matas Finitos y Lenguajes Formales Ejemplo (INAOE) 49 / 58
  • 50. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´matas Finitos y Lenguajes Formales ϵ- NFA • Ma´s formalmente: Un ϵ-NFA es una qu ´ıntupla (Q, Σ, δ, q0, F ), donde δ es una funcio´n de Q × Σ ∪ {ϵ} al conjunto potencia de Q. • Hay que evitar que ϵ sea parte del alfabeto Σ (INAOE) 50 / 58
  • 51. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Auto´matas Finitos y Lenguajes Formales Tabla de Transicio´ n La tabla de transicio´n del ϵ-NFA del ejemplo anterior es: (INAOE) 51 / 58
  • 52. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Eliminacio´n de las Transiciones- c Eliminacio´ n de las Transiciones-ϵ Las transiciones-ϵ son una conveniencia, pero no incrementan la potencia de los FA’s. Para eliminar las transiciones-ϵ: 1 Calcular la cerradura transitiva so´lo 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 medio de arcos ϵ, y existe una transicio´n de q a r en la entrada a (no ϵ), entonces an˜a´dase una transicio ´n de p a r con la entrada a. 3 Convertir el estado p en un estado de aceptacio´n siempre y cuando p pueda alcanzar algu´n estado de aceptacio´n q por medio de arcos ϵ. 4 Eliminar todas las transiciones-ϵ. (INAOE) 52 / 58
  • 53. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Eliminacio´n de las Transiciones- c Ejemplo (INAOE) 53 / 58
  • 54. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Eliminacio´n de las Transiciones- c Transiciones Extendidas De la misma forma como lo hicimos anteriormente, podemos definir las transiciones extendidas para ϵ- NFA. • Base: δˆ(q, ϵ) = ECLOSE (q) ˆ • Induccio´n: δ(q, xa) = S ˆ 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
  • 55. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Eliminacio´n de las Transiciones- c Equivalencias • Como antes, el lenguaje aceptado por un ϵ-NFA, E, es: L(E ) = { w |δˆ(q0, w ) ∩ F =/ } ∅ , osea todas las cadenas w que van de un estado inicial q0 a al menos un estado final . • Se puede demostrar que se puede construir un DFA a partir de un ϵ-NFA siguiendo un esquema parecido al de construccio´n de subconjuntos visto para NFA. (INAOE) 55 / 58
  • 56. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Eliminacio´n de las Transiciones- c Equivalencias • QD = { S|S ⊆ QE ∧ S = ECLOSE (S)} • qD = ECLOSE (q0) • FD = {S|S ⊆ QD ∧ S ∩ FE = / } ∅ D S • δ (S, a) = { ECLOSE (p)|p ∈ δ(t, a), t ∈ S} • Lo que se calcula para todos los a ∈ Σ y conjuntos S ∈ QD . (INAOE) 56 / 58
  • 57. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Eliminacio´n de las Transiciones- c Equivalencias • Se puede demostrar que un lenguaje L es aceptado por algu´n ϵ-NFA E si y solo si L es aceptado por un DFA. • Para esto, hacia un sentido es fa´cil (cambiando un DFA a un ϵ-NFA) • Para el otro sentido se hace lo mismo que hemos hecho antes, probando con el caso base y el caso inductivo, donde partimos de w = xa, suponemos que es verdad para x y probamos para w , solo que ahora tomando la cerradura ϵ o ECLOSE para los estados. (INAOE) 57 / 58
  • 58. Introduccio´n a los Auto ´matas Definicio´n formal de un Auto´mata Finito Determin ´ıstico Auto´mata Finito No- Determin ´ıstico Auto ´matas Finitos y Lenguajes Formales Eliminacio´n de las Transiciones- c Eliminacio´n de las Transiciones- c Ejemplo Considere el siguiente ϵ- NFA: ϵ a b c → p q ∗r ∅ {p} {q} {p} {q} {r } {q} {r } ∅ {r } ∅ {p} a) Calcula las ϵ-closure para cada estado b) Cuales son todas las cadenas de 3 o menos caracteres aceptadas por el auto´mata c) Convertirlo a un DFA (INAOE) 58 / 58