Computação evolucionária #2 · 2018-04-25 · Cada indivíduo se move em uma direção quase ......

27
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

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

3

Swarm intelligence: a união faz a força

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: