Exercícios preparatórios para a Prova 2

Tamanho: px
Começar a partir da página:

Download "Exercícios preparatórios para a Prova 2"

Transcrição

1 Exercícios preparatórios para a Prova 2 Estes exercícios foram selecionados do Cap. 3 do livro-texto da disciplina (Ramos, 2009), e têm como objetivo auxiliar na preparação para a Prova 2, programada para o dia 09/10/ (ex.3) Considere o alfabeto Σ e uma partição A, B, C de Σ. Utilizando exclusivamente esses conjuntos, e operações sobre os mesmos, defina formalmente a linguagem: { w Σ* w = α, (α A*C ou α C*A) e α 4, ou w = β, (β BB e β ε), ou w = γ, (γ A e γ C, γ = 1), ou w = δ, δ > 3 } L = L α L β L γ L δ, onde: L α = (A * C C * A) (Σ 0 Σ 1 Σ 2 Σ 3 Σ 4 ) L β = Σ + BB L γ = Σ 1 (A C) L δ = Σ + (Σ 1 Σ 2 Σ 3 ) 2. (ex.4) Considere a expressão (a b)*(c ε)(a b)* sobre o alfabeto {a,b,c}. (a) Ela é regular? Justifique sua resposta. Ela é regular pois, por definição, temos: ε é uma expressão regular cada símbolo do alfabeto {a,b,c} é uma ER se x e y são ER, então x y também é uma ER se x e y são ER, então xy também é uma ER se x é uma ER, então (x) também é uma ER se x é uma ER, então x* também é uma ER Portanto, como a expressão acima é uma composição desses elementos, ela é uma expressão regular bem formada. (b) Dê cinco exemplos de cadeias geradas por essa expressão. c, ε, ac, cb, abab (c) Caso seja regular, apresente uma gramática linear à direita que gere essa linguagem. S as bs ε cx ax bx X ε ax bx Padrão de cadeias: (a b)*(c ε)(a b)* prefixo (a b)* é uma cadeia tão longa quanto se queira (inclusive nula) contendo a s e b s em qualquer ordem (regras para a presença do prefixo: S as bs) parte principal é uma cadeia nula ou que contenha uma única instância de c (regras para a parte principal: S ε cx e X ε; estas regras dão conta da ausência de prefixo e de sufixo) 1

2 sufixo (a b)* é uma cadeia tão longa quanto se queira (inclusive nula) contendo a s e b s em qualquer ordem (regras para a presença do sufixo: S ax bx e X ε ax bx) 3. (ex.5) Construa expressões regulares sobre o alfabeto {a,b,c,d} que representem as seguintes linguagens: (a) Todas as cadeias que contenham entre dois (inclusive) e quatro (inclusive) símbolos a, e somente essas cadeias; (b c d) * a (b c d) * a (b c d) * (a ε) (b c d) * (a ε) (b c d) * (b) Todas as cadeias que contenham uma quantidade ímpar, porém maior ou igual a três, de símbolos a, e somente essas cadeias. (b c d) * a ( (b c d) * a (b c d) * a (b c d) * ) + 4. (ex.18) Construa, para a gramática linear à direita apresentada a seguir: S ax by cz X bs cx d Y bz ay cs Z cy az ε (a) As expressões regulares que representam a linguagem definida por cada um de seus símbolos não-terminais; Para converter a GRD acima para uma expressão regular, vamos convertê-la primeiro para um autômato equivalente: Em seguida, podemos aplicar o utilitário de conversão do JFLAP para nos auxiliar nessa tarefa de converter o autômato na expressão regular equivalente. O algoritmo iterativo consiste, basicamente, nos seguintes passos: selecionar um estado qk que não seja inicial ou final para ser eliminado para cada dupla de estados (qi,qj), i,j k, avaliar todas as possibilidades de transições entre i e j diretas ou que passam por qk, e construir a expressão regular equivalente a essas possibilidades. 2

3 reconstruir o autômato sem o estado qk, e completar com as novas transições que têm como rótulo as expressões regulares criadas no passo anterior. repetir esses passos até que todos os estados não iniciais e não finais tenham sido eliminados. Para o autômato em questão, na primeira iteração poderíamos eliminar q1, analisando todas as transições possíveis entre os demais estados que passariam por q1, ou diretas entre eles: De Para Expressão q0 q0 ba*c q0 q2 a q0 q3 c ba*b q0 q4 q2 q0 b q2 q2 c q2 q3 q2 q4 d q3 q0 ca*c Ao final, devem sobrar apenas os estados q0 e q4 (inicial e final), com a seguinte configuração: Os rótulos da configuração final podem ser traduzidos na expressão abaixo: (ba*c+ac*b+(c+ba*b)(a+ca*b)*ca*c)*(ac*d+(c+ba*b)(a+ca*b)*) ou, substituindo o + por na notação: (ba*c ac*b (c ba*b)(a ca*b)*ca*c)*(ac*d (c ba*b)(a ca*b)*) (b) Uma gramática linear à esquerda equivalente. Neste item, o objetivo é encontrar a GRD rev, ou seja, a gramática linear à direita que gera a linguagem reversa da linguagem em questão. A partir dela, podemos aplicar as regras de transformação de uma GRD em GRE para, ao final, obter a GRE da linguagem da questão. 3

4 Uma abordagem poderia ser inverter a expressão regular obtida no item anterior, para obter a expressão referente a L rev : ((ba*c+a)*(ba*b+c)+dc*a)(ca*c(ba*c+a)*(ba*b+c)+bc*a+ca*b)* A partir dela, construir o autômato A rev, para ao final gerar a gramática GDR rev. 5. (ex.21) Considere Σ = {a,b,c} e L i, i=1,2,3, as linguagens formadas por todas as cadeias passíveis de serem construídas sobre Σ, de tal forma que as seguintes regras sejam observadas respectivamente: (a) L 1 : as sentenças começam com a, terminam com dois c's consecutivos e apresentam um número par de símbolos b; a ((a c) * b (a c) * b (a c) * ) * cc (b) L 2 : as sentenças começam com b e apresentam um número total de símbolos que é ímpar; b ((a b c) (a b c)) * (c) L 3 : as sentenças apresentam qualquer quantidade de símbolos, mas não contêm dois (ou mais) símbolos c adjacentes. ((a b) (c ε) (a b)) * Construa expressões regulares que representem cada uma dessas linguagens. 6. (ex.37) Considere as linguagens definidas pelas expressões regulares abaixo: (a) (ab*c*)* (a*b*c)+ (b) aaa(b c)* (b c)*aaa (c) a*b ab* Para cada uma dessas linguagens, obtenha: (a) Um autômato finito qualquer que a reconheça; (b) Um autômato finito que a reconheça e que não contenha não-determinismos, transições em vazio, estados inacessíveis nem estados inúteis. (a) (ab*c*)* (a*b*c)+ Vamos construir o autômato finito para a primeira parte da expressão - (ab*c*)* : Agora, para a segunda parte da expressão - (a*b*c)+ : 4

5 Juntando as duas partes num só autômato, temos: Eliminando transições vazias: Eliminando o não-determinismo: Q = {q0,qa1,qa2,qa3,qb0,qb1qb2} 5

6 F = {q0,qa1,qa2,qa3,qb2} q0,a,{qa1,qb0} q0,b,qb1 q0,c,qb2 qa1,a,qa1 qa1,b,qa2 qa1,c,qa3 qa2,a,qa1 qa2,b,qa2 qa3,a,qa1 qa3,c,qa3 qb0,a,qb0 qb0,b,qb1 qb0,c,qb2 qb1,b,qb1 qb1,c,qb2 qb2,a,qb0 qb2,b,qb1 qb2,c,qb2 Fazendo qn1 = {qa1,qb0}, substituímos suas ocorrências e atualizamos as transições: Q = {q0,qa1,qa2,qa3,qb0,qb1qb2,qn1} F = {q0,qa1,qa2,qa3,qb2,qn1} q0,b,qb1 q0,c,qb2 qa1,a,qa1 qa1,b,qa2 qa1,c,qa3 qa2,a,qa1 qa2,b,qa2 qa3,a,qa1 qa3,c,qa3 qb0,a,qb0 qb0,b,qb1 qb0,c,qb2 qb1,b,qb1 qb1,c,qb2 qb2,a,qb0 qb2,b,qb1 qb2,c,qb2 qn1,a,qn1 qn1,b,{qa2 qb1} qn1,c,{qa3 qb2} 6

7 Fazendo qn2 = {qa2 qb1}, substituímos suas ocorrências e atualizamos as transições: Q = {q0,qa1,qa2,qa3,qb0,qb1qb2,qn1} F = {q0,qa1,qa2,qa3,qb2,qn1,qn2} q0,b,qb1 q0,c,qb2 qa1,a,qa1 qa1,b,qa2 qa1,c,qa3 qa2,a,qa1 qa2,b,qa2 qa3,a,qa1 qa3,c,qa3 qb0,a,qb0 qb0,b,qb1 qb0,c,qb2 qb1,b,qb1 qb1,c,qb2 qb2,a,qb0 qb2,b,qb1 qb2,c,qb2 qn1,a,qn1 qn1,b,qn2 qn1,c,{qa3 qb2} qn2,a,qa1 qn2,b,qn2 qn2,c, qb2 Fazendo qn3 = {qa3 qb2}, substituímos suas ocorrências e atualizamos as transições: Q = {q0,qa1,qa2,qa3,qb0,qb1qb2,qn1,qn2,qn3} F = {q0,qa1,qa2,qa3,qb2,qn1,qn2,qn3} q0,b,qb1 q0,c,qb2 qa1,a,qa1 qa1,b,qa2 qa1,c,qa3 qa2,a,qa1 qa2,b,qa2 qa3,a,qa1 qa3,c,qa3 qb0,a,qb0 7

8 qb0,b,qb1 qb0,c,qb2 qb1,b,qb1 qb1,c,qb2 qb2,a,qb0 qb2,b,qb1 qb2,c,qb2 qn1,a,qn1 qn1,b,qn2 qn1,c,qn3 qn2,a,qa1 qn2,b,qn2 qn2,c, qb2 qn3,a,qn1 qn3,b,qb1 qn3,c,qn3 Representação do DFA: 7. (ex.38) Construa um autômato finito determinístico equivalente ao autômato cuja função de transição é: 8

9 δ(q0,a) = {q1,q2}, δ(q1,b) = {q1q3}, δ(q2,b) = {q1}, δ(q2,c) = {q3}, δ(q3,d) = {q3}, com F = {q3}. Passo 1: copiar as transições originais q0, a, [q1 q2] -> novo estado qn1 = [q1 q2] q1, b, [q1 q3] q2, b, q1 q2, c, q3 q3, d, q3 Passo 2: substituir as ocorrências de [q1 q2] por qn1 e, para cada estado de qn1, calculando as novas transições: q0, a, qn1 q1, b, [q1 q3] q2, b, q1 q2, c, q3 q3, d, q3 qn1, b, [q1 q3] qn1, c, q3 (não há transições com a ou d, pois não havia nenhuma a partir de q1 ou q2) Passo 3: é possível eliminar q2, pois não é destino de nenhuma transição q0, a, qn1 q1, b, [q1 q3] q3, d, q3 qn1, b, [q1 q3] qn1, c, q3 Passo 4: substituir [q1 q3] por qn2, e incluir as transições correspondentes a q1 e q3. Como q3 é final, qn2 também deve ser final. Além disso, posso eliminar q1: q0, a, qn1 q1, b, qn2 q3, d, q3 qn1, b, qn2 qn1, c, q3 qn2, b, qn2 qn2, d, q3 Configuração final do autômato: 8. (ex.39) Construa um autômato finito determinístico e sem transições em vazio que seja equivalente ao autômato cuja função de transição é: 9

10 δ(q0,a) = {q0}, δ(q0, ε) = {q1}, δ(q1, b) = {q1}, δ(q1, ε) = {q2}, δ(q2, a) = {q2}, δ(q2, b) = {q2}, δ(q2, ε) = {q3}, com F={q3}. Autômato inicial: Eliminação de transições-ε: Eliminação de não-determinismo: Q = {q0, q1, q2} F = {q0,q1,q2} q0,a,[q0 q2] q0,b,[q1 q2] q1,b,q1 q2,q,q2 q2,b,q2 Fazendo qn1=[q0 q2]: F={q0,q1,q2,qn1} q0,b,[q1 q2] q1,b,q1 q2,a,q2 q2,b,q2 qn1,a,qn1 qn1,b,[q1 q2] Fazendo qn2=[q1 q2]: F={q0,q1,q2,qn1,qn2} q0,b,qn2 10

11 q1,b,q1 q2,a,q2 q2,b,q2 qn1,a,qn1 qn1,b,qn2 qn2,a,q2 qn2,b,qn2 q1 pode ser eliminado: F={q0,q1,q2,qn1,qn2} q0,b,qn2 q2,a,q2 q2,b,q2 qn1,a,qn1 qn1,b,qn2 qn2,a,q2 an2,b,qn2 Resultado para o DFA: 9. (ex.41) Obtenha autômatos finitos determinísticos e isentos de transições em vazio que reconheçam cada uma das seguintes linguagens: (a) (a*b*(a ac*))* Exemplo de autômato: 11

12 Eliminação de transições-ε: Eliminação de transições não-determinísticas: q0,a,[q0q2] q0,b,q1 q1,b,q1 q2,a,[q0q2] q2,b,q1 q2,c,q2 Fazendo qn1=[q0q2] q0,b,q1, q1,b,q1 q2,a,qn1 q2,b,q1 q2,c,q2 qn1,a,qn1 qn1,b,q1 qn1,c,q2 F={q0,q2,qn1} DFA: 12

13 (b) a*b* b*a* 10. (ex.56) Considere a linguagem (0*11*(2 3))+, sobre o alfabeto Σ = {0,1,2,3}: (a) Construa um autômato finito qualquer que reconheça essa linguagem. Exemplo de autômato: (b) Mostre a sequência de movimentações que conduzem esse autômato finito à aceitação da cadeia (q0, ) (q0, ) (q1, ) (q2, 00113) (q0, 00113) (q0, 0113) (q0, 113) (q1, 13) (q1, 3) (q2, ) 11. (ex.84) Sejam M 1, M 2 e M 3 autômatos finitos que reconhecem, respectivamente, os conjuntos regulares α, β e γ. Indique, cuidadosamente, todos os passos que devem ser seguidos a fim de se obter um novo autômato M 4, que reconheça o conjunto (α βγ)*. Criar um estado inicial q0 para M4 Copiar todos os estados e transições de M1, M2 e M3 para M4 Todos os estados copiados dos 3 autômatos perdem seu status de iniciais ou finais Criar uma transição com ε de q0 para o estado inicial de M1 e outra análoga para o estado inicial de M2 Criar uma transição com ε de todos os estados que eram finais em M2 para o antigo estado inicial de M3 Criar um estado final qf para M4 Criar uma transição com ε para qf a partir de todos os estados que eram finais de M1 e M3 Criar uma transição com ε de qf para q0 12. (ex.87) Considere a linguagem L {a,b,c}* tal que w L se e somente se w contém as subcadeias aaa e bbb: 13

14 (a) Obtenha uma gramática que gere essa linguagem; (b) Obtenha uma expressão regular que gere essa linguagem; (c) Obtenha um autômato finito que reconheça essa linguagem. Invertendo um pouco a ordem do exercício para facilitar a sua elaboração : (b) Devemos considerar dois caso: o caso em que aaa vem antes de bbb, e vice-versa. (a b c) * ((aaa (a b c) * bbb) (bbb (a b c) * aaa)) (a b c) * (c) autômato finito: (a) Supondo que os não terminais da gramática sejam Qx, para ficar fácil de associarmos as regras abaixo com o desenho do autômato: Q 0 aq 1 bq 7 cq 0 Q 1 aq 2 bq 7 cq 0 Q 2 aq 3 bq 7 cq 0 Q 3 aq 3 bq 4 cq (ex.89) Construa um autômato finito mínimo que aceite a linguagem gerada pela expressão regular ab*abb*abbb* (a* b*a)bbb*, definida sobre o alfabeto {a,b}. 14. (ex.105) Existe algum autômato finito com 3 estados que aceite a linguagem (aa)*a(aaa)*? Prove a sua resposta. Possível autômato para a linguagem: 14

15 Eliminação de não-determinismo: Q = {q0,q1,q2,q3,q4,q5,q6} F = {q3,q6} q0,a,[q1q3] q2,a,[q1q3] q3,a,q4 q4,a,q5 q5,a,q6 q6,a,q4 Criando estado qn1=[q1q3] para eliminar o não determinismo: Q = {q0,q1,q2,q3,q4,q5,q6,qn1} F = {q3,q6,qn1} q2,a, qn1 q3,a,q4 q4,a,q5 q5,a,q6 q6,a,q4 qn1,a,[q2 q4] Fazendo qn2=[q2 q4]: Q = {q0,q1,q2,q3,q4,q5,q6,qn1,qn2} F = {q3,q6,qn1} q2,a,qn1 q3,a,q4 q4,a,q5 q5,a,q6 q6,a,q4 qn1,a,qn2 qn2,a,[q1 q3 q5] (expandir qn1 para seus componentes) Fazendo qn3=[q1 q3 q5]: Q = {q0,q1,q2,q3,q4,q5,q6,qn1,qn2,qn3} F = {q3,q6,qn1,qn3} 15

16 q2,a,qn1 q3,a,q4 q4,a,q5 q5,a,q6 q6,a,q4 qn1,a,qn2 qn2,a,qn3 qn3,a,[q2 q4 q6] Fazendo qn4=[q2 q4 q6]: Q = {q0,q1,q2,q3,q4,q5,q6,qn1,qn2,qn3,qn4} F = {q3,q6,qn1,qn3,qn4} q2,a,qn1 q3,a,q4 q4,a,q5 q5,a,q6 q6,a,q4 qn1,a,qn2 qn2,a,qn3 qn3,a,qn4 qn4,a,[q1 q3 q4 q5] Fazendo qn5=[q1 q3 q4 q5]: Q = {q0,q1,q2,q3,q4,q5,q6,qn1,qn2,qn3,qn4,qn5} F = {q3,q6,qn1,qn3,qn4,qn5} q2,a,qn1 q3,a,q4 q4,a,q5 q5,a,q6 q6,a,q4 qn1,a,qn2 qn2,a,qn3 qn3,a,qn4 qn4,a,qn5 qn5,a,[q2 q4 q5 q6] Fazendo qn6=[q2 q4 q5 q6]: Q = {q0,q1,q2,q3,q4,q5,q6,qn1,qn2,qn3,qn4,qn5,qn6} F = {q3,q6,qn1,qn3, qn4,qn5,qn6} 16

17 q2,a,qn1 q3,a,q4 q4,a,q5 q5,a,q6 q6,a,q4 qn1,a,qn2 qn2,a,qn3 qn3,a,qn4 qn4,a,qn5 qn5,a,qn6 qn6,a,[q1 q3 q4 q5 q6] Fazendo qn7=[q1 q3 q4 q5 q6]: Q = {q0,q1,q2,q3,q4,q5,q6,qn1,qn2,qn3,qn4,qn5,qn6,qn7} F = {q3,q6,qn1,qn3, qn4,qn5,qn6,qn7} q2,a,qn1 q3,a,q4 q4,a,q5 q5,a,q6 q6,a,q4 qn1,a,qn2 qn2,a,qn3 qn3,a,qn4 qn4,a,qn5 qn5,a,qn6 qn6,a,qn7 qn7,a,[q2 q4 q5 q6] = qn6 Analisando a função de transição final, podemos facilmente verificar que os estados q1,q2,q3,q4,q5 e q6 não são acessíveis a partir de q0. Portanto, podem ser eliminados: Q = {q0, qn1,qn2,qn3,qn4,qn5,qn6,qn7} F = {qn1,qn3, qn4,qn5,qn6,qn7} qn1,a,qn2 qn2,a,qn3 qn3,a,qn4 qn4,a,qn5 qn5,a,qn6 qn6,a,qn7 17

18 qn7,a, qn6 Minimizando o autômato: Estados não-finais Finais (0,2) (1,3,4,5,6,7) Expandindo (0,2) com o terminal a, o grupo se mantém o mesmo, sem divisões. Expandindo o grupo (1,3,4,5,6,7), temos a subdivisão em dois grupos (1) (3,4,5,6,7). Agora, o grupo (0,2) pode ser dividido em (0)(2). Portanto, renomeando os estados temos: q0 = (0) q1 = (1) q2 = (2) q3 = (3,4,5,6,7) Q = {q0,q1,q2,q3} F = {q1,q3} q0,a,q1 q2,a,q3 q3,a,q3 Autômato final minimizado: Portanto, a resposta é: NÃO existe um autômato de 3 estados que aceite a linguagem. 15. (ex.128) Por que o "Pumping Lemma" das linguagens regulares não é necessariamente válido para cadeias de comprimento menor que n, onde n é o número de estados do autômato finito mínimo que aceita essa linguagem? Seja L uma linguagem regular, e w uma cadeia L tal que w n (n = número de estados do autômato que reconhece L). Para as cadeias w com tamanho menor que n, não é possível afirmar que a cadeia está associada a um ciclo no autômato, pois é possível que o reconhecimento de w ocorra sem ciclos (pois não usou todos os estados do autômato). Com isso, o lema do bombeamento não vale para este tipo de cadeia. 16. (ex.135) Considere a linguagem gerada pela gramática ( {S,a,b}, {a,b}, {SaSbb aasb ε}, S ) : 18

19 (a) Descreva de maneira informal, porém clara e precisa, a linguagem gerada por essa gramática; Seja L a linguagem gerada por essa gramática. L é composta pela cadeia vazia e cadeias do tipo a p b q onde p/2 <= q <= 2p, com (p+q) múltiplo de 3. (b) Prove que essa linguagem não é regular. Supondo que L seja regular, seja n o número de estados do autômato hipotético que a reconhece. Para provar que o lema do bombeamento não vale para L, temos que mostrar que existe pelo menos uma cadeia w (w L, w n) tal que, para toda maneira de dividir w em 3 subcadeias xyz, xy n, e y 1, existe pelo menos um i 0 tal que xy i z L. Portanto, seja w = a n b 2n. Temos que w L (3n é multiplo de 3, e q=2p), e w n. Ao dividir w em xyz de forma que xy n e y 1, temos que xy é formada apenas por a's. Para qualquer tamanho de y entre 1 e n, sempre será possível escolher um i tal que xy i z forme uma cadeia com uma quantidade de a's muito superior a 2q, o que contraria a regra descrita no item a. Portanto, L não é regular. 17. (ex.136) Prove que a linguagem {w {a,b,c,d}*, tais que w a + w b = w c + w d } não é regular. Supondo que essa linguagem L seja regular, seja n o número de estados do AFD que a reconhece. Seja a cadeia w = a n/2 b n/2 c n/2 d n/2. Pela definição da linguagem, w L. Além disso, w > n. Para dividirmos w em três partes xyz de modo que xy n e y 1, xy irá conter apenas a's e b's. Dessa forma, para qualquer escolha de xyz que atenda a esses requisitos, o bombeamento da subcadeia y irá alterar a quantidade de a's e b's na cadeia resultante, enquanto a quantidade de c's e d's se mantém constante. Com isso, a igualdade do enunciado não poderá ser mantida. Assim, não vale xy i z L, para todo i 0. Portanto, a cadeia escolhida é um contra-exemplo que demonstra que o lema do bombeamento não se aplica e, portanto, L não é regular. 18. (ex.140) O autômato M = ({q 0,q 1,q 2 }, {a,b,c}, {(q 0,a) q 0, (q 0,b) q 1, (q 1,c) q 2, (q 2,c) q 2, (q 2,a) q 0 }, q 0, {q 0,q 2 }) reconhece uma linguagem infinita e é tal que a L(M). Essa sentença pode ser dividida em três partes x=ε, y=a, z=ε, de forma que as cadeias xy i z, i 0, também pertencem a L. Justifique esse fato, uma vez que a sentença escolhida possui comprimento ( a =1) inferior ao mínimo exigido pelo Pumping Lemma para as linguagens regulares (no caso do autômato apresentado, n=3). Autômato do enunciado: 19

20 Esse fato ocorre porque o loop que permite o bombeamento ocorre logo no estado inicial, que também é final. Portanto, como a* L, a cadeia 'a' pode ser bombeada, mesmo tendo um comprimento menor que a quantidade de estados do autômato. 20

Prova 2 de INF1626 Linguagens Formais e Autômatos

Prova 2 de INF1626 Linguagens Formais e Autômatos Prova 2 de INF1626 Linguagens Formais e Autômatos Aluno(a): Matrícula: Atenção: O tempo total de prova é de 110 minutos (09:05 às 10:55). Durante a prova não é permitido o uso de qualquer aparelho eletrônico

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos LINGUAGENS FORMAIS E AUTÔMATOS Prova 2-10/06/2011 - Prof. Marcus Ramos NOME: _ Colocar seu nome no espaço acima; A prova pode ser feita à lápis ou caneta; A duração é de três horas; As questões da parte

Leia mais

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior. LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos

Leia mais

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos LFA Aula 07 Equivalência entre AFD e AFND AFND: uma aplicação busca em textos Equivalência entre ER s e AF s Equivalência entre GR s e AF s Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa

Leia mais

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND) DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 2ª chamada - Resolução 2h + 30min 07/Fev/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1

Leia mais

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma 1 2º. Semestre de 2012 Prof. João Luís

Leia mais

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) Linguagens Formais e Autômatos (LFA) Aula de 16/09/2013 Conversões e Transformações 1 Conversões de Gramáticas LR em LL e vice-versa Qual é a ideia? S S a a a = a b c b c ε ε a a Seja GRD uma gramática

Leia mais

Marcos Castilho. DInf/UFPR. 5 de abril de 2018

Marcos Castilho. DInf/UFPR. 5 de abril de 2018 5 de abril de 2018 Autômatos com Pilha Não-Determinísticos Um Autômato com Pilha Não-Determinístico (APN) é uma sêxtupla (Q, Σ, Γ, δ, Q 0, F ), onde: Q, Σ, Γ, F são como nos APD s; δ : Q (Σ {λ}) (Γ {λ})

Leia mais

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) Linguagens Formais e Autômatos (LFA) Aula de 23/09/2013 Parte 1 Exercícios cios - Lema do Bombeamento 1 Exemplos de Solução dos Exercícios cios da Aula Anterior 2 Novo Exercício cio (Turma INF1626 de 2011-

Leia mais

SCC 205 Teoria da Computação e Linguagens Formais

SCC 205 Teoria da Computação e Linguagens Formais Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC 205 Teoria da Computação e Linguagens Formais Autômatos com pilha Lista 3 1. Dê um

Leia mais

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND) DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 1ª chamada - Resolução 2h + 30min 31/Jan/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

Lista de exercícios 1

Lista de exercícios 1 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Lista de exercícios 1 Disciplina: Linguagens Formais e Autômatos Professora: Juliana Pinheiro

Leia mais

Autómatos Finitos Determinísticos (AFD)

Autómatos Finitos Determinísticos (AFD) Folha Prática Autómatos Finitos 1 Autómatos Finitos Determinísticos (AFD) 1. Determine e implemente computacionalmente um AFD que aceita todas as cadeias de cada uma das seguintes linguagens sobre o alfabeto

Leia mais

Conceitos básicos de Teoria da Computação

Conceitos básicos de Teoria da Computação Folha Prática Conceitos básicos de 1 Conceitos básicos de Métodos de Prova 1. Provar por indução matemática que para todo o número natural n: a) 1 + 2 + 2 2 + + 2 n = 2 n+1 1, para n 0 b) 1 2 + 2 2 + 3

Leia mais

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC-0505 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Lista de Exercícios do Capítulo 3 Gramáticas

Leia mais

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 04 16/11/2016. Celso Olivete Júnior. LFA Aula 04 Autômatos Finitos 16/11/2016 Celso Olivete Júnior olivete@fct.unesp.br 1 Classificação das Linguagens segundo Hierarquia de Chomsky Máquina de Turing Máquina de Turing com fita limitada Autômato

Leia mais

Expressões Regulares e Gramáticas Regulares

Expressões Regulares e Gramáticas Regulares Universidade Católica de Pelotas Escola de informática 053212 Linguagens Formais e Autômatos TEXTO 2 Expressões Regulares e Gramáticas Regulares Prof. Luiz A M Palazzo Março de 2007 Definição de Expressão

Leia mais

Teoria da Computação. Expressões Regulares e Autômatos Finitos. Thiago Alves

Teoria da Computação. Expressões Regulares e Autômatos Finitos. Thiago Alves Teoria da Computação Expressões Regulares e Autômatos Finitos Thiago Alves 1 Introdução Expressões Regulares e Autômatos Finitos são bem diferentes Será que são equivalentes com relação as linguagens que

Leia mais

Modelos de Computação Folha de trabalho n. 8

Modelos de Computação Folha de trabalho n. 8 Modelos de Computação Folha de trabalho n. 8 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada

Leia mais

Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes

Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Questões do POSCOMP 2011 A resposta certa está assinalada em vermelho. Por que é correta e por que as demais alternativas são incorretas?

Leia mais

Expressões e Gramáticas Regulares e Autómatos Finitos

Expressões e Gramáticas Regulares e Autómatos Finitos Folha Prática Expressões e Gramáticas Regulares e Autómatos Finitos 1 Expressões e Gramáticas Regulares e Autómatos Finitos Expressões Regulares e Autómatos Finitos 1. Determine e implemente computacionalmente

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Pós-Graduação em Ciência da Computação DCC/ICEx/UFMG Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Observações: Pontos

Leia mais

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos Lista de Exercícios CT-200 Primeiro Bimestre 2010 Carlos Henrique Quartucci Forster Estagiário: Wesley Telles Revisão de Teoria de Conjuntos 1. Sejam A = {1,2 } e B = { x, y, z}. Quais os elementos dos

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares

INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares INE5317 Linguagens Formais e Compiladores AULA 6: Propriedades das Linguagens Regulares baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERIDADE DA EIRA INTERIOR Teoria da Computação Eng. Informática 2º emestre Frequência 2 (7 valores) Resolução 30/maio/2017 A. Expressões regulares e autómatos finitos 1. [1.25] Usando o método de eliminação

Leia mais

Histórico e motivação

Histórico e motivação Expressões regulares 1. Histórico e motivação 2. Definição a) Sintaxe b) Semântica c) Precedência dos operadores 3. Exemplos 4. Leis algébricas 5. Dialetos 6. Aplicações 7. Exercícios Pré-requisito: básico

Leia mais

MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3

MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3 MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3 Athos Coimbra Ribeiro NUSP: ****** 3 de Abril de 26 Problema.46 (itens a,c, e d) Solução a) L = { n m n m, n } Usamos o lema do bombeamento para

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um

Leia mais

Algoritmo de Minimização de AFD

Algoritmo de Minimização de AFD a * Algoritmo de Minimização de AFD (Menezes, 2002) e no Livro Animado do próprio autor: ttp://teia.inf.ufrgs.br/cgi-bin/moore.pl?curso=livroanimado&estado=81 1 Autômato Finito Mínimo Um Autômato Mínimo

Leia mais

IV Gramáticas Livres de Contexto

IV Gramáticas Livres de Contexto IV Gramáticas Livres de Contexto Introdução Definições de GLC 1 G = (Vn, Vt, P, S) onde P = {A α A Vn α (Vn Vt) + } 2 GLC ε - LIVRE : S ε pode pertencer a P, desde que: S seja o símbolo inicial de G S

Leia mais

Terceira Lista de Exercícios 2004/2...

Terceira Lista de Exercícios 2004/2... UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM162 Linguagens Formais e Autômatos Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Terceira Lista de Exercícios 2004/2

Leia mais

Autómatos de Pilha e Linguagens Livres de Contexto

Autómatos de Pilha e Linguagens Livres de Contexto Folha Prática Autómatos de Pilha e Linguagens Livres de Contexto 1 Autómatos de Pilha e Linguagens Livres de Contexto Autómatos de Pilha Não Determinísticos (APND) 1. Considere a seguinte tabela de transição

Leia mais

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e inacessíveis; Forma Normal de Chomsky (FNC) e Forma Normal

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Doutorando em Ciência da Computação Estagiário em docência II Departamento de Ciência da Computação

Leia mais

Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação

Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Não são aceitas respostas sem justificativa. Explique tudo o que você fizer. Linguagens Formais o semestre de 999 Primeira Prova

Leia mais

Expressões regulares

Expressões regulares Expressões regulares IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 38 Frase do dia A vida é uma luta inteira

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Segunda Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Mestrando em Ciência da Computação Departamento de Ciência da Computação Universidade Federal

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista Sérgio Mariano Dias 1 1 UFMG/ICEx/DCC Entrega da 1 a lista: 31/03/2009 Sérgio Mariano Dias (UFMG) Fundamentos

Leia mais

Instituto Superior Técnico Teoria da Computação - LEIC, LERC 2012/2013 Aula prática 6. 1 Palavras e linguagem gerada por gramática

Instituto Superior Técnico Teoria da Computação - LEIC, LERC 2012/2013 Aula prática 6. 1 Palavras e linguagem gerada por gramática Instituto Superior Técnico Teoria da Computação - LEIC, LERC 2012/2013 Aula prática 6 1 Palavras e linguagem gerada por gramática 1. Seja G = (V,Σ,P,S) a gramática livre de contexto em que V = {S,A}, Σ

Leia mais

Linguagens Livres de Contexto

Linguagens Livres de Contexto Linguagens Livres de Contexto 1 Roteiro Gramáticas livres de contexto Representação de linguagens livres de contexto Formas normais para gramáticas livres de contexto Gramáticas ambíguas Autômatos de Pilha

Leia mais

Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos

Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 7 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 9/9/7 Valor: pontos. Uma versão do problema

Leia mais

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 8 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 7/4/8 Valor: pontos. Uma versão do problema

Leia mais

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Apostila 05 Assunto: Linguagens dos tipos 0 e 1 Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Lema do Bombeamento. Aplicação para Linguagens Regulares e Livres de Contexto. Maria Adriana Vidigal de Lima. Abril

Lema do Bombeamento. Aplicação para Linguagens Regulares e Livres de Contexto. Maria Adriana Vidigal de Lima. Abril Aplicação para Linguagens Regulares e Livres de Contexto Abril - 2009 1 Linguagens Não-Regulares 2 Propriedades das Linguagens Regulares Todas as linguagens finitas (com um número finito de palavras) são

Leia mais

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma

Leia mais

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 01 geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = épsilon λ = lambda

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Leia mais

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto. As linguagens regulares são I.C Proposição 16.1. Qualquer linguagem regular é independente de contexto. Dem. Seja L Σ uma linguagem regular, e seja r uma expressão regular tal que L = L(r).Por indução

Leia mais

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia.

Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia. Transformações em G.L.C Uma vez que existem métodos de análise, cada qual exigindo gramáticas com características específicas é importante que uma gramática possa ser transformada, porém, sem perder a

Leia mais

Linguagens livres de contexto e autômatos de pilha

Linguagens livres de contexto e autômatos de pilha Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos

Leia mais

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior. LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas

Leia mais

Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo

Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo Gramática regular IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 41 Frase do dia Através de três métodos

Leia mais

AF Não-determinísticos Equivalência entre AFDN e AFD Equivalência entre AF e GR (H&U, 1969 e 1979), (H;M;U, 2001) e (Menezes, 2002) 1

AF Não-determinísticos Equivalência entre AFDN e AFD Equivalência entre AF e GR (H&U, 1969 e 1979), (H;M;U, 2001) e (Menezes, 2002) 1 AF Não-determinísticos Equivalência entre AFDN e AFD Equivalência entre AF e GR (H&U, 1969 e 1979), (H;M;U, 2001) e (Menezes, 2002) 1 AF NÃO-Determinístico (AFND) Consideremos uma modificação no modelo

Leia mais

COMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang

COMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 02 Prof. geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = epsilon λ =

Leia mais

LFA Aula 08. Minimização de AFD Autômatos Finitos com saídas 25/01/2017. Linguagens Formais e Autômatos. Celso Olivete Júnior.

LFA Aula 08. Minimização de AFD Autômatos Finitos com saídas 25/01/2017. Linguagens Formais e Autômatos. Celso Olivete Júnior. LFA Aula 08 Minimização de AFD Autômatos Finitos com saídas 25/01/2017 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula de hoje Minimização de autômatos finitos

Leia mais

AF Não-determinísticos Equivalência entre AFDN e AFD Equivalência entre AF e GR (H&U, 1969 e 1979), (H;M;U, 2001) e (Menezes, 2002) 1

AF Não-determinísticos Equivalência entre AFDN e AFD Equivalência entre AF e GR (H&U, 1969 e 1979), (H;M;U, 2001) e (Menezes, 2002) 1 AF Não-determinísticos Equivalência entre AFDN e AFD Equivalência entre AF e GR (H&U, 1969 e 1979), (H;M;U, 2001) e (Menezes, 2002) 1 AF NÃO-Determinístico (AFND) Consideremos uma modificação no modelo

Leia mais

a * Minimização de AFD AFD equivalente, com o menor número de estados possível

a * Minimização de AFD AFD equivalente, com o menor número de estados possível a * Minimização de AFD AFD equivalente, com o menor número de estados possível 1 Minimização de um AF (Menezes, 2002) Def: Um autômato mínimo de uma LR é um AFD com um número de estados tal que qualquer

Leia mais

a * Lema do Bombeamento Linguagens regulares e não-regulares

a * Lema do Bombeamento Linguagens regulares e não-regulares a * Lema do Bombeamento Linguagens regulares e não-regulares 1 Lema do Bombeamento para LR Como decidir que uma linguagem não é regular? Toda linguagem regular satisfaz o Lema do bombeamento (LB). Lemas

Leia mais

Alfabeto, Cadeias, Operações e Linguagens

Alfabeto, Cadeias, Operações e Linguagens Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter

Leia mais

Comprimento: oigual a... omaior (ou igual) a... omenor (ou igual) a... omúltiplo de...

Comprimento: oigual a... omaior (ou igual) a... omenor (ou igual) a... omúltiplo de... Comprimento: oigual a... omaior (ou igual) a... omenor (ou igual) a... opar oímpar omúltiplo de... Símbolos e subcadeias: ocomeça com... otermina com... ocontém... ocontém exatamente tantas ocorrências...

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 3-05/08/ Prof. Marcus Ramos

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 3-05/08/ Prof. Marcus Ramos LINGUAGENS FORMAIS E AUTÔMATOS Prova 3-05/08/2016 - Prof. Marcus Ramos 1. (2,0 pontos) Um Desafio Gastronômico reúne dois participantes A e B que competem da seguinte forma: i. O participante A come uma

Leia mais

Teoria da Computação Aula 02 Introdução

Teoria da Computação Aula 02 Introdução Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 1. Linguagens Regulares Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br www.each.usp.br/lauretto

Leia mais

Autómatos de pilha e GIC

Autómatos de pilha e GIC Autómatos de pilha e GIC Proposição 17.1. A classe de linguagens aceites por autómatos de pilha está contida na classe das linguagens independentes de contexto. Dem. Seja L uma linguagem independente de

Leia mais

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Gramáticas e Definições básicas 1 2 Gramáticas e Linguagens 4 2.1 Gramáticas

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br

Leia mais

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações a n Lema do Bombeamento Operações Fechadas sobre LR s Aplicações (H&U, 969),(H&U, 979), (H;M;U, 2) e (Menezes, 22) Lema do Bombeamento para LR Como decidir que uma linguagem é ou não regular? Não bastaria

Leia mais

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas INE5317 Linguagens Formais e Compiladores AULA 4: Gramáticas bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL:

Leia mais

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.

Leia mais

Apostila 03 - Linguagens Livres de Contexto Exercícios

Apostila 03 - Linguagens Livres de Contexto Exercícios Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho Braga, Portugal 31 de Maio de 2010

Leia mais

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC)

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC) Linguagens Formais e Autômatos Simplificação de Gramáticas Livre do Contexto (GLC) Cristiano Lehrer, M.Sc. Gramática Simplificada Gramática simplificada é uma gramática livre do contexto que não apresenta

Leia mais

Propriedades de Fecho de Linguagens Regulares.

Propriedades de Fecho de Linguagens Regulares. Propriedades de Fecho de Linguagens Regulares. Gerando Linguagens Regulares Recorde a seguinte teorema: THM: Linguagens regulares são aquelas que podem ser geradas a partir de linguagens finitas pela aplicação

Leia mais

Marcos Castilho. DInf/UFPR. 21 de março de 2019

Marcos Castilho. DInf/UFPR. 21 de março de 2019 21 de março de 2019 Análise sintática: introdução Dada uma gramática G e uma palavra w Σ, como saber se w L(G)? Isto é, como saber se S = G w? Derivações à esquerda e ambiguidade w L(G) se S = G w; Sabemos

Leia mais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

Leia mais

Aula 7: Autômatos com Pilha

Aula 7: Autômatos com Pilha Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar

Leia mais

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios 1. Escreva a expressão regular para as seguintes linguagens sobre o alfabeto {0, 1}: strings começando

Leia mais

Modelos Universais de Computação

Modelos Universais de Computação Modelos Universais de Computação 1 Equivalência entre Variantes de TM TM s definem naturalmente uma classe. Toda variante razoável de TM define a mesma classe de linguagens. (reforça a Tese Church-Turing)

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Terceira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Mestrando em Ciência da Computação Departamento de Ciência da Computação Universidade Federal

Leia mais

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações

Lema do Bombeamento Operações Fechadas sobre LR s Aplicações a n Lema do Bombeamento Operações Fechadas sobre LR s Aplicações (H&U, 969),(H&U, 979), (H;M;U, 2) e (Menezes, 22) Lema do Bombeamento para LR Como decidir que uma linguagem é ou não regular? Não bastaria

Leia mais

IBM1088 Linguagens Formais e Teoria da

IBM1088 Linguagens Formais e Teoria da IBM1088 Linguagens Formais e Teoria da Computação Linguagens e Gramáticas Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 47 Frase do dia Sofremos muito com

Leia mais

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) INF1626 Linguagens Formais e Autômatos (2013-2) Informática PUC-Rio Linguagens Formais e Autômatos (LFA) Aula de 06/11/2013 LSC s processadas por Máquinas de Turing de Fita Limitada Clarisse S. de Souza,

Leia mais

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento O que é Linguagem Regular Um teorema sobre linguagens regulares Linguagem regular Uma linguagem é dita ser uma linguagem regular se existe um autômato finito que a reconhece. Dada uma linguagem L: É possível

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos a n Sistemas de Estados Finitos AF Determinísticos 1 Definição formal de um AF Determinístico Um AF Determinístico (AFD) é denotado formalmente por uma quíntupla (Q,,, qo, F) onde: Q é o conjunto de estados

Leia mais

Linguagens Regulares, Operações Regulares

Linguagens Regulares, Operações Regulares Linguagens Regulares, Operações Regulares 1 Definição de Linguagem Regular Relembre a definição de linguagem regular: DEF: A linguagem aceita por um AF M é o conjunto de todos os strings que são aceitos

Leia mais

Compiladores Aula 4. Celso Olivete Júnior.

Compiladores Aula 4. Celso Olivete Júnior. Aula 4 Celso Olivete Júnior olivete@fct.unesp.br Na aula de hoje... Revisão: gramáticas Relações em uma gramática: Cabeça, Último, Primeiro (First) e Seguinte (Follow) Capítulo 4 (seção 4.4.2) do livro

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS

LINGUAGENS FORMAIS E AUTÔMATOS LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Soluções para a Lista 4 Universidade Federal do ABC Aritanan Gruber aritanan.gruber@ufabc.edu.br http://professor.ufabc.edu.br/ aritanan.gruber Os exercícios marcados com

Leia mais

Segunda Lista de Exercícios 2004/2...

Segunda Lista de Exercícios 2004/2... + + UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM162 Linguagens Formais e Autômatos Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Segunda Lista de Exercícios

Leia mais

Autómatos de pilha e Gramáticas independentes de contexto

Autómatos de pilha e Gramáticas independentes de contexto Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja

Leia mais

AFNs, Operações Regulares e Expressões Regulares

AFNs, Operações Regulares e Expressões Regulares AFNs, Operações Regulares e Expressões Regulares AFNs. OperaçõesRegulares. Esquematicamente. O circulo vermelho representa o estado inicial q 0, a porção verde representa o conjunto de estados de aceitação

Leia mais

Prova 1 de INF1626 Linguagens Formais e Autômatos

Prova 1 de INF1626 Linguagens Formais e Autômatos Prova 1 de INF1626 Linguagens Formais e Autômatos Aluno(a): Matrícula: Atenção: O tempo total de prova é de 110 minutos (09:05 às 10:55). Durante a prova não é permitido o uso de qualquer aparelho eletrônico

Leia mais

LINGUAGENS FORMAIS: Teoria, Modelagem e Implementação. Material adicional, versão do dia 22 de novembro de 2017 às 17:24

LINGUAGENS FORMAIS: Teoria, Modelagem e Implementação. Material adicional, versão do dia 22 de novembro de 2017 às 17:24 LINGUAGENS FORMAIS: Teoria, Modelagem e Implementação Material adicional, versão do dia 22 de novembro de 2017 às 17:24 1. Página 32, imediatamente depois do Exemplo 1.8: A teoria de conjuntos apresentada

Leia mais

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018 27 de Fevereiro de 2018 Definição: Concatenação Sejam u, v Σ. A concatenação de u e v, denotado por uv é a operação binária sobre Σ assim definida (i) BASE: Se tamanho(v) = 0 então v = λ e uv = u. (ii)

Leia mais