M - PowerPoint PPT Presentation

About This Presentation
Title:

M

Description:

M TODOS DE OTIMIZA O BIOINSPIRADOS * Leandro M. Almeida – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 54
Provided by: Leand66
Category:
Tags: baldwinian

less

Transcript and Presenter's Notes

Title: M


1
Métodos de otimização bioinspirados
  • Leandro M. Almeida

2
Sistemas computacionais
  • Computação clássica tem dificuldade em lidar com
    mudanças inesperadas
  • Entradas e interações devem ser cuidadosamente
    gerenciadas
  • Redoma de vidro
  • Dispositivos computacionais interagem cada vez
    mais com mundo real
  • Aberto
  • Ruidoso
  • Incontrolável
  • Necessidade de uma forma completamente diferente
    de projetar e implementar programas.

3
Sistemas computacionais
  • Computação Não-clássica
  • Permite construção de sistemas computacionais
    complexos
  • Autônomos
  • Adaptáveis
  • Robustos
  • Sistemas devem ser executados corretamente e com
    segurança em ambientes
  • Imprevisíveis
  • Em constante mudança
  • Hostis
  • Por longos períodos de tempo

4
Sistemas computacionais
  • Processos biológicos lidam bem com esses
    problemas
  • Criaturas vivas são robustas, autônomas e
    adaptáveis
  • Podem sobreviver a
  • Machucados
  • Danos
  • Uso prolongado
  • Ataques contínuos de outras criaturas
  • Adaptam-se ao ambiente de forma continuada

5
Sistemas computacionais - futuro
  • Deverão ser mais flexíveis e amigáveis
  • Robustos
  • Capazes de executar várias atividades sem
    intervenção humana
  • Configuração
  • Otimização
  • Manutenção
  • Conserto
  • Detecção, diagnóstico, reparo
  • Diferenciação
  • Possíveis caminhos orientação as aspectos,
    reflexão computacional, etc.

6
Biologia
  • Biologia produz organismos complexos adaptáveis,
    mesmo utilizando quantidades enormes de
    componentes pouco confiáveis
  • Como é possível?
  • Auto-avaliação
  • Auto-reparo
  • Auto-configuração
  • Vários níveis de redundância
  • Vários níveis de defesa
  • Por que não modelos computacionais bio-inspirados?

7
Relacionamento natural
Biologia
Engenharia
8
Computação bioinspirada
  • A natureza possui soluções elegantes e eficientes
    para vários problemas
  • Presentes nas mais diversas espécies de seres
    vivos
  • Inspira novas técnicas computacionais
  • Inspiração ? Cópia.

9
Computação bioinspirada
  • Biologia
  • Evolução da espécies
  • Colônia de formigas
  • Enxames
  • Sistemas imunológicos
  • Cérebro
  • DNA
  • Células
  • Membranas biológicas
  • Computação
  • Algoritmos evolucionários
  • Inteligência de colônia de formigas
  • Inteligência de exames
  • Sistemas imunes artificiais
  • Redes neurais artificiais
  • DNA computing
  • Autômato celular
  • Membrane computing

A maioria das abordagens computacionais
bioinspiradas resultam de modelos matemáticos
projetados para melhor compreender os sistemas
naturais, e.g. por meio de simulações
10
Algoritmos evolucionários
  • Existem muitas variações de Algoritmos
    Evolucionários (AE)
  • Dada uma população de indivíduos, a pressão
    exercida pelo ambiente causa uma seleção natural
    (sobrevivência dos mais aptos), a qual causa o
    aumento da aptidão da população
  • Dada uma função de qualidade a ser maximizada,
    podemos criar aleatoriamente um conjunto de
    soluções candidatas
  • Com base na aptidão, alguns dos melhores
    candidatos são escolhidos para serem a semente da
    nova geração, através da recombinação e/ou
    mutação
  • O operador de recombinação pode ser aplicado a
    dois ou mais pais, gerando um ou mais filhos

11
Algoritmos evolucionários
  • A mutação é aplicada em apenas um candidato
    resultando em um novo candidato
  • Produção de novos candidatos que competem com
    base na aptidão e/ou na idade para formar a nova
    geração
  • O processo normalmente é iterativo até que uma
    qualidade (soluções) seja alcançada ou então um
    limite computacional, temporal, etc
  • Processos fundamentais dos sistemas
    evolucionários
  • Operadores de variação (recombinação e mutação)
  • Ação de seleção como força que pressiona a
    qualidade

12
Algoritmos evolucionários
  • A evolução é visto com um processo de adaptação
  • Necessidade de manutenção da diversidade de
    indivíduos
  • Procedimentos de seleção contam com mecanismos
    baseados em aleatoriedade e elitismo

13
Algoritmos evolucionários
  • AE são baseados em populações, processam
    simultaneamente uma coleção de soluções
  • AE freqüentemente usam recombinação para mesclar
    informações de mais de uma solução candidata para
    a criação de uma nova solução
  • AE são estocásticos

Pais
Inicialização
Seleção de pais
Recombinação
População
Mutação
Prole
Seleção de sobreviventes
Termino
14
Exemplos de Aplicação Redes MLP
15
Exemplos de Aplicação Redes SOM
16
Comportamento típico de um AE
  • Fases da otimização de um problema unidimensional

Fase inicial Distribuição quase aleatória da
população
Fase mediana População disposta nas encostas
Fase final População concentrada no alto das
colinas
17
Outras características dos AE
  • Possuem uma fase de exploração e outra chamada de
    explotação
  • Podem sofrer problemas de convergência prematura,
    ou seja, perda acelerada da diversidade da
    população
  • Possuem um anytime behaviour, ou seja,
    conseguem apresentar uma solução a qualquer
    momento da busca
  • Freqüentemente chamados de métodos de otimização
    global
  • Englobam um conjunto de algoritmos que diferem em
    alguns detalhes.

18
Família de AE
  • Normalmente são classificados de acordo com a
    forma de representação das soluções candidatas
  • Genétic Algorithms (GA) cadeia de caracteres
    sob um alfabeto finito
  • Evolution Strategies (ES) vetores de valores
    reais
  • Evolutionary Programming (EP) máquinas de
    estados finitos
  • Genetic Programming (GP) estrutura de árvores.
  • Essas diferenças possuem uma origem
    principalmente histórica.

19
Família de AE
Componente/ Característica Dialetos dos AE Dialetos dos AE Dialetos dos AE Dialetos dos AE
GA ES EP GP
Problemas típicos Otimização combinatória Otimização contínua Otimização Modelagem
Representação típica Cadeia de caracteres sob um alfabeto finito Vetores de números reais Freqüente utilização do formato de ES Árvores
Papel da recombinação Operador de variação primário Importante, mas secundário Nunca aplicado Primário/somente um operador de variação
Papel da mutação Operador de variação secundário Importante, mas as vezes é o único operador Somente um operador de variação Secundário, as vezes não usado por completo
Seleção de pais Aleatória, guiada pela aptidão Aleatória, uniforme Cada indivíduo cria um filho Aleatória, guiada pela aptidão
Seleção de sobreviventes Generational e Stead-state Determinística, guiada pela aptidão Aleatória, guiada pela aptidão Aleatória, guiada pela aptidão
20
Por que utilizar AE para resolver problemas de
otimização?
  • Propriedades das funções
  • Embora as considerações sobre convexidade/concavid
    ade e continuidade não sejam necessariamente um
    fundamento de AE, esse é o real propósito das
    maioria das técnicas de programação matemática.
    Embora ambos os domínios compartilhem o mesmo
    conceito de algoritmos gerar-e-testar,
    procedimentos de busca evolucionários não são
    diretamente comparáveis as técnicas de busca
    convencionais.
  • Uma única solução
  • Técnicas de programação matemáticas fornecem uma
    única melhor solução que não é interessante
    para muitas tomadas de decisão. AE são várias
    melhores.

21
Por que utilizar AE para resolver problemas de
otimização?
  • Impraticabilidade
  • Normalmente não tratável com técnicas de
    programação matemáticas, já com AE o problema
    pode vir a tornar-se tratável.
  • Conhecimento do domínio
  • Não é difícil utilizar AE, não requerem um
    conhecimento rico do domínio.
  • Robustez
  • Uma mesma estrutura pode ser utilizada para
    resolver vários problemas.
  • Manipulação de restrição e métodos de penalidade
  • A função de pênalti é facilmente implementável
    assim como a mudança de seus parâmetros.

22
Por que utilizar AE para resolver problemas de
otimização?
  • Exploração e explotação
  • AE são de propósito geral, independente de
    domínio e possuem características de exploração e
    explotação.
  • Tempo computacional
  • Provêm rápidas aproximações a funções,
    near-optimal
  • Otimização multiobjetivo
  • Conseguem trabalhar muito bem em problemas com
    objetivos conflitantes.
  • Soluções iniciais
  • Não requerem um método especializado para gerar
    as soluções iniciais.

23
Por que utilizar AE para resolver problemas de
otimização?
  • Problemas árduos
  • Devido ao paralelismo inerente dos AE os
    problemas árduos passam ser menos árduos se
    comparados quando do uso de técnicas clássicas.
  • Otimização sob mudança do ambiente
  • Em muitos problemas de otimização do mundo real,
    o ambiente flutua, provocando mudanças dramáticas
    na aptidão dos indivíduos. Otimização sob
    mudanças no ambiente (dinâmica, não-estacionária
    ou on-line) podem ser manipuladas eficientemente
    através do uso de AE.

24
Quando é recomendável usar AE?
  • Otimização do conhecimento
  • Mesmo pesquisadores/profissionais com um pobre ou
    nenhum conhecimento matemático a respeito do
    problema de otimização ainda podem resolver o
    problema usando uma metodologia baseada em AE
  • Quando soluções ranked como 2ª, 3ª, etc. melhores
    são desejadas
  • Para solucionar problemas multimodais
  • Para uma rápida aproximação de soluções
  • Para solucionar problemas multiobjetivos
  • Otimização sob mudanças no ambiente

25
Quando é recomendável usar AE?
  • Para a construção de sistemas inteligentes
    híbridos
  • Se AE são computacionalmente menos custosos que
    outras técnicas, devem então ser preferidos
  • Se o tempo computacional não é uma preocupação,
    métodos baseados em AE podem ser empregados para
    encontrar soluções quase-ótimas
  • Problemas envolvendo características complexas
    como multi-objetividade, multimodalidade,
    mudanças no ambiente, etc. torna-se útil a
    aplicação de AE.

26
Desvantagens do uso de AE
  • Técnicas baseadas em AE são reconhecidas com
    algoritmos de busca heurísticos.
  • Não há garantia de ótimalidade quando aplicados
    a solução de problemas de otimização
  • Os parâmetros usados pelas técnicas baseadas em
    AE são orientadas ao problema.
  • Não é uma tarefa fácil a determinação de
    parâmetros apropriados para um problema
  • O padrão de convergência e complexidade de tempo
    também são dependentes do problema
  • Não ajudam a examinar a percepção matemática de
    problemas de otimização, onde pode haver
    informações adicionais úteis para a tomada de
    decisão.

27
Desvantagens do uso de AE
  • A análise de sensibilidade pode ser executada,
    para todo o tipo de modelo, na escala desejada,
    embora não seria tão eficiente quanto a
    sensibilidade do LP (Linear Programming)
  • Em alguns casos não são úteis para o ajuste fino
    de soluções (busca local, explotação)
  • Alto custo computacional na avaliação do
    indivíduo (dependente do problema)
  • Convergência prematura (manutenção da
    diversidade)
  • Ausência de um mecanismo explicativo.

28
Por que hibridizar AE?
  • Modelos híbridos cujos AEs
  • são parte de um sistema maior ou
  • têm outros métodos ou estruturas de dados
    incorporados a eles.
  • Objetivos da hibridização
  • Modelos híbridos para melhorar desempenho de
    técnicas já existentes.
  • Modelos híbridos para melhorar a busca por boas
    soluções.
  • Modelo híbridos para resolver os pontos negativos
    dos AE.

29
Por que hibridizar AE?
  • Muitos problemas complexos podem ser decompostos
    em sub-problemas a serem resolvidos com técnicas
    distintas.
  • Não existe um método de propósito geral
    totalmente bem sucedido ou eficiente.
  • Pode-se combinar AEs com heurísticas específicas.
  • Deve-se ter cautela para não fazer a busca local
    inviabilizar a geração de novas soluções.
  • Busca-se solução híbrida por ser melhor que cada
    um dos algoritmos que compõe o modelo híbrido.

30
No Free Lunch (NFL) Teorema
  • A quantidade de conhecimento específico no
    algoritmo híbrido é variável e pode ser ajustada.

31
Algoritmos meméticos
  • AEs podem explorar melhor que explotar
  • Em parte devido à natureza aleatória dos
    operadores de variação.
  • Pode-se adicionar uma etapa de busca local para
    melhorar explotação.
  • A combinação de AEs com operadores de busca local
    que atuam dentro do laço do AE é chamada de
    Algoritmo Memético.
  • O termo memético também é usado para AEs cujos
    operadores empregam conhecimento específico de
    instâncias do problema.

32
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.

33
Busca local
  • Componentes principais que afetam o algoritmo
  • Regra de pivoteamento (encerra o laço interno)
  • Condição de profundidade (encerra o laço
    externo)
  • Determina o número de interações da busca local.
  • Escolha da função geradora de vizinhança

34
Busca local
  • Escolha da função de vizinhança
  • N(i) é freqüentemente definida como um 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
    os pontos representáveis, 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.

35
Busca local
  • Em resumo
  • É definida pela combinação de vizinhança, N(x), e
    regra de pivoteamento.
  • É relacionada a metáfora da paisagem (landscape).
  • N(x) é definida como o conjunto de pontos que
    podem ser alcançados a partir da aplicação de um
    operador de movimento.
  • Exemplo Busca bit flipping em problemas binários.

36
Lamarckianismo e Efeito Baldwin
  • Herança das mudanças feitas ao indivíduo
    (características adquiridas)
  • Um AM é dito Lamarckiano se o indivíduo
    resultante da busca local substitui o original.
    Isto é, as características são herdadas.
  • Um AM é dito Baldwiniano se o processo
    evolucionário for guiado pelas adaptações
    favoráveis sem modificações nas aptidões dos
    indivíduos, devido a aprendizagem ou
    desenvolvimento, refletindo em mudanças de
    características genéticas.
  • Abordagem Baldwiniana ou uma combinação
    probabilística dos dois mecanismos.

37
Two Models of Lifetime Adaptation
  • Lamarkian
  • traits acquired by an individual during its
    lifetime can be transmitted to its offspring
  • e.g. replace individual with fitter neighbour
  • Baldwinian
  • traits acquired by individual cannot be
    transmitted to its offspring
  • e.g. individual receives fitness (but not
    genotype) of fitter neighbour

38
Estrutura de um Algoritmo Memético
  • Possíveis pontos onde se pode hibridizar

39
Estrutura de um AM - Inicialização
40
Estrutura de um AM - Inicialização
  • Possíveis 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
    (qualidade da solução final).
  • Dividir o esforço computacional entre
    inicialização heurística e busca evolucionária
    pode gerar melhores resultados que gastar todo o
    esforço em busca evolucionária apenas.

41
Estrutura de um AM - Inicialização
  • Maneiras de mudar a função de inicialização em
    relação a um critério aleatório
  • Semeadura (Seeding) Semeia a população com uma
    ou mais soluções boas, vindas de outras técnicas
  • Exemplos de emprego de informação específica do
    problema heurística do vizinho mais próximo para
    os problemas do tipo TSP e agendamento do mais
    difícil em primeiro lugar para problemas de
    agenda e planejamento.
  • Incialização Seletiva (Selective initialisation)
    Cria-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 baseando-se também na diversidade.

42
Estrutura de um AM - Inicialização
  • Ainda maneiras de mudar a função de inicialização
    em relação a um critério aleatório
  • Realizar busca local em cada membro da população
    escolhido aleatoriamente. Produz-se um conjunto
    de indivíduos localmente ótimos.
  • Empregar um ou mais métodos anteriores para
    identificar uma ou mais boas soluções
  • Deve clonar e aplicar mutação com altas taxas
    (mass mutation) nas soluções iniciais encontradas
    de forma a gerar um número de indivíduos na
    vizinhança do ponto inicial.

43
Estrutura de um AM Operadores Inteligentes
  • Operadores inteligentes de variação Incorporam
    conhecimento específico da instância ou do
    problema ao operador.
  • Introdução de viés (bias) nos 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.

44
Estrutura de um AM Operadores Inteligentes
  • 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 proteína
    separados pelo ponto de cruzamento e pegar a
    energeticamente mais favorável. Se nenhum ajuste
    possível for encontrado, escolher outro ponto de
    cruzamento.
  • Uso de conhecimento específico da instância
  • Operadores recebem heurística muito específica.
  • Ex. Merz and Frieslebens distance-preserving
    crossover (DPX) operator para o TSP.

45
Estrutura de um AM Operadores Inteligentes
  • Busca local atuando sobre todas as soluções
    criadas pelos operadores de variação.
  • É compatível com o conceito de meme, pois realiza
    uma ou mais fases de melhorias de indivíduos
    durante um ciclo do AE.
  • É o tipo mais comum.

46
Projeto de AM
  • 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.

47
Projeto de AM Preservação da 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
    Merzs DPX).
  • Modificar operador de seleção para prevenir
    duplicações.
  • Modificar operador de seleção ou o critério de
    aceitação da busca local para usar um método de
    Boltzmann.

48
Projeto de AM Preservação da diversidade
  • Manutenção de diversidade em uma população é o
    objetivo de algoritmos com algum sucesso
  • 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.

49
Projeto de AM Escolha dos operadores
  • O fator crucial no projeto de um AM é
  • Escolha da heurística de melhoramento ou do
    operador de movimento da busca local.
  • Merz e Freisleben mostram que a escolha do
    operador de movimento pode ter efeito dramático
    na eficiência e na efetividade da busca local.
  • Krasnogor mostrou 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.

50
Projeto de AM Uso do conhecimento
  • Como usar e reusar o conhecimento adquirido
    durante o processo de otimização?
  • Na recombinação.
  • De modo geral não são usados mecanismos
    explícitos.
  • Uma possível hibridização tabu search.
  • Extensões dos esquemas de aceitação/seleção de
    Boltzmann.
  • Uso de informação sobre os genomas da população
    atual e/ou populações anteriores.

51
Alguns artigos...
  • Delgado M., Cuellar M.P., Pegalajar M.C.
    Multiobjective hybrid optimization and training
    of recurrent neural networks. In IEEE
    TRANSACTIONS ON SYSTEMS MAN AND CYBERNETICS PART
    B-CYBERNETICS, vol. 38(2), pp. 381-403, 2008.
  • Petrovic N.I., Crnojevic V. Universal impulse
    noise filter based on genetic programming. IEEE
    TRANSACTIONS ON IMAGE PROCESSING, vol. 17(7), pp.
    1109-1120, 2008.
  • Ben Ali, Y.M. Advances in evolutionary feature
    selection neural networks with co-evolution
    learning . NEURAL COMPUTING APPLICATIONS, vol.
    17(3), pp. 217-226, 2008.
  • Zhou, Y., He, J. A runtime analysis of
    evolutionary algorithms for constrained
    optimization problems. IEEE TRANSACTIONS ON
    EVOLUTIONARY COMPUTATION, vol. 11(5), pp.
    608-619, 2007.
  • Droste, S., Jansen, T., Wegener, I. On the
    analysis of the (1 1) evolutionary algorithm.
    Theoretical Computer Science, 276, pp. 51-81,
    2002.

52
Conferências e periódicos sobre AE
  • Conferências
  • IEEE Conference on Evolutionary Computation (CEC)
  • Genetic and Evolutionary Computation Conference
    (GECCO)
  • Parallel Problem Solving from Nature (PPSN).
  • Periódicos
  • Evolutionary Computation,
  • IEEE Transactions on Evolutionary Computation
  • Genetic Programming and Evolvable Machines

53
Referências
  • Eiben, A.E., Smith, J. E.. Introduction to
    Evolutionary Computing. Berlin Springer, 2003.
  • Linden, R. Algoritmos Genéticos uma importante
    ferramenta da inteligência computacional. Rio de
    Janeiro Brasoft, 2006.
  • Pal, S. k., Bandyopadhyay, S. Classification and
    Learning using Genetic Algorithms. Berlin
    Springer, 2007.
  • Haupt, R. L., Haupt, S.E. Practical Genetic
    Algorithms. USA Wiley, 1998.
  • Khosla, R., Dillon, Tharam. Engineering
    Intelligente Hybrid Multi-Agente Systems. USA
    KAP, 1997.
  • De Jong, K. A. Evolutionary Computation. London
    MIT, 2006.
Write a Comment
User Comments (0)
About PowerShow.com