Quelles sont les conditions pour qu'un NFA pour que son équivalent DFA soit de taille maximale?


24

Nous savons que les DFA sont équivalents aux NFA en termes de pouvoir d'expressivité; il existe également un algorithme connu pour convertir les NFA en DFA (malheureusement je connais maintenant l'inventeur de cet algorithme), qui dans le pire des cas nous donne états, si notre NFA avait états. S2SS

Ma question est: qu'est-ce qui détermine le pire des cas?


Voici une transcription d'un algorithme en cas d'ambiguïté:

Soit un NFA. Nous construisons un DFA oùA = ( Q , Σ , δ , q 0 , F )A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F)

  • Q=P(Q) ,
  • F={SQ|FS} ,
  • δ(S,a)=sS(δ(s,a)δ^(s,ε)) , et
  • q0={q0}δ^(q0,ε) ,

où est la fonction de transition élargie de . Aδ^A


comme les commentaires indiquent que vous pouvez sauver ce Q en demandant un NFA "minimal" pour un DFA (un problème ouvert). a toujours pensé que ce problème est étroitement lié à la question P =? NP de diverses manières et a des formulations similaires qui le suggèrent. il est similaire dans la mesure où vous posez des questions sur les DFA "compressibles" et "incompressibles" où "incompressible" est le pire des cas, de sorte que le NFA minimal est presque de la taille du DFA. il y a probablement un théorème comme, "la plupart des DFA, pris au hasard, sont incompressibles [en NFA]" car il y a des thms similaires dans la théorie de l'information concernant la complexité de kolmogorov des chaînes, etc.
vzn

Réponses:


24

L'algorithme auquel vous vous référez s'appelle Powerset Construction et a été publié pour la première fois par Michael Rabin et Dana Scott en 1959.

Pour répondre à votre question comme indiqué dans le titre, il n'y a pas de DFA maximal pour une langue régulière, car vous pouvez toujours prendre un DFA et ajouter autant d'états que vous le souhaitez avec des transitions entre eux, mais sans transition entre l'un des états d' origine et l'un des nouveaux. Ainsi, les nouveaux états ne seront pas accessibles depuis l'état initial , donc le langage accepté par l'automate ne changera pas (puisque restera le même pour tous les ) .δ ( q 0 , w ) w Σ *q0δ^(q0,w)wΣ

Cela dit, il est clair qu'il ne peut y avoir de conditions sur un NFA pour que son DFA équivalent soit maximal, car il n'y a pas de DFA équivalent unique . En revanche, le DFA minimal est unique jusqu'à l'isomorphisme.


Un exemple canonique d'un langage accepté par un NFA avec états avec un DFA équivalent de états est Un NFA pour est , avec , et pour . Le DFA résultant de l'application de la construction du jeu de puissance à ce NFA aura2 n L = { w { 0 , 1 } : | w | n  et le  n symbole -ème du dernier est 1 } . L A = Q , { 0 , 1 } , δ , q 0 , { q n + 1 } δ ( q 0 , 0 )n+12n

L={w{0,1}:|w|n and the n-th symbol from the last one is 1}.
LA=Q,{0,1},δ,q0,{qn+1}δ ( q 0 , 1 ) = { q 0 , q 1 } δ ( q i , 0 ) = δ ( q i , 1 ) = { q i + 1 } i { 1 , , n }δ(q0,0)={q0}δ(q0,1)={q0,q1}δ(qi,0)=δ(qi,1)={qi+1}i{1,,n} états, car vous devez représenter les 2 n mots de longueur n2n2nncomme suffixes d'un mot dans .L

Soit dit en passant, si vous souhaitez que les accolades apparaissent en mode mathématique d'affichage, utilisez \\ {et \\}.
Zach Langley

@ZachLangley J'ai déjà essayé, ça ne marche pas :-(
Janoma

Cela semble fonctionner pour moi dans l'aperçu. Je ne peux cependant pas soumettre la modification, car j'ajoute seulement quatre caractères et le minimum est de six. Vous utilisez deux barres obliques inverses et cela n'a pas fonctionné?
Zach Langley

@ZachLangley Cela fonctionne maintenant, mais deux choses: d'abord, cela n'a pas fonctionné lorsque j'ai posté la réponse pour la première fois. Deuxièmement, je pense que cela est incompatible avec le comportement du rendu LaTeX dans cstheory, mais je peux me tromper.
Janoma

Le DFA résultant est minimal? Pourriez-vous nous parler un peu de la façon de prouver qu'elle est minimale?
user834

8

2s{a,b}ababλabab{q1}{q2}{}{q1,q2}


d'accord, mais la question de "s'il existe un moyen d'accéder à tous les sous-ensembles possibles d'États membres de la NFA" n'est pas triviale et mérite une étude plus approfondie ....
vzn

-1

Je crois que c'est une question à la frontière de la connaissance, c'est-à-dire essentiellement une question de recherche. À partir d'une recherche rapide sur Google, il semble être principalement ouvert. De plus, depuis de nombreuses années, je pense qu'il est important et lié aux limites inférieures de la théorie de la complexité. Vous ne mentionnez pas directement une analyse statistique mais c'est ce qu'implique votre question. Voici deux exemples d'études statistiques sur les DFA / NFA qui sont similaires pour montrer l'approche générale des questions de ce type. Il semble que la recherche empirique fondamentale sur des questions comme celle-ci soit encore largement inexplorée. Certes, le 2e ne se rapporte pas directement à votre question mais c'est le plus proche que j'ai pu trouver des recherches en cours.

x

Cette métrique serait liée aux métriques de la théorie des graphes telles que la densité des bords, etc. Il y a probablement une métrique très importante de théorie des graphes ou un mélange de métriques qui estime la «explosion», mais ce n'est pas immédiatement évident pour moi. Je pourrais suggérer quelque chose comme des métriques de coloration de graphique ou des métriques de clique peut-être. Ensuite, testez la métrique contre les deux ensembles "gonflement" vs "non gonflé".

Jusqu'à présent, les autres réponses à votre question ne donnent qu'un exemple de "gonflement" (utile pour une étude de cas) mais n'abordent pas le problème clé d'une métrique générale.

Un autre domaine dans lequel examiner un programme de recherche empirique développé avec succès est la recherche sur les points de transition SAT. Cela a développé des liens très profonds avec les concepts de la physique et de la thermodynamique. Il me semble probable que des concepts similaires s'appliquent ici. Par exemple, on est susceptible de trouver des métriques de type point de transition analogues; probablement la densité des bords, etc. Remarquez des parallèles avec la théorie de la compressibilité de Kolmogorov.

Je suppose également que les NFA qui "explosent" par rapport à ceux qui ne le sont pas sont en quelque sorte assez analogues aux instances "dures" vs "faciles" de problèmes NP-complets.

Une autre façon d'étudier ce problème serait de formuler un problème de minimisation des NFA. C'est-à-dire, étant donné un DFA, trouver le NFA minimal, dont la dernière fois que j'ai entendu (il y a de nombreuses années) était toujours un problème ouvert.


[1] Sur les performances des algorithmes de minimisation des automates Marco Almeida, Nelma Moreira, Rogério Reis

[2] Automates ne reconnaissant aucun mot: une approche statistique Cristian S. Calude, Cezar Câmpeanu, Monica Dumitrescu

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.