Você está na página 1de 7

A mquina de Turing um dispositivo terico conhecido como mquina

universal, que foi concebido pelo matemtico britnico Alan Turing (1912-1954),
muitos anos antes de existirem os modernos computadores digitais (o artigo de
referncia foi publicado em 1936). Num sentido preciso, um modelo abstrato
de um computador, que se restringe apenas aos aspectos lgicos do seu
funcionamento (memria, estados e transies) e no sua implementao
fsica. Numa mquina de Turing pode-se modelar qualquer computador digital.
Turing tambm se envolveu na construo de mquinas fsicas para quebrar os
cdigos secretos das comunicaes alems durante a II Guerra Mundial, tendo
utilizado alguns dos conceitos tericos desenvolvidos para o seu modelo
de computador universal.

ndice
[esconder]

1 Definio
o

1.1 Descrio informal

1.2 Definio formal

1.2.1 Mquina de Turing com uma fita

1.2.2 Mquina de Turing com k fitas


2 Detalhes adicionais requeridos para visualizar ou implementar mquinas

de Turing
o

2.1 Definies alternativas

2.2 O "estado"

3 Exemplo

4 Mquinas de Turing determinsticas e no-determinsticas

5 Mquinas de Turing universais

6 Comparao com mquinas reais

7 Mquinas de Turing fsicas

8 Histria

8.1 Contexto histrico: mquinas computacionais

8.2 O Entscheidungsproblem (o "problema de deciso"): O dcimo


problema de Hilbert de 1900

8.3 Alan Turing uma-mquina(-automtica)

8.4 1937-1970: O "computador digital", o nascimento da "cincia da


computao"

8.5 1970-presente: a mquina de Turing como um modelo de


computao

9 Ver tambm

10 Referncias

11 Bibliografia

12 Ligaes externas

Definio[editar | editar cdigo-fonte]


Descrio informal[editar | editar cdigo-fonte]
Uma mquina de Turing consiste em:
1. Uma fita que dividida em clulas, uma adjacente outra. Cada clula
contm um smbolo de algum alfabeto finito. O alfabeto contm um
smbolo especial branco (aqui escrito como ) e um ou mais smbolos
adicionais. Assume-se que a fita arbitrariamente extensvel para a
esquerda e para a direita, isto , a mquina de Turing possui tanta fita
quanto necessrio para a computao. Assume-se tambm que clulas
que ainda no foram escritas esto preenchidas com o smbolo branco.
2. Um cabeote, que pode ler e escrever smbolos na fita e mover-se para a
esquerda e para a direita.
3. Um registrador de estados, que armazena o estado da mquina de
Turing. O nmero de estados diferentes sempre finito e h um estado
especial denominado estado inicial com o qual o registrador de estado
inicializado.

4. Uma tabela de ao (ou funo de transio) que diz mquina que


smbolo escrever, como mover o cabeote (

para esquerda e

para

direita) e qual ser seu novo estado, dados o smbolo que ele acabou de
ler na fita e o estado em que se encontra. Se no houver entrada
alguma na tabela para a combinao atual de smbolo e estado ento a
mquina pra.
Note que cada parte da mquina finita; sua quantidade de fita
potencialmente ilimitada que d uma quantidade ilimitada de espao de
armazenamento.

Definio formal[editar | editar cdigo-fonte]


Mquina de Turing com uma fita[editar | editar cdigo-fonte]
Mais formalmente, uma mquina de Turing (com uma fita) usualmente
definida como uma Tupla

, onde

um conjunto finito de estados

um alfabeto finito de smbolos

o alfabeto da fita (conjunto finito de smbolos)

o estado inicial

o smbolo branco (o nico smbolo que se permite ocorrer na fita


infinitamente em qualquer passo durante a computao)

o conjunto dos estados finais

de transio, onde

uma funo parcial chamada funo


o movimento para a esquerda e

o movimento

para a direita.
Definies na literatura s vezes diferem um pouco, para tornar argumentos ou
provas mais fceis ou mais claras, mas isto sempre feito de maneira que a
mquina resultante tem o mesmo poder computacional. Por exemplo, mudar o
conjunto
para
, onde P permite ao cabeote permanecer
na mesma clula da fita em vez de mover-se para a esquerda ou direita, no
aumenta o poder computacional da mquina (Fonte - Michael Sipser - Int Teoria
da Computao).
Mquina de Turing com k fitas[editar | editar cdigo-fonte]
Uma mquina de Turing com k fitas tambm pode ser descrita como uma 7upla

, onde
um conjunto finito de estados

um alfabeto finito de smbolos

o alfabeto da fita

(conjunto finito de smbolos)

o nmero de fitas

o estado inicial

o smbolo branco

o conjunto dos estados finais

de transio, onde

uma funo parcial chamada funo


o movimento para a esquerda e

o movimento

para a direita.
Note que uma mquina de turing com "k" fitas no mais poderosa que uma
mquina de Turing tradicional.

Detalhes adicionais requeridos para visualizar ou


implementar mquinas de Turing[editar | editar cdigofonte]
Nas palavras de Van Emde Boas (1990), p. 6: "O objeto do conjunto terico [sua
descrio formal sete-tupla similar ao acima] fornece apenas informao parcial
sobre como a mquina agir e com o que suas computaes se parecero."
Por exemplo,

Sero necessrias muitas decises sobre com o que os smbolos


realmente se parecem, e uma forma de contra-prova de smbolos de escrita
e leitura indefinidamente.

As operaes shift left e shift right podem deslocar a cabea da fita sobre
a fita, mas quando realmente construir uma mquina de Turing, isso mais
prtico para fazer a fita deslizar para frente e para trs sob a cabea em vez
disso.

A fita pode ser finita, e automaticamente estendida com espaos em


branco, conforme necessrio (o qual o mais prximo da definio
matemtica), mas isso mais comum para pensar sobre isso como
infinitamente alongado em ambos os lados e sendo preenchida com espaos
em branco, exceto sobre o fragmento finito dado explicitamente onde a
cabea da fita est. (Isto no , claro, implementvel na prtica.) A fita no
pode ser fixada em comprimento, desde que no corresponderia definio

dada e limitaria seriamente o alcance das computaes que a mquina


pode realizar quelas do autmato linearmente limitado.

Mquinas de Turing determinsticas e nodeterminsticas[editar | editar cdigo-fonte]


Se a tabela de ao tem no mximo uma entrada para cada
combinao de smbolo e estado ento a mquina uma mquina
de Turing determinstica (MTD). Se a tabela de ao contm
mltiplas entradas para uma combinao de smbolo e estado ento
a mquina uma mquina de Turing no-determinstica (MTND
ou MTN).

Mquinas

de

Turing

universais[editar | editar

cdigo-fonte]

Artigo principal Mquina de Turing universal

Toda
mquina
de
Turing
computa
uma
certa funo
computvel parcial a partir da cadeia dada formada pelos smbolos
do alfabeto. Neste sentido ela comporta-se como um computador
com um programa fixo. No entanto, como Alan Turing descreveu,
podemos codificar a tabela de ao de qualquer mquina de Turing
em uma cadeia de smbolos. Portanto podemos tentar construir uma
mquina de Turing que espera em sua fita uma cadeia descrevendo
a tabela de ao seguida por uma cadeia descrevendo a fita de
entrada, e ento computa a fita que a mquina de Turing codificada
teria computado.

Comparao com mquinas reais[editar | editar


cdigo-fonte]
Frequentemente diz-se que as mquinas de Turing, ao contrrio de
autmatos mais simples, so to poderosas quanto mquinas reais,
e so capazes de executar qualquer operao que um programa real
executa. O que est faltando neste enunciado que praticamente
qualquer programa particular executando em uma mquina
particular e dada uma entrada finita , na verdade, nada alm de
um autmato finito determinstico, j que a mquina em que executa
pode estar apenas em uma quantidade finita deconfiguraes.
Mquinas de Turing poderiam de fato ser equivalentes a uma
mquina que tenha uma quantidade ilimitada de espao de
armazenamento. Podemos questionar ento por que as mquinas de
Turing so modelos teis de computadores reais. H vrias maneiras
de responder a isto:
1. A diferena est apenas na habilidade de uma mquina de
Turing de manipular uma quantidade ilimitada de dados. No
entanto, dada uma quantidade finita de tempo, uma mquina
de Turing (como uma mquina real) pode apenas manipular
uma quantidade finita de dados.

2. Como uma mquina de Turing, uma mquina real pode ter


seu espao de armazenamento aumentado conforme a
necessidade, atravs da aquisio de mais discos ou outro
meio de armazenamento. Se o suprimento destes for curto, a
mquina de Turing pode se tornar menos til como modelo.
Mas o fato que nem as mquinas de Turing nem as
mquinas reais precisam de quantidades astronmicas de
espao de armazenamento para fazer a maior parte das
computaes que as pessoas normalmente querem que
sejam feitas. Frequentemente o tempo de processamento
requerido o maior problema.
3. Mquinas reais so muito mais complexas que uma mquina
de Turing. Por exemplo, uma mquina de Turing descrevendo
um algoritmo pode ter algumas centenas de estados,
enquanto o autmato finito determinstico equivalente em
uma dada mquina real tem quadrilhes.
4. Mquinas

de

Turing

descrevem

algoritmos

independentemente de quanta memria eles utilizam. H um


limite mximo na quantidade de memria que qualquer
mquina que conhecemos tem, mas este limite pode crescer
arbitrariamente no tempo. As mquinas de Turing nos
permitem

fazer

enunciados

sobre

algoritmos

que

(teoricamente) valero eternamente, independentemente dos


avanos na arquitetura de computadores convencionais.
5. Mquinas de Turing simplificam o enunciado de algoritmos.
Algoritmos executando em mquinas abstratas equivalentes
a Turing so normalmente mais gerais que suas contrapartes
executando em mquinas reais, porque elas tm tipos com
preciso arbitrria disponveis e nunca precisam tratar
condies inesperadas (incluindo, mas no somente, acabar a
memria).
Uma maneira em que mquinas de Turing so pobres modelos para
programas que muitos programas reais, tais como sistemas
operacionais e processadores de texto, so escritos para receber
entradas irrestritas atravs da execuo, e portanto no param.
Mquinas de Turing no modelam tal "computao contnua" bem
(mas ainda podem modelar pores dela, tais como procedimentos
individuais).

Outra limitao de mquinas de Turing que elas no modelam a


organizao estrita de um problema especfico. Por exemplo,
computadores modernos so na verdade instncias de uma forma
mais especfica de mquina de computao, conhecido como
mquina de acesso aleatrio. A principal diferena entre esta
mquina e a mquina de Turing que esta utiliza uma fita infinita,
enquanto a mquina de acesso aleatrio utiliza uma sequncia
indexada numericamente (tipicamente um campo inteiro). O
resultado desta distino que h otimizaes computacionais que
podem ser executadas baseadas nos ndices em memria, o que no
possvel numa mquina de Turing geral. Assim, quando mquinas
de Turing so utilizadas como base para tempo de execues
restritos, um "falso limite inferior" pode ser provado em
determinados tempos de execuo de algoritmos (graas premissa
falsa de simplificao da mquina de Turing). Um exemplo disto
uma "ordenao por contagem", o que aparentemente viola o limite
inferior

em algoritmos de ordenao.

Mquinas de Turing fsicas[editar | editar

cdigo-

fonte]
No difcil simular uma mquina de Turing num computador
moderno (exceptuando pela quantidade de memria limitada
existente nos computadores actuais). O site de busca Google, em
comemorao
aos
100
anos
de
Alan
Turing,
publicou
um doodle dia 23 de junho de 2012, em forma de uma mquina de
Turing.1
possvel construir uma mquina de Turing com base puramente
mecnica. O matemtico Karl Scherer construiu essa mquina
em 1986, usando conjuntos de construo de metal, plstico e
alguma madeira. A mquina, com 1,5 m de altura, usa puxes de fios
para ler, movimentar e escrever informao, a qual , por sua vez,
representada por rolamentos. A mquina encontra-se atualmente em
exibio na entrada do Departamento de Cincia de Computadores
da Universidade de Heidelberg, na Alemanha.
O conceito de mquina de Turing foi usado como ferramenta
educativa na obra de fico cientfica The Diamond Age (1995),
escrita por Neal Stephenson. A personagem principal, Nell, possui
um livro interactivo que a ensina a pensar criativa e logicamente
apresentando-lhe puzzles numa histria, os quais, sendo mquinas
de Turing, se tornam cada vez mais complexos medida que a
narrativa se desenvolve. Estes puzzles comeam por ser simples
aparelhos mecnicos e evoluem para processos econmicos
abstractos, atingindo um ponto em que se assiste interao entre
completos reinos ficcionais.

Você também pode gostar