Você está na página 1de 48

Algoritmos Genticos

Estfane G. M. de Lacerda DCA/UFRN Outubro/2008

Introduo

Algoritmos Genticos

A !or"t#os Gent"cos
So tcnicas de busca e otimizao. a metfora da teoria da evoluo das espcies iniciada pelo Fisiologista e aturalista ingl!s "#arles $ar%in. $esenvolvido por &o#n 'olland ()*+,- e seus alunos. .opularizado por $avid Goldberg ()*/*-.

Algoritmos Genticos

$eor"a da E%o u&'o

)/,* 0 "#arles $ar%in publica o livro 1A Origem das Espcies23


.

As espcies evoluem pelo principio da seleo natural e sobrevivncia do mais apto.


Charles Darwin
Algoritmos Genticos

$eor"a da E%o u&'o

)/4,0 Gregor 5endel apresenta e6perimentos do cruzamento gentico de ervil#as.


Pai da gentica.

. Gregor Mendel

A 7eoria da 8voluo comeou a partir da conceituao integrada da seleo natural com a Gentica.
Algoritmos Genticos

Ot"#"(a&'o

a busca da mel#or soluo para um dado problema.


Consiste em tentar vrios solues e usar a informao obtida ara conseguir solues cada ve! melhores.

86emplo de otimizao3
"eles ectador atravs de a#uste na antena da televiso otimi!a a imagem buscando vrias solues at alcanar uma boa imagem.
Algoritmos Genticos

Ot"#"(a&'o

As tcnicas de otimizao9 geralmente9 apresentam3


Es)a&o de busca3 onde esto todas as poss:veis solu;es do problema< Fun&'o ob*et"%o3 utilizada para avaliar as solu;es produzidas9 associando a cada uma delas uma nota.

Algoritmos Genticos

Caracter+st"cas dos A !or"t#os Gent"cos


um algoritmo estocstico (no determin:stico-. 7rabal#a com uma populao de solu;es simultaneamente. =tiliza apenas informa;es de custo e recompensa. o re>uer nen#uma outra informao au6iliar (como por e6emplo o gradiente-.

Algoritmos Genticos

Caracter+st"cas dos A !or"t#os Gent"cos ,--.


So fceis de serem implementados em computadores. Adaptam0se bem a computadores paralelos. So facilmente #ibridizados com outras tcnicas. Funcionam com par?metros cont:nuos ou discretos.

Algoritmos Genticos

A !or"t#os Gent"cos ,Conce"tos /0s"cos.


AG manipula uma populao de indiv:duos. Individuos so poss:veis solu;es do problema. @s indiv:duos so combinados (crossoveruns com os outros9 produzindo fil#os >ue podem sofrer ou no mutao. As popula;es evoluem atravs de sucessivas gera;es at encontrar a soluo Atima.

Algoritmos Genticos

A) "ca&1es

8m problemas d:ficeis de otimizao9 >uando no e6iste nen#uma outra tcnica especifica para resolver o problema. $timi!ao de funes numricas em geral $timi!ao combinat%ria
Problema do cai&eiro via#ante Problema de trans orte' alocao Problemas de cone&o (rvore' em arelhamento' caminhos).

$timi!ao multiob#etivo
Algoritmos Genticos

@ Algoritmo Gentico Binrio

Algoritmos Genticos

A !or"t#o Gent"co $rad"c"ona


). Gerar a populao inicial. C. Avaliar cada indiv:duo da populao. D. 8n>uanto critrio de parada no for satisfeito faa D.) Selecionar os indiv:duos mais aptos. D.C "riar novos indiv:duos aplicando os operadores crossover e mutao. D.D Armazenar os novos indiv:duos em uma nova populao. D.E Avaliar cada indiv:duo da nova populao.
Algoritmos Genticos

2rob e#a 3
Problema: Use um AG
para encontrar o ponto mximo da funo:

)FFF /FF 4FF EFF CFF F F , )F ), CF C, DF

f ( x) x *
com f(x) sujeita as seguintes restries:

- x +, x inteiro

Algoritmos Genticos

-nd"%+duo

"romossomo
.strutura de dados /ue re resenta uma oss0vel soluo ara o roblema. $s ar1metros do roblema de otimi!ao so re resentados or cadeias de valores. .&em los2
3etores de reais' (*.+45' 4.+454' 5.,' +.4) Cadeias de bits' (,,,-,,-,,) 3etores de inteiros' (,'4'*'5'*'6) ou outra estrutura de dados.
Algoritmos Genticos

-nd"%"duo ,--.

Aptido
7ota associada ao ind0viduo /ue avalia /uo boa a soluo or ele re resentada.

Aptido pode ser3


8gual a funo ob#etivo. 9esultado do escalonamento da funo ob#etivo. :aseado no ranking do ind0viduo da o ulao.
Algoritmos Genticos

Cro#osso#o do 2rob e#a 3

"romossomos binrios com , bits3


- ; ---- +, ; ,,,,,

Aptido
Por sim licidade' a a tido ser a r% ria funo ob#etivo. .&em lo2 a tido(---,,) ; f(+) ; <
Algoritmos Genticos

4e e&'o

Seleo
8mitao da seleo natural. $s melhores indiv0duos (maior a tido) so selecionados ara gerar filhos atravs de crossover e mutao. Dirige o =G ara as melhores regies do es ao de busca.

7ipos mais comuns de seleo


>eleo ro orcional a a tido. >eleo or torneio.
Algoritmos Genticos

2o)u a&'o -n"c"a do 2rob e#a 3


! aleat"ria (mas #uando poss$%el& o con'ecimento da aplicao pode ser utili(ado para definir populao inicial) cromossomos Pop inicial A) G ) ) F F ) AC G F ) ) ) ) AD G F ) ) ) F AE G F ) F ) F

x
C, ), )E )F

f (x 4C, CC, )*4 )FF

Prob de seleo

,E9,H )*94H )+9)H /9+H

Probabilidade de seleo proporcional a aptido

pi

f ( xi )
N k ,

f ( xk )

Algoritmos Genticos

4e e&'o )ro)orc"ona a a)t"d'o ,Ro eta.


Pais selecionados

6'@? =4 54'5? =, ,@',? =+ ,<'A? =*

A* + * * , , * A- ; , * * * * A- + , * * * * A* + * * , , *

Algoritmos Genticos

4e e&'o )or $orne"o

8scol#e0se n (tipicamente C- indiv:duos aleatoriamente da populao e o mel#or selecionado.

Algoritmos Genticos

4e e&'o )or $orne"o


Indiv:duos A) AC AD AE Aptido 4C, CC, )*4 )FF

$s individuos so selecionados ara os torneios com igual robabilidade.

AE AD AC AD

7orneios 6 6 6 6

A) AC AE AD

pais selecionados A) AC AC AD Algoritmos Genticos

Crosso%er e Muta&'o
"ombinam pais selecionados para produo de fil#os. .rincipais mecanismos de busca do AG. .ermite e6plorar reas descon#ecidas do espao de busca.

Algoritmos Genticos

Crosso%er de 3 )onto
/ ponto de corte 0 escol'ido aleat"riamente

/ crosso%er 0 aplicado com uma dada probabilidade denominada taxa de crossover (1,2 a 3,2)

Pais

**,,* 01111 **,11 011,*

.il'os

4e o crosso%er 0 aplicado os pais trocam suas caldas gerando dois fil'os& caso contrrio os dois fil'os sero c"pias exatas dos pais
Algoritmos Genticos

Muta&'o
6utao in%erte os %alores dos bits. A mutao 0 aplicada com dada probabilidade& denominada taxa de mutao (5*2)& em cada um dos bits do cromossomo Antes da , * * , * mutao 7epois , , * , * =/ui' a enas o *o.bit assou no teste de robabilidade

A taxa de mutao no de%e ser nem alta nem baixa& mas o suficiente para assegurar a di%ersidade de cromossomos na populao
Algoritmos Genticos

A )r"#e"ra !era&'o do 2rob e#a 3


Pais A* + * * , , * A- ; , * * * * crossover crossover **,** ,**,* mutao mutao .il'os **,** ,,*,* 8o%a pop *,*** **,,*

A- ; , * * * * A* + * * , , *

,**** **,,*

Algoritmos Genticos

A )r"#e"ra !era&'o do 2rob e#a 3 ,--.

cromossomos

x
C+ C, C, CD

f (x +C* 4C, 4C, ,C*

) C D E

))F)) ))FF) ))FF) )F)))

prob. de seleo C*9)H CE9*H CE9*H C)9)H

Algoritmos Genticos

As de#a"s !era&1es do 2rob e#a 3


x f (x +C* ,+4 ,C* EE)

4egunda Gerao 9erceira Gerao

) C D E

))F)) ))FFF )F))) )F)F)

C+ CE CD C)

x
) C D E ))F)) )F))) F)))) FF))) C+ CD ), +

f (x +C* ,C* CC, E*

Algoritmos Genticos

As de#a"s !era&1es do 2rob e#a 3 ,--.


x f (x *4) +C* ,C* ,C*

:uarta Gerao :uinta Gerao

) C D E

))))) ))F)) )F))) )F)))

D) C+ CD CD

x
) C D E ))))) ))))) ))))) )F))) D) D) D) CD

f (x *4) *4) *4) ,C*

Algoritmos Genticos

Outros Crosso%er5s

"rossover de C0pontos
pai, -,- -,,---,-,-,, pai* --, --,,,- --,,-, filho, -,---,,,-,-,-,, filho* --,-,,-----,,-,
;onsiderado mel'or #ue o crosso%er de * ponto
Algoritmos Genticos

Crosso%er de n62ontos
pai, ,-, --, -,--,--,-,- -, pai* --,--,,,---,,- ,,,-filho, ,-,--,,,--,-,-,,--, fillho* --,-,--,---,,--,,-;rosso%er de <=pontos
Algoritmos Genticos

Crosso%er Un"for#e
Mscara de bits aleat%ria 1 1 0 1 0 1 1 0 1 0 pai , 1 1 1 0 1 1 0 1 1 0
filho , 1 1 1 0 0 1 0 1 1 0 pai* 0 1 1 0 0 0 1 1 0 0

/ filho* possui >,2 de c'ance de le%ar um bit do pai* e >,2 de c'ance de le%ar um bit de pai/ filho- le%a o #ue sobra de pai* e paiAlgoritmos Genticos

2rob e#a 2
=char o m&imo da funo utili!ando um =lgoritmo Gentico2

f ( x ) & seno(,-x ) ,'9estrita ao intervalo2

,'- x *'Algoritmos Genticos

2rob e#a 2 ,--.


+'f(x) ; x sen(,- x) B , M&imo local *','-'C,'C,'C-'5 -'M&imo global

56imo global3 6 G ,'65-55 f(6- G *'65-*@

-'5 x

,'-

,'5

*'-

Algoritmos Genticos

2rob e#a 2 ,---.


Funo multimodal com vrios pontos de m6imo.

um problema de otimizao global (encontrar o m6imo global o pode ser resolvido pela grande maioria dos mtodos de otimizao convencional. ' muitos mtodos de otimizao local9 mas para otimizao global so poucos.
Algoritmos Genticos

O Cro#osso#o 2rob e#a 2

Iepresentar o Jnico par?metro deste problema (a varivel x- na forma de um cromossomo3


Duantos bits dever ter o cromossomoE Duanto mais bits melhor reciso numrica. Fongos cromossomos so dif0ceis de mani ular. Para cada decimal necessrio cerca de +'+ bits .&em lo de cromossomo com ** bits
*,,,*,***,**,*,*,,,***
Algoritmos Genticos

O Cro#osso#o 2rob e#a 2 ,--.

$ecodificao
cromossomo ; ,---,-,,,-,,-,-,---,,, b,-G;G(,---,-,,,-,,-,-,---,,,)* ; **66<A@ 3alor de x recisa estar no intervalo HC,'-I *'-J b,x min (ma& min) l * , * .*66.<A@ x , (* ,) - 'A+@,<@ ** * ,
Algoritmos Genticos

As Gera&1es do 2rob e#a 2


+'-

f(x) ; x seno(,-x) B ,.-

*'5 *','5 ,'-'5 -'C-'5 C,'C,'C-'5

Populao ?nicial

-'-

-'5

,'Algoritmos Genticos

,'5

*'-

x Populao gerada aleat"riamente

As Gera&1es do 2rob e#a 2 ,--.


+'*'5

f(x) ; x sen(,-x) B ,.-

Primeira Gerao

*','5 ,'-'5 -'C-'5 C,'C,'C-'5 -'-'5 ,','5 *'-

Pouca mel'oria

x
Algoritmos Genticos

As Gera&1es do 2rob e#a 2 ,---.


+'*'5

f(x) ; x sen(,-x) B ,.-

Gerao ->

*','5 ,'-'5 -'C-'5 C,'C,'C-'5 -'-'5 ,','5 *'-

A maioria dos indi%$duos encontraram o mximo global


Algoritmos Genticos

As Gera&1es do 2rob e#a 2 ,-7.


+'*'5
Kuno ob#etivo

Mdia Melhor

*','5 ,'-'5 5 ,Gerao

,5

*-

*5

8a gerao *> o AG j encontrou o ponto mximo


Algoritmos Genticos

E "t"s#o

@ crossover ou mutao podem destruir a mel#or indiv:duo. .or >ue perder a mel#or soluo encontradaK 8litismo transfere a cApia do mel#or ind:viduo para a gerao seguinte.

Algoritmos Genticos

E "t"s#o no 2rob e#a 2


+'*'6 Kuno ob#etivo *'A *'4 *'* *'5

=G com elitismo =G sem elitismo

,5 ,Gerao

*-

*5

AG com elitismo 0 mel'or @


Algoritmos Genticos

Cr"tr"os de 2arada
Jmero de gera;es. 8ncontrou a soluo (>uando esta con#ecida-. .erda de diversidade.

"onverg!ncia
nas Lltimas k geraes no houve melhora na a tido
Mdia M&ima
Algoritmos Genticos

$er#"no o!"a

Indiv:duo (simples membro da populao-. "romossomo e Genoma3


"oleo de genes 8strutura de dados >ue codifica a soluo de uma problema.

GenAtipo
a biologia9 representa a composio gentica do organismo. os AGs9 representa a informao contida no cromossomo.
Algoritmos Genticos

$er#"no o!"a

FenAtipo3
$b#eto ou estrutura constru0da a artir das informaes do gen%ti o. M o cromossomo decodificado.
.&em lo2 se o cromossomo codifica as dimenses de um edif0cio' ento o fen%ti o o edif0cio constru0do.

Gene3
Codifica um sim les ar1metro do roblema

Algoritmos Genticos

$er#"no o!"a

Alelos3
Lalores >ue o gene pode assumir.
86.3 um gene representando a cor de um obMeto pode ter alelos como azul9 preto9 verde etc...

8pistasia3
Biologia3 interao entre genes do cromossomo cuMo efeito desativar o outro gene. =m gene episttico >uando sua presena desativa um gene em outra posio no cromossomo. o AG significa no linearidade.
Algoritmos Genticos

E8erc+c"o

5inimize a funo3
f x = x + x 4
=ssumir /ue x HC,-' B,-J Codificar x como vetor binrio Criar uma o ulao inicial com 4 indiv0duos = licar Mutao com ta&a de ,? = licar Crossover com ta&a de A-? Nsar seleo or torneio. Nsar 5 geraes.
Algoritmos Genticos