Você está na página 1de 8

Algoritmo gentico, e mtodos numricos probabilsticos

Leandro Henrique Santos Corra1


1

Instituto de Cincias Exatas e Naturais Universidade Federal do Par (UFPA) CEP 66075-110 Belm PA Brasil
hscleandro@gmail.com

Abstract. This article discusses the evolutionary computation technique named "Genetic Algorithms". The aim of this work is that the reader can get acquainted, learn about the structure, identify the methods and analogies used and thus realize the importance of application of genetic algorithms in various areas of knowledge. Resumo. Este artigo trata da tcnica de computao evolutiva nomeada Algoritmo Gentico. O intuito do trabalho de que o leitor possa se familiarizar, conhecer a estrutura, identificar os mtodos e analogias utilizadas e com isso perceber a importncia da aplicao dos Algoritmos Genticos em diversas reas do conhecimento.

1. Introduo A lgica algortmica geralmente busca solues baseadas nos resultados de pior caso para critrio da classificao de solues. O tempo de execuo e a capacidade de processamento das mquinas so restries que implicam na convenincia e otimalidade algortmica. Quando lidamos com problemas simples que dependem de poucos parmetros e determinadas variaes o resultado pode ser obtido com exata preciso de maneira determinstica, porm, muitas vezes o campo de anlise extenso e sofre indeterminadas variaes tornado os mtodos determinsticos inviveis. Para a soluo do impasse surge a necessidade do estudo de mtodos probabilsticos, que apesar de estocsticos e baseados em probabilidade de ocorrncia, para o estudo de desempenho das solues no mdio caso j o suficiente, e dependendo da aplicao retorna possveis resultados com uma margem de erro controlada que pode ser diminuda proporcionalmente a necessidade do caso estudado e a condio de recursos envolvidos, ou seja, apesar de mtodos probabilsticos trabalharem com provveis resultados pode-se dizer que em relao ao desempenho so muito eficientes e geram resultados confiveis. O intuito do trabalho apresentar como representante dos mtodos probabilsticos a tcnica de computao evolutiva chamada Algoritmo Gentico (AG), que baseado na teoria da evoluo de Charles Darwin em que os problemas so resolvidos por mais de um processo evolutivo que resulta na soluo mais adequada, para isso ser necessrio a apresentao de algumas estruturas biolgicas, e ferramentas de simulao utilizadas em AG.

2. Histrico
O histrico de utilizao de processos naturais para execuo de mtodos fim de estudos e pesquisas data do incio da dcada de 40, de l pra c vrios estudos foram realizados, a partir dos quais se obteve modelos de sistemas genricos capazes de gerar possveis solues para problemas considerados de difcil resoluo computacional. Alm disso, foram desenvolvidos esquemas de operaes evolucionrias que realizam operaes sistmicas baseadas em processos de mutao e seleo realizados na natureza (LINDEN, 2006, p. 32 apud ROSA e LUZ, 2008, p. 80). J na dcada de 70 John Holland com ajuda de alguns alunos e colegas publicou seu primeiro trabalho sobre algoritmos genticos, sendo ele o pioneiro no assunto. Intitulado Adaption in Natural and Artificial System o trabalho abordava conceitos de AGs, fazendo analogias a processos evolutivos ocorridos na natureza e considerando que tais processos poderiam ser codificados e reproduzidos atravs de algoritmos em uma mquina de processamento. O estudo dos AGs trouxe avanos em dois aspectos: (1) Utilizaram evoluo para fornecer uma maneira poderosa para executar funes de otimizao em um computador. (2) Forneceram uma janela para o funcionamento da evoluo e uma maneira de se estudar os fenmenos naturais. 3. Associaes biolgicas Sabe-se que todo organismo vivo composto de clulas e em cada clula h um conjunto de cromossomos. O cromossomo uma longa cadeia de DNA que contm vrios genes, cada gene formado por uma seqncia de cidos nuclicos que contem informao gentica do portador. O AG manipula populaes de cromossomos, que so representaes da soluo do problema. Os cromossomos do algoritmo so abstraes do DNA biolgico e cada posio particular no cromossomo denominada gene. Os genes so os responsveis pelas caractersticas fsicas e psicolgicas de seu portador. Analogamente, o cromossomo matemtico um vetor que contm valores para as variveis independentes do problema e cada gene , portanto, uma varivel independente (McCALL, 2005). Baseados nisso os AGs possuem estgios naturais de combinao e modificao dos dados semelhantes a teoria da seleo natural de Charles Darwin (1859). Os dados de entrada, geralmente aleatrios, so codificados em uma seqncia de caracteres e representam o universo da possvel resposta almejada, eles so tratados como indivduos ou organismos de uma populao. No estgio de reproduo ocorre inicialmente a recombinao (ou cruzamento), os genes dos pais so combinados para formar um novo cromossomo filho com material gentico diferente dos pais individualmente, porm com caractersticas de ambos. Essa descendncia recm criada tem probabilidade, mesmo que muito baixa, de sofrer uma ligeira mudana no DNA, processo chamado de mutao que tem funo de manter e introduzir a diversidade gentica da populao. Assim, a adaptao e a taxa de cruzamento de um organismo so medidas pelo sucesso deste em vida (sobrevivncia), sucesso este que obtido com base em uma funo de aptido.

4. Funcionamento e descrio bsica


O algoritmo construdo com diversos componentes distintos que lhe conferem robustez. Os principais componentes so a codificao dos cromossomos, o grau de ajuste, a seleo, a recombinao e o esquema de evoluo (McCALL,2005). O processo de seleo natural indica que os indivduos cujas variaes (provenientes das combinaes genticas) melhor se adaptam ao meio ambiente tero a maior probabilidade de sobreviver e se reproduzir (ZUBEN, 2004). Durante a evoluo do processo a populao avaliada, para cada indivduo atribudo uma nota ou ndice que reflete sua habilidade de adaptao a cada ambiente. Uma porcentagem dos mais aptos mantida, enquanto os outros so descartados, os membros mantidos sofrem o processo de reproduo, que repetido at que uma soluo satisfatria seja obtida. Algumas das principais caractersticas dos AGs so: a iteratividade do processo; a avaliao e seleo dos indivduos atravs de uma funo de aptido; o uso de parmetros e a aplicao de operadores de cruzamento e mutao; a adoo de um critrio de parada predeterminado; 4.1 Codificao dos Cromossomos A codificao do cromossomo uma deciso importante na elaborao do AG uma vez que ela predetermina a preciso do mtodo. Cada indivduo de uma populao uma representao codicada de uma possvel soluo do problema que se deseja resolver. As representaes mais utilizadas dos indivduos so as codificaes binria e real. Devido a complexidade de converso para valores contnuos, a codificao binria mais usada para variveis discretas, enquanto a real para variveis contnuas. Cada bit na codificao binria ou cada nmero na codificao real so os denominados gene. 4.2 Grau de ajuste O grau de ajuste o valor da funo objetivo para um cromossomo e utilizado para avaliar a qualidade e selecionar as melhores solues geradas naquela populao. A teoria da seleo de Darwin utilizada como base para este processo. 4.3 Funo de Aptido Fazendo um estudo de casos superficial podemos exemplificar a funo de aptido de maneira real e fatdica. Quando ocorre uma modificao no meio e determinado indivduo ou espcie no se tornam aptos as novas condies propostas o desencadear da situao leva a reduo drstica da espcie ou extino do indivduo. Nas resolues de otimizao, deve-se levar em conta o quo bom uma resoluo (indivduo), para que se possa ter a definio se esta contribuir para a soluo do problema. Esse trabalho realizado pelo operador gentico funo de aptido. Este operador atribui um ndice (nota) a cada cromossomo de acordo com o problema, tal ndice posteriormente usado no operador de seleo. O clculo da funo de aptido o nico elo entre o algoritmo gentico e o problema proposto, a nica parte no genrica do AG e deve ser capaz de identificar todas as restries e objetivos, ou seja, a funo de aptido deve ser especfica para cada problema.

Existe uma distino entre os termos funo de avaliao e funo de aptido, onde: a funo de avaliao a responsvel por fornecer uma medida de desempenho, no que diz respeito a um conjunto particular de parmetros (LIMA, 2008, p 12), ou seja, determina a probabilidade do indivduo transmitir os seus genes para a prxima gerao. J a funo de aptido definida de acordo com outros membros da atual populao em um algoritmo gentico (LIMA, 2008, p 13).

4.4 Seleo O operador seleo executado logo aps o trmino do operador funo de aptido. Este o pice da analogia envolvida entre o AG e a teoria darwinista. Neste ponto os melhores cromossomos so selecionados com base no valor de aptido de cada um, a seguir so copiados para uma populao intermediria, na qual so aplicados outros operadores (mutao e cruzamento). Vale ressaltar que apesar de cromossomos com alta aptido serem ressaltados os de baixa aptido no devem ser desconsiderados pois ainda sim existe a probabilidade de um indivduo menos capaz possuir propriedades genticas nicas favorveis a gerao de um cromossomo que possua melhor soluo para o problema analisado. A seguir ser descrito o funcionamento bsico de alguns mtodos de seleo utilizados em AGs. Roleta: Confere a cada cromossomo um peso relativo ao seu valor de aptido. Ou seja, o melhor cromossomo possui o maior valor de aptido ocupa desta forma, a maior fatia da roleta, aumentando sua chance de ser escolhido para ser recombinado e ser mantido na prxima gerao; Amostragem Universal: Assemelha-se ao mtodo da roleta, porm com n marcadores de escolha de cromossomos; Torneio: n indivduos so selecionados aleatoriamente (geralmente n igual a trs). Aquele com maior aptido entre esses n indivduos passa para a populao intermediria. O processo repetido at que a populao intermediria seja preenchida; Elitismo: Consiste em substituir n indivduos da populao atual por n melhores da populao anterior, esta tcnica pode ser utilizada em qualquer mtodo de seleo e indicada para contornar a possibilidade de descarte dos melhores cromossomos de uma gerao; Dizimao: Assemelha-se ao inverso da tcnica torneio, ordena-se os cromossomos de acordo com seu valor de aptido, aps o processo um nmero fixo dos cromossomos de menor aptido dizimado. Dentre os sobreviventes a esse processo escolhem-se os cromossomos pai de maneira aleatria. 4.5 Recombinao A recombinao o processo no qual os indivduos selecionados so recombinados para formar os membros da prxima populao. A idia simular a mistura do material

gentico que ocorre na reproduo de organismos. H duas maneiras de proceder a recombinao, que so os operadores genticos de cruzamento e de mutao. Esses operadores no possuem comportamento determinstico, existindo, portanto, um fator estatstico que interfere tanto no cruzamento como na mutao dos cromossomos (McCALL, 2005). 4.5.1 Cruzamentos O operador cruzamento considerado caracterstica principal dos AGs. Aps o processo de seleo, pares de genitores so escolhidos aleatoriamente na populao e da surgem novos indivduos a partir da troca de material gentico. A maneira mais utilizada para troca de material a escolha aleatria de pontos de cruzamento comum aos pais. Aps selecionado o ponto copia-se o material gentico antes do ponto de um cromossoma de um pai e depois do ponto do cromossoma de outro pai, depois reproduz-se o material copiado em um novo cromossoma chamado cromossoma filho. Existem outros mtodos de cruzamento, desde mtodos que se utilizam de mais pontos de cruzamento, at interpolaes com base na funo de aptido. Cruzamentos especficos feitos para problemas especficos podem melhorar o desempenho dos AGs. A taxa de cruzamento da populao no deve ser muito alta devido a possvel perda de indivduos mais aptos em decorrncia do acelerado ritmo de entrada de novos indivduos, nem muito pequena devido ao fato do algoritmo perder no quesito tempo de processamento. recomendado uma taxa de cruzamento entre 70% e 80%. 4.5.2 Mutao Mutao um operador exploratrio que tem por objetivo aumentar a diversidade na populao. Esse operador impede que o algoritmo tenha convergncia muito rpida, procurando evitar sua estabilizao em regies de mniomos locais. Existem variados tipos de mutaes, o mais simples a troca de genes aleatria, onde escolhe-se aleatoriamente um gene da estrutura e o altera. A taxa de mutao no deve ser muito alta seno o algoritmo pode ficar desorientado em relao a direo da busca. recomendado uma taxa de mutao entre 0.5% e 1% a cada nova gerao. 4.6 Esquema de Evoluo Aps a recombinao, os cromossomos resultantes constituem uma nova populao. Os processos de seleo e recombinao so ento repetidos e uma outra populao criada. O processo iterativo (evolutivo) continua at que o critrio de parada seja satisfeito. Este critrio pode ser um nmero de geraes fixo, a observao do valor da funo objetivo, ou uma soluo que satisfaa as restries do problema (McCALL, 2005). Uma das maneiras utilizadas na escolha do esquema de evoluo da populao envolve a quantidade de cromossomos que no sofrero quaisquer alteraes quando passam de uma gerao para outra. possvel criar uma populao completamente nova, na qual todos os cromossomos da gerao anterior passem pelos operadores de recombinao ou uma populao que cria um nico cromossomo novo a cada gerao. (McCALL, 2005).

5. Funcionamento e ajuste do AG.

Para iniciarmos a programao gentica, alm de codificarmos todos os passos evolutivos como ilustrado no diagrama acima, devemos tambm levar em considerao uma srie de outros fatores, como: o tamanho mximo da populao, o nmero mximo de geraes, a taxa de aumento da populao a cada iterao obedecendo a um limite mximo, os critrios de reincio e a quantidade de solues que sero tratadas. Esses fatores so a forma de ajuste do problema. Para melhor entendimento do leitor os fatores aqui citados se tratam dos critrios populacionais que so importantssimos para a garantia da otimalidade da tcnica, eles tratam de informaes do tipo: at quando e como as geraes devem acrescer, e que tipo de sada e qual preciso as solues devem apresentar. Uma boa estrutura para o algoritmo a experimentao de diferentes esquemas e parmetros, sempre com base nas especificidades de cada problema.

6.Bibliotecas e Frameworks para Algoritmos Genticos


Pyevolve (Framework open-source para Algoritmos Genticos e Programao Gentica - Python)

GAUL (Biblioteca open-source para Algoritmos Genticos e metaheursticas Linguagem C)


JGAP (Pacote open-source para Algoritmos Genticos - Java)

JAGA (Pacote open-source para Algoritmos Genticos e Programao Gentica Java)

GAlib (Framework open-source para Algoritmos Genticos - C++)

7. Consideraes finais
Como foi apresentado, a implementao de algoritmos genticos no trivial e demanda conhecimento especfico no s na rea da matemtica computacional, mas implica noes bsicas de evolucionismo darwinista. Os AGs vem sendo utilizados em inmeras reas conhecimento tais como: msica, telecomunicaes, medicina, robtica, geografia entre outros, e podem ser aplicveis em qualquer outra rea bastando somente um prvio conhecimento do assunto a ser tratado. Os mtodos apresentados descrevem basicamente acerca do funcionamento e os principais conceitos envolvidos na implementao dos AGs, vale lembrar que apesar dos algoritmos genticos mostrarem eficincia e robustez como estratgia de busca de solues, existem algumas limitaes. Como exemplo, pode-se citar a dificuldade de se dizer funcionalmente o quanto cada indivduo se encontra prximo da soluo, a fim de se calcular a aptido. Outro problema comum um pequeno grupo de solues ter aptido muito alta, fazendo o algoritmo evoluir muito rpido a um mximo local. Existe tambm o fato de o algoritmo no encontrar sempre a melhor soluo, e sim uma suficientemente boa. Ento cada caso deve ser estudado, e a implicao depende do ambiente avaliado, do processo escolhido e dos casos a serem resolvidos.

Referncias
LIMA, Ednaldo Oliveira. Algoritmo Gentico Aplicado Otimizao de Funes. 2008. 72 p. Monografia (Graduao em Cincia da Computao): Universidade Federal de Lavras. McCALL, John. Genetic algorithms for modeling and optimiization. Journal of Computational and Applied Mathematics, v. 184, p. 205 222, 2005. ROSA, Tatiane de Oliveira, e LUZ, Hellen Souza. Conceito Bsicos de Algoritmos Genticos: Teoria e Pratica. X Encontro de Estudantes de Informtica do Tocantins: Centro Universitrio Luterano de Palmas Universidade Federal do Tocantins UFT.

Disponvel em: <https://docs.google.com/viewer?a=v&pid=gmail&attid=0.1&thid=130088681dfd 657c&mt=application/pdf&url=https://mail.google.com/mail/?ui%3D2%26ik %3De54e69a9e5%26view%3Datt%26th%3D130088681dfd657c%26attid %3D0.1%26disp%3Dattd%26zw&sig=AHIEtbR2arOUOeHOA0oowEnh6BZJAQ3kw RUBINI, Bibiana Ribeiro. Desenvolvimento de Modelos Matemticos para uma Planta de Deslignificao de Polca Celulsica com Oxignio. 2006. Dissertao (Ps-Graduao em Engenharia, setor tecnologia): Universidade Federal do Paran. Disponvel em: <https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=1fxWj 9HZbrkRR6iF_mblYvstTvD2SROpSOsfJkdjyj8ah0Lxcwm32mwYH4x&hl=en_U S von ZUBEN, Fernando J. Computao pragmtica. Campinas: Unicamp, 2004. evolutiva: uma abordagem

<http://www.obitko.com/tutorials/genetic-algorithms/portuguese/searchspace.php#sspace <http://asylum.umfiloqualquer.org/2009/05/20/algoritmos-geneticos-visao-geral/ <http://iaufes20092.pbworks.com/w/page/8625598/AG%20%20Quadro%20Cognitivo%207 <http://www.cs.oswego.edu/~blue/hx/courses/cogsci1/s2001/section05/subsecti on5/main.html