Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplo:
Sea el autmata finito que acepte el lenguaje de las cadenas formadas por concatenacin de
cero o ms cadenas de ab o aba (sin importar el orden). En este caso un autmata finito no
determinista es ms conveniente que un autmata determinista.
El autmata finito determinista que lo reconoce es:
M = (S, , , s0, F)
S = {s0, s1,, s2, s3, s4}
F = { s0, s2, s3 }
a b
s0 s1 s4
s1 s4 s2
s2 s3 s4
s3 s1 s2
s4 s4 s4
M = (S, , , s0, F)
S = {s0, s1,, s2}
F = {s0}
a b
s0 {s1}
s1 {s0, s2}
s2 {s0}
Este autmata finito en el estado s1, leyendo una b tiene dos posibles prximos estados y
adems no tiene movimiento posible dado el estado s1 y la entrada a. En otros casos es
2
conveniente rotular los arcos o agregar a las entradas , que quiere decir que no consume
smbolo de la cadena de entrada. Para los autmatas finitos no deterministas se dice que una
cadena w es aceptada si existe algn camino del estado inicial s0 a un estado final q, siguiendo la
, sin importar que haya posibilidades para descartar. Por ejemplo si w = aba, es aceptada ya que
existe un camino de s0, s1, s2, s0, que termina en un estado final s0 F; en cambio, si hubiera
optado por s0, s1, s0, s1 hubiera finalizado en un estado no aceptador. Pero no importa pues slo
interesa que exista un camino.
Formalmente se dice que la cadena w es aceptada por un autmata finito no determinista M si
existe un estado p F y (q0, w) contiene el estado p.
Nota: un elemento de S se notar como [s1, s2, ..., si] donde s1, s2, ..., si pertenecen a S, pero [ ...]
no indican clases.
esto es, como se aplica a un conjunto de estados, el resultado es el conjunto de los estados que
surgen de aplicar a cada uno de los estados.
Se debe tener en cuenta que, mientras que el resultado de la funcin es un conjunto de
estados de M (M es no determinista), el resultado de , es un nico estado de M (M es
determinista).
De esta forma se define M a partir de M, resta probar que (s0, x) = [q1, q2, ..., qi] si y solo
si (s0,x) = {q1, q2, ..., qi} para toda cadena x. Se prueba por induccin sobre la longitud de la
cadena x.
1. Base de induccin: si long(x) = 0 x = . Probar que (s0, x) = (s0, ) es trivial pues s0=
s0. Por definicn de , (s0, x) = (s0, ) por ser un conjunto de un solo elemento.
2. Paso de induccin: supngase que el teorema es vlido para long(x) m, es decir (s0, x) =
[p1, p2, ..., pn] (s0, x) = {p1, p2, ..., pn}. Sea a , se debe probar que vale para long(xa)
= m+1, es decir, que
(s0, xa) = ((s0, x), a) (1)
3
Entonces
(s0, xa) = [r1, r2, ..., rk] (s0, xa) = {r1, r2, ..., rk}
(s0, x) est en F cuando (s0, x) tiene un estado perteneciente a F, por lo tanto, una cadena
ser aceptada por Msi y solo si es aceptada por M.
0 1
[s0] [s0, s1] [s1]
[s1] [] [s0, s1]
[s0, s1] [s0, s1] [s0, s1]
[] [] []
MINIMIZACION DE AUTMATAS
Minimizar un autmata es hallar un Autmata Finito que tenga el mismo comportamiento con
menor cantidad de estados. Para ello el conjunto de estados S de un Autmata Finito ser
4
particionado y los bloques de esa particin se usarn para la definicin de un nuevo Autmata
Finito. Las condiciones para la existencia de este nuevo autmata son:
Todos los estados en un bloque dado de la particin deben tener, dado un smbolo i ,
prximos estados bajo , que pertenezcan a su vez a un mismo bloque de la particin.
Todos los estados de un bloque dado de la particin deben tener la misma salida o
pertenecer a F (o no) en el caso de Autmatas Finitos Reconocedores.
Dado un Autmata Finito M = (S, , s0, , f0) se dice que sj s0 es un estado inalcanzable de M
si si S, i : ( si, i) = sj.
Nota: en un diagrama de estados los estados inalcanzables son los estados que no tienen arcos
incidentes.
Ejemplo: Sea M = ({s0, s1, s2, s3}, {0, 1}, , s0, { s2, s3})
0 1
s0 s2 s3
s1 s3 s0
s2 s1 s3
s3 s0 s1
s2 es estado inalcanzable.
Dos estados si, sj del Autmata Finito M son equivalentes si para toda cadena de entrada w *
(si, w) = sk y (sj, w) = sl, donde sk, sl F o sk, sl F.
Nota:
Se comparan estados de un mismo Autmata Finito y no entre dos Autmatas Finitos.
Si a partir de un estado si una cadena x * termina en un estado aceptador, entonces sj
tambin, pues son equivalentes.
La definicin de estados equivalentes para Autmatas Finitos traductores es: Dos estados si,
sj de un Autmata Finito M son equivalentes si para cualquier cadena w es la misma, que
comenzando en el estado sj con la cadena w. f0 ( (si ,w)) = f0 ( (sj ,w))
Dos estados si , sj del Autmata Finito M son k-equivalentes si para w * con long k
(si ,w) = sk y (sj ,w) = sl , donde sk, sl F o sk, sl F o para Autmatas Finitos traductores
f0 ( (si ,w)) = f0 ( (sj ,w))
Una relacin de equivalencia R sobre el conjunto S se dice que refina a la relacin de
equivalencia R definida sobre S, si xRy xRy, x, y S.
Se dice que R refina R si las clases de equivalencia de R estn formadas a partir de dividir las
clases de R en clases ms chicas. Por ejemplo la k-equivalencia refina la (k-1)-equivalencia, ms
an la k-equivalencia refina la r-equivalencia para r<k.
2. Particionar T en dos clases formadas por los estados 0-equivalentes, es decir, una clase de
estados reconocedores y otra de no reconocedores.
3. k := 0
4. Repetir:
Determinar las clases (k+1)-equivalentes como un refinamiento de las k-equivalentes,
es decir: si, sj son (k+1)-equivalentes si y solo si si, sj son k-equivalentes y (si , i),
(sj ,i) son k-equivalentes i *.
5. k := k + 1
hasta que las clases (k+1)-equivalentes sean iguales a las k-equivalentes.
6. Usar las clases k-equivalentes determinadas para definir el autmata minimal.
Como las clases 2-equivalentes son iguales a las 3-equivalentes se termina el refinamiento de
clases. Renombramos los estados para construir la M minimizada.
0 1
s0 s0 s3
s1 s3 s0
s3 s1 s5
s5 s0 s0