www.computacaonatural.com.br
UNIVERSIDADE PRESBITERIANA MACKENZIE
I ESCOLA DE COMPUTAÇÃO NATURAL Laboratório de Computação Natural – LCoN
Outubro/2012
Inteligência de Enxame
Alexandre Szabo
Diego Almeida
• Diversas espécies vivem em sociedade
– Abelhas, Formigas, Cupins, Aves, Peixes
• Vantagens
– Facilidade de acasalamento – Defesa do bando
– Busca por alimento – Aprendizagem
Animais Sociais:
Características Comportamentais
www.computacaonatural.com.br 3
• Autonomia e Auto-Organização
– Comportamento descentralizado e cooperação entre agentes
• Estigmergia
– Comunicação por meio de mudanças no ambiente
• Emergência
– Surgimento de padrões a partir de interações simples
Animais Sociais:
Características Comportamentais
• Inteligência de Enxame:
– Termo cunhado em 1989 (Beni & Wang) após observar o
comportamento de robôs que usavam regras baseadas em formigas – Insetos são agentes simples sob o ponto de vista cognitivo, mas da
interação social emerge a inteligência do enxame
– Agentes interagem entre si e com o ambiente para um objetivo comum
– Metáfora Básica: Sociocognição
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
www.computacaonatural.com.br 5
• Aplicações:
– Animação
• Flock of birds
• Boids in action
• Boids Batman Begins
– Robótica
• Swarm of Flying
• Box-pushing
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
• Aplicações:
– Agrupamento de Dados
• Agrupamento por Colônia de Formigas http://lvcon.tuilux.com.br/experimento?id=16
– Otimização
• Otimização por Colônia de Formigas http://lvcon.tuilux.com.br/experimento?id=1
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
www.computacaonatural.com.br 7
• Algoritmos Baseados em Enxame de Partículas:
Particle Swarm Optimization (Kennedy & Eberhart, 1995)
– Cada partícula (indivíduo) é representada por um vetor, com posição e velocidade individuais
– Cada partícula tem uma memória que representa sua experiência – O enxame possui uma memória global que representa a experiência
do enxame
– O princípio básico é a movimentação de partículas (indivíduos) e estas competem entre si e compartilham a melhor solução
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
• Algoritmos Baseados em Enxame de Partículas:
Particle Swarm Optimization (Kennedy & Eberhart, 1995) – Alguma função deve ser otimizada
– O número de partículas é informado pelo usuário
– A dimensão das partículas depende do número de variáveis da função
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
www.computacaonatural.com.br 9 Particle Swarm Optimization (Kennedy & Eberhart, 1995)
Enquanto o critério de parada não for satisfeito
Para cada partícula xj do enxame X Se f(xj) < f(pj) pj = xj Fim Se Se f(xj) < f(g) g = xj Fim Se vj(t+1) = 𝜔*vj(t)+𝜑1⨂(pj-xj(t))+ 𝜑2⨂(g-xj) xj(t+1) = xj(t)+vj(t+1) Fim Para t = t+1
Testar critério de parada
Fim
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
Particle Swarm Clustering (Cohen & de Castro, 2006) – Base de dados a ser agrupada
– Todas as partículas configuram uma única solução
– O número de partículas deve ser no mínimo igual ao número de classes na base de dados
– Não usa função explícita; a distância Euclidiana é usada como medida de avaliação entre partícula e objeto
– Um termo de auto-organização é adicionado à equação de
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
www.computacaonatural.com.br 11 Particle Swarm Clustering (Cohen & de Castro, 2006)
Enquanto o critério de parada não for satisfeito Para cada objeto yi da base de dados Y
Para cada partícula xj do enxame X
dist(j) = distance(yi,x j) Fim Para I=arg_min(dist) Se distance(yi,x I) < distance(yi,piI) pi I = xI Fim Se Se distance(yi,x I) < distance(yi,gi) gi = x I Fim Se vI(t+1)=𝜔*vI(t)+𝜑1⨂(piI-xI(t))+𝜑2⨂(g-xI)+𝜑3⨂(yi-xI) xI(t+1) = xI(t)+vI(t+1) Fim Para t = t+1
Testar critério de parada
Fim Enquanto
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
Particle Swarm Clustering (Cohen & de Castro, 2006) • Simulação
– Base de dados: 75 objetos, 4 classes
Inteligência de Enxame:
Conceitos, Aplicações e Algoritmos
www.computacaonatural.com.br 13 Os algoritmos bioinspirados fazem uso de conceitos comuns
Metáfora Básica: Sóciocognição Aplicações Práticas