You are on page 1of 2

Máquina de Turing

Descrição resumida e princípio de operação

Em 1936, antes do advento do computador digital, o matemático inglês Alan
Turing idealizou uma máquina que seria capaz de calcular qualquer função
matemática mediante um determinado conjunto de instruções. Naturalmente, o
propósito não era a criação de um computador como os atuais (na realidade,
não havia na época tecnologia disponível para isso), mas é possível encontrar
alguns princípios semelhantes.

O esquema da máquina de Turing é bastante simples, conforme Figura 01:
uma fita que pode se mover de passo em passo para a direita ou para a
esquerda (para resolver qualquer função, essa fita deverá ter um comprimento
infinito, o que não é possível na prática. Mas aqui está informado o conceito
teórico).

Cada passo (também chamado de célula) pode estar cheio (representado por
*) ou vazio. No exemplo da figura, em a existe um passo vazio e em b, dois
passos vazios adjacentes.

Por simplicidade, é aqui suposto que uma célula cheia só pode ter um único
símbolo (*), mas pode ter vários símbolos diferentes.


O cabeçote C pode ler o conteúdo do passo e nele escrever, deixando-o cheio
ou vazio. Por exemplo, na posição do cabeçote da figura e dependendo da
instrução, o cabeçote poderá deixar a marca * ou removê-la, tornando vazia a
posição.

Numa construção prática, não seria viável uma do tipo fita perfurada, pois seria
muito complicado recompor um local furado, mas seria perfeitamente possível
o uso de fita magnética como em alguns equipamentos atuais.

O próximo componente é um conjunto de instruções específico para cada
função a resolver, conforme exemplo a seguir, que é simples, apenas para
demonstração. Existem muitos outros que podem ser apresentados, inclusive
programas de computador que simulam a máquina de Turing.

O exemplo considerado é uma operação matemática elementar: somar dois
números inteiros. Supõe-se que se deseja somar os números 3 e 4.

A entrada dos dados seria uma fita com a disposição: *** ****, ou seja,
representando os números 3 e 4.

A saída dos dados seria a seguinte informação na fita: *******, ou seja
representando o número 7 (3 + 4).
Tabela 01
Estado Ação se a célula estiver cheia (*) Ação se a célula estiver vazia
0
Mover para direita, continuar no
estado 0
Escrever *, mover para direita, ir para
estado 1
1
Mover para direita, continuar no
estado 1
Mover para esquerda, ir para estado 2
2 Apagar, parar


A Tabela 01 acima, também denominada tabela de ações, instrui a máquina
para adicionar dois números consecutivos e apresentar o resultado conforme
estabelecido.

Os estados que a máquina pode assumir podem ser vistos como variáveis
auxiliares para a tomada de decisões. Tudo isso lembra um pouco
o software das máquinas de hoje.

O procedimento poderia somar qualquer par de números inteiros, independente
dos valores. Entretanto, o número de células necessárias deve acompanhar.
Assim, por exemplo, para somar 40000 com 60000 seriam, no mínimo, 100000
células. Na realidade, uma máquina de Turing universal, isto é, capaz de
efetuar qualquer operação matemática e com quaisquer valores, deveria ter
uma fita de comprimento infinito.

(http://www.mspc.eng.br/matm/tm.shtml) Acessado no dia 25/6/2011 às 18h08