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

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

Computação Evolutiva Oderson Dias de Mello www.oderson.com.

Apresentações semelhantes


Apresentação em tema: "Computação Evolutiva Oderson Dias de Mello www.oderson.com."— Transcrição da apresentação:

1 Computação Evolutiva Oderson Dias de Mello

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

3 Indagações de alguns séculos atrás...
Como explicar a diversidade dos animais? Como explicar sua evolução? Qual é a influência dos antepassados? Qual é a influência do meio ambiente?

4 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

5 Terminologia Biológica
Em Algoritmos Genéticos são utilizados termos biológicos como analogia com a biologia. Cromossomo: codificação de uma possível solução – indivíduo. Genes: codificação de uma característica particular. Genótipo Conjunto de parâmetros representado por um cromossomo. Fenótipo Produto da interação de todos os genes.

6 História da Teoria da Evolução
1809: Jean-Baptiste Lamarck Lei do uso e do desuso. pelo uso e desuso de suas aptidões, a natureza força os seres a se adaptarem para sobreviverem. Lei dos caracteres adquiridos. Os serem mais fortes são mais capazes de “trasmitir” suas aptidões às novas gerações.

7 História da Teoria da Evolução
1859: Charles Darwin É pela lei da Seleção Natural que os seres mais adaptados ao seus ambientes sobrevivem. Contra lei do uso de desuso. Os caracteres adquiridos são herdados pelas gerações seguintes. O homem vem do macaco...

8 História da Teoria da Evolução
1865: Gregor Mendel Formalizou a “herança de características”, com a teoria do DNA (ervilhas). 1901: Hugo De Vries Só a seleção natural não é responsável pela produção de novas (mais adaptadas) espécies. Tem que haver uma mudança genética! Formalizou o processo de geração de diversidade: Teoria da Mutação.

9 Hipótese Lamarkiana Fenótipo ou características adquiridas durante a vida de um organismo podem ser transmitidos geneticamente para os seus descendentes. Aprendizagem local pode alterar o cromossomo e, portanto, a adaptabilidade dos indivíduos. Exemplo: aquisição de defeitos do fenótipo provocado por intoxicação química e poluição ambiental.

10 Hipótese Baldwiniana (1896)
Seleção orgânica A capacidade de aprendizagem e adaptação pode favorecer a reprodução. Portanto, o conhecimento adquirido pode guiar a evolução genética. Exemplo: uma aprendizagem local pode alterar somente a adaptação dos indivíduos mas não o seu cromossomo.

11 Assimilação genética Hipótese Waddingtoniana (1942)
A plasticidade fenotípica que permite obter novas características comportamentais. Ativam genes adormecidos ou não expressos que serão transmitidos para gerações seguintes.

12 Motivação “...Se variações úteis para qualquer organismo devam ocorrer para que ele venha a existir, certamente indivíduos assim caracterizados terão a melhor chance de serem preservados na luta por sobrevivência; e do forte princípio de hereditariedade, eles tenderão a produzir gerações com características similares. Este princípio de preservação, eu batizei, para ser sucinto, de Seleção Natural.” (Darwin, 1859)

13 Evolução natural 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.

14 Ambientação Modelo Biológico Natureza Modelo Computacional
Teoria de Computação Evolutiva Modelo Biológico Natureza Modelo Computacional Teoria de Darwin

15 Computação Evolutiva Área da Computação Inteligente que engloba um conjunto de métodos computacionais inspirados na Teoria da Evolução das Espécies.

16 Conferências na área de Computação Evolutiva
International Conferences on Genetic Algorithms Parallel Problem Solving from Nature Annual Conferences on Evolutionary Programming IEEE International Conferences on Evolutionary Computation

17 Computação evolutiva Em 1975 Jonh Holland idealizou os algoritmos genéticos. Adaptation in Natural & Artificial Systems MIT Press, 1975 (2a ed. 1992). Porque a evolução é uma boa metáfora? Muitos problemas computacionais envolvem busca através de um grande número de possíveis soluções e requerem que o programa seja adaptativo, apto a agir em um ambiente dinâmico. A evolução biológica é uma busca massivamente paralela em um enorme espaço problema. soluções desejadas = organismos mais adaptados.

18 COMPUTAÇÃO EVOLUTIVA analogia com processos naturais
possíveis soluções = indivíduos melhores indivíduos = melhores chance de sobrevivência e reprodução = sobrevivência do mais apto solução ótima esperada = indivíduo mais apto

19 Características Comuns
Usam um processo de evolução baseado na teoria de Darwin para resolver problemas computacionais. Inspirados na Teoria da Evolução: os indivíduos mais adaptados sobrevivem.

20 Elementos Chaves dos Algoritmos Evolutivos
Uma população de indivíduos. A noção de função de adaptação. Um ciclo de nascimento e morte baseados na função de adaptação. A noção de herança.

21 Visão Geral do Algoritmo Evolutivo
Gerar uma população inicial aleatoriamente Fazer até um critério de parada: selecionar indivíduos para pais (função de adaptação) produzir filhos selecionar indivíduos para morrer (função de adaptação) Retornar um resultado

22 Visão Geral do Algoritmo Evolutivo
população de pais seleção recombinação população de filhos solução

23 Algoritmos Genéticos Desenvolvido por John Holland e sua equipe em 1975 e popularizado por David Goldberg. Objetivo: Desenvolver sistemas artificiais baseados nos mecanismos dos sistemas naturais. O processo de evolução executado por um algoritmo genético corresponde a um processo de busca em um espaço de soluções potenciais para alcançar o objetivo proposto.

24 CARACTERÍSTICAS Classe dos algoritmos probabilísticos, mas eles não são métodos de busca puramente aleatórios, pois combinam elementos de procura direcionada e estocástica. A cada geração, soluções relativamente “boas” se reproduzem, enquanto que soluções relativamente “ruins” são eliminadas. Para fazer a distinção entre diferentes soluções é empregada uma função-objetivo (de avaliação ou de adaptabilidade) que simula o papel da pressão exercida pelo ambiente sobre o indivíduo. Contribuições à Solução de Problemas de Escalonamento pela Aplicação Conjunta de Computação Evolutiva e Otimização com Restrições RICARDO CONCILIO Orientador: PROF. DR. FERNANDO JOSÉ VON ZUBEN (DCA - FEEC - Unicamp) Dissertação apresentada à Faculdade de Engenharia Elétrica e de Computação da Universidade Estadual de Campinas como parte dos requisitos exigidos para a obtenção do título de Mestre em Engenharia Elétrica. Banca Examinadora: Prof. Dr. Ricardo Ribeiro Gudwin (DCA/FEEC/Unicamp) Prof. Dr. Luis Gimeno Latre (DCA/FEEC/Unicamp) Profa. Dra. Maria Teresa Moreira Rodrigues (DESQ/FEQ/Unicamp) Campinas Estado de São Paulo - Brasil Dezembro de 2000

25 CARACTERÍSTICAS Utilizam uma população de soluções candidatas (indivíduos). Otimização ocorre em várias gerações. A cada geração: mecanismos de seleção selecionam os indivíduos mais aptos. operadores de reprodução geram novos indivíduos.

26 CARACTERÍSTICAS Cada indivíduo representa uma possível solução para um dado problema. A cada indivíduo é associado um escore de aptidão, que mede o quão boa é a solução que ele representa. Indivíduos mais aptos têm mais oportunidades de serem reproduzidos.

27 Quando que se deve usar um Algoritmo Genético?
Quando o espaço de buscas é muito grande (nestes casos, a enumeração de todas as possíveis soluções torna-se impraticável) ... … e quando os métodos tradicionais – por exemplo programação linear – não são aplicáveis.

28 Aplicabilidade Problemas difíceis de otimização:
Otimização de funções com restrições lineares e não-lineares. Avaliação de crédito e análise de risco. Previsão financeira. Gestão de recursos. Problema do caixeiro viajante. Planejamento da operação de usinas hidrelétricas. Jogos. Programação genética. Obs.: Algoritmos Genéticos são paralelos por natureza.

29 De que modo os algoritmos genéticos diferem de outras técnicas?
Trabalham com uma população de soluções, em vez de uma só solução. Usam regras de transição probabilísticas em vez de regras determinísticas. Evitam problemas de continuidade, existência de derivada, etc.

30 Algoritmos Genéticos População inicial População final Avaliação
População atual Seleção Reprodução

31 Indivíduos Material genético. Conjunto de atributos da solução.
Cada atributo é uma seqüência de bits, e o indivíduo é como a concatenação das seqüências de bits. Codificação binária, real, códigos.

32 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 = [ ]

33 Codificação binária Cada cromossomo é uma string de bits – 0 ou 1
Cromossomo A = Cromossomo B = Exemplo de uso: problema da mochila. Codificação: Cada bit diz se um elemento está ou não na mochila.

34 Codificação inteira Mais usado em problemas de ordenação.
Cada cromossomo é uma string de números que representa uma posição numa seqüência. Cromossomo A: 1  5  3  2  6  4  7  9  8 Cromossomo B: 8  5  6  7  2  3  1  4  9 Exemplo de uso: problema do caixeiro viajante. Codificação: os cromossomos descrevem a ordem em que o caixeiro irá visitar as cidades.

35 Problema do Caixeiro Viajante (TSP)
Um caixeiro viajante deve visitar N cidades em sua área de vendas. O caixeiro começa de uma base, visita cada cidade uma única vez e retorna à sua cidade no final. A cada viagem esta associado um custo. O caixeiro deve percorrer a rota mais curta. 4 3 7 1 2 5 6

36 TSP: Implementação 4 5 2 1 6 3 Cromossomo - Enumerado
Objetivo - minimizar o caminho total (tour).

37 Codificação por valor. Usado em problemas onde “valores mais complicados” são necessários. Cada cromossomo é uma seqüência de valores: Cromossomo A:     Cromossomo B: ABDJEIFJDHDIERJFDLDFLFEGT Cromossomo C: (back), (back), (right), (forward), (left)

38 Representação Restrição: determinar de modo não ambíguo uma solução.
Exemplos comuns: vetor de bits matrizes árvores etc. A B C

39 População Conjunto de indivíduos que estão sendo cogitados como solução. Populações pequenas têm grandes chances de perder a diversidade necessária para exploração adequada do espaço de soluções. Populações grandes perdem grande parte de sua eficiência pela demora nos cálculos da função de adaptação. Existe o compromisso qualidade da solução versus tempo.

40 População inicial Aleatoriamente escolhida ou não.
Compromisso entre velocidade de convergência e variedade.

41 Retornar Melhor Indivíduo Estrutura básica de um Algoritmo Genético
População Avaliação da Aptidão Seleção Cruzamento Operadores genéticos Mutação Critério de Parada? Não Sim Retornar Melhor Indivíduo Estrutura básica de um Algoritmo Genético

42 Função de Adaptação (de Aptidão)
Mede a adaptação do indivíduo ou quão boa é a solução dada por este indivíduo. Aptidão = probabilidade do indivíduo sobreviver para a próxima geração. Representação do problema: diferencia uma solução boa de uma ruim. É aplicada ao fenótipo do indivíduo. O genótipo precisa ser decodificado, recuperando o fenótipo associado. Cada aplicação tem sua própria função de aptidão.

43 Função de aptidão Heurística de busca no espaço de estado.
Em alguns problemas, encontrar um indivíduo válido é uma problema de otimização, portanto necessitam de heurísticas para gerá-lo. Exemplo 1: projeto de ponte: menor custo. menor tempo de construção. maior capacidade de carga. Exemplo 2: Timetabling (horários escolares). Cuidados com o custo computacional.

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

45 Seleção Objetivo: propagar material genético dos indivíduos mais adaptados. Problemática da convergência prematura (compromisso entre rapidez e diversidade): Um indivíduo super adaptado no começo não deve ser valorizado demais. Indivíduos ruins no começo não podem ser desprezados. Tipos: Roleta (ranking probabilístico): pselect(i) = f(i) /  f(j). Ranking por ordenação. Torneio binário (eliminatórias 2 a 2). Elitista (n melhores indivíduos são selecionados). Biclassista ( pb % dos melhores e pw % dos piores indivíduos) Outros.

46 SELEÇÃO COMPETITIVA Seleciona k indivíduos e pega o melhor deles para a próxima geração. Repete o processo n vezes. Seleção de Boltzmann.

47 Roleta n. cadeia aptidão % do total 1 01101 169 14,4 2 11000 576 49,2
,4 ,2 ,5 ,9 ,0 Total 4 1 3 2

48 Seleção pela roleta Método da Roleta baseado em Aptidão Relativa
Indivíduo Si S S S S S Aptidão f(Si) 1.05 3.35 1.69 2.23 7.27 Aptidão Relativa 0.14 0.47 0.07 0.21 0.11 S1 S2 S3 S4 S5

49 Exemplo Indivíduos função de adaptação % função de adaptação 12 23,08
12 23,08 8 15,38 9 17,31 6 11,54 5 9,62 Total 52 100,00

50 Problemas da Roleta Tecnicamente resulta numa distribuição proporcional de indivíduos. Convergência muito rápida. Variância baixa.

51 Torneio binário Escolhe-se um par de indivíduos da população.
O melhor tende a sobreviver, e o pior tende a morrer, segundo uma probabilidade. Repete-se este processo N vezes (N é o tamanho da população).

52 Torneio binário Início k = 0.75 Repita N vezes
Escolha 2 indivíduos da população aleatoriamente r = valor aleatório entre 0 e 1 Se r < k O melhor indivíduo é escolhido Se não O pior indivíduo é escolhido Fim Se Fim Repita Fim Início

53 Exemplo de seleção com torneio binário
Antes Depois estrutura fitness A B C D 8 2 4 5 estrutura fitness A C D 8 4 5 4 torneios: (A,D) (B,C) (A,B) (C,D) 4 vencedores: A C A D

54 Elitismo Indivíduo de maior desempenho é automaticamente selecionado.
Evita modificações deste indivíduo pelos operadores genéticos. Existem várias formas e graus de elitismo. Por exemplo, uma percentagem dos melhores elementos da atual geração são copiados para a geração seguinte.

55 seleção (função de adaptação)
início população inicial Algoritmo seleção (função de adaptação) pais selecionados operadores genéticos cruz repr mut filhos gerados não satisfeito c/ a solução? nova pop. completa? fim não solução sim sim nova população

56 Reprodução / Operadores
Permite obtenção de novos indivíduos. Preserva características úteis. Introduz variedade e novidades. Estratégias: Parentes únicos: clonar + mutação Parentes múltiplos: recombinação + mutação

57 Reprodução/recombinação
Função: combinar e/ou perpetuar material genético dos indivíduos mais adaptados Tipos: assexuada (=duplicação) sexuada (crossover) ponto único ponto duplo

58 Reprodução Reprodução sexual, genes são intercambiados entre dois pais – crossover. Os filhos são sujeitos a modificações, na qual bits elementares são mudados – mutação.

59 Métodos de Recombinação
Cruzamento: cria novos indivíduos misturando características de dois indivíduos pais (crossover). Cópia de segmentos entre os pais. Crossovers multiponto, dois pontos, um ponto, uniforme e inversão.

60 Exemplo de crossover Antes de recombinar Depois de recombinar pai
010 100 pai filho 1 100 010 mãe filho 2

61 Crossover 1 ponto Pai 1 Pai 2 Filho A Filho B 1 1 1 Pais 1 1 1 1 1 1
Ponto de crossover Pai 1 Pai 2 1 1 1 Pais 1 1 1 Filho A Filho B 1 1 1 Filhos 1 1 1

62 Crossover de 2 pontos Pai 1 Pai 2 Filho A Filho B 1 1 1 Pais 1 1 1 1 1
1 1 1 Pais 1 1 1 Filho A Filho B 1 1 1 1 Filhos 1 1

63 Cruzamento em dois pontos
Cruzamento em dois pontos Indivíduo 1 Indivíduo 2

64 Cruzamento uniforme Os filhos são formados a partir dos bits dos pais (sorteado).

65 Crossover uniforme Sorteio: 0 1 0 1 0 0 0 Pai 1 Pai 2 Filho A Filho B
1 1 1 Pais 1 1 1 Filho A Filho B 1 1 1 1 Filhos 1 1

66 Problema das N-Rainhas
Definição: Colocar N rainhas em um tabuleiro N x N de forma que nenhuma seja atacada pelas outras. A forma geral de uma solução é uma permutação de um vetor de inteiros [1, , N]. A solução para o problema de 8 rainhas mostrada abaixo é representada pelo vetor [4, 2, 7, 3, 6, 8, 5, 1].

67 Histórico

68 Complexidade

69 Resultados

70 Conclusões O PROLOG conseguiu resolver instâncias de até 25 rainhas em menos de 1000 segundos (Amzi Pentium II 266 MHz Mb) Quando o número de rainhas é impar, a busca é bem mais rápida do que quando temos um número par de rainhas.

71 Exemplo ?- tempo(10). Q Q Q Q Q Q . Q Q Q Q yes ?- queens(10,S). S = [5,7,9,3,8,2,4,6,1,10]

72 Recombinação Exemplo:
+ =

73 Reprodução Quanto mais “estruturada” a representação mais difícil é definir o cruzamento. X X

74 Mutação Esta operação altera aleatoriamente alguma característica do indivíduo. Cria novas características que não existiam. Mantém diversidade na população. Assegura que a probabilidade de atingir qualquer ponto do espaço de busca nunca será zero.

75 Mutação Com probabilidade Pm, mudar um gene de 0 para 1, ou de 1 para 0. Este operador costuma ser usado com uma probabilidade muito baixa, por exemplo, Antes de mutação Depois de mutação gene 9 sofreu uma mutação

76 Mutação Antes da mutação 1 1 1 Após a mutação 1 1 1 1

77 Mutação Mutação de 1 bit 01100 -> 00100 Mutação de grupo de bits
> Mutação de grupo de bits > Mutação de todos os bits > 10011

78 Mutação O objetivo da mutação é evitar que as soluções na população fiquem apenas num mínimo local. Filho1 antes : Filho2 antes : Filho1 depois : Filho2 depois :

79 Mutação Exemplo:

80 Mutação Objetivo: Tipos: Observação:
gerar diversidade (para escapar de ótimos locais). Tipos: generativa destrutiva swap swap de seqüência Observação: A taxa de mutação pode diminuir com o tempo para garantir a convergência.

81 Permutação Permutação de dois genes: 000110001010
Troca do bit 4 com o bit 8:

82 Inversão antes da inversão 1 0 0 | 1 0 1 0 | 0 1 0 depois da inversão
1 0 0 | | 0 1 0

83 Substituição Objetivo: Tipos:
garantir uma convergência adequada. Tipos: Simples: a nova geração SUBSTITUI a antiga. Elitista: a nova geração se MISTURA com a antiga. Critérios de substituição no caso elitista: os piores. os mais semelhantes. os melhores. os pais. aleatoriamente. ...

84 Probabilidades Dinâmicas
Nas primeiras gerações a população inicializada aleatoriamente já contém grande diversidade, portanto a probabilidade de mutação (diversidade) deve ser baixa. Ao contrário, a probabilidade de cruzamento (procura local) deve ser elevada. À medida que o processo avança a população perde diversidade e pode estagnar em mínimos locais pelo que se deve reduzir a probabilidade de cruzamento e aumentar a probabilidade de mutação. Cruzamento 0.8 Mutação 0.05 t

85 Evitando a convergência prematura
Escalonamento da função de avaliação. Normaliza a função de avaliação “bruta”. Diminuição do escore dos indivíduos mais semelhantes. Algoritmos genéticos paralelos.

86 Algoritmos genéticos paralelos
k populações são iniciadas e evoluem paralelamente. A cada n-ésima geração, as populações trocam indivíduos.

87 LIDANDO COM O PROBLEMA DE CONVERGÊNCIA PREMATURA
Estratégia de prevenção de incesto. Uso de cruzamento uniforme. Detecção de cromossomos duplicados na população. Usando um conhecimento prévio das características da função.

88 MECANISMO DE AMOSTRAGEM
diversidade da população pressão seletiva convergência para sub-ótimos

89 OUTRO MÉTODO DE AMOSTRAGEM
Introdução artificial de pesos. Crença que convergência prematura é causada pela presença de super indivíduos que são muito melhores que a média da população. Tais indivíduos aumentam muito seu número de descendentes nas próximas gerações eliminando a possibilidade de cromossomos desejáveis.

90 Algoritmos Genéticos Resumo

91 Balanço Explotação-Exploração
Pressão de seleção: explotação. Reduz o espaço de busca. Reprodução: exploração. Expande o espaço de busca. Balanço Seleção forte + taxas de mutação altas Seleção fraca + taxas de mutação baixas

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

93 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 na complexidade da análise. Algoritmo pode se tornar ineficiente.

94 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.

95 Análise de Semelhança Os indivíduos começados por 11*** correspondem aos de maior valor. 11*** representa os seguintes indivíduos: 01*** representa os seguintes indivíduos: Cromossomo Adaptabilidade

96 DEFINIÇÃO DE ESQUEMA Um esquema é construído pela introdução do símbolo ‘*’ dentro do alfabeto genético. Um esquema representa todos os cromossomos que coincidem em todas as posições que não contém o símbolo ‘*’. Exemplos: (*,1,0) representa dois cromossomos: (1,1,0) e (0,1,0). (*,1,*) representa quatro cromossomos: (1,1,0); (1,1,1); (0,1,0) e (0,1,1). (*,*,*) representa todos os cromossomos de tamanho 3.

97 Esquemas n. cadeia aptidão % do total 1 01101 169 14,4
,4 ,2 ,5 ,9 esquema 1****, melhor que 0****

98 ESQUEMAS Cada esquema representa 2r cromossomos, onde r é o número de símbolos ‘*’. Cada cromossomo de tamanho m é representado por 2m esquemas. Exemplo: o cromossomo (1,0,0) é representado por (1,0,0); (*,0,0); (1,*,0); (1,0,*); (*,*,0); (*,0,*); (1,*,*) e (*,*,*).

99 Exemplo O cromossomo 1010 tem os seguintes esquemas: 101* 1010
101* 1010 10*0 10** 1*10 1*1* 1**0 1*** *010 *01* 24 = 16 *0*0 *0** **10 **1* ***0 ****

100 Ordem Uma População com n indivíduos contém n.2m esquemas.
O(H), a ordem de um esquema H, é o número de símbolos fixos (diferente de *) presentes no esquema. O(011*1**) = 4 O(*01*010*) = 5

101 Por que converge? Esquemas Teorema dos esquemas
“subpartes” comuns recorrentes. Teorema dos esquemas O número de esquemas bem adaptados cresce exponencialmente. “Hipóstese da Construção de Blocos” A otimalidade é obtida por justaposição de pequenos esquemas altamente adaptados.

102 TEOREMA “Esquemas acima da média, pequenos e de baixa ordem, recebem aumento exponencial em gerações subseqüentes de um algoritmo genético.”

103 HIPÓTESE DE CONSTRUÇÃO DE BLOCO
“Um algoritmo genético busca performance próximo ao ótimo através da justaposição de esquemas pequenos, de baixa ordem e de alta performance, chamados blocos de construção.”

104 CONTRA-EXEMPLO: DECEPÇÃO
Suponha que: sejam acima da média os dois esquemas pequenos e de baixa ordem: S1=(111********) e S2=(*********11). que a combinação de S1 e S2 dê S3=(111******11). S3 é muito menos adaptado que S4=(000******00). ( ) é a solução ótima. O algoritmo pode tentar convergir para pontos como ( ).

105 DECEPÇÃO: Quando algum bloco de construção pode enganar o algoritmo genético e levar a uma convergência para pontos subótimos. Está fortemente ligado com o conceito de epistasia.

106 PROPOSTAS PARA O PROBLEMA DE DECEPÇÃO
Conhecimento da função Operador “Inversão” s = {(1,0)(2,0)(3,0)|(4,1)(5,1)(6,0)(7,1)|(8,0)(9,0)} s’ = {(1,0)(2,0)(3,0)|(7,1)(6,0)(5,1)(4,1)|(8,0)(9,0)} (11***1)  {(1,1)(2,1)(3,*)(4,*)(5,*)(6,1)} poderia ser invertido para: {(1,1)(2,1)(6,1)(3,*)(4,*)(5,*)}.

107 TEORIA x PRÁTICA A codificação do problema para Algoritmos Genéticos opera num espaço diferente que o do problema real. Existe um limite no hipotético número ilimitado de iterações. Existe um limite no hipotético número ilimitado do tamanho da população. Convergência prematura é comum resultando em soluções subótimas.

108 Exemplo: Robótica Evolutiva

109 Exemplo: Robótica Evolutiva
Objetivo: navegação sem colisões. Simples Complexo Robôs

110 EXEMPLO: REDE DE COMUNICAÇÃO
Indivíduo: grafo (potencial solução). Objetivo: redução de custos ou sobrevivenciabilidade. Solução inicial: heurística ou aleatória. Conhecimento específico do problema: Por exemplo: deseja-se árvores. mutação: retirar um arco e acrescentar outro que una os dois subgrafos disjuntos.

111 Requisitos para usar AG
· Representações das possíveis soluções do problema no formato de um código genético. · População inicial que contenha diversidade suficiente para permitir ao algoritmo combinar características e produzir novas soluções. · Existência de um método para medir a qualidade de uma solução potencial.

112 Requisitos para usar AG
· Um procedimento de combinação de soluções para gerar novos indivíduos na população. · Um critério de escolha das soluções que permanecerão na população ou que serão retirados desta. ·  Um procedimento para introduzir periodicamente alterações em algumas soluções da população. Desse modo mantém-se a diversidade da população e a possibilidade de se produzir soluções inovadoras para serem avaliadas pelo critério de seleção dos mais aptos.

113 Recordando... ALGORITMO INICIALIZAÇÃO Uma população de N indivíduos é gerada aleatoriamente. CÁLCULO DA APTIDÃO Os indivíduos são ordenados conforme a sua aptidão (através de uma função objetivo). SELEÇÃO Nesta fase os indivíduos mais aptos da geração atual são selecionados. Como conseqüência, há eliminação de indivíduos menos promissores. CRUZAMENTO ("CROSS-OVER") Os indivíduos selecionados na etapa anterior são cruzados com elementos randômicos da população atual. MUTAÇÃO A operação de mutação é utilizada para garantir uma maior varredura do espaço de estados e evitar que o algoritmo genético convirja muito cedo para mínimos locais. A mutação é efetuada alterando-se o valor de um gene de um indivíduo sorteado aleatoriamente.

114 Questões centrais Como representar os indivíduos?
Quem é a população inicial? Como definir a função objetivo? Quais são os critérios de seleção? Como aplicar/definir o operador de reprodução? Como aplicar/definir o operador de mutação? Como garantir a convergência e ao mesmo tempo a solução ótima?

115 ALGORITMOS GENÉTICOS APLICADOS NO SEQÜENCIAMENTO DA OPERAÇÃO DE TURBINAS EM USINAS HIDRELÉTRICAS
Erinaldo Faria dos Santos Oderson Dias de Mello Takaaki Ohishi

116 INICIANDO A POPULAÇÃO Aleatoriamente.
Utilizando um conhecimento prévio sobre a distribuição do ótimo em potencial.

117

118 GIRANDO A ROLETA POP_SIZE VEZES
Cada rodada um cromossomo é selecionado para uma nova população assim: Geramos um número aleatório (r) entre 0 e 1.

119 CROSSOVER - CRUZAMENTO
Probabilidade pc. Gere os números aleatórios r (real) em [0..1] e pos (inteiro) em [1..m-1]. Se r<pc selecione o cromossomo para cruzamento. Antes: (b1b2...bposbpos+1...bm) e (c1c2...cposcpos+1...cm). Depois:(b1b2...bposcpos+1...cm) e (c1c2...cposbpos+1...bm).

120 MUTAÇÃO Para cada bit de todos os cromossomos na população atual (depois do cruzamento) faça: Gere um número aleatório (r) entre 0 e 1. Se r<pm mude o bit.

121 Critérios de parada Número de gerações.
Número de avaliações da função objetivo. Genótipo: Convergência dos alelos. Fenótipo: Tamanho do ganho na função objetivo após n iterações.

122 O Problema Determinar o número de turbinas que devem operar em cada usina hidrelétrica, para todos os intervalos de tempo do próximo dia, de forma a minimizar as perdas de energia, sujeito a restrições de atendimento das demandas e limites de geração de potência das turbinas.

123 Turbina

124 Modelo Matemático Legenda:

125 Proposta: Tendo em vista que o problema exposto tem natureza combinatorial (2NxT soluções possíveis), propusemos o desenvolvimento de um algoritmo genético para encontrar uma boa solução. Como estudo de caso empregaremos o algoritmo à um problema “real” brasileiro com 3 usinas, totalizando 11 turbinas que operam em intervalos de uma hora. Espaço de busca: 211x24  3x1079.

126 5 4 2

127 Curva de carga

128 Características do Algoritmo Genético
Cromossomo posições Seleção por ranking pc=0.25 pm=0.01 Tamanho da população: 50 Gerações: 1000 Tempo de execução: s

129 Fitness

130 Manuseio de restrições Opções:
Penalizar Factibilizar Descartar

131 Evolução da perda com população inicial aleatória (escala logarítmica)

132 Evolução da perda com população baseada na curva de carga (escala logarítmica)

133 Programa (sem custos de partida)

134 Número de turbinas ligadas – sem custos de partida (usina 1)

135 Número de turbinas ligadas – sem custos de partida (usina 2)

136 Número de turbinas ligadas – sem custos de partida (usina 3)

137 Programa (com custos de partida)

138 Perdas + custos de partida

139 Número de turbinas ligadas – com custos de partida (usina 1)

140 Número de turbinas ligadas – com custos de partida (usina 2)

141 Número de turbinas ligadas – com custos de partida (usina 3)

142 Computação Evolutiva Fim Oderson Dias de Mello


Carregar ppt "Computação Evolutiva Oderson Dias de Mello www.oderson.com."

Apresentações semelhantes


Anúncios Google