Universidade Federal de Pernambuco
Centro de Informática – CIn
Alan Turing:
Quem foi? O que fez? Qual a sua
importância para a Lógica?
Trabalho de História e Futuro da Computação
Profº: Silvio Meira
Aluna: Renata de Avelar Alchorne
Conteúdo
Introdução
Este trabalho se destina a abordar um tema que tem grande relevância para a história
da Lógica: a vida de Alan Turing, quem ele foi, o que fez e o qual a relevância de seus
estudos para a atualidade.
Ao longo desse texto, será possível conhecer um pouco da história desse
matemático britânico brilhante que faleceu no início dos anos 50.
Quem foi Alan Turing?
Alan Mathison Turing nasceu em 23 de junho de 1912 em Londres, filho de um
oficial britânico, Julius Mathison e Ethel Sara Turing. Seu interesse pela ciência começou
cedo, logo que aprendeu a ler e escrever, distraia-se fatorando números de hinos religiosos
e desenhando bicicletas anfíbias. A maior parte do seu trabalho foi realizado no serviço de
espionagem, durante a II Grande Guerra, levando-o somente por volta de 1975 a ser
considerado como um dos grandes nomes na História da Computação.
Em 1928, Alan começou 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 não teve tempo. Durante anos trocou correspondências
com a mãe de Morcom a respeito das idéias do amigo e se maravilhou com a possibilidade
de resolver problemas com a teoria mecânica quântica.Chegou inclusive a escrever sobre a
possibilidade do espírito sobreviver após a morte.
Depois de concluir o mestrado em King's College (1935) e receber o Smith's prize
em 1936 com um trabalho sobre a Teoria das Probabilidades, Turing se enveredou pela área
da computação. Sua preocupação era saber o que efetivamente a computação poderia fazer.
As respostas vieram sob a forma teórica com a projeção da Turing Universal Machine, que
de acordo com um sistema formal, faria operações computacionais. Mostrou como um
simples sistema automático poderia manipular símbolos de um sistema de regras próprias.
A máquina teórica de Turing pode indicar que sistemas poderosos poderiam ser
construídos. Tornou possível o processamento de símbolos, ligando a abstração de sistemas
cognoscitivos e a realidade concreta dos números. Isto é buscado até hoje por pesquisadores
de sistemas com Inteligência Artifical (IA). Para comprovar a inteligência artificial ou não
de um computador, Turing desenvolveu um teste que consistia em um operador não poder
diferenciar se as respostas a perguntas elaboradas pelo operador eram vindas ou não de um
computador. Caso afirmativo, o computador poderia ser considerado como dotado de
inteligência artifical. Sua máquina pode ser programada de tal modo que pode imitar
qualquer sistema formal. A idéia de computabilidade começou a ser delineada.
Quando a 2ª Guerra Mundial eclodiu, Turing foi trabalhar no Departamento de
Comunicações da Gran Bretanha (Government Code and Cypher School) em
Buckinghamshire, com o intuito de quebrar o código das comunicações alemãs, produzido
por um tipo de computador chamado Enigma. Este código era constantemente trocado,
obrigando os inimigos a tentar decodifica-lo correndo contra o relógio. 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 códigos seguros
para comunicações transatlânticas entre os aliados. Supõe-se que foi em Princeton, NJ, que
ele conheceu Von Neumann e daí sua participação no projeto do ENIAC na universidade da
Pensilvânia.
Ao término da 2ª Guerra, Alan Turing se uniu ao National Physical Laboratory para
desenvolver um computador totalmente inglês que seria chamado de ACE (Automatic
Computing Engine). Decepcionado com a demora da construção, Turing mudou-se para
Manchester, quando, em 1952, foi preso por "indecência", sendo obrigado a se submeter à
psicoanálise e a tratamentos à base de hormônios que visavam curar sua
homossexualidade.Turing suicidou-se em Manchester, no dia 7 de junho de 1954, durante
uma crise de depressão, comendo uma maçã envenenada com cianureto de potássio.
O que fez Turing?
A computação, quando apareceu, um século após Charles Babbage 1, não se mostrou
através de uma feira de informática ou em um laboratório de algum cientista famoso. A
possibilidade de se construir um computador digital foi dada ao mundo através de um
inusitado artigo, em um jornal de matemática no ano de 1936. No momento, quase ninguém
percebera que a descoberta descrita naquele obscuro artigo iria conduzir a uma arrancada
mundial no campo tecnológico, embora seu jovem autor, Alan Mathison Turing, já
estivesse na busca de uma máquina que simulasse os processos humanos de conhecimento.
A máquina de Turing foi inventada na tentativa de descobrir se tudo na matemática poderia
ser reduzido à computação mecânica. Ele se propôs a desenvolver a máquina mais simples
possível que fosse capaz de efetuar qualquer computação.
A máquina que ele sugeriu era um dispositivo relativamente simples, e ele ainda
provou que poderia efetuar todas as operações matemáticas. Pessoalmente, Turing tinha
grande esperança nela, acreditando que poderia fazer qualquer coisa que o cérebro humano
fosse capaz, incluindo a consciência dos fatos. Essa é um questão que ainda gera bastante
controvérsia dentro da comunidade de inteligência artificial.
O projeto original de Turing se tornou uma verdadeira referência em projeto de
computadores. Um sistema que é capaz de efetuar as mesmas operações que uma máquina
de Turing (e, portanto, as mesmas que a matemática) é chamada de Turing completo. Algo
bastante interessante é que não existe hierarquia de poder em sistemas computacionais. Se
um sistema é um Turing completo, ele pode fazer qualquer coisa que possamos definir em
termos de um algoritmo. Alonzo Church2 postulou uma tese que estabelece que não podem
haver sistemas computacionais mais poderosos. Tais sistemas (se existissem) seriam
capazes de resolver problemas que nós não podemos nem mesmo formular uma forma
estruturada para resolvê-los (algoritmos).
A máquina de Turing
Como citado na seção anterior, Turing se tornou uma referência em projetos de
computadores devido à publicação de um artigo, em 1936. Neste artigo, ele descrevia o
funcionamento de um artefato denominado MáquinaUniversal de Turing, que pode,
teoricamente, calcular qualquer número ou função de acordo com instruções apropriadas e
tem como um propósito decidir se um problema é computável, ou seja, se ele pode ser
resolvido a partir de elementos de seu domínio de definição. Caso não seja possível, a
máquina nunca pára de funcionar, entrando em loop, e não se pode afirmar se o problema
possui ou não solução (pois a máquina nunca pára a computação), inferindo-se então que
ele é não computável.
No artigo escrito por Turing, ele pediu que para entender o funcionamento da
máquina de Turing, o leitor considerasse um dispositivo que pudesse ler e escrever
símbolos em uma fita que estava dividida em quadrados (ou células). Uma cabeça de
leitura/gravação se moveria em qualquer direção ao longo da fita, um quadrado por vez, e
uma unidade de controle poderia interpretar uma lista de instruções simples sobre leitura e
gravação de símbolos nos quadrados, podendo mover-se ou não para a direita ou esquerda.
O quadrado que é "lido" em cada etapa é conhecido como "quadrado ativo". A fita é
potencialmente infinita.
Toda máquina de Turing move-se ou move símbolos, de uma posição para outra em
uma fita. Nos dias de hoje estes símbolos podem ser exemplificados por impulsos
eletrônicos em um microcircuito e a fita como sendo uma série de endereços de memória
em um chip, a idéia é sempre a mesma. Com isso, Turing provou que para qualquer sistema
formal existe uma máquina de Turing que pode ser programada para imitá-lo. Era este
sistema formal genérico, com a habilidade de imitar qualquer outro sistema formal, o que
Turing procurava. Tais sistemas chamam-se Máquinas de Turing Universais. A teoria foi
estabelecida pela primeira vez em um paper que tinha o título "On Computable Numbers,
with an application on the Entscheidungsproblem".
Leia-se Entscheidungsproblem como o problema da decidibilidade, a questão era:
“pode existir, ao menos EM PRINCÍPIO algum método ou processo pelo qual todas as
questões matemáticas poderiam ser DECIDIDAS?” Em 1900, no Segundo Congresso
Internacional de Matemática, realizado em Paris, David Hilbert 3 propôs uma lista de
problemas de envergadura, cuja solução "desafiaria futuras gerações de matemáticos".
Vários destes problemas dessa famosa lista foram desde então resolvidos, sendo que alguns
resistem até hoje e permanecem ainda em aberto. O décimo problema da lista de Hilbert era
de enunciado bastante simples: descreva um algoritmo que determina se uma dada equação
diofantina do tipo P(u1,u2,...,uN) = 0, onde P é um polinômio com coeficientes inteiros,
tem uma solução dentro do conjunto dos inteiros. Isto é: escreva um programa que tem por
entrada uma equação diofantina, e que dá por saída um sim ou não, conforme a equação
dada tenha ou não soluções inteiras. O programa não precisa encontrar a solução da
equação, somente se tal solução existe. Se a entrada for x 2 - y2 + xy - 11 = 0, então o
programa após um número finito de passos, deve responder sim, pois esta equação tem
solução inteira (x=3, y=2 é uma solução). Já se a entrada fosse x 2 + y2 + xy - 11 = 0, a
resposta deveria ser não, pois esta equação não possui soluções inteiras.
A simplicidade do problema de Hilbert é apenas aparente e somente 70 anos depois
de esforços intensos foi encontrada a solução, por Matijasevic 4, um matemático russo de
apenas 22 anos de idade na época. É uma solução bastante complexa, dependendo tanto de
resultados da Teoria dos Números, como do trabalho anterior, específico sobre o problema
de Hilbert, de três americanos, Martin Davis 5, Julia Robinson6 e Hilary Putnan7, que por sua
vez, baseia-se em certos resultados fundamentais sobre lógica e algoritmos descobertos na
década de 30 por Kurt Gödel8, Alan Turing, Emil Post9, Alonso Church e Stephen Kleene10.
Bom, só para satisfazer a curiosidade: tal algoritmo não existe. O décimo problema de
Hilbert é indecidível, e abriu um novo campo na matemática e na computação.
Pois bem, a máquina de Turing era a resposta de Alan Turing à questão
metamatemática de Hilbert. Turing estabeleceu um modelo formal de algoritmo e um
pouco depois Church proporia que qualquer procedimento efetivo poderia ser realizado por
uma Máquina de Turing (Tese de Church). Quer dizer, qualquer processo aceito por nós
homens como um algoritmo é precisamente o que uma Maquina de Turing pode fazer. A
idéia de computabilidade começa a ser delineada.
O teste de Turing
Apenas uma pausa para o que foi o teste de Turing, já que ele levanta uma série de
discussões na área da Inteligência Artificial, na Medicina e nos meios sociais. O teste
consistia em submeter um operador, fechado em uma sala, a descobrir se quem respondia
suas perguntas, introduzidas através do teclado, era um outro homem ou uma máquina. Sua
intenção era de descobrir se podiamos atribuir à máquina a noção de inteligência.
Através da sua máquina, o chamado jogo da imitação, segundo o qual, se uma
máquina fosse capaz de ganhar, não restariam as mínimas dúvidas quanto à evidência da
existência de máquinas inteligentes (pela imitação dos comportamentos humanos). Em
1935, Turing elabora a máquina abstrata, cuja premissa fundamental consistia em fornecer
uma descrição rigorosa do processo automático, refazendo o comportamento do agente
humano que a executa. Assim, as teorias de Turing são de certa forma percursoras dos
posteriores sistemas periciais, que procuram imitar os procedimentos dos peritos humanos
assim como a máquina de Turing o procurava fazer.
O maior opositor de Turing foi o neurologista Jefferson que afirmava a
impossibilidade de poder reproduzir as características da mente humana num artefacto não
biológico. Mas nesta época o debate era sobretudo teórico e abstrato, pois só com o
aparecimento dos primeiros computadores, depois da segunda guerra mundial, é que as
noções de automatismo e inteligência se revolucionaram tornando possível a sua discussão
em torno da modelização da inteligência humana e da construção de autômatos à imagem
do homem.
Qual a importância de Alan Turing?
Alan Mathison Turing foi o responsável por estabelecer alguns dos fundamentos
mais importantes da Ciência da Computação, tanto do ponto de vista prático quanto teórico
e, portanto, deve obrigatoriamente ser mencionado e suas descobertas estudadas em
qualquer curso da área. Como já foi mostrado, é dele, por exemplo, a definição de 1937 do
que se constitui a máquina digital abstrata (isto é, existente em nossa mente ou no papel –
não há sentido em se construir uma, pois seria extremamente ineficiente) mais elementar e
geral que se pode imaginar: a Máquina de Turing (MT). Esse nome foi dado pelo famoso
lógico Alonzo Church, numa revisão de um artigo de Turing de 1937, que se tornou um dos
pilares da matemática. Nele, Turing mostra que, contrariamente à conjetura feita em 1928
pelo grande matemático alemão David Hilbert, existem afirmações da matemática que são
indecidíveis, isto é, não existe um procedimento efetivo para decidir se elas podem ser
provadas dentro de um sistema matemático formal. Um exemplo clássico disso na
computação é que é impossível elaborar um programa que examine um outro e decida se
este termina a sua execução, para qualquer dado de entrada (o famoso problema da
parada). Para isso, Turing teve uma inspiração depois de uma de suas longas corridas à
tarde: pensou em inventar uma máquina abstrata que pudesse provar qualquer afirmação
matemática dada a ela. E aí surgiu o famoso modelo, a MT – com a qual ele acabou
provando que aquilo era impossível. O incrível é que não se consegue inventar nenhuma
máquina digital que consiga resolver mais problemas matemáticos que essa trivial MT
consegue (essa é a chamada Tese de Church-Turing), e também não se consegue imaginar
uma máquina tão geral ainda mais simples. Ainda mais, é sempre possível programar uma
MT (isto é, definir as suas transições) para simular qualquer outra MT, ou seja, a primeira
recebe na fita uma descrição das transições da segunda, mais os dados a serem usados por
esta última, e passa a executar o programa dela. Daí veio a noção de Máquina Universal.
Essa universalidade se aplica aos computadores digitais modernos: qualquer um, com
capacidade suficiente, pode simular qualquer outro; a grande diferença entre eles e a MT é
que esta tem uma fita infinita, e suas instruções são as mais elementares possíveis. A MT
teve importância fundamental no desenvolvimento das áreas de computabilidade, teoria dos
autômatos formais e análise de algoritmos. Baseado nela, Turing tentou construir
computadores com instruções extremamente elementares, o que bem depois foi
concretizado com as máquinas denominadas de "RISC" (reduced instruction set computer).
Uma contribuição prática de Turing foi o que se chamou depois de Teste de Turing
(TT), de 1950: em lugar de responder à pergunta "pode-se ter computadores inteligentes?"
ele formulou seu teste, que se tornou praticamente o ponto de partida da pesquisa em
Inteligência Artificial. No seu artigo original ele fez a previsão de que até 2000 os
computadores passariam seu teste. Pois bem, há um concurso anual de programas para o
TT, e o resultado dos sistemas ganhadores é tão fraco (o último tem o nome "Ella") que
com poucas perguntas logo percebe-se a idiotice das respostas da máquina. Não há a
mínima esperança de que se consiga um dia um computador que passe o TT; qualquer
previsão nesse sentido não tem base científica, o que mostra um dos muitos erros crassos
dos filmes "Inteligência Artificial" (Spielberg) e "O Homem Bicentenário" (Columbus). Em
ambos, os robôs passariam não só o TT, que é um teste comportamental lingüístico, mas
um TT estendido para todo o comportamento humano. É interessante notar que tanto a MT
quanto o TT talvez derivem da visão que Turing tinha de que o ser humano é uma máquina.
Essa visão está absolutamente errada do ponto de vista linguístico, já que associamos a
"máquina" um artefato inventado e eventualmente construído. Nenhum ser humano foi
inventado ou construído... Quem sabe sua ingenuidade social, bem mostrada na peça, esteja
ligada a essa sua visão de que o ser humano é uma máquina, isto é, infinitamente mais
simples do que ele realmente é – apesar de, paradoxalmente,, na peça ele afirmar que a vida
é complexa.
Referências