Escolar Documentos
Profissional Documentos
Cultura Documentos
28 de junho de 2010
marcus.ramos@univasf.edu.br
www.univasf.edu.br/~marcus.ramos
LFA 2010-1
28 de junho de 2010
1 / 61
Bibliografia
LFA 2010-1
28 de junho de 2010
2 / 61
Roteiro
LSCs e LLLCs
LFA 2010-1
28 de junho de 2010
3 / 61
Definio
V NV
V
| | > | |
LFA 2010-1
28 de junho de 2010
4 / 61
LFA 2010-1
28 de junho de 2010
5 / 61
Exemplo
Exemplo 1.1
Seja a gramtica G1 = ({a, b, c, S, B, C}, {a, b, c}, P, S), com
P
= {S aSBC,
S aBC,
CB BC,
aB ab,
bB bb,
bC bc,
cC cc}
LFA 2010-1
28 de junho de 2010
6 / 61
Exemplo
Algumas derivaes possveis so:
I
aaabbbccC aaabbbccc.
fcil demonstrar que L(G1 ) = {an bn cn | n > 1}. tambm possvel demonstrar,
pela aplicao do Pumping Lemma para linguagens livres de contexto, que L(G1 )
no uma linguagem livre de contexto. Logo, no existe qualquer gramtica livre de
contexto que seja capaz de gerar L(G1 ), e portanto L uma linguagem estritamente
sensvel ao contexto.
Marcus Ramos (UNIVASF)
LFA 2010-1
28 de junho de 2010
7 / 61
Exemplo
Exemplo 1.2
Considere-se a gramtica G2 = ({a, b, c, S, A, B, C}, {a, b, c}, P, S), com
P
= {S ABC,
S ABCS,
AB BA,
AC CA,
BA AB,
BC CB,
CA AC,
CB BC,
A a,
B b,
C c}
LFA 2010-1
28 de junho de 2010
8 / 61
Exemplo
LFA 2010-1
28 de junho de 2010
9 / 61
Exemplo
LFA 2010-1
28 de junho de 2010
10 / 61
LFA 2010-1
28 de junho de 2010
11 / 61
LFA 2010-1
28 de junho de 2010
12 / 61
LFA 2010-1
28 de junho de 2010
13 / 61
L(G) = L(G0 ).
LFA 2010-1
28 de junho de 2010
14 / 61
LFA 2010-1
28 de junho de 2010
15 / 61
LFA 2010-1
28 de junho de 2010
16 / 61
Exemplo
Exemplo 1.3
{Programa Declaracoes Comandos,
Declaracoes Declaracoes Declaracao
| ,
Declaracao %Identificador,
Comandos Comandos Comando
| ,
Comando #Identificador = Expressao,
Expressao Expressao + Expressao
| Expressao Expressao
| Identificador,
Identificador a | b | c}
Marcus Ramos (UNIVASF)
LFA 2010-1
28 de junho de 2010
17 / 61
Exemplo
LFA 2010-1
28 de junho de 2010
18 / 61
Exemplo
LFA 2010-1
28 de junho de 2010
19 / 61
LFA 2010-1
28 de junho de 2010
20 / 61
Explicitando o contexto
A
com A N, V + e , V .
Demonstra-se que toda e qualquer gramtica do tipo 1 pode ser
convertida para uma nova gramtica em que todas as produes
obedecem ao formato acima apresentado, exceto, naturalmente, a
produo S , caso a cadeia vazia faa parte da linguagem.
LFA 2010-1
28 de junho de 2010
21 / 61
Explicitando o contexto
LFA 2010-1
28 de junho de 2010
22 / 61
Explicitando o contexto
Deve-se, por outro lado, perceber que uma condio deste tipo nunca
ocorre com as gramticas do tipo 2, nas quais qualquer substituio
de um smbolo no-terminal ocorre sempre de forma independente do
contexto em que tal no-terminal encontrado, motivando dessa
maneira o emprego do nome livre de contexto para designar tais
gramticas.
LFA 2010-1
28 de junho de 2010
23 / 61
N e ;
N e N;
N e NN;
NN e NN;
LFA 2010-1
28 de junho de 2010
24 / 61
Caractersticas
Uma Mquina de Turing com fita limitada um dispositivo
no-determinstico de reconhecimento de cadeias que possui algumas
importantes extenses em relao aos autmatos finitos ou aos
autmatos de pilha. As mais importantes so:
1
LFA 2010-1
28 de junho de 2010
25 / 61
Formalizao
LFA 2010-1
28 de junho de 2010
26 / 61
Formalizao
I
I
Q 2Q{E,D}
Q {<} 2Q{<}{D}
Q {>} 2Q{>}{E}
q0 o estado inicial, q0 Q;
<, >
/ so smbolos respectivamente situados imediatamente
esquerda e imediatamente direita da cadeia de entrada na
configurao inicial;
F Q o conjunto de estados finais.
LFA 2010-1
28 de junho de 2010
27 / 61
Transio
LFA 2010-1
28 de junho de 2010
28 / 61
Configurao
LFA 2010-1
28 de junho de 2010
29 / 61
Configurao inicial
LFA 2010-1
28 de junho de 2010
30 / 61
Movimentao
O smbolo ` denota uma relao sobre as configuraes de uma
Mquina de Turing com fita limitada:
`: {<} Q {>} {<} Q {>}
Portanto, a movimentao de uma configurao ( , qk , ) para a
configurao seguinte ( 0 , qm , 0 ) representada como:
( , qk , ) ` ( 0 , qm , 0 )
As transies contidas na funo especificam possibilidades de
movimentao, que conduzem o dispositivo de cada possvel
configurao para a correspondente configurao seguinte. Diz-se
que o dispositivo pra quando a funo no estiver definida para o
par (estado, smbolo de entrada) corrente.
Marcus Ramos (UNIVASF)
LFA 2010-1
28 de junho de 2010
31 / 61
Linguagem aceita
LFA 2010-1
28 de junho de 2010
32 / 61
Configurao final
LFA 2010-1
28 de junho de 2010
33 / 61
Exemplo
Exemplo 3.1
A Mquina de Turing com fita limitada M = (Q, , , , q0 , <, >, F) mostrada na
Figura 1 aceita a linguagem a b .
Q
{q0 , q1 , q2 }
{a, b}
= {a, b}
= {(q0 , a) (q0 , a, D), (q0 , b) (q1 , b, D), (q0 , >) (q2 , >, E),
(q1 , b) (q1 , b, D), (q1 , >) (q1 , >, E)}
F = {q2 }
LFA 2010-1
28 de junho de 2010
34 / 61
Exemplo
q2
> /(>, E)
> /(>, E)
b/(b, D)
q0
q1
a/(a, D)
b/(b, D)
LFA 2010-1
28 de junho de 2010
35 / 61
Exemplo
LFA 2010-1
28 de junho de 2010
36 / 61
Exemplo
Exemplo 3.2
A Mquina de Turing com fita limitada M = (Q, , , , q0 , <, >, F) da Figura 2
aceita a linguagem {an bn | n > 1}.
Q
= {q0 , q1 , q2 , q3 , q4 , q5 }
= {a, b}
= {a, b, X, Y}
LFA 2010-1
28 de junho de 2010
37 / 61
Exemplo
Y /(Y, D)
q3
> /(>, E)
q4
b/(b, D)
Y /(Y, D)
q5
> /(>, E)
a/(a, D)
b/(b, D)
a/(a, E)
a/(X, D)
q0
b/(Y, E)
q1
q2
Y /(Y, E)
Y /(Y, D)
X/(X, D)
Figura 2: Mquina de Turing com fita limitada que aceita {an bn | n > 1}
LFA 2010-1
28 de junho de 2010
38 / 61
Exemplo
Seu funcionamento intuitivo e reflete a aplicao do seguinte algoritmo:
1
LFA 2010-1
28 de junho de 2010
39 / 61
Exemplo
A seguir, confere-se a operao de M com algumas cadeias:
I
LFA 2010-1
28 de junho de 2010
40 / 61
Exemplo
Neste exemplo, a Mquina de Turing com fita limitada est sendo utilizada para
reconhecer uma linguagem livre de contexto, e tal fato sugere que esse tipo de
dispositivo possa ser empregado tambm no reconhecimento desta categoria de
linguagens, em substituio aos autmatos de pilha.
Alm de necessitar da movimentao do cursor em ambos os sentidos, neste exemplo
a substituio (gravao) de um smbolo do alfabeto de entrada por smbolos que no
fazem parte deste alfabeto (no caso, a por X e b por Y) essencial para o seu
correto funcionamento.
LFA 2010-1
28 de junho de 2010
41 / 61
Exemplo
Exemplo 3.3
A Mquina de Turing com fita limitada da Figura 3 reconhece a linguagem
{wcw | w {a, b} } sobre o alfabeto {a, b, c}.
X/(X, D)
q7
> /(>, E)
q8
c/(c, D)
a/(a, D)
a/(X, D)
q0
X/(X, D)
c/(c, D)
X/(X, E)
a/(X, E)
q1
q2
b/(b, D)
a/(a, D)
X/(X, D)
X/(X, D)
c/(c, E)
q3
q4
b/(X, D)
b/(X, E)
c/(c, D)
q5
q6
b/(b, D)
Figura 3: Mquina de Turing com fita limitada que aceita {wcw | w {a, b}}
Marcus Ramos (UNIVASF)
LFA 2010-1
28 de junho de 2010
42 / 61
Exemplo
LFA 2010-1
28 de junho de 2010
43 / 61
Exemplo
I
LFA 2010-1
28 de junho de 2010
44 / 61
Exemplo
LFA 2010-1
28 de junho de 2010
45 / 61
LFA 2010-1
28 de junho de 2010
46 / 61
LFA 2010-1
28 de junho de 2010
47 / 61
LSCs e LLLCs
LFA 2010-1
28 de junho de 2010
48 / 61
LSCs e LLLCs
Exemplo
Exemplo 5.1
Seja G1 = ({a, b, S}, {S}, {S aSb | ab}, S), com L1 (G1 ) = {an bn , n > 1}. Como
LFA 2010-1
28 de junho de 2010
49 / 61
LSCs e LLLCs
Exemplo
Exemplo 5.2
Seja G2 = ({a, b, S}, {S}, {S aSb | }, S), com L2 (G2 ) = {an bn , n > 0}. Como G2
contm a regra S , isso implica que G2 , apesar de ser uma gramtica livre de
contexto, no uma gramtica sensvel ao contexto. Por outro lado, L2 { }
gerada pela gramtica G02 = ({a, b, S}, {S}, {S aSb | ab}, S), que livre de contexto
e tambm sensvel ao contexto. Logo, L2 uma linguagem sensvel ao contexto.
LFA 2010-1
28 de junho de 2010
50 / 61
LSCs e LLLCs
Exemplo
Exemplo 5.3
Seja G3 = ({a, b, S, X}, {S, X}, {S aSb | aXb, X ab | }, S), com
L3 (G3 ) = {anbn , n > 1}. Como G3 contm a regra X , isso implica que G3 ,
apesar de ser uma gramtica livre de contexto, no uma gramtica sensvel ao
contexto. No obstante, L3 gerada tambm pela gramtica
G03 = ({a, b, S}, {S}, {S aSb | ab}, S), isenta de regras vazias, que livre de
contexto e tambm sensvel ao contexto. Logo, L3 uma linguagem sensvel ao
contexto.
LFA 2010-1
28 de junho de 2010
51 / 61
LSCs e LLLCs
Exemplo
Exemplo 5.4
Seja G4 = ({a, b, S, X}, {S, X}, {S aSb | X, X ab | }, S), com
L4 (G4 ) = {anbn , n > 0}. Como G4 contm a regra X , isso implica que G4 no
uma gramtica sensvel ao contexto. No obstante, a regra X pode ser eliminada,
dando origem gramtica G04 = ({a, b, S, X}, {S, X}, {S aSb | X | , X ab}, S),
em que a nica regra vazia S . Finalmente, L4 { } gerada pela gramtica
G04 = ({a, b, S, X}, {S, X}, {S aSb | X, X ab}, S), que simultaneamente livre de
contexto e sensvel ao contexto. Logo, L4 uma linguagem sensvel ao contexto.
LFA 2010-1
28 de junho de 2010
52 / 61
LSCs e LLLCs
LFA 2010-1
28 de junho de 2010
53 / 61
LFA 2010-1
28 de junho de 2010
54 / 61
LFA 2010-1
28 de junho de 2010
55 / 61
LFA 2010-1
28 de junho de 2010
56 / 61
LFA 2010-1
28 de junho de 2010
57 / 61
LFA 2010-1
28 de junho de 2010
58 / 61
LFA 2010-1
28 de junho de 2010
59 / 61
G1
G2
G3
...
Gn
...
l
...
...
LFA 2010-1
28 de junho de 2010
60 / 61
LFA 2010-1
28 de junho de 2010
61 / 61