Escolar Documentos
Profissional Documentos
Cultura Documentos
Informtica PUC-Rio
Informtica PUC-Rio
H duplas com menos de 30% de grau de certeza sobre seu desempenho: sinal no muito promissor de acmulo de dvidas sobre a matria. -----------------------------------Sobre se as duplas que tm alto grau de certeza a respeito de seu desempenho esto de fato sabendo tudo ou no, vamos conferir nos prximos slides.
2
Informtica PUC-Rio
Exerccio 1
Seja o autmato A = 1. Utilizando o seguinte formalismo simplificado: A : Q = <conjunto completo de estados> I = <conjunto unitrio de estados iniciais> F = <conjunto completo de estados finais> = <alfabeto reconhecido> = tuplas de transio (qi,, qj) onde qi = estado corrente = smbolo lido pelo cabeote qj = estado-alvo da transio defina formalmente o autmato A.
Clarisse S. de Souza, 2013 3
Informtica PUC-Rio
Resposta do Exerccio 1
A: { Q = {q0, q1, q2} I = {q0} F = {q1} = {a,b} ={ (q0,a,q0), (q0,b,q1), (q1,b,q2), (q2,b,q1) } }
4
Informtica PUC-Rio
Exerccio 2 - Resposta
Seja o autmato A = 2. Que tipos de cadeias este autmato aceita? a*b(bb)* Ou seja, qualquer cadeias que resulte da concatenao de:
Zero ou mais a com Um b com Zero ou mais bb (isto , a cadeia formada pela concatenao de b com b, iterada (=repetida) zero ou mais vezes)
5
Informtica PUC-Rio
Informtica PUC-Rio
Exerccio
Seja o autmato A = 3. Utilizando tuplas (qi,,qj) para representar (estado corrente, smbolo lido, prximo estado), apresente a sequncia completa de reconhecimento para as seguintes cadeias:
ab aaaaab abbbbb b a bb
(q0,a,q0),(q0,b,q1) (q0,a,q0), (q0,a,q0), (q0,a,q0), (q0,a,q0), (q0,a,q0),(q0,b,q1) (q0,aq0),(q0,b,q1),(q1,b,q2),(q2,b,q1), (q1,b,q2),(q2,b,q1) (q0,b,q1) (q0,a,q0) -- Esta cadeia no aceita: por qu? (q0,b,q1),(q1,b,q2) -- Esta cadeia no aceita: por qu?
Informtica PUC-Rio
Exerccio
Seja o autmato A = 4. Utilizando os programas em Ruby apresentados na aula passada, implemente o reconhecedor associado a A. Basta que editem um dos arquivos Exemplo*.rb do diretrio afd. Vejam no slide seguinte o resultado no ambiente instalado no computador de um dos professores da disciplina.
Informtica PUC-Rio
Informtica PUC-Rio
Exerccio
Seja o autmato A =
5. Escreva uma gramtica regular que gere exatamente as mesmas cadeias aceitas pelo reconhecedor que voc implementou.
Lembrete - Uma gramtica regular definida por uma tupla {V,,P,S} onde: V=vocabulrio finito e no vazio com TODOS os smbolos que aparecem esquerda ou direita de regras de reescrita; o alfabeto da linguagem (isto , os smbolos terminais que podem aparecer em cadeias gramaticais da linguagem); P o conjunto de regras de reescrita; e S o smbolo raiz de todas as derivaes.
GramReg :
Informtica PUC-Rio
Informtica PUC-Rio
12
Informtica PUC-Rio
Informtica PUC-Rio
Exerccios
Sejam as gramticas G1, G2, G3, G4 e G5, cujas regras de reescrita so as seguintes:
G1 S -> a S -> aS Regular Tipo 3 G2 S -> AS bS ->Sb A -> a A -> b A -> aA Sensvel a Contexto Tipo 1 G3 S -> AS S -> b A -> a A -> aA Livre de Contexto Tipo 2 G4 S -> ASB S -> c A -> a A -> aA B -> b B -> bB Livre de Contexto Tipo 2 G5 S -> XC X -> x X -> xX xxxX -> xxXx xxC -> xxC -> C Irrestrita Tipo 0
1.
Diga que tipo de gramtica cada uma delas, segundo a Hierarquia de Chomsky.
14
Informtica PUC-Rio
Exerccios
Sejam as gramticas G1, G2, G3, G4 e G5, cujas regras de reescrita so as seguintes: G1 S -> a S -> aS G2 S -> AS bS ->Sb A -> a A -> b A -> aA G3 S -> AS S -> b A -> a A -> aA G4 S -> ASB S -> c A -> a A -> aA B -> b B -> bB G5 S -> XC X -> x X -> xX xxxX -> xxXx xxC -> xxC -> C
2.
Mostre o caminho de derivao de pelos menos duas cadeias diferentes para cada uma delas, usando a notao do slide 5.
15
Informtica PUC-Rio
Exemplos de Derivaes
Para G1: S -> a S -> aS -> aaS -> aaa G1 S -> a S -> aS
Para G2: S -> AS -> aS -> aAS -> abS -> aSb -> aASb -> aaSb -> Temos um problema com esta gramtica; o processo de derivao no para. Podem tentar vrios caminhos alternativos, todos levaro a pontos da derivao - aS ou bS-> Sb - que j foram visitados e de onde no se consegue sair. um ciclo pernicioso que mostra que esta gramtica est mal-formada. Mais adiante na matria procuraremos caracterizar formalmente o sinal da m-formao desta gramtica.
Clarisse S. de Souza, 2013
16
Informtica PUC-Rio
Exemplos de Derivaes
Para G3: S -> AS -> aAS -> aaAS -> aaaS -> aaab S -> AS -> aAS -> aaAS -> aaaS -> aaaAS -> aaaaS -> aaaab
Para G4: S -> ASB -> aASB -> aaSB -> aacB -> aacbB -> aacbbB -> aacbbbB -> aacbbbb G4 S -> ASB -> aASB -> aaASB -> aaaASB -> aaaaSB -> aaaacB -> aaaacbB -> aaaacbbB -> aaaacbbbB -> aaaacbbbb S -> ASB S -> c A -> a A -> aA B -> b B -> bB
Clarisse S. de Souza, 2013 17
Informtica PUC-Rio
G5 S -> XC X -> x X -> xX xxxX -> xxXx xxC -> xxC -> C
-> XC -> xC -- parou a derivao aqui! -> XC -> xXC -> xxC -> -> XC -> xXC -> xxC -> C -- parou a derivao aqui! -> XC -> xXC -> xxXC -> xxxC -> x -> XC -> xXC -> xxXC -> xxxXC -> xxXxC -> xxxxC -> xx -> XC -> xXC -> xxXC -> xxxXC -> xxXxC -> xxxXxC -> xxXxxC -> xxX (Ufa!) -> xxxxxxxxxxxxx S -> XC -> xXC -> xxXC -> xxxXC -> xxXxC -> xxxXxC -> xxXxxC -> xxXC(Oh, no!)<complete uma derivao voc mesmo>
18
Informtica PUC-Rio
Video S-aS.mp4
Video S-aS-derivacao.mp4
Clarisse S. de Souza, 2013 19
Informtica PUC-Rio
Vejam como a mesma cadeia aceita por 3 parsers (analisadores sintticos) diferentes, que geram 3 rvores diferentes!
Video S-aS-parsers.mp4
Clarisse S. de Souza, 2013 20