Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract
1 Introduction
Este artigo introduz um método para otimizar funções contı́nuas não lineares.
Este método foi descoberto através da simulação de um modelo social
simplificado; por isto a metáfora social é discutida, porém o algoritmo se
sustenta sem tal metáfora.
Este artigo descreve o conceito do Particle Swarm Optimization (PSO)
em termos de seus precursores, revisando breve os estágios de seu desenvolvi-
mento de um simulador social até um otimizador.
A seguir, são discutidos alguns modelos que fazem parte do conceito.
Finalmente, a implementação de um dos modelos é discutida em mais
detalhes seguida de resultados obtidos de aplicações e testes do modelo que
se mostraram se desempenharam com êxito.
O PSO como desenvolvido pelos autores compreende de um conceito bem
simples e rotinas que podem ser implementadas em poucas linhas de código.
Requer apenas operações matemáticas básicas e é barato computacional-
mente em termos de memória e velocidade.
1
permitem um grande número de pássaros voarem sincronizadamente, fre-
quentemente mudando de direção repentinamente, se seperar e agrupar e
etc.
Ambos os cientistas tiveram o insight que processos locais poderiam
ser responsáveis pela dinâmica imprevisı́vel do comportamento social dos
pássaros. Os modelos de ambos dependiam fortemente na manipulação da
distâncias entre indivı́duos, isto é, a sincronia do comportamento do bando
foi pensado como uma função do esforço dos pássaros em manter a melhor
distância possı́veis entre eles e seus vizinhos.
Assim como o Sociobiologista E. O. Wilson escreveu se referindo à ”fish
schooling” ”Pelo menos em teoria, indivı́duos da escola se beneficiam das
descobertas e experiências anteriores de todos os outros membros durante a
busca por comida. Esta vantagem se torna decisiva, superando as desvan-
tagens na competição por comida quando este recurso está distribuı́do im-
previsivelmente em trechos. Esta afirmação sugere que o compartilhamento
social de informação entre indivı́duos da mesma especie oferece vantagem
evolutiva: esta hipótese foi fundamental no desenvolvimento do PSO.
2
3.2 The Cornfield Vector
A simulação de Heppner possuı́a uma caracterı́stica que introduziu uma
dinâmica à simulação. Seus pássaros se reuniam ao redor de um ”poleiro”,
uma posição no plano que os atraia até que eles finalmente ”pousassem” lá.
Isto eliminou a necessidade da variável craziness uma vez que a simulação
tinha ”vida própria”.
Enquanto os pássaros de Heppner sabiam onde o ”poleiro” deles estava,
porém, em situações reais os pásssaros pousam em qualquer arvore oi fio que
satisfaçam suas necessidades imediatas. Mais importante que isto, bandos
de pássaros pousam onde há comida. Como eles encontram comida? Parece
possı́vel que algo na dinamica do bando permite que membros de tal bando
se beneficiem no conhecimento um dos outros, como na citação de Wilson.
A segunda variação da simulação definia um ”Cornfield Vector” (Vetor
Milharal) um vetor bidimensional de coordenadas XY no plano. Cada agente
foi programado para avaliar sua posição atual em termos da equação
p p
Eval = (presentx − 100)2 + (presenty − 100)2
3
se presentx[] > pbestx[gbest] então vx[] = vx[] − rand() ∗ g increment
se presentx[] < pbestx[gbest] então vx[] = vx[] + rand() ∗ g increment
4
3.4 Multidimensional Search
Enquanto o algoritmo parecia modelar impressionantemente um bando procu-
rando por um milharal, a maioria dos problemas de otimização não são nem
lineares nem bi-dimensionais. Como o objetivo de um dos autores era mod-
elar comportamento social, que é multi-dimensional e sem colisões, parecia
simples mudar presentx presenty de uma dimensão para matrizes DxN onde
D é número de dimensões e N o número de agentes.
vx[][] = vx[][]+2∗rand()∗(pbestx[][]−presentx[][])+2∗rand()∗(pbestx[][gbest]−presentx[][])
5
3.7 Other Experiments
Outras variações do algoritmos foram testadas mas nenhuma delas parecia
melhorar a versão simplificada atual.
Por exemplo, parecia que o agente era impulsionado para um ponto que
era a média ponderada dos dois melhores pontos no espaço o pbest e gbest.
Uma versão do algoritmo reduzia os dois pontos à um, em cada dimensão
tomando o meio termo entre pbest e gbest. Esta versão, porém, tinha a
infeliz tendencia de convergir para este ponto, sendo este um ponto fosse ele
ótimo ou não.
Outra versão considerava a utilização de dois tipos de agentes denomina-
dos ”exploradores” e ”colonizadores”.
Exploradores utilizavam o teste da desigualdade o que faziam com eles
passassem pelo objetivo à uma grande distância, enquanto os colonizadores
utilizavam o termo com a diferença. A hipótese era de que os exploradores
iriam extrapolar a região conhecida enquanto os colonizadores utilizariam
hill-climb ou micro-exploração de regiões que já são conhecidas por serem
boas. Mais uma vez, este método não mostrou nenhuma melhora sobre a
atual versão simplificada.
6
O conceito do PSO e sua implementação apresentada atende todos os
5 principios. O algoritmo se baseia em calculos realizados em um espaço
n-dimensional que são levados ao longo de etapas de tempo. A população
responde à fatores de qualidade pbest e gbest. A alocação de respostas entre
pbest e gbest garantem diversidade na resposta. A população muda seu
comportamento apenas quando gbest muda, assim, aderindo ao principio da
estabilidade. A população se adapta pois ela muda quando gbest muda.
5 Conclusions
Além das suas relações com Inteligencia Artificial, PSO tem relações obvias
com computação evolutiva. Conceitualmente, ele parece ficar em algum lu-
gar entre algoritmos genéticos e programação evolutiva. Ele é altamente
dependende de processos aleatórios como programação evolutiva.
Os ajustes em relação à pbest e gbest pelo PSO é conceitualmente similar
aos operadores de crossover utilizado por algoritmos genéticos.
Ele utiliza o conceito de fitness, assim como todas as implementações de
computação evolutiva.
Unico em relação ao conceito do PSO é ”voar” soluções em potencial
através do hiperespaço, acelerando-as na direcão de melhores solucões. Out-
ras propostas de computação evolutiva operam diretamente em possiveis
soluções representadas por posições no hiperespaço.
Muito do sucesso do PSO parece estar relacionado na tendencia dos
agentes em se deslocarem em direção ao seu alvo.
O capitulo de Holland sobre ”alocação otima de tentativas” releva um
delicado balanço entre testes conservadores de regiões conhecidas versus ex-
ploração arriscadas do desconhecido. Parece que a versão atual do algoritmo
aloca as tentativas proximas do otimo.
Os fatores aleatórios permitem uma pesquisa extensiva em regiões do
espaço de pesquisa que são conhecidamente boas e o efeito do momento
causando pela modificação da velocidade existente ao inves de trocar seus
resultados resultam em extrapolações da região conhecidas e exploração de
regiões desconhecidas.