Você está na página 1de 6

A MQUINA DE TURING

Osvaldo Antonio Pozza, Srgio Penedo Mestrado em Cincias da Computao 1 trimestre, 2002 CPGCC Universidade Federal de Santa Catarina(UFSC), Brasil Fone: (048)331 9738, Fax: (048)331 9566 oapozza@bol.com.br, beneto@besc.com.br

Resumo
O presente artigo tem por objetivo apresentar uma Simulao do funcionamento de uma mquina de Turing. Inicialmente, procurou-se situar o tema abordado no contexto da Teoria da Computao. Em seguida foi examinada a teoria da idia de Turing sobre a computabilidade, culminando com um exemplo de demonstrao. Palavras-chave : Mquina de Turing, Teoria da Computao, Computabilidade.

Abstract
The present article has for objective to present a Simulation of the operation of a machine of Turing. Initially, he tried to locate the theme approached in the context of the Theory of the Computation. Soon after the theory of the idea of Turing was examined on the computability, culminating with a demonstration example. Key-words : Machine of Turing, Theory of the Computation, Computability.

Introduo 1. Histria: Neste pargrafo conhecido um pouco da histria do computador. 2. Sistemas Formais: Neste pargrafo fala como so estabelecidas as regras que caracterizam os sistemas formais. 3. Alan Mathison Turing: Neste pargrafo fala da origem de Alan Mathison Turing, sua consagrao como matemtico e sua grande idia, a mquina de Turing. 4. A Mquina de Turing: Neste pargrafo explica todo o processo de funcionamento e tambm algumas regras a ser executada para o funcionamento da mquina de Turing.

1. Histria
Os primeiros passos em direo aos computadores digitais foram dados no Egito e Babilnia, h mais de 4 milnios, com os sistemas de medidas de distncias e previso do curso das estrelas. Durante a a florescente civilizao grega, estas pr-cincias tomaram forma atravs dos sistemas axiomticos. Em um sistema axiomtico parte-se de premissas aceitas como verdadeiras e regras ditas vlidas, que iro conduzir a novas sentenas verdadeiras. As concluses podem ser alcanadas manipulando-se smbolos de acordo com conjuntos de regras. Um sistema axiomtico uma ferramenta para aumentar a capacidade humana de pensar. O ingrediente mgico no caso foi uma espcie de "receita de bolo" que fez o clculo e que chamamos algoritmo. O que a publicao de Turing fez, e que tornou possvel os computadores digitais, foi resultado de centenas de anos de esforo para reduzir os vrios sistemas formais a um sistema bsico subjacente neles. a vrias tentativas de se tratar a aritmtica - o brao da matemtica que lida com operaes sobre nmeros - como um sistema formal.

3. Alan Mathison Turing


Alan Mathison Turing nasceu em 23 de junho de 1912 em Londres, filho de um oficial britnico, Julius Mathison e Ethel Sara Turing. Seu interesse pela cincia comeou cedo, logo que aprendeu a ler e escrever, distraia-se fatorando nmeros de hinos religiosos e desenhando bicicletas anfbias. Em 1928, Alan comeou a estudar a Teoria da Relatividade, conhecendo Christopher Morcom, que o influenciou profundamente. Morcom morreu em 1930 e Alan se motivou a fazer o que o amigo no teve tempo, durante anos trocou correspondncias com a me de Morcom a respeito das idias do amigo e se maravilhou com a possibilidade de resolver problemas com a teoria mecnica quntica.Chegou inclusive a escrever sobre a possibilidade do espirito sobreviver aps a morte. Em 1936, com a idade de 24 anos, Alan M. Turing consagrou-se como um dos maiores matemticos do seu tempo quando fez antever aos seus colegas que era possvel executar operaes computacionais sobre a teoria dos nmeros por meio de uma mquina que tivesse embutidas as regras de um sistema formal. Embora propriamente no existisse tal mquina, Turing enfatizou desde o incio que tais mecanismos poderiam ser construidos. Sua descoberta abriu uma nova perspectiva no esforo de formalizar a matemtica, e, ao mesmo tempo, marcou fortemente a histria da computao.

2. Sistemas Formais Um sistema formal pode ser visto como uma espcie de jogo rigorosamente definido, que especifica regras para manipulao de smbolos. O que caracteriza um sistema formal muito semelhante s regras dispostas para um determinado jogo. Para dizer a algum como jogar e para estabelecer as regras que qualificam de formal um sistema, trs aspectos desse 'jogo' devem ser estabelecidos: a natureza dos smbolos, a descrio da situao inicial do jogo (ou o layout do 'tabuleiro') e uma lista de quais movimentos so permitidos a uma dada posio. Verificao de jogadas de xadrez, a lgica, a matemtica so exemplos de sistemas formais que satisfazem estes critrios. Por volta da dcada de 1930, os esforos para reduzir a matemtica a fundamentos lgicos seguros levou

Em sua brilhante soluo para um dos problemas chave discutidos pelos formalistas, Alan Turing descreveu em termos matematicamente precisos como um sistema formal automtico, com regras muito simples de operao, pode ser poderoso. Um sistema formal automtico um dispositivo fsico que manipula automaticamente os smbolos de um sistema formal de acordo com as regras dele. A mquina terica de Turing era tanto um exemplo da sua teoria da computao como uma prova de que certos tipos de mquinas computacionais poderiam, de fato, serem construidas. Quando ele uniu matemtica e lgica na forma de uma mquina, Turing tornou possveis sistemas processadores de smbolos. Props ainda que a grande maioria dos problemas inteligveis poderiam ser convertidos para a forma "encontre um nmero n tal que ...". E, mais importante do que esta ligao entre as abstraes do nosso sistema cognoscitivo e a realidade concreta dos nmeros - buscada pelos pesquisadores do campo da inteligncia artificial -, foi a descoberta feita por Turing de que os nmeros eram elementos mais importantes como smbolos, neste caso, do que como elementos de clculo. O que faz o raciocnio humano quando executa um clculo, perguntou Turing. Ele definiu que os clculo mentais consistem de operaes para transformar nmeros em uma srie de estados intermedirios que progridem de um para outro de acordo com um conjunto fixo de regras, at que uma resposta seja encontrada. Algumas vezes usamos papel e lpis para no perdermos o estado dos nossos clculos. As regras da matemtica exigem definies mais rgidas que aquelas descritas nas discusses metafsicas sobre os estados da mente humana, e Turing concentrouse na definio destes estados de tal maneira que fossem claros e sem ambiguidades, para que tais definies pudessem ser usadas para comandar as operaes da mquina. Turing comeou com uma descrio precisa de um sistema formal, na forma de "tabela de instrues" que descreviam quais movimentos a fazer para qualquer configurao possvel dos estados no sistema. Ele ento provou que a descrio destas informaes, que os passos de

um sistema axiomtico formal semelhante lgica, e o estados da mquina que fazem os "movimentos" em um sistema formal automtico so equivalentes entre si. Estes conceitos esto todos subjacentes na tecnologia atual dos computadores digitais, que foram possveis somente uma dcada depois da publicao de Turing. Quando a II Guerra Mundial eclodiu, Turing foi trabalhar no Departamento de Comunicaes da Gran Bretanha (Government Code and Cypher School) em Buckinghamshire, com o intuito de quebrar o cdigo das comunicaes alems, produzido por um tipo de computador chamado Enigma. Este cdigo era constantemente trocado, obrigando os inimigos a tentar decodifica-lo correndo contra o relgio. Turing e seus colegas cientistas trabalharam num sistema que foi chamado de Colossus, um enorme emaranhado de servo-motores e metal, considerado um precursor dos computadores digitais. Durante a guerra, Turing foi enviado aos EUA a fim de estabelecer cdigos seguros para comunicaes transatlnticas entre os aliados. Supe-se que foi em Princeton, NJ, que conheceu Von Neumann e da ter participado no projeto do ENIAC na universidade da Pensilvnia. Terminada a guerra, Alan se juntou ao National Physical Laboratory para desenvolver um computador totalmente ingls que seria chamado de ACE (automatic computing engine).Decepcionado com a demora da construo, Turing mudou-se para Manchester e no dia 7 de junho de 1954, suicidou-se durante uma crise de depresso, comendo uma ma envenenada com cianureto de potssio.

4. A Maquina de Turing
O processo computacional foi graficamente mostrado no artigo de Turing quando ele pediu ao leitor que considerasse em dispositivo que pudesse ler e escrever smbolos em uma fita que estava dividida em quadrados. Uma cabea de leitura/gravao se moveria em qualquer direo ao longo da fita, um quadrado por vez, e uma

unidade de controle poderia interpretar uma lista de instrues simples sobre leitura e gravao de smbolos nos quadrados, movendo-se ou no para a direita ou esquerda. O quadrado que "lido" em cada etapa conhecido como "quadrado ativo". A regra que est sendo executada determina o que se convencionou chamar 'estado' da mquina. A fita potencialmente infinita. Imagine os smbolos "I" e "-"(branco). Suponha que o dispositivo possa limpar qualquer um deles quando ele os l em um quadrado ativo e troc-lo por outro (i.., apagar "I" e substituir por "-" e vice-versa). O dispositivo pode mover a cabea de leitura e de gravao para a direita ou esquerda, de acordo com instrues interpretadas pela unidade de controle. As instrues podem limpar um smbolo, escrev-lo ou deix-lo como est, de acordo com o smbolo lido. Qualquer tipo de jogo pode ser elaborado usando estas regras, no tendo necessariamente algum significado. Uma das primeiras coisa que Alan Turing demonstrou foi que alguns jogos construdos sob estas regras podem ser sofisticados, considerando a simplicidade destas operaes primitivas. Dado um quadrado que seja uma posio inicial de uma seo da fita preenchida por quaisquer caracteres ou brancos, o dispositivo executa aes especificadas por uma lista de regras, seguindo-as uma por vez at chegar quela que force sua parada (se no h uma instruo explcita na tabela para uma determinada configurao da fita, ento no h nada que a mquina possa fazer quando alcana aquela configurao, encerrando a execuo portanto). Cada instruo - ou regra - estabelece uma ao a ser executada se houver determinado smbolo no quadrado ativo no tempo em que lido. No nosso caso vamos estabelecer 4 diferentes tipos de regra:

Um exemplo de instruo seria:"Se houver um I no quadrado ativo, substitua-o por -". Esta instruo faz a mquina executar a segunda ao da lista acima. Para se elaborar um "jogo" ns necessitamos fazer uma lista que especifique o nmero da regra que se deve observar no momento atual, e, de alguma forma, qual ser a prxima. Cada regra desta lista ser composta pela seguinte sequncia: o nmero da regra estado da mquina -, um caracter/branco para comparao, prximo estado e ao (novo smbolo que ir para o quadrado ou movimentar para direita(>)/esquerda(<) cabea de leitura/gravao). Segue abaixo uma lista de regras - cdigo e descrio - que diro a uma mquina de Turing como desenvover um determinado "jogo": 1I2Estado 1: se h um I no quadrado ativo, substitua-o por - e v para estado 2; 2-3> Estado 2: se h um - no quadrado ativo, v para estado 3 e ande um quadrado a direita; 3I3> Estado 3: se h um I no quadrado ativo, v para estado 3 e ande um quadrado a direita; 3-4> Estado 3: se h um - no quadrado ativo, v para estado 4 e ande um quadrado a direita; 4I4> Estado 4: se h um I no quadrado ativo, v para estado 4 e ande um quadrado a direita; 4-5I Estado 4: se h um - no quadrado ativo, substitua-o por I v para estado 5; 5I5> Estado 5: se h um I no quadrado ativo, v para estado 5 e ande um quadrado a direita; 5-6I Estado 5: se h um - no quadrado ativo, substitua-o por I v para estado 6; 6I6< Estado 6: se h um I no quadrado ativo, v para estado 6 e ande um quadrado a esquerda; 6-7< Estado 6: se h um - no quadrado ativo, v para estado 7 e ande um quadrado a esquerda; 7I8< Estado 7: se h um I no quadrado ativo, v para estado 8 e ande um quadrado a esquerda;

Substituir -(branco) por smbolo Substituir smbolo por -(branco) Ir um quadrado para a direita Ir um quadrado para a esquerda

8I8< Estado 8: se h um I no quadrado ativo, v para estado 8 e ande um quadrado a esquerda; 8-1> Estado 8: se h um - no quadrado ativo, v para estado 1 e ande um quadrado a direita; Note que se houver um branco no quadrado ativo quando os estados forem 1 ou 7, ou se h um I no quadrado ativo quando o estado da mquina 2, ela pra, pois no saberia o que fazer. O jogo neste caso duplicar uma sequncia de Is que estejam na fita. Se a fita contiver I I I I, no final conter I I I I I I I I. Para se jogar (em termos mais tcnicos diramos executar o programa descrito na lista de regras) necessrio especificar uma configurao inicial na fita, qual o quadrado inicial ativo e o estado inicial da mquina. Quando a mquina comear a executar, ela, a partir do estado inicial e do quadrado ativo seguir a sequncia (lgica) de regras que daro o produto final. Em sua essncia, toda mquina de Turing movese ou move smbolos, de uma posio para outra em uma fita, da mesma maneira que no exemplo dado acima ou visto no applet. Nos dias de hoje estes smbolos podem ser impulsos eletrnicos em um microcircuito e a fita uma srie de endereos de memria em um chip , mas a idia a mesma. Turing provou que sua hipottica mquina uma verso automatizada de um sistema formal especificado por uma combinao

inicial de smbolos (o conjunto de "I"s na fita no incio do processo) e as regras (aquelas instrues escritas). Os movimentos so mudanas de 'estado' da mquina que correspondem a especificos passos de computao. Turing provou que para qualquer sistema formal existe uma mquina de Turing que pode ser programada para imit-lo. Era este sistema formal genrico, com a habilidade de imitar qualquer outro sistema formal, o que Turing procurava. Tais sistemas chamam-se Mquinas de Turing Universais. A teoria foi estabelecida pela primeira vez em um 'paper' que tinha o ttulo "On Computable Numbers, with an application on the Entscheidungsproblem".

5. Concluso A Mquina de Turing era a resposta de Alan Turing questo metamatemtica de Hilbert. Turing estabeleceu um modelo formal de algoritmo e um pouco depois Church proporia que qualquer procedimento efetivo poderia ser realizado por uma Mquina de Turing (Tese de Church). Quer dizer, qualquer processo aceito por ns homens como um algoritmo precisamente o que uma Maquina de Turing pode fazer.

6. Referncia [1] www.cic.unb.br/tutores/turing/untroduc.html [2] Hodges, Andew Turing Um Filsofo da Natureza 1 Edio [3] Barreto, Jorge Muniz Inteligncia Artificial 3 Edio

Você também pode gostar