Algoritmos Evolucionários Híbridos (Meméticos) Caio Fleming Ferreira de Carvalho Cunha Fellipe de Oliveira Pinto 16 de Maio de 2012 UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 1 Ementa Objetivos Motivações para hibridização dos AEs. Introdução aos algoritmos meméticos. Busca local: – Adaptação de Lamarck vs. de Baldwin. Estrutura de um algoritmo memético. Problemas de design para algoritmos meméticos: – Diversidade, escolha de operadores e uso de conhecimento. Exemplo de aplicação: – Problema Timetabling Referências bibliográficas. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 2 Objetivos Discutir algoritmos baseados em AE, os quais são incorporados a outros métodos ou estruturas de dados incorporados a eles, denominados Algoritmos Meméticos (MA); Explicitar o raciocínio por trás dos MAs; Mostrar as possíveis combinações dos AEs com outras técnicas; Fornecer os pontos para projetar adequadamente um Algoritmo Hibrido; UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 3 Motivações para Hibridização de AEs Problemas complexos podem ser decompostos em sub- problemas, os quais podem ser resolvidos com métodos apropriados para cada um deles; Na verdade o AE puro não exibe uma performance uniforme para uma ampla faixa de problemas. Pode-se combinar heurísticas específicas a um AE formando modelos híbridos, alterando a performance global do método; Pode-se obter melhores resultados conhecimentos específicos do problema. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos quando se possui 4 Performance do método Motivações para Hibridização de AEs Métodos adaptados EA puro EA enriquecido com conhecimento Faixa de problemas O conhecimento específico no algoritmo híbrido é variável, podendo ser ajustada; UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 5 Motivações para Hibridização de EAs AEs não são bons em encontrar a solução final, pois evoluem lentamente devido a natureza estocástica dos operadores. Pode-se melhorar o algoritmo incorporando um passo de busca local. A combinação de AEs com operadores de busca local que atuam dentro do laço AE ou entregam conhecimento específico de instâncias do problemas é denominado Algoritmo Memético; UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 6 Algoritmos Meméticos Memes Unidades de transmissão cultural Genes Unidades de transmissão biológica Ideia de meme como agente que pode transformar um candidato a solução. A adição de uma fase de aprendizagem (desenvolvimento) ao ciclo evolucionário pode ser vista como uma interação meme-gene. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 7 Busca Local Busca local é um processo iterativo para examinar o conjunto de pontos na vizinhança da solução atual e a substituir por um vizinho melhor, caso exista. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 8 Busca Local Componentes que afetam o algoritmo: Regra de pivoteamento (laço interno) : steepest ascent – busca entre todos os vizinhos o mais apto, contar = n(i); greedy ascent – busca o primeiro vizinho que se mostra rápido, (contar = |n(i)|) ou (melhor!= i); mais Regra de profundidade (laço externo): determina número de iterações da busca local; Pode ser aplicado a uma única iteração (iterações = 1) ou contínua (contar = |n(i)| e melhor =i) ; Efeitos na performance do algoritmo, tempo e qualidade; UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 9 Busca Local Função geradora de vizinhança: n(i) - conjunto de pontos que podem ser alcançados através da aplicação de algum operador de movimento ao ponto i. Representação equivalente: Grafo não direcionado G(v,e) – v é o conjunto de vértices que representa todos pontos no espaço de busca, as soluções em potencial. – e é o conjunto de arestas que representa as possíveis transições que podem ocorrer a partir da aplicação de um único operador. As arestas podem ser direcionadas e ponderadas. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 10 Busca Local Definida pela combinação de vizinhança, n(x), e regra de pivoteamento. Em que n(x) constitui o conjunto de pontos alcançáveis com aplicação do operador de movimento (fitness landscapes), os quais afetam a eficiência e efetividade da busca local. v = {a, b , c, d, e, f, g, h} h e a d f g n(g) = {c, f, h} e1 = {ab, ad, ae, bc, bf, cd, cg, dh, fg, fe, gh, eh} simétrica e valores equiprováveis c b UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 11 Busca Local Pontos localmente ótimos para uma estrutura de vizinhança podem não ser para outra, exceto se localmente ótimo. Variações: Pode-se aplicar a busca ao espaço de busca ou espaço de soluções; Ajustando o número de iterações a serem realizadas pela busca local; Busca local pode ser aplicada: - a população total; - para o indivíduo mais apto; - para o indivíduo menos apto; UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 12 Lamarckianismo e Efeito Baldwin Lamarckiano se as características adquiridas durante seu tempo de vida são herdadas por sua prole. ex: substituir o indivíduo com vizinho mais apto. Baldwiniano se o processo evolucionário for guiado pelas adaptações favoráveis sem que as modificações nas aptidões dos indivíduos, devido a aprendizagem ou desenvolvimento, se convertam em mudanças de características genéticas. ex: indivíduo recebe aptidão (mas não genótipo) do vizinho mais apto. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 13 Estrutura de um Algoritmo Memético POP. INICIAL -Soluções conhecidas -Heurística -Inicialização Seletiva -Busca Local GRUPO DE REPRODUÇÃO Cruzamento Seleção Seleção modificada de operadores DESCENDENTE Mutação DESCENDENTE UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos Uso de informações de um problema específico No operador Busca Local Uso de informações de um problema específico No operador Busca Local 14 Estrutura de um Algoritmo Memético Inicialização Heurística ou Inteligente Um conhecimento existente pode ser incorporado ao AE na fase de inicialização. benefícios por iniciar AEs com soluções existentes: – Evitar a perda de esforço computacional refletindo aumento de eficiência (velocidade); – Direcionar busca para regiões promissoras do espaço de busca levando a aumentar efetividade; – Dividir o esforço computacional entre inicialização heurística e busca evolucionária pode gerar melhores resultados do que gastar todo o esforço em busca evolucionária apenas; UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 15 Estrutura de um Algoritmo Memético Inicialização Heurística ou Inteligente Maneiras de se alterar a função inicialização: Seeding (Semeadura): semeia a população com uma ou mais soluções boas a partir de outras técnicas (tentativa e erro, heurísticas usando informações de instância específica); Inicialização seletiva: gera-se grande número de soluções aleatórias e seleciona-se a população inicial a partir delas: - Realizar N torneios de tamanho k; - Selecionar um conjunto baseado na força e diversidade. Realizar busca local em cada membro da população (aleatoriamente), formando um conjunto de indivíduos localmente ótimos. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 16 Estrutura de um Algoritmo Memético Inicialização Heurística ou Inteligente Maneiras de se alterar a função inicialização: Empregar um ou mais métodos anteriores para identificar uma ou mais boas soluções, e então clonar e aplicar mutação com altas taxas (mass mutation) para formar um número de indivíduos na vizinhança do ponto inicial. Efeito de se variar a proporção da população inicial : -Uso de pequena proporções das soluções na população inicial auxilia na busca genética; -Performance média melhora com o aumento da proporção; -Melhor performance vem de uma população inicial mais aleatória. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 17 Estrutura de um Algoritmo Memético Hibridização com Operadores de Variação Operadores inteligentes de variação incorporam conhecimento específico da instância ou do problema, uma forma de introduzir tendência dentro dos operadores: Exemplo 1: Aumentar a probabilidade de escolha de características mais compactas para emprego em um classificador. Exemplo 2: Genes codificando instruções de microprocessador de modo a serem agrupados em conjuntos de efeitos similares. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 18 Estrutura de um Algoritmo Memético Hibridização com Operadores de Variação Uso de conhecimento específico do problema: Incorporação de uma fase de busca local dentro de um operador de recombinação. Ex.: Testar todas as possíveis orientações dos dois fragmentos de estrutura de uma proteína “separados” pelo ponto de cruzamento e pegar a mais favorável. Se nenhum ajuste possível for encontrado é escolhido outro ponto de cruzamento. Uso de conhecimento específico da instância: Operadores recebem heurística muito específica. Ex.: Operador DPX para TSP, preserva a diversidade evitando convergência prematura. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 19 Estrutura de um Algoritmo Memético Busca Local na Saída de Operadores de Variação Consiste de uma ou mais fases de melhora no indivíduo da população durante o ciclo AE; A busca Local atua sobre toda solução criada pela mutação ou recombinação, pode ocorrer em fases distintas do ciclo; UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 20 Estrutura de um Algoritmo Memético Busca Local na Saída de Operadores de Variação Krasnogor – para reduzir o pior caso de execução, é preciso escolher uma busca local em que o operador movimento é diferente dos operadores da recombinação e mutação. Implica em diversificação dos pontos gerados, a qual é melhorada com altas taxas de mutação ou uso de operadores com estruturas de vizinhança distintas UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 21 Estrutura de um Algoritmo Memético Hibridização no Mapeamento genótipo - fenótipo Usado no mapeamento antes da avaliação da aptidão; Ex: Uso de conhecimento específico da instância dentro do decodificador ou da função de reparo. Problema da mochila. Uma linha comum destas aproximações é fazer uso de heurísticas existentes e informações do domínio onde possível. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 22 Problemas de Projetos em Algoritmos Meméticos AMs não são “soluções mágicas” para problemas de otimização. Deve-se tomar cuidado com: –Diversidade da população. –Escolha dos operadores. –Uso do conhecimento adquirido durante o processo de otimização. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 23 Preservação de Diversidade O problema da convergência prematura. Técnicas para combater este problema: - Usar somente uma proporção pequena de boas soluções conhecidas na população inicial. - Usar operadores de recombinação que são projetados para preservar diversidade (como Merz’s DPX). - Modificar operador de seleção para prevenir duplicações. - Usar um método de Boltzmann (Simulated anneling) para o operador de seleção ou o critério de aceitação da busca local. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 24 Preservação de Diversidade Manutenção do sucesso de diversidade para população pode ser justificado: O cruzamento DPX de Merz explicitamente gera indivíduos que são eqüidistantes para cada pai, tendo a mesma distância entre os pais. Operador adaptativo de Boltzmann, por Krasnogor, usa critério de aceitação de novo indivíduo baseado no cozimento simulado. A temperatura é inversamente proporcional à diversidade da população. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 25 Critério de Boltzmann A dinâmica induzida é tal que: População é diversa - espalhamento da aptidão é alto, portanto temperatura é baixa, então aceita apenas de movimentos melhores em relação à aptidão (Explotação). População é pouco dispersa, portanto, temperaturas altas, mais provável a aceitação de movimentos que pioram a aptidão (Exploração). UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 26 Escolha dos operadores O fator Principal no projeto de um AM é: - Escolha da heurística de melhoramento ou do operador de movimento da busca local. - A escolha do operador de movimento pode ter efeito dramático na eficiência e na efetividade da busca local. - Vantagens em usar busca local com um operador de movimento que é diferente dos operadores de movimento usados pela mutação e pelo cruzamento. - Podem-se disponibilizar múltiplos operadores de busca local, escolhendo-se qual a ser aplicado em cada caso. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 27 Uso do Conhecimento AM concentram o uso e o reuso de conhecimento ganho durante o processo de otimização (automático ou não) Tabu search – Lista de Pontos visitados é mantido para proibir que o Algoritmo retorne a estes (mantém a diversidade). A seleção/aceitação de Boltzmann utiliza o espalhamento do genótipo da população atual ou passada, para decisão de aceitação de novas indivíduos. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 28 Resumo sobre Algoritmos Híbrido São utilizados em diversos problemas ; Pode envolver operadores de outros algoritmos ou incorporar um domínio específico do conhecimento do problema. AMs têm se mostrado mais rápidos e mais precisos do que os AGs sobre alguns problemas Deve-se controlar a escolha dos operadores e cuidar da preservação da diversidade com o objetivo de fugir de ótimos locais. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 29 Exemplo: Problema “Timetabling” Atribuição de horários e salas para cursos para restrições: Hard: - Estudantes não podem ser atribuídos a mais de um curso ao mesmo tempo; - A sala deve satisfazer características requeridas pelo curso; - O número de estudantes ≤ a capacidade da sala; - Não mais do que um curso é atribuído a um horário por sala; Soft: - Um estudante tenha um curso no último horário; - Um estudante tem mais do que 2 cursos consecutivos; - Um estudante tem um único curso em um dia; UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 30 Problema “Timetabling” O problema possui: -Um conjunto de N cursos; -45 horários -Um conjunto de R salas; -Um conjunto de F sala a -Um conjunto de M estudantes; O objetivo do problema é satisfazer a restrição hard e minimizar a violação das restrições soft. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 31 Problema “Timetabling” A técnica usada é um operador de mutação leve (light) por um algoritmo de melhora interativa aleatória. Representação: direta, cada gene contém informação sobre horário e sala para um curso particular (ci), i {1,..,N). População inicial: usa um algoritmo de construção que gera timetables aleatórios, 100 indivíduos. Seleção de indivíduos para nova população: Roulette Wheel. Mutação: aleatória sobre 20% dos cursos de 20% dos indivíduos selecionados. Busca Aleatória: Randomised Iterative Improvement Algorithm, sempre aceita uma solução melhor e uma pior com certa probabilidade (critério de monte carlo ). Condição de Terminação: Após 200000 rodadas. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 32 Problema “Timetabling” Algoritmo: POPULAÇÃO SELEÇÃO ROULETTE WHEEL MUTAÇÃO GRUPO DE SELEÇÃO BUSCA LOCAL: Ramdomised iterative improvement UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 33 Referência Bibliografica Abdullah, Salwani, Burke, E. K., and McCollum, Barry “A Hybrid Evolutionary Approach to the University Course Timetabling Problem”. IEEE Congress on Evolutionary Computation, pp. 1764 1768 (2007b). Burke, E. K., Newall, J. P. “A multi-stage evolutionary algorithm for the timetable problem”. IEEE Transactions on Evolutionary Computation, v. 3, n. 1, p. 63-74, April 1999. UFRJ – COOPE 16/05/2012 Algoritmos Evolucionários Híbridos 34