Você está na página 1de 9

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C.

Pacheco, verso 1 em 14/07/1999

ALGORITMOS GENTICOS: PRINCPIOS E APLICAES


Marco Aurlio Cavalcanti Pacheco ICA: Laboratrio de Inteligncia Computacional Aplicada Departamento de Engenharia Eltrica Pontifcia Universidade Catlica do Rio de Janeiro Email: marco@ele.puc-rio.br Rua Marques de So Vicente 225, Gvea CEP 22453-900, Rio de Janeiro, RJ, Brasil

RESUMO Algoritmos Genticos so inspirados no princpio Darwiniano da evoluo das espcies e na gentica [1]. So algoritmos probabilsticos que fornecem um mecanismo de busca paralela e adaptativa baseado no princpio de sobrevivncia dos mais aptos e na reproduo. Este artigo introduz as tcnicas computacionais inteligentes, Redes Neurais, Lgica Fuzzy e Sistemas Especialistas, e apresenta os princpios bsicos e aplicaes dos Algoritmos Genticos. 1. SISTEMAS INTELIGENTES A Inteligncia Computacional uma rea da cincia que busca, atravs de tcnicas inspiradas na Natureza, o desenvolvimento de sistemas inteligentes que imitam aspectos do comportamento humano, tais como: aprendizado, percepo, raciocnio, evoluo e adaptao. Tcnica Redes Neurais Algoritmos Genticos Lgica Fuzzy Sistemas Especialistas Inspirao Neurnios biolgicos Evoluo biolgica Proc. lingstico Inferncia Humana

humano, visando desenvolver sistemas computacionais capazes de tomar decises racionais em um ambiente de incerteza e impreciso. A Lgica Nebulosa oferece um mecanismo para manipular informaes imprecisas, tais como os conceitos de muito, pouco, pequeno, alto, bom, quente, frio, etc, fornecendo uma resposta aproximada para uma questo baseada em um conhecimento que inexato, incompleto ou no totalmente confivel. Sistemas Especialistas so programas computacionais destinados a solucionar problemas em um campo especializado do conhecimento humano. Usa tcnicas de IA, base de conhecimento e raciocnio inferencial. As tcnicas da Inteligncia Computacional tm sido empregadas com sucesso no desenvolvimento de sistemas inteligentes de previso, suporte deciso, controle, otimizao, modelagem, classificao e reconhecimento de padres em geral, aplicados em diversos setores: Energia, Industrial, Econmico, Financeiro, Comercial e Outros, Sntese de Circuitos, Meio Ambiente, entre outros.[2, 6, 7, 8] 2. ALGORITMOS GENTICOS: PRINCPIOS E APLICAES Algoritmos Genticos (GAs-Genetic Algorithms) constituem uma tcnica de busca e otimizao, altamente paralela, inspirada no princpio Darwiniano de seleo natural e reproduo gentica [1]. Os princpios da natureza nos quais os GAs se inspiram so simples. De acordo com a teoria de C. Darwin, o princpio de seleo privilegia os indivduos mais aptos com maior longevidade e, portanto, com maior probabilidade de reproduo. Indivduos com mais descendentes tm mais chance de perpetuarem seus cdigos genticos nas prximas geraes. Tais cdigos genticos constituem a identidade de cada indivduo e esto representados nos cromossomas. Estes princpios so imitados na construo de algoritmos computacionais que

Redes Neurais so modelos computacionais no lineares, inspirados na estrutura e operao do crebro humano, que procuram reproduzir caractersticas humanas, tais como: aprendizado, associao, generalizao e abstrao. Redes Neurais so efetivas no aprendizado de padres a partir de dados no lineares, incompletos, com rudo ou compostos de exemplos contraditrios. Algoritmos Genticos (GAs: Genetic Algorithms) so algoritmos matemticos inspirados nos mecanismos de evoluo natural e recombinao gentica. A tcnica de Algoritmos Genticos fornece um mecanismo de busca adaptativa que se baseia no princpio Darwiniano de reproduo e sobrevivncia dos mais aptos. Lgica Nebulosa (Fuzzy Logic) tem por objetivo modelar o modo aproximado de raciocnio

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C. Pacheco, verso 1 em 14/07/1999 buscam uma melhor soluo para um determinado problema, atravs da evoluo de populaes de solues codificadas atravs de cromossomas artificiais. Em GAs um cromossoma uma estrutura de dados que representa uma das possveis solues do espao de busca do problema. Cromossomas so ento submetidos a um processo evolucionrio que envolve avaliao, seleo, recombinao sexual (crossover) e mutao. Aps vrios ciclos de evoluo a populao dever conter indivduos mais aptos. A analogia entre Algoritmos Genticos e o sistema natural representada atravs da tabela abaixo: Tabela 1 Natureza Cromossoma Gene Alelo Loco Gentipo Fentipo Indivduo Gerao Algoritmos Genticos Palavra binria, vetor, etc Caracterstica do problema Valor da caracterstica Posio na palavra, vetor Estrutura Estrutura submetida ao problema Soluo Ciclo 2 Representao A representao das possveis solues do espao de busca de um problema define a estrutura do cromossoma a ser manipulado pelo algoritmo. A representao do cromossoma depende do tipo de problema e do que, essencialmente, se deseja manipular geneticamente. Os principais tipos de representao so: Representao Binria Nmeros Reais Permutao de Smbolos Smbolos Repetidos Problemas Numricos, Inteiros Numricos Baseados em Ordem Grupamento Eletrnicos. Alguns exemplos desenvolvidos no ICA so: de produtos

Fluxo de Caixa Inteligente Classificao de Clientes (Data Mining) Alocao de Espao Fsico Planejamento e Otimizao de Embarque de Minrio no Porto de Tubaro Anlise de Alternativas de Investimento em Projetos de Explorao e Prospeco de Petrleo sob Incertezas Tcnicas e de Mercado Otimizao da Quantidade e Localizao de Poos Petrolferos para o Desenvolvimento de um Campo de Petrleo sob condies de certeza

Podemos caracterizar os Algoritmos Genticos atravs dos seguintes componentes [2]: 1. 2. 3. 4. 5. 6. 7. Problema a ser otimizado Representao das Solues de Problema Decodificao do Cromossoma Avaliao Seleo Operadores Genticos Inicializao da Populao

A seguir apresentada uma breve discusso sobre cada um desses aspectos, exemplificando-se quando apropriado. 1 Problema GAs so particularmente aplicados em problemas complexos de otimizao: problemas com diversos parmetros ou caractersticas que precisam ser combinadas em busca da melhor soluo; problemas com muitas restries ou condies que no podem ser representadas matematicamente; e problemas com grandes espaos de busca. GAs tm sido aplicados a diversos problemas de otimizao [3], tais como: Otimizao de Funes Matemticas, Otimizao Combinatorial, Otimizao de Planejamento, Problema do Caixeiro Viajante, Problema de Otimizao de Rota de Veculos, Otimizao de Layout de Circuitos, Otimizao de Distribuio, Otimizao em Negcios e Sntese de Circuitos

A representao binria simples, fcil de manipular cromossomas atravs dos operadores genticos, fcil de ser transformada em inteiro ou real e, ainda, facilita a prova de alguns teoremas. Todavia, a representao por nmeros reais (ponto flutuante) oferece melhor desempenho. Por exemplo, seja o problema de encontrar o valor mximo da funo f(x) = x2 , x inteiro [0,63]. Podemos representar as solues do problema atravs de um cromossoma de 6 bits. C1 0 0 1 0 0 1 C2 0 0 0 1 0 0 representa x=9 representa x=4

Um binrio tambm pode representar um nmero real XR [Xmin,Xmx], com preciso de p casas decimais. Para isso so necessrios K bits, sendo K calculado pela inequao: Equao 1 2k (Xmx - Xmin) x 10p A representao binria, entretanto, nem sempre pode ser empregada; o problema muitas

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C. Pacheco, verso 1 em 14/07/1999 vezes exige um alfabeto de representao com mais smbolos. Qualquer que seja a representao empregada, ela deve ser capaz de representar todo o espao de busca que se deseja investigar. 3 Decodificao A decodificao do cromossoma consiste basicamente na construo da soluo real do problema a partir do cromossoma. O processo de decodificao constri a soluo para que esta seja avaliada pelo problema. A vantagem da representao binria a fcil transformao para inteiro ou real. Na transformao para nmero real, considera-se o intervalo de valores ou comprimento contnuo do domnio (C) dos reais de tal forma que Equao 2

pi =

fi

f
j =1

X R = Xb

C + X min 2 1
n

Onde XR [Xmin,Xmx]; Xb o inteiro correspondente ao binrio; n o nmero de bits de do cromossoma; e C o comprimento do domnio da varivel X, dado por C = |Xmx Xmin|. 4 Avaliao A avaliao o elo entre o GA e o mundo externo. A avaliao feita atravs de uma funo que melhor representa o problema e tem por objetivo fornecer uma medida de aptido de cada indivduo na populao corrente, que ir dirigir o processo de busca. A funo de avaliao para um GA o que o meio ambiente para seres humanos. Funes de avaliao so especficas de cada problema. No exemplo, a funo matemtica f(x) = x2 mede aptido de cada indivduo. Na Tabela 2, C1 um indivduo mais apto que C2. Tabela 2 C1 C2 Cromossoma 0 0 1 0 0 1 0 0 0 1 0 0 x 9 4 f(x) 81 16

Onde N o nmero de indivduos na populao. A seleo em GAs tipicamente implementada por uma roleta onde cada indivduo representado por uma fatia proporcional a sua aptido relativa. O operador de seleo um componente essencial de algoritmos genticos. A literatura identifica cinco principais mecanismos de seleo: proporcional, por torneios, com truncamento, por normalizao linear e por normalizao exponencial [5]. Um mecanismo de seleo caracterizado pela presso seletiva ou intensidade de seleo que o mesmo introduz no algoritmo gentico. O termo presso seletiva utilizado em diferentes contextos e com significados diferentes na literatura de computao evolucionria. A definio de intensidade de seleo empregada em gentica a variao na aptido mdia da populao induzida pelo mtodo de seleo [5]. A expresso da intensidade de seleo I dada por: Equao 4

I=

M * M

Onde M a aptido mdia da populao, M* o valor esperado da aptido mdia aps a seleo, e o desvio padro dos valores de aptido da populao antes da seleo. No caso de seleo proporcional, a probabilidade de um indivduo ser selecionado simplesmente proporcional ao seu valor de aptido, isto : Equao 5

pi =

fi NM

5 Seleo O processo de seleo em algoritmos genticos seleciona indivduos para a reproduo. A seleo baseada na aptido dos indivduos: indivduos mais aptos tm maior probabilidade de serem escolhidos para reproduo. Assim, se fi a avaliao do indivduo i na populao corrente, a probabilidade pi do indivduo i ser selecionado proporcional a

Onde pi a probabilidade de seleo de um indivduo i, fi a aptido do mesmo e N o tamanho da populao. Demonstra-se que a intensidade de seleo dada por [5]: Equao 6

I=

Equao 3

Isto , a presso seletiva dada pela razo entre o desvio padro das aptides e a mdia das mesmas. O mtodo de seleo proporcional apresenta dois problemas: existncia de superindivduos e competio prxima [2]. O primeiro ocorre quando um indivduo apresenta uma aptido

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C. Pacheco, verso 1 em 14/07/1999 bem maior que a dos restantes, o que determinar uma convergncia prematura do algoritmo. O segundo problema ocorre quando indivduos apresentam aptides semelhantes, mas no idnticas; neste caso, a intensidade de seleo pode ser bem menor do que a desejvel. No mtodo de seleo por torneios, um grupo de t indivduos aleatoriamente escolhido, e o indivduo de melhor aptido selecionado. A intensidade de seleo dada neste caso pela soluo da seguinte equao integral [5]: Equao 7
t 1

Equao 9

Ai mn +

(mx mn) (i 1) n 1

No exemplo da Tabela 3 o mtodo reduz o domnio exercido por super indivduos (cromossoma 6) e aumenta a presso seletiva entre indivduos com avaliao prxima (cromossomas 5, 4, 3, 2) em funo da taxa de decremento, em funo da taxa de incremento. Tabela 3

I = t x

1 2

x2 2

y x 1 e 2 dy dx 2
2

CROMOSSOMAS Avaliao Original Aptido (taxa=1)

6 5 200 15 100 99 Aptido (taxa=20) 101 81

4 14 98 61

3 13 97 41

2 10 96 21

1 9 95 1

As variveis de integrao x e y representam os valores de aptido da populao. Assume-se uma distribuio Gaussiana de valores de aptido por indivduos. A partir da soluo numrica da equao acima, observa-se que a presso seletiva aumenta a medida em que o nmero de indivduos envolvidos no torneio, t, aumenta. No mecanismo de seleo por truncamento, dado um limiar T, apenas os T melhores indivduos podem ser selecionados. Cada um desses indivduos apresenta a mesma probabilidade de seleo. Demonstra-se [5] que a intensidade de seleo dada por: Equao 8
c 1 1 I= e 2 T 2 f2

A intensidade de seleo dada por: Equao 10

I = (1 mn)

A equao acima mostra que a presso seletiva diminui a medida em que mn aumenta. O mtodo de seleo por normalizao exponencial diferencia-se da normalizao linear pelo fato das probabilidades de seleo de cada indivduo seguirem uma funo exponencial. Esta probabilidade dada por: Equao 11

pi =

c 1 N i c ; c N 1

i {1,..., N }

Onde fc o valor da menor aptido entre os T melhores indivduos. Traando-se o grfico da intensidade de seleo em funo do limiar T, observa-se que a presso seletiva diminui a medida em que T aumenta. No mtodo de seleo por normalizao linear, os indivduos so inicialmente ordenados de acordo com sua aptido. A seguir, estes valores de aptido so alterados de acordo com a posio relativa de cada indivduo. Ao melhor indivduo assinalada uma aptido de valor mx e ao pior indivduo uma aptido mn. Estes dois valores so determinados pelo usurio, mas a forma original deste mtodo prev que as condies mx = 2 - mn e mn0 devam ser atendidas. Os demais indivduos tm valores de aptido linearmente distribudos entre mn e mx, de acordo com sua posio relativa na ordenao (i=1 corresponde ao pior elemento).

Onde c determina a grau de exponencialidade da funo, podendo variar de 0 at 1. Quanto mais prximo de 1, menor a exponencialidade. A intensidade de seleo dada por: Equao 12

ln(k ) 2.548 1.086 k + 0.4028 ln(k )


N

Onde k=c . Atravs da caracterstica de I em funo de c dada pela equao acima, verificase que a presso seletiva diminui a medida em que c aumenta [5]. 6 Operadores Genticos Indivduos selecionados (e reproduzidos na populao seguinte) so recombinados atravs do operador de crossover (com uma probabilidade pc). O operador de crossover considerado a

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C. Pacheco, verso 1 em 14/07/1999 caracterstica fundamental dos GAs. Pares de genitores so escolhidos aleatoriamente da populao, baseado na aptido, e novos indivduos so criados a partir da troca do material gentico. Os descendentes sero diferentes de seus pais, mas com caractersticas genticas de ambos os genitores. Por exemplo: ponto de corte aleatrio 1 1 0 0 0 0 0 0 0 1 0 0 8 Parmetros e Critrios de Parada Em um algoritmo gentico vrios parmetros controlam o processo evolucionrio: G1 G2 Tamanho da Populao nmero de pontos do espao de busca sendo considerados em paralelo a cada ciclo. Taxa de Crossover probabilidade (pc) de um indivduo ser recombinado com outro. Taxa de Mutao probabilidade (pm) do contedo de uma posio/gene do cromossoma ser alterado. Nmero de Geraes total de ciclos de evoluo de um GA. Total de Indivduos total de tentativas em um experimento (tamanho da populao x nmero de geraes)

D1 D2

1 1 0 1 0 0 0 0 0 0 0 0

Na sua forma mais simples, o crossover de um ponto de corte (one-point crossover) corta os dois genitores em uma posio aleatoriamente escolhida, criando dois possveis descendentes: D1 um cromossoma mais apto que seus genitores, todavia D2 um indivduo medocre (baixa avaliao em f(x) = x2). Os cromossomas criados a partir do operador de crossover so ento submetidos a operao de mutao (com uma probabilidade pm). Mutao um operador exploratrio que tem por objetivo aumentar a diversidade na populao. O operador de mutao troca o contedo de uma posio do cromossoma (alelo, smbolo, valor do gene), com uma determinada probabilidade, em geral baixa (<1%). C1 C1 1 1 1 1 0 0 1 1 1 1 0 1 antes depois da mutao

Os dois ltimos parmetros so em geral empregados como critrio de parada de um algoritmo gentico. Um algoritmo gentico pode ser descrito como um processo contnuo que repete ciclos de evoluo controlados por um critrio de parada, conforme apresentado pela figura abaixo:
Representao

F(x) Problema Populao Inicial/ Corrente Seleo

Critrio de Trmino

Existem vrias outras formas de se efetuar mutao. Por exemplo, o operador gentico denominado inverso troca de posio dois genes aleatoriamente escolhidos. A importncia deste operador , no entanto, restrita a problemas baseados em ordem [1, 3]. 7 Inicializao da Populao A inicializao da populao determina o processo de criao dos indivduos para o primeiro ciclo do algoritmo. Tipicamente, a populao inicial formada a partir de indivduos aleatoriamente criados. Populaes iniciais aleatrias podem ser semeadas com bons cromossomas para uma evoluo mais rpida, quando se conhece, a priori, o valor de boas sementes. Uma tcnica eficiente para se encontrar por GA boas solues em um problema, consiste em executar evolues (rodadas) sucessivas, semeando-se a populao inicial da evoluo seguinte com as melhores solues encontradas na anterior.

Operadores Genticos Descendentes Genitores

Figura 1 3. FUNDAMENTOS MATEMTICOS ALGORITMOS GENTICOS DE

Podemos compreender melhor o princpio de funcionamento de algoritmos genticos a partir da Teoria de Schema (padres) formulada por John Holland em 1975 [1]. John Holland definiu schema como um padro que descreve um conjunto de cromossomas com similaridades em algumas posies. Para representar schemata (plural de schema) utiliza-se um smbolo adicional "". Assim, para um espao de busca representado por KL existem (K+1) L schemata. K nmero de smbolos do alfabeto L comprimento do cromossoma

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C. Pacheco, verso 1 em 14/07/1999 A aptido mdia da populao, dada pela equao a seguir, nos permite fazer uma ltima transformao na frmula de m(H, t+1). Equao 16

Seja K = 2 e L = 3 definindo em espao de busca de 8 pontos. Seja o schema H = 11. H descreve o conjunto de elementos 111 e 110. H refere-se a conjectura que a razo pela qual 111 (ou 110) um bom (ou mal) indivduo so os dois bits mais significativos iguais a 1, no importando (don't care) os demais. Esta conjectura possui dois possveis representantes que podem ou no estar presentes em determinada gerao do GA. Para compreendermos melhor porque os GAs funcionam, basta analisarmos o efeito dos processos de seleo, recombinao e mutao sobre schemata. Ou seja, estamos interessados em saber o que acontece, ciclo a ciclo, com os representantes de determinado grupo, aqueles indivduos que possuem o padro H. Utiliza-se nesta anlise duas definies: O(H): ordem ou especificidade de um schema, como o nmero de posies fixas diferentes de ; e (H): comprimento do schema, como a distncia entre a 1a e a ltima posies fixas. 3.1. ANLISE DO EFEITO DA SELEO Seja m(H, t) o nmero de representaes de H em um ciclo t do algoritmo com n indivduos na populao. Assim, podemos calcular o nmero provvel de representantes de H no prximo ciclo, seguinte como: Equao 13

f =

f
j =1

n
f (H ) f

Equao 17

m( H , t + 1) = m( H , t )

A interpretao desta equao reflete o efeito da seleo em GAs: 1) Schemata (padres) com aptido acima da mdia tendem a proliferar nas geraes seguintes. 2) Schemata com aptido abaixo da mdia tendem a desaparecer. Para estimarmos a eficincia do processo de evoluo, suponha um schema H com aptido acima (ou abaixo) da mdia de um fator C estacionrio, a partir de t = 0. Assim temos: Equao 18

m(H , t ) = m(H , t )
portanto, Equao 49

f +C f = m(H , t ) (1 + C) f

m(H, t + 1 ) = n

f
j =1

i H n

m( H , t ) = m( H ,0) (1 + C ) t
Isto significa que o nmero de representantes de H em geraes sucessivas cresce (ou decresce) exponencialmente durante a evoluo. 3.2. ANLISE DO CROSSOVER EFEITO DO

Define-se f(H) como a aptido mdia do schema H, dada por: Equao 14

f(H) =

i H

m(H,t)
Nesta anlise estamos interessados no impacto que o corte de um indivduo venha a destruir um padro, no transmitindo-o aos seus descendentes. Seja pd(H) a probabilidade de destruio de um schema H pelo crossover de um ponto: Equao 20

Assim, podemos rescrever m(H, t+1) atravs da equao abaixo: Equao 15

m(H, t + 1 ) = m(H, t) n

f(H)

f
j =1

pd (H ) =

(H )
L 1

Portanto,

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C. Pacheco, verso 1 em 14/07/1999 Equao 21 Algoritmos genticos so sistemas no lineares com comportamento fortemente ecolgico. GAs combinam mudanas aleatrias com processos probabilsticos. GAs so, portanto, estocsticos: dificilmente repetem um resultado de um experimento para outro. O desempenho de um algoritmo gentico medido pelo grau de evoluo alcanado durante todo o processo evolucionrio (experimento). Devido natureza estocstica dos GAs necessrio se avaliar o resultado mdio de vrios experimentos de um GA, para se ter uma idia de seu desempenho. As principais medidas de desempenho so: 1. 2. Isto significa que schemata curtos tem maior probabilidade de sobrevivncia (se manterem intactos) aps o crossover. 3.3. ANLISE DO EFEITO DA MUTAO Seja pm a probabilidade do operador de mutao ser aplicado a uma determinada posio do cromossoma. Assim a probabilidade de sobrevivncia do cromossoma dada por: Equao 23 Curva da mdia dos melhores cromossomas a cada ciclo em vrios experimentos. Curva on-line da mdia da avaliao de todos os indivduos at um determinado instante t em um experimento. Curva off-line da mdia da avaliao do melhores indivduos at um instante t em um experimento.

ps (H ) = 1

(H )
L 1

a probabilidade de sobrevivncia desse padro. Sendo pc a taxa de aplicao de crossover e considerando-se que o par genitor de um cromossoma pode recuperar parte de um padro destrudo pelo crossover, temos a desigualdade: Equao 22

p s 1 pc

(H )
L 1

3.

p s = (1 p m ) O ( H )
Para taxas de mutao pm << 1, temos Equao 24

A curva mdia dos melhores indivduos em vrios experimentos apresenta o desempenho mdio de um GA e serve para ajuste de parmetros. A curva on-line mede a velocidade com que o GA consegue produzir boas solues para o consumo "on- line" das solues [1]. A curva off- line mede o grau de convergncia do GA na criao de solues mais aptas, geradas off- line em relao ao problema [1]. 5. TCNICAS, PARAMETROS E OPERADORES GENTICOS OUTROS

p s 1 p m O( H )
Isto significa que cromossomas de baixa ordem tem maiores chances de no serem destrudos pela mutao. Combinando o efeito da seleo, crossover e mutao, temos: Equao 25

Tcnicas, parmetros e tipos de operadores genticos afetam significativamente o desempenho de um algoritmo gentico. Em geral, o algoritmo gentico extremamente sensvel a introduo ou combinao de tcnicas empregadas. A escolha de tcnicas, parmetros e tipos de operadores emprica, porm em sintonia com o problema. Podemos classificar as tcnicas empregadas em GAs nas seguintes classes: 1- Tcnica de Reproduo 2- Tcnica de Aptido 3- Tcnica de Interpolao de Parmetros Quanto aos operadores genticos, os principais tipos so: 1- Crossover de Um-Ponto 2- Crossover de Dois-Pontos 3- Crossover Uniforme.

(H) f (H) 1 pc [1 pm O H)] ( ( ) ( mH,t +1 mH,t) L1 f


A interpretao desta equao nos leva ao Teorema Fundamental de GAs: Schemata curtos e de baixa ordem tendem a se proliferar ou desaparecer nas geraes seguintes, de acordo com a aptido mdia. 4. DESEMPENHO GENTICOS DE ALGORITMO

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C. Pacheco, verso 1 em 14/07/1999 5.1. TCNICAS DE REPRODUO: Essas tcnicas determinam o critrio de substituio dos indivduos de uma populao para a prxima gerao. Existem basicamente os seguintes mtodos: 1- Troca de toda populao: A cada ciclo, N novos indivduos so criados substituindo a populao anterior: N/2 pares so escolhidos para o acasalamento, gerando N descendentes. 2- Troca de toda a populao com elitismo: Todos os cromossomas so substitudos, sendo o cromossoma mais apto da populao corrente copiado na populao seguinte. 3- Troca parcial da populao (steady state): Gera M indivduos (M<N), que substituem os piores indivduos da populao corrente (o nmero de indivduos substitudos tambm conhecido como GAP). Tcnica elitista que mantm populao mais esttica, permitindo, portanto, a utilizao de operadores menos conservadores como o crossover uniforme. 4- Troca parcial da populao (steady state) sem duplicados: Semelhante ao anterior, sem permitir a presena de indivduos duplicados que so descartados da populao. Garante, assim, o melhor aproveitamento do paralelismo intrnseco dos GAs (N pontos diferentes do espao de busca sendo avaliados a cada ciclo). Todavia, implica em overhead para a deteco de duplicados e criao de novos indivduos. 5.2. TCNICAS DE INTERPOLAO DE PARMETROS: A interpolao de parmetros de um GA tem por objetivo buscar o valor ideal de um determinado parmetro para cada ciclo, durante toda a evoluo. Durante a evoluo de um GA alguns aspectos esto fortemente relacionados: - a convergncia do algoritmo - a aptido dos cromossomas - as taxas e parmetros Por exemplo, intuitivamente bvio que a taxa de aplicao do crossover seja maior nas primeiras geraes quando a populao se apresenta dispersar no espao de busca. Aps vrias geraes os indivduos tendem a apresentar, na sua maioria, caractersticas muito similares. Um aumento da taxa de mutao nesta fase de evoluo ir dispersar a populao, trazendo novo material gentico para a formao de melhores indivduos. A interpolao de parmetros pode ser linear ou adaptativa. Na interpolao linear uma taxa ou um parmetro qualquer variado entre um valor inicial e final, atravs de ajustes fixos, linearmente, a cada K geraes. A interpolao adaptativa, normalmente empregada para ajuste da taxa de aplicao de operadores, considera o desempenho destes operadores nos ciclos anteriores. Este desempenho medido em funo do sucesso destes operadores na criao de melhores indivduos. Este esquema requer um processo de pontuao a indivduos e seus descendentes, envolvendo razovel overhead computacional. O efeito, no entanto, atingir trajetrias quase timas para um parmetro, durante a evoluo [4]. 5.3. OPERADORES GENTICOS Operadores genticos se classificam em: operadores de recombinao (crossover) operadores de mutao operadores de inverso operadores especficos ao domnio do problema.

Dentre estes, os operadores de crossover, devido a sua importncia fundamental nos GAs, apresentam variaes que merecem destaque. Crossover de Dois Pontos: Executa a recombinao de dois indivduos a partir de dois pontos escolhidos aleatoriamente. Este operador capaz de combinar schemata com posies fixas nas extremidades, como no exemplo abaixo. H1 H2 1 1 * * * * * 0 * * * 1 0 1 * *

Crossover Uniforme: O crossover de dois pontos tambm apresenta limitaes na recombinao de schemata. O crossover uniforme, por sua vez, capaz de recombinar quaisquer posies entre dois genitores. Este operador utiliza um padro (palavra binria) escolhida aleatoriamente para designar os bits selecionados em cada genitor na criao dos descendentes. Por exemplo: G1 G2 Padro D1 D2 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1

ICA: Laboratrio de Inteligncia Computacional Aplicada - www.ica.ele.puc-rio.br Marco Aurlio C. Pacheco, verso 1 em 14/07/1999 O crossover uniforme apresenta um poder de destruio maior que o crossover de um ponto e o de dois pontos que, por sua vez, preservam os cdigos (schemata curtos) compactos. O crossover uniforme pode prejudicar a formao de padres a partir de schemata curtos. Sua utilizao deve ser, portanto, em ambientes altamente elitistas como na reproduo parcial da populao (steady state), que garantem a permanncia dos melhores indivduos.

[1] D. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, AddisonWesley 1989. [2] Marco Aurlio Pacheco, Notas de Aula em Computao Evolucionria, (www.ica.ele.pucrio.br). [3] Z. Michalewicz, Genetic Algorithms+Data Structures=Evolution Programs, Springer-Verlag1994. [4] L. Davis, Handbook of Genetic Algorithms, VNR Comp. Library, 1990. [5] Blickle, T., Theory of Evolutionary Algorithms and Application to System Synthesis, dissertao de doutorado, Swiss Federal Institute of Technology, Zurique, 1996. [6] Ricardo Salem Zebulum, Marco Aurlio C. Pacheco, Marley Maria B. R. Vellasco, Evolutionary Electronics: Automatic Design of Electronic Circuits and Systems by Genetic Algorithms, CRC Press, Boca raton, Florida, ISBN: 0849308658, 2001. [7] Ricardo Salem Zebulum, Marco Aurlio C. Pacheco, Marley Maria B. R. Vellasco, Evolutionary Electronics: Automatic Design of Electronic Circuits and Systems by Genetic Algorithms, CRC Press, Boca raton, Florida, ISBN: 0849308658, 2001. [8] Marco Aurlio C. Pacheco e Marley Vellasco, Sistemas Inteligentes de Apoio Deciso: Anlise Econmica de Projetos de Desenvolvimento de Campos de Petrleo sob Incerteza, Srie Business Intelligence, ISBN: 978-85-7193-172-5 (brochura), ISBN: 978-85-7193-173-2 (cartonada), 300 pgs, Srie Business Intelligence, Ed. Intercincia e Ed. PUC-Rio, Junho 2007.