You are on page 1of 2

Exerccio sobre mquina de Turing

1) Os nmeros em hexadecimal abaixo correspondem aos cdigos de mquinas de Turing. Converta o valor em binrio e posteriormente troque todos os zeros por as e os uns por bs. Use ento, o algoritmo de decodificao apresentado em aula para desenhar o grafo correspondente a mquina codificada. Explique, por fim, que tipo de string cada mquina capaz de reconhecer.

a) 501A52Ah b) 48192032496452821268h
Obs: se durante a decodificao sobrarem zeros (ou as) na direita, estes podem ser ignorados. 2) Gere o nmero serial (cdigo) para as 3 mquinas de Turing mais simples que voc possa imaginar. Para tanto, gere as mquinas, codifique-as segundo o algoritmo visto em aula, calcule seu cdigo binrio, e finalmente converta para hexadecimal. Explique, informalmente o que cada mquina faz. 3) Demonstre a descodificao das maquinas geradas no exerccio anterior. 4) Discuta a tese de Church-Turing baseado em sua experincia em computao (programao) e nos exerccios sobre mquina de Turing desenvolvidos ao longo do semestre. Podemos realmente acreditar que qualquer algoritmo concebvel possa ser formulado como mquina de Turing? Sim ou no e porque? 5) Explique em detalhes a idia da mquina de Turing universal e comente situaes prticas, onde normal a idia de que programas recebem programas como entrada, inclusive seu prprio cdigo. 6) Explique e argumente porque o conjunto de todos os programas (sintaticamente corretos) em qualquer linguagem de programao contvel, isto , para cada programa podemos associar um nmero natural. 7) Porque o conjunto (infinito) de programas caixa-preta maior que o conjunto (tambm infinito) de programas caixa de vidro? Qual a conseqncia para a computao em geral? Soluo do exerccio 1a: 5 0101 abab 0 0000 aaaa 1 0001 aaab A 1010 baba Origem 1 1 Destino 1 2 5 0101 abab L a 2 0010 aaba Escreve a A 1010 baba Move R S

Cdigo Ababaaaaaaabb Abaababaababab

Esta mquina reconhece palavras pertencentes a L= { wn | w {a}*}

Respostas (para o professor): 1) String binrio:


01001000000011 001001000000011 001001001001011 0010001010010100 000100001001001101

Tabela: S 1 2 2 2 3 Reconhece: awb 2) Solicitar exemplos dos alunos 3) Solicitar exemplos dos alunos 4) Quando estudamos converses de base vimos que qualquer valor pode ser representado em qualquer base. Nos exerccios de mquina de Turing vimos que possvel trabalhar em unrio usando mquinas de Turing e fazer todas as operaes aritmticas e de comparao bsicas. A partir destas, com algum esforo, possvel derivar todas as outras.operaes aritmticas e relacionais. Alm disso, nos exerccios vimos como fazer as construes bsicas de qualquer linguagem de programao tais como seqncias, laos e condies, bem como simular variveis. 5) A mquina de Turing Universal uma mquina de Turing capaz de interpretar o cdigo de outras mquinas de Turing. Ela recebe como entrada o cdigo de uma mquina de Turing e um string de entrada e gera como resultado o mesmo resultado que a mquina de Turing codificada geraria se recebesse como entrada o mesmo string de entrada. 6) Qualquer programa pode ter seu conjunto de instrues codificado. Dessa forma possvel associar cada programa com um string binrio. Esse string ser funo da sintaxe do programa, logo para cada programa diferente ser gerado um string nico diferente. Sendo assim teremos um conjunto infinito, porm, contvel de programas (contvel porque teremos um identificador nico para cada programa). 7) Existem problemas para os quais conseguimos definir uma especificao caixa preta (sob a forma de uma funo), porm, no conseguimos especificar sob a forma de caixa de vidro (sob a forma de um algoritmo). A conseqncia que no conseguimos obter implementaes para todos os problemas que conseguimos especificar. 2 2 2 3 4 T a a b b R A A B b W R R R L S M

You might also like