Computação evolucionária #2 · 2018-04-25 · Cada indivíduo se move em uma direção quase ......
Transcript of Computação evolucionária #2 · 2018-04-25 · Cada indivíduo se move em uma direção quase ......
1
Computação Evolucionária
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ – UTFPR
Programa de Pós-Graduação em Engenharia e Informática – CPGEI Laboratório de Bioinformática e Inteligência Computacional
Câmpus Curitiba (PR)
Prof. Heitor Silvério Lopes [email protected]
CE2018-10
Prof. Heitor Silvério Lopes – UTFPR 2018
2
Inteligência Computacional
Sistemas
Fuzzy
PE
EE
PG SC
Computação
Evolucionária
Computação
com DNA
L-systems
Sistemas
complexos
Sistemas
Imunológicos
Artificiais Autômatos
Celulares
Vida
Artificial
Redes
Neurais
PEG AG
AM
Hardware
evolutivo
Inteligência de Enxames
ED
AED
EG
AGC
Deep
Learning
ABC
BAT
PSO
ACO
Prof. Heitor Silvério Lopes – UTFPR 2018
4
Otimização por Enxame de Partículas (Particle Swarm Optimization - PSO)
Prof. Heitor Silvério Lopes – UTFPR 2018
5
Particle Swarm Optimization
PSO foi criado por Jim Kennedy e Russell Eberhart
Primeira publicação em 1995
Posteriormente melhorado por Y.Shi, M.Clerc e outros
Livro: Eberhart, R.C., Shi, Y., Kennedy, J. Swarm Intelligence. San Francisco:
Morgan Kaufmann, 2001
Prof. Heitor Silvério Lopes – UTFPR 2018
Literatura sobre PSO
Clerc, M., Particle Swarm Optimization. Wiley-ISTE, 2006
Parsopoulos, K.E. & Vrahatis, M.N., Particle Swarm Optimization and Intelligence. IGI Global, 2010.
Olsson, A.E., Particle Swarm Optimization: Theory, Techniques and Applications. Nova Science, 2011
Mishra, A.K., Particle Swarm Optimization : Bio Inspired Optimization Technique. LAP Lambert, 2017
6
Prof. Heitor Silvério Lopes – UTFPR 2018
Swarm ?
Um swarm (enxame) é Um conjunto de indivíduos (população)
São aparentemente desorganizados espacialmente
Tendem a se agrupar enquanto se movem num hiperespaço
Cada indivíduo se move em uma direção quase-aleatória
7
Prof. Heitor Silvério Lopes – UTFPR 2018
8
Inspiração do PSO
Modelo bioinspirado no comportamento coletivo de grupos de animais, observado em:
cardumes de peixes revoada de pássaros manadas de animais
Interagem localmente, sem controle central
Prof. Heitor Silvério Lopes – UTFPR 2018
9
Vídeos de PSO
Animações de PSO:
Particle Swarm Optimization in MATLAB:
Glowworm Swarm Optimization
https://www.youtube.com/watch?v=nul8nYIQ8ug
https://www.youtube.com/watch?v=_vhSu4xBoFs
https://www.youtube.com/watch?v=1JOibdObwOs https://www.youtube.com/watch?v=GMLEc5x_f30 https://www.youtube.com/watch?v=PIJICmPDQPU
Prof. Heitor Silvério Lopes – UTFPR 2018
Características do PSO
É um algoritmo populacional, onde os “indivíduos” são denominados de partículas
As partículas “sobrevoam” o espaço de busca n-dimensional do problema
A busca se dá através da aceleração e desaceleração das partículas que são influenciadas estocasticamente por dois componentes:
Componente Cognitivo Componente Social
10
Prof. Heitor Silvério Lopes – UTFPR 2018
11
De onde eu vim ? Para onde eu vou ?
Comportamentos possíveis de uma partícula:
OUSADO: segue seu próprio caminho (usando o seu vetor velocidade) CONSERVADOR: volta mais ou menos em direção à melhor posição que encontrou em sua busca SUBMISSO: volta mais ou menos em direção à melhor posição encontrada pelos seus vizinhos
PSO formaliza a combinação destas três tendências de modo a ser globalmente eficiente. (M. Clerc)
Solução
atual
Melhor solução
local
x
MSG
MSL
v
Melhor solução
global
Prof. Heitor Silvério Lopes – UTFPR 2018
12
Componente social
O componente social influencia a movimentação das partículas de acordo com o grupo de partículas (rede social) com o qual uma partícula vai interagir:
gbest (global best) ou MSG (melhor solução global): toda a população é considerada. lbest (local best) ou MSL (melhor solução local): apenas os vizinhos são considerados
Prof. Heitor Silvério Lopes – UTFPR 2018
Componente cognitivo
O componente cognitivo influencia a movimentação das partículas de acordo com a “experiência” da própria partícula adquirida ao longo das iterações:
pbest (particle best)
13
Prof. Heitor Silvério Lopes – UTFPR 2018
Cada partícula é composta por 3 vetores n-dimensionais:
Posição atual: xi = (xi1, xi2, ... , xin) Velocidade: vi = (vi1, vi2, ... , vin) Melhor posição visitada: MSLi = (MSLi1, MSLi2, ... , MSLin) Onde n é o número de dimensões e i é o índice da partícula na população
Estrutura de uma partícula
Prof. Heitor Silvério Lopes – UTFPR 2018
15
Pseudocódigo do algoritmo PSO
Minimização de um vetor n-dimensional, avaliado por uma função de fitness (f) Passos de inicialização necessários:
Inicializar cada coordenada xi,j dentro da faixa [Xminj, Xmaxj] Inicializar cada vij dentro de [-Vmax, Vmax] Atribuir MSLi = xi para todas as partículas
DO FOR cada partícula i
IF f(xi) < f(MSLi) THEN MSLi = xi //atualiza o melhor componente cognitivo
IF f(MSLi) < f(MSG) THEN MSG = xi //atualiza o melhor componente social
vi(t+1)=vi(t) + c1.r1(t)[MSLi(t)-xi(t)] + c2.r2(t)[MSGi(t)-xi(t)] //Atualiza velocidade de (i)
xi(t+1) = xi(t) + vi(t+1) //Atualiza posição de (i)
END_FOR WHILE condição de parada=TRUE
Prof. Heitor Silvério Lopes – UTFPR 2018
Atualização das melhores soluções
PSO é definido para um problema de minimização
Atualização da MSL e MSG a cada iteração:
16 16
MSG(t+1) = xi(t+1), se f(xi(t+1)) < f(MSG(t))
MSLi(t+1) = xi(t+1), se f(xi(t+1)) < f(MSLi(t)) [1]
Prof. Heitor Silvério Lopes – UTFPR 2018
17
Equação de atualização da “velocidade” (tem dimensão de deslocamento):
Onde:
c1 regula o tamanho do passo na direção da melhor posição encontrada até o momento pela partícula (componente cognitivo ou individual) c2 regula o tamanho do passo na direção da melhor partícula encontrada global ou regionalmente (componente social ou global) 0 < c1, c2 < 2 r1 e r2 (0,1) são números aleatórios com distribuição uniforme
vi(t+1) = vi(t) + c1.r1 (t)[ MSLi(t) - xi(t)] + c2.r2 (t)[ MSGi(t) - xi(t)] Para todas as n dimensões do vetor
Atualização da velocidade
[2]
Melhor Solução Global
Melhor Solução Local
Componente Cognitivo
Prof. Heitor Silvério Lopes – UTFPR 2018
18
Atualização da posição da partícula
Equação de atualização da posição da partícula:
Limitações: Limites do espaço de busca: [Xminj, Xmaxj] (j é cada posição do vetor)
Vi: utilizada para limitar as velocidades, evitando que as partículas extrapolem o espaço de busca: [-Vmax, Vmax]
Se Vmin for muito pequeno as partículas se movimentam lentamente.
Se Vmax for muito grande, as partículas dão “saltos”
xi(t+1) = xi(t) + vi(t+1) [3]
Prof. Heitor Silvério Lopes – UTFPR 2018
19
Melhoria do algoritmo PSO
Coeficiente de inércia (w): Controla a influência da velocidade de um instante de tempo anterior (componente cognitivo)
Velocidade define a intensidade da busca: valores altos de velocidade resultam em movimentos bruscos; valores baixos de velocidade podem resultar na exploração insuficiente do espaço de busca
vi(t+1) = w.vi(t) + c1.r1 (t)[ MSLi(t) - xi(t)] + c2.r2 (t)[ MSGi(t) - xi(t)] Onde i 1..n
Prof. Heitor Silvério Lopes – UTFPR 2018
20
PSO para problemas discretos
Restringe os valores de xi a {0, 1}
vi é tratado como um valor de probabilidade: [0, 1]
Usa-se uma sigmóide para forçar a velocidade ficar no intervalo [0, 1]
A equação da velocidade não se altera
sig(x) = 1 / (1 + exp(-x) )
Prof. Heitor Silvério Lopes – UTFPR 2018
21
Equação de atualização de posições
PSO pode abordar tanto valores contínuos quanto binários no mesmo vetor – enxame híbrido
Para problemas combinatoriais PSO “especial”
PSO para problemas discretos
xij(t+1)=
0 se r3j(t) sig(vij(t+1))
1 se r3j(t) < sig(vij(t+1))
Onde r3j(t) é uma sequência aleatória: (0, 1)
Prof. Heitor Silvério Lopes – UTFPR 2018
22
PSO para problemas multiobjetivos
Objetivos conflitantes: o valor ótimo para um objetivo influencia no resultado dos outros
P.ex.: maximizar conforto e diminuir custo
A cada ajuste de variáveis (parâmetros de configuração) um novo trade-off é encontrado
Em MO o objetivo é determinar todos os trade-offs possíveis entre os objetivos: fronte de Pareto.
Uma curva (para dois objetivos) e uma superfície (para mais de dois objetivos)
Prof. Heitor Silvério Lopes – UTFPR 2018
23
Comparações entre PSO e AG
Ambos são baseadas em população Uma partícula é análoga a uma cromossomo; ambos representam uma solução ao problema PSO não possui operador de crossover, porém os conceitos semelhantes são representados
Cada partícula é acelerada aleatoriamente na direção de MSLi(t) e MSG(t); o vetor resultante é uma “mistura” destas influências
PSO não utiliza o operador de seleção Todas as partículas continuam como membros da população durante a execução do algoritmo
Prof. Heitor Silvério Lopes – UTFPR 2018
24
PSO para o TSP
Nova metodologia híbrida que inclui o PSO original adaptado para problemas discretos e conceitos de AGs:
Representação de uma solução
Operador de crossover OX
Busca local e explosão
Machado, T.R., Lopes, H.S. A hybrid particle swarm optimization model for the traveling salesman problem. In: Ribeiro, B., Albrecht, R.F., Dobnikar, A. et al (eds.), Adaptive and Natural Computing Algorithms. Wien: SpringerWienNewYork, 255-258, 2005.
Lopes, H.S., Coelho, L.S., Particle swarm optimization with fast local search for the blind travelling salesman problem. Proc. of 5th International Conference on Hybrid Intelligent Systems, Rio de Janeiro, RJ, 06-09/novembro, p. 245-250, 2005.
Prof. Heitor Silvério Lopes – UTFPR 2018
25
PSO para registro de imagens
Aplicação: reconhecimento de padrões, visão computacional
Objetivo: encontrar um padrão de referência em uma imagem complexa
Perlin, H.A. ; Lopes, H. S. ; Mezzadri, T.C. Particle swarm optimization for object recognition in computer vision. Lecture Notes in Computer Science, v. 5027, p. 11-21, 2008
25
? ?
Prof. Heitor Silvério Lopes – UTFPR 2018
PSO para o problema de empacotamento bidimensional
Problema NP-completo
Dados n objetos com limites dimensionais (peso, volume, área…) e utilidades (valor, lucro…), bem como um recipiente (caixa, container…), escolher quais objetos colocar no recipiente respeitando seus limites físicos e maximizando a soma das utilidades.
Dimensionalidade:
1D: barras metálicas, tubos, cabos elétricos, etc.
2D: chapas, folhas, embalagens, tecidos, etc
3D: containers, caixas, objetos, etc
26
F. Hembecker, H.S. Lopes, H.S., W. Godoy Jr., Particle Swarm Optimization for the Multidimensional Knapsack Problem. Lecture Notes in Computer Science, v. 4331, p. 358-365, 2007.
Prof. Heitor Silvério Lopes – UTFPR 2018
Outras aplicações do PSO
27
Wille, E.C.G., Yabcznski, E., Lopes, H.S., Discrete capacity assignment in IP networks using particle swarm optimization. Applied Mathematics and Computation, v. 17, p. 5338-5346, 2011.
Talau, M., Wille, E.C.G., Lopes, H.S. An approach for solving the base station placement problem using particle swarm intelligence. Proc. International Telecommunications Symposium, Manaus, 2010.
Aplicação: dimensionar a capacidade dos links de comunicação em uma WAN com base na demanda e confiabilidade:
Aplicação: estabelecer a melhor posição para a ERB (wi-fi) em um local complexo com obstáculos de modo a otimizar o serviço para um número de usuários com demandas diferentes: