A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Computação Evolutiva 1 Eduardo do Valle Simões Renato Tinós ICMC - USP."— Transcrição da apresentação:

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

2 Computação Evolutiva 2 Principais Tópicos l Introdução l Evolução Natural l Computação Evolutiva l Algoritmos Genéticos l Aplicações l Conclusão

3 Computação Evolutiva 3 Introdução Como otimizar soluções para um processo complexo com um grande número de variáveis?

4 Computação Evolutiva 4 Evolução natural l A evolução natural pode ser vista como um processo de otimização no qual: n Indivíduos e populações competem entre si por recursos Alimento Água Abrigo

5 Computação Evolutiva 5 Evolução natural l (continuação) n Indivíduos mais bem sucedidos na sobrevivência e atração de um parceiro terão, relativamente, mais descendentes (espalham seus genes) n Indivíduos mal sucedidos geram poucos ou nenhum descendente

6 Computação Evolutiva 6 l Introdução n Sistemas para a resolução de problemas que utilizam modelos computacionais baseados na teoria da evolução natural n Pesquisas tiveram início na década de 50

7 Computação Evolutiva 7 Algoritmos Genéticos (AGs) l Métodos adaptativos que podem ser utilizados para resolver problemas de busca e otimização n São baseados nos processos genéticos de organismos biológicos Populações de soluções evoluem, ao longo das gerações, de acordo com os princípios de seleção natural

8 Computação Evolutiva 8 Algoritmos Genéticos l Desenvolvido por John Holland e sua equipe (popularizado por David Goldberg) l Objetivo: n Desenvolver sistemas artificiais baseados nos mecanismos dos sistemas naturais

9 Computação Evolutiva 9 Algoritmos Genéticos l Podem evoluir soluções para problemas do mundo real n Problemas devem ser adequadamente codificados n Deve haver uma forma de avaliar as soluções apresentadas

10 Computação Evolutiva 10 Algoritmos Genéticos População atual Reprodução Avaliação Seleção População inicialPopulação final

11 Computação Evolutiva 11 Algoritmos Genéticos l Utilizam uma população de soluções candidatas (indivíduos) l Otimização ocorre em várias gerações n A cada geração Mecanismos de seleção selecionam os indivíduos mais aptos Operadores de reprodução geram novos indivíduos

12 Computação Evolutiva 12 Algoritmos Genéticos l Cada indivíduo representa uma possível solução para um dado problema l A cada indivíduo é associado um escore de aptidão, que mede o quão boa é a solução que ele representa l Indivíduos mais aptos têm mais oportunidades de serem reproduzidos

13 Computação Evolutiva 13 Princípios básicos l Indivíduo l Codificação l Função de aptidão l Reprodução

14 Computação Evolutiva 14 Indivíduo l Possível solução para um dado problema n Também chamado de cromossomo ou string l Codificado como vetor de características l População n Conjunto de indivíduos

15 Computação Evolutiva 15 Codificação l Cada indivíduo é codificado por um conjunto de parâmetros (genes) n Genes podem assumir valores: Binários (0; 1) Inteiros (-2; -1; 0 ; 1; 2; 3...) Reais (-2,33; 0; 3,45; 2,5 x ) l Parâmetros são combinados para formar strings ou vetores (cromossomos) n Exemplo: X i = [ ]

16 Computação Evolutiva 16 Codificação l Genótipo n Conjunto de parâmetros representado por um cromossomo l Fenótipo n Produto da interação de todos os genes

17 Computação Evolutiva 17 Função de aptidão l Mede o grau de aptidão de um indivíduo n Aptidão = probabilidade do indivíduo sobreviver para a próxima geração n Ex. projeto de ponte Menor Custo Menor tempo de construção Maior capacidade de carga

18 Computação Evolutiva 18 Função de aptidão l É aplicada ao fenótipo do indivíduo n O genótipo precisa ser decodificado, recuperando o fenótipo associado l Cada aplicação tem sua própria função de aptidão

19 Computação Evolutiva 19 Reprodução l Permite obtenção de novos indivíduos l Utiliza operadores genéticos n Transformam a população Crossover (cruzamento ou recombinação) Mutação

20 Computação Evolutiva 20 Crossover l Recombinação de características dos pais durante a reprodução n Permite que as próximas gerações herdem essas características l Funcionamento n Escolhe dois indivíduos e troca trechos dos cromossomos entre eles l Exploração rápida do espaço de busca

21 Computação Evolutiva 21 Crossover l Diversas variações n Um ponto Mais comum n Dois pontos n Multi-pontos n Uniforme

22 Computação Evolutiva 22 Crossover 1 ponto Filhos Pais Pai 1Pai 2 Filho AFilho B Ponto de crossover

23 Computação Evolutiva 23 Crossover de 2 pontos Filhos Pais Pai 1Pai 2 Filho AFilho B 01

24 Computação Evolutiva 24 Crossover uniforme Filhos Pais Pai 1Pai 2 Filho AFilho B Mascara:

25 Computação Evolutiva 25 Mutação l Introdução e manutenção da diversidade genética n Aplicado a cada indivíduo após crossover l Altera aleatoriamente um ou mais genes no cromossomo l Assegura que a probabilidade de atingir qualquer ponto do espaço de busca nunca será zero Taxa de mutação pequena P m 0.001

26 Computação Evolutiva 26 Mutação Antes da mutação Após a mutação

27 Computação Evolutiva 27 Seleção l Escolhe preferencialmente, embora não exclusivamente, indivíduos com maiores notas de aptidão n Procura manter a diversidade da população l Indivíduos mais aptos têm mais oportunidades de serem reproduzidos

28 Computação Evolutiva 28 Seleção pela roleta Indivíduo S i S S S S S Aptidão f(S i ) Aptidão Relativa S1S1 S2S2 S3S3 S4S4 S5S5 Método da Roleta baseado em Aptidão Relativa

29 Computação Evolutiva 29 Elitismo l Indivíduo de maior desempenho é automaticamente selecionado l Evita modificações deste indivíduo pelos operadores genéticos n Utilizado para que os melhores indivíduos não desapareçam da população pela manipulação dos operadores genéticos

30 Computação Evolutiva 30 Espaço de Busca Better solution

31 Computação Evolutiva 31 Observações l Se o AG estiver corretamente implementado, a população deve evolui em gerações sucessivas l Aptidão do melhor indivíduo e da média da população devem aumentar em direção a um ótimo global l Importância da codificação na convergência

32 Computação Evolutiva 32 Critério de parada l Tempo de execução l Número de gerações l Valor de aptidão mínimo e/ou médio l Convergência n Nas últimas k iterações não houve melhora nas aptidões

33 Computação Evolutiva 33 Escolha de parâmetros l Escolhidos de acordo com o problema n Quantos cromossomos em uma população Poucos efeito pequeno do crossover Muitos aumenta tempo de computação n Taxa de mutação Baixa mudanças lentas Alta traços desejados não são mantidos (caos)

34 Computação Evolutiva 34 Escolha de parâmetros l Outros parâmetros n Quantos indivíduos selecionados para reprodução? n Quantos pontos de crossover? n Critério para medir aptidão? l Manter limites no tamanho da população e complexidade da análise n Algoritmo pode se tornar ineficiente

35 Computação Evolutiva 35 Aplicações l Otimização de função numérica l Otimização combinatória n Determinação de Árvores Filogenéticas l Projetos n Projeto de pontes l Aprendizado de Máquina n Determinação dos parâmetros de Redes Neurais Artificiais em problemas de Bioinformática

36 Computação Evolutiva 36 Exemplo1: preparo de biscoitos l Otimizar quantidade de açúcar e farinha de trigo para preparar biscoitos l Passos n Criar população inicial n Codificar strings ou cromossomos n Definir função de aptidão n Reprodução

37 Computação Evolutiva 37 Exemplo1: preparo de biscoitos farinha (kg) açúcar (kg) l Qualidade do biscoito (q):

38 Computação Evolutiva 38 Exemplo1: preparo de biscoitos l Codificação do cromossomo n Quantidade de farinha de trigo e de açúcar 2 4 farinha (kg) açúcar (kg)

39 Computação Evolutiva 39 Exemplo1: preparo de biscoitos Função de aptidão:

40 Computação Evolutiva 40 Exemplo1: preparo de biscoitos Mutação: 25 Pai: 3 Filho: 5 ±1

41 Computação Evolutiva 41 Exemplo1: preparo de biscoitos Regras: Cada cromossomo pode aparecer somente uma vez Tamanho máximo da população: 4 Nova população: melhor indivíduo (elitismo) + indivíduos restantes escolhidos aleatoriamente

42 Computação Evolutiva 42 Exemplo1: preparo de biscoitos Caso 1 (sem crossover) CromossomoQualidade Geração 0:[1 1]1 Filho Qualidade [1 2]2 [1 3]3 [1 2] [1 4]4 [2 2]3 [2 1]2 [2 4]5 [2 3]4 [1 3] [3 1]3 Geração 1:[1 2]2 [1 1]1 Geração 2:[1 3]3 [1 2]2 [1 1]1 Geração 3:[1 4]4 [1 3]3 [1 2]2 [2 1]2

43 Computação Evolutiva 43 [2 5]6 [1 5]5 [2 3]4 [2 2]3 Geração 4:[2 4]5 [1 4]4 [1 3]3 [2 1]2 Exemplo1: preparo de biscoitos Caso 1 (sem crossover) [3 5]7 [1 4]6 [2 2] [3 2]4 Geração 5:[2 5]6 [1 5]5 [2 3]4 [2 2]3 Geração 8:[5 5]9 [4 5]8 [2 5]6 [2 1]2

44 Computação Evolutiva 44 Exemplo1: preparo de biscoitos Caso 1 (sem crossover) farinha (kg) açúcar (kg) l Qualidade do biscoito (q):

45 Computação Evolutiva 45 Exemplo1: preparo de biscoitos farinha (kg) açúcar (kg) l Qualidade do biscoito (q):

46 Computação Evolutiva 46 Exemplo1: preparo de biscoitos Crossover: 2514 Pai 1: Pai 2: Filho 1: Filho 2:

47 Computação Evolutiva 47 Exemplo1: preparo de biscoitos Caso 2 (com crossover) CromossomoQualidade Geração 0:[1 1]1 Filho Qualidade [1 2]2 Geração 1:[2 1]2 [1 1]1 [3 1]3 [1 2] [2 1] [1 1] Geração 7:[5 5]9 [1 4]4 [3 1]2 [5 2]0

48 Computação Evolutiva 48 Exemplo1: preparo de biscoitos Caso 2 (com crossover) farinha (kg) açúcar (kg) l Qualidade do biscoito (q):

49 Computação Evolutiva 49 Teste de um critério definido e interrompimento do processo quando um desempenho aceitável é produzido. Ambiente 1 o Grupo de Agentes 2 o Grupo de Agentes Combinação dos Melhores Agentes Ambiente Exemplo2: Robótica Evolutiva l Sistemas Evolutivos

50 Computação Evolutiva 50 Exemplo2: Robótica Evolutiva

51 Computação Evolutiva 51 Exemplo2: Robótica Evolutiva Circuito de Controle l Configuração da Rede Neural Morfologia l Velocidade de movimento l Seleção dos Sensores Material Genético Memória

52 Computação Evolutiva 52 Exemplo2: Robótica Evolutiva

53 Computação Evolutiva 53 Exemplo2: Robótica Evolutiva l Objetivo: Navegação sem Colisões Robôs Simples Complexo

54 Computação Evolutiva 54 Exemplo2: Robótica Evolutiva l 120 Gerações: (1 min.) l Pontuação doMelhor Robô Média da População

55 Computação Evolutiva 55 Exemplo2: Robótica Evolutiva Espécie 1 – Um sensor frontal Espécie 2 – Dois sensores, um frontal e outro lateral Espécie 3 – Três sensores, um frontal e dois laterais

56 Computação Evolutiva 56 A BC D E G F S1 Pai1 C D E G S2 Pai2 A B F C D E G F S2 Filho A B F A B F Podar Exemplo3: Árvore Filogenética

57 Computação Evolutiva 57 Conclusão l Conceitos básicos l Evolução Natural l Algoritmos genéticos n Codificação n Função de aptidão n Operadores Genéticos n Reprodução

58 Computação Evolutiva Eduardo Simões – Renato Tinós – Cópia das transparências e referências bibliográficas podem ser obtidas no site: FIM


Carregar ppt "Computação Evolutiva 1 Eduardo do Valle Simões Renato Tinós ICMC - USP."

Apresentações semelhantes


Anúncios Google