Se for um idioma comum, é regular para?

8

Temos dois idiomas: . Sabemos que é uma linguagem comum, então minha pergunta é se é uma regular?L1,L2L1L2L2L1

Eu tento encontrar uma maneira de provar isso ...

Não posso supor que sejam regulares ... Então, procuro uma maneira de provar isso. L1,L2

Eu gostaria de receber alguma dica!

Obrigado!

stud1
fonte

Respostas:

7

Não, não é necessariamente regular.L2L1

Deixe , que é regular, e , que não é. Então é o conjunto de todas as strings que terminam com  , o que é regular, mas é o conjunto de todas as strings que começam com  , começam com um número diferente de zero de  s seguido por pelo menos  s. Esse idioma não é regular, pois sua interseção com é , o que não é -regular.L1={0,1}L2={1}{0n1nn1}L1L21L2L1101{0m1nm,n1}{0m1n1mn}

David Richerby
fonte
Obrigado David, mas por que o " " em ? por que precisamos disso? Obrigado! {1}L2
Jun
1
@ stud1 Para garantir que seja regular. L1L2
David Richerby
Mas (sem o ) ainda são todas as palavras que terminam com , certo? Então, ainda tento entender por que precisamos do , espero que esteja tudo bem. Estou perguntando :-) Obrigado! L1L2{1}1{1}
Jun
1
@ stud1 Se você excluir , por exemplo, . De maneira mais geral, as únicas sequências que estariam em seriam as que terminam em para . {1}1L1L2L1L20mwnmn1
David Richerby
1
@ stud1 Correto.
precisa saber é o seguinte
13

Eu estava postando apenas uma dica, então vi outras respostas completas, então essa é uma solução sucinta (oculta) completa :-)

Seja , ; temos que é regular, mas que não é regular.L1={1pp is prime}L2={10}L1L2={11+0}L2L1={101pp is prime}

Vor
fonte
1
Solução elegante!
Anton Trunov
2
@AntonTrunov: bastante elegante :-) pode ser usado para "mascarar" qualquer L_1 não regular , mas assim que eles são trocados, fica "exposto" novamente :-)L2={10}L1L1
Vor
Qual o significado do em ? +11+
Jun
1
@ stud1: significa "um ou mais "; em outras palavras, é um "atalho" para . Então1+1s{1nn1}{11+0}={110,1110,11110,...}
Vor 5/12
6

Esta não é uma dica, mas uma resposta completa. Não continue a ler se você ainda está tentando resolver.

Não há necessidade de ser regular.L2L1

Seja um idioma unário (não regular), de modo que seja regular. Esses idiomas podem ser encontrados no post aqui . Suponha que esteja acima do alfabeto .AAAA{a}

Defina e . Em seguida, você obtém , o que é regular. No entanto, , que pode ser facilmente comprovado não regular, com base em não regular.L1={b}AL2=A{b}L1L2={b}A2{b}L2L1=A{bb}AA

Shaull
fonte
1

As regras a seguir definem o idioma associado a qualquer expressão regular. Regra 1 O idioma associado à expressão regular que é apenas uma letra é a palavra de uma letra sozinha e o idioma associado a A é apenas {A}, um idioma de uma palavra. Regra 2 Se r, for uma expressão regular associada ao idioma L, e r 2 for uma expressão regular associada ao idioma L2, então,

(i) A expressão regular (rl) (r2) está associada ao idioma L, vezes L 2. idioma (r, r2) = L1L2 (ii) A expressão regular r, + r2 está associada ao idioma formado pelo união dos conjuntos L1 e L2. idioma (rl + r2) = L, + L2 (iii) O idioma associado à expressão regular (rl) * é LI *, o fechamento Kleene do conjunto LI como um conjunto de palavras. idioma (rl *) = L1 *

Shashi Kumar
fonte