Provar que o idioma que consiste em todas as strings em algum idioma tem o mesmo tamanho que um string em outro idioma

8

Então, eu estou coçando a cabeça sobre esse problema há alguns dias. Dada uma linguagem regular e , mostre que a linguagem que consiste em todas as strings em cujo comprimento é igual a alguma string em é uma linguagem regular.ABLAB

Em forma de equação:

L={xAyB s.t. |x|=|y|}

Meu pensamento inicial era tentar criar algum DFA para os dois idiomas e e mapear os dois estados entre si e, esperançosamente, obter uma proporção de 1: 1 para que eu possa gerar um novo DFA que comprove que é regular. Mas então eu percebi que e não precisam ter o mesmo conjunto de símbolos. ABLAB

Eu acho que a maneira correta de resolver isso é usar as propriedades de fechamento da linguagem regular, mas não tenho certeza de como iniciar / usar as propriedades para "comprimentos" de seqüências de caracteres, em vez de elas próprias.

Alguém poderia me apontar na direção certa?

Jubilous
fonte

Respostas:

4

Lembre-se (ou crie) a prova de

L1,L2REGL1L2REG .

Você vê como modificar a prova da sua configuração?

coisa da igualdade de comprimentos, uma construção para um autômato para por dado, arbitrário sobre .

Ll={wΣxL.|x|=|w|}

LREGΣ

Você vê a conexão?

Agora observe que .L=ABl

Rafael
fonte
3

Dicas: Vamos supor que você saiba todos os diferentes comprimentos de palavras em , . Por enquanto, vamos assumir que é finito.Blen(B)={1,2,3,...}

Você pode usar esse conhecimento para construir um DFA para ? (dica: interseção ou construção "produto cruzado")A

O alfabeto de importa mesmo?B

Em seguida, pode ser que o conjunto de comprimentos seja infinito. Então olhe para esta pergunta que deve resolver esse problema também.len(B)

Tocou.
fonte
2

A maneira de propriedade de fechamento, portanto, não há autômatos (explícitos). Linguagens regulares são fechadas sob morfismos, morfismos inversos e interseção (com linguagens regulares).

Vamos e ser os alfabetos de e . Seja o morfismo que mapeia todas as letras de para . Então codifica o conjunto de comprimentos de e consiste em (todas) seqüências de caracteres que têm o mesmo comprimento que as seqüências de caracteres em , mas sobre o alfabeto de . Finalmente, observamos que .ΣAΣBABhX:ΣX{1}aΣX1hB(B){1}BhA1(hB(B))BAL=AhA1(hB(B))

Agora, o bônus . Também funciona para e sem contexto . No entanto, precisamos de uma propriedade adicional: se é livre de contexto, então é regular (!) , todas as línguas livres de contexto 'unárias' (= alfabeto de uma letra) são regulares, uma consequência do teorema de Parikh . Assim, também é regular e é livre de contexto.ABBhB(B)hA1(hB(B))L

Hendrik Jan
fonte