• Nenhum resultado encontrado

9. Linguagens Regulares - Lema do Bombeamento. Prova de Não-Regularidade. Propriedades das Linguagens Regulares.

N/A
N/A
Protected

Academic year: 2019

Share "9. Linguagens Regulares - Lema do Bombeamento. Prova de Não-Regularidade. Propriedades das Linguagens Regulares."

Copied!
7
0
0

Texto

(1)

9. Linguagens Regulares

Por definição, são as linguagens que podem ser representadas por AFDs. Por equivalên-cia, são também as linguagens representadas por AFNs ou ERs.

• Assim, para provar que uma linguagem é regular, basta representá-la com qual-quer um desses modelos.

Existem várias aplicações das linguagens regulares:

• Validação de entradas (ex.: testar se uma entrada está no formato correto para um endereço de e-mail)

• Busca por ocorrências (ex.: procurar todos os links em um arquivo)

• Filtros de spam (ex.: filtrar e-mails que tenham ocorrências de certas palavras) • Compiladores (para gerar uma parte da análise sintática automaticamente)

Porém, esta é a classe de linguagens mais simples estudada nesta disciplina. Assim, vá-rias linguagens e problemas simples não fazem parte dela.

Exemplos de linguagens não-regulares:

• Cadeias na forma anbn, para n ≥ 0

• Cadeias formadas por uma mesma quantidade de a’s e b’s, em qualquer ordem • Cadeias na forma wwr, onde w é uma cadeia qualquer

• Cadeias na forma ww, onde w é uma cadeia qualquer • Cadeias que são palíndromos.

Como provar que essas e outras linguagens não são regulares? Temos como provar que não existe um AFD para a linguagem?

(2)

9.1 Lema do Bombeamento para Linguagens Regulares

Antes de apresentar o lema, vamos analisar as condições para uma cadeia w ser aceita em um AFD de p estados:

• Se o caminho que aceita w não repete estado, então |w| < p

• Portanto, se |w| ≥ p, então é porque o caminho (seguido durante a computação)

repete algum estado qi, ou seja, o caminho faz um ciclo no AFD (saindo desse qi

e voltando a qi)

o Vamos considerar que, nesse ciclo de qi até qi, o AFD lê uma subcadeia

de w que chamaremos de y

o Se repetirmos várias vezes essa porção y da cadeia, deixando o resto in-tacto, estaremos criando outras cadeias que o AFD também aceita

Pois essas repetições simplesmente dão mais voltas no ciclo de qi

a qi, seguindo o mesmo caminho para o estado de aceitação

de-pois

o Além disso, é possível provar que uma parte y assim pode sempre ser en-contrada entre os p primeiros símbolos da cadeia. (Pode haver uma parte y depois dos primeiros símbolos sim, mas essa parte anterior será mais

importante).

A idéia básica do lema é essa, porém ele omite qualquer discussão à respeito do AFD, deixando o lema mais poderoso.

Grosseiramente falando, o lema afirma que, para toda linguagem regular, existe um ta-manho máximo p para as cadeias, tal que toda cadeia w de tata-manho maior ou igual a p pode ser “bombeada” gerando outras infinitas cadeias da linguagem.

(3)

O livro apresenta um enunciado para o lema, que aqui aparece reorganizado grafica-mente para facilitar o entendimento das partes do lema.

Este é o Lema do Bombeamento para Linguagens Regulares:

Então, existe um número p (o comprimento do bombeamento) tal que o enunciado abaixo é válido para toda cadeia w:

Se L é um linguagem regular

w ∈ L

e | w | ≥ p

A cadeia w pode ser dividida em três partes w = x.y.z, satisfazendo as seguintes condi-ções:

(1) | y | > 0 (2) | x.y | ≤ p

(4)

9.2 Provando que uma Linguagem Não é Regular

Para provar que uma linguagem L não é regular, fazemos a seguinte prova por redução ao absurdo (prova por contradição):

• Assumimos que L é regular. Logo, o lema do bombeamento pode ser aplicado e, assim, existe algum valor para p que permite o bombeamento.

• Escolhemos uma cadeia que faz parte de L de modo que ela tenha tamanho maior do que p, para qualquer que seja o valor de p

o Esta talvez seja a parte mais importante e mais difícil da prova

• Provamos que, apesar da cadeia satisfazer as condições do lema, não é possível bombear com sucesso nenhum trecho dessa cadeia.

• Isso contradiz o lema. Essa contradição encerra a demonstração (pois não pode ser verdade a hipótese de que L é regular).

o Reveja prova por redução ao absurdo, de Matemática Discreta.

Exemplo: Prove que a linguagem D = { anbn | n > 0 } não é regular.

Prova por redução ao absurdo. • Hipótese: D é regular

• Pelo lema, existe algum valor máximo p para as cadeias, de forma que toda ca-deia de tamanho maior que p pode ser “bombeada”

• Como não sabemos o valor de p, vamos escolher uma cadeia dada em função de p para bombear: w = apbp

• Veja que esta cadeia:

o Faz parte da linguagem e

(5)

• Segundo o lema, nessas condições, podemos dividir a cadeia na forma w=xyz de modo que y não seja vazia (condição 1) e de modo que todo “bombeamento” de y seja cadeia da linguagem (condição 3).

• Porém, veja que a condição 2 exige que essa parte y seja escolhida dentre os primeiros p símbolos, que, neste caso, são todos símbolos as.

• Assim, com esta cadeia, para qualquer escolha de y que fizermos, se “bombear-mos” y, aumentamos a quantidade de as e produziremos cadeias com mais as do que bs. Portanto, tais cadeias “bombeadas” não farão parte da linguagem, o que

contradiz a condição 2 do lema.

(6)

9.3 Outras Propriedades das Linguagens Regulares

O Lema do Bombeamento, dado na seção 9.1, é uma propriedade das linguagens regula-res. Nesta seção, apresentamos outras propriedades mais simples.

Considere duas linguagens regulares L1 e L2 quaisquer. Então:

1) A união L1∪∪∪∪ L2 é regular.

Prova: Como elas são regulares, vamos representar L1 e L2, respectivamente, pelas

expressões regulares r1 e r2. Assim, a expressão r1|r2 expressa precisamente a

lingua-gem L1 ∪∪∪∪ L2, logo esta linguagem é regular.

Exercício: tente provar a propriedade anterior usando AFNs.

2) A concatenação L1 L2 é regular.

Prova: Como elas são regulares, vamos representar L1 e L2, respectivamente, pelas

expressões regulares r1 e r2. Assim, a expressão r1r2 expressa precisamente a

lingua-gem L1 L2, logo esta linguagem é regular.

Exercício: tente provar a propriedade anterior usando AFNs.

3) O complemento de L1, representado por L1C (ou L1 com um traço em cima) é

regular.

Prova: Como ela é regular, existe um AFD M1 que aceita L1. Agora, alterarmos M1

trocando os estados de aceitação pelos de rejeição e vice-versa, teremos um outro AFD

se criarmos outro AFD M1C que aceita tudo que L1 rejeita e rejeita tudo que L1 aceita.

Logo, este AFD representa a linguagem L1C, e, assim, esta é uma linguagem regular.

4) A interseção L1 ∩∩∩∩ L2 é regular.

Prova: Com base nas Leis de De Morgan, temos que L1L2 =

(

L1L2

)

. Porém, como

L1 e L2 são regulares, pela propriedade 3, os complementos delas são duas linguagens

(7)

com-plemento desta união, pela propriedade 3, é regular. Logo

(

L1∪L2

)

é regular. Como

este conjunto é igual à interseção, concluímos que L1 ∩∩∩∩ L2 é regular.

Prova alternativa (esboço): Vamos considerar os AFDs M1 e M2 que representam,

res-pectivamente, L1 e L2. A partir deles, vamos criar um novo AFD Mnovo em que cada

estado é um par (estado de M1, estado de M2). Assim, Mnovo vai servir para simular, em

paralelo, os dois autômatos M1 e M2. Além disso, os estados de aceitação do novo

au-tômato seriam pares formados por dois estados de aceitação, um de M1 e outro de M2.

Dessa forma, este novo AFD só aceita aquilo que os dois autômatos originais aceitam.

Logo, Mnovo representa a intersecção de L1 e L2. Assim, esta interseção é regular.

Mais detalhes da prova alternativa acima foram dadas em sala de aula.

“Eis que estou à porta e bato.

Se alguém ouvir a minha voz e abrir a porta,

entrarei e cearei com ele, e ele comigo."

Referências

Documentos relacionados

O Título XXI da Segunda Partida, ao apresentar, em forma de lei, especificidades referentes à cavalaria, especificamente à lealdade que ela deve demonstrar ao seu

A deterioração dos parâmetros físicos como força muscular, equilíbrio, flexibilidade, agilidade e coordenação, leva à limitação funcional que ocasionará

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na

Expressar as linguagens a seguir na forma de uma expressão regular, no estilo de expressões regulares UNIX, e usando operações

O presente relatório tem como objetivo descrever as atividades desenvolvidas nos meses de abril, maio e junho de 2007 na área de clínica médica de pequenos animais no Setor

Segundo os estudos realizados, são identificados dois mecanismos de desgaste no processo de lingotamento: o primeiro deles trata da formação de CaO através da combinação do cálcio

PROGRAMA DE PREVENÇÃO PROGRAMA DE PREVENÇÃO DE RISCOS AMBIENTAIS DE RISCOS AMBIENTAIS - DOCUMENTO BASE - - DOCUMENTO BASE - MAIO 2002

classificatório, com pontuação máxima de 100 (cem pontos) será ministrada na presença de uma banca examinadora e será constituída de uma aula, com duração de até 30