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

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

Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira.

Apresentações semelhantes


Apresentação em tema: "Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira."— Transcrição da apresentação:

1 Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira

2 Sumário Introdução à Computação Evolucionária; Algoritmo Genético

3 Computação Evolucionária Computação Evolucionária compreende um conjunto de modelos e técnicas computacionais inspirados na teoria da evolução das espécies. As principais áreas de sua utilização são: - Otimização - Inteligência Artificial (Aprendizado de Máquina)

4 Computação Evolucionária - CE Algumas aplicações: - Projetos automatizados - Planejamento de tarefas e agendamentos - alocação de recursos (máquinas/pessoal) - planejamento de manutenções em sistemas - planejamento de rotas - Aprendizado de máquina - robôs autônomos - jogos - Descoberta de conhecimento em bases de dados

5 Aplicações da CE Projetos automatizados O que se deseja projetar Programa de simulação computacional Resultado da simulação -O especialista propõe projeto inicial -O projeto é simulado em computador -Os resultados são analisados pelo especialista -O especialista procura adequar o projeto à sua finalidade Proposta de projeto Especialista

6 Aplicações da CE Planejamento e alocação de tarefas O que se deseja planejar Checa disponibilidade dos professores Resultado da consulta -O coordenador propõe grade horária -Verifica em um BD a disponibilidade de professores -Adequa a proposta à disponibilidade -Resolve pendências Proposta de planejamento

7 Aplicações da CE Aprendizado de Máquina Teste da solução Resultado do teste -O especialista propõe um algoritmo ou regras -A solução do problema utilizando o algoritmo é testada -Com os resultados do teste o especialista adequa o algoritmo/regras Proposta de algoritmo ou regras

8 Aplicações da CE Nas aplicações anteriores, a Computação Evolucionária pode fazer as vezes do especialista, testando, avaliando soluções e propondo melhorias em busca de uma solução ótima. Computação Evolucionária

9 Computação Evolucionária Algumas técnicas/ferramentas da CE: - Algoritmos Genéticos (o pai de todos) - Programação Evolucionária (estruturas de dados mais elaboradas de acordo com a aplicação) - Classifier Systems (Machine Learning: aprendizado de regras) - Programação Genética (Machine Learning: aprendizado de programas em geral)

10 Algoritmos Genéticos Algoritmos Genéticos são técnicas de otimização global inspiradas na teoria da evolução das espécies.

11 “Pontos fortes” dos AG’s Opera sobre uma codificação genérica dos parâmetros da otimização; Otimização em escopo global; Não necessita de conhecimento, a priori, de características do espaço de busca;

12 Otimização Definição 1: É a busca da melhor solução para um determinado problema. Definição 2: É maximizar ou minimizar algo.

13 Um processo de otimização clássico 1Propor candidato a solução; 2Obtém-se saídas de interesse e avalia-se os objetivos; 3Baseado em algum tipo de análise do resultado obtido, propõe-se nova tentativa. 4Voltar ao passo 2

14 Algumas técnicas clássicas 1Conhecimento especialista; 3Programação inteira; 2Busca gradiente (por exemplo: programação linear + análise de sensibilidade); 4Técnicas baseadas na análise do espaço de busca (derivadas, limites, etc); 5etc;

15 Uma tarefa difícil Otimização global e sem conhecimento do espaço de busca.

16 Otimização Global V1 V2 Função Multi-modal (vários sub-ótimos) Ótimo Local ou sub-ótimo Ótimo Global

17 O Clássico “Hill-Climbing” 1“Chuta-se” ponto inicial; 3Analisa-se a tendência, ou seja, a direção e sentido para onde deve caminhar a próxima tentativa; 2Avalia a proposta; 4Novo “chute”; 5Se parar de melhorar, FIM, senão, volta para 2”;

18 O Clássico “Hill-Climbing” V1 V2 Chute inicial Melhora

19 O Clássico “Hill-Climbing” V1 V2 Tentativa 2

20 O Clássico “Hill-Climbing” V1 V2 Tentativa 3

21 O Clássico “Hill-Climbing” V1 V2 Tentativa 4

22 O Clássico “Hill-Climbing” V1 V2 Tentativa 5

23 Um dilema Técnicas formais de otimização global demandam conhecimento do espaço de busca (concavidade, limites, derivadas, etc) Técnicas que não demandam conhecimento do espaço de busca são susceptíveis à convergência local.

24 Proposta de solução Utilizar algoritmos baseados em população, como por exemplo: Algoritmos Genéticos (AG).

25 O preço da solução Elevado custo computacional, quando comparado com o custo demandado por técnicas tradicionais, como as mencionadas anteriormente.

26 AG´s e Otimização Global Parte de uma população de candidatos; Possui operadores (genéticos) que proporcionam diversidade de busca, gerando candidatos em novas regiões do domínio de busca.

27 V1 V2 AG´s e Otimização Global

28 V1 V2 AG´s e Otimização Global

29 V1 V2 AG´s e Otimização Global

30 V1 V2 AG´s e Otimização Global

31 V1 V2 AG´s e Otimização Global

32 V1 V2 AG´s e Otimização Global

33 V1 V2 AG´s e Otimização Global

34 V1 V2 AG´s e Otimização Global Redondezas do Ótimo Global

35 Onde aplicar os AG’s Problemas multi-modais (vários sub-ótimos) onde não se tem conhecimento do espaço de busca a ser explorado. Problemas onde as técnicas convencionais não são aplicáveis Problemas onde o custo computacional de sua solução através de métodos convencionais torna-se impraticável (ex. Caixeiro Viajante)

36 A metáfora dos Algoritmos Genéticos Numa dada população, os indivíduos mais fortes têm mais chances de reprodução e, conseqüentemente, de passar suas características para seus descendentes, gerando, assim, uma população cada vez mais adaptada ao meio.

37 Nos Algoritmos Genéticos Meio Adaptação Espaço de buscaCumprimento dos objetivos

38 Otimização automática (via computador) Definição de uma estrutura de dado para conter um candidato à solução. Definição de uma forma de avaliação do resultado, considerando os objetivos e as restrições do problema. Mecanismo de controle e geração de novos candidatos a solução.

39 Nos Algoritmos Genéticos Controle e geração de novos candidatos Operações de seleção, cruzamento, mutação, elitismo... AvaliaçãoFunção Objetivo Estrutura de DadoGenótipo ou cromossoma

40 Genótipo É a estrutura de dado que codifica um candidato à solução; Nos AG´s clássicos isto é feito através de uma “string” binária de tamanho fixo;

41 Função Objetivo É a função que reúne as saídas de interesse e avalia o quão “boa” é a solução proposta; O valor da função objetivo para um indivíduo é chamado prêmio ou aptidão (“fitness”).

42 O Algoritmo Genético Clássico 1. Inicializa população de candidatos à solução; 2. Avalia população de candidatos; 3. Seleciona candidatos para operações genéticas; 5. Atualiza população de candidatos; 6. Se criterio parada atingido, FIM, senão, volta para 2; 4. Opera e transforma população de candidatos;

43 O Algoritmo Genético Clássico Início Inicializa(População); Enquanto (NÃO Terminar) Faça Avalia (Pop); NovaPopulação := Seleciona (População); Opera (NovaPopulação); Populaçao := NovaPopulação; Fim Enquanto; Fim.

44 Problema exemplo Problema: Obter valores de V1 (podendo variar entre 1 e 32) e V2 (podendo variar entre 0 e 15.5) de forma que se obtenha o maior valor de f(V1,V2) = V1 + V2. v1 v2 f

45 Exemplo de Genótipo 1 0 0 0 1 0 0 0 1 1 v1 v2 v1v2 181.5 Genótipo Gene 1 Codificação das variáveis Codificação de um candidato à solução: Gene 2 0 - 00000 0.5 - 00001 15.5 - 11111 15.0 - 11110... 1 - 00000 32 - 11111 2 - 00001 31 - 11110...

46 O Algoritmo Genético Clássico 1. Inicializa população de candidatos à solução; 2. Avalia população de candidatos; 3. Seleciona candidatos para operações genéticas; 5. Atualiza população de candidatos; 6. Se critério parada atingido, FIM, senão, volta para 2; 4. Opera e transforma população de candidatos;

47 Indivíduo Genótipo v1 v2 1 2 3 4 5 6 Inicialização É a geração aleatória de uma população inicial. 0001100010 0101011110 0110000100 0010101011 0001000000 1110011100 41 1015 132 55 20 2914

48 Indivíduo Genótipo v1 v2 f(v1,v2) 1 2 3 4 5 6 Avaliação Cálculo da função objetivo para cada candidato. 5 25 15 10 2 43 0001100010 0101011110 0110000100 0010101011 0001000000 1110011100 41 1015 132 55 20 2914

49 O Algoritmo Genético Clássico 1. Inicializa população de candidatos à solução; 2. Avalia população de candidatos; 3. Seleciona candidatos para operações genéticas; 5. Atualiza população de candidatos; 6. Se convergiu, FIM, senão, volta para 2; 4. Opera e transforma população de candidatos;

50 Seleção Proporcional Indivíduo f 1 5 2 25 3 15 4 10 5 2 6 43 A fitness indica o tamanho do arco correspondente ao indivíduo

51 Seleção Proporcional

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78 Indivíduo 6 selecionado

79 O Algoritmo Genético Clássico 1. Inicializa população de candidatos à solução; 2. Avalia população de candidatos; 3. Seleciona candidatos para operações genéticas; 5. Atualiza população de candidatos; 6. Se convergiu, FIM, senão, volta para 2; 4. Opera e transforma população de candidatos;

80 Operações genéticas clássicas Cruzamento (“crossover): é a troca de informação genética entre indivíduos (mistura de soluções). Mutação: é a alteração aleatória de parte do genótipo (no AG clássico, 1 bit).

81 Cruzamento (“crossover”) 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 11 0 0 0 1 1 1 0 0 0 0 1 Pais Filhos Ponto de crossover (escolhido aleatoriamente)

82 Mutação Escolhe-se uma posição aleatoriamente e inverte-se este bit. 1 0 1 0 0 0 0 0 1 1 Antes da mutação Ponto de mutação (escolhido aleatoriamente)

83 Mutação Escolhe-se uma posição aleatoriamente e inverte-se este bit. 1 0 1 0 1 0 0 0 1 1 Depois da mutação Ponto de mutação (escolhido aleatoriamente)

84 Elitismo Técnica utilizada para eliminar a possibilidade de perda do melhor indicíduo até então encontrado. Isto é feito através da simples cópia do melhor indivíduo para a próxima geração.

85 Alguns critérios de parada avaliação da similaridade entre os indivíduos da população; estagnação do processo de evolução; número máximo de gerações;

86 Teoria dos Esquemas Um esquema é um “template” que caracteriza grupos de indivíduos através de um padrão de similaridade. A representação de um esquema: é feita através de um alfabeto ternário {0, 1, *} onde o * é um “don´t care” (pode significar tanto um 0 quanto um 1 na posição indicada). A Teoria dos Esquemas estuda o comportamento dinâmico dos esquemas durante a evolução do AG.|

87 Teoria dos Esquemas Exemplos de esquema: H1 = 110** H2 = *00 Indivíduos representados por H1: 11000, 11001, 11010 e 11011 por H2: 100 e 000

88 Teoria dos Esquemas Para se estudas a influência das operações genéticas sobre um determinado esquema, são definidas duas grandezas: Largura Definida do esquema (  ) Ordem do esquema (o)

89 Teoria dos Esquemas Largura Definida (  ): diferença entre o primeiro e o último bit fixos (diferentes de *) Ex:  (1**10**) = 5-1 = 4 Esta grandeza está relacionada com a probabilidade de um esquema ser destruído em um crossover.

90 Teoria dos Esquemas Ordem (o): número de bits fixos (diferentes de *) Ex:  (1**10**) = 3 Esta grandeza está relacionada com a probabilidade de um esquema ser destruído em uma mutação.

91 Teoria dos Esquemas Definção: m(H,t): quantidade de indivíduos representados pelo esquema H na geração t.

92 Teoria dos Esquemas Considerando apenas a seleção proporcional à fitness:

93 Teoria dos Esquemas Probabilidade de sobrevivência a um crossover probabilidade pc de crossover:

94 Teoria dos Esquemas Probabilidade de sobrevivência a um mutação com probabilidade pm de mutação:

95 Teoria dos Esquemas Obtêm-se então:

96 Teoria dos Esquemas Denomina-se “building blocks” os esquemas de baixa ordem e pequena largura definida, com fitness acima da média. Estes esquemas tendem a proliferar e formar a base da evolução.


Carregar ppt "Algoritmos Genéticos Uma visão geral do método Cláudio M. N. A. Pereira."

Apresentações semelhantes


Anúncios Google