quinta-feira, 24 de maio de 2007

Gatos Balançantes

Como já comentei, minha gata de estimação, Golinha, teve 4 filhotes (esses aí na foto ao lado). Tivemos a chance de observar o tratamento que ela dava a eles, sempre cuidadosa, lambendo-os, não deixando que saíssem de perto dela, etc. Eles nasceram dentro do guarda-roupas de um quarto vazio do nosso apartamento. De vez em quando, ela levava-os de um lado pro outro, de um quarto para outro, sempre segurando cada um deles pela nuca com a boca. No transporte, um de cada vez, eles ficavam pendurados na boca dela. Eu já sabia que os cachorros e gatos tinham essa pele solta na nuca por onde poderíamos segura-los.

Quando os filhotes já tinham mais de um mês de vida, já estavam andando sozinhos pelo quarto, explorando o mundo. Certo dia, brincando com eles, eu levantei um deles segurando entre os meus dedos a pele da sua nuca. Então percebi algo: ele ficava completamente imóvel. Um gato que estava pulando e correndo num segundo anterior, ao ser segurado pela nuca, ficava como se estivesse hipnotizado. O que acontecia era o seguinte: a cabeça dele pendia para o lado, o olhar se perdia como se ele estivesse dormindo com os olhos abertos, as patas ficavam soltas e o rabo era contraído para dentro e ficava perto da barriga. Sempre acontecia isso e com todos eles. Eu logo percebi que isso era um comportamento automático deles, sempre que fossem segurados pela nuca, ficariam estáticos. Não se mexiam por nada, mesmo que ficássemos mexendo com eles, mesmo que colocássemos eles perto da torneira com a água aberta (coisa que odiavam e tentavam escapar se não estivessem sendo segurados desta forma), mesmo que encostássemos eles no chão não tentavam sair, como se estivessem desmaiados. Ao soltarmos, pronto, voltavam a correr e pular. Incrível!

Percebam que num primeiro momento, a gata (essa é uma fêmea) está totalmente ativa, com rabo levantado, em posição de alerta total. Logo depois, quando é segurada pela nuca, fica completamente imóvel, hipnotizada.


O mesmo comportamento padrão ocorre em outros indivíduos.


Fotos em diversos ângulos.

Daí eu fiquei pensando sobre isso. Concluí que realmente seria mais fácil transportar filhotes imóveis do que se eles ficassem se balançando. Então deve ter um conjunto de genes no DNA dos gatos que diz: "Se for segurado pela nuca, fique imóvel.". Imaginei como essa característica teria evoluído pela seleção natural. Não sei qual foi a primeira espécie que começou a transportar seus filhotes com a boca e segurando pela nuca, mas essa prática já tem um bom tempo, pois inúmeras espécies muito diferentes fazem isso hoje em dia. E isso serve para proteger os filhotes, levando-os para um lugar mais seguro e longe dos predadores. Então, seja qual for essa espécie ancestral, eu imaginei que se seus filhotes ficassem se balançando no trajeto, seria mais perigoso, pois acabariam atrapalhando a mãe, cairiam no chão, talvez daria tempo de um predador avista-los e mata-los. Olhem só essa tigre-de-bengala na foto carregando seu filhote.

Numa população inteira existe uma variabilidade genética entre os indivíduos. Nesse caso, alguns filhotes poderiam ser mais balançantes, enquanto que outros seriam menos balançantes. E se a característica de balançar for perigosa para o seu transporte e sobrevivência, então quanto menos você se balançar, mais chance tem de sobreviver, mais chance tem de chegar até a idade adulta, encontrar um parceiro sexual, ter seus próprios filhotes, os quais herdarão os seus genes. Então fiquei pensando que ao longo das gerações, foram "peneirados" aqueles indivíduos que portavam genes cada vez menos balançantes. Podemos entender claramente que há uma tendência estatística para a sobrevivência de indivíduos que não atrapalham o transporte. Mesmo que no início da evolução dessa característica praticamente todos se balançassem muito, ainda haveria uma probabilidade diferente entre os indivíduos e aqueles que ficassem mais calmos teriam maior probabilidade de sobreviver. Pequenas variações podem ser a diferença entre a vida e a morte, principalmente levando em consideração toda uma população com centenas ou milhares de indivíduos. Isso sendo passado ao longo das gerações durante milhares de anos, acaba acumulando cada vez mais mutações que façam o balanço ser menor. Os genes que fizessem seus portadores se balançarem muito, fariam com que a probabilidade de morte deles aumentasse, e tais genes iriam sendo gradativamente eliminados da reserva genética da população ao longo das gerações. Enquanto que os genes que fizessem seus portadores ficarem mais imóveis, aumentariam a probabilidade de sobrevivência dos mesmos, e ficariam cada vez mais numerosos na reserva genética com o passar do tempo. Até um dia em que o balanço médio da população seria muito baixo ou até mesmo nulo, como ocorre hoje em dia nos gatos. E eu quis testar essa minha idéia para a evolução da imobilidade dos gatos ao serem transportados pela mãe.

Aproveitando que fiz faculdade de computação e o que aprendi sobre Algoritmos Genéticos, fiz um programinha para testar a minha hipótese. Eu tive que imaginar um cenário que simulasse o transporte de gatos e que fosse perigoso para aqueles que atrapalhassem esse transporte. Se a gata está querendo levar seus filhotes para um local seguro e se você for um filhote dessa gata, certamente não é uma boa idéia ficar se balançando e atrapalhando-a enquanto ela faz isso. E eu queria ver se a característica de imobilidade felina iria mesmo evoluir automaticamente a partir de uma população inicial muito balançante com mutações aleatórias sendo selecionadas não aleatoriamente através de gerações de acordo com as condições do ambiente. Finalmente imaginei o seguinte cenário: um elevador, duas plataformas, um buraco entre as plataformas e várias bolinhas. O elevador representa a gata, as duas plataformas representam os locais de origem e de destino dos filhotes, as bolinhas representam os filhotes e o buraco representa os perigos que podem haver no meio do caminho como, por exemplo, predadores famintos.

Cenário da simulação (Clique na figura para aumentar).

Para montar o cenário eu fiz da seguinte forma. Uma plataforma fica no lado direito da tela e a outra fica do lado esquerdo e entre elas existe um buraco. O objetivo do elevador (gata) é levar as bolinhas (filhotes) de uma plataforma para a outra (origem e destino) sem que caiam no buraco (predador). A população é um conjunto de bolinhas. O elevador então carrega todas as bolinhas da plataforma esquerda para a direita, depois da direita para a esquerda e assim sucessivamente. Eu sei que uma gata só transporta um filhote por vez, desta forma cada bolinha que está sendo carregada não interfere no movimento das outras e o elevador aqui está representando dezenas ou centenas (dependendo do tamanho da população) de gatas carregando os seus respectivos filhotes, independentemente.

Durante o transporte, cada bolinha fica se balançando de um lado pro outro de acordo com uma probabilidade individual. Esse balanço da bolinha representa a influência que um gene ou um conjunto de genes teria no comportamento de um filhote real de gato. Para exemplificar, digamos que uma bolinha tenha 92% de chance de se balançar, então enquanto o elevador está indo de uma plataforma para a outra, a cada momento (a cada 50 milisegundos, por exemplo) eu escolho um número aleatório de 1 até 100 e vejo se está dentro daquela margem de probabilidade da bolinha daí movo-a para a direita ou esquerda aleatoriamente (e faço isso para cada bolinha). Sendo assim, se a bolinha estiver no meio do elevador, ela não vai ter problemas, mas se ela estiver na ponta, pode ser que caia no buraco. Então, as bolinhas que tiverem maior probabilidade de se balançarem, têm mais chances de se aproximarem da ponta do elevador durante o transporte e, eventualmente, caírem no buraco. Uma geração é representada por uma viagem do elevador de um lado pro outro. Por exemplo, se o elevador está na plataforma da esquerda e vai para a direita, as bolinhas que não caírem no buraco representam os filhotes que sobreviveram naquela geração. Estes que sobraram podem se reproduzir e gerar novos filhotes. Depois que é gerada uma nova população baseada nos sobreviventes, começa tudo outra vez, isto é, o elevador começa a leva-los para o outro lado, e assim por diante.

Uma das dificuldades de simular a natureza é fazer todos esses cálculos que representariam os fenômenos naturais, mas na natureza não são feitos cálculos; as coisas simplesmente acontecem. Os cálculos que fazemos para representar o movimento dos planetas ao redor do sol, o lançamento de foguetes, uma bola de basquete quicando no chão, jogos de vídeo game que simulam carros de corrida de Fórmula 1 acelerando e derrapando nas curvas são modelos matemáticos montados a partir de equações que criamos para tentar imitar o que já ocorre automaticamente na natureza. Dependendo do tamanho dos corpos celestes, a gravidade vai ser mais forte ou mais fraca. Dependendo da velocidade, atrito, solo, temperatura e tantos outros fatores, um carro vai derrapar numa curva ou não. Na natureza isso simplesmente acontece como se os cálculos tivessem sido feitos. As equações da Teoria da Gravidade são apenas aproximações do que ocorre na realidade, assim como calcular a aptidão de um indivíduo para sobreviver numa simulação de computador. Na vida real, os animais simplesmente morrem e ponto final. E se observarmos, eles morrem como se cálculos de probabilidade de sobrevivência tivessem sido feitos e seguindo tendências estatísticas de acordo com suas aptidões. Mas esse cálculos são apenas representações muito aproximadas do que realmente ocorre, e quanto mais preciso conseguirmos calcular a aptidão dos indivíduos para sobreviver, melhor será nossa simulação.

Como eu expliquei no outro texto sobre Algoritmos Genéticos, eu deveria calcular a aptidão dos sobreviventes e dar maiores chances de se reproduzir àqueles que tivessem uma aptidão melhor. Mas nesse caso (assim como ocorre na natureza), eu não preciso fazer esse cálculo, pois o cenário que montei já faz isso automaticamente. Simplesmente quem não cair no buraco sobrevive e se reproduz. Fim de papo! Sei que esse cenário não representa todos os problemas da vida real dos gatos, mas temos que concordar que a seleção natural teve centenas de milhões de anos para selecionar os genes dos animais e moldar os seus comportamentos e eu, um mero humano curioso, só pensei nisso durante alguns dias enquanto estava fazendo esse programa de computador. Então esse meu modelo é extremamente simples, afinal um gato aqui só possui um gene que diz a probabilidade dele se balançar, enquanto que na natureza são milhares de genes atuando em conjunto nas atividades fisiológicas e comportamentais para mover vários músculos e imobilizar os felinos. E a minha simulação ainda ocorre num cenário de duas dimensões e a bolinha só move-se pra a direita ou esquerda (talvez eu faça depois a versão tridimensional do programa para ao invés de serem bolinhas circulares eu poder usar esferas ou até "poliedros adestrados"). E na natureza é todo um conjunto de fatores como a pele da nuca do filhote, a força que a mãe segura eles entre os dentes, um corpo desengonçado com patas e rabo sendo carregado, a atenção da mãe observando se o caminho está seguro, barulhos que podem assusta-la, etc. Mas até que pra uma simulação simples com uma barra horizontal e umas bolinhas circulares deu pra quebrar o galho. Vejamos o que aconteceu.

Eu iniciei uma população com 100 indivíduos. Cada um deles iniciados aleatoriamente com uma alta probabilidade de balanço, entre 90 e 100 por cento. A medida que o elevador ia andando de um lado pro outro, as bolinhas iam caindo e o número delas ia diminuindo rapidamente. No início da simulação, quando o balanço médio dos indivíduos está bem elevado, aproximadamente 85% da população já estava morta antes do elevador chegar ao outro lado. A tendência é de que as bolinhas que se balançam mais caiam mais facilmente no buraco, sobrando aquelas que se balançam menos. Quando o elevador chega no outro lado, ocorre a reprodução dos sobreviventes onde os seus filhos podem sofrer mutações aleatórias e ficar um pouco mais ou um pouco menos balançantes. Por exemplo, se uma bolinha tem a probabilidade de 93% se balançar, então ela pode ter um filho que se balance com a chance de 92%, 94% ou até com a mesma probabilidade do pai/mãe. As gerações vão passando e em cada geração eu calculo qual a probabilidade média de balanço da população e vou montando um gráfico.

Histórico de Probabilidades de Balanços ao Longo das Gerações

Podemos ver que o gráfico começa com um balanço médio bem elevado, perto de 100 por cento e que ao longo das gerações vai diminuindo. Existem algumas gerações onde o balanço médio pode ser maior, mas a longo prazo, esses indivíduos não conseguem competir com os descendentes mais imóveis. A cada geração, eu também calculo qual o melhor indivíduo e qual o pior, só pra ver que tipos de indivíduos estão competindo entre si. Depois de 100 gerações, eu verifiquei que o balanço médio da população estava em 72%, só que tinham indivíduos com probabilidades de 67% e outros que chegavam até 84%. Podemos perceber que aqueles indivíduos que estivessem com alta probabilidade de balanço não conseguiriam competir com aqueles que estavam com balanço abaixo da média e iriam ser gradualmente eliminados. Consequentemente o balanço médio da população iria diminuir mais ainda e com isso daria margem ao surgimento de novos indivíduos cada vez menos balançantes. Sempre vão surgir filhotes que se balançam mais do que os pais e outros que se balançam menos. Contudo, aqueles que balançam menos tem mais chances de não cair no buraco e, por sua vez, terem filhotes que se balancem menos ainda na próxima geração, acumulando, desta forma, mutações favoráveis. Os genes que caracterizem muito balanço vão sendo eliminados da reserva genética da população, e os genes que proporcionam imobilidade vão sendo preservados e se alastrando.

Depois de esperar alguns minutos (depois de mais de 300 gerações, pra ser mais preciso), o balanço médio já estava bem próximo de zero. Fiquei muito feliz quando vi aquelas bolinhas circulares quase paradas em cima do elevador sendo levadas de um lado pro outro. Elas eram descendentes diretas daquelas bolinhas iniciais extremamente vibratórias. Essa simulação comprova mais uma vez o poder convergente da seleção cumulativa atuando em variações aleatórias para atingir uma situação aprimorada na aptidão dos indivíduos.

2 Comments:

Blogger Ana Luzia said...

Mô, acho muito legal quando você escreve sobre coisas do "nosso" cotidiano.... A propósito, a quem deva interessar, os gatitos são: Golinha, a genitora, na ausência do companheiro gosta de "brincar" com sacos plásticos (continua com a gente por tempo indeterminado), Bentinho, o pai, apuramos os fatos e concluímos que foi totalmente seduzido pela nossa meretriz (mora com a minha mãe), Naomi - a preta (mora com a Magaly), Sayuri (mora com a minha prima), Jake (mora com a Graça) e Mopeto (não sabemos o paradeiro nem o nome de Batismo, mas quem souber por favor entre em contato - hih duh duh du).
Te amo minha vida!

terça-feira, maio 29, 2007 9:34:00 AM  
Anonymous Anônimo said...

Ana, valeu pelos detalhes adicionais. Só um esclarecimento, hehehe, para não acharem que abandonamos o Mopeto na rua. Ele foi dado para uma veterinária numa PetShop, logo deve estar tendo uma vida muito boa.

terça-feira, maio 29, 2007 12:22:00 PM  

Postar um comentário

<< Home