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)


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.≡ L≡eu≡eu
  • 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.∼eu∼eu
  • 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.eu∼eueu
  • 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.


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.


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).


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.


4

ILxyxEueuy

  1. zxxzx∈euyzx∈eu
  2. zyyzy∈euxzy∈eu

Eueueu

Eueu

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.