SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
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
Linguagens Regulares
Pumping Lemma
1 Linguagens Regulares
Defini¸c˜ao
2 Pumping Lemma
Defini¸c˜ao
Exemplos
Juliana F´elix Pumping Lemma 2/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Linguagens Regulares
Uma linguagem sobre um alfabeto Σ ´e regular se ela ´e:
Juliana F´elix Pumping Lemma 3/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Linguagens Regulares
Uma linguagem sobre um alfabeto Σ ´e regular se ela ´e:
Um conjunto regular (express˜ao) sobre Σ;
Juliana F´elix Pumping Lemma 3/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Linguagens Regulares
Uma linguagem sobre um alfabeto Σ ´e regular se ela ´e:
Um conjunto regular (express˜ao) sobre Σ;
Aceita por um DFA, NFA ou NFA- ;
Juliana F´elix Pumping Lemma 3/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Linguagens Regulares
Uma linguagem sobre um alfabeto Σ ´e regular se ela ´e:
Um conjunto regular (express˜ao) sobre Σ;
Aceita por um DFA, NFA ou NFA- ;
Gerada por uma gram´atica regular.
Juliana F´elix Pumping Lemma 3/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
L = {anbn|n ≥ 0}
´E poss´ıvel construir um NFA que reconhe¸ca L?
Juliana F´elix Pumping Lemma 4/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
L = {anbn|n ≥ 0}
´E poss´ıvel construir um NFA que reconhe¸ca L?
Estados ak’s contam o n´umero de a’s e os estados bk’s
garantem um igual n´umero de b’s.
Figura: Ideia de DFA para reconhecer L = {an
bn
|n ≥ 0}
Juliana F´elix Pumping Lemma 4/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
O que percebemos?
A m´aquina precisa se lembrar quantos as foram vistos `a
medida que lˆe a entrada;
Como o n´umero de as n˜ao ´e limitado, a m´aquina teria que
registrar um n´umero ilimitado de possibilidades;
Esse tipo de linguagem ´e dita n˜ao-regular.
Juliana F´elix Pumping Lemma 5/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
O que ´e?
Pumping Lemma, ou lema do bombeamento, ´e usado para
provar que uma linguagem n˜ao ´e regular;
Juliana F´elix Pumping Lemma 6/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
O que ´e?
Pumping Lemma, ou lema do bombeamento, ´e usado para
provar que uma linguagem n˜ao ´e regular;
Afirma que todas as linguagens regulares tˆem uma
propriedade especial;
Juliana F´elix Pumping Lemma 6/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
O que ´e?
Pumping Lemma, ou lema do bombeamento, ´e usado para
provar que uma linguagem n˜ao ´e regular;
Afirma que todas as linguagens regulares tˆem uma
propriedade especial;
Se a linguagem n˜ao tem essa propriedade, ela n˜ao ´e regular.
Juliana F´elix Pumping Lemma 6/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Propriedade
Todas as cadeias da linguagem cont´em uma parte (subcadeia)
que pode ser ”bombeada”(repetida) um n´umero qualquer de
vezes;
Juliana F´elix Pumping Lemma 7/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Propriedade
Todas as cadeias da linguagem cont´em uma parte (subcadeia)
que pode ser ”bombeada”(repetida) um n´umero qualquer de
vezes;
A cadeia resultante do bombeamento permanece na
linguagem;
Juliana F´elix Pumping Lemma 7/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Defini¸c˜ao
Se A ´e uma linguagem regular, ent˜ao existe um n´umero p (o
comprimento do bombeamento) tal que, se s ´e qualquer
cadeia de A de comprimento no m´ınimo p, ent˜ao s pode ser
dividida em trˆes partes, s = xyz, satisfazendo as seguintes
condi¸c˜oes:
1 para cada i ≥ 0, xyi
z ∈ A
2 |y| > 0, e
3 |xy| ≤ p.
|s| ≥ p
y =
Juliana F´elix Pumping Lemma 8/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Simplificando
Pumping: constru¸c˜ao de novas cadeias pela repeti¸c˜ao de
subcadeias da cadeia original
s = ababbaaab
s = xyz com x = a, y = bab, e z = baaab
xyi
z = a(bab)i
baaab
Figura: Ilustra¸c˜ao de um DFA que reconhece s
Juliana F´elix Pumping Lemma 9/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Como utiliz´a-lo
Encontrar uma cadeia da linguagem que, quando bombeada, n˜ao
satisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.
Juliana F´elix Pumping Lemma 10/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Como utiliz´a-lo
Encontrar uma cadeia da linguagem que, quando bombeada, n˜ao
satisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.
1 Suponha que L ´e regular.
Juliana F´elix Pumping Lemma 10/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Como utiliz´a-lo
Encontrar uma cadeia da linguagem que, quando bombeada, n˜ao
satisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.
1 Suponha que L ´e regular.
2 Use o Pumping Lemma para garantir a existˆencia de p, tal
que toda cadeia s com |s| ≥ p, satisfaz as condi¸c˜oes do lema.
Juliana F´elix Pumping Lemma 10/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Como utiliz´a-lo
Encontrar uma cadeia da linguagem que, quando bombeada, n˜ao
satisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.
1 Suponha que L ´e regular.
2 Use o Pumping Lemma para garantir a existˆencia de p, tal
que toda cadeia s com |s| ≥ p, satisfaz as condi¸c˜oes do lema.
3 Encontre uma cadeia w , com |w| ≥ p, que n˜ao satisfaz as
condi¸c˜oes do lema.
Juliana F´elix Pumping Lemma 10/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Como utiliz´a-lo
Encontrar uma cadeia da linguagem que, quando bombeada, n˜ao
satisfaz as regras da linguagem. A prova ´e por contradi¸c˜ao.
1 Suponha que L ´e regular.
2 Use o Pumping Lemma para garantir a existˆencia de p, tal
que toda cadeia s com |s| ≥ p, satisfaz as condi¸c˜oes do lema.
3 Encontre uma cadeia w , com |w| ≥ p, que n˜ao satisfaz as
condi¸c˜oes do lema.
4 A existˆencia de w contradiz o Pumping Lemma. Logo, L n˜ao
´e regular.
Juliana F´elix Pumping Lemma 10/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Exemplo 1
L = {anbn|n ≥ 0}
Suponha que L ´e regular.
Se L ´e regular, ent˜ao L ´e aceita por um DFA M com p estados
e satisfaz o pumping lemma.
Seja s = apbp. Ent˜ao s pode ser dividida em:
x = ai
y = aj
z = ap−i−j
bp
onde i + j ≤ p e j > 0.
Juliana F´elix Pumping Lemma 11/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Exemplo 1 (cont)
Tomando i = 2, temos:
xy2z = ai aj aj ap−i−j bp = apaj bp.
Como xy2z /∈ L, n˜ao existe decomposi¸c˜ao poss´ıvel de s que
satisfa¸ca as condi¸c˜oes do lema.
Portanto, L n˜ao ´e regular.
Juliana F´elix Pumping Lemma 12/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Considere os trˆes casos para mostrar que o resultado ´e imposs´ıvel
1 A cadeia y cont´em apenas as. Neste caso, a cadeia xyyz tem
mais as que bs e, portanto, n˜ao ´e um membro de L.
Juliana F´elix Pumping Lemma 13/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Considere os trˆes casos para mostrar que o resultado ´e imposs´ıvel
1 A cadeia y cont´em apenas as. Neste caso, a cadeia xyyz tem
mais as que bs e, portanto, n˜ao ´e um membro de L.
2 A cadeia y cont´em somente bs. Caso an´alogo ao 1.
Juliana F´elix Pumping Lemma 13/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Considere os trˆes casos para mostrar que o resultado ´e imposs´ıvel
1 A cadeia y cont´em apenas as. Neste caso, a cadeia xyyz tem
mais as que bs e, portanto, n˜ao ´e um membro de L.
2 A cadeia y cont´em somente bs. Caso an´alogo ao 1.
3 A cadeia y cont´em ambos, as e bs. Neste caso, a cadeia xyyz
pode ter o mesmo n´umero de as e bs, mas estar˜ao fora de
ordem, e tamb´em n˜ao pertence a L.
Juliana F´elix Pumping Lemma 13/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Exemplo 2
L = {ww|w ∈ {0, 1}∗}
Suponha que L ´e regular.
Se L ´e regular, ent˜ao L ´e aceita por um DFA M com p estados
e satisfaz o pumping lemma.
Seja s = 0p10p1. Ent˜ao s pode ser dividida em:
x = 0i
y = 0j
z = 0p−i−j
10p
1
onde i + j ≤ p e j > 0.
Juliana F´elix Pumping Lemma 14/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Exemplo 2 (cont.)
Tomando i = 2, temos:
xy2z = 0i 0j 0j 0p−i−j 10p1 = 0p0j 10p1.
Como xy2z /∈ L, n˜ao existe decomposi¸c˜ao poss´ıvel de s que
satisfa¸ca as condi¸c˜oes do lema.
Portanto, L n˜ao ´e regular.
Juliana F´elix Pumping Lemma 15/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Exemplo 2 (cont.)
Tomando i = 2, temos:
xy2z = 0i 0j 0j 0p−i−j 10p1 = 0p0j 10p1.
Como xy2z /∈ L, n˜ao existe decomposi¸c˜ao poss´ıvel de s que
satisfa¸ca as condi¸c˜oes do lema.
Portanto, L n˜ao ´e regular.
E se s fosse 0p0p?
Juliana F´elix Pumping Lemma 15/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Exerc´ıcios
Use o Pumping Lemma para mostrar que cada um dos itens abaixo
n˜ao ´e regular:
1 L = conjunto de pal´ındromes de comprimento par sobre
{a, b}∗
2 L = {ai bj c2j |i, j ≥ 0}
3 L = {ai bj ckdl |i = k ou j = l}
Juliana F´elix Pumping Lemma 16/17
Linguagens Regulares
Pumping Lemma
Defini¸c˜ao
Exemplos
Pumping Lemma
Juliana F´elix
Instituto de Inform´atica - UFG
13 de maio de 2013
Juliana F´elix Pumping Lemma 17/17

Mais conteúdo relacionado

Destaque

Pumping Lemma
Pumping LemmaPumping Lemma
Pumping Lemmaeburhan
 
Non regular languages
Non regular languagesNon regular languages
Non regular languageslavishka_anuj
 
Pumping lemma for regular set h1
Pumping lemma for regular set h1Pumping lemma for regular set h1
Pumping lemma for regular set h1Rajendran
 
Introduction to fa and dfa
Introduction to fa  and dfaIntroduction to fa  and dfa
Introduction to fa and dfadeepinderbedi
 

Destaque (7)

Pumping Lemma
Pumping LemmaPumping Lemma
Pumping Lemma
 
Pumping lemma
Pumping lemmaPumping lemma
Pumping lemma
 
Non regular languages
Non regular languagesNon regular languages
Non regular languages
 
Pumping lemma for regular set h1
Pumping lemma for regular set h1Pumping lemma for regular set h1
Pumping lemma for regular set h1
 
Pumping lemma (1)
Pumping lemma (1)Pumping lemma (1)
Pumping lemma (1)
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Introduction to fa and dfa
Introduction to fa  and dfaIntroduction to fa  and dfa
Introduction to fa and dfa
 

Pumping Lemma para provar linguagens não regulares