Top Banner
1 Formas Normais de Gramáticas Livres de Contexto
58

Formas Normais de Gramáticas Livres de Contexto

Jan 02, 2016

Download

Documents

Formas Normais de Gramáticas Livres de Contexto. Forma Normal de Chomsky. Todas as produções têm a forma:. e. variável. variável. terminal. Exemplos :. Forma Normal de Chomsky. Não Forma Normal de Chomsky. Conversão para Forma Normal de Chomsky. Exemplo :. Não Forma Normal - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Formas Normais de Gramáticas Livres de Contexto

1

Formas Normaisde

Gramáticas Livres de Contexto

Page 2: Formas Normais de Gramáticas Livres de Contexto

2

Forma Normal de Chomsky

Todas as produções têm a forma:

BCA

variável variável

aA e

terminal

Page 3: Formas Normais de Gramáticas Livres de Contexto

3

Exemplos:

bA

SAA

aS

ASS

Não Forma Normalde Chomsky

aaA

SAA

AASS

ASS

Forma Normalde Chomsky

Page 4: Formas Normais de Gramáticas Livres de Contexto

4

Conversão para Forma Normal de Chomsky

Exemplo:

AcB

aabA

ABaS

NãoForma Normalde Chomsky

Page 5: Formas Normais de Gramáticas Livres de Contexto

5

AcB

aabA

ABaS

Introduza variáveis para terminais:

cT

bT

aT

ATB

TTTA

ABTS

c

b

a

c

baa

a

cba TTT ,,

Page 6: Formas Normais de Gramáticas Livres de Contexto

6

Introduza variável intermediária:

cT

bT

aT

ATB

TTTA

ABTS

c

b

a

c

baa

a

cT

bT

aT

ATB

TTTA

BTV

AVS

c

b

a

c

baa

a

1

1

1V

Page 7: Formas Normais de Gramáticas Livres de Contexto

7

Introduza variável intermediária:

cT

bT

aT

ATB

TTV

VTA

BTV

AVS

c

b

a

c

ba

a

a

2

2

1

1

2V

cT

bT

aT

ATB

TTTA

BTV

AVS

c

b

a

c

baa

a

1

1

Page 8: Formas Normais de Gramáticas Livres de Contexto

8

Gramática Final na Forma Normal de Chomsky:

cT

bT

aT

ATB

TTV

VTA

BTV

AVS

c

b

a

c

ba

a

a

2

2

1

1

AcB

aabA

ABaS

Gramática inicial

Page 9: Formas Normais de Gramáticas Livres de Contexto

9

De qualquer gramática livre de contextoque não esteja na Forma Normal de Chomsky

podemos obter: Uma gramática equivalente na Forma Normal de Chomsky

Em geral:

Page 10: Formas Normais de Gramáticas Livres de Contexto

10

O Procedimento

Primeiro remova:

Variáveis nulas

Produções Unitárias

Variáveis inatingíveis

Page 11: Formas Normais de Gramáticas Livres de Contexto

11

Para cada símbolo : a

Nas produções: substitua por a aT

Adicione a produção aTa

Nova variável: aT

Page 12: Formas Normais de Gramáticas Livres de Contexto

12

Substitua toda produção nCCCA 21

por

nnn CCV

VCV

VCA

12

221

11

Novas variáveis intermediárias:

221 ,,, nVVV

Page 13: Formas Normais de Gramáticas Livres de Contexto

13

Teorema:

Para toda gramática livre de contextoexiste uma gramática equivalentena Forma Normal de Chomsky

Page 14: Formas Normais de Gramáticas Livres de Contexto

14

Observações

• Formas normais de Chomsky são boas para parsing e para a prova de teoremas

• É muito fácil encontrar a Forma Normal de Chomsky para qualquer gramática livre de contexto

Page 15: Formas Normais de Gramáticas Livres de Contexto

15

Forma Normal de Greinbach

Todas as produções têm a forma:

kVVVaA 21

terminal variáveis

0k

Page 16: Formas Normais de Gramáticas Livres de Contexto

16

Exemplos:

bB

bbBaAA

cABS

||

Forma Normal de Greinbach

aaS

abSbS

Não Forma Normal de Greinbach

Page 17: Formas Normais de Gramáticas Livres de Contexto

17

aaS

abSbS

Conversão para a Forma Normal de Greinbach:

bT

aT

aTS

STaTS

b

a

a

bb

Forma Normalde Greinbach

Page 18: Formas Normais de Gramáticas Livres de Contexto

18

Teorema:

Para qualquer gramática livre de contextoexiste uma gramática equivalentena Forma Normal de Greinbach

Page 19: Formas Normais de Gramáticas Livres de Contexto

19

Observações

• Formas normais de Greinbach são muito boas para parsing

• É difícil obter a Forma Normal de Greinbach para qualquer gramática livre de contexto

Page 20: Formas Normais de Gramáticas Livres de Contexto

20

Uma Aplicação de

Forma Normal de Chomsky

Page 21: Formas Normais de Gramáticas Livres de Contexto

21

O Algoritmo CYK

Entrada:

• Gramática na Forma Normal de ChomskyG

• String

Saída:

ou não )(GLw

w

se

Page 22: Formas Normais de Gramáticas Livres de Contexto

22

Algoritmo CKY

• Gramática :G

bB

ABB

aA

BBA

ABS

• String : w aabbb

Exemplo de entrada:

Page 23: Formas Normais de Gramáticas Livres de Contexto

23

a a b b b

aa ab bb bb

aab abb bbb

aabb abbb

aabbb

aabbb

Page 24: Formas Normais de Gramáticas Livres de Contexto

24

aA

aA

bB

bB

bB

aa ab bb bb

aab abb bbb

aabb abbb

aabbb

bB

ABB

aA

BBA

ABS

Page 25: Formas Normais de Gramáticas Livres de Contexto

25

aA

aA

bB

bB

bB

aa abS,B

bbA

bbA

aab abb bbb

aabb abbb

aabbb

bB

ABB

aA

BBA

ABS

Page 26: Formas Normais de Gramáticas Livres de Contexto

26

aA

aA

bB

bB

bB

aa abS,B

bbA

bbA

aabS,B

abbA

bbbS,B

aabbA

abbbS,B

aabbbS,B

bB

ABB

aA

BBA

ABS

Page 27: Formas Normais de Gramáticas Livres de Contexto

27

Portanto: )(GLaabbb

Complexidade deTempo :3||w

O algoritmo CYK pode ser facilmente convertido em um parser

Observação:

Page 28: Formas Normais de Gramáticas Livres de Contexto

28

Autômatos de PilhaPDAs

Page 29: Formas Normais de Gramáticas Livres de Contexto

29

Autômato de Pilha -- PDA

String de entrada

Pilha

Estados

Page 30: Formas Normais de Gramáticas Livres de Contexto

30

Símbolo Marcador de Fundo de Pilha

Pilha Pilha

fundo de pilhasímbolo especial

Page 31: Formas Normais de Gramáticas Livres de Contexto

31

Os Estados

Símbolona entrada

Símbolodesempilhado

Símboloempilhado

Page 32: Formas Normais de Gramáticas Livres de Contexto

32

topo

entrada

pilha

Substitua

$ $

c

Page 33: Formas Normais de Gramáticas Livres de Contexto

33

Push

$ $

c

topo

entrada

pilha

Page 34: Formas Normais de Gramáticas Livres de Contexto

34

Pop

$ $

topo

entrada

pilha

Page 35: Formas Normais de Gramáticas Livres de Contexto

35

Não Muda

$ $

btopo

entrada

pilha

Page 36: Formas Normais de Gramáticas Livres de Contexto

36

Não Determinismo

Page 37: Formas Normais de Gramáticas Livres de Contexto

37

NPDA: PDA Não Determinista

Exemplo:

Page 38: Formas Normais de Gramáticas Livres de Contexto

38

0q

Exemplo de Execução:

Entrada

estadocorrente

Instante 0

Pilha

Page 39: Formas Normais de Gramáticas Livres de Contexto

39

Entrada

Instante 1

Pilha

Page 40: Formas Normais de Gramáticas Livres de Contexto

40

Entrada

Pilha

Instante 2

Page 41: Formas Normais de Gramáticas Livres de Contexto

41

Input

Pilha

Instante 3

Page 42: Formas Normais de Gramáticas Livres de Contexto

42

Entrada

Pilha

Time 4

Page 43: Formas Normais de Gramáticas Livres de Contexto

43

Entrada

Pilha

Instante 5

Page 44: Formas Normais de Gramáticas Livres de Contexto

44

Entrada

Pilha

Instante 6

Page 45: Formas Normais de Gramáticas Livres de Contexto

45

Entrada

Pilha

Instante 7

Page 46: Formas Normais de Gramáticas Livres de Contexto

46

Entrada

Instante 8

aceita

Pilha

Page 47: Formas Normais de Gramáticas Livres de Contexto

47

Um string é aceito se:

• Toda a entrada é consumida

• O último estado é um estado final

Neste exemplo, a pilha está vazia no final.

Page 48: Formas Normais de Gramáticas Livres de Contexto

48

O string de entradaé aceito pelo NPDA:

aaabbb

Page 49: Formas Normais de Gramáticas Livres de Contexto

49

}0:{ nbaL nn

é a linguagem aceita pelo NPDA:

Em geral,

Page 50: Formas Normais de Gramáticas Livres de Contexto

50

Autômato de Pilha - convenções

• Adotamos a convenção de que um autômato de pilha M aceita um string w se algum caminho de computação de w em M, iniciando no estado inicial, com a pilha vazia, termina em um estado final (possivelmente com a pilha vazia).

• Todo autômato começa com a pilha contendo apenas o marcador de fundo de pilha. Se toda transição que leva a um estado final desempilha esse marcador, garante-se que a computação termina c/ pilha vazia.

Page 51: Formas Normais de Gramáticas Livres de Contexto

51

Outro Exemplo de NPDA

bb

aa

,

,

bb

aa

,

,

NPDA M

}{)( RwwML

Page 52: Formas Normais de Gramáticas Livres de Contexto

52

Exemplo de Execução:

Entrada

Instante 0

Pilha

bb

aa

,

,

bb

aa

,

,

Page 53: Formas Normais de Gramáticas Livres de Contexto

53

Entrada

Instante 1

Pilha

bb

aa

,

,

bb

aa

,

,

Page 54: Formas Normais de Gramáticas Livres de Contexto

54

Entrada

Instante 2

Pilha

bb

aa

,

,

bb

aa

,

,

Page 55: Formas Normais de Gramáticas Livres de Contexto

55

Entrada

Instante 3

Pilha

bb

aa

,

,

bb

aa

,

,

Page 56: Formas Normais de Gramáticas Livres de Contexto

56

Entrada

Instante 4

Stack

bb

aa

,

,

bb

aa

,

,

Page 57: Formas Normais de Gramáticas Livres de Contexto

57

Entrada

Instante 5

Pilha

1q

bb

aa

,

,

bb

aa

,

,

Page 58: Formas Normais de Gramáticas Livres de Contexto

58

Entrada

Instante 6

Pilha

bb

aa

,

,

bb

aa

,

,

aceita