A primeira máquina de Turing


7

Alguém sabe o quão eficiente foi a primeira máquina de Turing fabricada por Alan Turing? Quero dizer, quantos movimentos ele fez por segundo, mais ou menos ... Só estou curioso. Também não foi possível encontrar nenhuma informação sobre isso na web.


A variante não determinística era tão eficiente que poderia resolver qualquer problema no PE em tempo polinomial!
einpoklum

Respostas:


58

"Máquinas de Turing" (ou "máquinas automáticas") são um conceito matemático, e não dispositivos físicos reais. Turing surgiu com eles para escrever provas matemáticas sobre computadores, com a seguinte lógica:

  • Escrever provas sobre fios físicos e interruptores é extremamente difícil.
  • Escrever provas sobre máquinas de Turing é (relativamente) fácil.
  • Qualquer coisa que fios e interruptores físicos possam fazer, você pode construir uma máquina de Turing para fazer (*) (**).

Mas Turing nunca construiu uma máquina real que escrevesse símbolos em uma fita de papel. Outras pessoas têm, mas apenas como demonstração: eis uma que você pode criar com um cartão de visita , por exemplo.

Por que ele nunca construiu uma máquina física de Turing? Simplificando, simplesmente não seria tão útil. O fato é que ninguém nunca apresentou um modelo de computação mais forte que uma máquina de Turing (na medida em que pode calcular coisas que uma máquina de Turing não pode). E ficou provado que vários outros modelos de computação, como o cálculo lambda ou a linguagem de programação Python, são "completos em Turing": eles podem fazer tudo o que uma máquina de Turing pode.

Portanto, para qualquer coisa, exceto uma prova matemática, geralmente é muito mais útil usar um desses outros modelos. Então você pode usar as máquinas de Turing em suas provas, sem qualquer perda de generalidade.

(*) Especificamente, qualquer cálculo : uma máquina de Turing não pode acender uma lâmpada, por exemplo, mas as lâmpadas não são muito interessantes do ponto de vista da teoria da computação.

(**) Como foi apontado nos comentários, a principal definição de Turing de "computador" era um humano seguindo um algoritmo. Ele conjeturou que não há computação que um humano possa fazer que uma máquina de Turing não pode - mas ninguém conseguiu provar isso, em parte porque definir exatamente o que a mente humana pode fazer é incrivelmente difícil. Examine a tese de Church-Turing, se você estiver interessado.


Tenho certeza de que o computador que Turing estava escrevendo provas, referiu-se às pessoas que seguiram instruções fixas: en.wikipedia.org/wiki/Human_computer (a segunda nota de rodapé). Escrever provas sobre humanos seguindo instruções é muito difícil, porque as pessoas podem, em princípio, seguir instruções arbitrárias.
Jasmijn

@Robin Para completar a história, Turing desenvolveu a máquina de Turing para provar que o lamba-cálculo de Alonzo Church (seu professor) era um modelo universal de computação. Ele conseguiu isso provando que era verdade para as máquinas de Turing e depois provando que a máquina de Turing era equivalente ao cálculo lambda.
JimmyJames

@ Robin Good call! Adicionada nota de rodapé sobre isso.
Draconis

5
@JimmyJames Eu não acho isso exato. A solução de Turing para o Entscheidungsproblem era independente da Igreja e antes de se tornar um estudante da Igreja. Church publicou sua prova um pouco antes e, quando Turing ouviu falar, ele correu para terminar de escrever seus resultados. Ele incluiu uma prova da equivalência de suas máquinas e cálculo lambda em resposta ao trabalho de Church, mas esse não era seu objetivo inicial.
Sasho Nikolov

@SashoNikolov Você está certo, senhor. Obrigado pelo esclarecimento / correção.
precisa saber é o seguinte

18

Turing nunca construiu uma máquina física de Turing. O objetivo das máquinas de Turing não era ser um computador físico prático, mas formalizar o que é possível computar e, de fato, formalizar o que "computação" significa.


8

Deixe-me trazer um pouco de diversão séria, embora possa não ser a resposta desejada.


Reivindicação Um : Muitas máquinas de Turing foram construídas por Alan Turing e por muitas outras.

Prova. Apontando para um raio imóvel em uma bomba , Alan Turing disse com sua perspicácia e simplicidade habitual: "veja, uma máquina de Turing que se detém em qualquer entrada".

Moral : Existem muitos tipos de máquinas de Turing. Muitos deles são extremamente simples. Mas eles são (funcionalmente) máquinas de Turing.


Reivindicação 2 : É indecidível se uma máquina possui memória ilimitada.

Prova. Eu tenho uma máquina de computação, para a qual levará um segundo para demonstrar cada bit adicional de memória. Quero convencê-lo de que não possui memória ilimitada. No entanto, sendo um positivista cauteloso, você insiste em que ninguém pode rejeitar que ela tenha memória ilimitada em breve ou mesmo para sempre.

Moral : tenha cuidado quando estivermos falando sobre objetos que se expandem sob demanda.


Esse primeiro exemplo parece apócrifo, você tem uma citação? E mesmo que ele tenha dito isso, parece que ele estava falando metaforicamente, já que uma TM contém uma fita contendo os dados. Obviamente, a própria MT é uma metáfora, pois é um dispositivo conceitual, não físico.
Barmar

11
A primeira prova / exemplo pode ser mais verdadeira que a segunda prova / exemplo. Se eu tivesse uma citação mais relevante que a bomba, eu a teria usado. Alan Turing é conhecido por inspecionar uma lista abrangente de máquinas de computação, das mais simples às mais exóticas (como a mente humana). Ele reduziu os mais complicados e poderosos (sem oráculo) ao modelo mais simples possível. O primeiro exemplo é uma nova anedota para prestar homenagem à iluminação que ele trouxe para nós.
John L.

Talvez seja mais adequado como um comentário sobre a pergunta do OP?
AnoE

@AnoE, sua sugestão faz sentido. Por outro lado, se eu tivesse escrito como comentários sobre a pergunta do OP, poderia parecer menos apropriado do que uma resposta independente. De fato, minha resposta também apontou, implicitamente, de maneira indireta, que Alan Turing não havia construído uma máquina de Turing física em sua interpretação estrita. A primeira alegação enfatizou apenas o fato de as máquinas de Turing serem onipresentes. (Eu estava e estou contemplando uma outra afirmação que mostra a penetração de máquinas de Turing-completos, bem como, o que tornaria este ser comentário ainda menos atraente.)
John L.

Se eu sugerir, você pode ser mais específico sobre "existem muitos tipos de MTs". A "TM" é a coisa específica com a cabeça, a fita e os símbolos. As outras máquinas são equivalentes a isso, mas não são as mesmas. Um cracker de código certamente não é uma TM, embora seja equivalente em capacidade de computação. Parece que OP não está perguntando se Turing construiu um computador, mas se ele construiu uma TM real (com uma cabeça de leitura / gravação, banda ...).
AnoE

8

Este é o local e o momento ideais para consultar o papel real onde a máquina de Turing é descrita pela primeira vez. Um link está aqui:

https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf

Claro, ele é mais modesto, então ele chama de "máquina automática". Não existe uma máquina real, apenas uma besta da imaginação.

Turing, até onde sabemos, nunca tentou construir a "máquina automática". No entanto, ele foi extremamente influente na fabricação de várias outras máquinas. A bomba da Segunda Guerra Mundial, usada para quebrar zíperes nazistas na Alemanha, é o exemplo mais famoso.

Infelizmente, foi bem depois de sua morte que o público em geral foi informado de suas realizações. (Ele se matou, diz-se, depois de ser brutalmente submetido à esterilização química como sendo um homossexual condenado).


Há uma explicação mais acessível que ele escreveu que eu encontrei. Eu tenho hospedado um espelho disso, pois era meio difícil de encontrar: "Turing, Alan M. (1936), em números computáveis, com uma aplicação ao problema de Entscheidung, Anais da London Mathematical Society, Ser. 2-42, 230-265. " A vinculação a ele agora me lembra que o link do simulador de máquina de Turing on-line que eu coloquei em 2005 é muito antigo (Java!), Imagine o que seria um bom link de substituição.
HostileFork diz que não confia em SE

3

A TM existe apenas no papel. É um modelo teórico de computação. Na verdade, não pode ser construído (porque a fita é infinitamente longa).

Então, a resposta é: não, Turing nunca construiu uma MT na vida real, porque ele não pode.


Por favor, não continue argumentando que "podemos construir uma máquina de Turing, apenas que ela não possui fita infinita, porque, por definição, uma TM possui uma fita infinitamente longa. Se ela não possui uma fita infinitamente longa, não é uma Máquina de Turing, é simples assim.

Tenho plena consciência de que as pessoas criaram "TMs com fitas finitas" e também não estou duvidando da utilidade disso (autômatos limitados): de fato, dada uma fita longa o suficiente, podemos calcular basicamente todas as coisas praticamente interessantes (que são Turing computável). Mas para cada número naturaln, haverá uma TM que exigiria necessariamente uma fita de comprimento n+1 1para simular, para que nunca haja uma fita "grande o suficiente". (Pense no porquê.)

Recuando, há facilmente TMs que não podemos construir ou simular com recursos finitos. Pegue a TM que escreve um * no primeiro passo, vai para a direita e escreve dois * s no segundo passo, etc. Este TM não pode ser construído ou simulado sem uma quantidade infinita de memória.


6
É perfeitamente possível construir uma máquina de Turing. A fita não precisa ser infinitamente longa: você só precisa adicionar um pouco mais sempre que a máquina chegar ao fim.
David Richerby

2
@ Pilpel Eu não acho que ele realmente construiu alguma coisa. Turing era um matemático puro e trabalhou apenas no papel.
xuq01

2
@ xuq01 <s> É claro, o mesmo aconteceu com as máquinas dele. </s>
Draconis

2
Existem máquinas de turing reais, exceto que elas não têm memória ilimitada (e, portanto, só podem calcular um conjunto limitado de programas e valores de entrada). Veja este incrível vídeo de uma máquina de turing real: youtube.com/watch?v=E3keLeMwfHY
allo

3
@Pilpel O dispositivo mais notável que Turing construiu foi a bomba , que não é uma máquina de computação universal e não tem relação com o que chamamos de “máquina de Turing”.
Konrad Rudolph

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.