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.

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

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.

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:

Substituir -(branco) por smbolo

Substituir smbolo por -(branco)

Ir um quadrado para a direita

Ir um quadrado para a esquerda

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;

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

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

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.

Você também pode gostar