Você está na página 1de 4

A perfeio no importa: uma introduo aos algoritmos genticos e computao evolutiva

Poucas descobertas na histria da cincia foram to revolucionrias quanto a evoluo biol


a. A ideia de que espcies de seres vivos podem dar origem a outras j existia desde
Anaximandro de Mileto (sculo VI a.C.) [1] e foi desenvolvida por diversos outros
filsofos ao longo da histria. Os avanos da biologia no sculo XVIII trouxeram o tema
novamente apreciao dos cientistas e diversas verses de teorias evolutivas foram pr
opostas, at que a publicao de "A Origem das Espcies" em 1859 fizesse com que a propo
sta de Charles Darwin conseguisse ampla aceitao. A sntese entre a teoria darwiniana
da evoluo e os desenvolvimentos da gentica moderna na dcada de 1930, assim os poste
riores avanos da biologia molecular nas dcadas seguintes, colocaram a evoluo biolgica
como explicao slida para a existncia da diversidade de seres vivos encontrados em n
osso planeta. Entretanto, alm do mrito inegvel como teoria cientfica e como catalisa
dora de grandes mudanas no pensamento moderno, a evoluo biolgica tambm inspirou cient
istas e engenheiros a desenvolverem uma nova tcnica de resoluo de problemas at ento i
nsolveis: os algoritmos genticos.

A forma tradicional de resoluo de problemas tcnicos envolve a caracterizao e a mensur


ao precisa de todas as variveis relevantes ao problema e a incorporao dessas variveis
em um modelo capaz de gerar uma soluo analtica. Assim, por exemplo, se queremos res
olver o problema de saber qual a capacidade volumtrica de um reservatrio, uma form
a simples de faz-lo caracterizar a forma do reservatrio (um cilindro, por exemplo)
, identificar as variveis relevantes para a soluo do problema (raio da base e altur
a), inserir esses dados em um modelo matemtico (a frmula do volume de um cilindro)
e obter a resposta. Poderamos obviamente refinar esse algoritmo sofisticando o m
odelo para considerar, por exemplo, a espessura do reservatrio, as imperfeies em se
u formato, assim como acrescentar novas variveis para aliment-lo. Entretanto, a lgi
ca permanece a mesma: construir um modelo e inserir as variveis necessrias.

A grande complicao que existem muitos problemas onde que a aplicao desse mtodo inv
. Isso pode acontecer, por exemplo, porque a modelagem do problema muito difcil,
ou porque as variveis so difceis de se medir, ou porque a preciso dessas variveis par
a produzir bons dados inatingvel pela nossa capacidade tcnica, ou porque h tantas v
ariveis relevantes que no h tempo para medir todas elas. Problemas complexos desse
tipo so particularmente comuns nas rotinas de programadores, e foi um deles, John
Holland, quem popularizou a utilizao dos algoritmos genticos [2].
A ideia de Holland foi criar um ambiente onde as possveis solues para um problema c
ompetissem e se reproduzissem, como ocorre com os seres vivos na evoluo biolgica. A
ssim, da mesma forma que a evoluo gera seres cada vez mais aptos ao ambiente, os a
lgoritmos genticos gerariam solues cada vez mais adequadas para a resoluo do problema
proposto. importante dizer que, apesar de a inveno do conceito ser comumente atri
buda a Holland, outras verses dele aparecem em trabalhos anteriores como o do pesq
uisador Hans-Joachim Bremermann [3]. A grande diferena entre os trabalhos de Holl
and e de seus precursores que enquanto estes estavam preocupados em desenvolver
algoritmos para resolver problemas especficos, Holland fez um estudo completo sob
re o mecanismo natural de adaptao dos seres vivos e sistematizou a aplicao dele aos
sistemas computacionais [4].
Como funciona
Para entender de forma mais clara o que so e como funcionam os algoritmos genticos
, importante estarmos familiarizados com o funcionamento da evoluo biolgica. Para f
ins didticos, a analogia tratada aqui no englobar os mecanismos de deriva gentica e
fluxo gnico, ficando restrita a uma verso similar apresentada por Darwin.
Como ponto de partida, constatamos que cada espcie conta com certo nvel de variabi
lidade natural entre seus indivduos. Assim, h girafas de diferentes tamanhos, gato
s de diferentes cores, lees de diferentes nveis de fora e velocidade, etc. Ou seja,

indivduos de uma mesma espcie no so cpias exatas uns dos outros, mas se diferenciam,
ainda que pouco, em praticamente qualquer tipo de caracterstica observvel. Essa v
ariabilidade faz com que cada indivduo possua um conjunto nico de aptides. Assim, h,
por exemplo, lees mais capazes de caar que outros, zebras mais capazes de sobrevi
ver ao calor do que outras, lmures mais capazes de resistir falta de gua que outro
s.
O ambiente, por outro lado, impe desafios similares a todos os membros da populao,
como frio ou calor excessivo, aridez, escassez de comida ou de gua, etc. Assim, c
ada ambiente ir favorecer os indivduos naturalmente aptos a ele.
Os indivduos mais aptos ao ambiente so os que conseguem deixar mais descendentes,
seja porque conseguem sobreviver e chegar idade reprodutiva (enquanto outros mor
rem), seja porque conseguem maior sucesso durante a idade reprodutiva que seus c
oncorrentes (isso pode ocorrer por diversos fatores, como seleo sexual, vantagem e
m disputas territoriais, etc.).
Como as caractersticas naturalmente vantajosas tambm so passadas em grande medida a
os descendentes, depois de um grande nmero de geraes esses indivduos com caracterstic
as vantajosas ao ambiente sero a maioria, enquanto os demais (e seus descendentes
) tero minguado ou desaparecido.
Um exemplo clssico desse mecanismo em ao foi observado por H. B. Kettlewell [4], qu
e estudou uma populao de mariposas Biston betularia em Manchester. Kettlewell noto
u que a populao tinha indivduos de cor clara, que eram maioria da populao em meados d
o sculo XIX, e de cor escura, que eram poucos. Todas viviam nos troncos de rvores
chamadas btulas, que eram cobertos por uma camada de lquen que lhes conferia uma c
or clara, muito similar das mariposas. Assim, as mariposas claras se camuflavam
muito bem nessas rvores e evitavam ser comidas por pssaros, seus principais predad
ores. As escuras eram facilmente vistas nos troncos, e viravam alvo fcil para as
aves.
Entretanto, com a industrializao trazida pela Revoluo Industrial, grandes quantidade
s de gases poluentes se espalharam e mataram os lquens das rvores, trazendo tona o
tronco escuro das btulas. Nessa nova situao, as mariposas escuras passaram a se ca
muflar muito bem e as claras eram vistas com facilidade, tornando-as alvos prefe
renciais dos pssaros nas reas poludas. Depois de algum tempo, as mariposas escuras
j eram maioria da populao, enquanto as claras tendiam ao desaparecimento.
Nesse exemplo, vemos que a populao inicial contava com uma variabilidade natural e
ntre os indivduos, j que havia mariposas de cor clara e de cor escura. O ambiente
inicial favorecia as mariposas de cor clara, e isso fazia com que deixassem mais
descendentes e consequentemente fossem maioria da populao. Por outro lado, a muda
na no ambiente passou a favorecer as mariposas de cor escura, que passaram ento a
deixar mais descendentes que as mariposas claras e a ser maioria na populao.

O ambiente tem papel central no processo de seleo entre indivduos. Essa sequncia de
variabilidade, seleo e reproduo para alterar as caractersticas dominantes em uma popu
lao j conhecido h milnios e usado pela humanidade para selecionar as melhores vari
des de plantas e animais para consumo prprio.

Algoritmos genticos so tcnicas de resoluo de problemas inspiradas na explicao darwin


a para o processo de evoluo das espcies de seres vivos. Mais precisamente, so ferram
entas que utilizam conceitos de evoluo atravs de seleo natural para obter solues cad
ez mais adequadas ao problema em questo, de maneira anloga forma como a evoluo darwi
niana resulta em seres mais aptos ao ambiente.
Os passos para implementao de um algoritmo gentico so inspirados nas diferentes fase
s do processo de evoluo darwiniana. De maneira esquemtica, temos a gerao de um conjun
to aleatrio de possveis solues seguida dos seguintes procedimentos:

- A avaliao: A aptido ou fitness (capacidade da soluo de responder ao problema) de c


soluo mensurada, ou seja, atribuda uma valorao a cada possvel soluo, de forma
is eficazes sejam diferenciadas das menos eficazes.
- A seleo: Nesta etapa os indivduos mais aptos so escolhidos para reproduo, de forma
ue a probabilidade de certa soluo se reproduzir proporcional sua aptido (medida no
passo anterior).
- O cruzamento: Aqui, as caractersticas das solues selecionadas so recombinadas de m
aneira a gerar novas solues.
- A mutao: Nesta etapa, certas caractersticas dos indivduos gerados na etapa anterio
r so alteradas para acrescentar variabilidade ao conjunto de solues.
- A atualizao: Os indivduos criados nessa gerao passam a fazer parte do conjunto de s
olues, ou seja, da populao em questo.
- A finalizao: Aqui, feita uma anlise das solues j disponveis. Caso alguma delas s
uficientemente precisa para responder ao problema de estudo, o algoritmo encerra
do. Caso contrrio, novas geraes so criadas pelos mesmos processos j descritos.

[1] DI MARE, Rocco A. A concepo da teoria evolutiva desde os gregos: ideias, contr
ovrsias e filosofias. Porto Alegre: EDIPUCRS, 2002.
[2] HOLLAND, J. H. Adaptation in natural and artificial systems. Ann Arbor: The
University of Michigan Press, 1975.
[3] BREMERMANN, H.J. The evolution of intelligence. The nervous system as a mode

l of its environment. Technical report, no.1, contract no. 477(17), Dept. Mathem
atics, Univ. Washington, Seattle, July, 1958. apud DIANATI, M.; SONG, I.; TREIBE
R, M. An introduction to genetic algorithms and evolution strategies. Technical
report, University of Waterloo, Ontario, 2002.
[4] KETTLEWELL, H. B. D. A survey of the frequencies of Biston betularia (L.) (L
ep.) and its melanic forms in Great Britain. Heredity 12: 51-72, 1958.