Je travaille sur un problème posé pour une classe et j'ai pensé à une question liée à ce sur quoi je travaillais. Existe-t-il un nombre minimum d'états qu'un automate fini doit avoir pour accepter des chaînes binaires qui représentent des nombres divisibles par un entier n? Dans un ensemble de problèmes antérieur, j'ai pu construire un DFA qui acceptait des chaînes binaires divisibles par 3 avec 3 états. Est-ce une coïncidence ou y a-t-il quelque chose d'inhérent au problème général de détection de chaînes divisibles par n qui suggère un nombre minimum d'états?
Je promets que cela ne répondra pas à une question de devoirs pour moi! :)
automata-theory
Nick Van Hoogenstyn
la source
la source
Réponses:
Il existe une formule connue pour le nombre minimum d'états pour un tel automate fini. Cela dépend de ainsi que du radix R de la représentation positionnelle sous-jacente.n R
Si est coprime à R , alors le nombre minimal d'états est n . Cependant, lorsque n partage un facteur avec le radix, la situation est plutôt compliquée. Voir Mathematica Journal Vol 3, numéro 11. "Divisibility and State Complexity" par Klaus Sutner.n R n n
la source
Il existe un autre article sur le même sujet: B. Alexeev, DFA minimal pour tester la divisibilité, J. Comput. Syst. Sci. 69 (2004), 235–243.
la source