4
9/29/2009 1 Tópicos Avançados em Computação Evolucionária Computação Natural Gisele L. Pappa Tópicos Algoritmos Multiobjetivo Algoritmos Paralelos Otimização Multi-objetiva Grande parte dos problemas requer a otimização de dois ou mais objetivos Ex: minimizar o custo de um produto e ao mesmo tempo maximizar a qualidade do produto Abordagem convencional para tratar desse problema: Combinar os objetivos em uma fórmula, atribuindo pesos a diferentes objetivos Fitness = 2/3 Objective_1 + 1/3 Objective_2 (assumindo que os objetivos estão normalizados para retornar valores dentro do mesmo intervalo, como 0..1) Otimização Multi-objetiva Desvantagens da abordagem convencional Objetivos diferentes são normalmente não- comensuráveis, isto é, eles medem aspectos diferentes da qualidade de uma solução, que não deveriam ser adicionados ou subtraídos em uma mesma fórmula Ela retorna uma solução, enquanto em problemas MO pode ser conveniente retornar um conjunto de soluções, representando diferentes configurações (trade-offs) entre os objetivos Solução:Algoritmos Evolucionários Multi-Objetivos Baseados no conceito de dominância de Pareto Retornam um conjunto de soluções não-dominadas Otimização Multi-objetiva Exemplo de dominância de Pareto Minimizar o custo de produção e o número de bugs encontrados em um programa Soluções A, B, C são não-dominadas Solução X é ruim, pois é dominada por A Solução Y é ruim, pois é dominada por B A B C X Y Custo de Produção Número de bugs Otimização Multi-objetiva Definição de dominância de Pareto: Um solução S 1 domina uma solução S 2 se e apenas se: S 1 não é pior que S 2 em nenhum objetivo S 1 é obrigatoriamente melhor que S 2 com respeito a pelo menos um objetivo O conjunto de soluções não-dominadas é chamado fronte de Pareto A cada geração, o conjunto de indivíduos não- dominados é utilizado como uma estimativa do verdadeiro (e desconhecido) fronte de Pareto O Alg. Evolucionário deve retornar ao usuário o melhor fronte de Pareto estimado, isto é, um conjunto de soluções não-dominadas

Computação Natural - Aula 08 - Tópicos Avançados em Computação Evolucionária 2.pdf

Embed Size (px)

Citation preview

Page 1: Computação Natural - Aula 08 - Tópicos Avançados em Computação Evolucionária 2.pdf

9/29/2009

1

Tópicos Avançados em Computação Evolucionária

Computação Natural

Gisele L. Pappa

Tópicos

• Algoritmos Multiobjetivo

• Algoritmos Paralelos

Otimização Multi-objetiva

• Grande parte dos problemas requer a otimização de dois ou mais objetivos

– Ex: minimizar o custo de um produto e ao mesmo tempo maximizar a qualidade do produto

• Abordagem convencional para tratar desse problema:

– Combinar os objetivos em uma fórmula, atribuindo pesos a diferentes objetivos

• Fitness = 2/3 Objective_1 + 1/3 Objective_2

(assumindo que os objetivos estão normalizados para retornar valores dentro do mesmo intervalo, como 0..1)

Otimização Multi-objetiva

• Desvantagens da abordagem convencional

– Objetivos diferentes são normalmente não-comensuráveis, isto é, eles medem aspectos diferentes da qualidade de uma solução, que não deveriam ser adicionados ou subtraídos em uma mesma fórmula

– Ela retorna uma solução, enquanto em problemas MO pode ser conveniente retornar um conjunto de soluções, representando diferentes configurações (trade-offs) entre os objetivos

• Solução:Algoritmos Evolucionários Multi-Objetivos

– Baseados no conceito de dominância de Pareto

– Retornam um conjunto de soluções não-dominadas

Otimização Multi-objetiva

• Exemplo de dominância de Pareto

– Minimizar o custo de produção e o número de bugs encontrados em um programa

Soluções A, B, C são não-dominadas

Solução X é ruim, pois é dominada por A

Solução Y é ruim, pois é dominada por B

A

B

C

X

Y

Custo de Produção

mer

o d

e b

ugs

Otimização Multi-objetiva• Definição de dominância de Pareto:

– Um solução S1 domina uma solução S2 se e apenas se:• S1 não é pior que S2 em nenhum objetivo

• S1 é obrigatoriamente melhor que S2 com respeito a pelo menos um objetivo

• O conjunto de soluções não-dominadas é chamado fronte de Pareto

• A cada geração, o conjunto de indivíduos não-dominados é utilizado como uma estimativa do verdadeiro (e desconhecido) fronte de Pareto

• O Alg. Evolucionário deve retornar ao usuário o melhor fronte de Pareto estimado, isto é, um conjunto de soluções não-dominadas

Page 2: Computação Natural - Aula 08 - Tópicos Avançados em Computação Evolucionária 2.pdf

9/29/2009

2

Otimização Multi-objetiva

Fórmula combinando MO baseada em Paretoobjetivos

Usuário escolhe pesos para cada objetivo

Algoritmo busca por uma única solução ótima

Busca por um conjuntode soluções não-dominadas

Retorna uma únicasolução ao usuário

Retorna soluções não-dominadasao usuário

Usuário escolhe a soluçãode seu interesse

Algoritmos Evolucionários Multiobjetivos

• Deb e Coello

– NSGA

– SPEA

• Diversos desafio de pesquisa da área

– Tomada de decisão

– Retorna um conjunto de soluções, qual delas eu devo usar?

SPEA (Strength Pareto Evolutionary Algorithm)

• Além de uma população, trabalha com um conjunto externo de indivíduos

• Salva todos os indivíduos não-dominados únicos no conjunto externo

• O conjunto externo tem um tamanho máximo• Se o número de indivíduos não dominados é

maior que o tamanho máximo do arquivo, uma técnica de clusterização é utilizada para preservar as características

• Calcula a fitness para elementos da população e do conjunto externo

SPEA

• Cada indivíduo i no conjunto externo recebe um valor de força S(i) no intervalo de [0;1), que também representa o valor da fitness.

• S(i) é o número de indivíduos da população j que são dominados por ou iguais a i em relação aos objetivos, divididos pelo número de indivíduos da população +1.

• A fitness de um indivíduo j da população é calculado através da soma dos valores S(i) de todos os membros i do conjunto externo que dominam ou são iguais a j mais um

SPEA

• Fase de seleção (torneio de tamanho 2)– Selecionados da união da população e do

conjunto externo

• O objetivo aqui é minimizar a fitness

• Indivíduos no conjunto externos tem maior chance de ser selecionados do que membros da população

• Cruzamento e mutação criam uma nova população

SPEA

• Problemas

– Fitness – se existe apenas um indivíduo na população externa, todos os indivíduos da população tem o mesmo valor de fitness

– Tamanho máximo da população externa

• Apesar de um método de clusterização preservar indivíduos diferentes, pode perder indivíduos significativos

Page 3: Computação Natural - Aula 08 - Tópicos Avançados em Computação Evolucionária 2.pdf

9/29/2009

3

SPEA-2

• Muda a maneira como a fitness é calculada para que essa utilize não apenas os indivíduos dominados, mas também os indivíduos que

• Cada indivíduo i na população e no conjunto externo recebe um valor S(i), que representao número de indivíduos dominados por i tantona população quanto no conjunto externo de dados.

SPEA-2

• “Raw” Fitness

• Distância entre indivíduos (informação sobre densidade)

• Fitness

SPEA vs SPEA-2

Fig: Valores de fitness do SPEA (esquerda) versus SPEA-2 (direita) em um problema de maximização de dois objetivos f1 e f2

Algoritmos Paralelos

• 3 abordagens principais

– Paralelização global

– Paralelização em alto nível de abstração

• Modelo da ilha (island model)

– Paralelização em baixo nível de abstração

Paralelização Global

• O algoritmo genético é executado em uma máquina e a fitness distribuída em diversas máquinas.

• Eficiente apenas quando o custo maior do algoritmo está no cálculo da fitness.

Paralelização em Alto Nível

• Mais utilizada

• População é dividida em múltiplas sub-populações

• Evolução ocorre de maneira isolada, com algumas fases de migração

• Qualidade da performance é influenciada pelo número e tamanho de demes (sub-populações) disponíveis, além do material genético trocado durante as fases de migração

Page 4: Computação Natural - Aula 08 - Tópicos Avançados em Computação Evolucionária 2.pdf

9/29/2009

4

Paralelização em Baixo Nível

• Utiliza muitas sub-populações com poucos elementos

• Apropriada para estruturas de supercomputadores

• Área de pesquisa sendo explorada é a de criação de modelos híbridos

– Combinam paralelização em alto e baixo níveis

Migração

• Um dos fatores determinantes no sucesso de algoritmos evolucionários paralelos

• 3 problemas– Quando migrar– Quem migrar– Quantos migrar

• Migração normalmente ocorre em intervalos fixos de tempo

• Maioria dos artigos usa uma taxa de migração de 5% a 20% da população– Depende do problema

Outros detalhes

• Inicialização com heurísticas

• Crossover e Mutação são mutuamente exclusivos?– Não, algoritmos genéticos clássicos aplicavam

crossover seguidos de mutação (de acordo com as probabilidade definidas pelo usuário)

• Computação evolucionária interativa– Artigo para leitura

• A broad and narrow approach to interactive Evolutionary design—An aircraft design example, Oliver Bandte , Applied Soft Computing, 2009, 9, 448-455

Leitura Recomendada

• SPEA2: Improving the Strength Pareto Evolutionary

Algorithm For Multiobjective Optimization, E. Zitzlerand K. Giannakoglou and D. Tsahalis and J. Periauxand K. Papailiou and T. Fogarty , 2002.