Você está na página 1de 28

Linguagens Formais e Autnomos:

Lema do Bombeamento para


Linguagens Regulares

Prof. Arnaldo Candido Junior


UTFPR Medianeira

Como provar que

Provar que L1 regular

Construir uma autmato que aceite L1

Provar L2 = L3 (ambas regulares)


Construir autmatos, minimiz-los, renomear
estados e compar-los
Provar que L4 no regular

Faremos uso do lema do bombeamento para


linguagens regulares
Propriedades de Linguagens Regulares

2/28

Lema do Bombeamento

Se L uma linguagem regular, ento: existe uma


constante natural p (que depende de L) tal que
qualquer cadeia w de L, com |w| p, pode ser
decomposta em trs subcadeias x, y, z (w=xyz) de
forma que:

|w| p
|xy| p
y (isto , |y| 1)
xyiz L para qualquer i 0
Propriedades de Linguagens Regulares

3/28

Lema do bomdeamento
como um jogo

Player 1: escolhe w tal que

|w| p

Player 2: mostra que possvel dividir w tal que

|xy| p
y (isto , |y| 1)
xyiz L para qualquer i 0
Vamos supor que player 1 e player 2 so timos:
sempre fazem a melhor jogada possvel

Propriedades de Linguagens Regulares

4/28

Lema do bomdeamento
como um jogo (2)

Player 1 (ns) faz primeira jogada

Quer provar que L no regular

Escolhe uma cadeia w da linguagem

Tenta escolher w que no possa ser dividida em xyz e


respeitar o lema ao mesmo tempo
Complicador: se a linguagem for regular, no sabemos
o valor p (que fora um looping no autmato finito)

Nossa prova tem que ser genrica, qualquer que


seja p

Propriedades de Linguagens Regulares

5/28

Lema do bomdeamento
como um jogo (2)

Player 2 (adversrio) faz a segunda jogada

Quer mostrar que a prova do player 1 est errada


Tenta encontrar uma diviso xyz em w que respeite o
lema

Vitria:

Para o player 1: acontece quando o player 2 no acha


nenhuma diviso xyz que respeite o lema
Para o player 2: acontece quando ele acha pelo menos
uma diviso xyz que respeite o lema

Propriedades de Linguagens Regulares

6/28

Provando que anbn LR : soluo 1

L = {anbn | n 0}

P1 escolhe w = apbp

w = a0a1a2...apb0b1b2...bp
P1 garantiu que a cadeia tem o tamanho mnimo
necessrio.

Agora a vez do p2 (lembre-se que |xy| p e y )

Para w escolhido por p1, y precisa conter pelo menos


um smbolo a e no pode conter b
Nesse caso, xykz quebra o lema para k = 2 (gera
cadeia fora da linguagem (anbn)
Propriedades de Linguagens Regulares

7/28

Provando que anbn LR : soluo 2

Outra prova: w=ap/2bp/2

Qualquer decomposio w=xyz deve ter em y o mesmo


nmero de a's e de b's (bomboeamento xykz tem que
respeitar a proporo de a's e b's)
Assim:

x = aa...a
y = aa...abb..b
z = bb...b
Para k=2 temos xyyz = aa...a aa...b bbb bb...b
K = 2 gera uma cadeia que no pertence a linguagem:
absurdo!
Propriedades de Linguagens Regulares

8/28

Ideia intuitiva

Qualquer linguagem finita trivialmente regular


Qualquer linguagem regular infinita tem pelo
menos um looping em seu autmato

Vamos remover de L todas as cadeias que no


passam por loopings
Pegamos a maior cadeia removida e definimos
o valor p

Propriedades de Linguagens Regulares

9/28

Ideia intuitiva (2)

Todas as cadeias maiores que p, passam


obrigatoriamente por um looping
Na prtica, no precisamos calcular o valor de p

Basta saber que se L regular, ento p um


nmero inteiro positivo
De forma simplificada, pense em p como o
nmero de estados do autmato mnimo que
reconhece L

Propriedades de Linguagens Regulares

10/28

Lema do Bombeamento (2)

Demonstrao (simplificada): Baseia-se no fato


de que, para as cadeias suficientemente longas
w, necessrio usar pelo menos um looping de
estados num AFD que aceite a linguagem
Assim, os smbolos de x so usados para
chegarmos a um estado q do loop
Os smbolos de y so usados para dar a volta no
loop, de volta ao estado q

Propriedades de Linguagens Regulares

11/28

Lema do Bombeamento (3)

Os smbolos de z so usados para ir de q at um


estado final
Portanto, podemos dar quantas voltas no loop
quisermos, e repetir y um nmero qualquer k de
vezes: xykz
As cadeias curtas (comprimento < p) no so
consideradas porque podem ser aceitas sem
passar por qualquer loop

Propriedades de Linguagens Regulares

12/28

Prova formal do Lema do


Bombeamento

Suponha que L seja regular.


Ento existe um AFD A, com p estados, que a reconhece.
Considere qualquer cadeia w de comprimento p ou maior:
w=a1a2a3...am, onde m p, e cada ai um smbolo de
entrada
Para i=0,1,...n, defina o estado qi como *(qo,a1a2a3...ai).
Isto , qi o estado em que A se encontra depois de ler os
primeiro i smbolos de w. Note que p0=q0 na representao
abaixo

Propriedades de Linguagens Regulares

13/28

Prova formal do Lema do


Bombeamento (2)

Como s existem p estados, no possvel que os p+1


diferentes qi, para i=0, 1...p sejam distintos. Desse
modo, podemos encontrar dois inteiros diferentes, i e j,
com 0 i < j p, tais que qi = qj. Agora, podemos dividir
w = xyz como a seguir:
1. x = a1a2a3...ai
2. y = ai+1ai+2...aj
3. z = aj+1aj+2...am
Propriedades de Linguagens Regulares

14/28

Prova formal do Lema do


Bombeamento (3)

Observe que x pode ser vazio (i=0) e z pode ser vazio,


se j=n=m. Mas y no pode ser vazio, pois i
estritamente menor que j
Tambm verdade que
|xy| p. Falta verificar a ltima condio (prximo slide)
Propriedades de Linguagens Regulares

15/28

Prova formal do Lema do


Bombeamento (4)

Vejamos o que acontece com A para entradas xykz para


qualquer k 0:

Se k=0 (w=xz): a vai de p0 para pi na entrada x. Tendo


em vista que pi=pj, A deve ir de pi para o estado final,
para a entrada z. Desse modo, A aceita xz
Continua no prximo slide

Propriedades de Linguagens Regulares

16/28

Prova formal do Lema do


Bombeamento (5)

Continuao: vejamos o que acontece com A para


entradas xykz para qualquer k 0:

Se k >0 (w=xykz): a vai de po a pi sobre a entrada x,


circula de pi para pi k vezes para a entrada yk, e depois
vai para o estado de aceitao para a entrada z. Dessa
forma, para qualquer k0, xykz tambm aceito por A;
ou seja, xykz est em L
Propriedades de Linguagens Regulares

17/28

Prova formal do Lema do


Bombeamento (5)

Provar que no regular

Basta p1 encontrar um w que p2 no consiga dividir

Provar que regular

P1 precisa levantar todos os w possveis e p2 tem


que dividir cada um deles

Normalmente invivel!

Mas fcil fazer AF ou GR ou ER

por isso que p2 no liga se L regular ou no

Propriedades de Linguagens Regulares

18/28

importante respeitar p

Linguagem regular L = ab*a

p = 3 (nmero de estados do af)

w = aba: x = a; y = b; z = a

w = abba: x = a; y = b; z = ba

w = abbba: x = a; y = b; z = bba

Qualquer cadeia grande o suficiente respeita o lema

w = aa L: bombeamento falhou, mas no deveria!

Escolhemos w muito pequeno

Propriedades de Linguagens Regulares

19/28

importante respeitar p (2)

Linguagem no regular L = 0n1m1m0n


w = 0110; x = 0; y = 11; z = 0
w respeita o lema para algum p
Bombardeamento funcionou, mas no deveria!

Escolhemos w muito pequeno ou


w no uma boa cadeia de trabalho

Propriedades de Linguagens Regulares

20/28

importante respeitar p (3)

Precisamos usar um p genrico ao invs de definir


um valor para ele

Quando a linguagem regular, p existe e um


inteiro positivo
Quando a linguagem no regular, p no existe!
Prova por absurdo

Propriedades de Linguagens Regulares

21/28

Exerccios

Mostre que as linguagens abaixo no so


regulares:

1) L = {0n10n | n 1}
2) L = {0n1m2n | n e m so inteiros quaisquer}
3) L = {0n1m | n < m}
4) L = {0n12n | n 1}
5) L = { xxR | x {0,1}*}

Propriedades de Linguagens Regulares

22/28

Exerccio 1
1) L = {0n10n | n >= 1}

Vamos supor L regular. Existe p inteiro e positivo.

Escolhemos w = xyz = 0p10p

Lembre-se: |xy| p, |y| > 0 e xykz L

Em w, y consiste apenas de zeros

Ao bombearmos, teremos: w' = 0m10p L

Absurdo!

Propriedades de Linguagens Regulares

23/28

Exerccio 2
2) L = {0n1m2n | n e m so inteiros quaisquer}

Vamos supor L regular. Existe p inteiro e positivo.

Escolhemos w = xyz = 0p12p.

Seguindo o mesmo raciocnio dos exemplos anteriores,


verificamos que 0m12p L

Absurdo!

Propriedades de Linguagens Regulares

24/28

Exerccio 3
3) L = {0n1m | n <= m}

Vamos supor L regular. Existe p inteiro e positivo.

Considere w = xyz = 0p1p+1.

Em w, y consiste apenas de zeros

Ao bombearmos y, geraremos w' L em que o


nmero de zeros ficar maior que o nmero de uns.

Absurdo!

Propriedades de Linguagens Regulares

25/28

Exerccio 4
4) L = {0n12n | n >= 1}

Vamos supor L regular. Existe p inteiro e positivo.

Considere a cadeia w = xyz = 0p12p.

Em w, y consiste apenas de zeros

Em w original, o nmero de zeros exatamente metade


do nmero de uns
Quando bombearmos y, o nmero de zeros deixar de
ser metade do nmero de uns, no importa quantos
zeros y contenha
Propriedades de Linguagens Regulares

26/28

Exerccio 5
5) L = { wwR | w {0,1}*}

Vamos supor L regular. Ento existe p de acordo com


o lema

Cadeia de trabalho: ww = xyz = 0p1p1p0p (ww L)

Lembre-se: |xy| p, |y| > 0 e xykz L

Em ww, y s pode conter zeros. Ao bombearmos


vamos ter w' = 0m1p1p0p L

Absurdo!

Propriedades de Linguagens Regulares

27/28

Exerccio 6
6) Testar linguagens do Jflap

Propriedades de Linguagens Regulares

28/28