SlideShare uma empresa Scribd logo
1 de 77
Inteligência Computacional – 2013/2 
Prof. José Manoel de Seixas 
Aluno: Pedro de Vasconcellos
Inteligência de 
Enxames 
- Cardume -
Inteligência de Enxames 
Inteligência de 
Enxames / 
Inteligência 
Coletiva 
(Swarm 
Intelligence) 
“Aprender 
com a 
natureza”
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]
Inteligência de Enxames 
Enxames de 
abelhas
Inteligência de Enxames 
Colônia de 
bactérias
Inteligência de Enxames 
Bando de 
pássaros
Inteligência de Enxames 
Cardume de 
peixes
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
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
PSO (Particle Swarm Optimization) 
Otimização de Enxame de 
Partículas
PSO (Particle Swarm Optimization) 
Desenvolvido em 1995, por James Kennedy (esq., 
psicólogo social) e Russel Eberhart (dir., 
engenheiro elétrico)
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]
PSO (Particle Swarm Optimization) 
Base 
Estudos de modelagem de comportamento de 
enxames (em peixes e aves) e seus fatores 
sócio-cognitivos.
PSO (Particle Swarm Optimization) 
Cognitivo 
Cada indivíduo possui a sua própria 
experiência e é capaz de avaliá-la 
qualitativamente (aprendizagem individual)
PSO (Particle Swarm Optimization) 
Social 
Cada indivíduo tem conhecimento da 
experiência de seu vizinho (transmissão 
cultural)
PSO (Particle Swarm Optimization) 
Decisão a 
ser tomada 
Experiências 
passadas 
Influências 
sociais
PSO (Particle Swarm Optimization) 
Avalia-se 
Compara 
com os 
vizinhos 
Imita os 
vizinhos 
superiores 
Princípios de Adaptação Cultural
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
PSO (Particle Swarm Optimization) 
Exemplo (1) [5]
PSO (Particle Swarm Optimization) 
Exemplo (2) [5]
PSO (Particle Swarm Optimization) 
Função Schwefel [5]
PSO (Particle Swarm Optimization) 
Função Schwefel [5]
PSO (Particle Swarm Optimization) 
Função Schwefel [5]
PSO (Particle Swarm Optimization) 
Função Schwefel [5]
PSO (Particle Swarm Optimization) 
Conceitos 
Aptidão (fitness) = número que representa a 
optimalidade da solução 
Função de Aptidão: G(xi)
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
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))
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
PSO (Particle Swarm Optimization) 
Pseudo-código 
[7]
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;
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;
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
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
PSO (Particle Swarm Optimization) 
PSO Local x Global (topologias) 
[5] 
Exemplo de PSO local e definição das 
Vizinhanças [9]
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)
Artificial Fish Swarm Algorithm 
Proposto em 2002, por Li et al., 
inspirado no movimento coletivo 
de peixes e seus vários 
comportamentos sociais.
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
Artificial Fish Swarm Algorithm 
Interação com 
o ambiente
Artificial Fish Swarm Algorithm 
X: posição do AF 
(Artificial Fish) 
X = [x1, x2, ...., xn]
Artificial Fish Swarm Algorithm 
Visual: campo de visão 
(percepção) do peixe
Artificial Fish Swarm Algorithm 
xv: nova posição 
preterida, dentro da 
visão 
xv = [xv1,xv2, ..., xvn]
Artificial Fish Swarm Algorithm 
Step: passo máximo 
que o peixe dará a cada 
iteração (movimento)
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)
Artificial Fish Swarm Algorithm 
Comportamentos 
(funções)
Artificial Fish Swarm Algorithm 
Searching / Prey (devorar) 
Behavior 
Busca por grandes 
reservatórios de comida 
(encontrar solução 
ótima)
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
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
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)
Artificial Fish Swarm Algorithm 
Swarming Behavior 
O indivíduo busca 
movimentar-se em 
grupo  posição central 
do cardume
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
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
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)
Artificial Fish Swarm Algorithm 
Swarming Behavior 
Análoga à fórmula de movimentação com sucesso 
no comportamento de busca (searching/pray 
behavior) !
Artificial Fish Swarm Algorithm 
Swarming Behavior
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)
Artificial Fish Swarm Algorithm 
Following (seguir) 
Behavior 
Quando um peixe acha 
comida, os vizinhos 
seguirão este
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
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
Artificial Fish Swarm Algorithm 
Workflow e Pseudo-código
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)
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
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)
Artificial Fish Swarm Algorithm 
Modificações & Resultados
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
Artificial Fish Swarm Algorithm 
Modificações & Resultados
Artificial Fish Swarm Algorithm 
Modificações & Resultados 
Após 100 
iterações
Artificial Fish Swarm Algorithm 
Modificações & Resultados 
[3] Problema de Alocação de Ancoradouro (Berth 
allocation problem)
Artificial Fish Swarm Algorithm 
Modificações & Resultados 
Solução ótima: 
x1=(1,5,7,6;3,4,2) ou x2=(1,5,4;3,2,7,6) 
Y(x1)=Y(x2)=73
Artificial Fish Swarm Algorithm
Artificial Fish Swarm Algorithm
Artificial Fish Swarm Algorithm 
Na figura, visual = 2 
Para 10 peixes, de 
modo geral apenas 
convergiu para 
3<visual<7
Artificial Fish Swarm Algorithm
Artificial Fish Swarm Algorithm 
GA = Genetic Algorithm 
GASA = híbrido GA + 
Simulated Annealing 
Número de iterações ACO 
(Ant Colony Optimization) 
= 8
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]
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
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/

Mais conteúdo relacionado

Mais procurados

Balanceamento de linhas
Balanceamento de linhasBalanceamento de linhas
Balanceamento de linhasmarcioemorais
 
Fisica 02 - Oscilações
Fisica 02 - OscilaçõesFisica 02 - Oscilações
Fisica 02 - OscilaçõesWalmor Godoi
 
Calculo Integral - Conceito de primitiva e técnicas de primitivação
Calculo Integral - Conceito de primitiva e técnicas de primitivaçãoCalculo Integral - Conceito de primitiva e técnicas de primitivação
Calculo Integral - Conceito de primitiva e técnicas de primitivaçãoMaths Tutoring
 
Oxidação e redução
Oxidação e reduçãoOxidação e redução
Oxidação e reduçãoAline Andrade
 
Toxicologia Ambiental aula 5
Toxicologia Ambiental aula 5Toxicologia Ambiental aula 5
Toxicologia Ambiental aula 5profsempre
 
Bioestatistica basica completa-apresentacao
Bioestatistica basica completa-apresentacaoBioestatistica basica completa-apresentacao
Bioestatistica basica completa-apresentacaoFabiano Reis
 
Medidas e Avaliação - Velocidade e Agilidade
Medidas e Avaliação - Velocidade e AgilidadeMedidas e Avaliação - Velocidade e Agilidade
Medidas e Avaliação - Velocidade e Agilidademarcelosilveirazero1
 
76592979 relatorio-4-dosagem-do-acido-acetilsalicilico-aas-em-medicamentos-po...
76592979 relatorio-4-dosagem-do-acido-acetilsalicilico-aas-em-medicamentos-po...76592979 relatorio-4-dosagem-do-acido-acetilsalicilico-aas-em-medicamentos-po...
76592979 relatorio-4-dosagem-do-acido-acetilsalicilico-aas-em-medicamentos-po...Emílio Dos Santos
 
Exercicios 2 biofísica
Exercicios 2 biofísica Exercicios 2 biofísica
Exercicios 2 biofísica Biomedicina_
 
Cadeia de suprimentos
Cadeia de suprimentosCadeia de suprimentos
Cadeia de suprimentosFelippi Perez
 
Aula 1 e 2 OSM calculos produtividade, hora, jornada
Aula 1 e 2 OSM calculos produtividade, hora, jornadaAula 1 e 2 OSM calculos produtividade, hora, jornada
Aula 1 e 2 OSM calculos produtividade, hora, jornadaRenan Kaltenegger
 

Mais procurados (20)

Balanceamento de linhas
Balanceamento de linhasBalanceamento de linhas
Balanceamento de linhas
 
B2 C Logistica Reversa
B2 C Logistica ReversaB2 C Logistica Reversa
B2 C Logistica Reversa
 
Fisica 02 - Oscilações
Fisica 02 - OscilaçõesFisica 02 - Oscilações
Fisica 02 - Oscilações
 
Aula 3_Volumetria.ppt
Aula 3_Volumetria.pptAula 3_Volumetria.ppt
Aula 3_Volumetria.ppt
 
Calculo Integral - Conceito de primitiva e técnicas de primitivação
Calculo Integral - Conceito de primitiva e técnicas de primitivaçãoCalculo Integral - Conceito de primitiva e técnicas de primitivação
Calculo Integral - Conceito de primitiva e técnicas de primitivação
 
Aula 17 medidas separatrizes
Aula 17   medidas separatrizesAula 17   medidas separatrizes
Aula 17 medidas separatrizes
 
Oxidação e redução
Oxidação e reduçãoOxidação e redução
Oxidação e redução
 
Toxicologia Ambiental aula 5
Toxicologia Ambiental aula 5Toxicologia Ambiental aula 5
Toxicologia Ambiental aula 5
 
Bioestatistica basica completa-apresentacao
Bioestatistica basica completa-apresentacaoBioestatistica basica completa-apresentacao
Bioestatistica basica completa-apresentacao
 
Medidas e Avaliação - Velocidade e Agilidade
Medidas e Avaliação - Velocidade e AgilidadeMedidas e Avaliação - Velocidade e Agilidade
Medidas e Avaliação - Velocidade e Agilidade
 
Transporte Dutuviario
Transporte DutuviarioTransporte Dutuviario
Transporte Dutuviario
 
Determinar teor de sulfato de ferro (ii)
Determinar teor de sulfato de ferro (ii)Determinar teor de sulfato de ferro (ii)
Determinar teor de sulfato de ferro (ii)
 
76592979 relatorio-4-dosagem-do-acido-acetilsalicilico-aas-em-medicamentos-po...
76592979 relatorio-4-dosagem-do-acido-acetilsalicilico-aas-em-medicamentos-po...76592979 relatorio-4-dosagem-do-acido-acetilsalicilico-aas-em-medicamentos-po...
76592979 relatorio-4-dosagem-do-acido-acetilsalicilico-aas-em-medicamentos-po...
 
Exercicios 2 biofísica
Exercicios 2 biofísica Exercicios 2 biofísica
Exercicios 2 biofísica
 
Termoquimica 1 e 2
Termoquimica 1 e 2Termoquimica 1 e 2
Termoquimica 1 e 2
 
Potencia anaerobia
Potencia anaerobiaPotencia anaerobia
Potencia anaerobia
 
Cadeia de suprimentos
Cadeia de suprimentosCadeia de suprimentos
Cadeia de suprimentos
 
Atividade concentração comum
Atividade concentração comumAtividade concentração comum
Atividade concentração comum
 
Aula 05 Gráficos Estatísticos
Aula 05   Gráficos EstatísticosAula 05   Gráficos Estatísticos
Aula 05 Gráficos Estatísticos
 
Aula 1 e 2 OSM calculos produtividade, hora, jornada
Aula 1 e 2 OSM calculos produtividade, hora, jornadaAula 1 e 2 OSM calculos produtividade, hora, jornada
Aula 1 e 2 OSM calculos produtividade, hora, jornada
 

Destaque

Quantum-inspired artificial fish swarm algorithm based on the Bloch sphere se...
Quantum-inspired artificial fish swarm algorithm based on the Bloch sphere se...Quantum-inspired artificial fish swarm algorithm based on the Bloch sphere se...
Quantum-inspired artificial fish swarm algorithm based on the Bloch sphere se...irjes
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Marcel Caraciolo
 
Latex symbols and commands
Latex symbols  and commandsLatex symbols  and commands
Latex symbols and commandsAhmed Fouad Ali
 
Particle swarm optimization
Particle swarm optimization Particle swarm optimization
Particle swarm optimization Ahmed Fouad Ali
 
Artificial fish swarm optimization
Artificial fish swarm optimizationArtificial fish swarm optimization
Artificial fish swarm optimizationAhmed Fouad Ali
 

Destaque (6)

Quantum-inspired artificial fish swarm algorithm based on the Bloch sphere se...
Quantum-inspired artificial fish swarm algorithm based on the Bloch sphere se...Quantum-inspired artificial fish swarm algorithm based on the Bloch sphere se...
Quantum-inspired artificial fish swarm algorithm based on the Bloch sphere se...
 
Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)Recommender Systems with Ruby (adding machine learning, statistics, etc)
Recommender Systems with Ruby (adding machine learning, statistics, etc)
 
Latex symbols and commands
Latex symbols  and commandsLatex symbols  and commands
Latex symbols and commands
 
Ant colony algorithm
Ant colony algorithm Ant colony algorithm
Ant colony algorithm
 
Particle swarm optimization
Particle swarm optimization Particle swarm optimization
Particle swarm optimization
 
Artificial fish swarm optimization
Artificial fish swarm optimizationArtificial fish swarm optimization
Artificial fish swarm optimization
 

Mais de Pedro de Vasconcellos (15)

FEBRL
FEBRLFEBRL
FEBRL
 
DQguru
DQguruDQguru
DQguru
 
cARdapp - cardápio em realidade aumentada
cARdapp - cardápio em realidade aumentadacARdapp - cardápio em realidade aumentada
cARdapp - cardápio em realidade aumentada
 
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção - Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
Design de Interação - Capítulo 8 - Design, Prototipação e Construção -
 
Managing Innovation - 3rd edition – Capítulos 10 e 11
Managing Innovation - 3rd edition – Capítulos 10 e 11Managing Innovation - 3rd edition – Capítulos 10 e 11
Managing Innovation - 3rd edition – Capítulos 10 e 11
 
Gestão da Inovação - Produção acadêmica no Brasil
Gestão da Inovação - Produção acadêmica no BrasilGestão da Inovação - Produção acadêmica no Brasil
Gestão da Inovação - Produção acadêmica no Brasil
 
Bluetooth Low Energy
Bluetooth Low EnergyBluetooth Low Energy
Bluetooth Low Energy
 
Análise Comparativa: MP3 e AAC
Análise Comparativa: MP3 e AACAnálise Comparativa: MP3 e AAC
Análise Comparativa: MP3 e AAC
 
BitTorrent
BitTorrentBitTorrent
BitTorrent
 
Memória Compartilhada Distribuída (DSM)
Memória Compartilhada Distribuída (DSM)Memória Compartilhada Distribuída (DSM)
Memória Compartilhada Distribuída (DSM)
 
Redes Sociais
Redes SociaisRedes Sociais
Redes Sociais
 
Créditos de Carbono e MDL
Créditos de Carbono e MDLCréditos de Carbono e MDL
Créditos de Carbono e MDL
 
Efeitos Visuais
Efeitos VisuaisEfeitos Visuais
Efeitos Visuais
 
MapReduce
MapReduceMapReduce
MapReduce
 
O computador e a contracultura
O computador e a contraculturaO computador e a contracultura
O computador e a contracultura
 

Inteligência de enxames - Cardume (PSO + AFSA)

  • 1. Inteligência Computacional – 2013/2 Prof. José Manoel de Seixas Aluno: Pedro de Vasconcellos
  • 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]
  • 5. Inteligência de Enxames Enxames de abelhas
  • 6. Inteligência de Enxames Colônia de bactérias
  • 7. Inteligência de Enxames Bando de pássaros
  • 8. Inteligência de Enxames Cardume de peixes
  • 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
  • 11. PSO (Particle Swarm Optimization) Otimização de Enxame de Partículas
  • 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
  • 20. PSO (Particle Swarm Optimization) Exemplo (1) [5]
  • 21. PSO (Particle Swarm Optimization) Exemplo (2) [5]
  • 22. PSO (Particle Swarm Optimization) Função Schwefel [5]
  • 23. PSO (Particle Swarm Optimization) Função Schwefel [5]
  • 24. PSO (Particle Swarm Optimization) Função Schwefel [5]
  • 25. PSO (Particle Swarm Optimization) Função Schwefel [5]
  • 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
  • 30. PSO (Particle Swarm Optimization) Pseudo-código [7]
  • 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
  • 39. Artificial Fish Swarm Algorithm Interação com o ambiente
  • 40. Artificial Fish Swarm Algorithm X: posição do AF (Artificial Fish) X = [x1, x2, ...., xn]
  • 41. Artificial Fish Swarm Algorithm Visual: campo de visão (percepção) do peixe
  • 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)
  • 45. Artificial Fish Swarm Algorithm Comportamentos (funções)
  • 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) !
  • 55. Artificial Fish Swarm Algorithm Swarming 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
  • 60. Artificial Fish Swarm Algorithm Workflow e Pseudo-código
  • 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)
  • 64. Artificial Fish Swarm Algorithm Modificações & Resultados
  • 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
  • 66. Artificial Fish Swarm Algorithm Modificações & Resultados
  • 67. Artificial Fish Swarm Algorithm Modificações & Resultados Após 100 iterações
  • 68. Artificial Fish Swarm Algorithm Modificações & Resultados [3] Problema de Alocação de Ancoradouro (Berth allocation problem)
  • 69. Artificial Fish Swarm Algorithm Modificações & Resultados Solução ótima: x1=(1,5,7,6;3,4,2) ou x2=(1,5,4;3,2,7,6) Y(x1)=Y(x2)=73
  • 72. Artificial Fish Swarm Algorithm Na figura, visual = 2 Para 10 peixes, de modo geral apenas convergiu para 3<visual<7
  • 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/