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

Post on 09-Jul-2015

131 views 7 download

description

Curso: Engenharia de Computação e Informação - UFRJ Disciplina: Inteligência Computacional - 2013 Trabalho sobre inteligência de enxames (Swarm Intelligence), para cardumes. Trata sobre os algoritmos de PSO (Particle Swarm Optimization) e AFSA (Artificial Fish Swarm Algorithm)

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