Algoritmos Genéticos Capítulo 7

Slides:



Advertisements
Apresentações semelhantes
2008 LCG/UFRJ. All rights reserved. 1 Standard Template Library STL Claudio Esperança Paulo Roma Cavalcanti.
Advertisements

Técnicas e Projeto de Sistemas André Mesquita Rincon Processo de Software Técnico Subsequente – Módulo III.
SISTEMA BINÁRIO Hardware de Computadores. SISTEMA BINÁRIO Hardware de Computadores.
Técnicas e Projeto de Sistemas
Modelo planetário: errado Elétrons são descritos por meio de funções de onda Mecânica Quântica : probabilidades.
PGF5001 – Mecânica Quântica 1 Prof. Emerson Passos.
FORTRAN 90 Denise Yumi Takamura.
INTRODUÇÃO À COMPUTAÇÃO PARALELA
Custos XP x Custos Tradicionais André Chinvelski.
Críticas sobre Extreme Programming Francisco Hillesheim.
►► outras formas dessa equação:
VI: EQUILÍBRIO RADIATIVO
Prof. Dr. Helder Anibal Hermini
Desempenho de Tratores aula 3
Algoritmos com laços (ou seja, com conjuntos de instruções que devem ser executados repetidas vezes)
Criptografia Quântica : Um Estudo
Amor pela vida: herança ou aprendizado? Por Adriana Couto Pereira-Rocha.
Algoritmos Genéticos - Capítulo 151 Algoritmos Genéticos Capítulo 15 Prof. Ricardo Linden.
Algoritmos Genéticos Capítulo 5 Ricardo Linden. Algoritmos Genéticos - Capítulo 52 Teoria dos GAs Algoritmos genéticos são um pesadelo em termos de análise;
Algoritmos Genéticos - Capítulo 10 Desvantagens da Representação Binária Prof. Ricardo Linden.
Algoritmos Genéticos – Capítulo 12
Publicidade e Propaganda – Conceitos e Categoria
Processamento de Imagens
Técnicas de Processamento Imagens
Profa. Graziela Santos de Araújo Algoritmos e Programação II, 2010
Geração de Código Otimizações independentes de máquina.
Diretoria de Ensino – Região de Mogi Mirim. Questões de múltipla escolha: elaboradas por professores e analisadas por especialistas; pré-testadas; realiza.
Fazendo Slides no Power Point
Arquitetura da informação Por Luiz Siqueira. O nome é imponente e a técnica está na moda. Contudo, o importante é o seguinte: a Arquitetura de Informação.
Prof: Encoder Angular Prof:
Técnicas de Amostragem
Reconexão por Caminhos Marcone Jamilson Freitas Souza Departamento de Computação Universidade Federal de Ouro Preto
Capitulo 3 Técnicas de Diagnóstico CT-282 Tutores Inteligentes Diego Ajukas.
Adriana da Silva Jacinto CT-282 Prof. Dr.Parente Técnicas de diagnóstico 1º semestre 2005.
CES-11 LAB 03 Bitmap Quadtree
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
01/08/20061 CT-282 Tutores Inteligentes ITA - INSTITUTO TECNOLÓGICO DE AERONÁUTICA.
Capítulo IX – Ponteiros 9.1 – Introdução 9.2 – Relação entre ponteiros e variáveis indexadas 9.3 – Alocação dinâmica de memória 9.4 – Variáveis indexadas,
Para aquelas pessoas que fazem sorrir meu coração...
CE-262 Ontologia e Web Semântica Prof. José M Parente de Oliveira Sala 120 – Prédio da Computação Lógica de Descrições.
Capítulo V Análise Sintática
A Árvore dos meus COLEGAS e por que não, AMIGOS..
TA 733 A – Operações Unitárias II
Probabilidade e Esperança Condicional
GESTÃO DE CONFLITOS CONFLITOS
FERRAMENTAS DE CRIATIVIDADE
Missão Visão Valores.
FUNDAÇÃO CARLOS CHAGAS
A Molécula isolada + excipientes B Molécula modificada a partir da molécula natural Como a molécula é isolada, apenas é patenteável na forma de uma composição.
Business Process Management e Workflow - jBPM Aluno: Filipe Ferraz Salgado Orientador: Francisco Reverbel Novembro 2006.
Teorema do Confronto Se não pudermos obter o limite diretamente, talvez possamos obtê-lo indiretamente com o teorema do confronto. O teorema se refere.
Interpolação Introdução Conceito de Interpolação
8.EQUAÇÕES DIFERENCIAIS ORDINÁRIAS Parte 5
Resolução de Sistemas Não-Lineares- Parte 1
Sistemas Lineares Parte 2
Arquitetura de ComputadoresProf a Luiza Mourelle Apesar da evolução tecnológica, as CPUs continuam mais rápidas que a memória. O problema não é tecnológico,
Desempenho A rápida taxa de melhoria na tecnologia de computadores veio em decorrência de dois fatores: avanços na tecnologia utilizada na construção.
7. INTEGRAÇÃO NUMÉRICA Parte 1
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Introdução à Probabilidade
FREQUÊNCIA CARDÍACA EXERCÍCIO FÍSICO
Frações Professor: Graciano Pianezzer Beletti.
Otimização Aplicada ao Dimensionamento e Operação de Reservatórios
LINGUAGENS DE PROGRAMAÇÃO
Baseado no documento do Prof. Ronaldo Martins da Costa
Sistemas de Informação Prof. Me. Everton C. Tetila Modelo de dados relacional Banco de Dados I.
Prof. André Laurindo Maitelli DCA-UFRN
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
8. Uma Função de duas Variáveis Aleatórias
Transcrição da apresentação:

Algoritmos Genéticos Capítulo 7 Prof. Ricardo Linden Algoritmos Genéticos - Capítulo 7

Outros Módulos de População Até agora, nosso módulo de população teve um comportamento extremamente simples Todos os indivíduos da atual geração eram eliminados; Depois, substituíamos um igual número de filhos. Entretanto, este não é o único comportamento possível: Existem várias alternativas; Estas permitem que exploremos melhor as qualidades da geração atual Assim, podemos aproveitá-las para a melhoria da próxima geração. Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Tamanho da População O desempenho do algoritmo genético é extremamente sensível ao tamanho da população; Caso este número seja pequeno demais, não haverá espaço para termos variedade genética: Pode ser que nosso algoritmo seja incapaz de achar boas soluções; Caso este número seja grande demais, o algoritmo demorará demais: Poderemos estar nos aproximando de uma busca exaustiva. Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Tamanho da População A maioria dos trabalhos publicados tem uma fixação quase fetichista no número 100; Não existe número mágico! Aplique um pouco de raciocínio sobre o problema que se está tentando resolver... Algoritmos Genéticos - Capítulo 7

Tamanho da População A capacidade de armazenamento de estados de um GA é exponencialmente proporcional ao número de indivíduos presentes; Há um limite superior para o tamanho da população onde ainda verifica-se melhora na performance conforme aumenta-se o tamanho da população; Quanto maior a população, mais tempo o GA demorará para processar cada geração e mais demoraremos para conseguir uma resposta Não devemos aumentar o tamanho da população indiscriminadamente Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Tamanho da População O número de indivíduos avaliados em uma execução do GA é igual ao número de indivíduos na população vezes o número de rodadas que o algoritmo irá executar; Veja se este número total é um percentual alto do espaço de busca: Se a percentagem de soluções avaliadas for muito alta, pode-se considerar alguma heurística informada como técnica alternativa de resolução do problema. A dificuldade da função de avaliação deve ser um fator que afete a escolha destes dois parâmetros: Se a função de avaliação for multi-modal e enganadora, o número de avaliações deve crescer; Podemos aumentar o tamanho da população ou o número de gerações – ou até mesmo os dois!!! Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Tamanho da População Tentativa inicial razoável para o número de indivíduos dentro da sua população: 40*número de características em seu cromossomo É só uma idéia inicial, extremamente imprecisa… Talvez seja melhor usar uma estratégia adaptativa para o tamanho da população! Vamos discutir populações de tamanho variável… Algoritmos Genéticos - Capítulo 7

Populações de Tamanho Variável Estratégia 1: definição de uma expectativa de vida para cada indivíduo: Esta expectativa é proporcional à qualidade do indivíduo; O tamanho da população possa crescer caso a avaliação de todos os indivíduos for muito boa; Neste caso, estes sobreviverão por muitas gerações, além de gerar filhos que também irão compor a população. Algoritmos Genéticos - Capítulo 7

Populações de Tamanho Variável O número de filhos gerados a cada geração é dado por: Como a cada instante podemos gerar mais filhos do que o número de “mortos” da geração anterior, a população pode aumentar Ela pode diminuir se o oposto ocorrer! Não tem uma pressão seletiva forte sobre os indivídos: Eles “morrem” quando atingem a “velhice” Algoritmos Genéticos - Capítulo 7

População de Tamanho Variável Estratéga 2: aumentar o tamanho da população se: está havendo convergência genética ainda não chegamos perto da performance desejada. Problema: determinar quando a convergência genética aconteceu. Não é uma tarefa simples! Algoritmos Genéticos - Capítulo 7

População de Tamanho Variável O cálculo da variabilidade deve ser feito com base no genótipo dos indivíduos, e não com base na função de avaliação Indivíduos muito diferentes podem ter funções de avaliação muito parecidas Exemplo: Algoritmos Genéticos - Capítulo 7

População de Tamanho Variável Estratégia 3: PRoFIGA Population Resizing on Fitness Improvement GA Idéia: aumentar o tamanho da população por um fator + caso a melhor avaliação tenha melhorado na última geração ou caso esta não tenha melhorado nas últimas k gerações. Caso nenhuma destas duas condições seja satisfeita, então a população é diminuída por um fator - Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Elitismo Pequena alteração no módulo de população que quase não altera o tempo de processamento; Garante que o desempenho do GA sempre cresce com o decorrer das gerações; Idéia básica: Os n melhores indivíduos de cada geração não devem "morrer“; Estes devem passar para a próxima geração para garantir que seus genomas sejam preservados. Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Elitismo Manutenção do melhor indivíduo da geração t na população da geração t+1 garante que o melhor indivíduo da geração t+1 é pelo menos igual que o melhor indivíduo da geração k; Curva típica de desempenho: Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Elitismo Este pequeno ato, apesar de sua simplicidade, normalmente colabora de forma dramática para a melhoria do desempenho de uma execução de um GA; Motivo: mantemos dentro da população os esquemas responsáveis pelas boas avaliações das melhores soluções; aumenta o componente de memória de nosso algoritmo genético. Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Steady State Até agora toda uma geração nasce ao mesmo tempo enquanto que a população anterior morre também toda de uma vez e é substituída por esta novos indivíduos; No "mundo real", os indivíduos nascem aos poucos, os mais velhos morrem de forma lenta e há interação entre as gerações; Indivíduos da geração t+1 podem procriar com indivíduos da geração t (sexismo e preconceitos de idade à parte) Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Steady State Steady state busca reproduzir este tipo de característica natural das populações biológicas; Ao invés de criarmos uma população completa de uma só vez, vamos criando os "filhos" um a um (ou dois a dois, por ser mais conveniente para o operador de crossover); Substituimos os piores "pais" por estes novos indivíduos. Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Steady State Algumas implementações de GA substituem os pais aleatoriamente em vez de substituir necessariamente os piores pais; Aumenta as chances de preservar piores; Manter somente os melhores faz com que tenhamos uma tendência maior à convergência genética; Alternativa: usar uma roleta viciada invertida para selecionar os pais moribundos. Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Steady State Conceito de geração dentro do nosso GA fica muito difuso, quase inexistente: Pode haver reprodução entre indivíduos recém criados e outros da geração anterior; Pode haver até mesmo “incesto”, se não mantivermos o registro de quem são os pais de um indivíduo. Há maior dominação dos melhores esquemas: normalmente faz com que a população convirja mais rapidamente especialmente se eliminarmos sempre os piores elementos a cada operação realizada Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Steady State Questões interessantes: Devemos garantir uma sobrevida mínima para cada indivíduo recém-criado? Devemos evitar “incesto”? Alternativa: verificar semelhança entre pais selecionados. Algoritmos Genéticos - Capítulo 7

Steady State sem Duplicatas Usada para evitar que a convergência seja rápida demais; Diferença: se o indivíduo gerado for idêntico a algum já presente na população ele é descartado; Para cada operação de crossover ou de mutação realizada precisamos verificar se os filhos resultantes já estão presentes na população; Tende a conseguir melhores resultados, às custas de um overhead grande . Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Estratégia (+) Idéia: população da próxima geração é selecionada a partir dos melhores indivíduos existentes, tanto na população corrente quanto naqueles filhos gerados pela aplicação dos operadores genéticos. Conhecido como sendo do tipo (+): existem  membros na população original; existem  filhos; geralmente, <. Todos competem entre si! Algoritmos Genéticos - Capítulo 7

Algoritmos Genéticos - Capítulo 7 Estratégia (+) Competição usualmente é feita através da escolha dos indivíduos melhores avaliados, mas isto não é obrigatório; Pode-se tentar usar alguma métrica adicional em que a diversidade da população seja mantida; Assim, procuramos manter na população indivíduos que podem ajudar a explorar o espaço de busca de forma mais eficiente; É uma versão “avançada” do elitismo. Corre-se o risco de haver uma convergência genética mais rápida. Algoritmos Genéticos - Capítulo 7