Upload
juliana-felix
View
1.003
Download
1
Embed Size (px)
DESCRIPTION
Material elaborado para a disciplina de Linguagens Formais e Autômatos, sobre Pumping Lemma.
Citation preview
Linguagens RegularesPumping Lemma
Pumping Lemma
Juliana Felix
Instituto de Informatica - UFG
13 de maio de 2013
Juliana Felix Pumping Lemma 1/17
Linguagens RegularesPumping Lemma
1 Linguagens RegularesDefinicao
2 Pumping LemmaDefinicaoExemplos
Juliana Felix Pumping Lemma 2/17
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Linguagens RegularesPumping Lemma
DefinicaoExemplos
Pumping Lemma
Juliana Felix
Instituto de Informatica - UFG
13 de maio de 2013
Juliana Felix Pumping Lemma 17/17