Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Algoritmos Genticos
Ivo Chaves da Silva Junior
ivo.junior@ufjf.edu.br
Juiz de Fora, 22 de Maio de 2014
Introduo
John H. Holland
(Pesquisador da Universidade de Michigan)
Dcada de 60 - Props um processo de otimizao,
denominado:
Algoritmo Gentico
2
Motivao
Charles Darwin
1859
Algoritmos Evolucionrios
DEFINIO:
Algoritmos que modelam computacionalmente os processos naturais da
evoluo de modo a construir uma ferramenta para resoluo de
problemas nas mais diversas reas do conhecimento.
SIMULAO DA EVOLUO DAS ESPCIES
Algoritmos Evolucionrios
Pseudo-Cdigo
Inicializa_Populao P(0)
Enquanto no terminar faa
Avalie_Populao
Selecione_Pais
Recombinao
Mutao
Nova Populao
Fim enquanto
5
Algoritmos Evolucionrios
Um algoritmo evolucionrio INSPIRADO na natureza e no
uma cpia fiel da mesma
Coisas bizarras da computao evolutiva :
Pais morrerem imediatamente aps o nascimento dos filhos
Mutaes genticas podem ser frequentes
Indivduos podem ser eternos
Algoritmos Evolucionrios
Tcnicas de Busca
Baseadas em Clculo
Resfriamento Simulado
Algoritmos Evolucionrios
Estratgias Evolucionrias
Paralelos
Enumerativas
Aleatrias-Guiadas
Algoritmos Genticos
Programao Gentica
Seqenciais
Conceitos Bsicos
Algoritmos Genticos
TERMINOLOGIA
Indivduo
Uma soluo
Populao
Conjunto de Solues
Gerao
Cromossomos
Sequncias de Caracteres
Gene
Fentipo
Decodificao da Soluo
Gentipo
Codificao da Soluo
Conceitos Bsicos
Algoritmos Genticos
Conceitos Bsicos
Algoritmos Genticos
Mximo Global
Mximo Local
Maximizao
Mtodos clssicos
Ponto Inicial
Ponto Inicial
Conceitos Bsicos
Algoritmos Genticos
No porque se encontrou um indivduo que instantaneamente o
melhor de um grupo que o processo de busca finaliza a procura de
outros indivduos ainda melhores.
EXEMPLO REAL : AMBIENTE VARIVEL
Bactrias ambiente livre de antibitico
Melhor Bactria
Melhor Bactria
11
Conceitos Bsicos
Algoritmos Genticos
Como os AGs tm o mesmo comportamento que a evoluo das espcies:
12
Conceitos Bsicos
Algoritmos Genticos
COMPETIO!!!???
13
Conceitos Bsicos
Algoritmos Genticos
De dois indivduos no to bons (de acordo com um critrio pr-definido)
podem nascer indivduos com excelentes caractersticas, sendo a situao
contrria verdadeira.
EXEMPLO: BELEZA O CRITRIO !!! COMO SER O NOVO INDIVDUO?
14
Conceitos Bsicos
Algoritmos Genticos
CARACTERSTICAS DOS AGs
15
Conceitos Bsicos
Algoritmos Genticos
CARACTERSTICAS DOS AGs
16
Conceitos Bsicos
Algoritmos Genticos
POR QUE USAR ALGORITMOS GENTICOS??
GA uma tcnica de busca com as seguintes caractersticas positivas:
Otimizao Global
No so totalmente aleatrios
Algoritmos Genticos
REPRESENTAO DE UM INDIVDUO - MODELAGEM
18
Algoritmos Genticos
REPRESENTAO DE UM INDIVDUO - MODELAGEM
19
Algoritmos Genticos
EXEMPLO DE UM INDIVDUO
Varivel X1
8
Codificao
(Gentipo)
Varivel X2
35
Decodificao
(Fentipo)
Cromossomo
Gene
0 0 1 0 0 0
1 0 0 0 1 1
Indivduo
02 Cromossomos
12 Genes
20
Algoritmos Genticos
REPRESENTAO DE UM INDIVDUO - MODELAGEM
A preciso desejada.
real = infi + ri
supi - infi
2 k -1
21
Algoritmos Genticos
000011
Exemplo de
interpretao
de nmeros reais
X1-> [-2 2]
X2-> [0 1]
x1
110011
x2
r1 = 000011 = 3
r2 = 110011 = 51
real = infi + ri
supi - infi
2 k -1
x1 = -2 + 3*(2-(-2))/(26-1) = -1,8
x2 = 0 + 51 *(1-0)/(26-1) = 0,8
22
Algoritmos Genticos
AVALIAO DO INDIVDUO FUNO APTIDO
Algoritmos Genticos
AVALIAO DO INDIVDUO FUNO APTIDO
Problema de Maximizao:
fapt = FOB
Problema de Minimizao:
fapt
1
=
FOB+ Cmin
24
Algoritmos Genticos
OBSERVAES IMPORTANTES SOBRE FUNO APTIDO
25
Algoritmos Genticos
SELEO DOS MELHORES INDIVDUOS
26
Algoritmos Genticos
SELEO DOS MELHORES INDIVDUOS
Rodamos a roleta
27
Algoritmos Genticos
SELEO DOS MELHORES INDIVDUOS
Exemplo Roleta
Indivduo
Funo Aptido
Pedao Roleta
100
35,70%
130
46,40%
50
17,90%
Total
280
100%
28
Algoritmos Genticos
CRUZAMENTO E MUTAO
Algoritmos Genticos
CRUZAMENTO E MUTAO
gen
Pontos de Corte: 1
Algoritmos Genticos
Pai 1
Pai 2
Pai 1
Selecionamos um
ponto de corte
CRUZAMENTO E MUTAO
cruzamento
Filho 1
Filho 2
Pai 2
Filho 1
mutao
Gen alterado
pela mutao
Filho 2
31
Algoritmos Genticos
CRUZAMENTO E MUTAO
Algoritmos Genticos
ANLISE DOS PARMETROS GENTICOS
TAMANHO DA POPULAO
GRANDE
Pequena
Algoritmos Genticos
ANLISE DOS PARMETROS GENTICOS
PROBABILIDADE DE SELEO/
REPRODUO
ALTA
BAIXA
Algoritmos Genticos
ANLISE DOS PARMETROS GENTICOS
PROBABILIDADE DE MUTAO
ALTA
BAIXA
Algoritmos Genticos
ANLISE DOS PARMETROS GENTICOS
Algoritmos Genticos
Intervalos Tpicos dos Parmetros Genticos
Tamanho
Populao
Tp
Pc
Pm
30
90%
1%
100
60%
0,1%
Probabilidade de
Cruzamento
Probabilidade de
Mutao
Algoritmos Genticos
Filho 1 :
Filho 2 :
Seleo: escolhemos os
indivduos que participaro
do processo reprodutrio
Avaliao :
Aplicamos a funo de
avaliao a cada um dos
indivduos desta gerao
No
Mdulo de populao :
definimos a nova populao a partir
da gerao existente e dos filhos
gerados
Satisfizemos o critrio
de parada ?
Filhos gerados
sobrevivem e
so copiados
sobre seus pais
Toda a antiga
gerao de pais
Sim
Fim
38
Algoritmos Genticos
Algoritmos Genticos
Algoritmos Genticos
Exemplo Ilustrativo Mecanismo Gentico
Maximizao da funo
Algoritmos Genticos
Mximo Global
Gerao 1
Indivduo
Algoritmos Genticos
Gerao 10
Algoritmos Genticos
Gerao 50
Algoritmos Genticos
Grfico de Convergncia Mdia da Populao
Melhor soluo
FOB
Mdia da Populao
N de Geraes
Algoritmos Genticos
Outros Operadores Genticos
REPRODUO/CROSSOVER
Algoritmos Genticos
Outros Operadores Genticos
Genitor -1
(sorteio)
Descendente -1
Descendente - 2
Genitor -2
Algoritmos Genticos
Outros Operadores Genticos
Algoritmos Genticos
Outros Operadores Genticos
0
1
2
Algoritmos Genticos
Outros Operadores Genticos
POPULAO
12000
12000
10000
10000
Maximum/Average Fitness
Maximum/Average Fitness
Algoritmos Genticos
Outros Operadores Genticos
8000
Sem Elitismo
6000
4000
2000
8000
Com Elitismo
6000
4000
2000
10
20
30
Generation
40
50
60
10
20
30
Generation
40
50
60
Algoritmos Genticos
Outros Operadores Genticos
Algoritmos Genticos
Outros Operadores Genticos
SELEO
Algoritmos Genticos
Outros Operadores Genticos
Selecionamos uma srie de K indivduos da populao;
Fazemos com que eles entrem em competio direta pelo direito de ser
pai, usando como arma a sua avaliao;
Algoritmos Genticos
Observaes
MUTAO
Heurstica exploratria;
Algoritmos Genticos
Observaes
REPRODUO/CROSSOVER
Algoritmos Genticos
Observaes
PARMETROS GENTICOS
Estratgia Determinstica
Estratgia Adapativa
Algoritmos Genticos
Aplicao
Aplicaes: ALGORITMO GENTICO ITA - AERODESIGN
Algoritmos Genticos
Aplicao
Algoritmos Genticos
Aplicao
Algoritmos Genticos
Aplicao
Algoritmos Genticos
Bibliografia