Fonte de Código

Limpo, fluído e refrescante
 

4.5.11

Watson: quase humano?

Artigo de Pedro Burgos e Alexandre Versignassi para a revista Superinteressante, edição 290. Os comentários ao final são meus.

"Watson derrota a humanidade." Essa foi uma das manchetes para a vitória de Watson, um computador que ganhou dos melhores competidores que a raça humana tinha disponível no Jeopardy!, um jogo de perguntas e respostas da TV americana. Pudera: Jeopardy! é um jogo complexo. Para humanos, inclusive. São perguntas furtivas, tipo: "Isso é só um nariz sangrando! Você não tem essa doença genética que já foi endêmica entre a realeza europeia. Qual é a doença?". Watson acertou: hemofilia. Acertou essa e outras dezenas de perguntas capciosas - e, como seus concorrentes humanos, não estava ligado à internet. Tudo o que ele tinha à disposição era uma memória de 15 mil gigabytes com alguns milhões de textos arquivados e uma capacidade de processamento equivalente à de 2.800 micros caseiros. Um computadorzão bem programado, só isso.

E tudo isso: para responder perguntas nessa linha, um computador precisa entender a linguagem falada e ter um raciocínio capaz de fazer associações inesperadas. Até fevereiro, isso era exclusividade de humanos. Mas e agora, que perdemos para esse ser gelado? Dá para dizer que a inteligência artificial está se equiparando à nossa inteligência?

O debate está pegando fogo. De um lado, há os que vibram com Watson e similares e acreditam que os computadores vão superar logo a inteligência humana. A outra corrente diz que, por mais complexo e surpreendente que seja o feito de um computador, ele nunca será comparável ao de uma pessoa [1]. Seriam duas inteligências distintas.

O termo "computador" denunciaria isso, por sinal. Até a metade do século 20, "computador" era uma profissão. Eram pessoas responsáveis por fazer cálculos longos - como pegar um monte de dados astronômicos e calcular quando um cometa passaria de novo pela Terra. Pessoas inteligentes, claro. Mas e hoje? Bom, hoje inteligente é quem bola o programa para que o computador resolva as contas.

Toda vez que conseguimos delegar uma função para máquinas, a tarefa perde a nobreza. Isso aconteceu até na derrota do campeão Kasparov para Deep Blue em 1997. Enquanto os defensores da inteligência artificial comemoravam, os da humanidade saíram-se nessa linha: "Bom, xadrez é só um jogo de análise estatística bruta. Não requer inteligência de verdade". Com a vitória no Jeopardy! pode acontecer a mesma coisa: "Computadores vão bem? Ah, o jogo não é nada de mais".

Mas e se habilidades que consideramos pessoais e intransferíveis da nossa espécie puderem ser executadas por máquinas sofisticadas? Como ficamos? Se quisermos reduzir as habilidades do Homo sapiens a instruções de programação, o talento para a poesia, por exemplo, pode ser descrito como um programa capaz de achar uma boa combinação de palavras. E daria para definir um líder político como um sujeito com um bom software para analisar riscos e oportunidades [2].

Não é fantasia. O próprio Watson pode servir para tarefas bem mais humanas que responder perguntas. Programado adequadamente, ele pode fazer diagnósticos com mais precisão que um médico - da mesma forma que uma calculadora de bolso é mais rápida que qualquer gênio da matemática. O supercomputador tem como ouvir relatos orais de pacientes e cruzar os sintomas com o banco de dados de toda a literatura médica em segundos. É mais do que qualquer Dr. House pode fazer. Mas isso torna os humanos dispensáveis? Não. Por mais que uma máquina consiga feitos mirabolantes, ela vai ser sempre uma ferramenta que depende de humanos. Um "computador médico" precisa de médicos para ser programado. Os cérebros humanos por trás são tão importantes que o próprio Watson errou questões por bobeira de programação. Um dos deslizes: perguntaram qual categoria da elite do automobilismo tem o nome de uma tecla de computador. "F-1" era a resposta. Qualquer batedeira tem capacidade de processamento para cruzar uma lista de nomes de teclas com uma de categorias de corridas. Mas a coisa mais próxima que Watson tinha para dizer era "Nascar". Falha dele? Não, dos programadores - a Fórmula 1 é solenemente ignorada nos EUA.

O erro nessas horas é imaginar que as máquinas são uma espécie à parte. Computadores são só alicates e martelos mais complexos [3]. E quando você marreta o dedo não é culpa da natureza do martelo, mas sua, que não soube "programar" a martelada. A vida é melhor com martelos. Com supercomputadores também. A vitória de um é uma vitória da humanidade. E sempre será, mesmo no dia em que uma máquina puder escrever um texto como este bem melhor do que a gente [4].

***

[1] Sempre me pareceu que aqueles que acreditam que os computadores estão "quase chegando ao nível humano" tem uma visão um tanto quanto superficial da mente humana, e da existência em geral. Nós nos diferenciamos das máquinas no sentido em que interpretamos informações do mundo a nossa volta, e não apenas as computamos e/ou cruzamos com bancos de dados na memória. Em suma, somos seres de vontade, e nenhuma máquina até hoje chegou sequer próximo de demonstrar alguma vontade. Mesmo Alan Turing jamais imaginou que um computador seria o equivalente de um ser humano, tudo o que disse é que as máquinas poderiam eventualmente fazerem-se passar por um ser humano, nos copiar quase a perfeição - mas até hoje não há máquina que tenha passado no teste de Turing.

[2] Se é que um computador um dia produzirá poesia de qualidade, isso nada mais será do que o resultado da arte de uma programação. Talvez combinada com uma boa dose de conhecimento da gramática, mas uma programação. Ou seja, um dia talvez programadores sejam poetas - máquinas, nem tanto...

[3] E, como qualquer outra ferramenta criada pela humanidade, são fruto de nossa mente em sua potencialidade criativa. Não faz sentido imaginar máquinas como novas espécies, ah não ser que você contrarie a teoria da evolução e afirme que nós mesmos fomos "programados" por alguma inteligência superior. Quem quer que tenha programado em nós essa divina capacidade de ter vontade, não passou o código-fonte adiante.

[4] Esse artigo, talvez até por ser de certa forma despretencioso, é genial em sua capacidade de síntese do que é e do que não é a inteligência artificial. Ora, devemos sim comemorar os avanços da ciência, da mesma forma que comemoramos a escultura de um gênio da arte. Não podemos é acreditar que, tal qual os mitos de gárgulas, nossas esculturas de silício ganharão vida própria, e deixarão de ser apenas uma ferramenta, para se tornar uma nova espécie - programando a si mesma de alguma forma "mágica".

***

Crédito da foto: Adrianna Williams/Corbis.

Marcadores: , , , , , ,

  • Adicionar ao Delicious
  • Adicionar ao Digg
  • Adicionar a Technorati
  • Adicionar ao seu mural no Facebook
  • Adicionar como tweet no seu Twitter

3.3.11

iPad 2

O repórter de tecnologia da BBC mostra o novíssimo iPad, revelado pelo presidente da Apple, Steve Jobs na quarta-feira. Ele conta que a primeira surpresa da noite foi a presença de Jobs, que está de licença médica, mas foi ao palco para dizer que o produto dele deve "arrasar a concorrência":

Marcadores: , , , , ,

  • Adicionar ao Delicious
  • Adicionar ao Digg
  • Adicionar a Technorati
  • Adicionar ao seu mural no Facebook
  • Adicionar como tweet no seu Twitter

26.8.10

A arte dos algoritmos

A ciência da computação nasceu com o conceito de algoritmo, criado conjuntamente em 1936 pelo experimento mental de Alan Turing, conhecido como Máquina de Turing, enquanto quase ao mesmo tempo Alonzo Church criava o cálculo lambda. Um algoritmo é uma seqüência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita.

O conceito de algoritmo é freqüentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema.

Roger Alsin é um programador sueco bem menos conhecido, mas que aborda a arte dos algoritmos de uma forma impensável na época de seus criadores... No final de 2008, ele resolveu brincar um pouco com alguns algoritmos, mais precisamente algoritmos genéticos. Ele criou um pequeno programa que evolui cadeias de “DNA digital” para renderização de polígonos, eis as instruções aplicadas:

(0) Cria uma cadeia de DNA aleatoriamente (início do programa); (1) Copia a seqüência de DNA atual e aplica uma pequena mutação; (2) Usa o novo DNA para renderizar polígonos em uma tela; (3) Compara a tela com a imagem original (a ser copiada); (4) Se a imagem se parece mais com a imagem original do que a imagem gerada pelo DNA pai, substituir o DNA antigo pelo DNA atual; (5) Repetir a partir do passo 1.

Então, Alsin colocou como meta aos seus algoritmos tentar recriar (ou copiar da melhor forma possível) a Mona Lisa de Da Vinci usando apenas 50 polígonos semi-transparentes... Após 904.314 gerações, o algoritmo genético de Alsin chegou a uma imagem bastante próxima da original, se considerarmos que algoritmos não são exatamente mestres da pintura (ou pelo menos, ainda não são). Você pode ver a imagem final no início do artigo, ou ver as diversas gerações no weblog de Alsin.

Em 1992, John Koza – cientista da computação – usou algoritmos genéticos para desenvolver programas para realizar certas tarefas. Ele chamou seu método de programação genética. Koza foi pioneiro neste método de programação, que hoje é cada vez mais utilizado no mundo.

O aspecto mais bizarro e intrigante da programação genética é que seus algoritmos – verdadeiras “entidades de software” – não sofrem as restrições dos hábitos de pensamento e das inclinações intelectuais sutis dos programadores humanos. Como exploram irrefletidamente todo o espectro de soluções possíveis para um determinado problema, os algoritmos genéticos podem trazer soluções puramente alienígenas. Por exemplo, a NASA utilizou a programação genética para produzir o projeto ideal de um suporte a ser usado na Estação Espacial Internacional. Como relatou o U.S. News and World Report, o resultado parecia ter saído de um romance de ficção científica:

“Surgiu, de 15 gerações e 4.500 projetos diferentes, um suporte que nenhum engenheiro humano projetaria. O conjunto grumoso e com a extremidade arredondada lembrava o osso de uma perna, irregular e um tanto orgânico. Testes em modelos confirmam sua superioridade sobre os projetos humanos com suporte estável. Nenhuma inteligência fez os projetos. Eles apenas se desenvolveram.”

Outro exemplo espantoso da total estranheza da programação genética bem-sucedida é o código e computador que foi desenvolvido para ajudar um paciente a controlar uma mão protética com base em sinais nervosos erráticos captados por eletrodos presos ao pulso do paciente. O software desenvolvido analisava misteriosamente os sinais nervosos e os traduzia com precisão perfeita nos movimentos que o paciente queria fazer.

Mas aqui está a parte realmente estranha – o método pelo qual o software realizou esse feito incrível está totalmente além da compreensão dos pesquisadores humanos. Como relatou a Scientific American:

“O código desenvolvido era tão confuso e indecifrável quanto um inseto esmagado. O programa que prevê os gestos consiste numa única linha de código tão longa que enche uma página inteira e contém centenas de expressões parentéticas embutidas. Ele nada revela sobre por que o polegar se move de uma certa maneira – só revela que se move.”

***

Crédito das imagens: [topo] Roger Alsin (sim, pois foi ele quem criou o programa que copiou a Mona Lisa de Leonardo Da Vinci); [ao longo] Andrea Ruester/Corbis

Marcadores: , , , , , , ,

  • Adicionar ao Delicious
  • Adicionar ao Digg
  • Adicionar a Technorati
  • Adicionar ao seu mural no Facebook
  • Adicionar como tweet no seu Twitter