Você está na página 1de 33

Fundamentos dos

Algoritmos Genticos

Por Luis R. M. Lopes


Fundamentos dos
Algoritmos Genticos

Quanto melhor um indivduo se adaptar


ao seu meio ambiente, maior ser sua
chance de sobreviver e gerar
descendentes.

(DARWIN, 1859)
O que so?
Os Algoritmos Genticos so uma
classe de procedimentos, com
passos distintos bem definidos.
Essa classe se fundamenta em
analogias a conceitos biolgicos j
testadas exausto.
Cada passo distinto pode ter
diversas verses diferentes.
Para que servem?
Busca e Otimizao
Amplamente utilizados, com sucesso,
em problemas de difcil manipulao
pelas tcnicas tradicionais
Eficincia X Flexibilidade
Caractersticas Gerais
Utilizam uma codificao do conjunto de
parmetros (indivduos) e no com os
prprios parmetros (estados);
Vasculham vrias regies do espao de
busca de cada vez;
Utilizam informaes diretas de qualidade,
em contraste com as derivadas utilizadas
nos mtodos tradicionais de otimizao;
Utilizam regras de transio probabilsticas
e no regras determinsticas.
Caractersticas Gerais

Algoritmos Genticos podem ser


considerados como mtodos que
trabalham com
Buscas Paralelas Randmicas
Direcionadas
Funcionamento
Fundamental
1. Gerar Populao Inicial
2. Descartar uma parte dos Indivduos
menos aptos
3. Aplicar operadores de reproduo
4. Aplicar operadores de mutao
5. Se o critrio de parada foi satisfeito,
encerrar. Seno, voltar ao passo 2.
Modelagem
Indivduos X Estados
Cada indivduo possui um cdigo
gentico
Esse cdigo chamado cromossomo
Tradicionalmente, um cromossomo
um vetor de bits
Vetor de bits nem sempre o ideal
Exemplo de Modelagem
Problema das N-Rainhas:
A posio de cada rainha dada por uma
subcadeia do cromossomo
Exemplo para N = 4:

= 01 11 00 10

R1 R2 R3 R4
Operadores
Fundamentais

Seleo Natural

Manipulao Gentica por Mutao

Manipulao Gentica por Reproduo


Seleo Natural
Princpio bsico para o direcionamento
da evoluo de uma dada populao
Utiliza uma funo de avaliao para
medir a aptido de cada indivduo
Essa aptido pode ser absoluta ou
relativa
Existem vrios mtodos de seleo
Principais Mtodos de
Seleo Natural

Roleta

Torneio

Amostragem Universal Estocstica


Populao Exemplo
Indivduo Aptido Absoluta Aptido Relativa
1 2 0,052631579
2 4 0,105263158
3 5 0,131578947
4 9 0,236842105
5 18 0,473684211
Total 38 1
Mtodo da Roleta
Coloca-se os indivduos em uma roleta,
dando a cada um uma fatia proporcional
sua aptido relativa
Depois roda-se a agulha da roleta. O
indivduo em cuja fatia a agulha parar
permanece para a prxima gerao
Repete-se o sorteio quantas vezes forem
necessrias para selecionar a quantidade
desejada de indivduos
Roleta - Exemplo
Mtodo do Torneio
Utiliza sucessivas disputas para realizar
a seleo
Para selecionar k indivduos, realiza k
disputas, cada disputa envolvendo n
indivduos escolhidos ao acaso
O indivduo de maior aptido na disputa
selecionado
muito comum utilizar n = 3
Torneio - Exemplo

Indiv 1, Indiv 2, Indiv 4 Indiv 4

Indiv 1, Indiv 2, Indiv 3 Indiv 3

Indiv 2, Indiv 3, Indiv 4 Indiv 4

Indiv 3, Indiv 4, Indiv 5 Indiv 5


Amostragem Universal
Estocstica - SUS
SUS Stochastic Universal Sampling
Semelhante Roleta, mas para
selecionar k indivduos utiliza k agulhas
igualmente espaadas, girando-as em
conjunto uma s vez
Apresenta resultados menos variantes
que a Roleta
SUS - Exemplo
Operador de Mutao
Operador randmico de manipulao
Introduz e mantm a variedade
gentica da populao
Garante a possibilidade de se alcanar
qualquer ponto do espao de busca
Contorna mnimos locais
Operador de Mutao
um operador gentico secundrio
Se seu uso for exagerado, reduz a
evoluo a uma busca totalmente
aleatria
Logo um indivduo sofre mutaes com
probabilidade baixa (normalmente entre
0,001 e 0,1)
Exemplo de Mutao

0 1 1 0 0 0 1

0 1 0 0 0 0 1
Operador de
Cruzamento
Tambm chamado de reproduo ou
crossover
Combina as informaes genticas de
dois indivduos (pais) para gerar novos
indivduos (filhos)
Verses mais comuns criam sempre
dois filhos para cada operao
Operador de
Cruzamento
Operador gentico principal
Responsvel por gerar novos indivduos
diferentes (sejam melhores ou piores) a
partir de indivduos j promissores
Aplicado a cada par de indivduos com
alta probabilidade (normalmente entre
0,6 e 0,99)
Abordagens para
Cruzamento

Cruzamento Um-Ponto

Cruzamento Multi-Pontos

Cruzamento Uniforme
Cruzamento Um-Ponto

0 0 0 0 Pais 1 1 1 1

0 0 1 1 Filhos 1 1 0 0
Cruzamento Multi-Ponto

0 0 0 0 Pais 1 1 1 1

0 1 1 0 Filhos 1 0 0 1
Cruzamento Uniforme
Mscara 0 1 0 1

0 0 0 0 Pais 1 1 1 1

0 1 0 1 Filhos 1 0 1 0
Parmetros Genticos
Tamanho da populao
Taxa de cruzamento
Taxa de mutao
Intervalo de gerao
Critrio de parada
Aplicaes
Alocao de tarefas
Configurao de sistemas complexos
Seleo de Rotas
Problemas de Otimizao e de
Aprendizagem de Mquina
Problemas cuja soluo seja um estado
final e no um caminho
Aplicaes
So especialmente interessantes em
problemas difceis de otimizar de forma
convencional
Tcnicas tradicionais so mais difceis
de empregar
Se uma tcnica tradicional puder ser
empregada, normalmente acha melhor
soluo mais rpido
Aplicaes
Existem muitos problemas prticos aos
quais tcnicas determinsticas
tradicionais no podem ser aplicadas
Tcnicas tradicionais tm natureza
serial
Algoritmos Genticos tm natureza
paralela
Perspectivas Futuras
Computao Sistemas evolutivos
baseada em DNA hbridos
Cooperao e Metodologia para a
competio entre configurao de
populaes parmetros
Vida vegetal Prova formal da
Desenvolvimento de eficincia global dos
modelos tericos AGs

Você também pode gostar