propriedades de llc£o paulo: editora pioneira thomson learning, 2006; menezes, paulo blauth....

22
Prof. Yandre Maldonado - 1 Propriedades de Linguagens Livres de Contexto Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado e Gomes da Costa UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA

Upload: lyhanh

Post on 09-Dec-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

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.