À quelle vitesse pouvons-nous décider si un DFA donné est minimal?

11

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.AUNEUNE

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.AUNEUNE

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.O(nJournaln)

Marque Cornelius
la source
L'algorithme de Hopcroft fonctionne déjà en temps quasi-linéaire, il n'y a donc pas beaucoup de place à l'amélioration.
Yuval Filmus
Oui, j'ai modifié ma question pour qu'elle reflète ce fait, @YuvalFilmus
Cornelius Brand
1
Je crois que l'algorithme de minimisation DFA le plus rapide connu est toujours celui-ci . Il est plus rapide que n'importe quel algorithme publié avant 2008 fonctionnant en temps , où m est le nombre de transitions. O(n+mlogn)m
Juho
me semble peu probable que le problème de décision soit équivalent en complexité au problème de minimisation, le premier semble peut-être plus difficile car il implique des tests d'équivalence DFA qui ne sont pas anodins. il semble donc que la complexité du problème de décision soit le maximum des "tests de minimisation ou d'équivalence". et quelle est la complexité des tests d'équivalence?
vzn
@vzn En supposant que vous vouliez dire "[...] ce qui n'est pas trivial": cela ne doit pas nécessairement l'être, car par exemple la procédure que j'ai donnée dans ma question évite de tester l'équivalence. Cependant, je pense aussi que le problème n'est pas plus facile que de minimiser.
Cornelius Brand

Réponses:

5

Ce n'est peut-être pas exactement le genre de réponse que vous cherchez, mais comme vous avez posé des questions sur les problèmes de décision, j'ai pensé que vous pourriez être intéressé par la complexité du problème. Il est complet.NL

Maintenant, qu'est-ce que cela signifie pour un DFA d'être minimal? Il existe deux propriétés:

  1. Chaque état est accessible: telle sorte que l'on puisse atteindre q à partir de l'état initial s en suivant w ; en symboles: s w q .qQwΣqswswq

  2. Chaque paire d'états se distingue: avec q r w Σ tels que q w s et r w t et | { s , t } F | = 1 (un seul des s , t est un état accepté).q,rQqr wΣqwsrwt|{s,t}F|=1s,t

Notez que le peut être calculé dans l'espace logarithmique (c'est-à-dire L ; suivez simplement votre position actuelle en suivant w une lettre à la fois). De plus, il n'y a qu'un nombre fini d'alternances entre et donc en conséquence du théorème Immerman-Szelepcsenyi , nous avons que le problème est en N L .XwyLwNL

La façon la plus simple de voir qu'il est difficile pour est de remarquer que la propriété 1 résout l' inaccessibilité dirigée s - t , qui est le problème dur prototypique. Mais même si vous ne considérez que les DFA accessibles, le problème est toujours difficile (c'est-à-dire que la propriété 2 est N L -hard) et vous pouvez trouver une preuve relativement simple dans le lemme 2.2 de Cho & Huynh (1992) .NLstNL

Bien sûr, j'ai utilisé le non-déterminisme, donc c'est un peu une toux dans la façon dont il diffère de l'algorithme de Hopcroft. Mais nous savons que , vous pouvez donc utiliser ces constructions pour vous procurer un algorithme plus économe en espace que Hopcroft (qui, par sa nature même, doit garder une trace de n nombreuses partitions).NLL2n

Artem Kaznatcheev
la source
cela semble améliorer l'espace mais pas la complexité du temps?
vzn
Je suis d'accord avec vzn. Bien que j'aime cette réponse, je suis toujours intéressé par des idées qui sont plus étroitement liées à la question d'origine.
Cornelius Brand
@ C.Brand Ma réponse est censée être tangentielle (d'où l'avertissement au début;)) Je viens de vous donner la classe de complexité la plus basse pour laquelle je sais que le problème est complet. Il existe une technique standard pour convertir algorithmes en P (c'est-à-dire BFS sur le graphique de configuration ) mais je ne pense pas que la construction vous donnera un algorithme de temps plus rapide. NLP
Artem Kaznatcheev