Simplificación de AFD para la obtención del AFD mín.
- 1 de 2 -
Simplificación de Autómatas – Autómata finito mínimo (AFD m)
Proposición: Para todo AFD existe un AFDm equivalente a él.
Dado un autómata M=(Q,Σ, δ,q0,F) se trata de obtener un nuevo autómata M'=(Q',Σ, δ',q'0,F') equivalente a él, con el menor número de estados. Para ello definimos la siguiente relación de equivalencia en Q: ∗ ∀q j,qk∈Q: q j ~ qk ⇔ [ ∀ω∈Σ : δˆ (q j,ω)∈F ⇔ δˆ (qk,ω)∈F ]
siendo δˆ :Q×Σ*→Q, la extensión de la función de transición δ, en la que δˆ (q j,ω) proporciona el estado en que se queda el autómata desde el estado q j después de haber leído la cadena de entrada ω.
Definida de esta forma, haremos que Q' = Q/~, de forma que las distintas clases de equivalencia formen el nuevo conjunto de estados. Si interpretamos cada [qk]∈Q'/~, veremos que en dicha clase estarán todos aquellos estados "similares" "similares" en cuanto cuanto se comportan igual desde desde ese estado y ante una misma cadena de entrada.
Algoritmo de de MOORE para la obtención obtención del AFD AFDmín 1) Se obtiene un AF equivalente al original que sea conexo, para así eliminar aquellos estados que no son accesibles desde el estado inicial. 2) Dado el AFD, M = (Q,Σ,δ,q0,F) a minimizar, vamos a construir el autómata equivalente M' = (Q',Σ,δ',c0,F') tal que Q' = Q/~ será el conjunto de estados del AFDm y δ' su función de transición. Para calcular las distintas clases de equivalencia, equivalencia, inicialmente establecemos una primera partición del conjunto Q de forma que Q' = {c0, c1}, siendo c0 el conjunto de estados no finales de M y c1 el conjunto de los finales. A partir de ahí vamos calculando las distintas clases de equivalencia mediante la división de esas clases originales de la siguiente forma:
© Francisco J. Santana Pérez '2001
www.fra .fransant nsantana.com ana.com
Simplificación de AFD para la obtención del AFD mín.
- 2 de 2 -
Para ∀ci ∈Q', c j ≠∅ hacer
Si en general, Q'={c0, c1, ..., cn}, entonces hacemos: Para cualquier a∈Σ hacer da = {δ(q,a), ∀q∈ci} Si d no está contenido en un mismo ct de Q' entonces desdoblamos ci en dos: ci1,ci2 de forma que la condición anterior se cumpla ahora, Q'={c0, ..., ci-1, ci1,ci2, ci+1, ..., cn} . Reordenamos subíndices por lo que obtenemos que: Q'={c0, c1, ..., cn+1} Fín sí Fín para Fín para Ahora, M' = (Q',Σ,δ',c0,F') es el AFDm. Además, el estado inicial c0 será aquel que contenga al estado inicial q0 del autómata originial M (no simplificado) Los estados finales de F’ son aquellos que contienen estados finales del autómata original M.
* * * * *
© Francisco J. Santana Pérez '2001
www.fransantana.com