Aula 12 revisãodos exercícios

3,379 views
3,186 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,379
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
83
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Aula 12 revisãodos exercícios

  1. 1. Curso: Ciência da Computação Turma: 7ª SérieLinguagens Formais e Autômatos Aula 12 Revisão para Avaliação e Questões das Aulas
  2. 2. Notas de Aula● Próxima quinta é a nossa avaliação. ● 2 de Junho.● Dia 28 tem reposição de aula. Linguagens Formais e Autômatos 2/14
  3. 3. AFD ComplementarDado o AFD abaixo que aceita a linguagem L desenvolva o AFD C que aceita a LC . Lc é a linguagemcomplementar de L. Portanto o novo autômato deve aceitar todas as strings que não pertencem a L. Oautômato abaixo aceita toda string que começa por a e tiver dois as é aceita e toda string que começa porb e tiver dois bs é aceita. q0 a b L q1 q2 a M = ({a,b},{q0,q1,q2,qf},δ,q0,qf) b b a qf q0 a b a q1 q2 b Lc Mc = ({a,b},{d,q0,q1,q2,qf},δ,q0,{d,q0,q1,q2}) a b qf a,b d Linguagens Formais e Autômatos 3/14
  4. 4. Exercício 4.2 do livro textoPara cada linguagem abaixo, desenvolva um correspondente autômato finito e exemplifique o lema dobombeamento para linguagens regulares de forma a ilustrar a existência de mais de um bombeamento ● {anbm | n ≥ 0 e m ≥ 0} Suponha então que w=uvz w=aaabbb ● {anbmar | n ≥ 0, m ≥ 0 e r ≥ 0} u=a v=aa então |uv| ≤ n (3)Suponha a palavra aaabbb |v| ≥ 1 q0 q2 qf e v é reconhecida pelo ciclo. a b b Portanto para qualquer i ≥ 0 uviz a deve ser aceita pelo AFDO que diz o lema. a(aa)ibbb o que é verdade. ● Se uma linguagem é regular, então é aceita por um autômato finito determinístico o qual possui um número finito e predefinido de n estados; ● Se o autômato reconhece uma entrada w de comprimento mair ou igual ao número de estados n, obrigatoriamente o autômato assume algum estado q mais de uma vez e, portanto, existe um ciclo na função programa que passa por q; ● Logo, w pode ser dividida em três sub-palavras w=uvz tal que |uv| ≤ n, |v| ≥ 1 e onde v é a parte de w reconhecida pelo ciclo; ● Claramente, tal ciclo pode ser executado (“bombeado”) zero ou mais vezes. Portanto, para qualquer i ≥ 0, uviz, é aceita pelo autômato (ou seja, é palavra da linguagem) Linguagens Formais e Autômatos 4/14
  5. 5. FazerProve que as linguagens não são regulares (suponha que n Є N e m Є N): ● {ww | w é palavra de {a,b}*}. ● {w | (w=anbm ou w=ambn), n ≥ m} ● ● Aplicar o lema do bombeamento e ver que falha. Linguagens Formais e Autômatos 5/14
  6. 6. Exercício: Minimização de AutômatosSeja M um afd com estados A, B, C, D, E e F, sendo A o estado inicial; C e F são osestados finais. Os símbolos de entrada são a e b, e δ como na tabela abaixo. M aceita ascadeias que tem um número de as da forma 6n+2 ou 6n+5. Na realidade, bastaria exigirque o número de as fosse da forma 3n+2, o que corresponde a um afd com apenas 3estados, e, por essa razão, M não é mínimo, e deve ter estados equivalentes.A tabela de transição de M éOs pares de estados (representados em ordem alfabética sem os parenteses) a seremconsiderados são AB, AC, AD, AE, AF, BC, BD, BE, BF, CD, CE, CF, DE, DF, e EF. Nãohá necessidade de incluir pares como AA por causa da reflexividade, nem pares comoBA por causa da simetria: basta incluir AB. Vamos aplicar o algoritmo acima paradeterminar os pares de estados equivalentes. Linguagens Formais e Autômatos 6/14
  7. 7. Exercício: Minimização de Autômatos(marcação dos pares final / não final)marcamos AC, AF, BC, BF, CD, CE, DF e EF.(exame de cada par não marcado)AB: Temos δ(A, a)=B, δ(B, a)=C, e BC está marcado. Logo, marcamos AB.AD: Temos δ(A, a)=B, δ(D, a)=E, e δ(A, b)=A, δ(D, b)=D. Como BE não está marcado,incluímos AD na lista de BE. (Note que não há necessidade de incluir AD na lista de AD.)AE: Temos δ(A, a)=B, δ(E, a)=F, e BF está marcado. Logo, marcamos AE.BD: Temos δ(B, a)=C, δ(D, a)=E e CE está marcado. Logo, marcamos BD.BE: Temos δ(B, a)=C, δ(E, a)=F, e δ(B, b)=B, δ(E, b)=E. Como CF não está marcado,incluímos BE na lista de CF.CF: Temos δ(C, a)=D, δ(F, a)=A, e δ(C, b)=C, δ(F, b)=F. Como AD não está marcado,incluímos CF na lista de AD.DE: Temos δ(D, a)=E, δ(E, a)=F e EF está marcado. Logo, marcamos DE.(os pares restantes são equivalentes) Linguagens Formais e Autômatos 7/14
  8. 8. Exercício: Minimização de AutômatosOs pares restantes (não marcados) são AD, BE, CF. Logo, A ≡ D, B ≡ E e C ≡ F.Naturalmente, além disso, A ≡ A, D ≡ A, etc.Podemos agora construir o afd mínimo: o conjunto de estados é o das classes deequivalência. Como previsto, tem apenas 3 estados. Temos:K = { [A], [B], [C], [D], [E], [F] } = { {A, D}, {B, E}, {C, F} }i = [A] = {A, D}F = { [C], [F] }= {C, F} Linguagens Formais e Autômatos 8/14
  9. 9. Exercício: Minimização de Autômatos Linguagens Formais e Autômatos 9/14
  10. 10. Exercício: Máquina de MealyDesenvolva uma: Máquina de Mealy;sobre o alfabeto de entrada {x,β,●}. O objetivo é tratar brancos (β) corretamente em umtexto. Assim, a máquina deve analisar um texto (palavra sobre o alfabeto, garantindoque: ● Não existam brancos contíguos; ● o texto deve iniciar por x e terminar por ● ● sejam eliminados eventuais β antes de um ● ● antes do ● exista x.Note-se que o autômato somente pode alterar os brancos no texto. Caso o resto do textonão esteja de acordo, deve ser rejeitado (neste caso a saída pode ser qualquer).Por exemplo:a entrada ββxxββxxββxxββ●βββ deve ser aceita e gera a saída xxβxxβxx●a entrada ●x deve ser rejeitada. Linguagens Formais e Autômatos 10/14
  11. 11. Exercício: Máquina de Mealy (β,ε) (β,ε) (x,x) (β,x) q0 (x,ε) q1 q2 (x,β) (.,x) (.,.) q3 (β,ε) qf (x,ε) (.,ε) (β,ε) (.,ε) (ε,.) qf (x,ε) (.,ε) q4(x,ε) (.,ε) (β,ε) Linguagens Formais e Autômatos 11/14
  12. 12. Gere a expressão x4+[x+x] utilizando agramática .G2=({E},{+,*,[,],x},P2,E), em que:P2={E → E+E | E*E | [E] | x}E → E*E → E*E*E → E*E*E*E → E*E*E*E+E → E*E*E*E+[E] → E*E*E*E+[E+E] → x4 + [ x+x] Linguagens Formais e Autômatos 12/14
  13. 13. Identifique no exemplo de expressões aritméticasqual produção controla o duplo balanceamento decolchetes.P2={E → E+E | E*E | [E] | x} Linguagens Formais e Autômatos 13/14
  14. 14. Autômato Finito com PilhaExercício monte um autômato com pilha que fiqueem loop.com a palavra aabb q0 (ε,ε,B) q1 (ε,B,ε)Leio vazio da fita e gravo B, leio vazio da fita eretiro B da pilha. Linguagens Formais e Autômatos 14/14

×