Escolar Documentos
Profissional Documentos
Cultura Documentos
Enxames de Partculas
Computao Natural Gisele L. Pappa
Psicologia social Interaes entre indivduos Inteligncia resultado de interaes entre os indivduos (e adaptao)
Imitar as pessoas tendem a imitar o comportamento de outras (especialmente das bem sucedidas)
Poucos animais so capazes de imitar uns aos outros
Utiliza o conceito de uma partcula com uma velocidade se movendo num hiperespao de busca (velocidade e posio)
O algoritmo PSO
Indivduos interagem com um nmero k de vizinhos Uma partcula possui Uma coordenada no espao de busca (xi) Uma velocidade (vi) Conceito de melhor posio (fitness) Altera a velocidade para nos levar a essa posio Esquecer ou aprender so vistos como aumentar ou diminuir o valor da posio da partcula
O Algoritmo PSO
1. Inicializao: cria uma populao inicial aleatoriamente 2. Loop para populao: para cada partcula:
a) Avalia o quo boa ela (Se ela for melhor que a melhor partcula at o momento, ele se torna a melhor) b) Avaliao da vizinhana c) Determina a velocidade Vi d) Atualiza a partcula (aplica regra de atualizao)
O algoritmo PSO
Atualizando a posio da partcula: xi(t) = f(xi(t-1), vi(t-1), pi, pg) Onde: Pi = local onde a melhor fitness do indivduo foi encontrada Pg= local onde a melhor fitness do melhor vizinho foi encontrada
A Velocidade
vi(t) = vi(t-1) + c11(pi-xi(t-1)) + c22(pg-xi(t-1)) : constante de inrcia (mantm partculas em movimento) C1,2 : constantes que afetam o quanto cada uma das melhores partculas afetam a partcula atual 1 escalar aleatrio (taxa de aprendizagem)
Inicializao
Vizinhana
Tipos de PSO
Existem dois tipos de algoritmos bsicos
Um para dados contnuos
Mais utilizado e, consequentemente, mais estudado
Geogrfica
Social
Parmetros do PSO
Nmero de partculas na populao e nmero de interaes
Em geral, quanto mais partculas e quanto mais interaes, maior a chance de encontrar uma soluo (quase)-tima, mas mais lento o PSO vai ser
// inicializao
LOOP (at o critrio de parada ser satisfeito ex. Nmero mximo de interaes) FOR i = 1 to nmero de partculas // adaptao IF Fit(xi) > Fit(pi) THEN pi = xi // salva a melhor posio anterior de i em pi END IF pg = vizinho com a melhor fitness entre todos os vizinhos de i FOR j = 1 to nmero de dimenses Calcule a velocidade da partcula i na dimenso j, fazendo com que a partcula seja atrada para a sua melhor posio at o momento e a posio de seu melhor vizinho IF velocidade no estiver no intervalo [Vmax, Vmax] THEN modifique a velocidade de forma que ela esteja no intervalo END IF Atualiza a posio na dimensio j, adicionando velocidade a posio
Fator de inrcia w: menor que 1, mas no muito pequeno O que acontece se: w maior que 1?
Velocidade aumenta rapidamente com o tempo
w muito pequeno?
Partcula pra rpido, levando a convergncia prematura
w pode ser fixo ou variado durante a busca. Podemos comear com w = 0.7 e diminuir esse valor linearmente ao longo das interaes
As noes de posio e velocidade de uma partcula para dados contnuos so re-definidas posio representa o estado da string de bits
xij= valor do bit da partcula i na dimenso j
Aplicaes
Anlise de dados
Agrupamento e classificao
Objetivo
Encontrar
Parmetros
Cada partcula representa um conjunto de 10 parmetros que representam o caminho a ser percorrido 20 partculas so distribudas no espao O algoritmo roda 100 iteraes A fitness dada pelo tempo que o carro leva para completar uma volta
o melhor caminho a ser seguido pelos carros controlados pelo computador em um jogo de corrida
Resultados
Jogador humano leva em mdia 70s para completar uma volta Na primeira iterao do algoritmo, a melhor partcula tinha um tempo de 80s, e a mdia de todas as partculas era de 115 s Ao final da execuo, a melhor partcula completava a volta em 63s, tornando o computador imbatvel por um usurio humano
Agradecimentos
Alguns desses slides foram retirados das aulas de computao natural de Alex A. Freitas e Jon Timmis
Bibliografia
http://www.swarmintelligence.org/ http://www.swarmintelligence.org/tutorials.php Kennedy, J. and Eberhart, R. C. Particle swarm optimization. Proceedings of IEEE International Conference on Neural Networks, Piscataway, NJ. pp. 1942-1948, 1995 http://www.gamasutra.com/features/20051213/ villiers_01.shtml