340 likes | 551 Views
Algoritmos Evolucionários Híbridos (Meméticos). Caio Fleming Ferreira de Carvalho Cunha Fellipe de Oliveira Pinto 16 de Maio de 2012. Ementa. Objetivos Motivações para hibridização dos AEs . Introdução aos algoritmos meméticos . Busca local: – Adaptação de Lamarck vs. de Baldwin.
E N D
Algoritmos Evolucionários Híbridos (Meméticos) Caio Fleming Ferreira de Carvalho Cunha Fellipe de Oliveira Pinto 16 de Maio de 2012 Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
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 AEscom outras técnicas; • Fornecer os pontos para projetar adequadamente um Algoritmo Hibrido; Algoritmos Evolucionários Híbridos
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 quando se possui conhecimentos específicos do problema. Algoritmos Evolucionários Híbridos
Métodos adaptados EA puro Motivações para Hibridização de AEs EA enriquecido com conhecimento • O conhecimento específico no algoritmo híbrido é variável, podendo ser ajustada; Performance do método Faixa de problemas Algoritmos Evolucionários Híbridos
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; Algoritmos Evolucionários Híbridos
Algoritmos Meméticos Memes Genes • 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. Unidades de transmissão cultural Unidades de transmissão biológica Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
Busca Local • Componentes que afetam o algoritmo: Regra de pivoteamento (laço interno) : steepestascent– busca entre todos os vizinhos o mais apto, contar = n(i); greedyascent – busca o primeiro vizinho que se mostra mais rápido, (contar = |n(i)|) ou (melhor!= i); 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; Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
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 (fitnesslandscapes), os quais afetam a eficiência e efetividade da busca local. v = {a, b , c, d, e, f, g, h} n(g) = {c, f, h} e1 = {ab, ad, ae, bc, bf, cd, cg, dh, fg, fe, gh, eh} simétrica e valores equiprováveis h g e d a f c b Algoritmos Evolucionários Híbridos
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; Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
POP. INICIAL -Soluções conhecidas -Heurística -Inicialização Seletiva -Busca Local Estrutura de um Algoritmo Memético GRUPO DE REPRODUÇÃO Uso de informações de um problema específico No operador Cruzamento DESCENDENTE Busca Local Seleção modificada de operadores Uso de informações de um problema específico No operador Mutação DESCENDENTE Busca Local Seleção Algoritmos Evolucionários Híbridos
Estrutura de um Algoritmo MeméticoInicializaçã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; Algoritmos Evolucionários Híbridos
Estrutura de um Algoritmo MeméticoInicializaçã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. Algoritmos Evolucionários Híbridos
Estrutura de um Algoritmo MeméticoInicializaçã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. Algoritmos Evolucionários Híbridos
Estrutura de um Algoritmo MeméticoHibridizaçã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. Algoritmos Evolucionários Híbridos
Estrutura de um Algoritmo MeméticoHibridizaçã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. Algoritmos Evolucionários Híbridos
Estrutura de um Algoritmo MeméticoBusca 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; Algoritmos Evolucionários Híbridos
Estrutura de um Algoritmo MeméticoBusca 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 Algoritmos Evolucionários Híbridos
Estrutura de um Algoritmo MeméticoHibridizaçã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. Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
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 (Simulatedanneling) para o operador de seleção ou o critério de aceitação da busca local. Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
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). Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos
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; Algoritmos Evolucionários Híbridos
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 harde minimizar a violação das restrições soft. Algoritmos Evolucionários Híbridos
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. BuscaAleatória:Randomised Iterative Improvement Algorithm, sempreaceitaumasoluçãomelhor e umapior com certaprobabilidade (critério de montecarlo ). Condição de Terminação: Após 200000 rodadas. Algoritmos Evolucionários Híbridos
Problema “Timetabling”Algoritmo: POPULAÇÃO SELEÇÃO ROULETTE WHEEL MUTAÇÃO GRUPO DE SELEÇÃO BUSCA LOCAL: Ramdomisediterativeimprovement Algoritmos Evolucionários Híbridos
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. Algoritmos Evolucionários Híbridos