Minimizar los autómatas finitos deterministas (DFA) es un problema que se ha estudiado a fondo en la literatura, y se han propuesto varios algoritmos para resolver el siguiente problema: Dado un DFA , calcule un DFA mínimo correspondiente que acepte el mismo lenguaje que . La mayoría de estos algoritmos se ejecutan en tiempo polinómico.A
Sin embargo, me pregunto si la variante de decisión de este problema: "dado un DFA , ¿es mínimo?" - se puede resolver de manera más eficiente que computar realmente el autómata mínimo. Obviamente, esto también se puede hacer de manera eficiente ejecutando, por ejemplo, el algoritmo de refinamiento de partición de Hopcroft y luego decidiendo si todas las particiones contienen exactamente un estado.A
Como Yuval Filmus sugiere en su respuesta , la variante de capacidad de decisión se puede resolver más rápido, posiblemente utilizando los algoritmos estándar. Desafortunadamente, no puedo ver cómo (espero no perderme un punto obvio aquí).
Yuval señala en los comentarios aquí que los algoritmos más conocidos (como el anterior) se ejecutan en tiempo para alfabetos de tamaño constante. Por lo tanto, no solo estoy interesado en ganancias asintóticamente significativas en tiempo de ejecución, ya que estas parecen bastante improbables. Lo que más me molesta es que no puedo imaginar ningún "atajo" que pueda derivarse del hecho de que solo estamos interesados en un sí-no-respuesta, ni siquiera un atajo que permita ahorrar una cantidad de tiempo asintóticamente insignificante. Creo que cada algoritmo sensible que decida la minimidad de un DFA tendría que minimizarlo y ver si algo cambia durante el proceso.