Ya vimos que hay varias posibilidades para construir un autómata finito determinista que acepte un lenguaje (regular), por ejemplo, por construcción directa, o por el paso de un AFND a un AFD.
Surge la pregunta: ¿existe un autómata finito determinista (AFD) mínimo que acepta tal lenguaje?
Nos referimos al número de estados que tiene el AFD, es decir ,
dado que el número de transiciones por estado está determinado
por el número de símbolos en
multiplicado por
si el AFD es completo.
La respuesta es: ¡por supuesto que sí!
Con el siguiente argumento: cada subconjunto de los números enteros
tiene un mínimo, y los números de estados de todos los posibles AFDs
que aceptan
forman tal subconjunto.
Para la construcción del autómata mínimo necesitamos el formalismo de las relaciones de equivalencia.
Ya vimos que para cada lenguaje
podemos construir
una relación de equivalencia sobre
:
es decir, es equivalente a
, si, añadiendo cualquier sufijo,
ambas palabras resultantes o bien están en
o bien no están en
.
Un lenguaje
es regular, si y solo si el índice
de la relación
es finito, es decir, la relación tiene solamente
un número finito de clases de equivalencia (Teorema de Myhill y Nerode).
Comprobamos primero la dirección ``
'', es decir, si el lenguaje
es regular, entonces el índice de la relación es finito:
es regular, entonces existe un AFD que acepta
.
Sea
un AFD con
.
Definimos una relación de equivalencia sobre :
Veremos a continuación que
, es decir,
que
es un refinamiento
de
, o en otras palabras, si dos elementos caen en una misma clase
de equivalencia respecto a la relación
, también caen en
una misma clase respecto a
.
Entonces, sea , es decir
.
Sea
cualquier palabra. Miramos:
Comprobamos ahora la dirección ``
'', es decir, si el índice de la
relación es finito, entonces el languaje es regular. Dicha comprobación
va a ser una comprobación constructiva muy útil:
Sea la relación de equivalencia de
con
.
Entonces hay palabras
con
, es
decir
es finito, cuyas clases cubren
:
Construimos un AFD que contiene justamente tantos estados como hay
clases:
Entonces:
y vemos