Uma condição suficiente e necessária sobre a regularidade de um idioma

11

Qual das seguintes afirmações está correta?

  1. existem condições suficientes e necessárias sobre a regularidade de uma língua, mas ainda não foram descobertas.
  2. Não há condição suficiente e necessária sobre a regularidade de um idioma.

  3. O lema de bombeamento é uma condição necessária para a não regularidade de um idioma.

  4. O lema de bombeamento é uma condição suficiente para a não regularidade de um idioma.

Eu sei que # (4) está correto e # (3) é falso porque "o inverso dessa afirmação não é verdadeiro: uma linguagem que satisfaça essas condições ainda pode não ser regular", mas o que pode ser dito sobre (1) e (2)

Gigili
fonte
2
Prefiro dizer que (4) está correto: o lema de bombeamento é projetado para mostrar que alguma linguagem não é regular (indica se L é regular então ...). Além disso, (3) é falso: en.wikipedia.org/wiki/…
jmad
Concorde com @jmad: o lema de bombeamento é suficiente, não necessário.
Patrick87
@jmad: O artigo do WP a que vinculei na minha pergunta sustenta que "tanto a versão original quanto a geral do lema de bombeamento fornecem uma condição necessária, mas não suficiente , para que um idioma seja regular".
Gigili
@IGli: sim. Regular. Não é "não regular".
Jmad
@jmad: Opa, você está certo. Vou editar a pergunta, obrigado.
Gigili

Respostas:

18

Aqui estão algumas condições necessárias e suficientes para que um idioma seja regular.

Teorema. Seja . As seguintes condições são equivalentes:LΣ

  • L é gerado por uma expressão regular (ou seja, a definição de linguagem regular).
  • eu é reconhecido por um autômato finito não determinístico ( Kleene ).
  • εeu é reconhecido por um autômato finito não determinístico sem varepsilon.ε
  • eu é reconhecido por um autômato finito determinístico ( Scott e Rabin ).
  • ( N , Σ , P , S ) N Σ eu é gerado por uma gramática , onde é um subconjunto finito de ( Frazier e Page ).(N,Σ,P,S)NΣ
  • eu é gerado por uma gramática livre de contexto esquerda (resp. Direita).
  • O índice da relação Nerode é finito (Anil Nerode, transformações lineares de autômatos , 1958). Isso é amplamente (e incorretamente) conhecido como teorema de Myhill-Nerode. é a relação usada para criar o DFA mínimo de um idioma comum.Leueu
  • O índice da relação Myhill é finito (John Myhill, Finite Automata and the Representation of Events , 1957). L é a relação usada para construir o monóide sintático de uma linguagem arbitrária.eueu
  • O monóide sintático de é finito (conseqüência do resultado de Myhill). Observamos aqui que o monóide sintático, além de ser definido usando a relação L , pode ser definido como um monóide mínimo (em tamanho) que reconhece L como uma pré-imagem de um homomorfismo.eueueu
  • pode ser reconhecido por uma máquina de Turing somente leitura (trivial).eu
  • pode ser definido por uma fórmula na lógica monádica de segunda ordem sobre cadeias (Büchi).eu

Se um idioma não satisfaz as condições do lema de bombeamento para idiomas regulares , ele não é regular. Isso significa que o bombeamento do lema é uma condição suficiente para a não regularidade de um idioma.

Em resumo, as declarações 1, 2 e 3 são falsas, enquanto as declarações 4 são verdadeiras, como você mencionou.

Janoma
fonte
Observe que, para a última declaração, precisamos nos restringir à WMSO ou, equivalentemente, a palavras finitas. O MSO em geral também pode expressar idiomas regulares . ω
Raphael
1
Você pode adicionar ' é reconhecido por uma gramática livre de contexto regular esquerda / direita', para fins de conclusão. eu
Alex10 Brink #
@AlextenBrink Esqueceu essa! Obrigado por mencionar. Você tem uma referência para incluir?
Janoma
@Janoma: desculpe, não consigo encontrar nenhum. A prova é extremamente simples (ir a um NFA e voltar).
Alex dez Brink
9

É suficiente (e necessário) mostrar a existência de um DFA, NFA ou expressão regular para provar que um idioma é regular, o que refuta (1) e (2). Para mostrar que um idioma não é regular, é necessário mostrar que não existe um DFA, NFA ou expressão regular.

O lema de bombeamento é uma ferramenta útil para mostrar (possivelmente por contradição) que um idioma não é regular, mostrando que não existe DFA.

Victor Stafusa
fonte
1
O lema de bombeamento, tecnicamente falando, mostra que não existe um DFA para o idioma.
precisa saber é o seguinte
@ Patrick87: Obrigado. Eu editei a resposta para adicionar esse detalhe.
Victor Stafusa
1
Apenas por uma questão de ser pedante: as provas usando o lema de bombeamento não são comprovadas por contradição. Como você prova uma afirmação negativa (P -> False), é perfeitamente correto, do ponto de vista de um intuicionista, assumir que P é válido.
Gallais
2
Você pode escrevê-lo como uma prova por contradição: "Suponha que L seja regular. Então há constante bombeamento . Escolha w ... A palavra bombeada não está em L. Contradição. $pWeu
Raphael
1
Você pode escrever, mas não precisa da contradição. Esse é o ponto.
Janoma
6

A condição 'existe uma expressão regular que gera exatamente ' é uma condição necessária e suficiente para a regularidade de uma linguagem L , pela graça de ser sua definição.eueu

Porém, essa condição não facilita exatamente a não regularidade de um idioma. Não conheço nenhuma condição fácil de verificar que sempre prove a não regularidade de um idioma não regular.

Existem mais dois 'testes' que podem provar a não regularidade de um idioma (embora eles possam não funcionar): você pode tentar fornecer um idioma regular, de modo que sua união / interseção / diferença / concatenação / quociente não seja regular ( existem mais operações como essa) e você pode tentar contar quantas palavras ele gera e verificar se isso contradiz a expressão do número de palavras em um idioma comum (como pode ser encontrado na página da Wikipedia que você vinculou).

Alex ten Brink
fonte
6

Existe essa maravilhosa conexão entre a teoria formal da linguagem e as séries formais de poder, comprovadas por Chomsky e Schützenberger [CS63] . Na forma encontrada em [SS78], cap. II, Teorema 5.1

euKchumar(eu)K

chumar(eu)

[SS78] Arto Salomaa e Matti Soittola. Aspectos teóricos de autômatos de séries formais de potência. Springer-Verlag, Nova Iorque, 1978.

[CS63] Noam Chomsky e Marcel P. Schützenberger. A teoria algébrica das linguagens livres de contexto. Em P. Braffort e D. Hirschberg, editores, Computer Programming and Formal Languages, páginas 118-161. Holanda do Norte, 1963.

uli
fonte
4

ILxyxEueuy

  1. zxxzxeuyzxeu
  2. zyyzyeuxzyeu

Eueueu

Eueu

Patrick87
fonte