A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Lema da Bomba (Pumping Lemma) para linguagens livre de contexto

Apresentações semelhantes


Apresentação em tema: "Lema da Bomba (Pumping Lemma) para linguagens livre de contexto"— Transcrição da apresentação:

1 Lema da Bomba (Pumping Lemma) para linguagens livre de contexto
Este lema é útil para mostrar que uma dada linguagem não é uma linguagem livre de contexto. Seu uso é análogo àquele visto para linguagens regulares.

2 Suponha G na FNC e seja m=2k+1, onde k=|V|.
se |w|  m, então uma àrvore de derivação para w em G tem altura mínima > k S D P D x v y P’ A w= =vxy S*D*A*vAy*vxy S*vAy*vvAvy *viAyi

3 Teorema. Seja L uma linguagem livre de contexto infinita
Teorema. Seja L uma linguagem livre de contexto infinita. Então existe algum inteiro positivo m tal que para qualquer w  L com |w|  m ela pode ser decomposta como w = uvxyz (1) com |vxy|  m (2) e |vy|  (3) tal que, para todo i =0,1,2,…: uvixyiz  L

4 EXEMPLO: Mostre que L = {anbncn : n 0} não é livre de contexto. SOLUÇÃO: (dos diabos :-) 1. O diabo escolhe m; 2. tomamos a cadeia ambmcm em L. 3. O diabo tem várias escolhas.

5 3a. Se ele escolhe vxy contendo somente a’s, então o bombeamento acarreta obviamente que a cadeia não está em L. 3b. Se ele escolhe uma cadeia contendo número igual de a’s e b’s então a cadeia bombeada akbkck com km pode ser gerada, e não está em L.

6 De fato, a única maneira do diabo tentar nos impedir de vencer é tomar vxy tal que vy tenha o mesmo número de a’s, b’s e c’s. Mas isto não é possível pela restrição (2): |vxy|  m . Portanto, L não é livre de contexto.

7 Mais Exemplo L={ww|w{a,b}*} não é LC. Considere a cadeia ambm ambm;
uma possível escolha para uvxyz: u= am-l, v=al, x=bm-(n+p), y=bn, z=bpambm mas com i (do lema) igual a zero: ak bjambm, com k,j<m, e não está em L outras escolhas são análogas.

8 Ainda mais Exemplo! L={anbj|n=j2} não é LC. Seja m, do lema e am2bm.
De todas as escolhas possíveis aquelas que requerem mais cuida-do tem a forma geral: u=am2-(k1+p), v=ak1, x=apbm-(k2+q), y=bk2 e z=bq. bombeando i vezes obteremos m2+(i-1)k1 a’s e m+(i-1)k2 b’s

9 e a cadeia obtida não está em L.
para termos |vy|>1: se k1=0 então k2>1 e uma cadeia com m2 a’s e m-k2 b’s (i=0) não está em L; se k2=0 então k1>1 e uma cadeia com m2-k1 a’s e m b’s (i=0) também não está em L; se k1,k2>0, com i=0: (m-k2)2 ≤ (m-1)2 = m2 - 2m + 1 < m2 - k1 e a cadeia obtida não está em L.

10 Propriedades das LLCs É fechada sobre união, concatenação, fecho de Kleene e homomorfismo; mas não é fechada sob interseção nem complementação! L1={anbncm|n,m≥0} L2={anbmcm|n,m≥0} L1L2={anbncn|n≥0} L1L2=(L1  L2)

11 Propriedades de Decidibilidade
Existe algoritmo para decidir se: L é vazia ou não; L é infinita ou não; xL; Não existe para: L(G)=* L(G1)L(G2) L(G1)=L(G2) L(G) é regular L(G1)L(G2)=


Carregar ppt "Lema da Bomba (Pumping Lemma) para linguagens livre de contexto"

Apresentações semelhantes


Anúncios Google