Computação Natural - Aula 08 - Tópicos Avançados em Computação Evolucionária 2.pdf
-
Upload
vinicius-pereira -
Category
Documents
-
view
7 -
download
1
Transcript of 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
Nú
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
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
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
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.