UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Metaheurísticas de Otimização Bio-Inspiradas Aula 12 – Otimização por Enxame de Partículas – Parte 1* Prof. Dr. Hugo Valadares Siqueira * Aula baseada nas notas de aula do prof. Fernando Von Zuben, da UNICAMP UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Swarm Intelligence O que é? • Algoritmos em que agentes atuam localmente realizando alguma interação com o grupo; Características: • Individualismo x Coletivo; • Cada agente interage localmente com o ambiente; • Essa iteração causa um padrão coerente de forma global resolvendo um problema; • Não existe centralização; • Coordenação sem comunicação evidente; • Algoritmos populares: Ant Colony Optimization e Particle Swarm Optimization. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ • Na natureza, criaturas simples apresentam comportamentos complexos; • Os comportamentos destes são alterados com coerência conforme o ambiente muda; • Esse comportamento é observado em: - Insetos; - Pássaros; - Bactérias; - e outros animais que vivem em bandos. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Na Natureza: • Busca pelo menor caminho entre o ninho e a fonte de alimento; • Organização dos corpos de indivíduos mortos e lixos dentro do ninho; • Emigração de um bando; • Construção do ninho; • Voo em grupo; No dia-a-dia: • Trânsito (a ação dos indivíduos influi na organização do todo); • Atribuição de pequenas tarefas para uma equipe em um grande projeto; • Linha de montagem; • Cirurgia Médica. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Inteligência de Enxame • Várias espécies se beneficiam da sociabilidade: i) a vida em grupos sociais aumenta a probabilidade de acasalamento; ii) facilita a caça e coleta de alimentos; iii) reduz a probabilidade de ataque por predadores; iv) permite a divisão de trabalho, etc; UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ • Comportamentos sociais também inspiraram o desenvolvimento de diversas ferramentas computacionais para a solução de problemas e estratégias de coordenação e controle de robôs; • O termo swarm intelligence foi proposto no fim da década de 1980, quando se referia a sistemas robóticos compostos por uma coleção de agentes simples em um ambiente interagindo de acordo com regras locais. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Algumas definições de swarm intelligence: o termo “enxame” (ou coletivo) é utilizado de forma genérica para se referir a qualquer coleção estruturada de agentes capazes de interagir; • O exemplo clássico de um enxame é um enxame de abelhas; • Entretanto, a metáfora de um enxame pode ser estendida a outros sistemas com uma arquitetura similar; - Uma colônia de formigas pode ser vista como um enxame, onde os agentes são formigas; - Uma revoada de pássaros é um enxame, onde os agentes são pássaros; - Um engarrafamento é um enxame, onde os agentes são carros; - Uma multidão é um enxame de pessoas, um sistema imunológico é um enxame de células e moléculas, e uma economia é um enxame de agentes econômicos; UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Embora a noção de enxame sugira um aspecto de movimento coletivo no espaço, como em um „enxame de pássaros‟, estamos interessados em todos os tipos de comportamentos coletivos, não apenas movimento espacial; • A inteligência de enxame inclui qualquer tentativa de projetar algoritmos ou dispositivos distribuídos de solução de problemas inspirados no comportamento coletivo de insetos sociais e outras sociedades animais (BONABEAU et al., 1999); UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Inteligência de Enxame • A inteligência coletiva é uma propriedade de sistemas compostos por agentes não (ou pouco) inteligentes e com capacidade individual limitada, capazes de apresentar comportamentos coletivos inteligentes (WHITE & PAGUREK, 1998). • Algumas propriedades da inteligência coletiva: - Proximidade: os agentes devem ser capazes de interagir; - Qualidade: os agentes devem ser capazes de avaliar seus comportamentos; - Diversidade: permite ao sistema reagir a situações inesperadas; - Estabilidade: nem todas as variações ambientais devem afetar o comportamento de um agente; - Adaptabilidade: capacidade de se adequar a variações ambientais. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Sendo assim, um sistema de enxame é aquele composto por um conjunto de agentes capazes de interagir entre si e com o meio ambiente; • A inteligência de enxame é uma propriedade emergente de um sistema coletivo; • Duas principais linhas de pesquisa podem ser observadas em inteligência de enxame: - Trabalhos inspirados por comportamentos sociais de insetos e outros animais; - Trabalhos inspirados na habilidade das sociedades humanas em processar conhecimento; • Embora existam diferenças entre essas abordagens, elas possuem a seguinte característica importante em comum: população de indivíduos capazes de interagir entre si e com o ambiente. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Algumas Ideias sobre Insetos Sociais • Insetos sociais são aqueles que vivem em comunidades ou colônias; • Exemplos: Formigas, abelhas, vespas e cupins; • Uma colônia pode ser definida como uma grande família de insetos (sem hierarquia, na maioria dos casos); • Dentro de uma colônia existe uma sobreposição entre gerações de pais e filhos; • Cada inseto parece ter sua própria agenda; mesmo assim, uma colônia parece extremamente bem organizada; • A integração de todas as atividades individuais não requer supervisão, trata-se de um fenômeno auto-organizado. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ • Exemplos de ninhos: Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ • Formigas do tipo leafcutter cortam folhas de plantas e árvores para cultivar fungos; • Formigas trabalhadoras buscam por alimento a grandes distâncias do ninho, criando literalmente caminhos de e para o ninho; • Formigas do tipo weaver formam correntes com seus próprios corpos permitindo que elas atravessem grandes buracos e carreguem alimento para o ninho; • Durante sua fase de movimentação e busca por alimento, as formigas do tipo army organizam frentes de batalha impressionantes. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ • As abelhas constroem uma série de pentes paralelos formando correntes que induzem um aumento local de temperatura; • Desta forma, fica mais fácil moldar a colmeia; • As fontes de alimento são exploradas de acordo com sua qualidade e distância do ninho; • Exemplos de problemas resolvidos por insetos sociais: encontrar alimento, construir ou aumentar o ninho, dividir a mão de obra, alimentar a colônia, responder a desafios externos (clima, predadores, etc.), soar alarmes, encontrar um local apropriado para construir o ninho, etc. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Adaptação Social do Conhecimento • A técnica de otimização baseada em partículas (Particle Swarm Optimization – PSO) possui como uma de suas principais motivações criar uma simulação do comportamento social humano, particularmente a capacidade humana de processar conhecimento; • Assim como todas as outras abordagens de inteligência de enxame, ela está baseada em uma população de indivíduos capazes de interagir entre si e com o meio ambiente; • Comportamentos globais serão, portanto, resultados emergentes dessas interações. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Uma teoria sociocognitiva muito simples está por trás do PSO: - Cada indivíduo de uma população possui sua própria experiência e é capaz de avaliar a qualidade desta experiência; - Como os indivíduos são sociais, eles também possuem conhecimentos sobre como seus vizinhos se comportaram (desempenharam); • Estes dois tipos de informação correspondem à aprendizagem individual (cognitiva) e à transmissão cultural (social), respectivamente; • Portanto, a probabilidade de um determinado indivíduo tomar uma certa decisão será uma função de seu desempenho no passado e do desempenho de alguns de seus vizinhos; UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Cognição Social • Pensar é um ato social: "Embora alguns possam afirmar que o cérebro é o local físico de processamento mental, isto requer que nós tratemos a cognição como uma atividade fundamentalmente individual e até mesmo privada. Aqui estamos preparados para argumentar que toda a atividade mental - do reconhecimento perceptual para a memória para a resolução de problemas envolva representações de outras pessoas ou o uso de artefatos e formas culturais que têm uma história social “ – Levine, Resnick e Higgins (1993) UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Crenças, memórias, atitudes e processos de pensamento são fortemente influenciados pelo meio em que o indivíduo se encontra; • Experimentos indicam que memórias formadas por sugestão são indistinguíveis das memórias de fatos vivenciados pelos indivíduos através de suas percepções (Loftus, 1994) (Memória como construção social); • Assim, a cultura tem um papel fundamental para a compreensão das capacidades de pensamento individuais. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Como se formam as culturas? Modelo cultural de Axelrod (1997): • Indivíduos são formados por vetores de características; • A organização dos indivíduos em uma grade, tendo vizinhos acima, abaixo e aos lados. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Modelo cultural de Axelrod • Probabilidade de interação com vizinho é proporcional à quantidade de características iguais; • Na ocorrência de uma interação, o indivíduo “imita” uma das características do vizinho; • Passos: avaliar, comparar e imitar; UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Assim como ocorre com a cultura, formam-se agrupamentos locais que compartilham características comuns. Estado final UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • E se alterarmos o algoritmo para que os agentes busquem resolver algum problema, imitando seu vizinho não mais quando ele é similar, mas quando ele é mais bem-sucedido? Resolução do problema do caixeiro viajante (Kennedy, 1997) UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Apesar de nenhum agente individualmente saber como resolver o problema, eles foram capazes coletivamente de resolver um problema relativamente complexo; • A cognição move-se da mente individual para as relações interpessoais; • Observa-se, também, que a cultura otimiza a cognição: as interações são locais, mas as inovações são transmitidas para toda a sociedade através da cultura (no-trial learning); • Conforme as habilidades vão se espalhando pela sociedade, a população converge para processos ótimos (Bandura, 1965); • A sociedade pode ser vista, portanto, como uma entidade distribuída de processamento de informação. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Verifica-se em sociedades humanas de forma similar a capacidade de resolver eficientemente problemas de forma decentralizada: - Organização em tribos: alguns responsáveis pela caça, outros pelo cultivo e outros pelo cuidado com as crianças; - Sociedade moderna e o trabalho especializado: aumento de eficiência mas também aumento na interdependência; - Economia de livre-mercado: a composição de decisões individuais é capaz de prover uma alocação eficiente de recursos, sendo raras as ocorrências de desabastecimentos, mesmo que nenhum indivíduo tenha conhecimento completo (ou mesmo suficiente) das necessidades de cada pessoa; • O funcionamento de sociedades humanas é, portanto, um processo auto-organizado. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa “Pensar é social” • Pensar é uma atividade social; • A cultura (grupo) e a cognição (indivíduo) fazem parte de um mesmo processo; • Indivíduos aprendem localmente através de seus vizinhos, compartilhando conhecimento; • Uma sociedade é um sistema auto-organizável cujas propriedades não podem ser preditas a partir de seus componentes; • A interação cultural (grupo) melhora a capacidade cognitiva de um indivíduo; UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Segundo o Modelo Cultural Adaptativo - ACM (Robert Axelrod): – As pessoas se tornam mais similares à medida que interagem entre si; – As pessoas são atraídas por aquelas que compartilham seus ideais; • Baseado em três processos básicos: – Avaliar (classificar estímulos em positivos ou negativos); – Comparar (definição de um referencial); – Imitar (forma efetiva encontrada na natureza de aprendizado). UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Simulações do ACM podem encontrar soluções para alguns problemas combinatórios, porém este não é seu objetivo; • O modelo ACM é a base teórica da Otimização por Enxame de Partículas; • O ACM explica o comportamento “imite o melhor do grupo” da técnica PSO; • Outros modelos também são utilizados para explicar o comportamento do PSO. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Auto-organização • Conjunto de mecanismos dinâmicos pelos quais múltiplos elementos conseguem estabelecer ordem sem imposição por quaisquer forças externas; • Ingredientes principais: realimentação positiva e negativa, amplificação das perturbações e múltiplas interações (Bonabeau et al, 1999); • Aumento da capacidade coletiva: o todo é mais do que a mera soma dos indivíduos; • Regras muito simples: economia para codificação; • Forte interação dos elementos com seus vizinhos; • Uso apenas de informações locais, sem referência ao padrão global almejado. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • O conjunto como um todo é a principal estrutura de controle, e não um líder centralizado; • Demanda poucos recursos dos componentes do sistema; Baixas exigências no que tange a estrutura de comunicação; • Ordem robusta e flexível: permite respostas diferentes a cenários diferentes, mesmo sem a codificação explícita nas regras do sistema. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa • Craig Reynolds percebeu que a movimentação de bandos de pássaros e cardumes de peixes eram sincronizados sem existir um controle central; • Ele então criou um modelo do movimento de bandos de pássaros composto apenas por 4 regras: i) Separação: para evitar que cada pássaro colidisse com um outro; ii) Alinhamento: para fazer com que cada pássaro seguisse a mesma direção de seus vizinhos; iii) Coesão: para que cada pássaro seguisse a mesma posição de seus vizinhos; iv) Desvio: para que cada pássaro desviasse de obstáculos à frente. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ • KENNEDY et al. (2001) utilizaram três princípios para resumir o processo de adaptação cultural: - Avalie: os indivíduos possuem a capacidade de sentir o ambiente de forma a avaliar seu próprio comportamento; - Compare: os indivíduos usam uns aos outros como material comparativo; - Imite: a imitação é central em organizações sociais humanas e é importante para a aquisição e manutenção das habilidades mentais. Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Câmpus Ponta Grossa Particle Swarm Optimization • Técnica de otimização baseada em uma população de soluções (como nos AEs); • Criada por Kennedy e Eberhart em meados da década de 90; • Técnica inspirada no comportamento social de revoadas de pássaros; • Os resultados obtidos com a simulação das revoadas originou o PSO. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ • Baseado no modelo ACM (avaliar, comparar e imitar); • Uma população de soluções é mantida; • Cada indivíduo da população (partícula) é um vetor de reais que corresponde a uma possível solução; • Cada partícula possui uma posição e uma velocidade no n ; • O processo de atualização de uma partícula possui dois componentes: – Melhor experiência (posição visitada) pessoal – Melhor experiência (posição visitada) do grupo Câmpus Ponta Grossa Câmpus Ponta Grossa UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PSO • Em 1995, James Kennedy and Russell Eberhart seguiram o modelo de Reynolds para resolver problemas de otimização contínua; • Para isso, eles utilizaram as regras de alinhamento e coesão e criaram um sistema de partículas denominado Particle Swarm Optimization (PSO); • Inicialmente, no algoritmo, diversas partículas são espalhadas aleatoriamente no espaço de busca. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ • Iterativamente cada partícula utiliza a informação de sua melhor posição no passado (em cinza) e da melhor posição atual entre seus vizinhos: Câmpus Ponta Grossa • E então ela se move em uma combinação linear desses dois vetores, com pesos diferentes, em uma nova posição: