You are on page 1of 9

Introduo

Toda tarefa de busca e otimizao possui vrios componentes, entre eles: o espao de busca, onde so consideradas todas as possibilidades de soluo de um determinado problema e a funo de avaliao (ou funo de custo), uma maneira de avaliar os membros do espao de busca. Existem muitos mtodos de busca e funes de avaliao. As tcnicas de busca e otimizao tradicionais iniciam-se com um nico candidato que, iterativamente, manipulado utilizando algumas heursticas (estticas) diretamente associadas ao problema a ser solucionado. Geralmente, estes processos heursticos no so algortmicos e sua simulao em computadores pode ser muito complexa. Apesar destes mtodos no serem suficientemente robustos, isto no implica que eles sejam inteis. Na prtica, eles so amplamente utilizados, com sucesso, em inmeras aplicaes. Por outro lado, as tcnicas de computao evolucionria operam sobre uma populao de candidatos em paralelo. Assim, elas podem fazer a busca em diferentes reas do espao de soluo, alocando um nmero de membros apropriado para a busca em vrias regies. Os Algoritmos Genticos (AGs) diferem dos mtodos tradicionais de busca e otimizao, principalmente em quatro aspectos: 1. AGs trabalham com uma codificao do conjunto de parmetros e no com os prprios parmetros. 2. AGs trabalham com uma populao e no com um nico ponto. 3. AGs utilizam informaes de custo ou recompensa e no derivadas ou outro conhecimento auxiliar. 4. AGs utilizam regras de transio probabilsticas e no determinsticas. Algoritmos Genticos so muito eficientes para busca de solues timas, ou aproximadamente timas em uma grande variedade de problemas, pois no impem muitas das limitaes encontradas nos mtodos de busca tradicionais. Alm de ser uma estratgia de gerar e testar muito elegante, por serem baseados na evoluo biolgica, so capazes de identificar e explorar fatores ambientais e convergir para solues timas, ou aproximadamente timas em nveis globais. "Quanto melhor um indivduo se adaptar ao seu meio ambiente, maior ser sua chance de sobreviver e gerar descendentes": este o conceito bsico da evoluo gentica biolgica.A rea biolgica mais proximamente ligada aos Algoritmos Genticos a Gentica Populacional.

Os pesquisadores referem-se a "algoritmos genticos" ou a "um algoritmo gentico" e no "ao algoritmo gentico", pois AGs so uma classe de procedimentos com muitos passos separados, e cada uma destes passos possui muitas variaes possveis. Antes de prosseguir com a anlise das caractersticas destes algoritmos, alguns conceitos bsicos so necessrios; estes conceitos podem ser naturalmente expostos explicando o funcionamento bsico destes algoritmos. Inicialmente, gerada uma populao formada por um conjunto aleatrio de indivduos que podem ser vistos como possveis solues do problema. Durante o processo evolutivo, esta populao avaliada: para cada indivduo dada uma nota, ou ndice, refletindo sua habilidade de adaptao a determinado ambiente. Uma porcentagem dos mais adaptados so mantidos, enquanto os outros so descartados (darwinismo). Os membros mantidos pela seleo podem sofrer modificaes em suas caractersticas fundamentais atravs de mutaes e cruzamento (crossover) ou recombinao gentica gerando descendentes para a prxima gerao. Este processo, chamado de reproduo, repetido at que uma soluo satisfatria seja encontrada. Embora possam parecer simplistas do ponto de vista biolgico, estes algoritmos so suficientemente complexos para fornecer mecanismos de busca adaptativo poderosos e robustos

Um Breve Histrico At meados do sculo 19, os naturalistas acreditavam que cada espcie havia sido criada separadamente por um ser supremo ou atravs de gerao espontnea. O trabalho do naturalista Carolus Linnaeus sobre a classificao biolgica de organismos despertou o interesse pela similaridade entre certas espcies, levando a acreditar na existncia de uma certa relao entre elas. Outros trabalhos influenciaram os naturalistas em direo teoria da seleo natural, tais como os de Jean Baptiste Lamark, que sugeriu uma teoria evolucionria no "uso e desuso" de rgos; e de Thomas Robert Malthus, que props que fatores ambientais tais como doenas e carncia de alimentos, limitavam o crescimento de uma populao. Depois de mais de 20 anos de observaes e experimentos, Charles Darwin apresentou em 1858 sua teoria de evoluo atravs de seleo natural, simultaneamente com outro naturalista ingls Alfred Russel Wallace. No ano seguinte, Darwin publica o seu On the Origin of Species by Means of Natural Selection com a sua teoria completa, sustentada por muitas evidncias colhidas durante suas viagens a bordo do Beagle. Este trabalho influenciou muito o futuro no apenas da Biologia, Botnica e Zoologia, mas tambm teve grande influncia sobre o pensamento religioso, filosfico, poltico e econmico da poca. A teoria da evoluo e a computao nasceram praticamente na mesma poca: Charles Babbage, um dos fundadores da computao moderna e amigo de Darwin desenvolveu sua mquina analtica em 1833. Ambos provavelmente estariam surpresos e orgulhosos com a ligao entre estas duas reas. Por volta de 1900, o trabalho de Gregor Mendel, desenvolvido em 1865, sobre os princpios bsicos de herana gentica, foi redescoberto pelos cientistas e teve grande influncia sobre os futuros trabalhos relacionada evoluo. A moderna teoria da evoluo combina a gentica e as idias de Darwin e Wallace sobre a seleo natural, criando o princpio bsico de Gentica Populacional: a variabilidade entre indivduos em uma populao de organismos que se reproduzem sexualmente produzida pela mutao e pela recombinao gentica. Este princpio foi desenvolvido durante os anos 30 e 40, por bilogos e matemticos de importantes centros de pesquisa. Nos anos 50 e 60, muitos bilogos comearam a desenvolver simulaes computacionais de sistemas genticos. Entretanto, foi John Holland quem comeou, seriamente, a desenvolver as primeiras pesquisas no tema. Holland foi gradualmente refinando suas idias e em 1975 publicou o seu livro Adaptation in Natural and Artificial Systems, hoje considerado a Bblia de Algoritmos Genticos. Desde ento, estes algoritmos vm sendo aplicados com sucesso nos mais diversos problemas de otimizao e aprendizado de mquina.

Caractersticas Gerais dos AGs Algoritmos Genticos so algoritmos de otimizao global, baseados nos mecanismos de seleo natural e da gentica. Eles empregam uma estratgia de busca paralela e estruturada, mas aleatria, que voltada em direo ao reforo da busca de pontos de "alta aptido", ou seja, pontos nos quais a funo a ser minimizada (ou maximizada) tem valores relativamente baixos (ou altos). Apesar de aleatrios, eles no so caminhadas aleatrias no direcionadas, pois exploram informaes histricas para encontrar novos pontos de busca onde so esperados melhores desempenhos. Isto feito atravs de processos iterativos, onde cada terao chamada de gerao. Durante cada iterao, os princpios de seleo e reproduo so aplicados a uma populao de candidatos que pode variar, dependendo da complexidade do problema e dos recursos computacionais disponveis. Atravs da seleo, se determina quais indivduos conseguiro se reproduzir, gerando um nmero determinado de descendentes para a prxima gerao, com uma probabilidade determinada pela seu ndice de aptido. Em outras palavras, os indivduos com maior adaptao relativa tm maiores chances de se reproduzir. O ponto de partida para a utilizao de Algoritmos Genticos, como ferramenta para soluo de problemas, a representao destes problemas de maneira que os Algoritmos Genticos possam trabalhar adequadamente sobre eles. A maioria das representaes so genotpicas, utilizam vetores de tamanho finito em um alfabeto finito. Tradicionalmente, os indivduos so representados genotpicamente por vetores binrios, onde cada elemento de um vetor denota a presena (1) ou ausncia (0) de uma determinada caracterstica: o seu gentipo. Os elementos podem ser combinados formando as caractersticas reais do indivduo, ou o seu fentipo. Teoricamente, esta representao independente do problema, pois uma vez encontrada a representao em vetores binrios, as operaes padro podem ser utilizadas, facilitando o seu emprego em diferentes classes de problemas. A utilizao de representaes em nveis de abstrao mais altos tem sido investigada. Como estas representaes so mais fenotpicas, facilitariam sua utilizao em determinados ambientes, onde essa transformao "fentipo gentipo" muito complexa. Neste caso, precisam ser criados os operadores especficos para utilizar estas representaes. O princpio bsico do funcionamento dos AGs que um critrio de seleo vai fazer com que, depois de muitas geraes, o conjunto inicial de indivduos gere indivduos mais aptos. A maioria dos mtodos de seleo so projetados para escolher preferencialmente indivduos com maiores notas de aptido, embora no exclusivamente, a fim de manter a diversidade da populao. Um mtodo de seleo muito utilizado o Mtodo da Roleta, onde indivduos de uma gerao so escolhidos para fazer parte da prxima gerao, atravs de um sorteio de roleta.

Neste mtodo, cada indivduo da populao representado na roleta proporcionalmente ao seu ndice de aptido. Assim, aos indivduos com alta aptido dada uma poro maior da roleta, enquanto aos de aptido mais baixa dada uma poro relativamente menor da roleta. Finalmente, a roleta girada um determinado nmero de vezes, dependendo do tamanho da populao, e so escolhidos, como indivduos que participaro da prxima gerao, aqueles sorteados na roleta. Um conjunto de operaes necessrio para que, dada uma populao, se consiga gerar populaes sucessivas que (espera-se) melhorem sua aptido com o tempo. Estes operadores so: cruzamento (crossover) e mutao. Eles so utilizados para assegurar que a nova gerao seja totalmente nova, mas possu, de alguma forma, caractersticas de seus pais, ou seja, a populao se diversifica e mantm caractersticas de adaptao adquiridas pelas geraes anteriores. Para prevenir que os melhores indivduos no desapaream da populao pela manipulao dos operadores genticos, eles podem ser automaticamente colocados na prxima gerao, atravs da reproduo elitista. Esse ciclo repetido um determinado nmero de vezes. Abaixo mostrado um exemplo de algoritmo gentico. Durante esse processo, os melhores indivduos, assim como alguns dados estatsticos, podem ser coletados e armazenados para avaliao. Procedimento AG { t = 0; inicia_populao (P, t) avaliao (P, t); repita at (t = d) { t = t +1; seleo_dos_pais (P,t); recombinao (P, t); mutao (P, t); avaliao (P, t); sobrevivem (P, t) } } onde: t - tempo atual; d - tempo determinado para finalizar o algoritmo; P - populao Estes algoritmos, apesar de serem computacionalmente muito simples, so bastante poderosos. Alm disso, eles no so limitados por suposies sobre o espao de busca, relativas a continuidade, existncia de derivadas, etc. Buscas em problemas reais so repletos de descontinuidades, rudos e outros problemas. Mtodos que dependam fortemente de restries de continuidade e existncia de derivadas so adequados apenas para problemas em um domnio limitado.

Operadores Genticos O princpio bsico dos operadores genticos transformar a populao atravs de sucessivas geraes, estendendo a busca at chegar a um resultado satisfatrio. Os operadores genticos so necessrios para que a populao se diversifique e mantenha caractersticas de adaptao adquiridas pelas geraes anteriores. O operador de mutao necessrio para a introduo e manuteno da diversidade gentica da populao, alterando arbitrariamente um ou mais componentes de uma estrutura escolhida, como ilustrado na figura abaixo, fornecendo assim, meios para introduo de novos elementos na populao. Desta forma, a mutao assegura que a probabilidade de se chegar a qualquer ponto do espao de busca nunca ser zero, alm de contornar o problema de mnimos locais, pois com este mecanismo, altera-se levemente a direo da busca. O operador de mutao aplicado aos indivduos com uma probabilidade dada pela taxa de mutao Pm; geralmente se utiliza uma taxa de mutao pequena, pois um operador gentico secundrio. O cruzamento o operador responsvel pela recombinao de caractersticas dos pais durante a reproduo, permitindo que as prximas geraes herdem essas caractersticas. Ele considerado o operador gentico predominante, por isso aplicado com probabilidade dada pela taxa de crossover Pc, que deve ser maior que a taxa de mutao. Este operador pode, ainda, ser utilizado de vrias maneiras; as mais utilizadas so: um-ponto: um ponto de cruzamento escolhido e a partir deste ponto as informaes genticas dos pais sero trocadas. As informaes anteriores a este ponto em um dos pais so ligadas s informaes posteriores este ponto no outro pai, como mostrado no exemplo da figura abaixo: multi-pontos: uma generalizao desta idia de troca de material gentico atravs de pontos, onde muitos pontos de cruzamento podem ser utilizados. uniforme: no utiliza pontos de cruzamento, mas determina, atravs de um parmetro global, qual a probabilidade de cada varivel ser trocada entre os pais.

Parmetros Genticos importante tambm, analisar de que maneira alguns parmetros influem no comportamento dos Algoritmos Genticos, para que se possa estabelec-los conforme as necessidades do problema e dos recursos disponveis. Tamanho da Populao. O tamanho da populao afeta o desempenho global e a eficincia dos AGs. Com uma populao pequena o desempenho pode cair, pois deste modo a populao fornece uma pequena cobertura do espao de busca do problema. Uma grande populao geralmente fornece uma cobertura representativa do domnio do problema, alm de prevenir convergncias prematuras para solues locais ao invs de globais. No entanto, para se trabalhar com grandes populaes, so necessrios maiores recursos computacionais, ou que o algoritmo trabalhe por um perodo de tempo muito maior. Taxa de Cruzamento. Quanto maior for esta taxa, mais rapidamente novas estruturas sero introduzidas na populao. Mas se esta for muito alta, estruturas com boas aptides podero ser retiradas mais rapidaum valor alto, a maior parte da populao ser substituda, mas com valores muito altos pode ocorrer perda de estruturas de alta aptido. Com um valor baixo, o algoritmo pode tornar-se muito lento. Taxa de Mutao. Uma baixa taxa de mutao previne que uma dada posio fique estagnada em um valor, alm de possibilitar que se chegue em qualquer ponto do espao de busca. Com uma taxa muito alta a busca se torna essencialmente aleatria. Intervalo de Gerao. Controla a porcentagem da populao que ser substituda durante a prxima gerao. Com um valor alto, a maior parte da populao ser substituda, mas com valores muito altos pode ocorrer perda de estruturas de alta aptido. Com um valor baixo, o algoritmo pode tornar-se muito lento.

Aplicaes Um sistema com bom desempenho em um ambiente dinmico, geralmente exige solues adaptativas. Sistemas adaptativos tentam resolver problemas acumulando conhecimento sobre o problema e utilizando estas informaes para gerar solues aceitveis. Estes problemas, tipicamente, se encontram nas reas de configurao de sistemas complexos, alocao de tarefas, seleo de rotas, e outros problemas de otimizao e aprendizado de mquina. Seguem-se alguns exemplos de sistemas adaptativos: Controle de Sistemas Dinmicos; Induo e Otimizao de Bases de Regras; Encontrar Novas Topologias Conexionistas: Engenharia de Sistemas Neurais Artificiais; Modelagem de Estruturas Neurais Biolgicas; Simulao de Modelos Biolgicos: Comportamento; Evoluo; Evoluo Interativa de Imagens; Composio Musical.

Bibliografia PACHECO, Marco Aurlio Cavalcanti, ICA: Laboratrio de Inteligncia Computacional Aplicada, ALGORITMOS GENTICOS: PRINCPIOS E APLICAES. Disponvel em: < http://www.ica.ele.puc-rio.br/Downloads%5C38/CEApostila-Comp-Evol.pdf > Acessado em 08 de junho de 2010. MIRANDA, Marcio Nunes de, Universidade Federal do Rio de Janeiro, Algoritmos Genticos: Fundamentos e Aplicaes. Disponvel em: < http://www.gta.ufrj.br/~marcio/genetic.html >. Acessado em 08 de junho de 2010.

You might also like