![Page 1: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/1.jpg)
1
Formas Normaisde
Gramáticas Livres de Contexto
![Page 2: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/2.jpg)
2
Forma Normal de Chomsky
Todas as produções têm a forma:
BCA
variável variável
aA e
terminal
![Page 3: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/3.jpg)
3
Exemplos:
bA
SAA
aS
ASS
Não Forma Normalde Chomsky
aaA
SAA
AASS
ASS
Forma Normalde Chomsky
![Page 4: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/4.jpg)
4
Conversão para Forma Normal de Chomsky
Exemplo:
AcB
aabA
ABaS
NãoForma Normalde Chomsky
![Page 5: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/5.jpg)
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: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/6.jpg)
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: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/7.jpg)
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: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/8.jpg)
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: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/9.jpg)
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: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/10.jpg)
10
O Procedimento
Primeiro remova:
Variáveis nulas
Produções Unitárias
![Page 11: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/11.jpg)
11
Para cada símbolo : a
Nas produções: substitua por a aT
Adicione a produção aTa
Nova variável: aT
![Page 12: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/12.jpg)
12
Substitua toda produção nCCCA 21
por
nnn CCV
VCV
VCA
12
221
11
Novas variáveis intermediárias:
221 ,,, nVVV
![Page 13: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/13.jpg)
13
Teorema:
Para toda gramática livre de contextoexiste uma gramática equivalentena Forma Normal de Chomsky
![Page 14: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/14.jpg)
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: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/15.jpg)
15
Forma Normal de Greinbach
Todas as produções têm a forma:
kVVVaA 21
terminal variáveis
0k
![Page 16: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/16.jpg)
16
Exemplos:
bB
bbBaAA
cABS
||
Forma Normal de Greinbach
aaS
abSbS
Não Forma Normal de Greinbach
![Page 17: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/17.jpg)
17
aaS
abSbS
Conversão para a Forma Normal de Greinbach:
bT
aT
aTS
STaTS
b
a
a
bb
Forma Normalde Greinbach
![Page 18: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/18.jpg)
18
Teorema:
Para qualquer gramática livre de contextoexiste uma gramática equivalentena Forma Normal de Greinbach
![Page 19: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/19.jpg)
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: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/20.jpg)
20
Uma Aplicação de
Forma Normal de Chomsky
![Page 21: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/21.jpg)
21
O Algoritmo CYK
Entrada:
• Gramática na Forma Normal de ChomskyG
• String
Saída:
ou não )(GLw
w
se
![Page 22: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/22.jpg)
22
Algoritmo CKY
• Gramática :G
bB
ABB
aA
BBA
ABS
• String : w aabbb
Exemplo de entrada:
![Page 23: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/23.jpg)
23
a a b b b
aa ab bb bb
aab abb bbb
aabb abbb
aabbb
aabbb
![Page 24: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/24.jpg)
24
aA
aA
bB
bB
bB
aa ab bb bb
aab abb bbb
aabb abbb
aabbb
bB
ABB
aA
BBA
ABS
![Page 25: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/25.jpg)
25
aA
aA
bB
bB
bB
aa abS,B
bbA
bbA
aab abb bbb
aabb abbb
aabbb
bB
ABB
aA
BBA
ABS
![Page 26: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/26.jpg)
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: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/27.jpg)
27
Portanto: )(GLaabbb
Complexidade deTempo :3||w
O algoritmo CYK pode ser facilmente convertido em um parser
Observação:
![Page 28: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/28.jpg)
28
Autômatos de PilhaPDAs
![Page 29: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/29.jpg)
29
Autômato de Pilha -- PDA
String de entrada
Pilha
Estados
![Page 30: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/30.jpg)
30
Símbolo Marcador de Fundo de Pilha
Pilha Pilha
fundo de pilhasímbolo especial
![Page 31: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/31.jpg)
31
Os Estates
Símbolona entrada
Símbolodesempilhado
Símboloempilhado
![Page 32: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/32.jpg)
32
topo
entrada
pilha
Substitua
$ $
c
![Page 33: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/33.jpg)
33
Push
$ $
c
topo
entrada
pilha
![Page 34: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/34.jpg)
34
Pop
$ $
topo
entrada
pilha
![Page 35: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/35.jpg)
35
Não Muda
$ $
btopo
entrada
pilha
![Page 36: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/36.jpg)
36
Não Determinismo
![Page 37: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/37.jpg)
37
NPDA: PDA Não Determinista
Exemplo:
![Page 38: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/38.jpg)
38
0q
Exemplo de Execução:
Entrada
estadocorrente
Instante 0
Pilha
![Page 39: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/39.jpg)
39
Entrada
Instante 1
Pilha
![Page 40: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/40.jpg)
40
Entrada
Pilha
Instante 2
![Page 41: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/41.jpg)
41
Input
Pilha
Instante 3
![Page 42: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/42.jpg)
42
Entrada
Pilha
Time 4
![Page 43: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/43.jpg)
43
Entrada
Pilha
Instante 5
![Page 44: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/44.jpg)
44
Entrada
Pilha
Instante 6
![Page 45: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/45.jpg)
45
Entrada
Pilha
Instante 7
![Page 46: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/46.jpg)
46
Entrada
Instante 8
aceita
Pilha
![Page 47: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/47.jpg)
47
Um string é aceito se:
• Toda a entrada é consumida
• O último estado é um estado final
A pilha está vazia no final
![Page 48: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/48.jpg)
48
O string de entradaé aceito pelo NPDA:
aaabbb
![Page 49: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/49.jpg)
49
}0:{ nbaL nn
é a linguagem aceita pelo NPDA:
Em geral,
![Page 50: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/50.jpg)
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, com a pilha vazia.
• Assim, todo autômato começa emplilhando o marcador de fundo de pilha e toda transição que leva a um estado final desempliha esse marcador de fundo de pilha.
• Para simplificar, daqui em diante vamos supor que a pilha já começa tendo o marcador no fundo e que um string é aceito se a computação termina em um estado final, tendo a pilha apenas este marcador.
![Page 51: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/51.jpg)
51
Outro Exemplo de NPDA
bb
aa
,
,
bb
aa
,
,
NPDA M
}{)( RwwML
![Page 52: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/52.jpg)
52
Exemplo de Execução:
Entrada
Instante 0
Pilha
bb
aa
,
,
bb
aa
,
,
![Page 53: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/53.jpg)
53
Entrada
Instante 1
Pilha
bb
aa
,
,
bb
aa
,
,
![Page 54: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/54.jpg)
54
Entrada
Instante 2
Pilha
bb
aa
,
,
bb
aa
,
,
![Page 55: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/55.jpg)
55
Entrada
Instante 3
Pilha
bb
aa
,
,
bb
aa
,
,
![Page 56: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/56.jpg)
56
Entrada
Instante 4
Stack
bb
aa
,
,
bb
aa
,
,
![Page 57: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/57.jpg)
57
Entrada
Instante 5
Pilha
1q
bb
aa
,
,
bb
aa
,
,
![Page 58: 1 Formas Normais de Gramáticas Livres de Contexto](https://reader036.vdocuments.site/reader036/viewer/2022062404/552fc16f497959413d8ed909/html5/thumbnails/58.jpg)
58
Entrada
Instante 6
Pilha
bb
aa
,
,
bb
aa
,
,
aceita