Folha de S. Paulo


A busca de Alan Turing pela máquina de computar

RESUMO A série em que a "Ilustríssima" adianta os principais lançamentos do ano traz trecho do capítulo 7 de "A Informação: Uma História, uma Teoria, um Transbordamento", sobre o desenvolvimento da transmissão de dados, dos tambores tribais na África aos "memes". O livro sai em maio, pela Companhia das Letras.

*

Talvez a tarefa de conceber uma teoria da informação e de seu processamento seja um pouco como tentar construir uma ferrovia transcontinental. Podemos começar no leste, tentando compreender como os agentes são capazes de processar algo, e rumar para o oeste. Ou podemos começar no oeste, tentando compreender o que é a informação, e então rumar para o leste. Nossa expectativa é que os trilhos acabem se encontrando.
Jon Barwise (1986)1

No auge da Segunda Guerra Mundial, no início de 1943, dois pensadores de mentalidade parecida, Claude Shannon e Alan Turing, reuniam-se diariamente na hora do chá no refeitório dos Laboratórios Bell sem nada dizer um ao outro a respeito do próprio trabalho, pois se tratava de algo secreto. Ambos tinham se tornado analistas criptográficos.

Até a presença de Turing nos Laboratórios Bell era uma espécie de segredo. Ele tinha vindo a bordo do Queen Elizabeth, percorrendo um zigue-zague para despistar os submarinos alemães, após um triunfo clandestino em Bletchley Park ao decifrar o Enigma, código usado pelas Forças Armadas alemãs em suas comunicações de maior importância (como as instruções enviadas aos submarinos).

Reprodução/Simon Ducroquet
Ilustração de Simon Ducroquet para a edição da
Ilustração de Simon Ducroquet para a edição da "Ilustríssima" de 3 de fevereiro

Shannon estava trabalhando no Sistema X, usado na encriptação das conversas de voz entre Franklin D. Roosevelt no Pentágono e Winston Churchill em suas respectivas salas de guerra. Seu funcionamento consistia em coletar amostras do sinal analógico da voz ao ritmo de 50 vezes por segundo --"quantificando-o" ou "digitalizando-o"-- e então mascará-las por meio da aplicação de uma chave aleatória, que por acaso se parecia muito com o ruído nos circuitos com o qual os engenheiros já estavam tão familiarizados.

Shannon não projetou o sistema --ele fora designado para analisá-lo do ponto de vista teórico e, esperava-se, provar sua qualidade indecifrável. E foi o que ele fez. Posteriormente, tornou-se claro que esses dois homens, cada um em seu respectivo lado do Atlântico, fizeram mais do que qualquer outra pessoa no sentido de transformar a arte da criptografia numa ciência, mas, naquele momento, os criadores e decifradores de códigos não se falavam.

Diante da impossibilidade de conversar sobre o assunto, Turing mostrou a Shannon um estudo que havia preparado sete anos antes, intitulado "Sobre os Números Computáveis", a respeito dos poderes e das limitações de uma máquina idealizada de computação. Falavam, portanto, sobre outro tema que se revelou do interesse de ambos --a possibilidade de as máquinas aprenderem a pensar.

CÉREBRO

Shannon propôs que um cérebro eletrônico fosse alimentado com "elementos culturais", como a música, e eles iam se superando mutuamente na ousadia, a ponto de Turing certa vez exclamar: "Não, não estou interessado em desenvolver um cérebro poderoso. Busco apenas um cérebro mundano, algo parecido com o do presidente da Companhia Americana de Telégrafos e Telefones". A ousadia de ambos ao falar em máquinas pensantes em 1943, quando o transistor e o computador eletrônico ainda não tinham nascido, beirava o absurdo. A visão que Shannon e Turing partilharam nada tinha a ver com a eletrônica: tratava-se de algo no domínio da lógica.

Serão as máquinas capazes de pensar? era uma pergunta que tinha uma tradição breve e levemente incomum --incomum porque as máquinas eram, em si, extremamente ligadas a tarefas físicas. Charles Babbage e Ada Lovelace estavam entre os pioneiros dessa tradição, por mais que tivessem sido praticamente esquecidos, e agora suas pegadas levavam a Alan Turing, que fez algo de fato bizarro: imaginou uma máquina dotada de poderes ideais no domínio mental e mostrou aquilo que ela não poderia fazer. A máquina dele jamais existiu (exceto pelo fato de hoje existir por toda parte). Tratava-se apenas de um experimento da imaginação.

Paralelamente à questão do que uma máquina poderia fazer havia outra: quais operações seriam mecânicas (palavra antiga que ganhava novo significado). Agora que as máquinas eram capazes de tocar música, capturar imagens, apontar canhões antiaéreos, conectar chamadas telefônicas, controlar linhas de montagem e realizar cálculos matemáticos, a palavra não parecia mais ser tão pejorativa. Mas apenas os temerosos e os supersticiosos imaginaram que as máquinas poderiam ser criativas, originais ou espontâneas --tais qualidades estavam em oposição com a qualidade mecânica, que significava automática, determinada e rotineira. Esse conceito tornou-se então útil aos filósofos.

Um exemplo de objeto intelectual que poderia ser chamado de mecânico era o algoritmo: outro termo novo para algo que sempre havia existido (uma receita, um conjunto de instruções, um procedimento passo a passo), mas que agora exigia reconhecimento formal. Babbage e Lovelace lidaram com os algoritmos sem nomeá-los. O século 20 conferiu aos algoritmos um papel central --a partir daquele momento.

TOQUE ALEMÃO

Turing era bolsista do King's College, em Cambridge, onde tinha acabado de se formar quando apresentou seu estudo dos números computáveis a seu professor, em 1936. O título completo se encerrava com um toque de elegante alemão: era "Sobre os Números Computáveis, com sua Aplicação ao 'Entscheidungsproblem'".

O "problema da decisão" era um desafio apresentado por David Hilbert no Congresso Internacional de Matemática de 1928. Talvez o matemático mais importante de sua época, Hilbert, assim como Bertrand Russell e Alfred North Whitehead, acreditava ardentemente na missão de atrelar toda a matemática a uma base lógica sólida --"In der Mathematik gibt es kein Ignorabimus", declarou ele. ("Na matemática não existe o não saberemos.")

É claro que havia muitos problemas sem solução na matemática, alguns dos quais eram bastante famosos, como o Último Teorema de Fermat e a Conjectura de Goldbach --afirmações que pareciam verdadeiras, mas nunca tinham sido demonstradas. Ainda não tinham sido demonstradas, pensavam muitos. Havia a suposição, quase uma fé, segundo a qual todas as verdades matemáticas seriam um dia demonstráveis.

O "Entscheidungsproblem" consistia em encontrar um rigoroso procedimento passo a passo por meio do qual, dada uma linguagem formal de raciocínio dedutivo, seria possível realizar automaticamente uma demonstração. Era o sonho do filósofo e matemático alemão Leibniz (1646-1716) mais uma vez reanimado: a expressão de todo raciocínio válido por meio de regras mecânicas.

Hilbert apresentou isso sob a forma de uma pergunta, mas ele era um otimista. Imaginou saber a resposta, ou tinha a esperança de conhecê-la. Foi somente então, nesse ponto marcante para a matemática e a lógica, que o filósofo e matemático naturalizado americano Kurt Gödel interferiu na engrenagem com seu teorema da incompletude. Ao menos em seu teor, o resultado de Gödel pareceu ser um antídoto perfeito para o otimismo de Hilbert, assim como para o de Russell. Mas, na verdade, Gödel deixou o Entscheidungsproblem sem solução. Hilbert tinha estabelecido a distinção entre três perguntas:

Será a matemática completa?

Será a matemática consistente?

Será a matemática decidível?

Gödel mostrou que a matemática não poderia ser ao mesmo tempo completa e consistente, mas não conseguiu dar uma resposta definitiva à última pergunta, ao menos não de maneira a englobar toda a matemática.

Por mais que um determinado sistema de lógica formal contenha necessariamente afirmações que não possam ser provadas nem negadas dentro do próprio sistema, podemos conceber que tais questões sejam decididas, por assim dizer, por um árbitro externo --por uma lógica externa ou por regras exteriores ao sistema.2

ISOLADO

Alan Turing, com apenas 22 anos, mal conhecendo boa parte da literatura relevante, tão isolado em seus métodos de trabalho que seu professor se preocupava com a possibilidade de ele se tornar "um solitário convicto", fez uma pergunta completamente diferente (ao menos foi o que pareceu): serão os números computáveis? Tratava-se antes de mais nada de uma questão inesperada, porque quase ninguém tinha pensado na ideia de um número incomputável.

A maioria dos números com os quais as pessoas trabalham, ou com os quais raciocinam, são computáveis por definição. Os números racionais são computáveis porque podem ser exprimidos como o quociente de dois inteiros, a/b. Os números algébricos são computáveis porque são soluções de equações polinomiais. Números famosos como Π e e são computáveis; as pessoas os computam o tempo todo. Ainda assim, Turing fez a afirmação aparentemente simples segundo a qual poderia haver números que seriam de alguma forma nomeáveis, definíveis e não computáveis.

O que significava aquilo? Turing definiu como computável todo número cuja expressão decimal pudesse ser calculada por meios finitos. "A justificativa", disse ele, "jaz no fato de a memória humana ser necessariamente limitada." Ele também definiu o cálculo como procedimento mecânico, um algoritmo. Os humanos solucionam os problemas com a intuição, a imaginação, lampejos de criatividade --um cálculo que dificilmente poderíamos definir como mecânico, ou quem sabe uma computação cujos passos são ocultos.

Turing precisava eliminar o inefável. De maneira bastante literal, perguntou: o que uma máquina faria? "De acordo com minha definição, um número é computável se seu decimal pode ser registrado por uma máquina."

Nenhuma máquina existente oferecia ele um modelo relevante. Os "computadores" eram, como sempre, as pessoas. Praticamente toda a computação do mundo ainda era realizada por meio do ato de registrar marcações no papel. Mas Turing tinha uma máquina de informação que poderia usar como ponto de partida: a máquina de escrever. Aos 11 anos, enviado para o internato, ele imaginou a invenção de algo do tipo. "Vejam só", escreveu ele aos pais, "os pequenos círculos engraçados são letras cortadas e montadas lateralmente num encaixe deslizante ligado ao A, que deslizam paralelamente a um tinteiro que, quando pressionado por elas, faz com que estas marquem a letra no papel, mas isso está longe de ser tudo."

FERRAMENTA

A máquina de escrever, é claro, não é automática --trata-se de algo mais semelhante a uma ferramenta do que a uma máquina. Ela não despeja sobre a página uma torrente de linguagem. Em vez disso, a página avança espaço por espaço sob o martelo, que imprime um caractere depois do outro. Com esse modelo em mente, Turing imaginou outro tipo de máquina, da maior pureza e simplicidade. Por ser imaginária, não era limitada pelos detalhes do mundo real que seriam necessários para um desenho técnico, uma especificação de engenharia ou o registro de uma patente.

Como Babbage, Turing concebeu sua máquina para computar números, mas não teve de se preocupar com as limitações do ferro e do latão. Turing jamais teve a intenção de construir um protótipo de sua máquina. Ele relacionou numa lista os pouquíssimos itens que sua máquina teria de apresentar: fita, símbolos e estados. Cada elemento exigia uma definição.

Loz Pycock/Creative Commons
Estátua de Alan Turing no museu de Bletchley Park, na Inglaterra; governo pediu perdão por tratamento
Estátua de Alan Turing no museu de Bletchley Park, na Inglaterra; governo pediu perdão por tratamento "chocante"

Fita é para a máquina de Turing aquilo que o papel é para a máquina de escrever. Mas, enquanto a máquina de escrever usa duas dimensões de seu papel, essa máquina usaria apenas uma --uma fita, portanto, uma faixa longa dividida em quadrados. "Na aritmética elementar, a natureza bidimensional do papel é às vezes usada", escreveu ele. "Mas tal uso é sempre evitável, e creio que concordamos que a natureza bidimensional do papel não é um elemento essencial à computação." Devemos pensar na fita como infinita: sempre há mais quando necessário. Mas há apenas um quadrado "na máquina" a cada vez. A fita (ou a máquina) pode se deslocar para a esquerda ou a direita, passando ao quadrado seguinte.

Símbolos podem ser registrados na fita, cada um deles num quadrado. Quantos símbolos poderiam ser usados? Isso exigia algum raciocínio, especialmente para garantir que os números fossem finitos. Turing observou que as palavras --ao menos nos idiomas europeus-- se comportavam como símbolos individuais. Ele disse que o chinês "tenta contar com uma infinidade enumerável de símbolos". Os numerais arábicos também poderiam ser considerados infinitos, se 17 e 999.999.999.999.999 forem tratados como símbolos únicos, mas ele preferiu tratá-los como um composto: "É sempre possível usar sequências de símbolos no lugar de símbolos avulsos".

Na verdade, condizente com o espírito minimalista da máquina, ele favoreceu o mínimo absoluto de dois símbolos: a notação binária, zeros e uns. Além de serem registrados na fita, os símbolos deveriam também ser lidos a partir dela --a palavra que ele usou foi "escaneados". É claro que, na realidade, nenhuma tecnologia da época era capaz de escanear símbolos escritos num papel e inseri-los na máquina, mas havia equivalentes: os cartões perfurados, por exemplo, hoje usados nas máquinas de tabulação. Turing especificou outra limitação: a máquina tem "consciência" (somente a palavra antropomórfica serviria) de apenas um símbolo por vez --aquele contido no quadrado inserido na máquina.

Estados exigiam uma explicação mais aprofundada. Turing usou a palavra "configurações" e indicou que se assemelhavam a "estados de espírito". A máquina tem alguns destes --algum número finito. Num dado estado, a máquina assume um ou mais determinados comportamentos, dependendo do símbolo em questão.

No estado A, por exemplo, a máquina pode deslocar a fita para o quadrado adjacente à direita se o símbolo em questão for 1, ou deslocar a fita para o quadrado adjacente à esquerda se o símbolo em questão for 0, ou imprimir 1 se o quadrado em questão estiver em branco. No estado B, a máquina pode apagar o símbolo em questão. No estado C, se o símbolo for 0 ou 1, a máquina pode deslocar a fita para a direita ou, caso contrário, parar.

Depois de cada ação, a máquina termina num novo estado, que pode ser o mesmo ou diferente. Os vários estados usados para um dado cálculo eram armazenados numa tabela --a forma de administrar esse processo fisicamente não era relevante. Na prática, a tabela de estados era o conjunto de instruções da máquina.

E isso era tudo.

Turing estava programando sua máquina, apesar de ainda não empregar tal palavra. A partir das ações mais primitivas --mover, imprimir, apagar, mudar de estado e parar--, processos maiores foram construídos e foram usados, de novo e de novo: "Copiar sequências de símbolos, comparar sequências, apagar todos os símbolos de um determinado formato etc.". A máquina só pode ver um símbolo por vez, mas na prática pode usar partes da fita para armazenar informações de forma temporária.

RASCUNHO

Nas palavras de Turing: "Alguns dos símbolos registrados [...] são apenas anotações de rascunho 'para auxiliar a memória'". A fita, desenrolando-se até o horizonte e além, serve como registro ilimitado. Dessa forma, toda a aritmética jaz ao alcance da máquina. Turing mostrou como fazer para somar um par de números --ou seja, escreveu a tabela de estados necessária para a operação. Mostrou como fazer a máquina imprimir (interminavelmente) a representação binária de II;. Gastou um tempo considerável tentando desvendar tudo aquilo que a máquina era capaz de fazer e como poderia desempenhar tarefas específicas. Demonstrou que essa breve lista cobre tudo aquilo que uma pessoa faz ao computar um número. Não era necessário nenhum outro conhecimento ou intuição. Tudo aquilo que é computável poderia ser computado por aquela máquina.

Notas
1 As notas estritamente bibliográficas foram eliminadas.
2 Perto do fim da vida, Gödel escreveu: "Foi só com o trabalho de Turing que se tornou completamente claro que minha demonstração se aplica a todos os sistemas formais que contenham a aritmética". Kurt Gödel a Ernest Nagel, 1957, em "Kurt Gödel: Collected Works", vol. 5, org. Solomon Feferman (Nova York: Oxford University Press, 1986), p. 147.


Endereço da página: