pumping lemma

31
Linguagens Regulares Pumping Lemma Pumping Lemma Juliana F´ elix Instituto de Inform´ atica - UFG 13 de maio de 2013 Juliana F´ elix Pumping Lemma 1/17

Upload: juliana-felix

Post on 05-Dec-2014

1.011 views

Category:

Documents


1 download

DESCRIPTION

Material elaborado para a disciplina de Linguagens Formais e Autômatos, sobre Pumping Lemma.

TRANSCRIPT

Page 1: Pumping Lemma

Linguagens RegularesPumping Lemma

Pumping Lemma

Juliana Felix

Instituto de Informatica - UFG

13 de maio de 2013

Juliana Felix Pumping Lemma 1/17

Page 2: Pumping Lemma

Linguagens RegularesPumping Lemma

1 Linguagens RegularesDefinicao

2 Pumping LemmaDefinicaoExemplos

Juliana Felix Pumping Lemma 2/17

Page 3: Pumping Lemma

Linguagens RegularesPumping Lemma

Definicao

Linguagens Regulares

Uma linguagem sobre um alfabeto Σ e regular se ela e:

Um conjunto regular (expressao) sobre Σ;

Aceita por um DFA, NFA ou NFA-ε;

Gerada por uma gramatica regular.

Juliana Felix Pumping Lemma 3/17

Page 4: Pumping Lemma

Linguagens RegularesPumping Lemma

Definicao

Linguagens Regulares

Uma linguagem sobre um alfabeto Σ e regular se ela e:

Um conjunto regular (expressao) sobre Σ;

Aceita por um DFA, NFA ou NFA-ε;

Gerada por uma gramatica regular.

Juliana Felix Pumping Lemma 3/17

Page 5: Pumping Lemma

Linguagens RegularesPumping Lemma

Definicao

Linguagens Regulares

Uma linguagem sobre um alfabeto Σ e regular se ela e:

Um conjunto regular (expressao) sobre Σ;

Aceita por um DFA, NFA ou NFA-ε;

Gerada por uma gramatica regular.

Juliana Felix Pumping Lemma 3/17

Page 6: Pumping Lemma

Linguagens RegularesPumping Lemma

Definicao

Linguagens Regulares

Uma linguagem sobre um alfabeto Σ e regular se ela e:

Um conjunto regular (expressao) sobre Σ;

Aceita por um DFA, NFA ou NFA-ε;

Gerada por uma gramatica regular.

Juliana Felix Pumping Lemma 3/17

Page 7: Pumping Lemma

Linguagens RegularesPumping Lemma

Definicao

L = {anbn|n ≥ 0}

E possıvel construir um NFA que reconheca L?

Estados ak ’s contam o numero de a’s e os estados bk ’sgarantem um igual numero de b’s.

Figura: Ideia de DFA para reconhecer L = {anbn|n ≥ 0}

Juliana Felix Pumping Lemma 4/17

Page 8: Pumping Lemma

Linguagens RegularesPumping Lemma

Definicao

L = {anbn|n ≥ 0}

E possıvel construir um NFA que reconheca L?

Estados ak ’s contam o numero de a’s e os estados bk ’sgarantem um igual numero de b’s.

Figura: Ideia de DFA para reconhecer L = {anbn|n ≥ 0}

Juliana Felix Pumping Lemma 4/17

Page 9: Pumping Lemma

Linguagens RegularesPumping Lemma

Definicao

O que percebemos?

A maquina precisa se lembrar quantos as foram vistos amedida que le a entrada;

Como o numero de as nao e limitado, a maquina teria queregistrar um numero ilimitado de possibilidades;

Esse tipo de linguagem e dita nao-regular.

Juliana Felix Pumping Lemma 5/17

Page 10: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

O que e?

Pumping Lemma, ou lema do bombeamento, e usado paraprovar que uma linguagem nao e regular;

Afirma que todas as linguagens regulares tem umapropriedade especial;

Se a linguagem nao tem essa propriedade, ela nao e regular.

Juliana Felix Pumping Lemma 6/17

Page 11: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

O que e?

Pumping Lemma, ou lema do bombeamento, e usado paraprovar que uma linguagem nao e regular;

Afirma que todas as linguagens regulares tem umapropriedade especial;

Se a linguagem nao tem essa propriedade, ela nao e regular.

Juliana Felix Pumping Lemma 6/17

Page 12: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

O que e?

Pumping Lemma, ou lema do bombeamento, e usado paraprovar que uma linguagem nao e regular;

Afirma que todas as linguagens regulares tem umapropriedade especial;

Se a linguagem nao tem essa propriedade, ela nao e regular.

Juliana Felix Pumping Lemma 6/17

Page 13: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Propriedade

Todas as cadeias da linguagem contem uma parte (subcadeia)que pode ser ”bombeada”(repetida) um numero qualquer devezes;

A cadeia resultante do bombeamento permanece nalinguagem;

Juliana Felix Pumping Lemma 7/17

Page 14: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Propriedade

Todas as cadeias da linguagem contem uma parte (subcadeia)que pode ser ”bombeada”(repetida) um numero qualquer devezes;

A cadeia resultante do bombeamento permanece nalinguagem;

Juliana Felix Pumping Lemma 7/17

Page 15: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Definicao

Se A e uma linguagem regular, entao existe um numero p (ocomprimento do bombeamento) tal que, se s e qualquercadeia de A de comprimento no mınimo p, entao s pode serdividida em tres partes, s = xyz , satisfazendo as seguintescondicoes:

1 para cada i ≥ 0, xy iz ∈ A2 |y | > 0, e3 |xy | ≤ p.

|s| ≥ p

y 6= ε

Juliana Felix Pumping Lemma 8/17

Page 16: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Simplificando

Pumping : construcao de novas cadeias pela repeticao desubcadeias da cadeia original

s = ababbaaabs = xyz com x = a, y = bab, e z = baaabxy iz = a(bab)ibaaab

Figura: Ilustracao de um DFA que reconhece s

Juliana Felix Pumping Lemma 9/17

Page 17: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Como utiliza-lo

Encontrar uma cadeia da linguagem que, quando bombeada, naosatisfaz as regras da linguagem. A prova e por contradicao.

1 Suponha que L e regular.

2 Use o Pumping Lemma para garantir a existencia de p, talque toda cadeia s com |s| ≥ p, satisfaz as condicoes do lema.

3 Encontre uma cadeia w ′, com |w | ≥ p, que nao satisfaz ascondicoes do lema.

4 A existencia de w ′ contradiz o Pumping Lemma. Logo, L naoe regular.

Juliana Felix Pumping Lemma 10/17

Page 18: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Como utiliza-lo

Encontrar uma cadeia da linguagem que, quando bombeada, naosatisfaz as regras da linguagem. A prova e por contradicao.

1 Suponha que L e regular.

2 Use o Pumping Lemma para garantir a existencia de p, talque toda cadeia s com |s| ≥ p, satisfaz as condicoes do lema.

3 Encontre uma cadeia w ′, com |w | ≥ p, que nao satisfaz ascondicoes do lema.

4 A existencia de w ′ contradiz o Pumping Lemma. Logo, L naoe regular.

Juliana Felix Pumping Lemma 10/17

Page 19: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Como utiliza-lo

Encontrar uma cadeia da linguagem que, quando bombeada, naosatisfaz as regras da linguagem. A prova e por contradicao.

1 Suponha que L e regular.

2 Use o Pumping Lemma para garantir a existencia de p, talque toda cadeia s com |s| ≥ p, satisfaz as condicoes do lema.

3 Encontre uma cadeia w ′, com |w | ≥ p, que nao satisfaz ascondicoes do lema.

4 A existencia de w ′ contradiz o Pumping Lemma. Logo, L naoe regular.

Juliana Felix Pumping Lemma 10/17

Page 20: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Como utiliza-lo

Encontrar uma cadeia da linguagem que, quando bombeada, naosatisfaz as regras da linguagem. A prova e por contradicao.

1 Suponha que L e regular.

2 Use o Pumping Lemma para garantir a existencia de p, talque toda cadeia s com |s| ≥ p, satisfaz as condicoes do lema.

3 Encontre uma cadeia w ′, com |w | ≥ p, que nao satisfaz ascondicoes do lema.

4 A existencia de w ′ contradiz o Pumping Lemma. Logo, L naoe regular.

Juliana Felix Pumping Lemma 10/17

Page 21: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Como utiliza-lo

Encontrar uma cadeia da linguagem que, quando bombeada, naosatisfaz as regras da linguagem. A prova e por contradicao.

1 Suponha que L e regular.

2 Use o Pumping Lemma para garantir a existencia de p, talque toda cadeia s com |s| ≥ p, satisfaz as condicoes do lema.

3 Encontre uma cadeia w ′, com |w | ≥ p, que nao satisfaz ascondicoes do lema.

4 A existencia de w ′ contradiz o Pumping Lemma. Logo, L naoe regular.

Juliana Felix Pumping Lemma 10/17

Page 22: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Exemplo 1

L = {anbn|n ≥ 0}Suponha que L e regular.

Se L e regular, entao L e aceita por um DFA M com p estadose satisfaz o pumping lemma.

Seja s = apbp. Entao s pode ser dividida em:

x = ai

y = aj

z = ap−i−jbp

onde i + j ≤ p e j > 0.

Juliana Felix Pumping Lemma 11/17

Page 23: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Exemplo 1 (cont)

Tomando i = 2, temos:

xy 2z = aiajajap−i−jbp = apajbp.

Como xy 2z /∈ L, nao existe decomposicao possıvel de s quesatisfaca as condicoes do lema.

Portanto, L nao e regular.

Juliana Felix Pumping Lemma 12/17

Page 24: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Considere os tres casos para mostrar que o resultado e impossıvel

1 A cadeia y contem apenas as. Neste caso, a cadeia xyyz temmais as que bs e, portanto, nao e um membro de L.

2 A cadeia y contem somente bs. Caso analogo ao 1.

3 A cadeia y contem ambos, as e bs. Neste caso, a cadeia xyyzpode ter o mesmo numero de as e bs, mas estarao fora deordem, e tambem nao pertence a L.

Juliana Felix Pumping Lemma 13/17

Page 25: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Considere os tres casos para mostrar que o resultado e impossıvel

1 A cadeia y contem apenas as. Neste caso, a cadeia xyyz temmais as que bs e, portanto, nao e um membro de L.

2 A cadeia y contem somente bs. Caso analogo ao 1.

3 A cadeia y contem ambos, as e bs. Neste caso, a cadeia xyyzpode ter o mesmo numero de as e bs, mas estarao fora deordem, e tambem nao pertence a L.

Juliana Felix Pumping Lemma 13/17

Page 26: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Considere os tres casos para mostrar que o resultado e impossıvel

1 A cadeia y contem apenas as. Neste caso, a cadeia xyyz temmais as que bs e, portanto, nao e um membro de L.

2 A cadeia y contem somente bs. Caso analogo ao 1.

3 A cadeia y contem ambos, as e bs. Neste caso, a cadeia xyyzpode ter o mesmo numero de as e bs, mas estarao fora deordem, e tambem nao pertence a L.

Juliana Felix Pumping Lemma 13/17

Page 27: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Exemplo 2

L = {ww |w ∈ {0, 1}∗}Suponha que L e regular.

Se L e regular, entao L e aceita por um DFA M com p estadose satisfaz o pumping lemma.

Seja s = 0p10p1. Entao s pode ser dividida em:

x = 0i

y = 0j

z = 0p−i−j10p1

onde i + j ≤ p e j > 0.

Juliana Felix Pumping Lemma 14/17

Page 28: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Exemplo 2 (cont.)

Tomando i = 2, temos:

xy 2z = 0i0j0j0p−i−j10p1 = 0p0j10p1.

Como xy 2z /∈ L, nao existe decomposicao possıvel de s quesatisfaca as condicoes do lema.

Portanto, L nao e regular.

E se s fosse 0p0p?

Juliana Felix Pumping Lemma 15/17

Page 29: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Exemplo 2 (cont.)

Tomando i = 2, temos:

xy 2z = 0i0j0j0p−i−j10p1 = 0p0j10p1.

Como xy 2z /∈ L, nao existe decomposicao possıvel de s quesatisfaca as condicoes do lema.

Portanto, L nao e regular.

E se s fosse 0p0p?

Juliana Felix Pumping Lemma 15/17

Page 30: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Exercıcios

Use o Pumping Lemma para mostrar que cada um dos itens abaixonao e regular:

1 L = conjunto de palındromes de comprimento par sobre{a, b}∗

2 L = {aibjc2j |i , j ≥ 0}3 L = {aibjckd l |i = k ou j = l}

Juliana Felix Pumping Lemma 16/17

Page 31: Pumping Lemma

Linguagens RegularesPumping Lemma

DefinicaoExemplos

Pumping Lemma

Juliana Felix

Instituto de Informatica - UFG

13 de maio de 2013

Juliana Felix Pumping Lemma 17/17