1. Computação Evolutiva

Documentos relacionados
1. Computação Evolutiva

1. Computação Evolutiva

3. Resolução de problemas por meio de busca

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

1. Computação Evolutiva

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

1. Computação Evolutiva

Algoritmos Evolutivos para Otimização Dinâmica. Alunos: Guilherme Kricheldorf Marcos Vinícius Lenz Balatka William Pereira

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

4. Algoritmos de Busca em Vetores

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Computação Bioinspirada PROF. PAULO SALGADO

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Modelos Evolucionários e Tratamento de Incertezas

Algoritmos Genéticos

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

Introdução aos Algoritmos Genéticos

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Inteligência Artificial

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

3 Algoritmos Genéticos

Algoritmos Genéticos

Introdução a Algoritmos Genéticos

4 Implementação Computacional

Algoritmos Genéticos e Evolucionários

Técnicas de Inteligência Artificial

IN-1131 Computação Evolucionária. Aluizio Fausto Ribeiro Araújo Universidade Federal de Pernambuco Centro de Informática

Técnicas de Inteligência Artificial

3 Otimização Evolucionária de Problemas com Restrição

4. Algoritmos de Busca em Vetores

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

Gerador de grade de horários com Algoritmos Genéticos

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

3 Algoritmos Genéticos

Computação Evolutiva Parte 2

Algoritmos Genéticos

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Algoritmos Genéticos Fundamentos e Aplicações. Prof. Juan Moisés Mauricio Villanueva

DELINEAMENTO INTEIRAMENTE CASUALIZADO. Profª. Sheila Regina Oro

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

Testes de Significância Estatística para Avaliação de Algoritmos

Inteligência Artificial

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 4 Sarita Mazzini Bruschi

Testes de Hipóteses. Ricardo Ehlers Departamento de Matemática Aplicada e Estatística Universidade de São Paulo

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

Buscas Informadas ou Heurísticas - Parte II

2. Redes Neurais Artificiais

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

4 Metáforas de Optimização

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden

Transcrição:

Computação Bioinspirada - 5955010-1 1. Computação Evolutiva Prof. Renato Tinós Programa de Pós-Graduação Em Computação Aplicada Depto. de Computação e Matemática (FFCLRP/USP)

2 Computação Bioinspirada - 5955010-1 1.5. Aspectos de Projeto 1.5.1. Uso de Algoritmos Evolutivos (AEs) 1.5.2. Testes de AEs 1.5.3. Projeto de AEs 1.5.4. Desempenho de Aes 1.5.5. Controle de Parâmetros

3 Computação Bioinspirada - 5955010-1 1.5.1. Uso de Algoritmos Evolutivos (AEs) Experimentos com AEs Qual o objetivo? Desenvolvimento e/ou estudo de AEs? Para problema específico? Aplicação Como avaliar?

4 Computação Bioinspirada - 5955010-1 1.5.1. Uso de Algoritmos Evolutivos (AEs) Exemplo 1.5.1. Otimizar, por parte da empresa, entregas de compras feitas pela Internet Diferente destinos a cada dia Tempo limitado para executar o algoritmo Deve achar uma solução razoável no tempo disponível

5 Computação Bioinspirada - 5955010-1 1.5.1. Uso de Algoritmos Evolutivos (AEs) Exemplo 1.5.2. Otimizar o sistema nacional de tráfego em rodovias Custo total muito alto Custo da computação é negligenciável Disponibilidade grande de Tempo (meses) para executar os algoritmos Recursos (Ex.: máquinas) Deve produzir um resultado (uma única vez) muito bom (de preferência, o melhor possível)

6 Computação Bioinspirada - 5955010-1 1.5.1. Uso de Algoritmos Evolutivos (AEs) Perspectivas Design Ache uma solução muito boa uma única vez Produção Ache uma solução razoável várias vezes As instâncias do problema mudam Academia Desenvolvimento de investigações científicas e novos AEs

7 Computação Bioinspirada - 5955010-1 1.5.2. Testes de Algoritmos Evolutivos No caso de comparações entre algoritmos, pode-se: Usar instâncias de problemas a partir de repositório público ou já utilizados no meio acadêmico Pode-se escolher problemas com diferentes características Será que são problemas semelhantes aos problemas reais? Usar instâncias de problemas aleatórios Usar instâncias de problemas práticos Dificuldade de comparar com os resultados obtidos por outros pesquisadores

8 Computação Bioinspirada - 5955010-1 1.5.2. Testes de Algoritmos Evolutivos Exemplo Ruim: Desenvolver um novo AG Comparar o AG padrão (?) com o novo AG Testar em 10 problemas da literatura Resultado: novo AG é melhor em 7, igual em 1, pior em 2 problemas Conclui-se que. Será que essa é uma boa metodologia? Deve-se responder às seguintes questões Quão relevante são os resultados? Deve-se levar em conta os resultados e as características de cada problema Deve-se comparar com algoritmos que têm características semelhantes ou que têm bom desempenho nos problemas em que se espera que o novo algoritmo seja bom Podem ser generalizados os resultados?

9 Computação Bioinspirada - 5955010-1 1.5.3. Projeto de Algoritmos Evolutivos Escolha de uma representação Escolha uma forma de mapear o genótipo no fenótipo Escolha uma forma de avaliar os indivíduos Escolha operadores de reprodução Exemplo: recombinação e mutação Escolha operadores de seleção Quem serão os pais? Quem será escolhido para compor a próxima população Decida como inicializar a população e os parâmetros e se estes último serão controlados (e como) Decida o critério de parada

10 Computação Bioinspirada - 5955010-1 1.5.3. Projeto de Algoritmos Evolutivos AEs são estocásticos Não se pode tirar conclusões a partir de uma única execução Deve-se executar independentemente o AE várias vezes com diferentes sementes aleatórias Usar medidas estatísticas Médias, medianas, desvios Usar testes estatísticos para gerar as conclusões Experimentos com AEs envolvem comparação Competição deve ser justa Uso da mesma quantidade de recursos Exemplo: mesmo número de avaliações de solução Uso de diferentes parâmetros Uso das mesmas medidas de desempenho

11 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Várias medidas de desempenho são utilizadas Exemplos Resultado médio em um dado tempo Tempo médio para um dado resultado Proporção de execuções que resultaram em sucesso (Ex.: achar o ótimo global) Melhor resultado em n execuções

12 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Unidades de tempo Tempo decorrido? Depende da máquina Tempo de CPU? Depende de características de implementação Gerações? E se o tamanho da população muda durante a execução? Avaliações da função de fitness? Geralmente usada Deve-se tomar cuidado quando representações diferentes são usadas

13 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Medidas de Desempenho off-line Eficiência (velocidade do alg.) Tempo de CPU Números de pontos gerados no espaço de busca Evetividade (qualidade do alg.) Taxa de sucesso Qualidade da solução no final on-line Distribuição da população (genótipo) Distribuição do fitness (fenótipo) Melhorias no fitness do melhor indivíduo por unidade de tempo ou por operação de reprodução

14 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Medidas de Desempenho AES: average no. of evaluations to solution SR: success rate % das execuções que acharam a solução (ótimo global ou igual a uma qualidade pré-definida) MBF: mean best fitness Média dos melhor fitness encontrado em cada execução As vezes, é melhor usar outras medidas Mediana Melhor e pior Quartis

15 Computação Bioinspirada - 5955010-1 Nr. of runs ending with this fitness 1.5.4. Desempenho de Algoritmos Evolutivos Exemplo: 30 25 Qual algoritmo é melhor? Por que? Quando? 20 15 10 5 0-50 51-60 61-70 71-80 Best fitness at termination 81-90 91-100 Alg B Alg A

16 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Populations mean (best) fitness Algorithm A Algorithm B generations Qual algoritmo é melhor? Por que? Quando?

17 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Comparação estatítica e significância Necessária quando diferentes algoritmos (ou com diferentes parâmetros) são comparados

18 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Comparação estatítica e significância Exemplo: Trial Old Method New Method 1 500 657 2 600 543 3 556 654 4 573 565 5 420 654 6 590 712 7 700 456 8 472 564 9 534 675 10 512 643 Average 545.7 612.3

19 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Comparação estatítica e significância Exemplo: Trial Old Method New Method 1 500 657 2 600 543 3 556 654 4 573 565 5 420 654 6 590 712 7 700 456 8 472 564 9 534 675 10 512 643 Average 545.7 612.3 SD 73.5962635 73.5473317 T-test 0.07080798 Desvio-padrão fornece informação adicional Teste t (ou similares) indica a chance de os valores serem provenientes da mesma distribuição (ex.: 7% de chance neste exemplo).

20 Computação Bioinspirada - 5955010-1 1.5.4. Desempenho de Algoritmos Evolutivos Teste t assume: Distribuição normal Deve-se checar através de métodos apropriados Variância similar quando existem muito pouco dados Grupos de dados com a mesmo tamanho Outros teste: Wilcoxon signed-rank test Não paramétrico

21 Computação Bioinspirada - 5955010-1 1.5.5. Controle de Parâmetros Motivação Algoritmos Evolutivos (AEs) têm diversos parâmetros que definem a estratégia de busca Exemplos Operador de mutação e taxa de mutação Operador de recombinação (ou crossover) e respectiva taxa Mecanismo de seleção e pressão seletiva Tamanho da população Ajuste dos parâmetors influencia diretamente o desempenho do processo evolutivo Parâmetros de um AE são geralmente fixos durante uma execução Questão 1: Como encontrar bons valores dos parâmetros de um AE?

22 Computação Bioinspirada - 5955010-1 1.5.5. Controle de Parâmetros Ajuste de Parâmetros Método tradicional Teste e comparação através de execuções do AE com diferentes valores dos parâmetros Deve-se alterar um parâmetro de cada vez Problemas Requer tempo Erros do ajuste provocam desempenho ruim Parâmetros são relacionados Busca exaustiva não é viável Bons valores podem se tornar ruins durante a execução

23 Computação Bioinspirada - 5955010-1 1.5.5. Controle de Parâmetros Motivação AE são sistemas dinâmicos Assim, valores dos parâmetros ótimos podem variar durante uma execução Questão 2: Como variar os valores dos parâmetros?

24 Computação Bioinspirada - 5955010-1 1.5.5. Controle de Parâmetros Controle de Parâmetros Valores dos parâmetros são ajustados online (durante a execução) Métodos Determinista: regras pré-definidas Adaptativo: usando feedback do processo de busca Auto-adaptativo: codificando os parâmetros no cromossomo e permitindo que eles sejam modificados pelo processo evolutivo

25 Computação Bioinspirada - 5955010-1 1.5.5.1. Exemplos Tarefa: min f (x 1,,x n ) L i x i U i, i = 1,,n // limites g i (x) 0, i = 1,,q // rest. de desigualdade h i (x) = 0, i = q+1,,m // rest. de igualdade Estratégia AE com representação real (x 1,,x n ) Recombinação intermediária (média) Mutação Gaussiana: x i = x i + N(0, ) desvio-padrão é chamado de tamanho do passo de mutação

26 Computação Bioinspirada - 5955010-1 1.5.5.1. Exemplos Controle determinista do tamanho do passo de mutação Substitua constante por função (t) determinista Exemplo sendo 0 t T o índice da geração Características t ( t) 1-0,9 T Mudança no parâmetro é independente do processo evolutivo Controle do parâmetro É ditado pelo usuário É previsível Age sob todos os indivíduos da população

27 Computação Bioinspirada - 5955010-1 1.5.5.1. Exemplos Controle adaptativo do tamanho do passo de mutação Substitua constante por função (t) adaptativa Depende da evolução do processo explicitamente Exemplo: Regra do 1/5 de sucesso (ES) Mude (t) a cada k gerações de acordo com: Sendo: t o índice da geração; 0,817 c<1 ; p s a taxa de mutações benéficas durante as últimas k gerações Características ( t 1) / c ( t) ( t 1) c ( t 1) se se 1/5 1/5 caso contrário Mudança no parâmetro é dependente do progresso do processo evolutivo Controle do parâmetro Não é previsível Age sob todos os indivíduos da população p p s s

28 Computação Bioinspirada - 5955010-1 1.5.5.1. Exemplos Controle auto-adaptativo do tamanho do passo de mutação Cada indivíduo é associado a um Pode associar um I a cada dimensão do problema Cromossomo: ( x 1,, x n, ) Cada individual é sujeito a seleção e mutação (e recombinação) Exemplo e x i x i N ( 0, ) N( 0, ) Características Mudança no parâmetro é dependente de processo evolutivo Controle do parâmetro Não é previsível Age separadamente em cada indivíduo da população

29 Computação Bioinspirada - 5955010-1 1.5.5.1. Exemplos Restrições g i (x) 0, i = 1,,q // rest. de desigualdade h i (x) = 0, i = q+1,,m // rest. de igualdade Possível solução Incorporar penalidades na função de avaliação fitness(x) = f(x) + W p(x) sendo W uma cte. positiva (peso) e p(x) m i 1 se restrição i é violada 1 0 se restrição i não é violada

30 Computação Bioinspirada - 5955010-1 1.5.5.1. Exemplos Controle determinista das penalidades Substitua a constante W pela função W(t) W( t) (C t) Sendo 0 t T o índice da geração, C e α valores positivos maiores ou iguais a 1 α Controle adaptativo e auto-adaptativo também podem ser empregados para o controle das penalidades

31 Computação Bioinspirada - 5955010-1 1.5.5.2. Aspectos do Controle de Parâmetros Praticamente qualquer componente de um AE pode ser parametrizado e controlado Exemplos: Representação População Exemplo: tamanho da população Operadores de reprodução Funções de avaliação Operadores de seleção Exemplo.: pressão seletiva

32 Computação Bioinspirada - 5955010-1 1.5.5.2. Aspectos do Controle de Parâmetros Definição de Parâmetros Ajuste de Parâmetros (antes da execução) Controle de Parâmetros (durante a execução) Determinista (dependente do tempo) Adaptativo (feedback) Auto-adaptativo (codificado nos crom.)

33 Computação Bioinspirada - 5955010-1 1.5.5.2. Aspectos do Controle de Parâmetros As mudanças nos parâmetros podem ser baseadas em: Tempo ou número de avaliações (Controle determinista) Estatísticas sobre população (Controle adaptativo) Progresso durante execução Diversidade da População Distribuição dos genes Etc. Relativa ao fitness dos indivíduos criados com determinados parâmetros (Controle adaptativo e controle auto-adaptativo)

34 Computação Bioinspirada - 5955010-1 Comentários Referências Eiben, A. E. & Smith, J. E. Introduction to Evolutionary Computation. Springer, 2003 Capítulo 8 Capítulo 14 Agradecimentos Parte do material desta apresentação foi obtida através de Material de apoio do livro Eiben, A. E. & Smith, J. E. Introduction to Evolutionary Computation. Springer, 2003.