2DFA qui nécessite de nombreux états dans DFA équivalent?


11

Existe-t-il un 2DFA avec états (où n est non trivial, disons au moins 4) qui nécessite au moins 2 n états pour simuler en utilisant n'importe quel DFA?nn2n

Un DFA bidirectionnel (2DFA) est un automate à états finis déterministe qui est autorisé à se déplacer d'avant en arrière sur sa bande d'entrée en lecture seule, contrairement aux automates à états finis qui ne peuvent déplacer la tête d'entrée que dans une direction.

Il est bien connu que les 2DFA reconnaissent précisément la même classe de langues que les DFA, c'est-à-dire les langues régulières. La question de l'efficacité de la simulation est moins bien comprise. Les constructions originales de la fin des années 1950 de Rabin / Scott et Shepherdson utilisaient une notion de séquences croisées et sont assez difficiles à analyser. Moshe Vardi a publié une autre construction qui montre une limite supérieure de états, mais cette limite peut avoir un certain mou.2O(n2)

Je demande si des (familles de) 2DFA sont connues qui nécessitent de nombreux états dans n'importe quel DFA les simulant, même après la minimisation de Myhill-Nerode du DFA. De plus, y aurait-il des conséquences intéressantes à connaître de tels 2DFA?

Réponses:


9

La limite stricte est , qui a été donnée dans Suppression de la bidirectionnalité des automates finis non déterministes de Christos Kapoutsis (2005).n(nn-(n-1)n)

Je mets également une figure de cet article donnant une image claire:

Pour en savoir plus, je pense que ce document est un bon point de départ. Pour vérifier les développements récents connexes, je peux également recommander de vérifier les articles répertoriés ici: dblp: Christos A. Kapoutsis .


1
Parfait merci! En comparaison avec la limite supérieure de de Vardi, cela montre une limite de 2 Θ ( n log n ) . 2O(n2)2Θ(nJournaln)
András Salamon

5

Considérons la langue suivante pour un alphabet :Σ={une,b,c}

{une,b}b{une,b}nc

En mots, c'est l'ensemble des mots qui contiennent précisément un et pour lesquels n + 1 caractères avant le c , une lettre b peut être trouvée.cn+1cb

La langue peut être considérée comme acceptée par un DFA bidirectionnel de taille pour une constante c , mais nous avons besoin de plus de 2 n états dans le DFA afin de garder une trace des n derniers caractères du flux d'entrée de préfixe { a , b } . Le 2-DFA commencerait par faire un cycle dans l'état initial et inverserait la direction à la lecture de a c . Ensuite, il attend n étapes (en suivant une chaîne de n transitions) et vérifie enfin que a b est lu.n+cc2nn{une,b}cnnb

2nn+c


(une+b)b(une+b)ncn

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