1 aplicações do fecho regular. 2 a interseção de uma linguagem livre de contexto e uma linguagem...
Post on 21-Apr-2015
114 Views
Preview:
TRANSCRIPT
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
top related