Você está na página 1de 20

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Linguagens Formais e Autmatos (LFA)

Aula de 28/08/2013 Sobre as respostas das duplas aos exerccios propostos


Clarisse S. de Souza, 2013 1

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Fatos extrados dos scores das duplas


Tempo mdio de resposta - A srie inteira de exerccio, conforme informado pelas duplas, foi resolvida em 31:28 minutos em mdia. - O percentual mdio de confiana das duplas nas respostas dadas (opo completo e correto) foi de 62%,
Clarisse S. de Souza, 2013

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

INF1626 Linguagens Formais e Autmatos (2013-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

INF1626 Linguagens Formais e Autmatos (2013-2)

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

Clarisse S. de Souza, 2013

INF1626 Linguagens Formais e Autmatos (2013-2)

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

Clarisse S. de Souza, 2013

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Comentrio sobre a resposta do exerccio 2


Algumas duplas responderam algo assim: Cadeias formadas por zero a infinitos a seguidos de 1 a infinitos b, sendo que o nmero de b tem de ser mpar. verdade. Este o tipo de cadeia formada. Mas, como estamos aprendendo a formalizar linguagens, a resposta destas duplas ainda informal (embora no esteja errada). Para dar uma resposta formal e correta, vamos utilizar os conceitos e as operaes aprendidas na Aula 3 (slides de 8 em diante, sobretudo). o que veem na resposta apresentada no slide anterior: a*b(bb)* .
Clarisse S. de Souza, 2013 6

INF1626 Linguagens Formais e Autmatos (2013-2)

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?

Clarisse S. de Souza, 2013

INF1626 Linguagens Formais e Autmatos (2013-2)

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.

Clarisse S. de Souza, 2013

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Clarisse S. de Souza, 2013

INF1626 Linguagens Formais e Autmatos (2013-2)

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 :

V = {a,b,A,B,C,D,S} ; = {a,b} ; S; P={ Sb S bC S aA A aA A b A bC C bD Db D bC }


10

Clarisse S. de Souza, 2013

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Como conferir se uma gramtica proposta est certa?


JFLAP 1. Clique em Grammar 2. Na janela nova, transcreva a sua gramtica candidata 3. Teste se a sua gramtica regular (menu Test) 4. Se for, a mensagem diz entre parnteses (Regular Grammar and Context Free Grammar); prossiga. [Continua no prximo slide]
Clarisse S. de Souza, 2013 11

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Como conferir se uma gramtica proposta est certa?


[Continuao] 5. Crie uma massa de testes, com cadeias que voc sabe que devem ser aceitas e que devem ser rejeitadas. 6. Verifique o que acontece quando sua massa de testes processada:
Clique em Input e selecione Multiple CYK Parse Quando a nova janela abrir, fornea sua massa de teste e Clique em Run Inputs Se sua gramtica for equivalente ao reconhecedor associado ao autmato A, ento ela dever: -- gerar corretamente (e fazer um parse bem sucedido) de cadeias a*b(bb)* [accept] -- no gerar cadeias cuja forma no seja w = a*b(bb)* Para testar a cadeia vazia, cliquem em Enter lambda.

Clarisse S. de Souza, 2013

12

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Resultado da Gramtica Proposta


Este o exerccio mais difcil da srie. s para testar as intuies de vocs. Estudaremos algoritmos de converso entre Gramticas e Autmatos no prximo captulo da matria.
Clarisse S. de Souza, 2013 13

INF1626 Linguagens Formais e Autmatos (2013-2)

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.

Clarisse S. de Souza, 2013

14

INF1626 Linguagens Formais e Autmatos (2013-2)

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

Clarisse S. de Souza, 2013

INF1626 Linguagens Formais e Autmatos (2013-2)

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

G2 S -> AS bS ->Sb A -> a A -> b A -> aA

16

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Exemplos de Derivaes
Para G3: S -> AS -> aAS -> aaAS -> aaaS -> aaab S -> AS -> aAS -> aaAS -> aaaS -> aaaAS -> aaaaS -> aaaab

G3 S -> AS S -> b A -> a A -> aA

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

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Algumas Derivaes para G5


S S S S S S

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>

Clarisse S. de Souza, 2013

18

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Explorando o JFLAP na derivao gramatical


Veja o vdeo de demonstrao online.

Video S-aS.mp4

Video S-aS-derivacao.mp4
Clarisse S. de Souza, 2013 19

INF1626 Linguagens Formais e Autmatos (2013-2)

Informtica PUC-Rio

Mltiplos caminhos de derivao


O importante que a cada passo seja vlida da reescrita realizada, isto : que haja uma regra autorizando a substituio. Diferentes caminhos tm, computacionalmente, diferentes vantagens e desvantagens, dependendo do propsito e do contexto da derivao.

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

Você também pode gostar