Todas as perguntas respondidas

Autor: Pedro Luis Kantek G. Navarro

Em 5 de outubro de 2001, na Universidade Técnica de Munique, Donald Knuth apresentou uma aula intitulada "Todas as perguntas respondidas" para uma audiência de cerca de 350 pessoas. Este artigo contém uma tradução livre de alguns momentos dessa aula. Originalmente um professor de matemática, Knuth ganhou fama internacional como cientista da computação, especialmente na área de análise de algoritmos. A série seminal de 3 livros denominada The Art Of Computer Programming ainda é o que há em estudo de algoritmos, mais de 30 anos depois de sua publicação original. O longamente aguardado quarto volume está a caminho. Partes dele podem ser vistas em www-cs-faculty.stanford.edu/ ~knuth/. Knuth tem mais de 160 livros e artigos publicados e aclamados como o "estado da arte". Ele é o criador das linguagens TEX e METAFONT usadas para composição tipográfica, que revolucionaram a publicação de textos matemáticos no mundo. A lista de prêmios e medalhas do professor Knuth é impressionante.

Knuth explica: Em qualquer curso que eu dou em Stanford, o último dia de aula sempre é devotado a "todas as perguntas respondidas". Os estudantes não precisam vir para a aula se não desejarem e os que vêm podem fazer qualquer pergunta sobre qualquer assunto exceto política, religião e exame final. Eu tirei esta idéia de Richard Feinmann (Prêmio Nobel de Física) que fazia a mesma coisa nas suas aulas na CalTech e é sempre interessante para saber as coisas que realmente interessam aos estudantes. Hoje eu responderei a qualquer pergunta sobre qualquer assunto. Sobre política e religião eu responderei "não sei" e não há exame final para nos preocupar. Então, quem quer começar?

Há um ligeiro mal estar no auditório e o professor Knuth diz "Bom, já que não há perguntas..."e faz menção de ir embora. É o que basta para surgirem diversas questões.

Os matemáticos dizem que Deus tem o "livro das provas" no qual estão escritas as provas de todos os teoremas . Você poderia recomendar algum algoritmo para esse livro?

Knuth: Bonita pergunta. Eu lembro que nos anos 60, os matemáticos disseram que a ciência da computação chegaria à maturidade quando ela tivesse 1000 algoritmos profundos. Eu penso que provavelmente chegamos aos 500. Certamente há alguns algoritmos que eu penso possam ser considerados absolutamente maravilhosos e imortais, em algum sentido. Um exemplo é o algoritmo de Euclides (um algoritmo recursivo que calcula o mdc).

Você tem tido idéias sobre computação quântica?

Knuth: Sim, mas eu não sei direito como esse negócio funciona. É um paradigma diferente do que eu tenho usado. Ela tem um monte de coisas em comum com a computação que eu conheço, mas é algo vagamente misterioso essa coisa de você ter todas as respostas ao final. Muitos aqui devem ter visto o filme "Corra Lola, corra" no qual a história rola de 3 pontos de vistas diferentes. Computação quântica é parecida, o mundo vai em diferentes caminhos ao mesmo tempo e ao final escolhe-se o melhor. Eu sou razoável em computação não quântica, assim é possível que quando a computação quântica chegar, eu não seja habilidoso nela. Estou muito interessado em computação, mas porque ocorreu de eu ser bom nisso aí. Afortunadamente, eu consegui achar uma coisa na qual eu sou competente e que tem interesse para outras pessoas. Eu não desenvolvi a minha habilidade em trabalhar com algoritmos porque eu pretendia ajudar as pessoas a resolverem problemas. Quando eu era adolescente, eu tinha um jeito peculiar de pensar que me fez ser um bom programador. Mas eu não serei um bom programador em computação quântica. É outro mundo.

Parece-me mais fácil revisar um livro do que corrigir programas. Como se pode aplicar a teoria para melhorar o software?

Knuth: Certos erros do software são mais difíceis de corrigir do que erros em livros. De fato, eu cheguei à conclusão depois de gastar 10 anos da minha vida trabalhando no projeto TEX, que o software é "duro" (...the software is hard...). É mais difícil do que qualquer outra coisa que eu tenha feito. Nos meus livros, eu ofereço recompensas para a primeira pessoa que encontre qualquer erro, e eu devo dizer que tenho assinado mais cheques para alemães do que para cidadãos de qualquer outro país (a palestra era na Alemanha). Eu penso que deixar os usuários reportarem erros é uma técnica importante que poderia ser usada pela indústria de software. A Microsoft poderia dizer "você obterá um cheque de Bill Gates cada vez que você achar um erro".

Você tem um grande interesse em quebra-cabeças, incluindo a Torre de Hanoi em mais do que 3 pinos. Qual a melhor (menor) solução para este problema?

Knuth: Todos aqui conhecem o problema da Torre de Hanoi? Há 3 pinos e nestes diversos discos colocados. Os discos estão ordenados, o maior abaixo e o menor acima da pilha. A pilha toda deve ser movida, um disco de cada vez e não podendo colocar um disco grande sobre um disco menor. Há um pino auxiliar para ajudar na mudança. Henry Dudeney inventou a idéia de generalizar o problema para mais do que 3 pinos, e a questão de encontrar o menor caminho para mover a torre com 4 pinos, tem sido uma questão aberta por mais de 100 anos. Outro problema famoso é a não menos famosa Conjectura de Goldbach (todo inteiro par é a soma de 2 primos ímpares). Hoje eu penso que este problema nunca será resolvido (a prova ou a negação da conjectura). Este pode ser um dos teoremas indemonstráveis que Gödel mostrou existirem. Quanto ao problema da Torre com 4 pinos, eu cheguei à conclusão de que nunca seria capaz de resolvê-lo e eu parei de trabalhar nele em 1972. Mas antes, gastei uma boa semana trabalhando duro nele.

Quais são os 5 problemas mais importantes na computação?

Knuth: Eu não gosto desse negócio das "10 mais" (top ten) . É dos 10 de baixo (bottom ten) que eu estou interessado. Eu penso que a gente deve ir para as coisas pequenas, as pedras que farão a parede.

Você gastou uma grande parte de sua vida em tipografia matemática. Como avalia o impacto do seu trabalho?

Knuth: Eu estou muito feliz porque o meu trabalho é de domínio público e torna possível às pessoas de qualquer plataforma se comunicarem pela Internet. Há duas semanas eu ouvi os projetos dos jornais online da Sociedade Européia de Matemáticos. Tais coisas seriam impossíveis sem o software aberto que acabou resultando do meu trabalho. Assim, eu fico deliciado por ajudar o progresso da ciência. Eu gosto de ver livros que têm um visual bom. Antes de eu começar meu trabalho com o TEX, os livros de matemática tinham visual ruim e pioravam de ano a ano. Dava um bocado de trabalho e as pessoas que poderiam fazer algo não estavam interessadas em textos matemáticos. Eu nunca esperei que TEX se transformasse no padrão mundial de publicações matemáticas

Você mandou cheques para pessoas que apontaram erros nos seus livros. Eu nunca ouvi falar que qualquer dessas pessoas descontasse um único cheque. Você tem idéia de quanto dinheiro perderia se essas pessoas repentinamente sacassem o dinheiro?

Knuth: Existe um homem que mora perto de Frankfurt que provavelmente teria mais de 1000 US$ se descontasse todos os cheques que mandei a ele. Existe um em Los Gatos, Califórnia, que eu nunca encontrei que desconta um cheque de US $ 2,56 por mês e que deve ter cheques para vários anos ainda. Devo ter enviado mais de 2000 cheques com valor médio de US$ 8,00 por cheque. Ainda que todos eles resolvam sacar, eu ficarei no lucro: meus livros terão ficado melhores.

(Obs: no mundo da informática, ter um cheque de Knuth, devidamente emoldurado e pendurado na parede do escritório, é como ter recebido um grande prêmio. É uma honraria, daí que ninguém os desconta).

REFERÊNCIA

O texto original da aula pode ser encontrado em
<http://www.ams.org/notices/200203/fea-knuth.pdf>