150 likes | 312 Views
ALGORITMOS MEMÉTICOS. Memetic Algorithms’ Home Page : http://www.densis.fee.unicamp.br/~moscato/memetic_home.html Papers by: Merz, Burke, Radcliffe, Hofmann (tese), Moscato, Gorges-Schleuter, and Mülhenbein (all available at the MAs’ Home Page).
E N D
ALGORITMOS MEMÉTICOS • Memetic Algorithms’ Home Page: http://www.densis.fee.unicamp.br/~moscato/memetic_home.html • Papers by: Merz, Burke, Radcliffe, Hofmann (tese), Moscato, Gorges-Schleuter, and Mülhenbein (all available at the MAs’ Home Page). • New Ideas in Optimization, D. Corne, F. Glover, e M. Dorigo (eds.), McGraw-Hill, 1999. (five chapters & Scatter Search). • Genetic Algorithms & Engineering Design, M. Gen e R. Cheng, Wiley, 1997. • Handbook of Applied Optimization, P. Pardalos and M. Resende (eds.), Oxford University Press, 1999.
GAs e MAs • Para GAs população grupo de organismos vivos • Para MAs população grupo comconhecimento sobre métodos para a resoluçãodo problema. Heurísticas (construtivas e de melhoramento iterativo) Algoritmos de aproximação - PTAS - FPTAS Métodos exatos (BnB - truncated BnB - Branch and Cut) Propriedades da solução ótima ou de boas soluções Recombinação tem caráter mais geral que as usadas pelos GAs
Evolução Cultural • características comuns não são herdadas devido a processos simples de recombinação de soluções anteriores. • Exemplos: • Fórmula 1 • Artes Marciais • Mutação totalmente aleatória tem uma importância significativamente menor. • Uso de informação histórica e lógica externa.
Algoritmos Meméticos para Problemas de otimização • ‘Meme’: palavra introduzida por Richard Dawkins no livro “The Selfish Gene’’ (‘76). • Unidade de imitação, análoga do gene, na evolução cultural. • ‘Memetic Algorithms’ (MAs, ‘89): caracterização de algoritmos evolutivos mal chamados de GAs - poucaou nenhumarelaçãocom a biologia. • ‘hybrid GAs’ MAs • ‘Scatter Search’ (Glover, ‘77) MAs
Glossário comparativo • Nos GAs definimos • Indivíduo(genótipo, cromossomo, estrutura, string, etc.) • cadeia de genes que codifica uma possível configuração do problema. • codificação de uma solução (existem várias maneiras de codificar uma mesma solução) • Nos MAs usamos preferentemente‘Agente’ • além disso, codifica possíveis métodos de resolução particulares ao problema. • representações múltiplas.
Representações múltiplas - Exemplo • Number Partitioning: • exemplo: partição em dois grupos (15, 10) e (12, 4, 9). • Representação Binaria Direta: s = (1, -1, 1, -1, -1). • Ternária direta: s(TD) = (1, ?, 1, ?, -1) com decodificação gulosa ( s (TD,g) -> s). Binária direta Ternária direta. • função de decodificação: “growth function’’, pois leva do genótipos(TD) ao fenótipos.
Representações Múltiplas (continuação) • Genótipo = configuração do espaço de busca. • Fenótipo solução factível (mas não sempre). • Diferentes funções de decodificação dão lugar a diferentes representações (pois o mesmo genótipo pode dar lugar a diferentes fenótipos). • Geralmente a decodificação é determinista. • Um fenótipo pode ser gerado por vários genótipos. • GAs geralmente estão mais vinculados a só um tipo de decodificação (MAs oferecem mais liberdade).
Outras Representações Múltiplas • Às vezes é preciso usar outras representações, não necessariamente “óbvias”. • Exemplo 1: Representação matricial xik = 1 se os inteiros ai e ak estão em diferentes partições; xik = 0, caso contrário. Para discutir: problemas e vantagens dela... • Exemplo 2: Representação em árvore Fato: Toda árvore pode ser colorida com duas cores pode representar partições...
Representações em árvore • No exemplo anterior, • fenótipo = partição em dois grupos (15, 10) e (12, 4, 9). • genótipo é uma árvore
Representação em cadeia • Exemplo: seja o fenótipo a seguinte partição {(125, 365, 40, 120), (237, 43, 158, 101)} Ele pode ser representado pelo genótipo 125 -- 237 -- 365 -- 43 -- 40 -- 158 -- 120 -- 101 custo = |650 -539|= 111 Se por exemplo pegamos uma subcadeia que começa e termina numa cor diferente (por exemplo 237 -- 365 -- 43 -- 40) e invertemos a ordem dela, fica a nova partição: 125 -- 40 -- 43 -- 365 -- 237 -- 158 -- 120 -- 101 custo = |525 - 664| = 139
Mutação e Representação • Para os GAs dizemos mutação • pequena perturbação aleatória que modifica um cromossomo. Para os MAs: mutação totalmente aleatória é permitida... é às vezes necessária mas é pouco efetiva. `pequena’... Isso depende da representação. é importante: para algum tipo de instâncias do problema ou quando a recombinação não está sendo eficiente. nas crises de diversidade
Glossário “invariante” GAs e MAs • população • um conjunto de indivíduos (agentes) representando os atuais pontos que fazem parte da busca no espaço de soluções. • geração • função de “fitness” ou ‘função guia´ pode ser multiobjetivo, mesmo em presença de uma função-objetivo única.
Glossário “invariante” (continuação) • operador de reprodução (recombinação/crossover) • MAs classificam: crossover recombinação crossover: só entre duas soluções complexidade “baixa” - até O(n log n) recombinação: pode ser ‘cega ’ ou `míope ’ ou ter conhecimento completo
Representação - Características boas • Representação completa e representação válida. • Completa:toda solução factível do problema é representada por pelo menos uma configuração no espaço de busca. • Válida:pelo menos uma das soluções ótimas do problema é representada por uma configuração no espaço de busca. • Completa -> Válida, a inversa não é sempre verdade. • Mutação: pequenas mudanças estruturais devem ter por conseqüência pequenas variações na função-objetivo do problema e na função guia. Tarefa: Analise diferentes mutações nas representações discutidas para o problema de number partitioning.
Representação - Problemas “bons” ? • Alguns problemas aparentam ter representações boas por natureza para os GAs o MAs. • Problemas na classe DLS (discrete linear subset). • Problemas com “baixa epistasis”. • DLS (Definição): Seja N={1, ..., n} e seja F um conjunto de subconjuntos de N, F 2N com a propriedade de que nenhum conjunto em F está contido propriamente em outro. O problema DLS (F, w) é o problema de otimização combinatória com conjunto factível F e função de custo custo(f) = wi fF, i f onde w = (w1, ..., wn) é um vetor de pesos (dado) em Rn.