Fundo:
Dado dois autômatos finitos determinísticos A e B, formamos o produto C permitindo que os estados em C sejam o produto cartesiano dos estados em A e estados em B. Então, escolhemos transições, estado inicial e estados finais para que o idioma seja aceito por C é a interseção dos idiomas para A e B.
Questões:
(1) Podemos "dividir" C por B para encontrar A? A é único, até o isomorfismo? Preocupamo-nos com os diagramas de estado, não com os idiomas aqui e abaixo. Portanto, não permitimos compactar os diagramas de estados para reduzir o número de estados.
(2) Se A é único, existe um algoritmo eficiente para encontrá-lo?
(3) Todo autômato finito determinístico tem uma fatoração única em "primos". Um primo aqui significa um autômato que não pode ser fatorado, ou seja, escrito como um produto de dois autômatos menores.
- Trabalhe com @MichaelWehar
fonte
Respostas:
Dê uma olhada neste artigo do MFCS 2013 , que estuda a composicionalidade em autômatos. Talvez isso ajude.
fonte
Vamos dar uma maneira óbvia de recuperar um "fator" do autômato do produto. Se e A = A 1 × A 2 denota o autômato do produto, se definirmos π 1 ( ( q , q ′ ) ) : = q isto é, apenas esquecendo A 2Ai=(Qi,δi,q0i,Fi),i=1,2 A=A1×A2
Portanto, se soubermos que um autômato é um autômato de produto cartesiano (ou externo), podemos recuperar os fatores facilmente.
Mas acho que não é isso que você tem em mente em relação às suas outras perguntas. Duas perguntas surgem aqui (a seguir, por isomorfismo de autômato, quero dizer isomórfico como gráfico de estados, ou seja, sem respeito aos estados iniciais ou finais, como você disse que o idioma não é uma preocupação tão importante aqui):
1) Dado qualquer autômato isomórfico para um autômato de produto (isto é, pode ser decomposto de alguma maneira) de algum número finito de autômatos, essa decomposição é essencialmente única? (considerando que os fatores não poderiam ser mais decompostos, pois de outra forma obviamente não). Mais presicely se para indecomponíveis autómatos Um i , B j faz isso implica k = l e A i ≅ B π ( i ) para alguns reordenação
2) Tendo em conta quaisquer dois autómatos , faz existe uma terceira autómato C de tal modo que um = B x C .A,B C A=B×C
É fácil obter as condições necessárias para que isso aconteça, mas não vejo nenhum critério fácil o suficiente para que um autômato seja um fator de outro.
H. Straubing, P. Weil Uma introdução aos autômatos finitos e sua conexão com a lógica,
Site do curso com muita informação.
Observação : Há também outra noção de " quociente ", consulte a Wikipedia: autômato quociente , mas esta é apenas uma regra para colapsar estados e usada em algoritmos de inferência de aprendizado / idioma ou na minimização de estado.
fonte