Pourquoi la minimisation NFA est-elle un problème difficile alors que la minimisation DFA ne l'est pas?


14

Je sais que nous pouvons minimiser les DFA en trouvant et en fusionnant des états équivalents, mais pourquoi ne pouvons-nous pas faire de même avec les NFA? Je ne cherche pas une preuve ou quelque chose comme ça - à moins qu'une preuve soit plus simple à comprendre. Je veux juste comprendre intuitivement pourquoi la minimisation NFA est si difficile quand la minimisation DFA ne l'est pas.

Réponses:


8

Pour DFA, il existe une belle structure algébrique qui détermine quels états peuvent être équivalents, l'équivalence Myhill-Nerode sur les chaînes est liée à la minimisation de DFA.

Pour la NFA, la situation est compliquée car il n'y a pas de NFA minimal unique en général.

Voici un exemple pour le langage fini . Les deux automates ont tous deux un état minimal. L'exemple est tiré de l'articleUne note sur les automates minimaux non déterministesd'Arnold, Dicky et Nivat.{ab,ac,bc,ba,ca,cb}

deux NFA pour la même langue

Cette réponse tente d'exprimer le fait que les deux problèmes sont "techniquement" différents. Voir la réponse de vzn pour plus de détails sur la différence des problèmes de complexité de calcul.


8
Ni le problème du chemin le plus court ni le problème de l’arbre minimal n’ont (toujours) de solutions uniques, mais ils sont toujours efficacement résolubles.
Raphael

5

Vous avez demandé une prise intuitive.

Dans un DFA, un préfixe d'entrée donné ne peut atteindre au plus qu'un état. On peut alors fusionner ensemble des paires d'états qui ne peuvent être distingués pour aucun suffixe. Les États qui peuvent être distingués par un suffixe ne peuvent pas être fusionnés. Cela conduit à un automate minimal isomorphe à tous les autres automates minimaux.

pqpPPqQPqPQ sous-ensembles d'états .

n2n


1

la question ne définit pas «dur» alors qu'il y a un sens technique du mot dans TCS. dans un sens, ni l'un ni l'autre n'est "difficile" (minimisant les DFA ou les NFA) car de nombreux algorithmes existent pour les deux. cependant, un autre angle à ce sujet. La minimisation DFA est exécutableO(nsJournaln)où s est le nombre d'états, c'est-à-dire PTime. La minimisation NFA a été prouvée complète sur PSpace. La minimisation NFA n'est pas dans PTime à moins que P = PSpace, qui est largement considéré comme faux.

voir aussi cette question TCS.se calculant le NFA minimal pour un DFA


Je ne sais pas comment définir dur, mais je voulais dire qu'il n'y a pas d'algorithme efficace pour le résoudre.
Duncan

@duncan ok, alors vous avez bien utilisé le mot au sens technique. il y a donc quelques précisions sur la dureté technique. en CS, "efficace" est aussi un terme technique pris / défini comme le même que PTime. donc votre question est en fait liée à une importante question ouverte dans TCS - il est largement soupçonné / formulé que la minimisation NFA (avec tous les problèmes complets de PSpace) est en effet "difficile", c'est-à-dire pas en P, mais ce n'est pas encore prouvé.
vzn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.