La comprobación del teorema de Myhill y Nerode nos proporciona un hecho muy importante: el autómata basado en las clases de equivalencia es el autómata mínimo dentro de todos los posibles autómatas finitos deterministas y completos que aceptan el mismo lenguaje, porque un tal autómata definiría un refinamiento de , es decir, y el AFD de las clases de equivalencia representa las mismas clases , entonces .
Una pregunta surge: ¿Cómo sabemos si un AFD ya es mínimo?
Pues, no es mínimo, si
En tal caso, podemos unir los dos estados en un único estado.
Basta con `realizar las pruebas' con todas las palabras con porque no hace falta visitar un estado dos veces.
Con dicho argumento describimos el algoritmo de minimización (sin comprobación) a continuación.
Decimos que dos estados y son distinguibles (o no-equivalentes)
si existe una palabra que nos lleva desde a un estado final
pero no desde , o al revés, es decir:
El algoritmo calculará la relación de distinguibilidad (o no-equivalencia) entre los estados y contiene 5 pasos.
para cada pareja no marcada y para cada símbolosi está marcada, también se marca .
Ejemplo: partimos del siguiente AFD completo:
- | |||||
- | - | ||||
- | - | - | |||
- | - | - | - | ||
- | - | - | - | - |
- | 1 | ||||
- | - | 1 | |||
- | - | - | 1 | ||
- | - | - | - | 1 | |
- | - | - | - | - |
- | 2 | 3 | 1 | ||
- | - | 4 | 1 | ||
- | - | - | 5 | 1 | |
- | - | - | - | 1 | |
- | - | - | - | - |
Observa que en la construccón del autómata podemos comprobar de cierta manera la corrección de la tabla: cuando recorremos todas las aristas del autómata original, tenemos que o bien añadir o bien encontrar su homóloga en el autómata en construcción.
El paso 4 se puede implementar más eficiente. En vez de mirar tantas veces las parejas no marcados, se mantiene listas de espera que se marcan recursivamente. Observamos:
Con está mejora el algoritmo tiene complejidad .