Provar que o idioma é regular ou não regular


8

Deixei Lser uma linguagem regular. Prove que:

  1. L+−−={w:∃u|u|=2|w|∧wu∈L}

  2. L++−={w:∃u2|u|=|w|∧wu∈L}

  3. L−+−={w:∃u,v|u|=|w|=|v|∧uwv∈L}

são regulares e:

  1. L+−+={uv:∃w|u|=|w|=|v|∧uwv∈L}

não é regular.

Parece muito difícil para mim. Suponho que 1-3 sejam semelhantes (mas posso estar errado), mas não sei como abordar. A idéia geral é geralmente modificar a máquina de estados finitos paraLpara aceitar outro idioma. Mas essas construções geralmente são muito sofisticadas e eu ainda não consigo fazer isso sozinha.



Não tenho certeza de que suas afirmações estejam corretas, porque pelo teorema de Myhill-Nerode parece que as três primeiras línguas têm infinitas classes de equivalência! para o primeiro: tomewi seja o i-ésimo em L+−− e wi+1 seja a (i + 1) -ésima palavra, para cada i que puder escolher ui para mostrar que existe uma palavra que separa as classes de wi e wi+1
— Fayez Abdlrazaq Deab

@Fayez E se, por exemplo, L=Σ∗? EntãoL+−−=Σ∗possui apenas uma classe de equivalência. Examine sua prova e veja o que está errado.
— Yuval Filmus

A @Bartek e qualquer outra pessoa que está votando para fechar: metade da questão é realmente provar que certas operações em idiomas conservam a propriedade de serem regulares.
— Yuval Filmus

Respostas:


5

Aqui está uma prova de que o idioma L0={w:∃u|u|=|w|∧uw∈L}é regular. Pode ser modificado para mostrar que os três primeiros da sua lista são regulares. (Observe que eu mudeiwu para uw.) Dado um DFA para L, criamos um NFA para L0. A primeira coisa que a NFA faz é adivinhar (faça umaϵ mover) um estado q, cuja semântica pretendida é o estado em que o DFA para L acaba depois de ler u. Em seguida, ele executa simultaneamente duas cópias do DFA paraL, um começando no estado inicial e outro começando em q. Ao ler um símboloa, ele se move de acordo com um símbolo arbitrário no primeiro e se move de acordo com ano segundo. Um estado está aceitando se a primeira cópia estiver no estadoq e o segundo está em um estado de aceitação.

Para a final, considere o idioma L=a+b+c+e cruzar L+−+ com a+c+.


Eu não vejo isso. L=a+b+c+⇒L+−+∩a+c+={ancm:n+m≡20}, que é claramente um idioma comum. Mas suponho que estou errado :) Você pode me indicar a direção certa?
— xan

Consegui modificar sua construção de L0 e até remover εmove para que fique mais elegante (na minha opinião). Portanto, os três primeiros problemas foram resolvidos e obrigado por isso! :) Mas a única coisa que peço é esclarecer a última e minhas preocupações no comentário acima. Eu ficaria muito agradecido.
— xan

Quando eu computo L+−+∩a+c+Eu recebo outra coisa. Observe que toda palavra emL deve conter um b.
— Yuval Filmus

Desculpe, mas não sei calcular L+−+∩a+c+. Suponho que o resultado seja{ancn:n∈N}o que nos dá o que queremos, mas simplesmente não sei como justificar isso.
— xan

Ok, eu posso ver agora :-)
— xan
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.