• Nenhum resultado encontrado

Algoritmos Evolucion´ arios

No documento Dissertação (páginas 64-68)

Os termos usados em AEs, normalmente possuem significados an´alogos aos empregados no contexto biol´ogico. Uma estrutura ou indiv´ıduo ´e uma solu¸c˜ao codificada para um problema. Normalmente, um indiv´ıduo ´e representado por uma cadeia de bits que corresponde ao seu gen´otipo. Este gen´otipo quando decodificado revela as caracter´ısticas do indiv´ıduo e este con-

3.1 Algoritmos Evolucion´arios 49

junto de caracter´ısticas recebe o nome de fen´otipo. O gen´otipo ´e composto de um ou mais cromossomos e cada cromossomo ´e composto de genes que recebem valores, chamados de ale- los, de um determinado alfabeto gen´etico. As representa¸c˜oes mais utilizadas s˜ao: a bin´aria, que representa os indiv´ıduos como uma sequˆencia de 0s ou 1s e a real, que representa os indiv´ıduos como uma cadeia de valores reais. A posi¸c˜ao do gene no cromossomo ´e identificada pelo locus. Um conjunto de indiv´ıduos recebe o nome de popula¸c˜ao. Estes conceitos est˜ao ilustrados na Figura 20 para as duas representa¸c˜oes.

1 0 0 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 2 3 4 5 6 7 8 9 10 Posi¸c˜ao (Locus) Genes P o p u l a ¸c ˜a o C r o m o s s o m o s

Valor (Alelo) = 0 Valor (Alelo) = 1

39,214 3,589 7,148 12,895 12,457 9,155 25,235 0,265 2,473 1 2 3 Posi¸c˜ao (Locus) Genes Valor (Alelo) = 39,214

Figura 20: Estrutura de dados e terminologia de um AE

Segundo a teoria da evolu¸c˜ao das esp´ecies de Darwin (DARWIN, 1859), “o processo evolutivo caminha para melhorar os indiv´ıduos”. Ao longo das gera¸c˜oes, os genes dos indiv´ıduos de uma popula¸c˜ao s˜ao modificados atrav´es de sele¸c˜ao natural ou atrav´es de muta¸c˜ao. O mecanismo de sele¸c˜ao natural pode ocorrer de dois modos. Um modo de sele¸c˜ao natural ocorre quando indiv´ıduos mais aptos recombinam material gen´etico com indiv´ıduos do mesmo n´ıvel de aptid˜ao, gerando, normalmente, indiv´ıduos mais aptos. O outro modo de sele¸c˜ao natura ´e quando os indiv´ıduos menos aptos n˜ao sobrevivem ao meio, restando cada vez mais indiv´ıduos aptos para recombina¸c˜ao. A modifica¸c˜ao dos genes atrav´es de muta¸c˜ao, ocorre atrav´es de uma varia¸c˜ao gen´etica promovida por fatores externos e resulta em um indiv´ıduo cujas caracter´ısticas n˜ao foram necessariamente herdadas de seus progenitores. Os mecanismos de sele¸c˜ao natural, que incluem a recombina¸c˜ao e a sele¸c˜ao dos mais aptos, e o mecanismo de muta¸c˜ao, s˜ao chamados de operadores gen´eticos. Transportando estes mecanismos naturais para um ambiente computacional e entendendo que os indiv´ıduos s˜ao solu¸c˜oes de um problema, podemos dizer que o processo evolutivo caminha para melhorar as solu¸c˜oes de um problema.

3.1 Algoritmos Evolucion´arios 50

3.1.1

Defini¸c˜ao formal de AEs

Para definir formalmente um AE ´e poss´ıvel represent´a-lo atrav´es de nota¸c˜ao matem´atica, que pode ser utilizada para definir os conceitos utilizados por diferentes tipos de AEs, como o que ser´a apresentado na Se¸c˜ao 3.2. Neste sentido, um AE est´a associado a um conjunto n˜ao vazio I chamado de espa¸co de indiv´ıduos do AE. Cada indiv´ıduo i ∈ I representa uma poss´ıvel solu¸c˜ao para o problema. Um indiv´ıduo ´e normalmente representado por um vetor cuja dimens˜ao ´e compat´ıvel com a dimens˜ao do cromossomo. Em (B ¨ACK, 1996), um conjunto

de µ ∈ N indiv´ıduos ´e denotado por Iµ e chamado de popula¸c˜ao. A transforma¸c˜ao ocorrida no espa¸co de indiv´ıduos (ou popula¸c˜ao) ´e denotada como: T : Iµ

→ Iµ. A esta transforma¸c˜ao T d´a-se o nome de gera¸c˜ao. Existem AEs cujas popula¸c˜oes variam de tamanho na passagem de uma gera¸c˜ao para outra. Para generalizar a transforma¸c˜ao no espa¸co de indiv´ıduos foi introduzida a defini¸c˜ao: T : Iµ

→ Iµ′

, indicando que popula¸c˜oes sucessoras podem variar de tamanho. De posse desta terminologia ´e poss´ıvel definir um AE como (MERKLE; LAMONT, 1997):

Defini¸c˜ao 10 (Algoritmo Evolucion´ario). Seja I um conjunto n˜ao vazio chamado de espa¸co de indiv´ıduos, µ(t) ∈ N com t ∈ Z+chamado de tamanho da popula¸c˜ao de progenitores, µ′(t)∈ N com t ∈ Z+ chamado de tamanho da popula¸c˜ao filha, Φ : I → R uma fun¸c˜ao de aptid˜ao, ι : ∪∞

i=1(Iµ)i → {true, false} o crit´erio de parada, χ ∈ {true, false} o crit´erio de sele¸c˜ao, r uma sequˆencia de operadores de recombina¸c˜ao r(t), m uma sequˆencia de operadores de muta¸c˜ao m(t), s uma sequˆencia de operadores de sele¸c˜ao s(t), Θ(t)

r , Θ(t)m e Θ(t)s , parˆametros de recombina¸c˜ao, muta¸c˜ao e sele¸c˜ao, respectivamente. O Algoritmo 1 ´e dito um algoritmo evolucion´ario.

Algoritmo 1 Algoritmo Evolucion´ario

1: t := 0;

2: inicializa: P (0) :={i1(0), i2(0) . . . , iµ(0)} ∈ Iµ

(0)

;

3: Enquanto (ι({P (0), . . . , P (t)}) 6= true) Fa¸ca 4: recombina: P′(t) := r(t) Θ(t)r (P (t)); 5: muta: P′′(t) := m(t) Θ(t)m (P′(t)); 6: seleciona: 7: Se χ Ent˜ao 8: P (t + 1) := s(t) (Θ(t)s ,Φ) (P′′(t)); 9: Sen˜ao 10: P (t + 1) := s(t) (Θ(t)s ,Φ) (P′′(t)∪ P (t)); 11: Fim Se 12: t := t + 1; 13: Fim Enquanto

3.1 Algoritmos Evolucion´arios 51

No Algoritmo 1, pode-se observar que no come¸co de tudo (t := 0), um AE ´e dotado de uma popula¸c˜ao inicial, P (0), que pertence ao espa¸co de indiv´ıduos inicial, Iµ(0)

. Enquanto um crit´erio de parada n˜ao for satisfeito, os operadores de recombina¸c˜ao, muta¸c˜ao e sele¸c˜ao s˜ao executados a cada gera¸c˜ao t. A sele¸c˜ao pode ser feita considerando-se apenas o conjunto dos novos indiv´ıduos (P′′(t)) ou considerando os conjuntos dos novos indiv´ıduos e seus progenitores (P′′(t)∪ P (t)).

3.1.2

Operadores gen´eticos

Assim como ocorre na natureza, os operadores gen´eticos de um AE tem o objetivo de gerar in- div´ıduos (solu¸c˜oes) cada vez mais aptos. Os trˆes principais operadores gen´eticos utilizados em AEs s˜ao: sele¸c˜ao, recombina¸c˜ao (ou reprodu¸c˜ao) e muta¸c˜ao. A sele¸c˜ao faz com que indiv´ıduos mais aptos tenham maior chance de sobrevivˆencia e apare¸cam na gera¸c˜ao seguinte. A recom- bina¸c˜ao permite a troca do material gen´eticos entre os indiv´ıduos selecionados pelo operador sele¸c˜ao. Espera-se que a troca de material gen´etico entre indiv´ıduos aptos gere indiv´ıduos t˜ao ou ainda mais aptos que seus progenitores. A muta¸c˜ao permite aumentar a diversidade da popula¸c˜ao fazendo com que o gen´otipo dos indiv´ıduos gerados pelo operador recombina¸c˜ao, se diferencie levemente do gen´otipo de seus progenitores, possibilitando assim o surgimento de um indiv´ıduo melhor e completamente diferente do restante da popula¸c˜ao. Existem diferen- tes t´ecnicas para implementa¸c˜ao desses operadores gen´eticos. Em seguida, ser˜ao introduzidas algumas dessas implementa¸c˜oes.

A Figura 21 ilustra o m´etodo de sele¸c˜ao atrav´es do giro da roleta. Trata-se de um m´etodo simples de sele¸c˜ao que simula um jogo de roleta com divis˜oes que podem ser irregulares. A probabilidade de sele¸c˜ao est´a diretamente relacionada com a propor¸c˜ao entre a aptid˜ao de cada indiv´ıduo e a aptid˜ao m´edia da popula¸c˜ao. Indiv´ıduos mais aptos recebem mais divis˜oes da roleta enquanto que indiv´ıduos menos aptos recebem menos divis˜oes. ´E importante ressaltar que os indiv´ıduos mais aptos tˆem maior probabilidade de serem selecionados, o que n˜ao significa que ser˜ao sempre selecionados.

A Figura 22 mostra uma t´ecnica simples de recombina¸c˜ao, onde um locus ´e selecionado para dois indiv´ıduos progenitores e a partir deste locus, o material gen´etico dos dois ´e trocado, formando ent˜ao dois novos indiv´ıduos filhos. A Figura 23 mostra o efeito do operador muta¸c˜ao que troca aleatoriamente o alelo de um ou mais genes. No caso de representa¸c˜ao bin´aria, o alelo ´e trocado de 0 para 1 e vice-versa. Existem diferentes operadores evolucion´arios tanto para representa¸c˜ao bin´aria quanto para representa¸c˜ao real, cada um com suas caracter´ısticas

3.2 Algoritmos Evolucion´arios Multiobjetivo 52

No documento Dissertação (páginas 64-68)