Você está na página 1de 5

Aut omatos e Computabilidade: Prova 2

Parte 1 (5 pontos) Para cada quest ao, indique a resposta correta. N ao precisa justicar sua escolha. Cada quest ao vale 0,5 ponto. 1. Seja a gram atica G denida por S AX | Y C A aA | C cC | X bX c | Y aY b |

Qual das seguintes cadeias pode ser derivada de S em zero ou mais passos? (a) aaba (b) aabbbc (c) aaAbX c Resposta: (c). A linguagem gerada pela gram atica e {ai bj ck | i = j ou j = k}. As respostas (a) e (b) violam esse formato, enquanto que S AX aAX aaAX aaAbX c. 2. Na gram atica do item (1), o conjunto de cadeias que podem ser derivadas de C e (a) c (b) Cadeias com uma quantidade par de cs. (c) porque C n ao e a vari avel inicial. Resposta: (a). 3. Qual das seguintes arma c oes sobre a gram atica do item (1) e verdadeira? (a) G e amb gua porque abc tem duas deriva c oes diferentes a partir de S . (b) G e amb gua porque abc tem duas arvores sint aticas diferentes apartir de S . (c) G n ao e amb gua porque pode ser convertida a ` forma normal de Chomsky. Resposta: (b). Uma gram atica e amb gua se alguma cadeia tem duas arvores sint aticas diferentes S A a A b X X c a Y Y b c S C C

Duas deriva c oes diferentes para a mesma cadeia n ao necessariamente indicam ambig uidade.

4. Considere o aut omato com pilha P denido por b, # q0 , a,#

q1

Suponha que o aut omato est a no estado q1 , que o conte udo da pilha e ##### e que a por c ao n ao lida da cadeia de entrada e abba. Depois de executar um passo, o aut omato (a) termina sua opera c ao. udo da pilha e ######. (b) continua no estado q1 e o conte udo da pilha e ####. (c) continua no estado q1 e o conte Resposta: (c). O aut omato desempilha um # e continua em q1 . 5. A linguagem reconhecida pelo aut omato do item (4) e (a) {bn an | n 0} (b) {bm an | m n 0} (c) {bm an | n m 0} Resposta: (b). Em q0 , o aut omato empilha um # para cada b na cadeia de entrada. Em e um estado de aceita c ao, o aut omato aceita q1 , desempilha um # para cada a. Como q1 sempre que puder desempilhar um #, i.e., sempre que a quantidade de as seja menor ou igual que a quantidade de bs. 6. Seja a linguagem L = {am bn am bn | m,n 0}, e considere a seguinte demonstra ca o de que L sim satisfaz o lema do bombeamento para linguagens livre-do-contexto: Seja p o comprimento de bombeamento. Escolha s = ap bap b L. Divida s na forma s = uvxyz , com u = ap1 , v = a, x = b, y = a, z = ap1 b. Claramente, uv i xy i z L para todo i 0. (a) A demonstra c ao est a incorreta porque n ao foram consideradas todas as poss veis divis oes de s. (b) A demostra c ao est a incorreta porque n ao foram consideradas todas as poss veis cadeias s L. (c) A demonstra c ao est a correta. Resposta: (b). 7. Seja a linguagem L = {an bn cn | 0}, e considere a seguinte demonstra c ao de que L n ao satisfaz o lema do bombeamento para linguagens livre-do-contexto: Seja p 1 o comprimento de bombeamento. Escolha s = ap bp cp L, e divida s na forma s = uvxyz , com u = , v = a, x = , y = , / L. z = ap1 bp cp . Claramente, uv 0 xy 0 z (a) A demonstra c ao est a incorreta porque n ao foram consideradas todas as poss veis divis oes de s. (b) A demostra c ao est a incorreta porque n ao foram consideradas todas as poss veis cadeias s L.

(c) A demonstra c ao est a correta. Resposta: (a). 8. Quantas m aquinas de Turing e poss vel construir com alfabeto de entrada = {0,1}, alfabeto de ta = {0,1, }, e os estados q0 , qaceita e qrejeita? (a) 3. (b) 183 . (c) Innitas. Resposta: (b). No diagrama de estados de cada m aquina de Turing h a 3 setas de mbolo em ). Para cada transi c ao, h a 3 estados transi c ao saindo de q0 (uma para cada s alvo poss veis, 3 s mbolos que podem ser escritos na ta, e 2 sentidos poss veis para mover a cabe ca leitora. 9. Suponha que M1 e M2 s ao m aquinas de Turing que reconhecem as linguagens L1 e L2 , respectivaao mente, e L1 L2 . Ent ao para, M2 tampouco para. (a) Para cada cadeia de entrada na qual M1 n em para. (b) Para cada cadeia de entrada na qual M1 para, M2 tamb (c) Para cada cadeia de entrada que M1 aceita, M2 para. Resposta: (c). M2 aceita todas as cadeias de L1 . 10. Se L e uma linguagem Turing-decid vel, ent ao devem ser Turing-reconhec (a) L e L vel. pode n (b) L deve ser Turing-reconhec vel, mas L ao s e-lo. (c) L ou L e Turing-reconhec vel, mas n ao ambas. tamb Resposta: (a). L e Turing-reconhec vel, pois e decid vel. L em deve ser decid vel, pois podemos construir uma m aquina de Turing que aceite as cadeias que n ao est ao em L e rejeite as que sim est ao. Se L e decid vel tamb em e reconhec vel. Parte 2 (5 pontos) 1. (2 pontos) Considere a seguinte m aquina de Turing M sobre o alfabeto de entrada {0, 1}. Todas as transi c oes n ao mostradas no diagrama conduzem ao estado de rejei ca o. 0 1,D

q0

q2

1 0,D q1

0 1,E ,D

qaceita

(a) Escreva a deni c ao formal de M como uma 7-upla. Resposta: M = (Q, , , , qo , qaceita , qrejeita ), onde Q = {q0 , q1 , q2 , qaceita , qrejeita }, = {0, 1} , = {0, 1, } e e a fun c ao denida por (q0 , 1) = (q1 , 0, D) (q1 , 0) = (q2 , 1, E) (q1 , ) = (qaceita , , D) (q2 , 0) = (q0 , 1, D) (q, a) = (qrejeita , , D) para qualquer outro caso (b) Descreva a opera c ao de M sobre a entrada 1000, como uma sequ encia de congura c oes. Para cada congura c ao, indique o conte udo da ta, a posi c ao da cabe ca leitora, e o estado de M . Por exemplo, a congura c ao inicial e q0 1 0 0 0

...

Tamb em pode utilizar a nota c ao do livro-texto: q0 1000 Resposta: q0 1000 0q1 000 q2 0100 1q0 100 10q1 00 1q2 010 11q0 10 110q1 0 11q2 01 111q0 1 1110q1 1110 qaceita

(c) Existe alguma cadeia para qual a M n ao para? Resposta: N ao, M aceita ou rejeita todas as cadeias de entrada. (d) Qual a linguagem reconhecida por M ? Resposta: 10*. 2. (1 ponto) Toda linguagem decid vel por uma m aquina de Turing com k > 1 tas pode ser decidida tamb em por uma m aquina de Turing com k 1 tas? Justique brevemente sua resposta. Resposta: Sim. Toda linguagem decidida por uma m aquina de Turing com k > 1 tas tamb em e decidida por uma m aquina de Turing com uma u nica ta. Uma m aquina de Turing com uma ta pode ser considerada como uma m aquina de k 1 tas, que apenas utiliza a primeira e ignora as restantes. 3. (2 pontos) Suponha que A e B s ao linguagens Turing-reconhec veis e que A B e A B s ao ambas decid veis. Prove que A e decid vel.

Resposta: Sejam MA e MB as m aquinas de Turing que reconhecem as linguagens A e B , respectivamente, e MAB e MAB as que decidem A B e A B , respectivamente. Construimos uma m aquina de Turing M que decide A da seguinte forma: Para uma cadeia de entrada w, M roda MAB . Se MAB rejeita, w / A, portanto, M rejeita (e para). Se MAB aceita, M roda MAB . Se MAB aceita, ent ao w A e M aceita (e para). ao w A ou w B (mas n ao pertence a ambos). Se MAB rejeita, ent Agora, M roda MA e MB em paralelo, alternando entre ambas um passo por vez. Uma das duas m aquinas, MA ou MB , deve aceitar w. Se MA aceita, M aceita (e para). Se MB aceita, M rejeita (e para).

Você também pode gostar