tópicos especiais em otimização - ufjf.br · exemplo de um indivÍduo . ivo chaves da silva...
TRANSCRIPT
Tópicos Especiais em Otimização
Ivo Chaves da Silva Junior
Juiz de Fora, 12 de Maio de 2016
Algoritmos Genéticos
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
Introdução
2
Algoritmo Genético
John H. Holland (Pesquisador da Universidade de Michigan) Década de 60 - Propôs um processo de otimização, denominado:
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
Motivação
3
Na evolução das espécies, só os indivíduos mais aptos ao meio ambiente sobrevivem e a estes são dadas a oportunidade de se reproduzir e deixar suas características em seus descendentes
TEORIA DA EVOLUÇÃO DAS ESPÉCIES
1859
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
Algoritmos Evolucionários
4
Técnicas de Busca
Baseadas em Cálculo Aleatórias-Guiadas Enumerativas
Algoritmos Evolucionários Resfriamento Simulado
Algoritmos Genéticos
Paralelos Seqüenciais
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
Algoritmos Evolucionários
5
DEFINIÇÃO: Algoritmos que modelam computacionalmente os processos naturais da evolução de modo a construir uma ferramenta para resolução de problemas nas mais diversas áreas do conhecimento.
SIMULAÇÃO DA EVOLUÇÃO DAS ESPÉCIES 4 etapas:
Seleção dos indivíduos
Reprodução entre indivíduos
Nova geração de indivíduos
Nascimento dos indivíduos
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
6
n Algoritmos genéticos (GA) são um ramo dos algoritmos evolucionários n São algoritmos de busca baseados nos mecanismos de seleção
natural e genética.
n Os algoritmos genéticos são técnicas heurísticas de otimização global Heurística significa “encontrar” ou “descobrir”, porém sem garantir a
otimalidade da solução encontrada.
Melhor solução para o problema em análise
Conceitos Básicos Algoritmos Genéticos
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
7
Coisas bizarras da computação evolutiva :
Pais morrerem imediatamente após o nascimento dos filhos
Mutações genéticas frequentes
Indivíduos eternos
Entre outras........
Algoritmos evolucionários são INSPIRADOS na natureza e não uma cópia fiel da mesma
Não há distinção de machos e fêmeas
Conceitos Básicos Algoritmos Genéticos
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
8
" Indivíduo Uma solução
" População Conjunto de Soluções
" Geração Passo do Processo de Solução
" Cromossomos Sequências de Caracteres
" Gene Cada um dos Caracteres
" Genótipo Codificação da Solução
" Fenótipo Decodificação da Solução
TERMINOLOGIA
Conceitos Básicos Algoritmos Genéticos
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
Maximização Métodos clássicos
9
Conceitos Básicos Algoritmos Genéticos
Máximo Global
Máximo Local
Ponto Inicial
Ponto Inicial
§ GAs trabalham com várias soluções ao mesmo tempo, logo, não ficam presos a ótimos locais devido a condição inicial . Situação que ocorre com
métodos de otimização clássica (baseados em derivadas).
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
10
Conceitos Básicos Algoritmos Genéticos
CARACTERÍSTICAS DOS AGs
n São técnicas probabilísticas, e não técnicas determinísticas. n Iniciando um AG com a mesma população inicial e o mesmo conjunto
de parâmetros podemos encontrar soluções diferentes a cada vez que executamos o programa.
n GAs são em geral programas extremamente simples que necessitam somente de: n Informações relativas à adequabilidade do ponto como solução do
problema em questão n Não necessitam de derivadas ou qualquer outra informação
adicional. n Extremamente aplicáveis a problemas do mundo real que em geral
incluem descontinuidades severas.
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
11
Conceitos Básicos Algoritmos Genéticos
n Trabalham com uma grande população de soluções, sendo uma heurística de busca.
n Diferenciam-se dos esquemas enumerativos pelo fato de não procurar em todos os pontos possíveis, mas sim em um subconjunto destes pontos
n Diferenciam-se de esquemas aleatórios por: - Serem uma busca que utiliza informação pertinente ao problema -Não trabalham com caminhadas aleatórias (random walks) pelo espaço de soluções.
CARACTERÍSTICAS DOS AGs
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
12
Conceitos Básicos Algoritmos Genéticos
POR QUE USAR ALGORITMOS GENÉTICOS??
n Otimização Global n Não é afetada por descontinuidades
n Capaz de lidar com funções discretas e contínuas
n Boa técnica para atacar problemas com espaços de busca intratáveis, que não podem ser resolvidos por técnicas tradicionais.
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
13
Algoritmos Genéticos
REPRESENTAÇÃO DE UM INDIVÍDUO - MODELAGEM
n A representação cromossomial é fundamental para o algoritmo genético.
n Ela consiste em uma maneira de traduzir a informação do problema em uma maneira viável de ser tratada pelo computador.
n Quanto mais adequada ao problema, maior a qualidade dos resultados obtidos.
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
14
Algoritmos Genéticos
REPRESENTAÇÃO DE UM INDIVÍDUO - MODELAGEM
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
15
Algoritmos Genéticos
Variável X2
Variável X1
8
35
0 0 1 0 0 0
1 0 0 0 1 1
Codificação (Genótipo)
Decodificação (Fenótipo)
Indivíduo
Cromossomo
Gene
02 Cromossomos 12 Genes
EXEMPLO DE UM INDIVÍDUO
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
16
Como os AGs têm o mesmo comportamento que a evolução das espécies:
COMPETIÇÃO ENTRE OS INDIVÍDUOS É NATURAL
A competição entre os indivíduos é que determina os mais aptos!!!
Algoritmos Genéticos
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
17
COMPETIÇÃO!!!???
QUAL É O CRITÉRIO A SER AVALIADO??
Algoritmos Genéticos
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
18
Algoritmos Genéticos
n A função aptidão é a maneira utilizada pelos AGs para determinar a qualidade de um indivíduo como solução do problema em questão.
n É uma nota dada ao indivíduo na resolução do problema.
n O valor da função de aptidão é usada para a escolha dos indivíduos pelo módulo de seleção de pais, sendo a forma de diferenciar entre as boas e as más soluções para um problema.
n Dada a generalidade dos AGs, a função de avaliação, em muitos casos, é a única ligação verdadeira do algoritmo com o problema real.
AVALIAÇÃO DO INDIVÍDUO – FUNÇÃO OBJETIVO
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
19
Algoritmos Genéticos
AVALIAÇÃO DO INDIVÍDUO – FUNÇÃO APTIDÃO
fapt =1
FOB+Cmin
fapt = FOB" Problema de Maximização:
" Problema de Minimização:
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
20
Algoritmos Genéticos
OBSERVAÇÕES IMPORTANTES SOBRE – FUNÇÃO APTIDÃO
n NENHUM INDIVÍDUO DEVE TER AVALIAÇÃO NULA;
n A FUNÇÃO APTIDÃO DEVE EMBUTIR TODAS AS RESTRIÇÕES E CARACTERÍSTICAS DO PROBLEMA EM ANÁLISE;
n A FUNÇÃO APTIDÃO DEVE SER CAPAZ DE DIFERENCIAR TODAS AS SOLUÇÕES ENTRE SI.
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
21
Algoritmos Genéticos
SELEÇÃO DOS MELHORES INDIVÍDUOS
n O método de seleção de pais deve simular o mecanismo de seleção natural: n Pais mais capazes geram mais filhos; n Pais menos aptos também podem gerar descendentes.
n Temos que privilegiar os indivíduos com função de avaliação alta, sem desprezar completamente aqueles indivíduos com função de avaliação extremamente baixa;
n Até indivíduos com péssima avaliação podem ter características genéticas que sejam favoráveis à criação de um indivíduo ótimo;
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
22
Algoritmos Genéticos
SELEÇÃO DOS MELHORES INDIVÍDUOS
n Método simples e muito adotado: MÉTODO DA ROLETA.
" Exemplo Roleta
Indivíduo
1
2
3
Função Aptidão
100
130
50
Total 280
Pedaço Roleta
35,70%
46,40%
17,90%
100%
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
23
Algoritmos Genéticos
CRUZAMENTO E MUTAÇÃO
n O operador de cruzamento mais simples é chamado de operador de CRUZAMENTO DE UM PONTO.
Pontos de Corte: 1 2 3 4
• Depois de sorteado o ponto de corte, nós separamos os pais em duas partes: uma à esquerda do ponto de corte e outra à direita.
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
24
Algoritmos Genéticos
Pai 1
Pai 2 Selecionamos um
ponto de corte
Pai 1
Pai 2
cruzamento
Filho 1
Filho 2 mutação
Filho 1
Filho 2
Gen alterado pela mutação
CRUZAMENTO E MUTAÇÃO
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
25
Algoritmos Genéticos
n Por simplicidade, população não pode crescer. População de tamanho constante; n Pais são, obrigatoriamente, substituídos conforme os filhos vão nascendo;
n A cada cruzamento estaremos criando dois filhos;
n Estes vão sendo armazenados até que o número de filhos gerado seja igual ao tamanho da população original;
n A probabilidade de ocorrência de mutação deve ser baixa. Se for alta, o AG será
muito parecido com uma técnica chamada “RANDOM WALK”.
CRUZAMENTO E MUTAÇÃO
Ivo Chaves da Silva Junior
TAMANHO DA POPULAÇÃO
GRANDE Aumento do tempo computacional
Pequena Convergência prematura / rápida
Algoritmos Genéticos
ANÁLISE DOS PARÂMETROS GENÉTICOS
26
Ivo Chaves da Silva Junior
PROBABILIDADE DE SELEÇÃO/ REPRODUÇÃO
ALTA
BAIXA
Algoritmos Genéticos
Perda de qualidade genética
Pouca diversidade genética
ANÁLISE DOS PARÂMETROS GENÉTICOS
27
Ivo Chaves da Silva Junior
PROBABILIDADE DE MUTAÇÃO
ALTA
BAIXA
Algoritmos Genéticos
Processo muito aleatório
Estagnação do processo (restrito a ótimos locais)
ANÁLISE DOS PARÂMETROS GENÉTICOS
28
Ivo Chaves da Silva Junior
FIM DO PROCESSO GENÉTICO
Algoritmos Genéticos
NÚMERO MÁXIMO DE GERAÇÕES
TEMPO DE EXECUÇÃO
ANÁLISE DO VALOR MÉDIO DA POPULAÇÃO
ESTAGNAÇÃO DE UMA SOLUÇÃO POR UM DETERMINDO PERÍODO
ANÁLISE DOS PARÂMETROS GENÉTICOS
29
Ivo Chaves da Silva Junior
Intervalos Típicos dos Parâmetros Genéticos
Tamanho População
Probabilidade de Cruzamento
Probabilidade de Mutação
Tp Pc Pm
30
100
90%
60%
1%
0,1%
Tamanho População
Algoritmos Genéticos
CONVERGÊNCIA PELO NÚMERO MÁXIMO DE GERAÇÕES
30
Ivo Chaves da Silva Junior Ivo Chaves da Silva Junior
31
Algoritmos Genéticos Fluxograma
Seleção: escolhemos os indivíduos que participarão do processo reprodutório
Avaliação : Aplicamos a função de
avaliação a cada um dos indivíduos desta geração
Operadores genéticos: Aplicamos os operadores de recombinação e mutação
aos indivíduos escolhidos para “pais”
Satisfizemos o critério de parada ?
Não
Fim
Sim
Módulo de população : definimos a nova população a partir
da geração existente e dos filhos gerados
Filhos gerados sobrevivem e são copiados
sobre seus pais
Toda a antiga geração de pais
Filho 1 : Filho 2 :
Ivo Chaves da Silva Junior
Algoritmos Genéticos
32
Ivo Chaves da Silva Junior
Algoritmos Genéticos
33
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Exemplo Ilustrativo – Mecanismo Genético
Maximização da função 34
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Geração 1 Máximo Global
Indivíduo
35
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Geração 10
Indivíduo de baixa aptidão
36
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Geração 50
98% dos indivíduos no ponto de máximo global. Geração de excelente qualidade
37
Ivo Chaves da Silva Junior
Algoritmos Genéticos
Gráfico de Convergência – Média da População
Nº de Gerações
FOB Melhor solução
Média da População
38
Ivo Chaves da Silva Junior
Algoritmos Genéticos Outros Operadores Genéticos
REPRODUÇÃO/CROSSOVER
39
Ivo Chaves da Silva Junior
Algoritmos Genéticos Outros Operadores Genéticos
Genitor -1 Genitor -2
Descendente -1
Descendente - 2
(sorteio)
40
Ivo Chaves da Silva Junior
Algoritmos Genéticos Outros Operadores Genéticos
O Cruzamento é realizado gene a gene.
41
Ivo Chaves da Silva Junior
Algoritmos Genéticos Outros Operadores Genéticos
0
1
2
42
Ivo Chaves da Silva Junior
Algoritmos Genéticos Outros Operadores Genéticos
POPULAÇÃO
43
Ivo Chaves da Silva Junior
Algoritmos Genéticos Outros Operadores Genéticos
0 10 20 30 40 50 600
2000
4000
6000
8000
10000
12000
Generation
Max
imum
/Ave
rage
Fitn
ess
0 10 20 30 40 50 600
2000
4000
6000
8000
10000
12000
Generation
Max
imum
/Ave
rage
Fitn
ess
Sem Elitismo Com Elitismo
n O melhor indivíduo da geração anterior deve estar presente na próxima geração; 44
Ivo Chaves da Silva Junior
Algoritmos Genéticos Outros Operadores Genéticos
SELEÇÃO
45
Ivo Chaves da Silva Junior
Algoritmos Genéticos Outros Operadores Genéticos
• Selecionamos uma série de “K” indivíduos da população;
• Fazemos com que eles entrem em competição direta pelo direito de ser pai, usando como arma a sua avaliação;
46
Ivo Chaves da Silva Junior
Algoritmos Genéticos Observações
MUTAÇÃO
n Importante para a diversidade genética;
n Heurística exploratória;
n Estratégias de taxas de mutação que variem ao longo do processo;
n Estratégias de mutação dirigidas (situação de estagnação);
47
Ivo Chaves da Silva Junior
Algoritmos Genéticos Observações
REPRODUÇÃO/CROSSOVER
n Importante para evitar a busca aleatória da solução (randow walk);
n Codificação binária à crossover uniforme é o indicado (maior combinação);
n Estratégia: Sorteio da forma como um determinado genitor irá se reproduzir;
48
Ivo Chaves da Silva Junior
Algoritmos Genéticos Observações
PARÂMETROS GENÉTICOS
n Estimar os valores dos parâmetros genéticos (desafio);
n Estratégia Determinística (parâmetros genéticos fixos)
n Estratégia Adapativa (parâmetros genéticos ajustáveis)
49
Ivo Chaves da Silva Junior
Algoritmos Genéticos Aplicação
Aplicações: ALGORITMO GENÉTICO – ITA - AERODESIGN
50
Ivo Chaves da Silva Junior
Algoritmos Genéticos Aplicação
51
Ivo Chaves da Silva Junior
Algoritmos Genéticos Aplicação
52
Ivo Chaves da Silva Junior
Algoritmos Genéticos Aplicação
53
Ivo Chaves da Silva Junior
Algoritmos Genéticos Bibliografia
54