Inteligência de enxames - Cardume (PSO + AFSA)
-
Upload
pedro-de-vasconcellos -
Category
Engineering
-
view
131 -
download
7
description
Transcript of Inteligência de enxames - Cardume (PSO + AFSA)
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 Coletiva (Swarm
Intelligence)
“Aprender com a
natureza”
Inteligência de Enxames
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
Sistema auto organizável
Cada agente preocupa-se com seu próprio papel
Interações locais levam a um padrão global
Otimização de Enxame de Partículas
PSO (Particle Swarm Optimization)
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-seCompara 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))
vi(t+1) = ω×vi(t) + ϕ1 (pi−xi(t)) + ϕ2×(pl−xi(t))
PSO (Particle Swarm Optimization)
Conceitos
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 AlgorithmFSO – Fish Swarm OptimizationAFSO – Artificial Fish Swarm OptimizationAFSOA – 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çoVisual = distância visualRand() = número randômico entre -1 e 1
Artificial Fish Swarm Algorithm
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
Searching / Prey Behavior
Artificial Fish Swarm Algorithm
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)
Searching / Prey Behavior
Artificial Fish Swarm Algorithm
Swarming Behavior
O indivíduo busca movimentar-se em
grupo posição central do cardume
Artificial Fish Swarm Algorithm
1) Posição Central, Xc
nf = número de peixes no campo de visão f
Swarming Behavior
f
i
di
f
dcenter
nX
nX
1
,,1
Artificial Fish Swarm Algorithm
2) Crowd Factor δ (fator de lotação), 0 < δ < 1
N = número de peixes do cardumenf/N = densidade populacional
lotado campo :
lotado-não campo : 0
peixes sem :0
N
n
N
n
N
n
f
f
f
Swarming Behavior
Artificial Fish Swarm Algorithm
3) Caso Yc > Yi (melhor solução) e Xc esteja com uma vizinhança não-lotada (nC/N < δ, nC ≠ 0)
Swarming Behavior
Artificial Fish Swarm Algorithm
Análoga à fórmula de movimentação com sucesso no comportamento de busca (searching/pray
behavior) !
Swarming Behavior
Artificial Fish Swarm Algorithm
Swarming Behavior
Artificial Fish Swarm Algorithm
4) Nos casos contrários: Pior solução em Xc do que XiNão há vizinhos visuais: nC = 0A região está lotada: nC/N ≥ 0
O AF terá um movimento livre de procura (pray behavior)
Swarming Behavior
Artificial Fish Swarm Algorithm
Following (seguir) Behavior
Quando um peixe acha comida, os vizinhos
seguirão este
Artificial Fish Swarm Algorithm
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
Following Behavior
Artificial Fish Swarm Algorithm
2) Nos casos contrários: Pior solução em Xn do que XiNão há vizinhos visuais: nn = 0A região está lotada: nn/N ≥ 0
O AF terá um movimento livre de procura (pray behavior)
Que nem ocorre no following behavior
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 SystemDPSO – Discrete PSOAFSA – 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 (Berthallocation 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]
[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.pdf[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/
Bibliografia e referências