otimização por colônias de formigas – aco (ant colony optimization) inspirada no comportamento...

15
Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) • Inspirada no comportamento de busca por alimentos das formigas • Aplicações em problemas de otimização combinatorial

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

Otimização por Colônias de Formigas – ACO (Ant Colony Optimization)

• Inspirada no comportamento de busca por alimentos das formigas

• Aplicações em problemas de otimização combinatorial

Page 2: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Problema do Caixeiro Viajante• Descobrimento de Rotas

– Roteamento de veículos– Roteamento em redes de telecomunicação

• Escalonamento de Tarefas• Coloração de Mapas• Bioinformática

– Árvores filogenéticas– Dobramentos de proteínas

• Mineração de Dados– Clustering– Classificação (Ant-Miner)

http://sourceforge.net/projects/guiantminer/

ACO :: Aplicações

Page 3: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

ACO :: Colônias de Formigas Reais

• Curiosidades 9000 espécies conhecidas– Colônias compostas de dúzias a milhões de

indivíduos– Tempo de vida da rainha pode superar 20 anos– As formigas são seres praticamente cegos

Page 4: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

ACO :: Colônias de Formigas Reais

• Comunicação– Direta

• Contatos através das antenas, troca de comida ou líquido, contato mandibular

– Indireta• Interações a nível microscópico (substâncias químicas)

• Estigmergia– Semitectônica: construção de ninhos

– Baseada em sinal/substância: busca por alimento

Page 5: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Busca por alimento– Estigmergia através de trilhas de feromônio– Preferência probabilística por caminhos com

alta taxa de feromônio– Adaptação a mudanças do ambiente (auto-

organização)

ACO :: Colônias de Formigas Reais

Page 6: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Situação 1:

• Situação 2:??

Colônias de Formigas Reais(encontrando o melhor caminho...)

Page 7: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Situação 3:

• Situação 4:

Colônias de Formigas Reais(encontrando o melhor caminho...)

Page 8: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Busca por alimento

ACO :: Colônias de Formigas Reais

Page 9: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

ACO :: Colônias de Formigas Artificiais

• Proposta inicialmente por Marco Dorigo (1996)

• Inspirada no comportamento das colônias de formigas reais na procura de alimento

• Baseada em população– Agentes simples (artificial ants)

• Sistema auto-organizável– Comunicação entre agentes (estigmergia)

Page 10: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

ACO :: Semelhanças e Diferenças

• Semelhanças com o sistema real– Uma colônia de indivíduos (agentes) que

cooperam entre si– Trilhas de feromônio artificiais (informações

numéricas) 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

– Política de decisão probabilística que faz uso somente de informação local

Page 11: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Diferenças com o sistema real– 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

ACO :: Semelhanças e Diferenças

Page 12: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Deve-se definir– Uma representação apropriada do problema– Função heurística ()– Método para forçar a construção de soluções

válidas– Regra para atualização do feromônio ()– Regra probabilística de transição: em função

dos valores da heurística e da quantidade de feromônio

ACO :: O Algoritmo ACO

Page 13: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Representação do problema– Grafo (N, A)

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

• A é o conjunto dos caminhos entre as cidades (arestas)

• Função heurística ij = 1/dij

– dij é a distância entre as cidades i e j

ACO :: Problema do Caixeiro Viajante

Page 14: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

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

• Regra de atualização do feromônio– Evapora

– Atualiza

• Regra probabilística de transição

ACO :: Problema do Caixeiro Viajante

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

Sj(t)ijij

(t)ijijij

P

]1,0(,1 Ai,j(t), ij(t)ij

Page 15: Otimização por Colônias de Formigas – ACO (Ant Colony Optimization) Inspirada no comportamento de busca por alimentos das formigas Aplicações em problemas

• Pseudo-código:– Inicializar Trilhas– Do While (Critério de parada não alcançado) – Cycle Loop

• Do Until (Cada formiga completar um caminho) – Tour Loop• Atualização local da trilha

• End Do• Evaporar feromônio nas trilhas• Analizar caminhos• Atualização global da trilha

– End Do

ACO :: Pseudo-Código