Sean M= (S, Σ, δ, s 0 , f0) y M`= (S`, Σ, δ`, s 0`, f0`) dos AFDs. Un

Anuncio
15/11/2012
homomorfismos sobre AF
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
Sean M= (S, , , s0 , f0) y M’= (S’, , ’, s0’, f0’)
dos AFDs.
Un homomorfismo g del AF M en el AF M’ es
una función g: SS’, tal que para cualquier
a, y sS, se cumple lo siguiente:
homomorfismos sobre AF
g()
LENGUAJES
FORMALES
Y
AUTÓMATAS
Si
Qn
minimización de
autómatas finitos
a
g( (si ,a)) = ’(g(si) ,a)
a
g()
g(s0) = s0’
Sk
f0 (si) = f0’ (g(si))
Qm
M’
M
g( (si ,a)) = ’(g(si) ,a)
autómata finito cociente
Sea g un homomorfismo de un autómata M=
(S, , , s0 , f0) en un autómata M’= (S’, , ’,
s0’, f0’). Definimos la relación binaria 
sobre S de la siguiente forma: si  sj si y
minimización de
autómatas finitos
solo sí g(si) = g(sj).
LENGUAJES
FORMALES
Y
AUTÓMATAS
autómata finito cociente
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
Dos estados de M están relacionados por 
cuando por el homomorfismo tienen
asociado el mismo estado en M’. Como  es
una relación de congruencia sobre S,
particiona a S en clases de equivalencia. Si
consideramos a cada clase como un nuevo
estado, podemos definir un autómata M/g
denominado autómata cociente.
minimización de
autómatas finitos
a
S1
S0
[S0]
a
S3
S5
[S3 ]
S6
(s1,a) = s6
’’([s0],a) = [s3]
Si f(S6)=z, entonces debe ser f’’([S3])=z
S0
S4
S6
S2
S3
S5
[S0]
S1
[S4]
S4
S6
[S2]
[S3]
autómata finito cociente
Sean M= (S, , , s0 , f0) y M’= (S’, , ’, s0’, f0’)
dos AFR y g un homomorfismo entre los AF
M y M’. Denominaremos autómata cociente
al autómata
minimización de
M/g = (S’’, , [s0 ], ’’, f0’’) donde:
autómatas finitos
S’’ = conjunto de estados de M/g, tal que cada
uno es una clase de equivalencia [s] de
estados de M, determinada por g.
 = alfabeto de entrada de M.
[s0 ] = estado inicial
f0’’ = función de salida tal que f0’’ ([si]) = f0(si)
’’ = función de próximo estado, ’’ ([sj], a) =
[(sj,a)]
LENGUAJES
FORMALES
Y
AUTÓMATAS
S4
S2
S1
S3
S5
autómata finito cociente
LENGUAJES
FORMALES
Y
AUTÓMATAS
S0
S2
1
15/11/2012
autómata finito cociente
LENGUAJES
FORMALES
Y
AUTÓMATAS
0
s0
minimización de
autómatas finitos
1
s1
0
0
1
0
g()
1
sa
s2
1
0
1
sb
teorema de homomorfismos para AF
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
g(s0)=sa
g=def g(s1)=sb
g(s2)= sb
0
1
[s0]
0
1
[s1]
M/g = AF cociente
[s1]= {s1 s2}
[s0]= {s0}
minimización de autómatas finitos
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
Teorema
Sea g: S’’  S’ un homomorfismo
sobreyectivo de un AF M en otro AF
M’.
Entonces M’ (la imagen homomorfa de
M) es isomorfa al AF cociente M/g.
La minimización es un proceso que nos
permite encontrar, para un dado
autómata finito M, un autómata finito M’
con las siguientes propiedades:
estados inalcanzables
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
Si M y M’ comienzan por sus estados
iniciales, producirán las mismas salidas
para las mismas entradas.
De ser posible M’ tendrá menos estados
que M.
Los estados inalcanzables son aquellos
que no pueden alcanzarse desde el
estado inicial, independientemente de
los símbolos de entrada.
Los estados inalcanzables pueden ser
removidos.
Si esto no es posible, entonces M ya es un
autómata mínimo.
estados inalcanzables
estados inalcanzables
Tabla para la función de transición:
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
S0
S1
S2
S3
0
S1
S3
S1
S0
1
S3
S0
S3
S1
salida
0
0
1
1
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
¿Existe algún estado inalcanzable?
2
15/11/2012
estados equivalentes
Dos estados si y sj de M son equivalentes si
para cualquier   Σ*, fO(si , ) = fO(sj , ),
donde Σ* denota el conjunto de cadenas de
longitud finita sobre el alfabeto de entrada.
minimización de De esta manera, estados equivalentes
autómatas finitos
producen salidas equivalentes para una
cadena de entrada dada.
Los estados de M pueden ser particionados en
clases de equivalencia tal que:
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
Todos los estados de la misma clase tienen la
misma salida.
La función de transición es tal que para cada
símbolo de entrada, todos los estados de la
misma clase proceden a estados que están todos
en la misma clase.
El problema de minimizar autómatas se
reduce al problema de encontrar dichas
clases de equivalencia.
El problema se resuelve de manera
iterativa, identificando lo que se conoce
como clases de estados k-equivalentes.
Dos estados si y sj de M son kequivalentes si para todo   Σ*, tal
que ||  k , fO(si, ) = fO(sj , ).
ejemplo: estados k-equivalentes
algoritmo de minimización
Entrada: un AFD completo M=(S,,,s0,f0)
Salida: un AF M’ equivalente a M minimizado
1) T  S - {estados inalcanzables en S}
2) Particionar T en dos clases formadas por estados 0equivalentes 3) k  0
minimización de
autómatas finitos
4) Repetir
Determinar clases (k+1)-equiv. como refinamiento
de las k-equivalentes
si , sj
son (k+1)-equivalentes sssi
si , sj son k-equivalentes y (si,a),(sj,a) son kequivalentes a 
k  k+1
Hasta Clases((k+1)-equiv.)=Clases(k-equiv.)
5) Definir M’ usando las clases k-equivalentes halladas
LENGUAJES
FORMALES
Y
AUTÓMATAS
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
0-equivalentes: {0, 2, 5} y {1, 3, 4, 6}.
1-equivalentes: {0, 2},{5},{1, 3, 4, 6}.
2-equivalentes: {0, 2},{5},{1, 6},{3, 4} .
3-equivalentes: {0, 2},{5},{1, 6},{3, 4} .
ejemplo
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
La máquina resultante de reducir M del
ejercicio anterior tendrá los siguientes
estados
A = {0, 2}; B = {5}; C = {1, 6}; D = {3, 4}
Tendrá 4 estados en lugar de 7 y la
siguiente tabla
de transición:
ejemplos
0-equivalentes:
{0, 2, 4}, {1, 3}
1-equivalentes:
{0}, {2, 4}, {1, 3}
2-equivalentes:
{0}, {2, 4}, {1, 3}
LENGUAJES
FORMALES
Y
AUTÓMATAS
minimización de
autómatas finitos
A = {0},
B = {2, 4},
C = {1, 3}
3
Descargar