La minimisation des automates finis déterministes (DFA) est un problème qui a été étudié à fond dans la littérature, et plusieurs algorithmes ont été proposés pour résoudre le problème suivant: Étant donné un DFA , calculer un DFA minimal correspondant acceptant le même langage que . La plupart de ces algorithmes fonctionnent en temps polynomial.A
Cependant, je me demande si la variante de décision de ce problème - "étant donné un DFA , minimale?" - peut être résolu plus efficacement que le calcul réel de l'automate minimal. Évidemment, cela peut également être fait efficacement en exécutant par exemple l'algorithme de raffinement de partition de Hopcroft, puis en décidant si toutes les partitions contiennent précisément un état.A
Comme Yuval Filmus le suggère dans sa réponse , la variante de décidabilité peut être résolue plus rapidement, éventuellement en utilisant les algorithmes standard. Malheureusement, je ne vois pas comment (j'espère ne pas manquer un point évident ici).
Yuval souligne dans les commentaires ici que les algorithmes les plus connus (comme celui ci-dessus) fonctionnent dans le temps pour les alphabets de taille constante. Par conséquent, je ne suis pas seulement intéressé par des gains asymptotiquement significatifs en temps d'exécution, car ceux-ci semblent plutôt improbables. Ce qui me dérange le plus, c'est que je ne peux imaginer aucun "raccourci" qui pourrait être tiré du fait que nous ne sommes intéressés que par un oui-non-réponse - pas même un raccourci qui permet de gagner un temps asymptotiquement négligeable. Je pense que chaque algorithme sensé qui décide de la minimalité d'un DFA devrait en fait minimiser le DFA et voir si quelque chose change au cours du processus.