Controle de parâmetros em algoritmos evolucionários

Slides:



Advertisements
Apresentações semelhantes
Unidade VII Algoritmos Genéticos
Advertisements

Algoritmos Genéticos Teresa B. Ludermir.
Busca Informada Parte 3 – Algoritmos Genéticos
Algoritmos Genéticos Alex F. V. Machado. Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver.
Prof. André Laurindo Maitelli DCA-UFRN
Amintas engenharia.
Amintas engenharia.
Amintas engenharia.
ANÁLISE DISCRIMINANTE
Métodos para representação de estruturas hierárquicas
Mineração de Dados Avaliação de Classificadores
Fundamentos dos Algoritmos Genéticos Alex F. V. Machado.
Fundamentos dos Algoritmos Genéticos Alex F. V. Machado.
Algoritmos Genéticos Alex F. V. Machado. Algoritmos Genéticos Quanto melhor um indivíduo se adaptar ao seu meio ambiente, maior será sua chance de sobreviver.
Meta - heurísticas Prof. Aurora
GRASP Greedy Randomized Adaptative Search Procedure
Adriano Joaquim de O Cruz
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
Implementação de AG no Balanceamento Interativo de Linhas de Montagem
Algoritmos Genéticos Marcone Jamilson Freitas Souza
Computação Evolutiva: Programação Genética
Otimização de Funções Contínuas via Algoritmos Genéticos Adaptado do trabalho realizado por: Frederico Heitor Mônica do Amaral.
Reconhecimento de Padrões Seleção de Características
Otimização de Funções Contínuas via Algoritmos Genéticos
ANÁLISE DOS MÉTODOS DE INTEGRAÇÃO DIRETA
Inteligência Artificial
Rejane Sobrino Pinheiro Tania Guillén de Torres
Algoritmos Genéticos Rômulo Ferreira Douro.
Apresentação Introdução à Programação Genética Título :
Algoritmos Genéticos – Capítulo 11
Algoritmos Genéticos - Capítulo 10 Representação Numérica
Ambiente de simulação Os algoritmos previamente discutidos foram analisados usando um simulador de mobilidade. Ele modela uma cidade de 20 Km de raio,
Métodos Populacionais
Problemas Numéricos com Representação por Números Reais
Meta - heurísticas Prof. Aurora
Otimização Prof. Benedito C. Silva IRN UNIFEI
Informática Teórica Engenharia da Computação
Uma Introdução a Evolução Diferencial
Desempenho de Algoritmos Genéticos
EQUILÍBRIO DE HARDY-WEIMBERG
Métodos Populacionais
Introdução e Busca Cega
Sistemas Inteligentes
Sistema de equações lineares
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Anne Magály de PaulaCanuto DIMAp/UFRN
Algoritmos Evolutivos Algoritmos Genéticos Introdução
Tópicos Avançados em Inteligência Artificial
Resolução de sistemas de equações lineares
PLANEJAMENTO DO EXPERIMENTO
Algoritmos Genéticos Ricardo Prudêncio.
O PROBLEMA DE SCHEDULING EM JOB-SHOP
Inteligência Artificial
Orientador: Dr. Marcos Marcelino Mazzucco
Sistemas Operacionais
Recuperação Inteligente de Informação
Artigo: Berth allocation planning in the public berth system by genetic algorithms Akio Imai, Etsuko Nishimura, Stratos Papadimitriou, Heurística.
Projeto de um Algoritmo Genético Híbrido para Planejamento Operacional de Curto Prazo de Minerações a Céu Aberto Robert Fabricio Subtil.
Algoritmos Genéticos Ricardo Prudêncio.
Inteligência Artificial
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
FEATURE SELECTION. Introdução  Estudo de metodologias relacionadas a seleção de atributos  Maldição da dimensionalidade  O número de atributos do desenvolvedor.
Algoritmos Genéticos ÝIntrodução ÝHistórico ÝAlgoritmo Genético Básico: 3Representação de um indivíduo 3Função de aptidão 3Operadores genéticos 3Critério.
Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira.
Taís Sineiro Herig Laboratório de Genômica e Expressão / UNICAMP
Gerência de Memória. Memória Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes.
Métodos Populacionais. Mantém um conjunto de soluções candidatas e não só uma solução Cada solução será modificada e avaliada Hill-Climbing paralelos.
CMMI Capability Maturity Model Integration
1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco.
Universidade do Sul de Santa Catarina Ciência da Computação Técnicas de Inteligência Artificial Aula 10 Algoritmos Genéticos Max Pereira.
Transcrição da apresentação:

Controle de parâmetros em algoritmos evolucionários Trabalho para a disciplina de Otimização Natural Autor: Adriano Gomes

Roteiro Introdução Exemplos de mudança de parâmetros Classificação das técnicas de controle Outros exemplos de variação de parâmetros de EAs

Introdução Objetivo: escolher os parâmetros ótimos para algoritmos evolucionários (EA) Parâmetros de algoritmo ou parâmetros de estratégia Tamanho da população Probabilidade de mutação Probabilidade de cross over etc

Introdução Duas formas de definir os valores dos parâmetros do algoritmo Afinação de parâmetros (parameter tuning) Abordagem comumente praticada Consiste em definir bons valores de parâmetros antes de executar o algoritmo Rodar o algoritmo com os parâmetros fixos

Introdução Controle de parâmetros (parameter control) Rodar o algoritmo com parâmetros iniciais Parâmetros são modificados no decorrer da execução do algoritmo

Introdução Sabe-se que: Os parâmetros não são independentes e testar todas as combinações é impraticável Para 4 parâmetros que podem assumir 5 valores cada um, existem 54 = 625 combinações Se para cada combinação rodarmos o algoritmo 100 vezes, executaríamos ele 62500 vezes O processo de afinação de parâmetros consome muito tempo (mesmo se desconsiderarmos a relação entre os parâmetros) Os valores selecionados após o processo de afinação não são necessariamente ótimos

Introdução Devido os EA’s serem processos dinâmicos e adaptativos: Conjuntos de valores de parâmetros distintos podem ser ótimos em diferentes estágios do processo evolucionário Conclusão: Usos de parâmetros estáticos podem levar a uma performance inferior do algoritmo Em outras palavras: parâmetros que variam com o decorrer do algoritmo sempre podem ser melhores que parâmetros estáticos

Introdução Solução: Definir os parâmetros como funções do tempo (p => p(t)) Problema: como o processo para definir parâmetros estáticos já é complexo, definir parâmetros dinâmicos é ainda mais Outra abordagem: Utilizar um EA para afinar os parâmetros do EA que tenta resolver um problema particular Duas maneiras Utilizar dois EAs, onde um deles (META-EA) é utilizado para afinar os parâmetros do outro Utilizar apenas um EA, o qual afina os próprios parâmetros e resolve o problema

Exemplos de mudança de parâmetros Problema: otimização numérica para minimizar: f(X) = f(x1, ..., xn) Sujeita a alguma desigualdade e restrições de igualdade: gi(X) ≤ 0 , i=1, ..., q hj(X) = 0, j = q+1, ..., m Domínio das variáveis dados pelos limites superior e inferior li ≤ xi ≤ ui , 1 ≤ i ≤ n Algoritmo evolucionário baseado na representação de ponto flutuante (X representado como um vetor de ponto flutuante)

Exemplos de mudança de parâmetros Mudança do tamanho do passo da mutação Assumindo que a prole é produzida por crossover aritmético e por mutação gaussiana, substituindo componentes do vetor X por: xi’ = xi + N(0, σ) Método mais simples: utilizar σ fixo Mas, pode ser vantajoso variar o tamanho do passo da mutação (variar σ) Primeiro modo de variar o parâmetro σ Mantendo o mesmo σ para todos os vetores X e para todas as variáveis/componentes de X Usando um σ dinâmico de acordo com o número da geração Exemplo: σ(t) = 1 – 0.9 * (t/T) t é o número da geração atual (variando de 0 a T) o passo decresce conforme t aumenta(σ(0)=1 até σ(T)=0.1 )

Exemplos de mudança de parâmetros A mudança do valor de σ é completamente determinístico Métodos de mudança deste tipo são chamados de controle de parâmetros determinísticos Implica em total controle por parte do usuário Segundo modo de variar o parâmetro σ Mantendo o mesmo σ para todos os vetores X e para todas as variáveis/componentes de X Incorporando feedback do processo de busca Este tipo de variação (que incorpora feedback) é chamado de Controle de parâmetro adaptativo Exemplo bem conhecido (Rechenberg’s 1/5 rule): Taxa de sucesso de todas as mutações deve ser 1/5 Se a taxa é maior que 1/5, o tamanho do passo deve ser incrementado Se a taxa é menor que 1/5, o tamanho do passo deve ser decrementado

Exemplos de mudança de parâmetros A regra é executada em intervalos periódicos (depois de k iterações) e pode ser expressa matematicamente por: σ’ = σ/c , se ps>1/5 σ’ = σ * c , se ps<1/5 σ’ = σ , se ps=1/5 0.817 ≤ c ≤ 1 Valores de σ(t) são não determinísticos Terceiro modo de variar o parâmetro σ Atribuir um tamanho individual de passo da mutação para cada solução Para isso, estender a notação de indivíduos para o tamanho n+1 X = (x1, ..., xn, σ) Então, o σ de cada indivíduo também sofrerá evolução Possível solução: σ‘ = σ * e^(τ * N(0,1)) xi‘ = xi + σ‘ * Ni(0,1)

Exemplos de mudança de parâmetros Se desejarmos um tamanho de parâmetro do passo da mutação para cada xi, estendemos X da seguinte forma: X = (x1, ..., xn, σ1, ..., σn) E a solução passa a ser: σ‘ = σ * e^(τ * Ni (0,1)) xi‘ = xi + σi‘ * Ni(0,1) Esse modo de variar o passo através da evolução é chamado de controle de parâmetro Self-adaptive (Self-adaptive parameter control)

Exemplos de mudança de parâmetros Mudança nos coeficientes de penalidade Quando lida-se com funções que possuem restrições Frequentemente usa-se funções de penalidade para penalizar a função objetivo Se queremos minimizar a função, a penalidade é positiva Se queremos maximizar a função, a penalidade é negativa No exemplo inicial, podemos reescrever a função de avaliação como: eval(X) = f(X) + W * penalty(X) Como queremos minimizar a função, penalty(X) será positiva se alguma restrição for violada e zero caso contrário Em muitos métodos, um conjunto de funções fj (1 ≤ j ≤ m) é utilizado para construir a penalidade. No exemplo: fj(X) = max{0, gj(X)} , se 1 ≤ j ≤ q fj(X) = |hj(X)| , se q+1 ≤ j ≤ m W é o peso e é definido pelo usuário

Exemplos de mudança de parâmetros Podemos usar W fixo ou variar utilizando os três métodos descritos na mudança do passo da mutação: Controle de parâmetro determinístico Exemplo: W(t) = (C * t)α , C,α ≥ 1 Controle de parâmetro adaptativo W(t+1) = (1/β1) * W(t) , se bi ϵ ϝ para todo t-k+1 ≤ i ≤ t W(t+1) = (β2) * W(t) , se bi ϵ S-ϝ para todo t-k+1 ≤ i ≤ (t) W(t) , caso contrário S é o conjunto de todos os pontos de busca (soluções) ϝ é o conjunto de todas as soluções possíveis (ϝ S) bi é o melhor indivíduo com base na função eval β1 ,β2>1 e β1β2

Exemplos de mudança de parâmetros Em palavras Se nas últimas k gerações todos os melhores indivíduos são indivíduos possíveis (que não violam restrições), então W(t+1) é diminuído Se nas últimas k gerações todos os melhores indivíduos são indivíduos não possíveis (que violam restrições), então W(t+1) é aumentado Se existem indivíduos possíveis e não possíveis nas últimas k gerações, então W(t+1)=W(t) Controle de parâmetro self-adaptive Exemplo Representação do indivíduo X = (x1, ..., xn, w1, ..., wn) Função de avalição eval(X) = f(X) + 𝑗=1 𝑚 𝑤 𝑗 𝑓 𝑗 (𝑋) Problema: eval(X,W) = fw(X) A função de avaliação fica dependente dos pesos e a evolução pode focar na minimização dos pesos ao invés de otimizar f e satisfazer as restrições

Classificação das técnicas de controle Alguns aspectos que devem ser levados em conta em técnicas de controle de parâmetros O que varia? Componentes de um EA Representação de indivíduos Função de avaliação Operadores de variação e as suas probabilidades Operadores de seleção (seleção de pais) Operadores de substituição (seleção de sobrevivente) População (tamanho, topologia, etc) Não sabemos ao certo o número de parâmetros, pois cada componente pode ser parametrizado e gerar um ou mais parâmetros

Classificação das técnicas de controle Como são feitas as mudanças? Já visto: Tipos de configuração de parâmetros Afinação de parâmetros Controle de parâmetros Categorias do controle de parâmetros Controle de parâmetro determinístico Controle de parâmetro adaptativo Controle de parâmetro self-adaptive

Classificação das técnicas de controle Quais evidências informam as mudanças? Evidência absoluta O valor do parâmetro de estratégia é alterado por alguma regra que é aplicada quando um evento predefinido ocorre Usa o feedback da busca Exemplos Aumento da taxa de mutação quando a diversidade da população cai abaixo de um dado valor Mudança da probabilidade de realização da mutação ou crossover de acordo com um conjunto de regras fuzzy usando uma variedade de estatísticas da população Métodos para regular o tamanho da população baseado nas estimativas de aptidão e variância

Classificação das técnicas de controle Evidência relativa Os valores dos parâmetros são comparados de acordo com a aptidão da prole que eles produzem e os melhores valores são recompensados A direção ou magnitude da mudança do parâmetro não é especificado deterministicamente, mas relativo a performance de outros parâmetros Relação entre evidência absoluta, relativa e controle de parâmetro determinístico, adaptativo e self-adaptative Determinístico Adaptativo Self-adaptative Absoluto Possível Não possível Relativo

Classificação das técnicas de controle Qual é o escopo da mudança? Afeta o gene (parâmetro) Afeta o cromossomo inteiro (indivíduo) Afeta a população inteira Afeta outro componente (ex: seleção) Afeta a função de avaliação

Outros exemplos de variação de parâmetros de EAs Variação da função de avaliação Problema de satisfação de restrições (o objetivo é encontrar um vetor S que satisfaça todas as restrições) 𝑓 𝑆 = 𝑖=1 𝑚 𝑤 𝑖 ∗𝑥(𝑆, 𝑐 𝑖 ) 𝑥 𝑆, 𝑐 𝑖 =1, 𝑆𝑒 𝑆 𝑣𝑖𝑜𝑙𝑎 𝑐 𝑖 𝑥 𝑆, 𝑐 𝑖 =0, 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟á𝑟𝑖𝑜 wi é peso atribuído a cada restrição (expressa a dificuldade de satisfazê-la) ci’s são as restrições

Outros exemplos de variação de parâmetros de EAs Variação da probabilidade de mutação Controle de parâmetro determinístico 𝑝 𝑚 = α β 𝑥 exp⁡( −𝑡 2 ) λ 𝐿 α, β,  são constantes L é o comprimento do cromossomo λ é o tamanho da população t é o tempo (número da geração)

Outros exemplos de variação de parâmetros de EAs Controle de parâmetro self-adaptative Como fazer a mutação? Estender o cromossomo de 20 bits Seguir os passos: Decodificar os 20 bits para pm Fazer a mutação nesses 20 bits com probabilidade pm Decodificar os bits resultantes da mutação para pm’ Fazer a mutação nos bits que codificam a solução com probabilidade pm’ Problema Fica preso em regiões sub-ótimas com baixa taxa de mutação para cada indivíduo da população Solução Eliminar o primeiro passo e realizar a mutação do segundo passo com probabilidade fixa

Outros exemplos de variação de parâmetros de EAs Variação da taxa de Crossover Exemplo É usado mais de um operador de Crossover Cada operador possui uma probabilidade pc(opi) Cada operador têm um valor di que representa a força do operador (recompensa obtida de acordo com a qualidade da cria gerada) di‘s atualizados a cada uso do operador i pc(opi)’s são recalculados a cada k gerações Ideia: redistribuir 15% das probabilidades baseado na força do operados

Outros exemplos de variação de parâmetros de EAs Para isso, os di’s são normalizados para ter soma 15 (dinorm) As probabilidades são recalculadas de acordo com: pc(opi) = 0.85 * pc(opi) + 0.01 * dinorm

Outros exemplos de variação de parâmetros de EAs Variação de parâmetros da seleção Existem mecanismos que variam a pressão de seleção baseado no fator de Boltzmann Exemplo Uso do critério de aceitação de Boltzmann em uma parte da busca local de um algoritmo memético A temperatura é inversamente relacionada com a diversidade de aptidão da população Quanto mais espalhados forem os valores de aptidão, menor é a temperatura Muito espalhado implica em temperatura baixa (menos provável aceitar soluções piores) Pouco espalhado implica em temperatura alta (mais provável aceitar soluções piores Consequência: contribui para elevar a diversidade da população

Outros exemplos de variação de parâmetros de EAs Variação do tamanho da população Exemplo Atribuir um tempo de vida aos indivíduos da população Em cada geração, reduzir o tempo de vida dos indivíduos de um Se o tempo de vida chega a zero, o indivíduo é removido Aos indivíduos recém-nascidos são atribuídos tempos de vida baseados nas suas aptidões O número de crias de um indivíduo é proporcional ao número de gerações que ele sobrevive (propaga genes bons)