Você está na página 1de 23

Algoritmos Genticos

Origem

Desenvolvido por John Holland (1975).


Popularizado por David Goldberg (1989).
Caractersticas Bsicas
So algoritmos estocsticos (no determinstico).

Trabalham com uma populao de solues, simultaneamente.

Utilizam apenas informaes de custo e recompensa (p. ex., o valor


da funo objetivo), no exigindo o conhecimento de informaes
auxiliares (p. ex., gradiente).

Funcionam com parmetros contnuos ou discretos.

So flexveis para trabalhar com restries arbitrrias e otimizar


mltiplas funes com objetivos conflitantes.

So facilmente hibridizados com outras tcnicas.


Aplicaes
Problemas para os quais no existe outra tcnica especifica
para resolv-los, como p.ex.:
Otimizao combinatria
 Problema do caixeiro viajante
 Problema de transporte e designao, com restries.
 Problemas de conexo (caminhos em rvores).

Otimizao multi-objetivo

Problemas com vrios mnimos locais


Exemplo de Funo Multimodal
GEATbx: Example Functions (single and multi-objective functions)

function definition:
f7(x)=sum(-x(i)sin(sqrt(abs(x(i))))), i=1:n; -500<=x(i)<=500.
global minimum:
f(x)=-n418.9829; x(i)=420.9687, i=1:n.
Exemplo de Funo Multimodal
GEATbx: Example Functions (single and multi-objective
functions)

function definition:
f10(x)=-aexp(-bsqrt(1/nsum(x(i)^2)))-exp(1/nsum(cos(cx(i))))+a+exp(1)
a=20; b=0.2; c=2pi; i=1:n; -32.768<=x(i)<=32.768. global minimum:f(x)=0;
x(i)=0, i=1:n.
Exemplo de Funo Multimodal
GEATbx: Example Functions (single and multi-objective functions)

function definition:
f11(x)=-sum(c(i)(exp(-1/pisum((x-A(i))^2))cos(pisum((x-A(i))^2))))
i=1:m, 2<=m<=10; 0<=x(i)<=10.
Busca direcional - maximizao

Se um mtodo de busca direcional iniciar no


ponto A, o mximo local B ser encontrado.
Se iniciar em C o mximo global D ser
encontrado.
D

B
C
A
Conceitos Bsicos
Indivduos so possveis solues do problema.
Os indivduos so combinados (crossover) uns com os outros,
produzindo filhos que podem sofrer mutao.
As populaes evoluem atravs de sucessivas geraes at encontrar a
soluo tima.
Cromossomos representam indivduos da populao: Estrutura de
dados que representa uma possvel soluo para o problema. Podem ser
representados por cadeias de valores. Ex:
Vetores de nmeros reais, (2.345, 4.3454, 5.1, 3.4)
Cadeias de bits, (111011011)
Vetores de nmeros inteiros, (1,4,2,5,2,8)
Conceitos Bsicos

Aptido: Nota associada ao indivduo que avalia quo boa a soluo


por ele representada.
Seleo Imita a seleo natural: Os indivduos de maior aptido so
selecionados para gerar filhos atravs de crossover e mutao, dirigindo o
AG para as melhores regies do espao de busca.
Tipos mais comuns de seleo: Seleo proporcional aptido; Seleo
por torneio.
Conceitos Bsicos
Crossover e Mutao

Combinam pais selecionados para produo de filhos.

So os principais mecanismos de busca do AG.

Permitem explorar reas desconhecidas do espao de busca.


Explorao (Exploration)

Processo de visitar pontos inteiramente novos no


espao de busca.

Necessrio para explorar regies deconhecidas


do espao de busca.
Prospeco (Exploitation)

Processo de explorar localmente o espao de


busca utilizando de informaes de pontos
anteriormente visitados a fim de encontrar
melhores pontos.

utilizado pelos mtodos de buscas direcionais.


Explorao x Prospeco

Uma boa tcnica de otimizao global deve


combinar bem Explorao e Prospeco
para achar o mximo global.

Os AGs combinam Explorao e


Prospeco simultaneamente:
Crossover e mutao: Explorao
Seleo: Prospeco.
Algoritmo Gentico Tradicional

1. Gerar a populao inicial.


2. Avaliar cada indivduo da populao.
3. Enquanto critrio de parada no for satisfeito faa
3.1 Selecionar os indivduos mais aptos.
3.2 Criar novos indivduos aplicando os
operadores crossover e mutao.
3.3 Armazenar os novos indivduos em uma
nova populao.
3.4 Avaliar cada cromossomo da nova
populao.
Exemplos
Problema 1
Use um AG para encontrar o ponto
mximo da funo f (x)= x2, sujeita
s restries:

0 x 31
x inteiro

Cromossomos binrios com 5 bits:


0 = 00000
31 = 11111
Aptido: Por simplicidade, a aptido
ser a prpria funo objetivo.
Exemplo:
aptido(00011) = f(3) = 9
Populao Inicial
Seleo proporcional aptido (Roleta)
Crossover de 1 ponto

O crossover aplicado
com uma dada
probabilidade
denominada taxa de
crossover (60% a 90%)

Se o crossover aplicado os pais trocam suas caldas gerando dois


filhos, caso contrrio os dois filhos sero cpias exatas dos pais.
Mutao

Mutao inverte os valores dos


bits.
A mutao aplicada com dada
probabilidade, denominada taxa
de mutao (~1%), em cada um
dos bits do cromossomo.

A taxa de mutao no deve ser nem alta nem baixa, mas o suficiente
para assegurar a diversidade de cromossomos na populao.
A primeira gerao do Problema
A primeira gerao do Problema
As demais geraes do Problema
As demais geraes do Problema