3.1 ALGORITMOS EVOLUCION ´ ARIOS
3.1.1 Algorimos Gen´eticos AGs
Os princ´ıpios b´asicos dos Algoritmos Gen´eticos (AGs) foram desenvolvidos por Holland (1975). Este algoritmo ´e um m´etodo de busca baseada em mecanismos de evoluc¸˜ao natural e gen´etica (GOLDBERG, 1989).
Os AGs s˜ao motivados pela forma que as esp´ecies evoluem e se adaptam ao seu ambiente com base no princ´ıpio Darwiniano de selec¸˜ao natural (GENDREAU; POTVIN, 2005). Nesse contexto, uma populac¸˜ao de soluc¸˜oes evolui de uma gerac¸˜ao para a seguinte, atrav´es da
aplicac¸˜ao de operadores que imitam os encontrados na natureza, ou seja, a selec¸˜ao do mais adaptado, cruzamento e mutac¸˜ao. Atrav´es do processo de selec¸˜ao, apenas as melhores soluc¸˜oes s˜ao permitidas a se tornarem pais e gerar descendˆencia. O processo de gerac¸˜ao de descendentes, chamado crossover, seleciona duas soluc¸˜oes pais e combina as suas melhores caracter´ısticas para criar uma ou duas soluc¸˜oes descendentes. Isto ´e repetido at´e que uma nova populac¸˜ao de soluc¸˜oes descendentes seja criada.
Antes de substituir a antiga populac¸˜ao, cada membro da nova populac¸˜ao ´e submetido (com uma pequena probabilidade) a pequenas perturbac¸˜oes aleat´orias atrav´es do operador de mutac¸˜ao. A partir de uma populac¸˜ao inicial gerada aleatoriamente ou heuristicamente, este ciclo de renovac¸˜ao ´e repetido por um dado n´umero de iterac¸˜oes, e a melhor soluc¸˜ao encontrada ´e devolvida ao final. Nos AGs, uma populac¸˜ao inicial ´e gerada aleatoriamente ou utilizando m´etodos heur´ısticos, essas soluc¸˜oes representam pontos espalhados no espac¸o de busca. Cada soluc¸˜ao poss´ıvel do espac¸o de busca ´e representada sob a forma de uma cadeia ou vetor (geralmente representada por bits ou n´umeros inteiros), chamado cromossomo, consistindo de um conjunto de elementos, chamados genes, que possuem um conjunto de valores para as vari´aveis de otimizac¸˜ao (GOLDBERG, 1989).
Assim, a populac¸˜ao ´e formada por um conjunto de soluc¸˜oes fact´ıveis codificadas em cromossomos. Cada cromossomo representa um indiv´ıduo na populac¸˜ao e cada indiv´ıduo tem um valor que mede seu grau de aptid˜ao. Esse valor ´e denominado fitness e geralmente ´e o que identifica a qualidade da soluc¸˜ao.
Um AG padr˜ao utiliza trˆes operadores gen´eticos: a selec¸˜ao, cruzamento ou recombinac¸˜ao (crossover) e a mutac¸˜ao. Os operadores gen´eticos s˜ao aplicados aos indiv´ıduos da populac¸˜ao com o objetivo de reproduzir novos e melhores indiv´ıduos a partir dos j´a existentes. As operac¸˜oes s˜ao necess´arias para permitir a diversidade dos indiv´ıduos, bem como explorar outras regi˜oes do espac¸o de busca.
Os principais parˆametros do AG s˜ao: o tamanho da populac¸˜ao, n´umero de gerac¸˜oes e a taxa de probabilidade de crossover e mutac¸˜ao. Uma breve descric¸˜ao do algoritmo pode ser vista na Tabela 1.
Selec¸˜ao
Para realizar o processo de cruzamento ou recombinac¸˜ao no algoritmo, ´e feita uma selec¸˜ao entre os indiv´ıduos pertencentes `a populac¸˜ao. Esta selec¸˜ao ocorre ap´os a avaliac¸˜ao de cada indiv´ıduo, geralmente esta selec¸˜ao ´e baseada no princ´ıpio da sobrevivˆencia dos melhores indiv´ıduos.
Inicio
Gerar uma populac¸˜ao inicial de M indiv´ıduos;
Calcular o fitness para cada indiv´ıduo da populac¸˜ao M;
Ordenar os M indiv´ıduos por ordem decrescente do valor de fitness; | Repetir por um n´umero I de gerac¸˜oes:
| − →| Selecionar indiv´ıduos;
| − →| Cruzar indiv´ıduos selecionados; | − →| Mutar indiv´ıduos selecionados; | − →| Avaliar o fitness da populac¸˜ao; | Fim;
Fim.
Tabela 1: Pseudo-c´odigo do Algoritmo Gen´etico b´asico
Os indiv´ıduos com os melhores n´ıveis de aptid˜ao possuem uma maior probabilidade de serem mantidos e selecionados para a etapa de cruzamento. Da mesma forma, os cromossomos com n´ıveis baixos de aptid˜ao possuem pouca probabilidade de permanecer e, consequentemente, podem ser eliminados da populac¸˜ao. Portanto, o operador de selec¸˜ao tem o objetivo de escolher os indiv´ıduos que devem continuar o processo evolutivo conforme estrat´egia adotada.
As principais estrat´egias de selec¸˜ao de um indiv´ıduo para a pr´oxima gerac¸˜ao s˜ao: selec¸˜ao rank, selec¸˜ao por roleta, selec¸˜ao por torneio e t´ecnica elitista. Uma descric¸˜ao detalhada destas estrat´egias pode ser vista em Michalewicz (1996).
Crossover
Ap´os o processo de selec¸˜ao, os indiv´ıduos selecionados passam para o processo de crossover. O crossover ou recombinac¸˜ao gen´etica ´e a etapa de cruzamento realizado pelos indiv´ıduos selecionados. Nesta etapa ´e realizada a troca de genes entre dois ou mais indiv´ıduos, que s˜ao denominados pais, formando novos indiv´ıduos que s˜ao chamados de filhos. O objetivo deste processo ´e a troca de informac¸˜oes entre diferentes soluc¸˜oes candidatas (GOLDBERG, 1989).
O processo de crossover nos indiv´ıduos selecionados ocorre com certa probabilidade, que pode ser definida como um parˆametro inicial de projeto. O valor dessa taxa de probabilidade influencia na convergˆencia do algoritmo, como por exemplo, valores altos reduzem as chances de convergˆencia para um m´aximo local, mas acabam por resultar em maiores perdas computacionais devido `a explorac¸˜ao de regi˜oes n˜ao promissoras dentro do espac¸o de busca.
Existem diversos operadores de recombinac¸˜ao propostos na literatura, com aplicac¸˜ao direcionada a diferentes tipos de codificac¸˜oes e problemas. Os mais comuns s˜ao recombinac¸˜ao ponto ´unico, recombinac¸˜ao multiponto e recombinac¸˜ao uniforme (MICHALEWICZ, 1996).
Mutac¸˜ao
O objetivo do processo de mutac¸˜ao ´e diversificar a gen´etica da populac¸˜ao. Este operador realiza uma alterac¸˜ao aleat´oria de uma ou mais caracter´ısticas de um cromossomo selecionado, propiciando assim, a introduc¸˜ao de novos elementos na populac¸˜ao.
Geralmente, o processo de mutac¸˜ao ´e aplicado aos indiv´ıduos ap´os o processo de crossover. O operador mutac¸˜ao ´e aplicado aos indiv´ıduos com certa probabilidade. Se esta probabilidade for baixa, pode haver comprometimento na diversidade dos indiv´ıduos. Contudo se a probabilidade for alta pode haver perturbac¸˜oes aleat´orias de tal forma que os filhos provavelmente perder˜ao suas semelhanc¸as com os pais podendo assim comprometer a convergˆencia do m´etodo (WESTPHAL, 2006).