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 que
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.
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?
fonte
Respostas:
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).
fonte
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.
fonte