Você está na página 1de 46

Conceitos bsicos de Linguagem; Linguagens regulares; Expresses regulares; 1. Dentro da Teoria da Computao, as Linguagens Formais constituem um importante tpico.

Explique o significado da palavra FORMAIS como adjetivo de Linguagens. 2. Considere o conjunto S = { a b }. Seja a linguagem L = S*. Perguntas: a. quantas palavras de comprimento dois tem essa linguagem? b. quantas palavras de comprimento trs tem essa linguagem? c. quantas palavras de comprimento n tem essa linguagem? 3. Sejam: L = {x xxx xxxxx xxxxxxx ...}, a = xxx e b = x. A concatenao das palavras a e b pertence linguagem L? Por qu? 4. Em qualquer linguagem, qual o comprimento()? 5. Defina funo reverso. D um exemplo. 6. Defina Linguagem Palndromo. 7. Defina Fechamento de Kleene como conceito de definio de uma linguagem a partir de um conjunto de cadeias. D um exemplo. 8. Descreva informalmente as linguagens definidas pelas seguintes expresses regulares: a) (0+1)((0+1)(0+1))*; b) 0*1*. 9. Escreva expresses regulares para as seguintes linguagens: a) O conjunto de todas as cadeias binrias que terminam em 00. b) O conjunto de todas as cadeias sobre o alfabeto {a, b} com comprimento mpar e com exactamente 2 bs. 10. Descreva informalmente (por palavras) as linguagens representadas pelas seguintes expresses: a) b) c) d) e) 0(0+1)*0 (01)* (0+1)*0(0+1)(0+1) 0*10*10*10* (0+1)*111(0+1)*

11. Diga se so verdadeiras ou falsas as seguintes afirmaes:

a) (0+1)* == (0*+1*) b) (0+1)* == (0*1*)* 12. Escreva uma expresso regular para as seguintes linguagens: a) String em a, b, c, d em que o primeiro b precedido de um a; b) Todas as strings que contm as cinco vogais por ordem alfabtica consecutiva. 13. As quantias monetrias so expressas de diferentes formas. Escreva as expresses regulares que permitam fazer o seu reconhecimento das moedas apresentadas na tabela 2.1. Tabela 2.1: Representao de moedas MOEDA EXEMPLO Euro 12,23; 1,00; 2,35; 23,50 EUR Libra 12.50; 22.12; 22.99 Dlar $25.13; $5.00; $0.30; Escudo 12$50; 25$00; 150$00; 0$50 14. Determine V para verdadeiro, F para falso: a) Linguagens o meio de reconhecimento de palavras. b) Linguagens so formadas por, geradores e reconhecedores. c) Em uma linguagem palavras so um conjunto finito de caracteres. d) Uma gramtica fornece as regras para as cadeias de caracteres pertencentes as linguagens 15. Represente com expresses regulares os seguintes enunciados: e) Para o alfabeto {0,1}, onde w contm 01 imediatamente aps 10 . f) Para o alfabeto {a,b}, onde w no contem baa. g) Para o alfabeto {0,1}, quantidade de 1's maior que 0's. h) Para o alfabeto {a,b,c}, onde quantidade de a's maior que a quantidade de c's + b's. 16. Defina a representao de cada uma das expresses regulares: i) (0+1*)0(1+0)* j) 10*+(0+10) k) ab+ (a+b) l) (a+ b)+(a*b+) 17. Linguagens regulares so: 1- Linguagens aceitas por GR; 2- Linguagens expressas por gramticas regulares; 3- Linguagens do tipo 3;

4- Linguagens geradas por gramticas regulares; 5- Linguagens aceitas por AFN; Quais das alternativas esto corretas, seno, por qu? 18. Qua(l)(is) linguagens podem ser descritas por expresses regulares? 19. Quais os componentes de uma Linguagem formal? 20. Defina os operadores das expresses regulares, e como funcionam cada. 21. O que alfabeto? 21. Defina o conceito de cadeia. 22. Defina o conceito de linguagem e mostre um exemplo. 23. O que fechamento de um alfabeto? 24. Como se pode descrever uma linguagem formal? 25. Fale sobre aplicaes de LFA. 26. Defina o conceito de subpalavra. 27. Prove que se uma cadeia x prefixo de uma cadeia y e y tambm prefixo de x, ento x e y so iguais. 28. Prove que se uma cadeia x prefixo de uma cadeia y e y prefixo de uma cadeia z, ento x prefixo de z. 29. Dados L1={a, ab} e L2={, a, ba}, linguagens sobre {a, b}, determine: a) L1 U L2 b) L1 L2 c) L1 L2 d) L2 L1 e) L1*L2 f) L2*L1 g) L1 = L1*L1 h) L2 = L2*L2 i) L1 Conceitos de Gramticas; Gramticas Regulares 1. Para que servem as gramticas na teoria da computao? Como funcionam? 2. D os formalismos de uma gramtica regular. 3. Construa uma Gramtica regular linear direita que gere a linguagem denotada pela expresso regula aa*(ba)*. 4. Seja a gramtica regular: S aS|Ba|a

B bB|Ba| Qual a linguagem que essa gramtica gera? 5. A partir da gramtica regular construa a expresso regular: a) S1A|0B|A0 A 1A| B 0B b) S S10|10A A 1A| 6. Construa uma GR que gere strings no alfabeto {a,b} que contenham a seqncia ababb e no contenha a seqncia baba. 7. Construa uma gramtica linear esquerda que contenha, no alfabeto {1,0}, a string 1010. 8. (HU69) Escreva uma gramtica regular que gere a seguinte linguagem: L = { w | w {0, 1}*, e w no tem dois 1s consecutivos} 9. 6. Seja = {0, 1}. Construa uma gramtica regular que gere a linguagem: L = { w | nmero de ocorrncias de 01 igual ao nmero de ocorrncias de 10 }. As ocorrncias podem ser sobrepostas. Exemplo: 101 L (1 ocorrncia de cada), mas 1010 L (1 ocorrncia de 01 e duas de 10). 10. Escreva uma gramtica regular que gere identificadores de C. Ignore o fato que palavras reservadas no podem ser identificadores. 11. Escreva uma gramtica regular que gere identificadores com 1 a 6 caracteres e que comecem por I, J, K, L, M ou N (como as variveis inteiras de FORTRAN). 12. Escreva uma gramtica regular que gere comentrios que iniciam por /* e terminam por */, sem */ intervenientes, a menos que figurem entre aspas. 13. Escreva uma gramtica regular que gere constantes numricas da linguagem C. Exemplos de constantes numricas: 1, 1, -2 (inteiras decimais) 02, 04, -012 (inteiras octais) 0X10, 0x12, 0x1A (inteiras hexadecimais) 1L, 02L, 0x12L (constantes long)

10.0, 10.22, -1.0 (constantes double) 123.456e-7, 0.12E3 (double em notao cientfica). 14. Assinale V quando julgar verdadeira, ou F quando julgar falsa cada uma das seguintes afirmaes: a. ( ) Sobre uma linguagem L(G), gerada por uma gramtica G, podemos dizer que L(G) = { T*|S => } b. ( ) A gerao direta acontece pela aplicao de uma regra do conjunto P, transformando uma forma sentencial em outra. c. ( ) Qualquer cadeia que se possa gerar a partir do smbolo de partida de uma gramtica uma forma sentencial desta gramtica. d. ( ) Toda sentena de uma gramtica pode ser gerada diretamente a partir do smbolo de partida. e. ( ) Toda sentena uma forma sentencial e toda forma sentencial uma sentena. 15. Gere as gramticas para a(ba)*: A. Gramatica Linear a Direita. B. Gramatica Linear Esquerda. 16. Faa as gramticas quaram todas as palavras de (a+b)*(aa + bb); A. Gramatica Linear a Direita. B. Gramatica Linear Esquerda. 17. Escreva uma gramtica regular (tambm chamada linear esquerda) que gere o conjunto de todos os strings binrios que representam nmeros divisveis por 5. 18. Uma gramtica linear direita uma gramtica livre de contexto em que cada produo deve ser da forma A->Ba, ou A->b, onde a e b so smbolos terminais e A e B so noterminais. Gramticas lineares direita so tambm equivalentes a DFAs. Explique como converter um DFA em uma gramtica linear direita equivalente. Voc pode usar um exemplo para ilustrar o procedimento. 19. Construir gramticas regulares para as linguagens regulares sobre o alfabeto S {0,1}dadas a seguir: A. L1 = 0+1+ = { 0 n 1 m | n,m > 0 }

B. L2 = 0*1* = { 0

| n,m 0 }
n

C. L3 = ( 0 1 )+ = { (0 1)

|n> 0}

20. Construa uma Gramtica regular linear direita que gere a linguagem denotada pela expresso regula aa*(ba)*.

Conexo entre expresses regulares e linguagens regulares

a) As expresses regulares tm a capacidade de: a) Gerar linguagens regulares; b) Reconhecer Linguagens regulares; c) Denotar as linguagens regulares; Quais dessas alternativas esto corretas? Explique o que est incorreto. b) Qual a importncia das expresses regulares para as linguagens regulares? c) Prove que a linguagem {{an bn } n maior igual a 1} no regular . d) Como provar que uma linguagem est na classe das linguagens regulares. e) Seja a expresso regular (1+10)*. Que linguagem define? f) Seja a expresso regular (0+1)*011). Que linguagem define? g) Qual a linguagem representada pela expresso regular: a) (1+01+001)*(+0+00) b) ((0+1)(0+1))*+((0+1)(0+1)(0+1))* h) Seja = {0,1}. Encontre uma expresso regular para as linguagens: a. L(r) = {w * : w tem pelo menos um par de zeros consecutivos}. b. L (r) = {w * : w no tem qualquer par de zeros consecutivos}. 10. Mostre que: Se L uma linguagem regular, ento INIC(L) = { x

| xy L } tambm uma linguagem regular. 11. Mostre que: Se L uma linguagem regular, ento FIM(L) = { y | xy L } tambm uma linguagem regular. 12. Mostre que: Se L uma linguagem regular, ento L = {a2a1a4a3a6a5. . .anan-1 | a1a2a3. . .an L} tambm uma linguagem regular. 13. Prove que as linguagens a seguir no so linguagens regulares: a) b) c) d) e) La = { 0n1n | n 0 } Lb = { 0n | n 0 um nmero primo} Lc = {x xr | x {0,1}* e xr a cadeia reversa de x } Ld = { x x | x {0,1}* } Le = { x {0,1}* | | x | 0 = | x | 1 }

Propriedades das linguagens regulares e Lema do Bombeamento 1. Use as propriedades das linguagens regulares para a linguagem sobre {a,b} onde a quantidade de a's maior que de 1's: a) Fechamento b) Unio c) Concatenao d) interseco e) Complementao f) Diferena g) Reverso h) Homoformismo 2. Mostra que se L e M so regulares, L \M regular. 3. Seja a linguagem L = {uuRv / u, v {a, b}+}. Mostre que esta linguagem embora claramente no seja regular, no pode ser provada pelo lema do bombeamento. 4. Quais das seguintes igualdades so verdadeiras para todas as linguagens regulares e todos os homomorfismos? Justifique. a) h(L1 U L2) = h(L1) U h(L2) b) h(L1 L2) = h(L1) h(L2) c) h(Ln) = h(L)n d) h(L*) = h(L)* e) h(LR) = h(L)R f) h(L1 L2) = h(L1) h(L2)

5. Mostre que existe um algoritmo para determinar se L1 _ L2, para qualquer linguagem regular L1 e L2. 6. Mostre que existe um algoritmo para determinar se a interseco e unio de duas linguagens regulares finita, vazia ou infinita. 7. Seja = {0, 1}. Mostre que possvel aplicar o lema do bombeamento para as seguintes linguagens regulares. a) L = {w * / 0110 um prefixo de w} b) L = {w */ 0110 um sufixo de w} c) L = {w */ w = u111v para algum u, v *} 8. Mostre que as linguagens sobre _ = {a, b}, definidas a seguir, nao sao regulares. a) L = {w * / Na(w) = Nb(w)} b) L = {w * / Na(w) Nb(w)} c) L = {w * / u = v para algum prefixo u e sufixo v de w}. d) L = {ambn/ m > n} e) L = {ambn/ m n} f) L = {anban+1/ n 1} g) L = {ambn/ 1 m n 2m} h) L = {am+1bn+1/ 2 n m 3n} Autmatos Finitos Determinsticos 1. Formalize um AFD. 2. Qual a funcionalidade dos AFD's. 3. Descreva um AFD e suas propriedades. 4. Qual est correto? Um AFD Gera uma linguagem regular; Um AFD o nico formalismo que pode representar uma linguagem regular; Uma Gramtica gera uma linguagem, uma expresso denota uma linguagem e um AFD reconhece a linguagem; 5. Um AFD tem o poder de reconhecer somente as linguagens regulares: D sua opinio, se aceita ou no, e explique o por qu de seu posicionamento. 6. Tenha o AFD: (q0,1)=(q0)

(q0,0)=(q1) (q1,1)=(q1) (q1,0)=(q2) (q2,0)=(q2) 7. Explique qual a linguagem que o AFD reconhece. 8. Dado o alfabeto = {a,b}, construa AFDs para as seguintes linguagens: a) {b(ab)nb | n>0} b) { banba | n 0} c) {ambn | m+n par} d) {abmba(ab)n | m, n 0} 9. Seja = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, construa AFDs para as seguintes linguagens: a) {x * | a seqncia descrita por x corresponda a um valor inteiro par} b) {x * | a seqncia descrita por x corresponda a um valor inteiro c) divisvel por 5} d) {x * | a seqncia descrita por x corresponda a um valor inteiro mpar} 9. Desenvolva autmatos que reconheam as seguintes linguagens: a) b) c) d) {w {a, b}* | aabb subpalavra de w} {w {a, b}* | o sufixo de w aa} {w {a, b}* | w uma quantidade mpar de a e de b} {w {a, b}* | w possui uma quantidade par de a e mpar de b ou uma quantidade mpar de a e par de b} e) {w {a, b}* | o quinto smbolo da direita para a esquerda de w a} 10. Elabore um autmato finito determinstico que aceita a linguagem sobre o alfabeto {0,1} tal que as palavras apresentem a seqncia 01 em qualquer posio, ou seja, L = {x01y | x,y {0,1}*} 11. Construa um autmato finito determinstico sobre o alfabeto {0.1} que aceite todas as palavras terminadas em 00. 12. Construa AFDs (Autmatos Finitos Determinsticos) que reconheam as linguagens abaixo: a) L1 = {w | w {0,1}* e w comea por 1 e termina por 0} b) L2 = {w | w {0,1}+} c) L3 = {w | w {0,1}* e |w| 3} 13. Descreva um AFD capaz de reconhecer somente datas vlidas

(no levando em considerao anos bissextos) no formato americano ms/dia, onde ms e dia so representados com dois dgitos. Autmatos Finitos no-Determinsticos e Autmatos com transies vazias 1. Formalize um AFN. 2. Qual a diferena do AFN e o AFD. 3. Qual a funcionalidade do AFN. 4. Formalize o AFN-. 5. Qual dos AF's tem maior capacidade computacional. 6. Segundo a afirmao: Os AFN, AFN- e AFD tem o mesmo poder computacional, as linguagens reconhecidas por um AFD pode ser reconhecida por AFN e AFN-. Prove a afirmao usando o lema do bombeamento. 7. Construa um AFN que reconhea as cadeias que possuam abb como sub-string. 8. Tenha uma GR: S 1A|0B A 1A| B 0B| Construa um AFN 9. Dado um AFN: (q0,1)=(q1,q0) (q0,0)=(q0) (q1,1)=(q1,q2) (q1,0)=(q2) (q2,0)=(q2) Construa um AFN- que reconhea a mesma linguagem que o AFN reconhece 10. Construa autmatos finitos no-determinsticos (AFND) que reconheam as seguintes linguagens sobre = {0,1}: a) L1 = {w | w * e w comea por 1 e termina por 0} b) L2 = {w00 | w *} c) L3 = {x01y | x,y {0,1}*} 11. Mostre um AFND que aceita o conjunto de palavras sobre o alfabeto {0,1,...,9} tal que o dgito final j tenha aparecido antes na palavra.

12. Especifique um AFND para reconhecer o conjunto de palavras abc, abd e aacd sobre o alfabeto {a,b,c,d}. Aps, converta o AFND para o AFD correspondente. 13.Represente graficamente e atravs da tabela de transies, os AFN capazes de reconhecer as seguintes linguagens: a) String em a,b,c,d em que o primeiro b precedido de um a; b) Todas as strings que contm as cinco vogais por ordem alfabtica consecutivas. 14. Represente graficamente e atravs da tabela de transies, os AF capazes de reconhecer as seguintes expresses regulares e indique se so Determinsticos ou No Determinsticos: a) aa*|bb* b) (a*|b*)* c) (a|b)*abb(a|b)* d) a(a|b)* 15. Represente um AFND capaz de reconhecer nmeros reais no seguinte formato: inteiro,inteiro. O nmero real a reconhecer dever ter sempre uma vrgula e uma casa decimal, no sendo obrigatria a existncia de uma parte inteira. 16. Considere a expresso regular = (a + b)*a(a + b)n, para algum n >1. Justifique a seguinte afirmao: Existe um autmato finito no-determinstico A com n + 2 estados tal que L(A) = L(). 17. Construa AFNDs que reconheam as linguagens geradas pelas ERs abaixo, dando tambm a sua Especificao Formal Completa. a) b) c) d) e) f) g) (b*ab*ab*ab*)* b*aaab* (ab + ba)* (aa + bb)* ab (abb* + baa*)* ba (ab)*(ba)* U aa* (ab U aab)* a* (ba U b)* U (bb U a)*

Reconhecimento de linguagens regulares por Autmatos Finitos 1. Sejam os autmatos finitos:

que aceitam as linguagens: L (M1) = {x {0,1}* | | x |0 mod 3 = | x |1 mod 3} L (M2) = {x {0,1}* | | x | no contm dois 1s consecutivos} Utilizando as propriedades das linguagens regulares, pede-se para construir um autmato finito M, a partir de M1 e M2, que aceite a linguagem L, dada por: L = {x {0,1}* | | x |0 mod 3 = | x |1 mod 3 e x deve conter dois 1s consecutivos} 2. Considere os autmatos finitos M1 e M2 a seguir:

Utilizando as propriedades das linguagens regulares, e a partir de M1 e M2, construa os autmatos finitos descritos a seguir: a) M3 tal que L(M3) = L(M1)* b) M4 tal que L(M4) = L(M1) . L(M2) c) M5 tal que L(M5) = L(M1) L(M2) d) M6 tal que L(M6) = (complemento ( L(M1) ) L(M2) )* e) M7 tal que L(M7) = L(M1) L(M2) 3. Construa um autmato finito que reconhece as sentenas das linguagens abaixo sobre o alfabeto = {0,1}.

a) L = { 0m1n | m >0, n > 0} b) L = { 0m1n | m > 0, n > 2} c) L = { 0m1n | m > 0, n > 3} 4. Descreva com as suas palavras a linguagem aceita por cada um dos autmatos a seguir:

5. Determine os AF equivalentes as gramticas regulares abaixo: a) G=({ S, A, B }, { a, b }, P, S) P = { S => aA|bB|, A => aA|bB, B => bB|b } b) G=({ S, A, B, C }, { 0, 1, 2 }, P, S) P => { S => 0S|1A|2B|0|0C , A => 1S|1 , B => 2S|2 , C => 0S|0 } 6. Construa autmatos no deterministas com lamba movimentos para as linguagens:

a) (11 + (10)(101)* + 00)*01 b) L = {00, 010, 1001,10011}* 7. Para os autmatos abaixo, determine as expresses regulares das linguagens. O estado inicial de cada autmato A e os finais esto em negrito. a) Q/ A B C b) Q/ A B C 0 A C A 0 B A B 1 B B B 1 C C A

8. Escreva um autmato finito que aceita a linguagem de todos os strings de 0's e 1's nas quais em qualquer substring de cinco smbolos (consecutivos) ocorrem pelo menos dois 0's. 9. Escreva um autmato finito que aceita a linguagem de todos os strings de 0's e 1's que comeam ou terminam (ou ambos) com 01. 10.Considere a linguagem composta pelas cadeias no alfabeto {a, b} que contm a cadeia aaa ou a cadeia bb. Ou seja, a linguagem L = { x y z | x, z {a, b}* e ( y=aaa ou y=bb ) }. Construa um afnd M que aceite L. 11.Usando as propriedades das linguagens regulares, construa um autmato finito que reconhea a linguagem L = {an |n N e n no mltiplo de 3 e mltiplo de 5}. 12.Considere a seguinte descrio de um elevador: O aparelho movimenta-se entre trs andares, podendo estar nos pisos 0, 1 ou 2. Em cada andar h um boto de chamada nico. Dentro do elevador h trs botes a indicar o destino pretendido. Os botes no tm memria. Uma vez em movimento, o elevador desloca-se at atingir o destino, ignorando quaisquer outros pedidos, internos ou externos, os quais devero ser repetidos quando o elevador estiver em condies de os receber.

Quando chega a um andar, o elevador abre automaticamente a porta e, ao fim de algum tempo, fechaa tambm automaticamente. Chamar um elevador que se encontra no prprio andar tambm abre a porta. O elevador com a porta aberta no se desloca.

Entradas predefinidas: A, B, C chamada do andar 0, 1 ou 2, respectivamente; 0, 1, 2 boto de destino interior ao elevador para o andar indicado. Apresente um autmato que descreva o funcionamento do elevador. Indique o significado de cada estado. Construir uma 1 verso mais simples, com transies demoradas, e uma 2 verso mais detalhada, com transies (quase)instantneas.

Equivalncia entre Autmatos; Reduo de nmero de estados de autmatos finitos 1. Dado um AFD : (q0,1)=(q1) (q0,0)=(q0) (q1,1)=(q1) (q1,0)=(q2) (q2,0)=(q2) construa um AFN que reconhea a mesma linguagem que o AFD reconhece. 2. Dado um AFN: (q0,1)=(q1,q0) (q0,0)=(q0) (q1,1)=(q1,q2) (q1,0)=(q2) (q2,0)=(q2) Construa um AFN- que reconhea a mesma linguagem que o AFN reconhece. 3. Construa um AFD que reconhea a linguagem das cadeias que no possuem 1101 como sub-string: a) Construa um AFN equivalente. b) Construa um AFN- equivalente c) Construa um AFD que aceite as cadeias 1101. 4. Encontre um AFN - equivalente ao AFD:

q 0 a 5. Minimize o AFD: (q0,a)=(q1) (q0,b)=(q0) (q1,a)=(q2) (q1,b)=(q0) (q2,a)=(q3) (q2,b)=(q2) (q3,a)=(q3)

q 1 b

q 2 c

6. Tenha um AFD obtenha o AFD minimo para a mesma linguagem do AFD inicial: a) (q0,0)=(q1) (q0,1)=(q0) (q1,0)=(q1) (q1,1)=(q2) (q2,0)=(q2) (q2,1)=(q3) b) (q0,a)=(q1) (q0,b)=(q0) (q1,a)=(q1) (q1,b)=(q2) (q2,a)=(q2) c) (q0,1)=(q1) (q0,0)=(q0) (q1,1)=(q1) (q1,0)=(q2) (q2,0)=(q2) 1. Construa um AFD que reconhea as cadeias de comprimento mpares e, se possvel, construa um AFD- minimo para a mesma linguagem. 2. Construa um AFD que reconhea (a + b)+ b*(a+b)* e construa um AFD-minimo, se possvel. 3. Construa um AFD que reconhea (b)+ a*(aa+b)* e construa um AFD-minimo, se possvel

4. Dada a expresso regular a (b+a*)b*, construa um AFD, e um AFD-minimo, se possvel. 5. Quais os requisitos para a minimizao de um AFD. 6. Minimize os seguintes autmatos: a)

b)

c)

d)

7. Considera a linguagem de {a, b} definida pela expresso regular seguinte: (a + b)(aa + bb)*(b + a) + (b + a)(aa + bb)* (1) a) Descreve informalmente essa linguagem; b) Constri um autmato nito determinstico mnimo que a reconhea. Indique as palavras que levam o autmato do estado inicial a cada um dos estados. 8. Seja = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, construa AFDs mnimos para as seguintes linguagens: a) {x * | a seqncia descrita por x corresponda a um valor inteiro par} b) {x * | a seqncia descrita por x corresponda a um valor inteiro divisvel por 5} c) {x * | a seqncia descrita por x corresponda a um

valor inteiro mpar}

Funes de transio estendidas. Algoritmo de converso AFN>AFD. 1. Se possvel converta os seguintes AFN para AFD. a)

b)

c)

d)

e)

f)

g)

2. Construa um autmato no-determinstico que reconhea qualquer linguagem do alfabeto = {0, 1} das palavras com um 1 na terceira posio a contar do fim e depois converta-a para um AFD. 3. Considere o autmato nito no-determinstico representados pelo seguinte diagrama:

Converta, pela construo dos subconjuntos, o autmato num autmato determinstico. 4. Seja A o autmato nito de alfabeto {a, b, c} representado pelo diagrama seguinte.

a) Qual a linguagem reconhecida pelo autmato A? Porqu? b) Usando o mtodo da construo de subconjuntos, determineum autmato determinstico que seja equivalente a A. 5. Seja o autmato finito no determinstico (AFND) M = < {q0, q1, q2}, {0,1}, d, q0, {q2} >, com o mapeamento d dado por: d(q0,0) = {q1,q2} d(q0,1) = {q0} d(q1,0) = {q0,q1} d(q1,1) = { } d(q2,0) = {q0,q2} d(q2,1) = {q1} Pede-se: a) Encontre um autmato finito determinstico equivalente ao AFND M dado. b) Descreva L(M) por uma expresso regular. 6. Seja o autmato finito no determinstico (AFND) M = < {q0, q1, q2,{0,1}, d, q0, {q2} >, com o mapeamento d dado por: d(q0,0) = {q1,q2} d(q0,1) = {q0} d(q1,0) = {q0,q1} d(q1,1) = { } d(q2,0) = {q0,q2} d(q2,1) = {q1} Pede-se: a) Encontre um autmato finito determinstico equivalente ao AFND M dado. b) Descreva L(M) por uma expresso regular. 7. Converta em AFD.

8. Dado o AFN abaixo, transforme-o em um AFD equivalente. M = {Q, ,, q0, F}, onde: Q = {A,B,C,D} = {a, b} = {(A, ,B), (A, ,D), (B, a,B), (B, b,C), (D, 'aba',C)} q0 = A F = {C} 9. Dado o AFN abaixo: M = {Q, ,,q0, F}, onde: Q = {q0, q1} = {0, 1} = {(q0, 0, q0), (q0, 0, q1), (q0, 1, q1), (q1, 1, q0), (q1, 1, q1)} q0 = q0 F = {q1} a) Construa seu diagrama de transio de estados. b) Transforme-o em um AFD. 10. Projete um AFN que reconhea expresses aritmticas de comprimento arbitrrio, que envolva apenas inteiros positivos, separados pelos sinais de adio (+), subtrao (-), multiplicao (*) e diviso (/). No considere expresses peripatetizadas. Depois converta-o para um AFD. 11. Projete um AFN que aceite a linguagem que consiste das cadeias sobre o alfabeto = {w, x, y, z} nas quais o padro xy sempre seguido por um w e o padro yx sempre seguido por um z. E converta-o para um AFD. 12. Converta o AFN em um AFD equivalente:

13. 14.

O que funo estendida? D a formalizao da funo estendida.

Mquinas de Mealy e de Moore. 1. Construa o diagrama de estados de uma mquina de estados finitos (FSM que realize o controle de um elevador. O elevador dever respeitar a seguinte especificao: Se o elevador est parado e o andar requisitado igual ao andar corrente , ento o elevador continua parado. Se o elevador est parado e o andar requisitado menor que o andar corrente, ento o elevador deve descer para o andar desejado. Se o elevador est parado e o andar requisitado maior que o andar corrente, ento o elevador deve subir para o andar desejado. Sendo assim: a) Desenhe o diagrama da mquina de estados que realiza esta operao. b) Esta mquina Moore ou Mealy ? Por qu ? 2. Para cada autmato abaixo, verifique se uma Mquina de Mealy ou de Moore:

a)

b)

3. Toda Mquina de Moore pode ser simulada por uma Mquina de Mealy, para entradas no vazias, e Toda Mquina de Mealy pode ser simulada por uma Mquina de Moore. Encontre as mquinas de Mealy e Moore equivalentes as mquinas do exerccio anterior. 4. Construa uma Mquina de Mealy que reconhea uma palavra w, |w| 1, tal que w = x+ e produza uma seqncia de sada v = (ab) + , em que |v| = 2|w|. 5. Considere a seguinte Mquina de Moore e verifique sua equivalncia com a Mquina de Mealy do exerccio anterior.

6. Seja a seguinte Mquina de Moore abaixo, construa uma Mquina de Mealy eqivalente.

7. Qual a principal diferena entre uma Mquina de Moore e uma Mquina de Mealy ? 8. Descreva o processo de construo de uma Mquina de Mealy a partir de uma Mquina de Moore, e de uma Mquina de Moore a partir de uma Mquina de Mealy. 9. Construa mquinas de Mealy e de Moore para o problema abaixo: Mquina de atraso de 3 unidades. A mquina recebe uma seqncia formada por cadeias de 0s e 1s e emite a mesma sada com 3 unidades de atraso. Para os trs primeiros instantes de tempo emita uma seqncia de trs 0s. 10. Construa mquinas de Mealy e de Moore para o problema abaixo: Mquina de atraso de 4 unidades. A mquina recebe uma seqncia formada por cadeias de 2s e 1s e emite a mesma sada com 4 unidades de atraso. Para os trs primeiros instantes de tempo emita a seqncia '122'. 11. Construa uma Mquina de Mealy que reconhea uma palavra w, |w| 2, tal que w = x+ e produza uma seqncia de sada v = (ab)* , em que |v| = 3|w|. 12. Construa uma Mquina de Mealy que reconhea uma palavra w, |w| > 0, tal que w = x* e produza uma seqncia de sada v = (ab)* , em que |v| = 2|w|. 13. Qual a caracterstica comum entre as Mquinas de Moore e Mealy? Comente sobre ela, em particular, relacionando-a no necessidade de existncia de estado final na definio dessas mquinas. 14. A empresa de refrigerantes X deseja projetar um circuito que realize o controle de venda de 1 lata de refrigerante na sua mquina de refrigerantes. Para isto o empresa o contratou, voc

como projetista-chefe do projeto deve especificar (desenhar) o diagrama de uma mquina estados finitos (FSM) que realize o controle da entrada de moedas na mquina. Se entrar o valor correto a latinha deve sair da mquina, caso contrrio, deve voltar para o estado inicial e devolver as moedas. Sabe-se que o preo do refrigerante um real, e tambm que a mquina somente aceita moedas de 1 real, 50 centavos e 25 centavos. Porm, a mquina pode aceitar qualquer seqencia de moedas. Sendo assim: a) Desenhe o diagrama da mquina de estados que realiza esta operao. b) Esta mquina Moore ou Mealy ? Por qu ? 15. Qual a diferena entre mquinas de estado Moore e Mealy? 16. O que diz a Lei de Moore?

17. Escreva uma maquina que avalia a seguinte expresso: X = (A + B) * (C * D) + E * F 18. D a formalizao das mquinas de moore e mealy.

19. Como transfomar uma mquina de mealy em uma mquina de moore?

Gramtica livre de contexto e Mtodos para simplificar GLC 1. Construa as gramticas livres de contexto: a){anbn}n maior ou igual a 1 b){anbmcp}m,n,p diferentes de 0. c) Que gere um palndromo no alfabeto {a,b}. d)Que gere parnteses balanceados. e){0m1n+m}, em que m,n maiores que 1. f) 0*1(0+1)* g){anbm}n > 2 e m > 1 h){0n1m}n maior ou igual 0 e m > 0 i) {0n1m2x}m maior ou igual 0 e n, x > 0. j) 0(0+1)*0 k)(01)* l) (0+1)*0(0+1)(0+1) m)0*10*10*10* n)(0+1)*111(0+1)* 2. Depois de gerar as gramaticas da questo anterior use os Mtodos de simplificao das GLC para:

a) elimine os smbolos inteis b) elimine produes c) elimine produes unitrias 3. Tenha a gramtica livre de contexto: S ASB| A aAS|a B SbS|A|bb 4. Elabore uma GLC que gere: a) 01*(0+1*). b) (0+1)((0+1)(0+1))*; c) 0*1*. Formas Normais para GLC: Chomsky e Greibach 1. Descreva as seguintes gramticas em Forma Normal de Greibach: a) S =>AB | SCB A =>aA | C B =>bB | b C=>cC | b) S =>aAd | A A =>Bc | B =>Ac | a c) S =>A | B | ABS A =>aA | B =>aBAb | d) S =>AB | CSB A =>aB | C B =>bbB | b e) S => | ABa | AbA A =>Aa | B =>Bb | BC C =>CB | CA | bB f) S =>AB | BCS A =>aA | C B =>bbB | b C =>cC | g) S =>aAd | A | A=>Bc | c

B =>Ac h) S =>aAd | A | A=>Bc | c B =>Ac | SS 2. Descreva as seguintes gramticas em Forma Normal de Greibach: a) S =>AB | SCB | SB | bB | b A =>aA | a | cC | c B =>bB | b C =>cC | c b) S =>aAd | ad | Bc A =>Bc B =>Ac | a | c c) S =>ABS | BS | AS | AB | aA | a | aBAb | aAb | aBb | ab A =>aA | a B =>aBAb | aAb | aBb | ab d) S =>AB A =>aB B =>bbB | b e) S =>AbA | bA | Ab | b | Aa | a A =>Aa | a f) S =>AB | BCS | BS | bbB | b A =>aA | a | cC | c B =>bbB | b C =>cC | c g) S =>aAd | Bc | c A =>Bc | c B =>Ac h) S =>aAd | Bc | c A =>Bc | c B =>Ac | SS | aAd | Bc | c 3. Tenha a gramtica livre de contexto: S ASB| A aAS|a B SbS|A|bb a) Coloque a gramtica na forma normal de chomsky. b) Coloque a gramtica na forma normal de greibach. 4. Tenha a GLC que gere a linguagem das palavras que contem a

quantidade de a's duas vezes mais que a quantidade de b's. a) Obtenha a forma normal de chomsky b) Obtenha a forma normal de greibach 5. Elabore uma GLC que gere 01*(0+1*): a) Obtenha a forma normal de chomsky b) Obtenha a forma normal de greibach 6. Converta a seguinte GLC na forma normal de greibach: S SSS|RS|0 R RR|SR|1 Autmato de pilha determinstico; Autmato de pilha nodeterminstico 1. Assinale V quando julgar verdadeira, ou F quando julgar falsa cada uma das seguintes afirmaes. ( ) Autmatos com Pilha s mais poderosos do que AFND's que, por sua vez, s mais poderosos que AFD's. ( ) O smbolo base da pilha de um AP deve ser um elemento do alfabeto S. . ( ) A configurao de um AP em um dado momento pode ser descrita por uma tripla <s, x, a > onde s o estado corrente, x a cadeia da fita que falta ser processada e a o contedo da pilha, com o topo no incio de a . ( ) Considerando a definio de AP estudada, pode-se afirmar que para uma cadeia ser reconhecida por um AP, o processamento da mesma deve encerrar com um estado final ativo. ( ) Autmato com Pilha um formalismo que pode ser aplicado no projeto sinttico de linguagens computacionais. 2. Fale sobre o poder computacional dos Autmatos com Pilha. 3. Descreva a funo de transio dos Autmatos com Pilha. 4. Considerando a definio de Autmato com Pilha estudada, o que deve acontecer para que uma cadeia seja reconhecida? 5. Construa Autmatos de Pilha determinstico que reconhea: a){anbn} n maior ou igual a 1. b){0n+m1m} m,n maior que 1. c){anbmcj} n diferente de m ou m diferente j. d) parnteses balanceados. e) frmulas de lgica com os operadores =>, <=>, ^, v, ~ f) um valor em real com at 4 carteres antes da vrgula e 'R$'. Ex. R$ 2000,00 6. Construa Autmatos de pilha no-determinsticos para:

a){anbn} n maior ou igual a 1. b){0m1n+m} m,n maior que 1. c){anbmcj} n diferente de m ou m diferente j. d){0n1m} m igual ou maior que n que maior que 1. e) uma data. Ex.:20/10/1986 7. Construa Autmatos de pilha a partir das seguintes expresses: a) 0*1* b) 00*11* c) (00)*(11)* d) ((00)*(11)*)* 8. Encontre Autmatos a Pilha que reconheam por estados finais os seguintes conjuntos: a) L1 = { w { 0, 1 }* | w contm o mesmo nmero de 0s e 1s } b) L2 = { an bm| n m 2*n e n, m > 0 } c) L3 = L(G) onde G = ( { S , A } , { a, b } , P, S ) onde P = { S => a A A , A =>b S | a S | a } 9. Realize as modificaes necessrias para transformar os Autmatos a Pilha do exerccio anterior para fazer o reconhecimento das sentenas por pilha vazia. 10. Considere a gramtica livre de contexto G = ( N, , P, S )

com produes escritas na Forma Normal de Greibach, onde N={S,A,B} ={a,b} P = { S => a B S | a B | b A S | b A A => bAA| a B => aBB | b} Encontre um autmato a pilha M, tal que N ( M ) =L( G ). Autmato de pilha e Linguagem livre de contexto (LLC) 1. Dar a gramtica livre de contexto que gere a linguagem N ( M ), onde M dado por: M = ( Q, , , , q0, Z0, F ) onde Q = { q0 , q1 }, = { 0 , 1 }, = { Z0 , X }e por:

( q0, 1 , Z0 ) = { ( q0 , X Z0 )} ( q0, 1 , X ) = { ( q0 , X X ) } ( q0, , Z0 ) = { ( q0 , e ) } ( q0, 0, X ) = { ( q1 , X ) } ( q1, 0 , Z0 ) = { ( q0 , Z0 ) } ( q1, 1 , X ) = { ( q1 , e ) } 2. Construa um autmato a pilha que reconhece as sentenas das linguagens: a) L1 = { w { a, b}* | n(a) = 3*n(b) ou n(b) = 3*n(a) } b) L2 = { w { a, b, c}* | n(a) + n(b) = n(c) e w no contm dois as consecutivos } c) L3 = { 0i 1j 2k | i = j ou j = k , i, j, k >0 } d) L4 = { 0i 1j | i * j um nmero par , i, j >0 } 3. Se L1 uma linguagem livre de contexto ento L2 = { w | wR L1 } umalinguagem livre de contexto ? (wR representa w invertido) 4. Se L1 e L2 so linguagens livres de contexto sobre , ento L1 L2 livre de contexo? Justifique. 5. Se L uma linguagem livre de contexto ento Init(L) = { x | para algum y, xy L } uma linguagem livre de contexto ? 6. Mostre que toda a linguagem livre de contexto sobre um alfabeto de um nico smbolo regular. 7. Mostre que se L = { x c y | x, y {0, 1}* e |x|>|y| } livre de contexto. 8. Mostre que se L livre de contexto ento L* tambm livre de contexto. 9. Para as formulas bem formadas (fbf's) da logica construa uma

GLC que gere apenas a linguagem das fbf. 10. Dar gramaticas livres de contexto para as seguintes linguagens: a) palndromas sobre o alfabeto {a, b}, b) o conjunto das palavras formadas por parenteses balanceadas, por exemplo (()), ()(), (()()), . . . c) as palavras sobre {a, b, ;, ", ., (, ), } das expresses regulares sobre {a, b}. 11. Considere a GLC G=(V,T,P,S) V={S,A,B} T={0,1} P={S =>A1B, A => 0A | e, B => 0B | 1B | e} Qual a linguagem gerada? Essa linguagem regular ou livre de contexto? Justifique sua resposta. 12. Construa uma GLC capaz de gerar todo o conjunto de Expresses Regulares vlidas sobre o alfabeto {0,1}. Dica: utilize "e" para indicar a palavra vazia da expresso regular. 13. Desenvolva Gramticas Livre de Contexto (GLC) que geram as seguintes linguagens: a) L = {a,b, c}* b) L = {w | w e {a,b}, com a's sempre no meio da palavra} c) L = {aib2i | i 1} d) L = {aibjck | i j ou j k} 14. Construa Autmatos com Pilha (AP) que reconheam as seguintes linguagens: a) L = {aib2i | i 1} b) L = {anbmcn+m | n,m 0} c) L = {ambn | m n} Propriedades das linguagens livres de contexto e Lema do Bombeamento 1. Use o lema do bombeamento para provar que as linguagens no so livres de contexto: a){anbmcj} onde n<m<j b){anbncj} onde j menor que n. c){0n1m} onde m=n. 2. Aplique as propriedades para as linguagens: a){anbn} n maior ou igual a 1.

b){0n+m1m} m,n maior que 1. c){anbmcj} n diferente de m ou m diferente j. d){0n1m} m igual ou maior que n que maior que 1. 3. Cite as principais propriedades das linguagens livre de contexto. 4. Verifique quais as linguagens abaixo so livres de contexto. As que achar que so livres de contexto, prove que so. a) O conjunto de palavras com mesmo nmero de 0s e 1s b) {x | x (0+1)* e x = xR} c) {apbq | p < q e p, q 0} d) {ww | w (a+b)*} e) Linguagem das sentenas bem formadas da lgica proposicional 5. Prove quais as propriedades so vlidas para as linguagens livres de contexto: Fechamento sobre unio, interseo, complemento, concatenao, fecho. 6. Para os problemas de deciso abaixo, determine quais so decidveis e quais so indecidveis. Para os decidveis proponha um algoritmo abstrato para resolver o problema. a) Dado duas linguagens livres de contexto L1 e L2, elas so equivalentes? b) Dado uma linguagem livre de contexto L e w uma palavra qualquer do alfabeto de L, w L? c) Seja L uma linguagem livre de contexto, L vazia? L finita? L infinita? d) Seja G uma gramtica livre de contexto. G ambgua? e) Seja L1 e L2 linguagens recursivamente enumerveis, L1 equivalente L2? 7. As linguagens livres de contexto so recursivamente enumerveis? So recursivas? Justifique. 8. Mostre que as linguagens abaixo no so livres de contexto: a)L = {am bn cm dn | m, n 0} b)L = {an | n um quadrado perfeito} c)L = {am bn | m = n2 } d) L = { ww | w {a, b}* } 9. Quais linguagens abaixo so regulares e quais no so?

Justifique cuidadosamente suas respostas! Utilize o Lema do Bombeamento convenientemente, quando for o caso. (a) {(011)2i : i 1} (b) {aibj : i j } Mquinas de Turing e Maquinas de Turing Desterministicas 1. Desenvolva Mquinas de Turing, determinsticas ou no, que aceitam as linguagens: a) L3={w | w tem o mesmo nmero de smbolos de a e b} b) L4={ w | o dcimo smbolo da direita para esquerda a} c) L5={waw | w palavra de {a,b}* } e) L6={ww | w palavra de {a,b}* } f) L7={ wwr | w palavra de {a,b}* } g) L8 = {www | w palavra de S*} h) L9 = {w | w = a1 b2 a3b4 an-1bn e n um nmero natural par} i) L10 = {w | w = anbn ou bnan} j) L11 = {w | w = aibjck, onde i=j ou j=k} 2. Construa uma MT que reconhea a linguagem L = {wwRw | w {0,1}*} 3. Formalize a mquina de turing. 4. Construa a maquina de turing para: a) {anbncn} n que maior ou igual 1. b) linguagem de palndromos em {a,b}. c) Linguagens que comparam se um nmero par ou mpar. d) F(n)=2n, onde n maior ou igual a 1. e) tenha na fita o formato $$$, em que entre os $ existem {0,1}*, faa a diviso. f) tenha na fita o formato $$$, em que entre os $ existem {0,1}*, faa a multiplicao. 5. Projete uma MT que faz uma da cpia de uma cadeia de entrada na ordem inversa direita dessa aps um espao em branco. 6. Construa uma mquina de Turing determinstica que aceite a linguagem {xx | x { a, b }* }. 7. Construa uma mquina de Turing determinstica que aceite a linguagem {xy | x,y { a, b }* e y=2x }. 8. Defina Mquina de turing determinstica. 9. Construa uma mquina de Turing determinstica que aceite a linguagem {xyw | x,y,w { 1,0 }* e y=2x, w=y/x }.

10.

F(n)=n, onde n maior ou igual a 1.

11. Tenha na fita o formato $$$, em que entre os $ existem {0,1}*, faa a Fatorial. 12. Desenvolva Mquinas funes: a) Subtrao, definida por: m - n, se m > n zero, caso contrrio b) Fatorial de n, para n N 13. Como, sem perda de generalidade, pode-se supor que a funo programa de uma Mquina de Turing seja total? 14. Construir uma Mquina de Turing que compute a soma de dois nmeros naturais escritos em forma binria (Sugesto: Use uma Mquina de Turing com mais de uma fita). Usar um exemplo para mostrar que a Mquina funciona! 15. Construa uma mquina de Turing que calcule a funo g: N => N, definida por (resto da diviso inteira de n por 3). 16. Construa uma MT para comparar dois nmeros x, y em representao unria e indicar: x > y responde 1 x < y responde 0 Construa uma TM para computar o quadrado de n. Fita de entrada: ...A111...11B.... (n 1s) 17. Projete uma TM para calcular o fatorial de n. 18. Projete uma TM de cpia binria que se comporta como indicado no exemplo: Fita inicial : .....A121220...B..... Fita final : .....A121220...B121220... Usar o alfabeto {0,1,2,A,B,x} (8 estados so suficientes!) 19. Projete uma mquina de Turing para reverter uma cadeia de caracteres de 1s e 2s. de Turing que processem as

20. Seja a expresso booleana (EB) definida indutivamente como segue: i) v e f so EB; ii) Se p e q so EB, ento p e q e p ou q tambm so EB. Assuma que o conetivo e tem prioridade sobre o ou: a) Construa uma Mquina de Turing sobre = { v, f, e, ou } tal que: ACEITA(M) = { EB | EB v } REJEITA(M) = { EB | EB f } LOOP(M) = { W | W no EB} 21. Projete uma mquina de Turing D que inidica se m divide ou no n, atravs de seu estado interno. Fita de entrada : ...01m01n0... (m>0, n 0). D eventualmente pra com exatamente a mesma configurao da fita de entrada . 22. Use D da questo anterior como submquina, projete uma mquina de Turing P que tem como fita de entrada ...01k0... (k 2) e indica atravs de seu estado interno se k primo. 23. Uma operao comum em programas de MTs envolve o deslocamento. Projete uma MT que tem uma sub-rotina para efetuar essa operao, durante o reconhecimento da linguagem L = {anbncn |n 1}, onde a cada smbolo processado apagado e todos os demais smbolos direita so deslocados uma casa para esquerda. Por exemplo, se a cadeia de entrada for aaabbbccc aps o processamento do 1 a teremos a cadeia de entrada resultante: aabbbccc. 24. Projete uma MT que faz uma da cpia de uma cadeia de entrada na ordem inversa direita dessa aps um espao em branco. Por exemplo, se entrada aabbccc temos como sada aabbccccbbaa. 25. Descreva uma mquina de Turing com o seguinte comportamento: no inicio a fita tem um input com k 1s consecutivos. Queremos que a computao acabe sempre e que no final a fita s contenha k+1 1s consecutivos, estando a cabea de leitura em cima do 1 mais esquerda (esta MT calcula a funo sucessor suc(k) = k+1). 26. Descreva uma MT que calcule x+y, onde x;y pertencem aos naturais so os inputs. O input da TM dado por x 1s consecutivos, seguido de um smbolo branco B, seguido de y 1s consecutivos. O resultado deve ser calculado em notao unria. 27. Descreva uma MT que calcule max(x;y), onde x;y pertencem aos naturais so os inputs. Os inputs e outputs devem ser dados/obtidos segundo as regras do exerccio

anterior. 28. Descreva uma MT que decida a linguagem {w {0,1} *| w contm o mesmo nmero de1s que 0s} 29. Descreva uma MT que calcule a funo sucessor para inputs definidos em binrio sobre {0,1}*. O resultado tambm deve ser escrito em binrio. 30. Descreva uma MT que decida a linguagem A = 0k | k= 2n para n N. Mquina de Turing no determinstica; outros modelos de Mquina de Turing 1. Dado um alfabeto , construa uma MTND que aceite a linguagem L = $G$w$, onde G a representao de uma GLC e w uma sentena sobre . Defina a representao de G de forma conveniente. ($ no est em ; voc tambm pode usar smbolos fora de para representar G). 2. Construa uma MTND que reconhea a linguagem (sobre ={0,1,#}), L = { w1#w2#...#wn | wi = i na base 2, para algum i}. 3. Construa uma MT que reconhea a linguagem L = {wwRw | w {0,1}*} 4. Projete uma maquina de turing no-determinstica que aceite: a) X>y retorne true, seno false. b) O fatorial de x. 5. Projete uma mquina de turing com duas fitas que: a) retorne se uma cadeia maior que a outra. b) retorne a soma das cadeias 6. Projete uma mquina de turing com trs fitas que: a) retorne a diviso de duas cadeias b) retorne o fatorial de duas cadeias 7. projete uma mquina de turing com mltiplas fitas que retorne o exponencial de uma cadeia. 8. Para cada uma das linguagens abaixo, fornea 3 exemplos de cadeias que pertenam a elas, e contrua as mquinas de turing no deterministicas para cada uma delas:

a) L1 = { aibjck | 5 i 0 ; 3 j 1 ; 4 k 2 } b) L2 = { aibjck | i=j ou j=k, i, j, k 0 } c) L3 = { aibjck | i=j=3 e k 0, ou j=k=4 e i 0 } d) L4 = { aibj | i=2j , " i, j 0 } e) L5 = { aibj | 0 i 5 e 0 j 10 } 9. Projete uma mquina de Turing com mltiplas fitas para efetuar: a) Soma de dois nmeros naturais b) Multiplicao de dois nmeros naturais d) diviso de dois nmeros naturais e) exponencial de dois nmeros naturais f) verificar parenteses balanceados g) verificar se uma equao qumica est balanceada h) verificar um endereo vlido de e-mail i) um valor em reais. Ex.: R$ 200,00 Codificao de Mquinas de Turing 1. Construa maquina de turing e sua codificao: a) {anbncn} n que maior ou igual 1. b) linguagem de palndromos em {a,b}. c) Linguagens que comparam se um nmero par ou mpar. d) F(n)=2n, onde n maior ou igual a 1. e) tenha na fita o formato $$$, em que entre os $ existem {0,1}*, faa a diviso. f) tenha na fita o formato $$$, em que entre os $ existem {0,1}*, faa a multiplicao. g) Tenha na fita o formato $$$, em que entre os $ existem {0,1}*, faa a Fatorial. 2. Construa linguagens: e codifique mquinas de Turing que aceite as

a) La = { 0n 1n 2n | N >0 } b) Lb = { i ( + i )
n

|n>0}

c) Lc = { w c y |w , y { 0, 1 } * e w y } d) Ld = { x { 0, 1 } * | x contm o mesmo nmero de 0s e 1s } e) Le = { 0 i 1 j 2 k | i = j ou j = k , com i, j, k > 0}

3. Constri e codifique as mquinas de Turing que aceitem cada uma das seguintes linguagens. (a) {0n1m | n m} (b) {anbncn | n 0} (c) {1p01q01n | p + q = n} (d) as palavras de {a, b} com mais a's que b's (e) {an2| n 1} (f) {a2n| n 1} (g) {ap | p primo} (h) {wwr | w {a, b}*} (i) {w@w | w {a, b}*} (j) {ww | w {a, b}*} (k) {xcnxR | x {a, b}*, |x| = n} (l) {0n1m2k3l | n, m, k, l 0, n = 3k e m = l} (m) {aibjck | i, j, k 0 j = 2i e k = i} Hierarquia das Linguagens Formais e Linguagens recursivas; A hierarquia de Chomsky; e introduo s linguagens recursivas; Linguagens recursivamente enumerveis; Gramticas no-restritas; e Gramticas sensveis ao contexto 1. Segundo a hierarquia: a) linguagem tipo3 b) Linguagem Recursivamente enumervel c) Linguagens livres de contexto d) Linguagem sensveis ao contexto 2. Defina linguagens recursivas 3. D exemplos de linguagens recursivas. 4. Seja L uma linguagem recursiva. A linguagem L' formada pelas strings revertidas de L recursiva? Justifique . 5. Quando uma linguagem recusiva? 6. Quando uma linguagem recussivamente enumervel? 7. Uma linguagem L A recursiva se e s se existe uma mquina de turing T que reconhece L e tal que a configurao inicial de qualquer palavra U pertencente a L. Esta afirmao est correta? Justifique. 8. Classifique as linguagens abaixo no nvel mais restrito possvel. Por exemplo a linguagem

regular. Justifique sua resposta. 9. Marque (V) ou (F) justificando. . .

classificada

como

( )Todo subconjunto de um linguagem recursiva uma linguagem recursiva. ( )A unio de linguagens recursivamente enumerveis r.e. ( )A interseo de linguagens r.e. r.e. ( )O conjunto das linguagens r.e. cujo complemento tambm linguagem r.e. o conjunto das linguagens recursivas. ( )Todas as classes de linguagens da hierarquia de Chomsky, exceto a classe das no-r.e., possuem a mesma cardinalidade. 10. Se L recursiva, ento: {w | wR L } recursiva? Recursivamente enumervel? Justifique detalhadamente sua resposta. 11. Se L1 e L2 so recursivos ento: a) L1 L2 recursiva? b) L1 L2 recursiva? c) L 1 recursiva? d) L1 - L2 recursiva? e) L* recursiva? 12. Descreva a Hierarquia de Chomsky, tanto do ponto de vista das gramticas quanto dos autmatos. No se esquea de lembrar que com relao aos autmatos temos tanto verses determinsticas quanto no-determinsticas. Depois escolha 3 tipos (distintos) de linguagens na hierarquia. Para cada tipo escolhido mostre um exemplo de linguagem que pertena a ele e no pertena ao tipo imediatamente mais restrito. Voc pode

escolher, por exemplo, mostrar uma linguagem r.e. que no recursiva, alm de outras duas escolhas. No vale usar a linguagem da questo 3. 13. Seja L uma linguagem recursiva sobre {0, 1} e L = {w | w L tq |w| = |w| e todas as posies onde ocorre 1 em w tambm ocorre 1 em w}. L recursiva? L recursivamente enumervel? 14. Escreva uma gramtica sensvel ao contexto que gere as sentenas sobre = {a, b, c} que possuem um nmero igual de as, bs e cs. 15. Escreva uma gramtica sensvel ao contexto que gere a linguagem = {0, 1}. 16. L = { ww | w * }, isto sentenas cuja primeira metade igual a segunda. 17. Construa uma GSC (Gramtica Sensvel ao Contexto) G | a) L(G) = { an bn cm | n 0, m 0 n m } b) L(G) = { an bm cp dq| n,m,p,q 0 n > p q < m } c) L(G) = { x | x ( a, b,c)* #as

#bs

#cs}

d) L(G) = { x | x (a)* (b, c,d)+ #as > #cs #bs < #ds }

18. Use o algoritmo que mostra que as linguagens sensveis ao contexto so recursivas, e determine se as cadeias abaixo pertencem linguagem gerada por G. (Qual o tipo de G?) G=({S, A}, {a, b}, {SaAS, Sa, ASbA, Aba, ASS}, S): a) abaa b) abbb c) baaba 19. Transforme a seguinte gramtica em uma gramtica na forma normal de Chomsky . G=({S, M, N}, {x, y, z}, {S MzSzN, S , M xM, M x, N yN, N z}, S); 20. Converta a gramtica S 0S1|A A 1A0|S| em PDA que aceite a linguagem por pilha vazia. 21. Converta a gramtica

S aAA A aS|bS|a em PDA que aceite a linguagem por pilha vazia. 22. Converta o PDA em uma gramtica livre de contexto. a) (q0,a)=(q0,?,A) (q0,a)=(q0,,A) (q0,b)=(q0,A,) (q0,)=(q1,,) b)(q0,()=(q0,?,A) (q0,()=(q0,,A) (q0,))=(q0,A,) (q0,)=(q1,,) 23. Para as formulas bem formadas da logica faa: a) Construa uma GLC que gere apenas a linguagem das fbf. b)Construa um PDA que aceite apenas a linguagem das fbf. 24. Se L1 * e L2 * so linguagens, o quociente de L1 por L2 direita definido como: L1/ L2 = {w| w * : u L2 tal que wu L1}; Mostre que se L1 livre de contexto e R regular, ento L1/R livre de contexto (lembre-se das propriedades de fechamento; 25. Mostre que se L livre de contexto ento L P. 26. Prove que, se A B, e A no enumervel, ento B no enumervel. 27. Mostre que o conjunto dos nmeros reais no intervalo [0, 1] no enumervel. 28. Dada uma linguagem sensvel ao contexto especfica (LS), possvel construir um autmato finito, um PDA, um autmato limitado linearmente, e uma mquina de Turing que a reconhea? Responda considerando cada mquina individualmente. 29. possvel construir um autmato finito que seja capaz de reconhecer uma linguagem recursivamente enumervel? 30. Segundo a hierarquia de Chomsky, de que tipo podemos afirmar que a gramtica definida por: G = ( {0,1}, {A, B, C, S}, S , P ), com P = {S=>1AA , SA=>0A01 , S=> , A=> , S=>1S}? 31. O que a Hierarquia de Chomsky? Esclarea o que ela

representa, como ela se estrutura, e discuta sua natureza dual mquina-linguagem (ou mquina-gramtica). OBS: Um desenho apenas, sem comentrios, no basta! 32. Seja L a linguagem recursivamente enumervel reconhecida pela mquina de Turing TL. Em termos do comportamento de TL, diga o que acontece no caso de TL receber como entrada uma cadeia w1 L, e no caso de receber a cadeia w2 Lb, onde Lb o complemento de L (isto , L Lb = *). 33. Para cada uma das linguagens abaixo, fornea 3 exemplos de cadeias que pertenam a elas, e discuta qual poderia ser a mquina mais simples entre as que aparecem na Hierarquia de Chomsky que pode ser usada como um reconhecedor delas: a) L1 = { aibjck | 5 i 0 ; 3 j 1 ; 4 k 2 } b) L2 = { aibjck | i=j ou j=k, i, j, k 0 } c) L3 = { aibjck | i=j=3 e k 0, ou j=k=4 e i 0 } d) L4 = { aibj e) L5 = { aibj | i=2j , i, j 0 } | 0 i 5 e 0 j 10 }

Computabilidade, Complexidade e Decibilidade 1. Considere o problema de determinar se um AFD e uma expresso regular so equivalentes. Expresse esse problema como uma linguagem e mostre que ele decidvel. 2. Considere o seguinte problema de deciso: dada uma linguagem arbitrria L sobre um alfabeto definida por uma gramtica de estrutura de frase G = (V, , R, S), e uma cadeia arbitrria w *, w pertence a L? Este problema decidvel? Justifique. 3. Prove que o problema seguinte indecidvel: dados dois programas e uma entrada, determinar se os dois programas produzem a mesma sada para a entrada dada. Sugesto: considere os dois programas seguintes e tire partido do facto do problema da terminao ser indecidvel. int f(int x) { /* retorna sempre 0 independentemente do valor de x */ return 0; }

int g(int x) { /* invoca um procedimento (funo) que recebe x e no retorna nada */ p(x); /* retorna sempre 0 independentemente do valor de x */ return 0;} 4. Escolha uma enumerao de *. Para essa enumerao, descreva algoritmos que permitam: a) dado um natural i, determinar a cadeia xi de * correspondente. b) dada uma cadeia x em *, determinar o natural i tal que x = xi. c) dada uma cadeia xi em *, determinar se xi ou no a representao de uma mT. 5. O conjunto das funes computveis fechado por minimizao ilimitada. 6. Existem mais funes computveis do que no-computveis Problema da Parada; Classes de problemas P e NP 1. Diz-se que um problema de deciso L pertence classe P (polinomial) se existe uma mquina de Turing determinstica (em ltima instncia, um algoritmo) que aceita todas as entradas de L num nmero de passos polinomial no tamanho da entrada e rejeita todas as entradas que no so de L num nmero finito de passos (sem entrar em ciclo infinito). Com base nesta definio, mostre que os seguintes problemas pertencem classe P: a) verificar se um nmero binrio maior do que outro (por exemplo, a mquina de Turing deve aceitar a cadeia 100>11, mas deve rejeitar a cadeia 100>100) ; b) verificar se um nmero binrio divisvel por outro; (** trabalhoso) c) verificar se um nmero binrio primo (*** extremamente difcil, resolvido em 2002). 2. Considere o seguinte problema (problema dos convidados): Dado um conjunto P de pessoas e um conjunto I de incompatibilidades entre pares de pessoas em P, existe alguma maneira de dispor essas pessoas numa mesa redonda de forma a que no fiquem lado a lado duas pessoas incompatveis? Por exemplo, dados P = {Joo, Maria, Ana, Rui} e I = {(Joo, Rui), (Maria, Ana)}, uma disposio possvel :

Joo Maria Rui Se, adicionalmente, o Joo for incompatvel com a Ana, no existe nenhuma disposio possvel. a) Diz-se que um problema de deciso pertence classe NP (de algoritmo no determinstico de verificao em tempo polinomial), se pode ser resolvido em tempo polinomial por uma mquina de Turing no determinstica, ou, equivalentemente, se uma soluo pode ser verificada em tempo polinomial por uma mquina de Turing determinstica (em ltima instncia, um algoritmo determinstico de tempo polinomial). Mostre que este problema pertence classe NP. b) Diz-se que um problema de deciso P1 redutvel a outro problema de deciso P2 em tempo polinomial se possvel converter em tempo polinomial os dados de entrada de uma instncia de P1 a dados de entrada de uma instncia equivalente de P2. Mostre que este problema redutvel em tempo polinomial ao problema do circuito (ou ciclo) Hamiltoniano, e vice-versa. Recorde-se que um circuito Hamiltoniano num grafo no dirigido um circuito simples (sem vrtices duplicados) que passa em todos os vrtices. Que pode concluir acerca da dificuldade relativa de resoluo dos dois problemas (problema do circuito Hamiltoniano e problema dos convidados)? c) Diz-se que um problema de deciso NP-completo se qualquer problema pertencente classe NP pode ser reduzido quele em tempo polinomial. Sabendo que o problema do circuito Hamiltoniano NPcompleto, que pode concluir acerca do problema dos convidados? d) Ainda ningum conseguiu encontrar um algoritmo capaz de resolver em tempo polinomial qualquer dos problemas NPcompletos conhecidos. Consegue resolver o problema dos convidados em tempo polinomial no nmero de pessoas (para qualquer conjunto de pessoas e incompatibilidades)? 3. Carcterize o problema da parada. 4. Qual a relao entre as seguintes classes de problemas: An a

a) b) c) e)

Decidveis (solucionveis) Semi-decidveis (Parcialmente solucionveis) (computveis) Indecidveis (No-solucionveis) Completamente indecidveis (insolucionveis)

Decidibilidade e Teorema da incompletude de Gdel 1. O que diz o primeiro teorema de Godel? 2. O que diz o segundo teorema de Godel? 3. O que se entende por incompletude? 4. Fale sobre o teorema da imcopletude de Godel. 5. Como podemos provar o teorema da incopletude de Godel? 6. O que um problema indecidvel? 7. Provar que os problemas abaixo so indecidveis e semidecidveis. a) O problema de determinar se dois programas so equivalentes. b) O problema da parada da palavra vazia. Princpio de Reduo. 1. Em que consiste o princpio da reduo? 2. Em que reas de cincia usado o principio da reduo? 3. Como o princpio da reduo pode ser til?