Autômatos que reconhecem

9

Seja um alfabeto finito. Um código sobre é um subconjunto de de tal modo que cada palavra em pode ser representada unicamente como uma concatenação de palavras . Um códigoΣ XΣΣXXX éfinitose|X|é finito. O que se sabe sobre autômatos (mínimos) que reconhecemX para um código finitoX ? Existe alguma caracterização de tais autômatos (em termos da estrutura do autômato, sem conhecerX )? É possível, com esse autômato, extrair o códigoX em tempo polinomial?

Também estou interessado nessas perguntas quando omitimos o fato de que X é um código, ou seja, supomos apenas que X é um conjunto finito de palavras.

Andrew Ryzhikov
fonte
O que você quer saber sobre esses autômatos? Parece fácil construir um DFA para X cujo tamanho pode ser facilmente caracterizado (é basicamente o número de prefixos exclusivos de strings em X e, portanto, é no máximo a soma dos comprimentos de palavras em X ; em particular, é tamanho polinomial). Dado esse DFA, também parece fácil extrair as palavras de código em X , enumerando todos os ciclos do nó inicial de volta para si mesmo. Quais são especificamente as suas perguntas? Que pensamento você já fez? Consulte a parte "As perguntas devem se basear em ..." da nossa Central de Ajuda .
DW
@ DW, obviamente, nem todos os autômatos têm essa propriedade. Por isso, pergunto se existe uma caracterização (esperançosamente polinomial) de tais autômatos. Além disso, não vejo como extrair o enumerando todos os ciclos do estado inicial para ele mesmo. De fato, pode haver um número infinito de ciclos, pois não podemos restringir apenas a ciclos sem auto-interseções. Você pode por gentileza ser mais específico? X
Andrew Ryzhikov
Se bem entendi, você perguntou sobre autômatos mínimos. Eu acho que todos os DFAs mínimos serão isomórficos ao que eu descrevi. Se você está perguntando sobre todos os autômatos, não necessariamente mínimos, sugiro que você edite a pergunta para esclarecer. Não entendo por que você não pode se restringir apenas a ciclos sem auto-interseções; a propriedade livre de prefixo significa que é seguro fazê-lo, e se for finito, haverá apenas muitos desses ciclos finitos. Sugiro que você pense sobre o problema por um tempo e depois edite a pergunta para compartilhar todos os resultados que conseguiu até agora. X
DW
Essa pergunta não é a mesma que a primeira versão do cstheory.stackexchange.com/questions/4284/… , onde e K podem diferir, exceto que você também solicita o tempo de execução? KK
Domotorp 16/04
11
@domotorp Você está certo, verificando se um conjunto de palavras é um código em tempo polinomial e é um fato bem conhecido (consulte ex. www-igm.univ-mlv.fr/~berstel/LivreCodes/ Codes.html , subseção 0.4). O que eu quero é que, tendo apenas um autômato mínimo reconhecendo algo, verifique se esse algo é uma estrela de um código.
Andrew Ryzhikov

Respostas:

2

Como essa pergunta não recebeu resposta por um longo tempo, deixe-me oferecer uma resposta parcial para a primeira parte da pergunta:

O que se sabe sobre autômatos (mínimos) que reconhecem para um código finito X ?XX

Dado um conjunto finito de palavras , o autômato flor de X é o autômato finito não determinístico A = ( Q , A , E , I , F ) , onde Q = { 1 , 1 } { ( u , v ) A + × A + | u v X } , I = F = {XXUMA=(Q,UMA,E,Eu,F)Q={1 1,1 1}{(você,v)UMA+×UMA+vocêvX} , com quatro tipos de transições: ( u , a v )Eu=F={(1 1,1 1)} É fácil ver que esse autômato reconheceX. Por exemplo, seA={a,b}eX={a,ba,aab,aba}, o autômato de flores deXé o seguinte

(você,umav)uma(vocêuma,v) de tal modo que vocêumavX, (você,v)(1 1,1 1)(você,uma)uma(1 1,1 1) de tal modo que vocêumaX, você1 1(1 1,1 1)uma(uma,v) de tal modo que umavX, v1 1(1 1,1 1)uma(1 1,1 1) de tal modo que umaX}
XUMA={uma,b}X={uma,buma,umaumab,umabuma}X

insira a descrição da imagem aqui

Lembre-se que um autômato é inequívoca , se, dada dois estados e q e uma palavra w , existe no máximo um caminho de p para q com etiqueta w . Em seguida, o seguinte resultado é válido:pqWpqW

Teorema [1, Thm 4.2.2]. O conjunto é um código se o autômato de flores de X não for ambíguo.XX

O autômato de flores também possui uma propriedade algébrica que o torna relativamente próximo do autômato mínimo. Essa propriedade é válida para qualquer conjunto finito , mas é mais fácil declarar se livrando da palavra vazia, ou seja, considerando um idioma como um subconjunto de A + em vez de A .XUMA+UMA

Lembre-se de que um semigrupo finito é localmente trivial se, para cada idempotente e R , e R e = { e } . Um morfismo π : R S é localmente trivial se, para todo idempotente e em S , o semigrupo π - 1 ( e ) for localmente trivial.ReReRe={e}π:RSeSπ-1 1(e)

O semigrupo de transição do autômato de flores de X + é chamado de semigrupo de flores de X + . Como T reconhece L + , existe um morfismo adjetivo π de T no semigrupo sintático S de X + .TX+X+Teu+πTSX+

Teorema . O morfismo é localmente trivial.π:TS

Uma conseqüência importante desse resultado é que o semigrupo de flores e o semigrupo sintático têm o mesmo número de classes regulares .J

Referências

[ 1 ] J. Berstel, D. Perrin, C. Reutenauer, Codes and Automata . Encyclopedia of Mathematics and its Applications, 129. Cambridge University Press, Cambridge, 2010. xiv + 619 pp. ISBN: 978-0-521-88831-8

J.-E. PIN
fonte