Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Aula 12 revisãodos exercícios

3,788 views

Published on

Published in: Education
  • Be the first to comment

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

×