Slides Complementares - DI PUC-Rio

Propaganda
INF1626 Linguagens Formais e Autômatos (2013-2)
Informática
PUC-Rio
Linguagens Formais e Autômatos (LFA)
Complemento da
Aula de 21/08/2013
Gramáticas, Seus Tipos, Algumas
Propriedades e a Hierarquia de Chomsky
©Clarisse S. de Souza, 2013
1
INF1626 Linguagens Formais e Autômatos (2013-2)
Informática
PUC-Rio
Dica para responder “Perguntas” finais da aula
©Clarisse S. de Souza, 2013
2
INF1626 Linguagens Formais e Autômatos (2013-2)
Informática
PUC-Rio
Começando pela pista da própria pergunta:
Que tipo de linguagem
a gramática G, abaixo,
define:
G : V = {a,b,c,S,B,C}
S é o símbolo raiz
 = {a,b,c}
Produções =
{
S  aSBC
(1)
S  abC
(2)
CB  BC
(3)
bB  bb
(4)
bC  bc
(5)
cC  cc
(6)
}
©Clarisse S. de Souza, 2013
Criando derivações, a começar por
“S”, símbolo inicial, obtemos por
aplicação das regras de reescritura,
cadeias como por exemplo (mas não
somente) esta aqui:
S => aSBC
(1)
Crie
=> aaSBCBC
(1)
outras e
=> aaabCBCBC
(2)
veja o
=> aaabBCCBC
(3)
padrão
=> aaabBCBCC
(3)
das
=> aaabBBCCC
(4)
cadeias.
=> aaabbBCCC
(4)
(5)
=> aaabbbCCC
=> aaabbbcCC
(6)
(6)
=> aaabbbccC
=> aaabbbccc
!
3
INF1626 Linguagens Formais e Autômatos (2013-2)
Informática
PUC-Rio
As regras apontam para uma ‘troca’
CB  BC
O que isto significa estruturalmente?
Lembrando: a gramática G tem o perfil de uma gramática “sensível a
contexto”. Ou seja, uma gramática em que a reescrita (derivação) de
uma estrutura (intermediária ou final) “depende do
Este já
contexto em que o nó sendo reescrito aparece”.
é um ponto importante
CB  BC pode significar, estruturalmente, duas coisas
para responder a
1. “C diante de B se reescreve como C depois de B” ou
pergunta do exercício.
2. “B depois de C se reescreve como B antes de C”
Veja detalhes a
seguir.
Seja no caso 1 ou no caso 2, o que vemos é uma
“movimentação estrutural” de um ramo da derivação: ele
sai de uma posição e vai para outra. A estrutura gerada
no final do processo é bem similar a estruturas geradas
por gramáticas livres de contexto. O poder de
gramáticas sensíveis a contexto é PODEREM TRANSFORMAR a
estrutura da cadeia/sentença durante a derivação.
©Clarisse S. de Souza, 2013
4
Informática
PUC-Rio
INF1626 Linguagens Formais e Autômatos (2013-2)
Se CB  BC é regra de reescritura de “C”
A parte importante da derivação é ilustrada aqui com um tipo simples de representação
de transformação estrutural operada pela regra acima:
S
Regra (1)
a
S
Regra (2)
a
b
S
B
C
C
a
S
Regra (3)
a
b
Notem que esta derivação aplicou
sobre a cadeia “aabCBC” a regra (3)
– CBBC - ANTES QUE a regra (5)
– bC  bc – que também poderia ser
aplicada. O que aconteceria se
aplicássemos R(5) antes de R(3)?
©Clarisse S. de Souza, 2013
B
C
C
C
C saiu da árvore S aninhada
e subiu para posição adjacente
a B, diretamente abaixo do nó
raiz.
Daí em diante, a derivação
não apresenta dificuldades.
Basta aplicarem-se as regras
de derivação (4), (5) e (6).
5
Informática
PUC-Rio
INF1626 Linguagens Formais e Autômatos (2013-2)
Se CB  BC é regra de reescritura de “B”
A parte importante da derivação é ilustrada aqui com um tipo simples de representação
de transformação estrutural operada pela regra acima:
S
Regra (1)
a
S
Regra (2)
a
b
S
C
a
Regra (3)
a
B
C
Também nesta derivação foi aplicada
sobre a cadeia “aabCBC” a regra (3)
– CBBC - ANTES QUE a regra (5)
– bC  bc – que também poderia ser
aplicada.
©Clarisse S. de Souza, 2013
S
b
B
B
C
C
B saiu da posição diretamente abaixo do nó
raiz e desceu para posição adjacente a C na
árvore S aninhada.
Daí em diante, a derivação
não apresenta dificuldades.
Basta aplicarem-se as regras
de derivação (4), (5) e (6).
6
INF1626 Linguagens Formais e Autômatos (2013-2)
Informática
PUC-Rio
Atenção
As gramáticas sensíveis a contexto (GSC’s) são muito poderosas, muito
interessantes e muito complexas. Há muitos mais detalhes e
discussões sobre como elas funcionam, que tipo de estruturas são
preferenciais ou possíveis no processo de derivação, que tipos de
mecanismos de controle de derivação se podem usar, etc.
Esta não é a hora de entrar nestes detalhes.
O intuito das explicações nestes slides é apenas dar a vocês a
oportunidade de apreciarem o que estas gramáticas podem fazer
e por que são mais “potentes” do que as duas outras que estão abaixo
dela na Hierarquia de Chomsky: as gramáticas regulares (tipo 3) e as
livres de contexto (tipo 2).
Mais adiante no semestre estudaremos detalhes das CSG’s. Aguardem.
©Clarisse S. de Souza, 2013
7
INF1626 Linguagens Formais e Autômatos (2013-2)
Informática
PUC-Rio
Observação geral sobre o processo de derivação gramatical
“Em gramáticas convencionais, de qualquer tipo, a escolha da regra de produção a
ser aplicada em uma forma sentencial qualquer é resultado, única e
exclusivamente, da identificação, em, de alguma subcadeia  que coincida
com o lado esquerdo de alguma regra p  P.”
(Ramos e co-autores, 2009: p. 465)
Estas escolhas “arbitrárias” por vezes podem levar a lugar nenhum, ou seja: o processo
de derivação “trava” porque duas coisas estão acontecendo ao mesmo tempo:
1.
Não há, na cadeia de derivação corrente, nenhuma subcadeia que coincida com o
lado esquerdo de alguma regra de produção da gramática.
2. Há, na cadeia de derivação corrente, símbolos não-terminais (isto é, que não
pertencem ao alfabeto da gramática).
Quando a derivação “trava” desta forma, o processo deve retornar a um ponto de
escolha anterior e verificar se há um caminho derivacional alternativo que ainda
não foi explorado. Se houver, ele é seguido até gerar uma cadeia bem-formada ou,
talvez, até “travar” de novo. Se isto acontecer, o processo de derivação procura
um ponto de escolha anterior cujas escolhas ainda não foram esgotadas e tenta
nova alternativa. Se todas as alternativas fossem esgotadas e a cadeia corrente
ainda contivesse não-terminais, a derivação “travaria” definitivamente.
©Clarisse S. de Souza, 2013
Seria mau sinal… de quê?
8
INF1626 Linguagens Formais e Autômatos (2013-2)
Informática
PUC-Rio
Agora, tendo experimentado o que acontece na
derivação gramatical de linguagens sensíveis a
contexto, retome as perguntas da aula:
1. Que tipos de estruturas cada tipo de
gramática (3,2,1 e 0) gera?
2. Que tipos de símbolos podem ser
substituídos (em cada uma)? Por quais?
©Clarisse S. de Souza, 2013
A resposta a estas duas perguntas expressa
fundamentos importantíssimos de LFA.
Leve sua resposta para a próxima aula e
confira com o(s) professor(es) se você acertou.
9
Download