Autômatos finitos que aceitam seqüências de caracteres binárias divisíveis por n

18

Estou trabalhando em um problema definido para uma classe e pensei em uma pergunta relacionada ao que eu estava trabalhando. Existe um número mínimo de estados que um autômato finito deve ter para aceitar cadeias binárias que representam números divisíveis por um número inteiro n? Em um conjunto de problemas anterior, eu era capaz de construir um DFA que aceitava cadeias binárias divisíveis por 3 e 3 estados. Isso é uma coincidência ou existe algo inerente ao problema geral de detectar cadeias divisíveis por n que sugere um número mínimo de estados?

Eu prometo que isso não vai responder uma pergunta de lição de casa para mim! :)

Nick Van Hoogenstyn
fonte
3
Bem-vindo ao cstheory, um site de perguntas e respostas para perguntas em nível de pesquisa em ciência da computação teórica (TCS). Sua pergunta não parece ser uma pergunta em nível de pesquisa no TCS. Consulte as Perguntas frequentes para obter mais informações sobre o significado disso e sugestões de sites que podem dar boas-vindas à sua pergunta. Por fim, se sua pergunta estiver encerrada por estar fora do escopo e você acredita que pode editá-la para torná-la uma questão em nível de pesquisa, sinta-se à vontade para fazê-lo. O fechamento não é permanente e as perguntas podem ser reabertas. Consulte as Perguntas frequentes para obter mais informações.
Kaveh
2
@ Kaveh: Acho que a pergunta está correta, especialmente considerando a resposta concisa de David.
Huck Bennett
2
@ HuckBennett Concordo com Kaveh que esta questão deve ser encerrada na história, principalmente para ser consistente. No entanto, eu também concordo com você: essa é uma pergunta divertida e, quando você vê os DFA pela primeira vez, é definitivamente uma pergunta que você deve fazer a si mesmo. Eu acho que o OP deve tentar se divertir trabalhando a resposta por si mesmo e depois consultar math.SE para obter mais informações.
Artem Kaznatcheev
11
Isso não é lição de casa (embora tenha sido inspirado por uma pergunta de lição de casa), é uma pergunta interessante, não acredito que seja um resultado conhecido e a resposta à pergunta apareceu em um periódico de pesquisa. Não vejo por que deveria ser fechado. O limite superior era dever de casa e é realmente fácil, mas a pergunta era sobre o limite inferior.
precisa
1
@Janoma: De fato. O final da pergunta sugere que o OP confunde os limites superiores com os inferiores.
Michael Blondin

Respostas:

32

Existe uma fórmula conhecida para o número mínimo de estados para um autômato finito. Isso depende de , bem como da raiz da representação posicional subjacente.nR

Se é coprime para , então o número mínimo de estados é . No entanto, quando compartilha um fator com a raiz, a situação é bastante complicada. Ver Mathematica Journal Vol. 3, edição 11. "Divisibilidade e complexidade do estado", de Klaus Sutner.nRnn

David Harris
fonte
1
Exatamente o tipo de coisa que eu estava procurando. Obrigado, vou mergulhar no jornal em breve.
precisa saber é o seguinte
2
O link parece quebrado
gigabytes
8

Há outro artigo sobre o mesmo assunto: B. Alexeev, DFA mínimo para testar a divisibilidade, J. Comput. Syst. Sci. 69 (2004), 235-243.

Jeffrey Shallit
fonte