Prof. Y
andre Maldonado -
1
Propriedades de Linguagens Livres de Contexto
Prof. Yandre Maldonado e Gomes da CostaProf. Yandre Maldonado e Gomes da Costa
UNIVERSIDADE ESTADUAL DE MARINGÁDEPARTAMENTO DE INFORMÁTICA
Prof. Y
andre Maldonado -
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.
Prof. Y
andre Maldonado -
3
Propriedades de Linguagens Livres de Contexto
� União, prova:� Sejam L1 e L2 produzidas 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).
Prof. Y
andre Maldonado -
4
Propriedades de Linguagens Livres de Contexto
� Concatenação, prova:� Sejam L1 e L2 produzidas 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).
Prof. Y
andre Maldonado -
5
Propriedades de Linguagens Livres de Contexto
� Fecho de Kleene, prova:� Seja L1 produzida 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.
Prof. Y
andre Maldonado -
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
* Também conhecido como Teorema de Pumping
Prof. Y
andre Maldonado -
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.
Propriedades de Linguagens Livres de Contexto
Prof. Y
andre Maldonado -
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
Prof. Y
andre Maldonado -
9
� Esquema de árvore de derivação para palavra z, com |z|≥k:
Propriedades de Linguagens Livres de Contexto
S
R
R
u v xw y
Sendo R ∈ V e u, v, w, x, y ∈ T*
Prof. Y
andre Maldonado -
10
Propriedades de Linguagens Livres de Contexto
� 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 xw y
*
*
*
**
Prof. Y
andre Maldonado -
11
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;
Prof. Y
andre Maldonado -
12
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
Prof. Y
andre Maldonado -
13
Propriedades de Linguagens Livres de Contexto
� 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 xw y
Prof. Y
andre Maldonado -
14
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 xw y
*
*
Prof. Y
andre Maldonado -
15
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• uviwxiy ∈L para todo i≥0.
Prof. Y
andre Maldonado -
16
Propriedades de Linguagens Livres de Contexto
� 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.
Prof. Y
andre Maldonado -
17
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.
Prof. Y
andre Maldonado -
18
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=0n+(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).
� Desse modo, uvn+1wxn+1y ∉ L.
Prof. Y
andre Maldonado -
19
Propriedades de Linguagens Livres de Contexto
� 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.
Prof. Y
andre Maldonado -
20
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;
Prof. Y
andre Maldonado -
21
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);
21 LL ∪
Prof. Y
andre Maldonado -
22
Bibliografia
� DELAMARO, Márcio Eduardo. Linguagens Formais e Autômatos. UEM, 1998;
� VIEIRA, Newton José. Introdução aosFundamentos 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.
Top Related