Séparation exponentielle entre NFA et DFA en présence de syndicats


15

Récemment, une question intéressante a été posée puis supprimée.

Pour un langage régulier , sa complexité DFA est la taille du DFA minimal qui l'accepte, et sa complexité NFA est la taille du NFA minimal qui l'accepte. Il est bien connu qu'il existe une séparation exponentielle entre les deux complexités, au moins lorsque la taille de l'alphabet est illimitée. En effet, considérons la langue sur l'alphabet composé de tous les mots ne contenant pas tous les symboles. En utilisant le théorème de Myhill-Nerode, il est facile de calculer la complexité DFA . En revanche, la complexité NFA n'est que de (si plusieurs états initiaux sont autorisés; sinon c'est ).L { 1 , , n }Ln{1,,n} n n + 12nnn+1

La question concernait la suppression de la complexité couvrant DFA d'une langue, ce qui est le minimum tel que peut être écrit comme (pas nécessairement disjoints) union des langues de complexité DFA au plus . Le DFA couvrant la complexité de n'est que de .L C L n 2CLCLn2

Existe-t-il une séparation exponentielle entre la complexité NFA et la complexité de couverture DFA?

Réponses:


8

Considérez le langage , où est un nouveau symbole. La complexité NFA de est . Nous montrerons que sa complexité de couverture DFA est de . # M n n 2 nMn=ϵ+(Ln#)Ln#Mnn2n

Soit un DFA acceptant un langage , avec la fonction de transition . Appeler un état viable s'il y a un mot tel que est un état d' accepter. Pour deux états de non-défaillance , soitIl n'est pas difficile de vérifier que chaque mot peut être écrit comme où pour certains viables .L ( A ) M n q A s w q A ( s , w ) s , t A s , t = { w ( 1 + + n ) : q A ( s , w ) = t } . w L ( A ) w = w 1 #UNEL(UNE)MnqUNEswqUNE(s,w)s,t

As,t={w(1++n):qA(s,w)=t}.
wL(A)w iA s i , t i s i , t iw=w1##wlwiAsi,tisi,ti

Supposons que , où chaque est un DFA. Soit le réseau généré par toutes les langues . Nous pouvons voir comme un langage sur , l'espace entre deux symboles quelconques correspondant à . Sous ce point de vue, correspond à .A i P A i s , t L ( A i ) L P ( A i ) P # M n P Mn=i=1NL(Ai)AiPAs,tiL(Ai)LP(Ai)P#MnP

Appelons universel si pour certains il est vrai que pour tout il y a tel que . Nous affirmons que certains sont universels. Sinon, chaque contient au plus mots de longueur . Au total, le doit contenir tous les mots de longueur , donc , qui est violé pour un assez grand .x P y P z P x y z L P ( A i ) L P ( A i ) L P ( A i ) ( | P | - 1 ) l l L P ( A i ) | P | l l | PLP(Ai) xPyPzPxyzLP(Ai)LP(Ai)LP(Ai)(|P|1)llLP(UNEje)|P|ll l|P|lN(|P|-1)ll

Supposons que est universel et écrivez pour plus de concision. Soit le préfixe correspondant, et soit un mot lui correspondant. Ainsi pour chaque il y a quelques tels que .A = A i x P x M n y L n z yM n x # y # z yL ( A i )LP(UNEje)UNE=UNEjeXPXMnyLnzyMnX#y#zyL(UNEje)

Pour un sous-ensemble , soit composé des lettres en écrites dans l'ordre. Nous affirmons que les mots sont inéquivalents pour la relation Myhill-Nerode de . En effet, supposons et trouvons (sans perte de généralité). Alors tandis que . Par conséquent, doit avoir au moins états.y S S x # y S A S T a S T x # y T y { 1 , , n } - a # z y T y { 1 , , n } - aL ( A ) x # yS{1,,n}ySSX#ySUNESTuneSTX#yTy{1,,n}-une#zyTy{1,,n}-uneL(UNE)X#ySy{1,,n}-une#zyTy{1,,n}-uneMnUNE2n

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.