Professional Documents
Culture Documents
Sistemas Inteligentes
Contedo
Introduo
O
Algoritmo Gentico Binrio Noes de Otimizao O Algoritmo Gentico com Parmetros Contnuos Aspectos Prticos e Avanados Aplicaes
Algoritmos Genticos
Introduo
Algoritmos Genticos
Algoritmos Genticos
So tcnicas de busca e otimizao. a metfora da teoria da evoluo das espcies iniciada pelo Fisiologista e Naturalista ingls Charles Darwin. Desenvolvido por John Holland (1975) e seus alunos. Popularizado por David Goldberg (1989).
Algoritmos Genticos
Teoria da Evoluo
Charles Darwin
Algoritmos Genticos
Teoria da Evoluo
. Gregor Mendel
A Teoria da Evoluo comeou a partir da conceituao integrada da seleo natural com a Gentica.
Algoritmos Genticos
Otimizao
Exemplo de otimizao:
Telespectador atravs de ajuste na antena da televiso otimiza a imagem buscando vrias solues at alcanar uma boa imagem.
Algoritmos Genticos
Otimizao
Algoritmos Genticos
Algoritmos Genticos
Algoritmos Genticos
Algoritmos Genticos
Aplicaes
Em problemas dficeis de otimizao, quando no existe nenhuma outra tcnica especifica para resolver o problema. Otimizao de funes numricas em geral Otimizao combinatria
Problema do caixeiro viajante Problema de empacotamento Alocao de recursos (job shop schedulling)
Algoritmos Genticos
Problema 1
1000
800 600
f ( x) x 2
com x sujeito as seguintes restries:
Problema: Use um AG
para encontrar o ponto mximo da funo:
400 200 0 0 5 10 15 20 25 30
0 x 31 x inteiro
Algoritmos Genticos
Indivduo
Cromossomo
Estrutura de dados que representa uma possvel soluo para o problema. Os parmetros do problema de otimizao so representados por cadeias de valores. Exemplos:
Vetores de reais, (2.345, 4.3454, 5.1, 3.4) Cadeias de bits, (111011011) Vetores de inteiros, (1,4,2,5,2,8) ou outra estrutura de dados.
Algoritmos Genticos
Individuo (II)
Aptido
Nota associada ao indviduo que avalia quo boa a soluo por ele representada.
Cromossomo do Problema 1
Aptido
Neste problema, a aptido pode ser a prpria funo objetivo. Exemplo: aptido(00011) = f(3) = 9
Algoritmos Genticos
Seleo
Seleo
Imitao da seleo natural. Os melhores indivduos (maior aptido) so selecionados para gerar filhos atravs de crossover e mutao. Dirige o AG para as melhores regies do espao de busca.
x
25 15 14 10
f (x )
625 225 196 100
Prob. de seleo
pi
f ( xi )
N k 1
f ( xk )
Algoritmos Genticos
A1 = 1 1 0 0 1 A2 = 0 1 1 1 1 A2 = 0 1 1 1 1 A1 = 1 1 0 0 1
Algoritmos Genticos
Algoritmos Genticos
Crossover e Mutao
Combinam pais selecionados para produo de filhos. Principais mecanismos de busca do AG. Permite explorar reas desconhecidas do espao de busca.
Algoritmos Genticos
Crossover de 1 ponto
O Ponto de corte escolhido 1 1 0 0 1 aleatriamente 01111 11011 Filhos 01101
O crossover aplicado com uma dada probabilidade denominada taxa de crossover (60% a 90%)
Pais
Se o crossover aplicado os pais trocam suas caldas gerando dois filhos, caso contrrio os dois filhos sero cpias exatas dos pais.
Algoritmos Genticos
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. Antes da 0 1 1 0 1 mutao Depois 0 0 1 0 1
A taxa de mutao no deve ser nem alta nem baixa, mas o suficiente para assegurar a diversidade de cromossomos na populao.
Algoritmos Genticos
mutao
11011 00101 Nova pop.
01111
11001
10111
11001
Algoritmos Genticos
cromossomos
x
27 25 25 23
f (x )
729 625 625 529
1 2 3 4
11 11 11 10
Algoritmos Genticos
Segunda Gerao
1 2 3 4
27 24 23 21
f (x )
729 529 225 49
Terceira Gerao
1 2 3 4
1 1 0 1 1 27 1 0 1 1 1 23 0 1 1 1 1 15 00111 7
Algoritmos Genticos
Quarta Gerao
1 2 3 4
31 27 23 23
Quinta Gerao
x
1 2 3 4 111 111 111 101 11 11 11 11 31 31 31 23
f (x )
961 961 961 529
Algoritmos Genticos
Outros Crossovers
Crossover de 2-pontos
pai1 010 011000101011 pai2 001 001110 001101 filho1 010001110101011 filho2 001011000001101
Considerado melhor que o crossover de 1 ponto.
Algoritmos Genticos
Crossover de n-Pontos
pai1 101 001 01001001010 01 pai2 00100111000110 11100 filho1 1010011100101011001 fillho2 0010100100011001100
Crossover de 4-pontos
Algoritmos Genticos
Crossover Uniforme
Mscara de bits aleatria 1 1 0 1 0 1 1 0 1 0 pai1 1 1 1 0 1 1 0 1 1 0
filho1 1 1 1 0 0 1 0 1 1 0 pai2 0 1 1 0 0 0 1 1 0 0
O filho1 tem 50% de chance de levar um bit do pai1 e 50% de chance de levar um bit de pai2
O filho2 leva o que sobra de pai1 e pai2
Algoritmos Genticos
Problema 2
Achar o mximo da funo utilizando Algoritmos Genticos,
f ( x ) x seno( 10 x ) 1,0
Restrita ao intervalo:
1,0 x 2,0
Algoritmos Genticos
Problema 2 (II)
3,0 f(x) = x sen(10 x) + 1 Mximo local 2,0 1,0 0,0 -1,0 -1,0 -0,5 0,0 Mximo global
0,5 x
1,0
1,5
2,0
Algoritmos Genticos
Problema 2 (III)
um problema de otimizao global (encontrar o mximo global) No pode ser resolvido pela grande maioria dos mtodos de otimizao convencional. H muitos mtodos de otimizao local, mas para otimizao global so poucos.
Algoritmos Genticos
O Cromossomo Problema 2
Decodificao
cromossomo = 1000101110110101000111 b10 = (1000101110110101000111)2 = 2288967 Valor de x precisa estar no intervalo [-1,0; 2,0]
b10 x min (max min) l 2 1 2.288.967 x 1 (2 1) 0,637197 22 2 1
Algoritmos Genticos
As Geraes do Problema 2
3,0
2,5 2,0 1,5 1,0 0,5 0,0 -0,5 -1,0 -1,0 -0,5
Populao Inicial
0,0
0,5
1,0
Algoritmos Genticos
1,5
2,0
Primeira Gerao
-0,5
0,0
0,5
1,0
1,5
2,0
Pouca melhoria
x
Algoritmos Genticos
Gerao 25
0,0
-0,5 -1,0
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
Mdia Melhor
15
20
25
Elitismo
O crossover ou mutao podem destruir a melhor indivduo. Por que perder a melhor soluo encontrada? Elitismo transfere a cpia do melhor indviduo para a gerao seguinte.
Algoritmos Genticos
Elitismo no Problema 2
3,0
AG com elitismo
AG sem elitismo
2,8
Funo objetivo 2,6 2,4 2,2 2,0 0 5 15 10 Gerao 20 25
Critrios de Parada
Nmero de geraes. Encontrou a soluo (quando esta conhecida). Perda de diversidade.
Convergncia
nas ltimas k geraes no houve melhora da na aptido
Algoritmos Genticos
Terminologia
Indivduo
Simples membro da populao.
Cromossomo e Genoma e :
Coleo de genes Estrutura de dados que codifica a soluo de uma problema.
Gentipo
Na biologia, representa a composio gentica contida no Genoma. Nos AGs, representa a informao contida no cromossomo ou Algoritmos Genticos genoma.
Terminologia
Fentipo:
Objeto ou estrutura construda a partir das informaes do gentipo. o cromossomo decodificado.
Exemplo: Se o cromossomo codifica as dimenses de um edifcio, ento o fentipo o edifcio construdo.
Gene:
Codifica um simples parmetro do problema
Algoritmos Genticos
Terminologia
Alelos:
Valores que o gene pode assumir.
Ex.: Um gene representando a cor de um objeto pode ter alelos como azul, preto, verde etc...
Epistasia:
Interao entre genes do cromossomo cujo efeito desativar o outro gene. Um gene episttico quando sua presena desativa um gene em outra posio no cromossomo. No linearidade.
Algoritmos Genticos
Exerccio
Assumir que x [-10, +10] Codificar X como vetor binrio Criar uma populao inicial com 4 indivduos Aplicar Mutao com taxa de 1% Aplicar Crossover com taxa de 60% Usar seleo por torneio. Usar 5 geraes. Algoritmos Genticos