computação evolutiva 1 anne magály de paulacanuto dimap/ufrn

33
1 Computação Evolutiva Computação Evolutiva Computação Evolutiva Anne Magály de PaulaCanuto DIMAp/UFRN

Upload: internet

Post on 21-Apr-2015

107 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

1Computação EvolutivaComputação Evolutiva

Computação Evolutiva

Anne Magály de PaulaCanutoDIMAp/UFRN

Page 2: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

2

Introdução Principal motivação para o estudo da

computação evolutivaOtimização de processos complexo e que

possuem um grande número de variáveis O que é otimizar?

Page 3: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

3

Introdução Princípio básico: Evolução natural A evolução natural pode ser vista como um

processo de otimização no qual: Indivíduos e populações competem entre si por

recursos Alimento Água Abrigo

Page 4: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

4

Introdução Idéia principal da Computação Evolutiva é o

seguinte: Indivíduos mais bem sucedidos na sobrevivência

e atração de um parceiro terão, relativamente, mais descendentes

Espalham seus genes Indivíduos mal sucedidos geram poucos ou

nenhum descendente Tendem a desaparecer

Page 5: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

5

Computação Evolutiva

Sistemas utilizados para a resolução de problemasUtilizam modelos computacionais baseados

na teoria da evolução natural Pesquisas tiveram início na década de 50 Principal técnica:

Algoritmos genéticos

Page 6: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

6

Algoritmos Genéticos (AGs) Métodos adaptativos que podem ser

utilizados para resolver problemas de busca e otimização

Os AGs são baseados nos processos genéticos de organismos biológicosPopulações de soluções evoluem, ao longo

das gerações De acordo com os princípios de seleção natural

Page 7: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

7

Algoritmos Genéticos Origem:

Desenvolvido por John Holland e sua equipe na década de 50

Popularizado por David Goldberg

Objetivo:Desenvolver sistemas artificiais baseados nos

mecanismos dos sistemas naturais

Page 8: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

8

Algoritmos Genéticos Podem encontrar soluções para

problemas do mundo real, dada as seguintes condições: Problemas devem ser adequadamente

codificados Deve haver uma forma de avaliar as soluções

apresentadas

Page 9: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

9

Algoritmos Genéticos

População atual

Reprodução

Avaliação

Seleção

População inicial População final

Funcionamento:

Page 10: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

10

Algoritmos Genéticos Utilizam uma população de soluções

candidatas (indivíduos) Otimização ocorre em diversas gerações A cada geração, acontece:

Mecanismos de seleção selecionam os indivíduos mais aptos

Operadores de reprodução geram novos indivíduos

Page 11: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

11

Algoritmos Genéticos Cada indivíduo representa uma possível

solução para um dado problema A cada indivíduo é associado um valor de

aptidãoMede o quão boa é a solução que ele representa

Indivíduos mais aptos têm mais oportunidades de serem reproduzidos

Page 12: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

12

Princípios básicos dos AGs

Indivíduo Codificação Função de aptidão Reprodução

Page 13: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

13

Indivíduo Possível solução para um dado problema

Também chamado de cromossomo ou string Codificado como vetor de características População

Conjunto de indivíduos

Page 14: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

14

Codificação Cada indivíduo é codificado por um conjunto de

parâmetros (genes)Genes podem assumir valores:

Binários (0; 1) Inteiros (-2; -1; 0 ; 1; 2; 3...) Reais (-2,33; 0; 3,45; 2,5 x 1024)

Parâmetros são combinados para formar strings ou vetores (cromossomos) Exemplo:

Xi = [ 2 1 8 0 -2 -4 1 ]

Page 15: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

15

Codificação Genótipo

Conjunto de parâmetros representado por um cromossomo

Fenótipo Produto da interação de todos os genes

Page 16: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

16

Função de aptidão Mede o grau de aptidão de um indivíduo

Aptidão = probabilidade do indivíduo sobreviver para a próxima geração

Depende do objetivo da aplicação que se deseja resolverUma mesma tarefa pode ter diferentes objetivosEx. projeto de ponte

Menor Custo Menor tempo de construção Maior capacidade de carga

Page 17: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

17

Função de aptidão

É aplicada ao fenótipo do indivíduoO genótipo precisa ser decodificado,

recuperando o fenótipo associado

Cada aplicação tem sua própria função de aptidão

Page 18: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

18

Reprodução Permite obtenção de novos indivíduos

Utiliza operadores genéticos

Transformam a população Crossover (cruzamento ou recombinação) Mutação

Page 19: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

19

Crossover Recombinação de características dos pais

durante a reproduçãoPermite que as próximas gerações herdem

essas características Funcionamento

Escolhe dois indivíduos e troca trechos dos cromossomos entre eles

Exploração rápida do espaço de busca

Page 20: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

20

Crossover

Diversas variaçõesUm ponto

Mais comum

Dois pontosMulti-pontosUniforme

Page 21: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

21

Crossover 1 ponto

Filhos

10 0 0 0 11 0 10 00 1 1

10 0 0 0 110 1000 1 1

Pais

Pai 1 Pai 2

Filho A Filho B

Ponto de crossover

Page 22: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

22

Crossover de 2 pontos

Filhos

10 0 0 0 11 0 10 00 1 1

10 0 0 00 1010 1 1

Pais

Pai 1 Pai 2

Filho A Filho B

0 1

Page 23: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

23

Crossover uniforme

Filhos

10 0 0 0 11 0 10 00 1 1

10 0 110 0000 1 1

Pais

Pai 1 Pai 2

Filho A Filho B

Mascara: 0 1 0 1 0 0 0

1 0

Page 24: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

24

Mutação

Introdução e manutenção da diversidade genéticaAplicado a cada indivíduo após crossover

Altera aleatoriamente um ou mais genes no cromossomo

Assegura que a probabilidade de atingir qualquer ponto do espaço de busca nunca será zero

Taxa de mutação pequena Pm 0.001

Page 25: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

25

Mutação

10 0 0 0 11

10 1 10 0 1

Antes da mutação

Após a mutação

Page 26: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

26

Seleção Escolhe preferencialmente, embora não

exclusivamente, indivíduos com maiores notas de aptidãoProcura manter a diversidade da população

Indivíduos mais aptos têm mais oportunidades de serem reproduzidos

Page 27: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

27

Seleção pela roleta

Indivíduo Si

S3 11110

S4 01001

S5 00110

S1 10110

S2 11000

Aptidãof(Si)

1.05

3.35

1.69

2.23

7.27

AptidãoRelativa

0.14

0.47

0.07

0.21

0.11

S1

S2S3

S4

S5

Método da Roleta baseado em Aptidão Relativa

Page 28: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

28

Elitismo Indivíduo de maior desempenho é

automaticamente selecionado Evita modificações deste indivíduo pelos

operadores genéticosUtilizado para que os melhores indivíduos não

desapareçam da população pela manipulação dos operadores genéticos

Page 29: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

29

Critério de parada

Tempo de execução Número de gerações Valor de aptidão mínimo e/ou médio Convergência

Nas últimas k iterações não houve melhora nas aptidões

Page 30: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

30

Escolha de parâmetros Escolhidos de acordo com o problema

Quantos cromossomos em uma população Poucos efeito pequeno do crossover Muitos aumenta tempo de computação

Taxa de mutação Baixa mudanças lentas Alta traços desejados não são mantidos (caos)

Page 31: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

31

Escolha de parâmetros Outros parâmetros

Quantos indivíduos selecionados para reprodução?

Quantos pontos de crossover?Critério para medir aptidão?

Manter limites no tamanho da população e complexidade da análiseAlgoritmo pode se tornar ineficiente

Page 32: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

32

Aplicações Otimização de função numérica Otimização combinatória

Determinação de Árvores Filogenéticas

Projetos Projeto de pontes

Aprendizado de Máquina Determinação dos parâmetros de Redes Neurais

Artificiais em problemas de Bioinformática

Page 33: Computação Evolutiva 1 Anne Magály de PaulaCanuto DIMAp/UFRN

33

Aplicações de AGs

O desenvolvimento de um AG inclui os seguintes passos:Especificar o problema, limites e critério ótimoRepresentar o domínio do problema como um

cromossomoDefinir a função de avaliaçãoConstruir os operadores genéticosRodar o AG