1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem...

Post on 21-Apr-2015

122 views 0 download

Transcript of 1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem...

1

Aplicações do

Fecho Regular

2

A interseção de uma linguagem livre de contexto e uma linguagem regularé uma linguagem livre de contexto

1Llivre de contexto

2L regular21 LL

livre de contexto

Fecho Regular

3

Uma Aplicação de Fecho Regular

Prove que: }100:{ nbaL nn

é livre de contexto

4

}{ nnbaSabemos que:

é livre de contexto

5

}{ 1001001 baL é regular

}{}){( 100100*1 babaL é regular

Também sabemos que:

6

}{}){( 100100*1 babaL

regular

}{ nnbalivre de contexto

1}{ Lba nn é livre de contexto

Lnba

Lbann

nn

}100:{

}{ 1

livre de contexto

(fecho regular)

7

Outra Aplicação de Fecho Regular

Prove que: }:{ cba nnnwL

não é livre de contexto

8

}:{ cba nnnwL

}{*}**{ nnn cbacbaL

livre de contextoregularlivre de contexto

Se é livre de contexto

Então

Impossível!!!

Portanto, não é livre de contextoL

(fecho regular)

9

Propriedades Decidíveisde

Linguagens Livres de Contexto

10

Questão da Pertinência:

para uma gramática livre de contextodeterminar se o string

G)(GLw

Algoritmos para Pertinência:Parsers

•Parser de busca exaustiva

•Algoritmo de parsing CYK

11

Questão da Linguagem Vazia:

para uma gramática livre de contextodeterminar se

G)(GL

Algoritmo:

S

1.Remova variáveis inúteis

2.Verifique se a variável inicial é útil

12

Questão da Linguagem Infinita:

para uma gramática livre de contextofdeterminar se é infinita

G)(GL

Algoritmo:

1. Remova variáveis inúteis

2. Remova produções unitárias e produções

3. Crie o grafo de dependência para variáveis

4. Se existe um loop no grafo de dependência então a linguagem é infinita

13

Exemplo:

cBSC

bbbBB

aaCbA

ABS

|

|

S

A

B

C

Grafo de Dependência Linguagem Infinita

14

cBSC

bbbBB

aaCbA

ABS

|

|

acbbSbbbacBSbBaCbBABS

ii bbbSacbb

bbbSacbbacbbSbbbS

)()(

)()( 22

15

Lema do Bombeamento para

Linguagens Livres de Contexto

16

Tome uma linguagem livre de contexto infinita

Exemplo:

bB

SbB

aBbA

ABS

Gera um número infinitode strings diferentes

17abbabbbbabbabbBb

abbaBbBbabbABbabbSb

abbBaBbBABS

bB

SbB

aBbA

ABS

Uma derivação:

18

S

A B

bBa

b

bS

A B

bBa

b

b

Árvore de Derivação string abbabbbb

19

S

A B

bBa

b

bS

A B

bBa

b

b

repetido

Árvore de Derivação string abbabbbb

20

B

bS

A B

bBa

b

b

aBbbbaBbBb

ABbSbB

bB

21

B

bS

A B

bBa b

aBbbbB

Parte Repetida

22

B

bS

A B

ba bB

bS

A B

bBa b

aaBbbbbbbaBbbbB

Outra possível derivação

aBbbbB

23

S

A B

bBa

b

bS

A B

ba bB

abbaBbbbS

aBbbbB

24bbabbaaBbbbbabbaBbbbS

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b

aBbbbB

25bbabbaabbbbbbbabbaaBbbbbS

S

A B

bBa

b

bS

A B

ba bB

bS

A B

bBa b bBb

26

bbabbaabbbbbS

Portanto, o string

bbabbaabbbbb

também é gerado pela gramática

27

abbaBbbbS

aBbbbB bBSabemos:

Sabemos também que este string é gerado:

abbaabbbb

abbaBbbbS

28

abbaBbbbS

aBbbbB bBSabemos:

Portanto, este string também é gerado:

bbabbaabbbbb

bbabbaaBbbbb

abbaBbbbS

29

abbaBbbbS

aBbbbB bBSabemos:

Portanto, este string também é gerado:

bbbbbbbaabba

bbbbbbBaabba

bbbbbbBaabba

abbaBbbbS

22

22

)()(

)()(

)()(

30

Portanto, este string também é gerado:

bbbbbbbaabba

bbbbbbBaabba

abbaBbbbS

ii

ii

)()(

)()(

abbaBbbbS

aBbbbB bBSabemos:

31

Portanto, sabendo que

abbabbbb

é gerado pela gramática também sabemos que

bbbbbbbaabba ii )()(

é gerado por

G

G

32

Em geral:

Dada uma gramática livre de contexto infinitaG

Podemos supor que não tem produções unitárias nem -produções

G

33

Tome um string com comprimento maior que

Alguma variável deve ser repetidana derivação de

)(GLw

(Número de produções) x(Maior lado direito de uma produção)

m >

w

Consequência:

34

S

A

A

x

Última variável repetida

u z

v y

uvxyzwString

repetida

35

S

A

A

x

u z

v y

uAzS

vAyA

xA

Possíveisderivações:

36

uAzS vAyA

xA

Sabemos:

Este string é também gerado:

uxzuAzS*

zxyuv 00

37

Este string é também gerado:

uvxyzuvAyzuAzS**

O original zxyuvw 11

uAzS vAyA

xA

Sabemos:

38

Este string é também gerado:

uvvxyyzuvvAyyzuvAyzuAzS***

zxyuv 22

uAzS vAyA

xA

Sabemos:

39

Este string é também gerado:

uvvvxyyyzuvvvAyyyz

uvvAyyzuvAyzuAzS**

**

zxyuv 33

uAzS vAyA

xA

Sabemos:

40

Este string é também gerado:

yyyzvxyuvvv

yyyzvAyuvvv

uvvvAyyyz

uvvAyyzuvAyzuAzS

zxyuv ii

uAzS vAyA

xA

Sabemos:

*

***

*****

41

Portanto, qualquer string da forma

zxyuv ii

é gerado pela gramática G

0i

42

sabendo que )(GLuvxyz

sabemos também que )(GLzxyuv ii

Portanto,

43

S

A

A

x

u z

v y

mvxy ||Observação:

Como é a última variável repetidaA

44

S

A

A

x

u z

v y

1|| vyObservação:

Como não existem produções ou unitárias

45

Lema do Bombeaamento:

existe um inteiro tal quem

para todo string mwLw || ,

podemos escrever

Para linguagem livre de contexto infinitaL

uvxyzw

com 1||and || vymvxy

e devemos ter que:

0 allfor , iLzxyuv ii

46

Aplicaçõesdo

Lema do Bombeamento

47

Linguagens Livres de Contexto

}0:{ nba nn

Linguagens não livres de contexto

}0:{ ncba nnn

48

Teorema: A linguagem

}0:{ ncbaL nnn

não é livre de contexto

Prova:Use o Lema do Bombeamentopara linguagens livres de contexto

49

}0:{ ncbaL nnn

Suponha por contradição que

seja livre de contexto

Como é livre de contexto e infinitapodemos aplicar o lema do bombeamento

L

L

50

• Lema do Biombeamento nos dá um número mágico tal que: m

Dado um string comLw mw ||

Tomamos:mmm cbaw

}0:{ ncbaL nnn

51

}0:{ ncbaL nnn

mmm cbaw

Podemos escrever : uvxyzw

com emvxy || 1|| vy

52

}0:{ ncbaL nnn

O Lema do Bombeamento diz:

Lzxyuv ii pata todo 0i

mmm cbawuvxyzw mvxy || 1|| vy

53

}0:{ ncbaL nnn

Examinemos todas as possíveis localizaçõesdo string em vxy w

mmm cbawuvxyzw mvxy || 1|| vy

54

}0:{ ncbaL nnn

Caso 1: vxy está emma

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbawuvxyzw mvxy || 1|| vy

55

}0:{ ncbaL nnn

Caso 1: e consistem appenas dev y a

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbawuvxyzw mvxy || 1|| vy

56

}0:{ ncbaL nnn

Caso 1:

ccccccbbbbbbaaaaaaaaaaaa .........22xyv

km m m

u z

Repetindo ev y

mmm cbawuvxyzw mvxy || 1|| vy

1k

57

}0:{ ncbaL nnn

Caso 1:

ccccccbbbbbbaaaaaaaaaaaa .........22xyv

km m m

u z

Do Lema do Bomb.: Lzxyuv 22

mmm cbawuvxyzw mvxy || 1|| vy

1k

58

}0:{ ncbaL nnn

Caso 1:

Lcbazxyuv mmkm 22

Do Lema do Bomb.: Lzxyuv 22

Entretanto:

Contradição!!!

mmm cbawuvxyzw mvxy || 1|| vy

1k

59

}0:{ ncbaL nnn

Caso 2: vxy está emmb

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbawuvxyzw mvxy || 1|| vy

60

}0:{ ncbaL nnn

Caso 2:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Análise similar à do caso 1

mmm cbawuvxyzw mvxy || 1|| vy

61

}0:{ ncbaL nnn

Caso 3: vxy está emmc

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mmm cbawuvxyzw mvxy || 1|| vy

62

}0:{ ncbaL nnn

Caso 3:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Análise similar à do caso 1

mmm cbawuvxyzw mvxy || 1|| vy

63

}0:{ ncbaL nnn

Caso 4: vxysobrepõe e ma

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mb

mmm cbawuvxyzw mvxy || 1|| vy

64

}0:{ ncbaL nnn

Caso 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibilidade 1:contém apenascontém apenas

vy

ab

mmm cbawuvxyzw mvxy || 1|| vy

65

}0:{ ncbaL nnn

ccccccbbbbbbbbbbaaaaaaaaaa .........22xyv

1km 2km m

u z

mmm cbawuvxyzw mvxy || 1|| vy

Caso 4:Possibilidade 1:contém apenascontém apenasvy

ab121 kk

66

}0:{ ncbaL nnn

Caso 4:

ccccccbbbbbbbbbbaaaaaaaaaa .........22xyv

1km 2km m

u z

Do Lema do Bomb.: Lzxyuv 22

mmm cbawuvxyzw mvxy || 1|| vy

121 kk

67

}0:{ ncbaL nnn

Caso 4:Do Lema do Bomb.: Lzxyuv 22

Lcbazxyuv mkmkm 2122Entretanto:

Contradição!!!

mmm cbawuvxyzw mvxy || 1|| vy

121 kk

68

}0:{ ncbaL nnn

Case 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibilidade 2:contém econtém apenasvy

ab

mmm cbawuvxyzw mvxy || 1|| vy

b

69

}0:{ ncbaL nnn

Caso 4:

ccccccbbbbbbbbbbbaaaaabbaabaaa .........

22xyv

m km m

u z

Possibilidade 2:

mmm cbawuvxyzw mvxy || 1|| vy

1k 2k

121 kkkcontém econtém apenasvy

abb

70

}0:{ ncbaL nnn

mmm cbawuvxyzw mvxy || 1|| vy

Caso 4:Do Lema do Bomb: Lzxyuv 22

ccccccbbbbbbbbbbbaaaaabbaabaaa .........

22xyv

m km m

u z

1k 2k

121 kkk

71

}0:{ ncbaL nnn

mmm cbawuvxyzw mvxy || 1|| vy

Case 4:Do Lema do Bomb: Lzxyuv 22

Lcbabazxyuv mkmkkm 2122

Entretanto:

Contradição!!!

121 kkk

72

}0:{ ncbaL nnn

Caso 4:

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

Possibilidade 3:contém apenascontém evy

ab

mmm cbawuvxyzw mvxy || 1|| vy

a

73

}0:{ ncbaL nnn

Caso 4:Possibilidade 3:

mmm cbawuvxyzw mvxy || 1|| vy

Análise similar à da Possibilidade 2

contém apenascontém evy

aba

74

}0:{ ncbaL nnn

Caso 5: vxysobrepõe e mb

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

mc

mmm cbawuvxyzw mvxy || 1|| vy

75

}0:{ ncbaL nnn

Caso 5:

mmm cbawuvxyzw mvxy || 1|| vy

Análise similar à do caso 4

ccccccbbbbbbaaaaaa .........

vxy

m m m

u z

76

Não existem outros casos a considerar

(como , string não pode sobrepor , e ao mesmo tempo)

vxymvxy ||

ma mb mc

77

Em todos os casos obtibvemos contradição

Portanto:A hipótese original de que

}0:{ ncbaL nnn

é livre de contexto deve ser falsa

Conclusão: não é livre de contextoL