Existe uma operação de divisão bem definida em autômatos finitos?


15

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

5
A decomposição clássica é a teoria de Krohn-Rhodes - muito para se olhar.

2
Considere os derivativos de Brzozowski. en.wikipedia.org/wiki/Brzozowski_derivative
Vijay D

2
@halfTrucker A teoria de Krohn-Rhodes lida com o produto da grinalda. O OP está perguntando sobre o produto cartesiano.
Scaaahu 06/06/19

2
Obrigado @halfTrucker, isso é realmente interessante! Como diz scaaahu, estou procurando um produto cartesiano, mas sua referência ainda é ótima.
Whosyourjay

Respostas:


8

Dê uma olhada neste artigo do MFCS 2013 , que estuda a composicionalidade em autômatos. Talvez isso ajude.


2
+1 para o link. Citando a discussão do artigo, Embora o caso geral ainda esteja aberto , parece que o artigo explora apenas o caso de autômatos de permutação. Existe algum desenvolvimento mais recente para casos gerais? Quero dizer, no sentido de produto cartesiano? (A teoria de Krohn-Rhodes trata do produto da grinalda) Obrigado.
Scaaahu 06/06/19

3
Não conheço nenhum desenvolvimento recente. Posso dizer-lhe que não houve trabalho de acompanhamento direto neste artigo. Mas isso pode servir como uma indicação de que o problema não é realmente fácil.
Shaull

4

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,2A=A1×A2

π1((q,q)):=q
A2, ou projetando no segundo componente, temos , também se queremos saber δ 1 ( q , x ) escolha alguns q Q 2 e calcule no autômato do produto π ( ( δ 1 ( q , x ) , δ 2 ( q , x ) ) = δ 1 ( qQ1=π(Q1×Q2)δ1(q,x)qQ2 , por conseguinte, que pode também recuperar a transição em um 1 .π((δ1(q,x),δ2(q,x))=δ1(q,x)A1

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 iB π ( i ) para alguns reordenação

A1××AkB1××Bl
Ai,Bjk=lAiBπ(i) . Suponho que isso seja verdade, mas ainda não tenho provas.π:{1,k}{1,k}

2) Tendo em conta quaisquer dois autómatos , faz existe uma terceira autómato C de tal modo que um = B x C .A,BCA=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.

π1((δ1(q,x),δ2(q,x))=δ1(q,x)=δ1(π1(q,q),x)
qQ1,qQ2πA1×A2A2

A BBA

BA

MNMN

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.

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.