Contribuições de Alan Turing para Ciência da Computação

34

Alan Turing , um dos pioneiros da ciência da computação (teórica), fez muitas contribuições científicas seminais para o nosso campo, incluindo a definição de máquinas de Turing, a tese de Church-Turing, a indecidibilidade e o teste de Turing. No entanto, suas importantes descobertas não se limitam às que eu listei.

Em homenagem ao seu 100º aniversário, pensei que seria bom pedir uma lista mais completa de suas importantes contribuições à ciência da computação, a fim de ter uma melhor apreciação de seu trabalho.

Então, quais são as contribuições importantes / influentes de Alan Turing para a ciência da computação?

Lev Reyzin
fonte
2
gostaria de algum Q como este, mas este fórum, parece apropriado em um nível, mas ironicamente não é o melhor lugar. o problema é que, inevitavelmente, o nível de pesquisa CS expandiu-se / mudou-se enormemente para qualquer lugar além do que Turing estudou nas décadas desde que ele contribuiu. portanto, um Q relacionado à história de Turing teria que ser redigido com muito cuidado para se encaixar aqui. Se você já listou as principais contribuições dele na pergunta, o que resta responder? contribuições que não estão na lista? que seria um tanto obscuro e não tão importante ...
vzn
1
veja também este q / a relacionado sobre se as máquinas de Turing influenciaram a criação de modelos de autômatos posteriores no CS . a corrente de resposta mais alto avaliado por jeffe afirma notavelmente que havia não uma conexão histórica, ou seja, os pesquisadores posteriores que inventaram principais modelos autômatos CS foram comprovadamente não diretamente inspirado por Turing!
vzn
1
Obrigado pelas indicações. Btw, eu pensei que tínhamos concordado que o histórico do TCS está no tópico deste site, daí a tag. Quanto às outras contribuições de Turing, talvez algumas ainda sejam importantes, mas não que mudam o mundo.
Lev Reyzin

Respostas:

16

Essa pergunta é como pedir as contribuições de Newton para a física ou as de Darwin para a biologia! No entanto, há um aspecto interessante para a pergunta que muitos comentaristas já fizeram: a saber, além das enormes contribuições que todos conhecem, há muitas contribuições menores que a maioria das pessoas não conhece --- bem como muitas idéias que pensamos ser mais "moderno", mas que Turing demonstrou em várias observações que ele entendeu perfeitamente. (Aliás, o mesmo acontece com Newton e Darwin.)

Alguns exemplos que eu gosto (além dos mencionados anteriormente):

Em "Máquinas e inteligência computacionais", Turing inclui uma discussão bastante moderna dos benefícios dos algoritmos aleatórios:

    Provavelmente, é aconselhável incluir um elemento aleatório em uma máquina de aprendizado. Um elemento aleatório é bastante útil quando estamos procurando uma solução para algum problema. Suponha, por exemplo, que desejássemos encontrar um número entre 50 e 200 que fosse igual ao quadrado da soma de seus dígitos, poderíamos começar com 51, tentar 52 e continuar até obtermos um número que funcionasse. Como alternativa, podemos escolher números aleatoriamente até conseguirmos um bom número. Esse método tem a vantagem de não ser necessário acompanhar os valores que foram tentados, mas a desvantagem de tentar o mesmo duas vezes, mas isso não é muito importante se houver várias soluções. O método sistemático tem a desvantagem de que pode haver um enorme bloco sem nenhuma solução na região que precise ser investigada primeiro, Agora, o processo de aprendizagem pode ser considerado uma busca de uma forma de comportamento que satisfaça o professor (ou algum outro critério). Como provavelmente existe um número muito grande de soluções satisfatórias, o método aleatório parece ser melhor que o sistemático. Deve-se notar que é usado no processo análogo da evolução.

Aparentemente, Turing também foi a primeira pessoa a usar um computador digital para procurar contra-exemplos da hipótese de Riemann - veja aqui .

Além dos resultados técnicos da tese de doutorado de Turing em 1939 (mencionada por Lev Reyzin), essa tese é extremamente notável por introduzir os conceitos de oráculos e relativização na teoria da computabilidade. (Algumas pessoas podem desejar que Turing nunca tenha feito isso, mas eu não sou uma delas! :-D)

Finalmente, embora isso seja básico, parece que ninguém mencionou ainda a prova da existência de máquinas de Turing universais - essa é uma contribuição distinta da definição do modelo da máquina de Turing, da formulação da Tese de Church-Turing ou da comprovação da insolabilidade da máquina. Entscheidungsproblem, mas sem dúvida o mais "diretamente" relevante de qualquer um deles para o curso da revolução dos computadores.

Scott Aaronson
fonte
27

Eu não os conhecia até recentemente.

1) A decomposição LU de uma matriz é devida a Turing! Considerando o quão fundamental é a decomposição da LU, essa é uma contribuição que merece destaque e conhecimento mais amplo (1948).

2) Turing foi o primeiro a criar um "algoritmo de papel" para o xadrez. Nesse ponto, os primeiros computadores digitais ainda estavam sendo construídos (1952).

A programação de xadrez teve um conjunto ilustre de pessoas associadas a ela, como Shannon, Turing, Herb Simon, Ken Thompson, etc. Os dois últimos ganharam o Prêmio Turing. E Simom, é claro, também ganhou o Nobel. (Shannon criou uma maneira de avaliar uma posição no xadrez em 1948.)

V Vinay
fonte
4
Eu não sabia sobre o resultado da decomposição da LU. Isso é legal ! Existe uma referência?
precisa
2
Suresh, eu adicionei a referência à decomposição da LU.
V Vinay
1
Não é verdade que Turing escreveu o primeiro programa de xadrez, essa honra parece recair sobre Konrad Zuse , o inventor do primeiro computador. Ele escreveu um simples programa de xadrez 'no papel' como uma referência para o seu Plankalkuel , a primeira linguagem de programação de alto nível. Veja aqui e aqui . Lamentamos, mas não existem boas descrições em inglês deste trabalho.
Martin Berger
21

Como mencionado na pergunta, Turing foi fundamental para definir algoritmos e computabilidade; portanto, ele foi uma das pessoas que ajudou a montar a lente algorítmica. No entanto, acho que sua maior contribuição foi ver a ciência através das lentes algorítmicas e não apenas a computação por uma questão de computação.

Durante a Segunda Guerra Mundial, Turing usou a ideia de computadores computacionais e eletromecânicos (em oposição aos humanos) para ajudar a criar a bomba de Turing-Welchman e outras ferramentas e técnicas formais para realizar análises criptográficas. Ele iniciou a transformação da criptografia, a forma de arte, em criptografia, a ciência que Claude Shannon concluiu. Alan Turing visualizou a criptografia através de lentes algorítmicas.

Em 1948, Turing seguiu seu interesse pelo cérebro, para criar a primeira rede neural artificial de aprendizado . Infelizmente, seu manuscrito foi rejeitado pelo diretor da NPL e não publicado (até 1967). No entanto, era anterior ao aprendizado Hebbian (1949) e aos perceptrons de Rosenblatt (1957) que normalmente associamos como sendo as primeiras redes neurais. Turing previu a base do conexionismo (ainda um enorme paradigma na ciência cognitiva) e da neurociência computacional. Alan Turing viu o cérebro através de lentes algorítmicas.

Em 1950, Turing publicou suas famosas máquinas e inteligência em computação e lançou a IA. Isso teve um efeito transformador na psicologia e nas ciências cognitivas, que continuam a ver a cognição como computação nas representações internas. Alan Turing viu a mente através de lentes algorítmicas.

Finalmente, em 1952 (como mencionado em @vzn), Turing publicou A base química da morfogênese. Este se tornou seu trabalho mais citado. Nele, ele perguntou (e começou a responder) a pergunta: como um embrião esfericamente simétrico se desenvolve em um organismo não esfericamente simétrico sob a ação de difusão química de morfogênicos que preserva a simetria? Sua abordagem neste artigo foi muito física, mas parte da abordagem tinha um ar de TCS; Seu artigo fez declarações qualitativas rigorosas (válidas para várias constantes e parâmetros) em vez de declarações quantitativas baseadas em constantes e parâmetros específicos (em alguns campos: potencialmente impossíveis de medir). Pouco antes de sua morte, ele continuava este estudo, trabalhando nas idéias básicas do que se tornaria simulações artificiais da vida e em um tratamento de biologia mais discreto e sem diferenciação diferencial. Em uma postagem no blogEspeculo como ele desenvolveria biologia se tivesse mais tempo. Alan Turing começou a ver a biologia através de lentes algorítmicas.

Penso que a maior (e muitas vezes ignorada) contribuição de Turing para a ciência da computação estava mostrando que podemos obter uma grande percepção vendo a ciência através das lentes algorítmicas. Só espero que honremos seu gênio continuando seu trabalho.


Perguntas relacionadas

Artem Kaznatcheev
fonte
13

Uma contribuição menos conhecida é o estimador de Good-Turing para estimar a fração de uma população "ainda não vista" ao coletar amostras. Isso é usado na biodiversidade.

Suresh Venkat
fonte
11

O artigo de Turing sobre Verificando uma grande rotina, apresentado em uma conferência em Cambridge em 1949, antecede o raciocínio formal sobre os programas desenvolvidos por Floyd e Hoare por quase duas décadas. O artigo tem apenas três páginas e contém a ideia de usar invariantes para provar propriedades de programas e fundamentos para provar rescisão.

Como se pode verificar uma rotina no sentido de garantir que está correta?

Para que o homem que verifica não tenha uma tarefa muito difícil, o programador deve fazer uma série de afirmações definidas que podem ser verificadas individualmente e das quais a correção de todo o programa segue facilmente.

Vijay D
fonte
Então Turing inventou a unidade de teste :)
Lev Reyzin
1
Não nesse jornal. Ele está apresentando um método estático para provar a correção e a terminação funcionais.
precisa
7

Turing estava interessado e realizou alguns trabalhos seminais em padrões de difusão de reações químicas. essa área de pesquisa expandiu-se substancialmente desde que ele começou a investigá-la. foi demonstrado que tem laços com a computabilidade, por exemplo, está em um sentido "Turing completo" [1]. as reações químicas podem ser modeladas com equações diferenciais não lineares complexas; portanto, em certo sentido, foi demonstrado que equações diferenciais não lineares com complexidade suficiente podem simular máquinas de Turing. decorrente de seu artigo de 1951 "base química da morfogênese" [4]

[1] a cinética química é universal de Turing da Magnasco na PRL 97

[2] Estruturas de Turing em reações químicas simples

[3] Padrões de Turing em sistemas lineares de reação química com difusão cruzada não linear de Franz

[4] base química da morfogênese, wikipedia

vzn
fonte
5

Aqui está outro que encontrei no blog de Scott Aaronson (e o Q + A é retirado de lá):

Em seu Ph.D. Turing estudou a questão ( é uma teoria):Fα

Dada uma máquina de Turing que roda para sempre, sempre existe um α ordinal tal que prova que roda para sempre?MFαM

Turing provou:

Dada qualquer máquina de Turing que roda para sempre, existe uma codificação de seus axiomas ( ) que prova que roda para sempre.MFω+1M

Infelizmente, as definições e os detalhes técnicos são mais difíceis de resumir, mas a publicação vinculada ao blog faz um bom trabalho para explicá-las.

Lev Reyzin
fonte
1

aqui está uma pesquisa / retrospectiva on-line ampla e altamente pesquisada / detalhada de 9p das contribuições específicas e mais gerais / de longo prazo de Turing nos Avisos da Sociedade Americana de Matemática de SB Cooper para o 100º aniversário, Incomputabilidade após Alan Turing . algumas outras contribuições mencionadas nesta pesquisa:

  • Erros de arredondamento em documentos de processos matriciais , 1948. influentes em análise numérica e computação científica na teoria da computação

  • relatório não publicado do National Physical Laboratory de 1948, Intelligent Machinery descreve um modelo conexionista inicial , semelhante e contemporâneo às famosas redes neurais de McCulloch e Pitts .

  • salienta que a análise e a teoria da morfogênese de Turing podem ser consideradas o fundamento intelectual inicial de uma teoria posterior maciça (e ainda em andamento / ativa) na auto-organização e nos fenômenos emergentes .

(etc)

vzn
fonte
só notei Cooper & Leeuwen tem um novo livro abrangente: Alan Turing: Sua Obra e Impacto
vzn