Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga...

36
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-11

Transcript of Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga...

Page 1: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

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-11

Page 2: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

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

Deep

Learning

ABC

BAT

PSO

ACO

Page 3: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

3

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

Page 4: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

4

Comportamentos “inteligentes” de insetos “sociais”

Abelhas: Construção padronizada da colméia

Regulação da temperatura da colméia

Exploração das fontes de alimento de acordo com qualidade e distância

Cupins: Construção de túneis de comunicação

Construção de pilares de sustentação

Formigas: Definição de trilhas até os locais fontes de comida através de trilhas de feromônios

Formam pontes com os próprios corpos para superarem obstáculos

Page 5: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

5

Alguns comportamentos das formigas que foram estudados:

organização para agrupar e ordenar larvas e corpos

organização no transporte de materiais

construção dos seus ninhos ou colméias

divisão de trabalho

definição de rotas entre fonte de alimento e ninho

Comportamentos “inteligentes” de insetos “sociais”

Page 6: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

6

Literatura

Bonabeau, E., Marco Dorigo, M.,Theraulaz, G. Swarm Intelligence : From Natural to Artificial Systems. Oxford University Press, 1999

Dorigo, M., Stützle, T. Ant Colony Optimization. MIT Press, 2004

Page 7: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

7

Trilhas de feromônio

À medida que as formigas se movem, depositam feromônio no solo

Assimetria: quando carregam alimento, depositam mais do que quando não carregam

As formigas têm preferência probabilística por caminhos com alta taxa de feromônio

Auto-organização: As formigas podem se adaptar a mudanças do ambiente

Page 8: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

8

Formigas reais

Classificação: Kingdom:Animalia Phylum:Arthropoda Class:Insecta Order:Hymenoptera Suborder:Apocrita Superfamily:Vespoidea Family:Formicidae Alguns fatos:

Há > 9000 espécies conhecidas Cada colônia pode ter de algumas dúzias até milhões de indivíduos, dependendo da espécie O tempo de vida da rainha pode superar 20 anos Formigas são praticamente cegas

Page 9: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

9

Comunicação em colônias de formigas reais

Direta: Contatos pelas antenas ou mandíbulas Troca de comida ou líquido digerido

Indireta: através de “stigmergia”:

“Stigmergia”: termo proposto por P. Grassé, 1959: Basicamente é um mecanismo de realimentação positiva pelo qual o comportamento de um indivíduo afeta o comportamento de outros.

Semitectônica: construção de ninhos Interação microscópica através de substâncias deixadas no ambiente.

Page 10: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

10

Algoritmo ACO

Proposto por Marco Dorigo e outros (1996) Semelhanças com o formigas reais:

Colônia de indivíduos (agentes) que cooperam entre si Trilhas de feromônio artificiais para comunicação local Preferência probabilística por caminhos com maior quantidade de feromônio: caminhos curtos tendem a ter alta taxa de feromônio

Diferenças com formigas reais: Possuem memória das ações passadas O mundo em que ‘vivem’ é discreto Depositam quantidades de feromônio em função da qualidade da solução encontrada

Page 11: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

11

Experimento de formação de trilha por reforço

Ponte binária

Ninho Comida

ninho

alimento

ninho

alimento

Múltiplos caminhos

Page 12: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

12

Busca do caminho mais curto

Diagrama de uma configuração experimental para demonstrar a auto-organização das formigas.

distâncias

alimento

ninho

obstáculo

Page 13: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

13

Busca do caminho mais curto

Inicialmente não há feromônio nos possíveis caminhos:

ABCEF

ABDEF

Page 14: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

14

Busca do caminho mais curto

1

2

O obstáculo causa a necessidade de tomada de decisão Inicialmente nenhum fator guia a decisão das formigas (probabilidades iguais para cada caminho) A formiga 1 chega mais rápido ao destino do que a formiga 2

Page 15: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

15

Busca do caminho mais curto

1

2

Ao voltar de “FE”, a formiga 2 percebe a trilha de feromônio já existente em “DE” e é estimulada a ir nesta direção

Page 16: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

16

Busca do caminho mais curto

1

2

O feromônio existe nas duas possíveis trilhas mas em quantidades diferentes A escolha do caminho ainda é aleatória mas preferida na direção “ECB” do que na “EDB”

Page 17: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

17

Busca do caminho mais curto

A realimentação positiva faz uma rota emergir em relação aos outros caminhos possíveis

Page 18: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

18

Busca do caminho mais curto

Um caminho é estabelecido

Auto-organização através da estigmergia (positive feedback)

Ocorre também a vaporação do feromônio (realimentação negativa)

Page 19: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

Vídeos sobre ACO

Ant Colony Optimization Simulation

Ant Algorithm Simulator

Dentro da colônia de formigas

19

https://www.youtube.com/watch?v=eVKAIufSrHs

https://www.youtube.com/watch?v=vG-QZOTc5_Q

https://www.youtube.com/watch?v=hXUCCRiNBOc

Page 20: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

20

Metodologia para o ACO

• Define-se o problema através de um grafo e uma função de transição de estados baseada em uma informação local e uma distância;

• As formigas são inicializadas em posições aleatórias no grafo;

• Executa-se a função de transição para todos os nós conectados ao atual e não visitados;

• Cada formiga, a cada instante de tempo, desloca-se para o nó com o melhor atratividade;

• Ao final de um caminho, atualiza-se a matriz de feromônios

• Repete-se o procedimento para todas as formigas por um determinado número de ciclos

Page 21: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

21

Algoritmo ACO

Definições preliminares: uma representação apropriada do problema

uma função heurística ()

um método para forçar a construção de soluções válidas

uma regra para atualização do feromônio ()

uma regra probabilística de transição: em função dos valores da heurística e da quantidade de feromônio

Page 22: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

22

• Representação do problema: • Grafo (N, E):

• N é o conjunto de cidades (itens componentes das soluções)

• E é o conjunto de caminhos entre as cidades

• Função heurística (informação local): • ij = 1/dij

• dij é a distância enter as cidades i e j

• Matriz de feromônios ():

• Aprendizado coletivo

Algoritmo ACO para o problema do Caixeiro Viajante (TSP)

Page 23: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

23

• Propriedade de fechamento das soluções: visitar todas as cidades uma única vez

• Regra probabilística de transição:

• α e β são parâmetros ajustáveis

• α = 0 Busca heurística;

• β = 0 Busca aleatória

Algoritmo ACO para o problema do Caixeiro Viajante (TSP)

kiJ

ilil

ijijk

ijt

ttp

.)(

.)()(

Page 24: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

24

Algoritmo ACO para o problema do Caixeiro Viajante (TSP)

• Regra de atualização do feromônio:

Q depende da qualidade do caminho Neste caso, a distância total percorrida

Cada formiga somente atualiza a trilha por onde passa

Ri,jQ, (t)ij(t)ij)(tij 1

Page 25: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

25

Algoritmo ACO para o problema do Caixeiro Viajante (TSP)

Evaporação de feromônio: Permite “esquecer” caminhos mais longos ou pouco utilizados

Realimentação negativa que serve para “equilibrar” a realimentação positiva

O parâmetro é a taxa temporal de evaporação

)()().1()( ttt ijijij

Page 26: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

26

Pseudocódigo ACO

Page 27: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

27

Aplicação #1: Ant-Miner: Mineração de dados com ACO

Descoberta de conhecimento Regras do tipo IF-THEN

Tarefa de Classificação de dados Aprendizado supervisionado

Bases de dados Atributos previsores e atributo meta

Várias versões/dados publicadas Parpinelli, R.S., Lopes, H.S., Freitas, A.A. Data mining with an ant colony optimization algorithm. IEEE Transactions on Evolutionary Computation, v. 6, n. 4, p. 321-332, 2002.

A.A. Freitas, R.S. Parpinelli, H.S. Lopes, Ant Colony Algorithms for Data Classification. In: Khosrow-Pour, M (Ed.), Encyclopedia of Information Science and Technology, 2nd Ed., Hershey: IGI Publishing, p. 420-424, 2007.

Page 28: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

28

Ant-Miner: Mineração de dados com ACO

Representação do problema: Cada par atributo/valor é um candidato para compor a solução

Cada solução representa um caminho seguido pela formiga

Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j)

Page 29: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

29

Ant-Miner: Mineração de dados com ACO

Propriedade de fechamento das soluções: Analisar todos os atributos/valores uma única vez

Regra de atualização do feromônio:

Regra probabilística de transição:

Ri,jQ, (t)ij(t)ij)(tij 1

Si

ib

j(t)

ijij

(t)ijij

ijP

1

Page 30: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

30

Aplicação #2: ACO para problemas multiobjetivos

Importante área de aplicação

Colônias heterogêneas com diferentes matrizes de feromônio

Cooperação: Formigas na frente de Pareto são permitidas atualizar o feromônio

Abordagem similar a outros métodos de enxame (PSO, ABC, etc)

Page 31: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

31

Atualização pela origem: uma formiga atualiza somente na sua própria colônia

ACO para problemas multiobjetivos

Fronte não-dominada

Colônia

1

Colônia

2

Colônia

3

Atualiza Atualiza

Atualiza

Page 32: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

32

Atualização por região na fronte não dominada: fronte não dominada é separada em p partes

ACO para problemas multiobjetivos

Fronte não-dominada

Colônia 1 Colônia 2 Colônia 3

Atualiza Atualiza Atualiza

Page 33: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

33

Aplicação #3 ACO para o roteamento múltiplo de veículos

CVRP: Capacitated Vehicle Routing Problem

Elementos do problema: Diversos de destinos (clientes), cada um com a sua demanda

Um depósito central de distribuição de produtos

Uma frota de veículos de capacidade limitada

Problema em dois níveis: Encontrar o número mínimo de veículos para satisfazer a demanda de entregas

Encontrar o menor caminho entre os destinos para cada um dos veículos

Lopes, H. S., Dalle Molle, V.L., Lima, C.R.E. Aplicação da otimização por colônia de formigas ao problema de roteamento de múltiplos veículos de capacidade limitada. In: Anais do I Simpósio Brasileiro de Inteligência Computacional, 2007, Florianópolis, [CD-ROM], 2007

Page 34: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

34

ACO para o roteamento múltiplo de veículos

O CVRP é NP-hard

A figura mostra um exemplo de 10 consumidores e três percursos

Page 35: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

35

Roteamento múltiplo de veículos

Resultados 32..135 clientes

5..10 rotas

Solução obtida para a instância En101k8

Page 36: Computação evolucionária #2 - ct.utfpr.edu.br · •α = 0 Busca heurística; ... pela formiga Função heurística: ij = 1 - (medida de entropia para o atr. i / valor j) ... roteamento

Prof. Heitor Silvério Lopes – UTFPR 2018

Outras aplicações do ACO

36

Silva, R.; Lopes, H.S.; Godoy Jr., W., A heuristic algorithm based on ant colony optimization for multi-objective routing in vehicle ad hoc networks. In: Proceedings of BRICS - Conference on Computational Intelligence, 2013, Recife, 2013.

Perretto, M., Lopes, H.S. An ant colony system for large-scale phylogenetic tree reconstruction. Journal of Intelligent and Fuzzy Systems, v. 18, n. 6, p.575-583, 2007

Roteamento dinâmico em redes VANETs considerando menor caminho e menor probabilidade de desconexão:

Reconstrução de árvores filogenéticas a partir de dados de DNA para grande número de espécies: