O documento discute inteligência de enxames e algoritmos inspirados nela, como PSO e AFSA. Apresenta os princípios da inteligência de enxames na natureza e como esses algoritmos funcionam, descrevendo em detalhes os comportamentos e mecânicas do PSO e do AFSA para solução de problemas de otimização.
3. Inteligência de Enxames
Inteligência de
Enxames /
Inteligência
Coletiva
(Swarm
Intelligence)
“Aprender
com a
natureza”
4. Inteligência de Enxames
“Inteligência de enxames é uma
propriedade de sistemas de agentes
não-inteligentes de capacidade
individual limitada exibir
comportamento coletivo inteligente” [1]
9. Inteligência de Enxames
5 Princípios básicos (Millonas, 1994): [3]
• Proximidade – agentes devem ser capazes de interagir;
• Qualidade – 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 adequação a variações
ambientais
10. Inteligência de Enxames
Cada agente preocupa-se com seu
próprio papel
Sistema auto organizável
Interações locais levam a um
padrão global
12. PSO (Particle Swarm Optimization)
Desenvolvido em 1995, por James Kennedy (esq.,
psicólogo social) e Russel Eberhart (dir.,
engenheiro elétrico)
13. PSO (Particle Swarm Optimization)
“Pelo menos em teoria, membros individuais de um cardume podem
se beneficiar das descobertas e experiências anteriores de outros
membros do cardume na busca por alimentos.
Essa vantagem pode se tornar decisiva, compensando as
desvantagens da competição por alimentos”
Edward Osbourne Wilson (entomologista e biólogo americano) [5]
14. PSO (Particle Swarm Optimization)
Base
Estudos de modelagem de comportamento de
enxames (em peixes e aves) e seus fatores
sócio-cognitivos.
15. PSO (Particle Swarm Optimization)
Cognitivo
Cada indivíduo possui a sua própria
experiência e é capaz de avaliá-la
qualitativamente (aprendizagem individual)
16. PSO (Particle Swarm Optimization)
Social
Cada indivíduo tem conhecimento da
experiência de seu vizinho (transmissão
cultural)
17. PSO (Particle Swarm Optimization)
Decisão a
ser tomada
Experiências
passadas
Influências
sociais
18. PSO (Particle Swarm Optimization)
Avalia-se
Compara
com os
vizinhos
Imita os
vizinhos
superiores
Princípios de Adaptação Cultural
19. PSO (Particle Swarm Optimization)
Objetivo
Encontrar uma solução no universo de
possíveis soluções para um problema de
otimização [6]
Cardume de peixes buscando alimento ou
bando de pássaros buscando abrigo
26. PSO (Particle Swarm Optimization)
Conceitos
Aptidão (fitness) = número que representa a
optimalidade da solução
Função de Aptidão: G(xi)
27. PSO (Particle Swarm Optimization)
Conceitos
Sendo 1≤d ≤n, número de dimensões do sistema:
• xi = (xi1, xi2,..., xid) = posição da partícula i
• vid = (vi1, vi2,..., vid) = velocidade da partícula i
• pbest (pi) = melhor posição encontrada até o
momento pela partícula i
• lbest (pl) = melhor posição encontrada até o
momento pela vizinhança de i
• Obs.: gbest (pg) modelo de vizinhança global
28. PSO (Particle Swarm Optimization)
Conceitos
Análogo à fórmula física: xi’ = xi + vit + (1/2) at²
Fórmula da posição no PSO:
xi(t+1) = xi(t) + vi(t+1)
Fórmula da velocidade no PSO:
vi(t+1) = ω×vi(t) + ϕ1×(pi−xi(t)) + ϕ2×(pl−xi(t))
29. PSO (Particle Swarm Optimization)
Conceitos
vi(t+1) = ω×vi(t) + ϕ1 (pi−xi(t)) +
ϕ2×(pl−xi(t))
Aceleração
cognitiva
Aceleração
social
ω (<1) = peso de inércia
(grande: exploração global;
pequeno: exploração local)
Φ1 = c1 * rand(); Φ2 = c2 * Rand()
rand() e Rand(): funções randômicas uniformemente
distribuídas entre [0,1]
c1 e c2: constantes de aceleração de aprendizado, tal que
c1 + c2 = 4.1 e geralmente c1 = c2 = 2.05
31. PSO (Particle Swarm Optimization)
Outros parâmetros
Vmín e vmáx = partículas cujas velocidades em
módulo sejam maiores que o definido, têm seus
valores limitados;
Dimensão do espaço de busca: número de
parâmetros livres;
Alcance do espaço de busca: ex., xmín=-500,
xmáx=500;
32. PSO (Particle Swarm Optimization)
Outros parâmetros
Número de partículas: geralmente entre 20 e 40,
sendo 10 suficiente muitas vezes [8];
Condição de encerramento do algoritmo:
número de iterações, solução ótima, margem de
erro mínimo;
33. PSO (Particle Swarm Optimization)
PSO Local x Global
• Global: todas as partículas estão conectadas
entre si maior convergência, pouca
exploração do espaço
• Local: partículas agrupadas em vizinhanças
menor convergência, grande exploração
do espaço
34. PSO (Particle Swarm Optimization)
PSO Local x Global
• Global: todas as partículas estão conectadas
entre si maior convergência, pouca
exploração do espaço
• Local: partículas agrupadas em vizinhanças
menor convergência, grande exploração
do espaço
35. PSO (Particle Swarm Optimization)
PSO Local x Global (topologias)
[5]
Exemplo de PSO local e definição das
Vizinhanças [9]
36. PSO (Particle Swarm Optimization)
Conclusões
• Baseado em comportamento social
• Algoritmos simples
• Operadores matemáticos simples
• Não garantem convergência para a melhor
solução
• Bons resultados em várias aplicações (redes
neurais, otimização contínua multimodal,
etc)
37. Artificial Fish Swarm Algorithm
Proposto em 2002, por Li et al.,
inspirado no movimento coletivo
de peixes e seus vários
comportamentos sociais.
38. Artificial Fish Swarm Algorithm
Outros possíveis nomes:
FSA – Fish Swarm Algorithm
FSO – Fish Swarm Optimization
AFSO – Artificial Fish Swarm Optimization
AFSOA – Artificial Fish Swarm Optimization
Algorithm
42. Artificial Fish Swarm Algorithm
xv: nova posição
preterida, dentro da
visão
xv = [xv1,xv2, ..., xvn]
43. Artificial Fish Swarm Algorithm
Step: passo máximo
que o peixe dará a cada
iteração (movimento)
44. Artificial Fish Swarm Algorithm
Xnext: nova posição do
AF rumo a xv
O movimento só
ocorrerá caso xv tenha
melhor solução
(maior concentração
de comida)
46. Artificial Fish Swarm Algorithm
Searching / Prey (devorar)
Behavior
Busca por grandes
reservatórios de comida
(encontrar solução
ótima)
47. Artificial Fish Swarm Algorithm
Searching / Prey Behavior
1) Escolha de uma potencial nova posição xj:
d = número de dimensões do espaço
Visual = distância visual
Rand() = número randômico entre -1 e 1
48. Artificial Fish Swarm Algorithm
Searching / Prey Behavior
2) Sendo Y = f(x) a função objetivo a ser otimizada,
caso f(xj) seja melhor que f(xi) movimento rumo
a xj
Disi,j = distância euclidiana entre xi e xj
49. Artificial Fish Swarm Algorithm
Searching / Prey Behavior
3) Caso f(xj) represente uma solução pior que f(xi),
o AF continua buscando de acordo com a eq. 1.
Após um número de tentativas (try-number) sem
sucesso, o peixe move-se livremente (às vezes
classificado como moving behavior)
50. Artificial Fish Swarm Algorithm
Swarming Behavior
O indivíduo busca
movimentar-se em
grupo posição central
do cardume
51. Artificial Fish Swarm Algorithm
Swarming Behavior
1) Posição Central, Xc
f
n
1
, ,
i
X
i d
f
X
center d
n
1
nf = número de peixes no campo de visão f
52. Artificial Fish Swarm Algorithm
Swarming Behavior
2) Crowd Factor δ (fator de lotação), 0 < δ < 1
0 : sem peixes
n
n
f
N
f
0
: campo não - lotado
: campo lotado
N
n
f
N
N = número de peixes do cardume
nf/N = densidade populacional
53. Artificial Fish Swarm Algorithm
Swarming Behavior
3) Caso Yc > Yi (melhor solução) e Xc esteja com
uma vizinhança não-lotada (nC/N < δ, nC ≠ 0)
54. Artificial Fish Swarm Algorithm
Swarming Behavior
Análoga à fórmula de movimentação com sucesso
no comportamento de busca (searching/pray
behavior) !
56. Artificial Fish Swarm Algorithm
Swarming Behavior
4) Nos casos contrários:
Pior solução em Xc do que Xi
Não há vizinhos visuais: nC = 0
A região está lotada: nC/N ≥ 0
O AF terá um movimento livre de procura (pray
behavior)
57. Artificial Fish Swarm Algorithm
Following (seguir)
Behavior
Quando um peixe acha
comida, os vizinhos
seguirão este
58. Artificial Fish Swarm Algorithm
Following Behavior
1) Peixes seguirão aquele que representar a
melhor solução da vizinhança (xn):
Condições:
Yn > Yi (Yn é melhor que Yi)
nn/N < δ, nn ≠ 0
59. Artificial Fish Swarm Algorithm
Following Behavior
2) Nos casos contrários:
Pior solução em Xn do que Xi
Não há vizinhos visuais: nn = 0
A região está lotada: nn/N ≥ 0
O AF terá um movimento livre de procura (pray
behavior)
Que nem ocorre no following behavior
61. Artificial Fish Swarm Algorithm
Pontos Fortes
• Boa robustez
• Habilidade de busca global
• Tolerância à definição de parâmetros
• Insensitivo aos valores iniciais (quando
parâmetros não mudam)
62. Artificial Fish Swarm Algorithm
Pontos Fracos
• Exploration x Exploitation
• Tamanho de Step e Visual
• Estrutura complexa com o ajuste dos parâmetros e
falhas nestes
• Step > Dis(i,j)
• Movimentação em dimensões do espaço com
diferentes tamanhos
• Desperdício de carga computacional
• Following ou Swarming é descartado
• Custo de cálculo de following
63. Artificial Fish Swarm Algorithm
Modificações & Resultados
[1] HAP (híbrido de PSO e AFSA), para treinamento
de redes neurais feedforward
Função:
t = sin(π × p)
65. Artificial Fish Swarm Algorithm
Modificações & Resultados
[2] Problema do Caixeiro Viajante, comparando os
algoritmos:
AS – Ant System
DPSO – Discrete PSO
AFSA – AFSA1 (δ fixo) e AFSA2 (δ adaptativo)
δ adaptativo usado: δ diminui 20% a cada 25
iterações sem mudança no melhor fitness
encontrado pelo cardume
74. Artificial Fish Swarm Algorithm
GA = Genetic Algorithm
GASA = híbrido GA +
Simulated Annealing
Número de iterações ACO
(Ant Colony Optimization)
= 8
75. Artificial Fish Swarm Algorithm
Há muitas outras modificações, híbridos, etc.:
• mAFS – Modified AFS [4]
• mAFS-P – Modified AFS Priority-based [4]
• MAFSA – Modified AFSA {5]
• Fuzzy Adaptive Artificial Fish Swarm Algorithm [6]
E até uma abordagem criada na UPE (Universidade de
Pernambuco):
• FSS - Fish School Search [7]
76. Bibliografia e referências
[1] http://www.fabriciobreve.com/material/compavancada/CA-Aula8-
InteligenciaDeEnxames.pdf
[2] ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/ia013_1s07/topico4_07.pdf
[3] http://www.scielo.br/pdf/ca/v20n3/02.pdf
[4] Eberhart, R. C. & Kennedy, J. (2001). Swarm Intelligence
[5] http://www.dep.uminho.pt/EscolaEAs/palestras/Inteligencia%20de%20enxames%20-
%20P2%20PSO%20-%20UFMG%20-%2023_10_2009%20P&B.pdf
[6] http://wiki.icmc.usp.br/images/e/eb/Aula_4_CB_Enxames_PSO.pdf
[7] http://www.fabriciobreve.com/material/compavancada/CA-Aula9-
InteligenciaDeEnxamesP2.pdf
[8] http://www.swarmintelligence.org/tutorials.php
[9] http://web.ist.utl.pt/gdgp/VA/pso.htm
77. Bibliografia e referências
[10] Ben Niu , Li Li, A Hybrid Particle Swarm Optimization for Feed-Forward Neural Network
Training, Proceedings of the 4th international conference on Intelligent Computing:
Advanced Intelligent Computing Theories and Applications - with Aspects of Artificial
Intelligence, September 15-18, 2008, Shanghai, China [2]
[11]
http://www.infoteca.inf.br/contecsi/smarty/templates/arquivos_template/upload_arquivos/
acervo/docs/PDFs/068.pdf
[12] http://www.mecs-press.org/ijisa/ijisa-v2-n1/IJISA-V2-N1-6.pdf
[13] http://repositorium.sdum.uminho.pt/bitstream/1822/14478/1/AFSmodified_ICCSA.pd
f
[14] http://www.ijcte.org/papers/003.pdf
[15] http://ceit.aut.ac.ir/~meybodi/paper/yazdani-Springer-Fuzzy-Fish%20Swarm-2010.pdf
[16] http://www.fbln.pro.br/fss/