Il y a de nombreuses années, j'ai entendu dire que le calcul du NFA minimal (automate fini non déterministe) à partir d'un DFA (déterministe) était une question ouverte, par opposition à la direction inverse qui est connue depuis des décennies et est bien étudiée avec un efficace algorithme. Quelqu'un a-t-il trouvé un algorithme?
Une recherche rapide m'a donné ce document qui prouve que c'est définitivement un problème difficile. Apparemment, aucun algorithme n'est donné.
[1] Les problèmes NFA minimes sont difficiles / Tao Jiang et B. Ravikumar
Ce problème m'a été rappelé par la question suivante sur le site CS.SE pour laquelle un algorithme de minimisation DFA-> NFA serait étroitement lié. Cette question suivante me semble être au niveau de la recherche. J'ai suggéré de le migrer vers TCS et j'ai écrit une réponse suggérant une attaque statistique / empirique.
[2] Quelles sont les conditions pour qu'un NFA pour que son DFA équivalent soit de taille maximale?
Réponses:
C'est vraiment un problème tenace - et bien étudié -. En ce qui concerne les résultats positifs, un algorithme exact de Kameda et Weiner, une approche heuristique de Polák et une approche récente utilisant des solveurs SAT de Geldenhuys et al. venir à l'esprit. Mais il semble y avoir des résultats beaucoup plus négatifs excluant d'autres approches possibles (par exemple, algorithmes d'approximation, cas spéciaux, modèles moins puissants de NFA, ...) Voir ci-dessous pour quelques références.
T. Kameda et P. Weiner. Sur la minimisation des états des automates finis non déterministes. Transactions de l'IEEE sur les ordinateurs, C-19 (7): 617–627, 1970.
A. Malcher. La minimisation des automates finis est difficile à calculer. Informatique théorique 327: 375-390, 2004.
L. Polák. Minimalisations de NFA à l'aide de l'automate universel. Journal international des fondations de l'informatique, 16 (5): 999-1010, 2005.
G. Gramlich et G. Schnitger. Minimiser les NFA et les expressions régulières. Symposium sur les aspects théoriques de l'informatique (STACS 2005), LNCS 3404, pp. 399–411.
H. Gruber et M. Holzer. Inapproximabilité de l'état non déterministe et de la complexité de transition en supposant P <> NP. Developments in Language Theory (DLT 2007), LNCS 4588, p. 205–216.
H. Gruber et M. Holzer. Complexité informatique de la minimisation NFA pour les langages finis et unaires. Langage et automates Théorie et applications (LATA 2007), pp. 261-272.
H. Björklund et W. Martens. La frontière de tractabilité pour la minimisation des NFA. Colloque international sur les automates, les langues et la programmation (ICALP 2008), LNCS 5126, pp. 27–38.
J. Geldenhuys, B. van der Merwe, L. van Zijl: Réduire les automates finis non déterministes avec les solveurs SAT. Méthodes à états finis et traitement du langage naturel (FSMNLP 2009), LNCS 6062, 81–92.
EDIT (8 juin 2015)
Mise à jour: L'article suivant présente un algorithme heuristique pour réduire la taille des automates Büchi non déterministes, ainsi que des expériences sur des automates aléatoires. Comme ils le déclarent dans la conclusion, leur méthode s'applique également aux NFA: "Bien que nous ayons présenté nos méthodes dans le contexte des automates Büchi, la plupart d'entre elles se reportent trivialement au cas plus simple des automates sur des mots finis."
Richard Mayr, Lorenzo Clemente. Minimisation avancée des automates. POPL 2013. Rapport technique détaillé EDI-INF-RR-1414.
Leur outil de ligne de commande Reduce v1.2 peut être invoqué avec l'option "-finite" pour réduire un NFA donné. L'implémentation est open source et publiée sous la licence publique générale GNU.
la source