segunda-feira, 23 de abril de 2007

Algoritmos Genéticos

Na faculdade de Computação, fiz uma cadeira de IA (Inteligência Artificial). O professor nos apresentou algumas técnicas de programação que são usadas nesse ramo da computação, onde os problemas são muito complexos, algumas vezes de tal forma que nem dá pra pensar num algoritmo comum para resolve-los. Problemas cuja ordem de complexidade exige mais dos computadores. Vimos técnicas tais como Resfriamento/Têmpera Simulada (Simulated Annealing) e Algoritmos Genéticos (Genetic Algorithms).

Eu fiquei principalmente interessado nessa técnica de Algoritmos Genéticos que é inspirada na biologia evolutiva e usa hereditariedade, mutação, seleção natural e recombinação (crossing over) para achar soluções aproximadas de problemas de otimização e busca. Isso funciona da seguinte forma: os algoritmos genéticos são implementados como uma simulação de computador em que uma população de representações abstratas de solução é selecionada em busca de soluções melhores (fazendo um paralelo com o papel de um indivíduo biológico, ou seja, uma tentativa de solução de problemas de sobrevivência no mundo real). A evolução geralmente se inicia a partir de um conjunto de soluções criado aleatoriamente e é realizada através de gerações. A cada geração, a adaptação de cada solução na população é avaliada, alguns indivíduos são selecionados para a próxima geração de acordo com sua aptidão em resolver o problema proposto, e recombinados ou mutados para formar uma nova população. A nova população então é utilizada como entrada para a próxima iteração do algoritmo. Em outras palavras, um algoritmo genético atua na resolução de um problema da mesma forma que a evolução atua, isto é, através de populações de indivíduos que geram descendentes através de várias gerações e são selecionados naturalmente de acordo com suas características. Explico melhor com um exemplo a seguir.

O professor passou um problema para implementarmos essa técnica. O problema consistia em alocarmos várias freqüências diferentes num conjunto de antenas de forma que a interferência entre elas fosse a menor possível. Ele então disse algumas regras sobre como aconteceriam as interferências. Ele disse quantos grupos de antenas deveriam existir, as distâncias possíveis entre as antenas, quantas freqüências tínhamos disponíveis, quanta interferência seria causada dependendo das distâncias, etc. Por exemplo, uma antena "A" poderia usar a freqüência 23, e outra antena "B" poderia usar a freqüência 54, e assim por diante. Mas também poderia acontecer de antenas diferentes usarem a mesma freqüência, por isso causariam interferência uma na outra dependendo da distância entre elas. E se nós tivéssemos 500 antenas, e tivéssemos que distribuir apenas 100 freqüências entre elas, isso teria que ser de forma que a interferência fosse mínima. Como tínhamos um número limitado de frequências para distribuir em centenas de antenas, logicamente que ocorreriam repetições, e uma mesma frequência teria que ser usada por mais de uma antena. Isso é conhecido como "Princípio da Casa dos Pombos" (se N pombos devem ser postos em M casas, sendo N > M, então pelo menos uma casa irá conter mais de um pombo).

A solução do problema usando algoritmos genéticos é extremamente elegante, fácil e não nos custa esforço nenhum. Simplesmente nós, os programadores, não resolvemos o problema, mas deixamos a solução evoluir sozinha. Elegante, não? Para esse problema das antenas, fazemos o seguinte. Digamos que queremos alocar 100 freqüências em 500 antenas. Primeiramente, temos que criar a nossa população inicial que é constituída de indivíduos. O que é um indivíduo? Um indivíduo é uma possível solução do problema. E neste caso, um indivíduo é um conjunto de 500 antenas, cada uma com sua freqüência específica. Podemos escolher o tamanho da população inicial de, digamos, 3 mil indivíduos, ou seja, 3 mil soluções diferentes para o problema, inicializadas de forma completamente aleatória. Nós pegamos uma função que gera valores aleatórios de 1 até 100 e alocamos um valor para cada uma das 500 antenas, fazemos isso 3 mil vezes para termos 3 mil indivíduos na população inicial. Assim estamos prontos para começar.


Já dá pra perceber algumas semelhanças com a evolução biológica. Temos uma população com centenas ou milhares de indivíduos, cada um destes com características diferentes. Os genes são as partes do código genético de cada indivíduo. Então, no nosso exemplo, cada indivíduo possui 500 genes, cada um dos quais sendo um par antena-freqüência, por exemplo, um indivíduo pode possuir um gene que seja 324-12, ou seja, ele pode ter na sua antena de número 324 a freqüência 12. A mutação é uma mudança aleatória em um gene, então digamos, se um indivíduo possui um gene dizendo que sua antena de número 324 possui a freqüência 12, o seu filho pode herdar esse gene e, caso ele sofra uma mutação, pode mudar para a freqüência 57, formando o gene 324-57. O cruzamento acontece quando dois indivíduos cruzam entre si para gerar filhos. No nosso caso, pegamos dois indivíduos (dois conjuntos de antenas com freqüências) e geramos um filho (novo conjunto de antenas com freqüências). No caso esse filho recebe metade dos genes do seu pai e metade dos genes da sua mãe. Essa doação de genes á aleatória, contanto que tenha 50% do pai e 50% da mãe.


E a seleção natural? Bem, a partir das regras que o professor deu para calcularmos a interferência entre as antenas dependendo das distâncias entre elas, podemos calcular a aptidão de cada indivíduo. Cada um possui características que o tornam mais apto ou menos apto para sobreviver, se reproduzir e passar seus genes para seus descendentes. No nosso caso a aptidão é a interferência total de um indivíduo. Tendo as regras para calcular a interferência de cada antena, podemos chegar em resultados que mostrem as aptidões dos indivíduos. No nosso exemplo, temos uma população de 3 mil indivíduos, cada um deles tendo um valor de interferência que é causado pelas suas antenas de acordo com as freqüências de cada uma e suas respectivas distâncias com as demais antenas. Lembro-me que a aptidão inicial média da população era um valor muito alto de interferência, ou seja, quando inicializamos as antenas com freqüências aleatórias, fica tudo muito confuso e existe uma interferência altíssima. Percebamos que nesse caso, um valor menor para interferência significa um indivíduo mais apto, ou seja, que possui os melhores genes para sobreviver.

Depois de gerarmos a população inicial (onde cada indivíduo é uma possível solução do problema), começamos a rodar o programa. A cada geração, calculamos a aptidão de cada indivíduo e permitimos que se reproduzam com uma probabilidade maior para aqueles que tiverem uma aptidão melhor. Dessa prole, depois do cruzamento, pegamos um pequeníssimo percentual dos indivíduos e nestes causamos mutações em um pequeníssimo percentual dos seus genes. Daí pegamos a prole inteira, tanto aqueles que sofreram mutações (uns poucos) como aqueles que não sofreram (quase todos) e calculamos a aptidão de cada um deles. Selecionamos um percentual maior daqueles que tem uma melhor aptidão e um pequeno percentual de quem tem aptidão ruim. Agora temos uma nova população, que foi "peneirada" a partir da primeira, foi cruzada e sofreu algumas poucas mutações. Como selecionamos com uma chance maior aqueles indivíduos com melhor aptidão para poderem reproduzir-se, existe uma tendência probabilística de que essa prole tenha indivíduos com aptidões melhores ainda (no caso, com menor interferência entre as antenas). Tipo, eventualmente pode surgir uma geração onde a aptidão média seja pior, mas a longo prazo, a tendência é que genes que causem uma aptidão ruim sejam eliminados do reservatório genético (pool genético) da população.


Lembro-me que no início a interferência média da população era algo em torno de 2500. Mas ao longo da simulação, víamos um gráfico dessa interferência em cada geração sendo construído e ia decrescendo. Depois de algumas dezenas de milhares de gerações (que bom que os computadores são rápidos), lembro que o melhor resultado que conseguimos foi de interferência 11. Impressionante! Aqueles indivíduos que tinham sido inicializados aleatoriamente, foram sendo cruzados de acordo com suas aptidões e esses cruzamentos seguiram as leis da probabilidade onde aqueles com melhor aptidão tinham mais chances de sobreviver e cruzar. Essa tendência estatística convergiu cada vez mais para uma população com a aptidão melhorada.

E algoritmos genéticos tem sido usados muito para resolver muitos problemas computacionais. Esse tipo de algoritmo é usado por empresas de telecomunicações para determinar a posição ótima de uma rede de torres de telefones celulares, também é usado para melhorar a área de cobertura de satélites, para descobrir novos algoritmos de ordenação, melhores rotas de transporte, etc. É uma infinidade de usos. Já li sobre um satélite da NASA onde os engenheiros não projetaram o satélite, mas ele evoluiu. Eles simplesmente pegaram vários projetos de satélite e jogaram dentro de um algoritmo genético. Daí, o programa pegava os vários projetos, ia misturando eles, cruzando, gerando automaticamente novos projetos que eram uma mistura dos vários projetos iniciais, eles sofriam mutações e depois de muitas gerações de cruzamento, mutação e seleção, surgiram novos projetos inéditos muito melhores. O poder da seleção natural é fantástico.

A ordenação de conjuntos é um problema rotineiro da computação e existem muitos algoritmos famosos para resolver esse problema. Mas com o uso de algoritmos genéticos, são obtidos novos algoritmos de ordenação que os próprios programadores não fazem a menor idéia de como eles funcionam, só sabem que conseguem ordenar conjuntos e de forma excelente. Nada como um mecânismo simples de seleção gradual e cumulativa direcionando as soluções por caminhos cada vez mais adaptados de acordo com as situações locais. O poder da seleção cumulativa é bem explicado no livro "O Relojoeiro Cego" do biólogo Richard Dawkins e ele dedica todo um capítulo para esclarecer esta questão. Ele prova que um macaco batendo aleatoriamente numa máquina de escrever nunca poderia produzir todas as obras de Shakespeare. Mas se for usado o mecânismo da seleção cumulativa e gradual, em um tempo razoável, o tal macaco datilógrafo poderia tornar-se um grande escritor.

quinta-feira, 5 de abril de 2007

Coelhinho da Páscoa / Eostre / Ostara

Nada mais natural do que eleger como divindade do mês o Coelhinho da Páscoa. Ele foi trazido para a América por imigrantes alemães em 1699. A festa tradicional da Páscoa associa a imagem do coelho a um símbolo de fertilidade. Antigamente, nas culturas do oeste europeu, era uma lebre ao invés de ser um coelho.

O Coelhinho da Páscoa é um exemplo (além de tantos outros) de mitologia folclórica na qual as crianças são ensinadas a acreditar. Algumas pessoas não aprovam o ensinamento sobre a existência do Coelhinho da Páscoa. Nem todos acreditam no Coelhinho da Páscoa, e a maioria, senão todos, eventualmente "crescem para fora" de sua crença. Outros exemplos proeminentes são o Papai Noel e a Fada dos Dentes. Ainda poderiamos falar em personagens que cumprem papeis semelhantes no imaginário infantil (e até adulto) como a Mula-sem-Cabeça e o Saci-Pererê. Apesar de tudo, muitas famílias participam no papel desse mito sem ter que obrigatoriamente acreditar na sua literalidade como uma forma de jogo ou tradição. De acordo com a tradição, o Coelhinho da Páscoa deixa cestas com guloseimas (incluindo ovos de chocolate, doces e bombons) na manhã de Páscoa para as crianças bem comportadas.

No antigo Egito, o coelho simbolizava o nascimento e a nova vida. O mais importante é que a origem da imagem do coelho na Páscoa está na fertililidade que os coelhos possuem. Eles geram grandes ninhadas. São notáveis por sua capacidade de reprodução. Pois a Páscoa é reprodução, ressurreição, vida nova, portando o coelho simboliza fidedignamente esta realidade. Mas ele é apenas uma lenda (pelo menos para a maioria).

O nome Páscoa vem do hebraico Pessach, que significa passagem. Na liturgia judaica este é o nome da festa anual que comemora a libertação do povo judeu depois de séculos de cativeiro no Egito. E a origem do nome Easter (que significa Páscoa em inglês) vem de uma deusa chamada Eostre (também conhecida como Ostera ou Ostara). Uma deusa anglo-saxônica da fertilidade e renascimento. Tribos européias celebravam o início da primavera no equinócio (que significa "noite igual"), quando o dia e a noite tem a mesma duração, abençoando as sementes para seu crescimento e colorindo ovos no altar. Eles acreditavam que essa cerimônia traria fertilidade no ano vindouro.

Coloco uma descrição da lenda de Eostre: "Dizem as lendas que Eostre tinha uma especial afeição por crianças. Onde quer que ela fosse, elas a seguiam e a Deusa adorava cantar e entretê-las com sua magia. Um dia, Eostre estava sentada em um jardim com suas tão amadas crianças, quando um amável pássaro voou sobre elas e pousou na mão da Deusa. Ao dizer algumas palavras mágicas, o pássaro se transformou no animal favorito de Eostre, uma lebre. Isto maravilhou as crianças. Com o passar dos meses, elas repararam que a lebre não estava feliz com a transformação, porque não mais podia cantar nem voar. As crianças pediram a Eostre que revertesse o encantamento. Ela tentou de todas as formas, mas não conseguiu desfazer o encanto. A magia já estava feita e nada poderia revertê-la. Eostre decidiu esperar até que o inverno passasse, pois nesta época seu poder diminuía. Quem sabe quando a Primavera retornasse e ela fosse de novo restituída de seus poderes plenamente pudesse ao menos dar alguns momentos de alegria à lebre, transformando-a nova-mente em pássaro, nem que fosse por um alguns momentos. A lebre assim permaneceu até que então a Primavera chegou. Nessa época os poderes de Eostre estavam em seu apogeu e ela pôde transformar a lebre em um pássaro novamente, durante algum tempo. Agradecido, o pássaro botou ovos em homenagem a Eostre. Em celebração à sua liberdade e às crianças, que tinham pedido a Eostre que lhe concedesse sua forma original, o pássaro, transformado em lebre novamente, pintou os ovos e os distribuiu pelo mundo."

Os missionários cristãos perceberam que essa celebração "pagã" acontecia aproximadamente na época da ressurreição de Cristo, então eles adotaram a Páscoa como um feriado para aumentar as conversões ao Cristianismo. Inclusive o Papa Gregório I escreveu uma carta orientando missionários e sugerindo que converter os "pagãos" seria mais fácil se fosse permitido que eles mantivessem suas práticas tradicionais, enquanto aquelas tradições fossem incorporadas e readaptadas em direção ao Cristianismo ao invés do deus indígena (ao qual o Papa referia-se como "diabo"), "para o fim de que, com alguma gratificação fosse-lhes permitido, que eles consentissem com a consolação da graça de Deus.". O Papa consentiu que tais táticas de conversão eram biblicamente aceitáveis, argumentando que Deus tinha feito o mesmo com os antigos Israelitas e seus sacrifícios pagãos.

Coloco agora a apresentação da Deusa Eostre/Ostara feita pelo GodChecker. OSTARA: Deusa da Fertilidade da Primavera. Ela tem seu próprio festival no dia 21 de Março, o Equinócio de Primavera, no qual o comportamento primaveril é encorajado.

OSTARA era muito popular com os exércitos pagãos Anglo-Saxônicos que a adoravam sob o nome de EOSTRE - e mantinham todo o negócio da Páscoa sem Jesus à vista. Se você já se perguntou o que ovos e coelhinhos tem a ver com a crucificação e ressurreição, a resposta é: absolutamente nada. O animal sagrado de OSTARA era um pequenino lindo coelhinho - e obviamente símbolo da fertilidade - e o ovo é o seu símbolo da pureza fértil. Então, a caça pelo Ovo da Páscoa na verdade era embalado com o significado simbólico do renascimento e cultivo de terra. O Hortelino Troca-Letras é obviamente apenas um alto sacerdote do Grande Coelhinho da Páscoa.

Caso você ache que estejamos sendo levianamente desapropriados, pesquisas recentes sugerem que a própria OSTARA foi inventada durante um momento mal-comportado do Venerável Bede. Esse bem conhecido monge mencionou a conexão dela com o festival pagão Eosturmonath em um livro escrito em 750 d.C. - a mais extensiva pesquisa falhou em achar um traço dela antes disso. Poderia ele estar mentindo?

Coelhos e lebres são ubiquos na mitologia. Toda cultura parece ter um Deus Coelho - e eles são sempre espíritos brincalhões. Isso, pensamos, explica muita coisa. Nós também temos uma maravilhosa teoria explicando o motivo de mágicos de palco adorarem fazer seus truques com ovos e coelhos. Foi OSTARA tirada de dentro de uma cartola?

terça-feira, 3 de abril de 2007

Sinuca Cósmica

A tarde já estava no fim e George preparava-se para mais uma longa noite de serviços. Ele trabalhava no observatório astronômico de sua cidade e tinha a função de catalogar asteróides desgarrados. Sozinho já tinha encontrado mais de nove mil deles nos últimos dois anos, desde que conseguiu aquele serviço. Ele trabalhava no setor de segurança interplanetária e seu dever era descobrir precocemente qualquer ameaça ao seu planeta.

Já fazia alguns anos que as bases lunares tinham começado a ser construídas e havia um tráfego continuo de espaçonaves que iam e vinham da lua levando tudo que era necessário para aquele empreendimento histórico. Não apenas astronautas, mas milhares de trabalhadores de diversas áreas passavam temporadas no solo lunar a fim de acelerar essa etapa da exploração espacial, sem contar nos incontáveis robôs que executavam as mais variadas tarefas, desde as domésticas até o transporte e montagem de blocos de construção. O turismo espacial para passar alguns dias na lua também ajudava a custear aquele projeto. Milionários pagavam qualquer valor para visitar as construções, dar uma olhadinha pela janela e ver sua cidade natal direitamente do espaço. Em breve, quando todo o complexo estivesse pronto, seria mais fácil desbravar outros planetas e talvez outros sistemas solares.


No observatório de George, a maior parte do trabalho era feita pelos computadores que tinham sensores ultra-sensíveis a qualquer movimento no espaço sideral. De vez em quando ele mirava o telescópio para a lua, para ver como andavam os serviços de construção. Ele gostava de ver aqueles robôs desajeitados andando pra lá e pra cá, carregando todos aqueles equipamentos. Tinha um amigo dele, Roberto, que trabalhava na lua e eles conversavam via satélite durante as noites ou então brincavam com simulações e jogos de tabuleiro.

Naquela madrugada, logo depois do seu lanche noturno, George mirou o telescópio para um ponto qualquer a fim de se distrair um pouco, e quem sabe encontrar uma estrela nova e colocar nela o nome de sua namorada. Ele ficou focalizado mais pra frente e mais pra trás por uns momentos para ver se encontrava algo interessante. Algum tempo depois, o computador acusou que um corpo gigantesco passava por ali. George então passou a focalizar naquele asteróide. "Mais um pra minha coleção!", pensou ele. Quase todos aqueles corpos errantes eram inofensivos, ou pequenos demais, ou com órbitas que passavam longe do planeta e de sua lua. Nada que ameaçasse a segurança mundial ou lunar. Só que ele foi calcular a rota do asteróide e descobriu que ele estava indo em direção à lua. O impacto seria dentro de pouco mais de um ano, tempo suficiente para que fossem tomadas as devidas providências.

No mesmo instante em que George fazia aquela descoberta, em um lugar bem longe dali, uma população de proto-anfíbios vivia cada vez mais às margens da água. A vida tinha ficado muito competitiva naquele meio ambiente aquático e haviam muitos predadores extremamente especializados. Os ancestrais daqueles tetrápodes tinha tido imenso sucesso durante muito tempo, dentro d’água. Ao longo das gerações, a população foi crescendo, ramificando-se e separando-se em diferentes grupos, os quais eram empurrados para os mais diferentes lados, chegando a viver em territórios completamente diferentes uns dos outros, e tais territórios implicavam em novas condições de vida para cada grupo. Parte da população continuou por ali, dentro d’água, pois ainda tinha o nicho ecológico suficiente para sobreviver. E aquela outra parte, aquela que já começava a ter variações favoráveis para uma vida parcialmente terrestre, foram desbravar caminhos ainda virgens, sem muito perigo, sem predadores para temer. Ao longo de muitas gerações foram empurrados pela pressão seletiva a viver cada vez mais em terra firme.

Voltemos ao observatório. George mandou logo uma mensagem pro seu amigo: "Meu chapa, dá só uma olhada nessas coordenadas! Tem um asteróide indo direto pra lua... e ele vai cair bem em cima da sua sala.". Roberto verificou e respondeu: "Ah, legal! Vai ser divertido brincar de destruir asteróide. Tô cansado dessas simulações bestas.". Vez por outra, Roberto mirava para o lixo espacial ou meteoritos e dava uns tiros, mas esse aí era dos grandes. O assunto não podia ser levado tão na brincadeira assim. As armas convencionais que limpavam o caminho para as espaçonaves passarem, destruindo pequenos cometas, lixo ou meteoros que ficavam no seu trajeto, não poderiam ser usadas para algo tão grande. Sendo assim, ambos começaram a enviar mensagens para todo o planeta e na manhã seguinte já estava nas manchetes: "Asteróide aproxima-se da lua. Governo custeará nova missão espacial para sua possível destruição ou desvio.".

Alguns séculos antes e esse asteróide não teria como ser impedido. A tecnologia antiga, mesmo na época em que tinham viajado pela primeira vez à lua, que já faziam uns 170 anos, não seria suficiente para destruir ou desviar com segurança tal perigo. Mas já estavam numa era espacial florescente que já dava os primeiros retornos de suas conquistas. Já haviam mandados missões com robôs para alguns dos planetas mais próximos e a construção das bases lunares já estavam a todo vapor. Logo em breve estariam enviando missões tripuladas aos planetas vizinhos e, quem sabe, dentro de alguns séculos colonizando tais planetas e outras luas.

Reuniões foram feitas com cientistas de todos os cantos do mundo, planos foram elaborados, estratégias foram discutidas e, por fim, decidiram que não seria possível destruir o asteróide, pois ele era muito grande. O risco de que ele se partisse e que um dos pedaços continuasse na sua rota era deveras proibitivo. Para que a missão fosse bem sucedida e segura, ele deveria ser desviado. Vários foguetes levariam as bombas que seriam lançadas em sua direção e explodidas numa seqüência precisa, de tal forma que desviasse o bólido para fora do sistema solar.

Plano para desvio de asteróide. Operação "Sinuca Cósmica". (Clique na figura para ampliar)

Na data marcada, vários dias antes do impacto e estando o asteróide ainda bastante longe, foram lançados vários foguetes carregando as bombas. A missão ficou conhecida como "Sinuca Cósmica". Curiosos de todos os cantos apontaram seus telescópios para os céus para assistir ao espetáculo. Uma contagem regressiva foi iniciada e parecia uma festa de ano novo. No momento preciso, na distância exata que cada foguete deveria estar do asteróide, foram explodidas as bombas numa seqüência minuciosa. Durante alguns minutos, dezenas de explosões silenciosas ocorreram, os vários foguetes acionando suas bombas poderosíssimas ao se aproximarem do gigantesco asteróide, desviando o perigo para longe. A rota do asteróide foi alterada com sucesso. As celebrações se iniciaram em todos os cantos do planeta e da lua. Enquanto isso, o bólido desgarrado afastava-se, indo em direção a escuridão do espaço, dentro de alguns anos teria saído por completo daquele sistema solar. George ficou feliz por ter descoberto aquele asteróide. Roberto ficou feliz por ele não ter caído na sala do seu escritório lunar. A vida continuou tranqüila naquele canto do universo.

Durante os seguintes 250 milhões de anos, aquele asteróide viajou pelo espaço vazio, esquecido e solitário, passando por entre vários sistemas solares. Certo dia, foi capturado pela força gravitacional de uma estrela e acabou por adentrar no sistema solar dessa estrela. Ao redor daquela estrela orbitavam alguns planetas, onde um deles, o terceiro a partir dela, era azul. Era coberto por oceanos e terra, onde a vida abundava, animais e plantas ali habitavam. Aqueles proto-anfíbios que saíram da água algumas centenas de milhões de anos antes deram margem para a evolução de todo um conjunto extremamente diversificado de seres. Conquistaram a terra de diferentes formas. As mais variadas criaturas povoavam os mares, monstros marinhos grandes e pequenos, répteis gigantes dominavam a terra, répteis voadores dominavam o ar e as aves ainda eram um projeto que estava dando seus primeiros passos e que não havia se diversificado muito. Também haviam uns mamíferos pequeninos como ratos que viviam escondidos, marginalizados diante do poder ameaçador daqueles poderosos dinossauros. Esses mamíferos não tinha coragem de sair na luz do dia, pois o terreno já tinha dono, logo tinham hábitos noturnos, vivendo como ladrões, roubando ovos e comendo insetos. Mas sua sorte estava prestes a mudar.

Acontece que certo dia, numa tarde ensolarada, enquanto um velociraptor destroçava um dinossauro herbívoro desatento, aquele mesmo asteróide gigantesco e veloz começou a entrar na atmosfera do planetinha. Era o mesmo que tempos atrás tinha sido avistado pelo astrônomo amador, George, num planeta muito distante dali, em outro sistema solar. O mesmo que tinha sido desviado por uma explosão de bombas super potentes, agora entrava com toda velocidade naquele local indefeso. Caiu no que viria a ser conhecido posteriormente como Península de Yucatán, no México. Levantou poeira suficiente para encobrir a luz do sol por vários anos, florestas foram destruídas por queimadas, ondas gigantescas inundaram continentes, ecossistemas foram varridos do mapa e toda a teia da vida foi rasgada. A conseqüência foi a extinção de pelo menos 75% das espécies que ali viviam. Foi o fim da era dos dinossauros que, não tivesse sido por isso, provavelmente ainda estariam por aí. Aqueles ratinhos medrosos sobreviveram e começou uma radiação evolutiva surpreendente nos nichos ecológicos vazios que agora eram terra de ninguém. Algumas dezenas de milhões de anos depois e surgiria uma espécie inteligente de primatas que começaria a fazer perguntas sobre o universo e sobre como as coisas acontecem.