P ro f. Y a n d re M a ld o n a d o -1
Propriedades de Linguagens
Livres de Contexto
Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado e Gomes da Costa
P ro f. Y a n d re M a ld o n a d o -2
Propriedades de Linguagens
Livres de Contexto
A classe de linguagens livres de contexto é fechada sob as operações de união, concatenação e fecho de Kleene; Isto quer dizer que:
A união de duas LLCs produz uma LLC; A concatenação de duas LLCs produz uma
LLC;
O fechamento completo de uma LLC produz uma LLC. P ro f. Y a n d re M a ld o n a d o -3
Propriedades de Linguagens
Livres de Contexto
União, prova:Sejam L1e L2produzidas pelas
gramáticas G1=〈V1, T1, P1, S1〉e G2=〈V2, T2, P2, S2〉respectivamente, com V1 ∩V2=∅;
L1∪L2 pode ser gerada pela gramática G3=〈V3, T3, P3, S3〉em que:
•V3= V1∪V2∪{S3}; •T3= T1∪T2;
•P3= P1∪P2∪{S3→S1, S3→S2}; e •S3∉(V1∪V2).
P ro f. Y a n d re M a ld o n a d o -4 Concatenação, prova:
Sejam L1e L2produzidas pelas gramáticas G1=〈V1, T1, P1, S1〉e
G2=〈V2, T2, P2, S2〉respectivamente, com V1 ∩V2=∅;
L1.L2 pode ser gerada pela gramática G3=〈V3, T3, P3, S3〉em que: •V3= V1∪V2∪{S3}; •T3= T1∪T2; •P3= P1∪P2∪{S3→S1S2}; e •S3∉(V1∪V2). P ro f. Y a n d re M a ld o n a d o -5
Propriedades de Linguagens
Livres de Contexto
Fecho de Kleene, prova:
Seja L1produzida pelas gramática
G1=〈V1, T1, P1, S1〉;
L1*pode ser gerada pela gramática
G2=〈V2, T2, P2, S2〉em que: •V2= V1∪{S2}; •T2= T1; •P2= P1∪{S2→S1S2, S2→λ}; e •S2∉V1. P ro f. Y a n d re M a ld o n a d o -6
Lema do Bombeamento*para LLCs;
Aplicação: demonstrar que uma linguagem não é livre de contexto; O lema é obtido raciocinando-se a
partir das gramáticas que geram LLCs, mais especificamente a partir da estrutura das árvores de derivação associadas a GLCs;
Propriedades de Linguagens
Livres de Contexto
P ro f. Y a n d re M a ld o n a d o -7
Lema do Bombeamento para LLCs:
Seja L uma LLC. Então existe uma constante k>0 tal que para qualquer palavra z ∈L, com |z|≥k existem cadeias u, v, x, w e z que satisfaçam as seguintes condições: •z = uvwxy; •|vwx| ≤k; •vx≠ λ; e •uviwxiy∈L para todo i≥0. P ro f. Y a n d re M a ld o n a d o -8
Seja G = 〈V, T, P, S〉uma gramática na FNC que gera uma LLC infinita;
Como L(G) é infinita, existe palavra em L(G) de todo tamanho;
Como V e P são finitos, existe um número k>0 tal que qualquer palavra z
∈L(G) com |z|≥k terá uma árvore de derivação na qual um símbolo não-terminal se repete em um caminho simples a partir da raiz.
Propriedades de Linguagens
Livres de Contexto
P ro f. Y a n d re M a ld o n a d o -9Esquema de árvore de derivação para
palavra z, com |z|≥k:
Propriedades de Linguagens
Livres de Contexto
S R R u v w x y Sendo R ∈V e u, v, w, x, y ∈T*P ro f. Y a n d re M a ld o n a d o -1 0 Percebe-se pela árvore que: |vwx|≤k; S ⇒uRy R ⇒vRx R ⇒w Então: S ⇒uRy⇒ uviRxiy, para i≥0. S R R u v w x y * * * * * P ro f. Y a n d re M a ld o n a d o -1 1
Propriedades de Linguagens
Livres de Contexto
Demonstração do teorema:Considerando que G está na FNC, vamos tomar uma cadeia z, tal que |z|≥2k, onde k=|V|;
A árvore de derivação para z tem profundidade de, no mínimo, k+1; Assim, existe um caminho da raiz da
árvore até a folha que possui k+1 nós, sendo k nós internos, rotulados com símbolos não-terminais; P ro f. Y a n d re M a ld o n a d o -1 2
Propriedades de Linguagens
Livres de Contexto
Considere uma gramática na FNC em
que |V|=3; Cadeia de comprimento 2|V| Algum símbolo de V se repete no caminho de derivação
P ro f. Y a n d re M a ld o n a d o -1 3 Demonstração do teorema:
Como existem apenas k símbolos não-terminais distintos, então algum não-terminal (como R na ilustração) deverá se repetir nos nós internos da árvore; S R R u v w x y P ro f. Y a n d re M a ld o n a d o -1 4
Propriedades de Linguagens
Livres de Contexto
Demonstração do teorema:Note que, como G está na FNC, não possui produção unitária ou vazia, então |vx|>1 e |vwx|≤|z|;
Se a derivação R⇒vRx for aplicada i vezes, e depois R ⇒w, a cadeia uviwxiy, que também pertence a L(G), será obtida. S R R u v w x y * * P ro f. Y a n d re M a ld o n a d o -1 5
Propriedades de Linguagens
Livres de Contexto
Aplicação do teorema para demonstrar que {anbncn|n≥0} não é uma LLC;
Supondo que exista k, conforme determinado pelo teorema;
Tomando a cadeia z=akbkck;
Como |z| > k, as seguintes condições devem se verificar:
• z = uvwxy;
• |vwx| ≤k;
• vx≠λ; e
P ro f. Y a n d re M a ld o n a d o -1 6
Aplicação do teorema para demonstrar que {anbncn|n≥0} não é uma LLC;
Supondo então que akbkck=uvwxy, |vwx|≤k e vx≠λ, tem-se duas possibilidades:
• vx contém algum a. Como |vwx|≤k, vx não contém c’s. Portanto, uv2wx2y contém mais a’s do que c’s. Assim, uv2wx2y ∉L;
• vx não contém a. Como vx≠λ, uv2wx2y contém menos a’s que b’s e/ou c’s. Dessa forma, uv2wx2y
∉L;
Como uv2wx2y ∉L contraria o Lema do Bombeamento, a linguagem não é LLC.
P ro f. Y a n d re M a ld o n a d o -1 7
Propriedades de Linguagens
Livres de Contexto
Aplicação do teorema para demonstrar que {0n| n é primo} não é uma LLC;
Seja k a constante referida no LB; Seja z=0n, em que n é um número primo
maior que k;
Como |z|>k, o lema diz que existem u, v, w, x e y tais que: • z=uvwxy; • |vwx|≤k; • vx≠λ; e • uviwxiy∈L para todo i≥0. P ro f. Y a n d re M a ld o n a d o -1 8
Propriedades de Linguagens
Livres de Contexto
Para provar que a linguagem não é LLC, basta supor
que:
z=uvwxy; |vwx|≤k; vx≠λ;
e encontrar um i tal que uviwxiy∉L, contrariando o LB;
Pelas informações anteriores tem-se que uviwxiy=0
n+(i-1)(|vx|)(pois z=0n);
Assim, i deve ser tal que n+(i-1)|vx| não seja primo;
Para isto, basta fazer i=n+1, obtendo-se
n+(i-1)|vx|=n+n|vx|=n(1+|vx|), que não é primo (pois |vx|>0).
P ro f. Y a n d re M a ld o n a d o -1 9
A classe de linguagens livres de contexto não é fechada sob as operações de interseção e complemento;
Isto quer dizer que:
A interseção de duas LLCs não produz necessariamente uma LLC; O complemento de uma LLC não
corresponde necessariamente a uma LLC. P ro f. Y a n d re M a ld o n a d o -2 0
Propriedades de Linguagens
Livres de Contexto
Interseção, prova: Sejam as LLCs L1= {anbnck| n, k ≥0} e L2= {anbkck| n, k ≥0}. Tem-se que L1∩L2= {anbncn| n ≥0};Conforme mostrado nos slides 15 e 16, {anbncn| n ≥0} não é uma LLC; P ro f. Y a n d re M a ld o n a d o -2 1
Propriedades de Linguagens
Livres de Contexto
Complemento, prova:Segundo as leis de De Morgan, descritas na teoria dos conjuntos:
L1∩L2=
Logo, como as LLCs são fechadas sob a união, se fossem fechadas sob o complemento também seriam sob a interseção (o que já vimos que não é, no slide anterior);
2
1 L
P ro f. Y a n d re M a ld o n a d o -2 2
DELAMARO, Márcio Eduardo. Linguagens
Formais e Autômatos. UEM, 1998;
VIEIRA, Newton José. Introdução aos Fundamentos da Computação. São Paulo: Editora Pioneira Thomson Learning, 2006;
MENEZES, Paulo Blauth. Linguagens
Formais e Autômatos. Porto Alegre: Editora Sagra-Luzzatto, 1998.