Está en la página 1de 30

MINIMIZACION DE AFD

Algoritmo de Minimizacion

 El algoritmo de minimización recibe


un Autómata Finito Determinista
(AFD) como entrada y encuentra los
estados de este que son distinguible
(e indistinguibles) entre si
Algoritmo de minimizacion

 La finalidad de este algoritmo es


obtener un autómata equivalente al
recibido pero con menos estados y
logra esto eliminando estados
sumidero y estados no alcanzables
Algoritmo de Minimización
 Dado un AFD con su tabla de transición, donde a
y b son las transiciones para este autómata

b
5 a b
1 a
a a
1 2 3
2 2 4
b 2
b 3 2 3
a
a 4 2 5
b
3 *5 2 3
b
4
Algoritmo de Minimización

 El Autómata Finito Determinista


Mínimo asociado, se puede construir
mediante el algoritmo que
explicamos a continuación.
Algoritmo de Minimización

 Paso 1
Se crean dos subconjuntos, uno formado por
los estados no finales y el otro por los estados
finales
b Estados no finales y
5 finales
1 a a
a
{1,2,3,4} {5}
b 2
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 2
Aplicar a los subconjuntos formados en el paso
anterior, las transiciones del AFD, en este caso
aplicamos primero para los subconjuntos la
transición “a”.
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2
b
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 2
Aplicar a los subconjuntos formados en el paso
anterior, las transiciones del AFD, en este caso
aplicamos primero para los subconjuntos la
transición “a”.
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 22
b
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 2
Aplicar a los subconjuntos formados en el paso
anterior, las transiciones del AFD, en este caso
aplicamos primero para los subconjuntos la
transición “a”.
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 222
b
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 2
Aplicar a los subconjuntos formados en el paso
anterior, las transiciones del AFD, en este caso
aplicamos primero para los subconjuntos la
transición “a”.
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 222
b
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 2
Aplicar a los subconjuntos formados en el paso
anterior, las transiciones del AFD, en este caso
aplicamos primero para los subconjuntos la
transición “a”.
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2222
b
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 2
Aplicar a los subconjuntos formados en el paso
anterior, las transiciones del AFD, en este caso
aplicamos primero para los subconjuntos la
transición “a”.
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2222 2
b
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 3
Si al realizar el paso dos con la primera transición no
hay cambios en los subconjuntos entonces
continuamos con los siguientes símbolos de
transición, si nuevamente no hay cambios en los
subconjuntos, utilizamos el siguiente símbolo de
transición, y realizamos esto hasta obtener cambios
en los subconjunto o agotar todos los símbolos de
transición
Algoritmo de Minimización
 Paso 3
Como vimos en el paso anterior todos los subconjuntos
se comportaron igual al aplicar la transición con “a”, por
lo tanto no se separan y continuamos con el siguiente
símbolo de transición, en este caso “b”
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2222 2
b
b
b 3
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 3
Como vimos en el paso anterior todos los subconjuntos
se comportaron igual al aplicar la transición con “a”, por
lo tanto no se separan y continuamos con el siguiente
símbolo de transición, en este caso “b”
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2222 2
b
b
b 34
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 3
Como vimos en el paso anterior todos los subconjuntos
se comportaron igual al aplicar la transición con “a”, por
lo tanto no se separan y continuamos con el siguiente
símbolo de transición, en este caso “b”
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2222 2
b
b
b 343
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 3
Como vimos en el paso anterior todos los subconjuntos
se comportaron igual al aplicar la transición con “a”, por
lo tanto no se separan y continuamos con el siguiente
símbolo de transición, en este caso “b”
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2222 2
b
b
b 3435
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 3
Como vimos en el paso anterior todos los subconjuntos
se comportaron igual al aplicar la transición con “a”, por
lo tanto no se separan y continuamos con el siguiente
símbolo de transición, en este caso “b”
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2222 2
b
b
b 3435 1
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 4
Como regla se separan los estados de un
subconjunto que al aplicarle una transición se
comportan de forma diferente al resto de los
demás estados de su subconjunto, formando un
nuevo subconjunto de estados
Algoritmo de Minimización
 Paso 4
Aplicando la regla explicada anteriormente, se observa según lo
obtenido en el paso 3 que al aplicar la transición con “b” en el
subconjunto de los no finales el estado 4 tuvo un comportamiento
diferente a los estados de su subconjunto, puesto que al aplicar la
transición se desplaza al subconjunto de los estados finales.
b No Finales
5 finales
1 a a
a {1,2,3,4} {5}

2 a 2222 2
b
b
b 3435 1
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 5
Aplicamos nuevamente los Pasos 2 y 3, y obtuvimos a partir
de ellos la siguiente tabla

b No finales Finales
5 {1,2,3} {4} {5}
1 a a
a
a 222 2 2
b 2 b 343 5 1
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 5
Y observamos nuevamente que el estado que el estado 2 se
comparta diferente al resto de los estados en su
subconjunto, por lo tanto aplicamos la regla del paso 4 y
separamos el estado 2 creando un nuevo subconjunto.
b
5 No finales Finales
1 a a
a
{1,2,3} {4} {5}

2 a 222 2 2
b
b
b 343 5 1
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 5
Y observamos nuevamente que el estado que el estado 2 se
comparta diferente al resto de los estados en su
subconjunto, por lo tanto aplicamos la regla del paso 4 y
separamos el estado 2 creando un nuevo subconjunto.
b
5 No finales Finales
1 a a
a
{1,3} {2} {4} {5}

b 2
b
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 5
Aplicamos nuevamente los Pasos 2 y 3, y observamos la
siguiente tabla

b
5 No finales Finales
1 a a
a
{1,3} {2} {4} {5}

2 a 22 2 2 2
b
b
b 33 4 5 1
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 5
Como no se reflejan cambio a la hora de aplicar el paso 3
hemos llegado al final de los procedimientos a seguir , por lo
tanto tenemos nuestro autómata mínimo

b
5 No finales Finales
1 a a
a
{1,3} {2} {4} {5}

2 a 22 2 2 2
b
b
b 33 4 5 1
a
a
b
b
3
4
Algoritmo de Minimización
 Paso 6
En este paso dibujamos el autómata obtenido después de la
minimización basándonos en la tabla de transición.

b
5 No finales Finales
1,3 a a
a
b {1,3} {2} {4} {5}

2 a 22 2 2 2
b
b 33 4 5 1
a
b

4
Conclusiones

 Este algoritmo no necesariamente reduce los


estados de un autómata, si este ya está en su
estado mínimo.

 El algoritmo de minimización, es un algoritmo


simple, de fácil comprensión, solo requiere la
práctica para dominarlo.

 Es un algoritmo útil para reducir autómatas muy


complejos a su estado mínimo.
Ejemplo
Dado los siguientes autómatas obtener:
 La Unión L(A) = L1 ∪ L2
 La Intersección L(A′) = L1 ∩ L2
 Homomorfismo

• AFD A1 no completo. L(A1) = {(ab)n | n ≥ 0}.


Ejemplo
AFD A2 no completo. L(A2) = {(ab)n | n ≥ 0}.

AFD A3 completo. L(A3) = {x ∈ {a, b}∗ | |x|a > 0}.


Ejemplo de Minimización

 Dado los siguientes autómatas obtener el


autómata mínimo mediante conjuntos.
Autómata 1 Autómata 2

También podría gustarte