Generalizando o algoritmo de minimização do DFA de Brzozowski para autômatos finitos com diferentes classes de estados aceitantes?

9

O algoritmo de Brzozowski para converter um DFA em um DFA equivalente de estado mínimo é extraordinariamente simples: se denota o NFA formado pela reversão de todas as arestas em um DFA , tornando o antigo estado inicial um estado de aceitação, e fazendo o antigo aceitar estados iniciam estados e se denota o resultado da aplicação da construção do subconjunto ao NFA , então é um DFA de estado mínimo com o mesmo idioma queR(D)DP(N)N

P(R(P(R(D))))
D .

Podemos pensar em um DFA como um dispositivo computacional que aceita uma sequência de entrada e, em seguida, gera 0 se w termina em um estado de rejeição e 1 se w termina em um estado de aceitação. Uma generalização natural dos DFAs associou cada estado no DFA a algum número natural entre 0 e k - 1 , inclusive.wwwk1

Que eu saiba, é possível minimizar essas classes modificadas de DFAs usando um algoritmo de minimização baseado em capacidade de diferenciação, como o canônico de Hopcroft. No entanto, não vejo como seria possível adaptar o algoritmo de minimização de Brzozowski a essa nova classe de autômatos, porque a etapa principal (reverter o autômato) não tem mais uma interpretação clara nesse cenário generalizado.

Existe uma generalização conhecida do algoritmo de Brzozowski para minimizar esse tipo de autômato? Caso contrário, existem razões teóricas pelas quais esperamos que esse algoritmo modificado não exista?

templatetypedef
fonte
a "generalização" não parece estar claramente definida. o que é ? está apenas falando de associar cada estado em um DFA a um valor inteiro limitado? então o que? o que é um exemplo? quem trabalha com isso? etck
vzn
@vzn Você pode pensar em cada estado em um DFA normal como associado a 0 ou 1 (estados de rejeição e aceitação, respectivamente). Estou pensando em generalizar isso para o caso em que cada estado DFA é associado com algum valor em e o DFA gera o número associado ao estado em que a sequência termina.{0 0,1 1,2,3,...,k-1 1}
templatetypedef
ok, isso não foi comunicado na postagem ", o DFA gera o # associado ao estado em que a string termina", sugerimos que você corrija isso. Além disso, os DFAs tecnicamente não têm "saída". talvez você queira dizer transdutor FSM? de fato, existe alguma teoria parcial associada à minimização do transdutor FSM que aparentemente não está ("ainda"?) totalmente ligada à minimização do DFA.
vzn

Respostas:

7

A resposta para sua pergunta é sim.

Veja os artigos de Bonchi, Bonsangue, Rutten e Silva O algoritmo de Brzozowski (co) algebricamente (versão mais curta da conferência) e Dualidade Álgebra-Coalgebra no Algoritmo de Minimização de Brzozowski (versão mais extensa do diário com mais generalizações).

Eles fornecem uma apresentação (levemente) categórica do algoritmo de Brzowzowski e o utilizam para derivar versões para classes mais gerais de autômatos, incluindo o autômato de Moore (que fornece uma resposta afirmativa à sua pergunta).

Neel Krishnaswami
fonte
6

Apenas para acrescentar à resposta de Neel, no meu livro Automatic Sequences com Jean-Paul Allouche, discutimos os DFAO (autômatos finitos determinísticos com saídas), que são exatamente o que você perguntou (associe uma saída a cada estado). E o Teorema 4.3.3 descreve como reverter essa máquina.

Jeffrey Shallit
fonte