Contando autômatos finitos determinísticos


8

Tenho uma pergunta sobre a contagem de DFAs:

Dada uma Σ = {0, 1}sequência de entrada, com o estado definido Q = {1...n}, como eu encontraria o número total de DFAs que podem ser construídos?

Acredito que este seja um problema combinatório, mas não tenho muita certeza do que precisaria multiplicar.

Obrigado.


Não sabe ao certo o que você quer dizer com "poderia ser construído". Você quer dizer que um DFA tem o estado 1, outro tem os estados 1 e 2, outro tem os estados 1, 2 e 3, etc? Nesse caso, você precisa examinar todos os subconjuntos possíveis de 1 a n estados. Há um nome especial para isso, mas eu vou deixar você descobrir.

Nota : Depende do idioma também! portanto, todo diagrama de transição determinístico possível pode não ser necessário um DFA da linguagem. - Portanto, não apenas um problema combinatório.
Grijesh Chauhan

Ia responder, mas é complicado. Aqui está o que obtive: Um DFA é definido por um conjunto de estados, um conjunto de arestas de estado para estado e o estado inicial. Portanto, é um gráfico direcionado. Um DFA binário possui exatamente duas arestas de cada estado. Cada estado deve estar acessível a partir do estado inicial, que é um requisito mais forte do que estar "conectado", mas mais fraco do que estar "fortemente conectado".

11
O número do estado deve ser uma saída observável? Eu pensaria que dois DFAs com a mesma topologia, mas estados com números diferentes seriam os mesmos. Mas não está claro a partir da pergunta. Não é observável, é uma pergunta muito difícil, merecendo uma publicação .

esse problema não é expresso aqui matematicamente / exatamente, mas uma reformulação cuidadosa / rigorosa é provavelmente "profunda". parece ser semelhante ao isomorfismo gráfico . também uma generalização natural / óbvia é para as AFN. como na resposta do JEP, também é facilmente acessível a uma abordagem empírica de estimativa do tipo monte carlo.
fácil

Respostas:



1

Essencialmente, é o produto de todas as transições possíveis de cada estado inicial possível para cada conjunto possível de estados de aceitação. Neste exemplo, existem n ^ (2n) possibilidades de transição. Onde existem n estados totais, cada um dos quais possui n transições possíveis por aresta (símbolo de entrada), fornecendo-nos n ^ (2n). Temos n possíveis estados iniciais e 2 ^ n aceitam estados (o conjunto de potências de possíveis estados.) O produto de todos esses três fornece-nos: n ^ (2n) * n * 2 ^ (n).


11
Se você impõe uma rotulagem dos estados dos DFAs, sua resposta pode estar correta. Sem rotulagem (que é como os DFAs são definidos), isso não está correto. Você precisa considerar os estados de início, já que agora está contando demais. Considere um DFA de dois estados cujas transições vão para o outro estado para qualquer símbolo. Considere os dois casos de estado de aceitação (sempre aceita). Como existem dois estados, existem dois possíveis estados iniciais. No entanto, essas duas máquinas são exatamente iguais (imagens espelhadas uma da outra). Se você rotular os estados, eles serão tecnicamente diferentes. Mas sem esses DFAs são os mesmos.
Mdxn #

0

TL; DR:n2nnmn

onde e .Q = nΣ = m

Analisaremos cada elemento de uma tupla de 5 unidades do DFA para descobrir as várias combinações que produziriam um DFA exclusivo. A tupla 5 consiste em ( , , , F)QΣ,δs

s :

Qualquer elemento 1 de pode ser o estado inicial. Portanto, existem = maneiras de escolher .QQns

F:

Qualquer número de elementos de Q pode ser estados de aceitação, portanto, todos os subconjuntos de Q são opções válidas para F. O número de subconjuntos possíveis para um conjunto de cardinalidade n é 2 . Outra forma de dizer isto é a cardinalidade de ' conjunto de potência é de 2nQsP(Q)n

δ :

δ é definido como F: x ou seja, a domínio da função é x e o seu alcance é . A cardinalidade do domínio é , onde e , e que a gama de é . Portanto, existem maneiras de escolher .QΣQδQΣQmnQ = nΣ = mQ = nnmnδ

Q e são dados; existe apenas maneira de escolhê-los.Σ1

Assim, o número total de maneiras de escolher entre os 5 elementos de um DFA onde e éQ = nΣ = m

n2nnmn

Melhor 5 anos atrasado do que nunca, hein?


Você está tecnicamente correto, mas acho que o que OP significava era o número de idiomas distintos desses DFAs, não o número de DFAs (mas eu posso estar errado).
21718 Ryan

A pergunta afirma claramente "como eu encontraria o número total de DFAs que podem ser construídos?"
JJ Skye
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.