Optimização através de colónias de formigas. Guy Theraulaz

Documentos relacionados
Otimização em Colônias de Formigas. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Otimização por Colônia de Formigas (ACO)

Tópicos Especiais em Otimização

Ant Colony Optimization

Optimização por colónias de formigas (Ant colony optimization)

Metaheurísticas de Otimização Bio-Inspiradas

Fundamentos de Inteligência Artificial [5COP099]

1. Computação Evolutiva

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP)

Inteligência de enxame e o algoritmo das abelhas

Computação Evolucionária

OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS PARA O ROTEAMENTO EM REDES DE COMPUTADORES.

Redes de Alto Débito Routing com meta-heuristicas

2 Modelos Baseados no Comportamento de Formigas

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

4. MÉTODO DO FORMIGUEIRO (ANT COLONY OPTIMIZATION ACO)

Inteligência Coletiva. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

Problemas de otimização

Métodos de pesquisa e Optimização

Colônia Evolucionária de Formigas: Uma Proposta Inicial Aplicada ao Problema do Caixeiro Viajante

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

Inteligência Artificial

3 Aprendizado por reforço

METAHEURÍSTICA Encontrar soluções boas ou até mesmo ótima

Técnicas de Inteligência Artificial

O que é? Swarm Intelligence. Qual a origem? Cardume. Qualquer tentativa de projetar algoritmos ou técnicas de resolução distribuída de

Inteligência de Enxame: ACO

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Otimização de horários Seminário. Clarisse Resende 25/01/2013

Métodos modernos de pesquisa e Optimização

Implementação da metaheurística Colônia de formigas em Java para o problema do Caixeiro Viajante Simétrico.

Optimização Não-linear

3 Algoritmos Genéticos

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Modelos de Suavização Exponencial Aula - 07

Optimização Não-linear

Computação Bioinspirada PROF. PAULO SALGADO

Roselaine Regina Rubi APLICAÇÃO DO ALGORITMO COLÔNIA DE FORMIGAS NA RESOLUÇÃO DO 8-PUZZLE

Aprendizado por Reforço usando Aproximação

Problemas de Fluxo em Redes

Inteligência de Enxame

Modelação, Identificação e Controlo Digital

Sistemas de Apoio à Decisão Optimização V 1.0, V.Lobo, EN/ISEGI, 2005

Inteligência Artificial

Sistemas de Apoio à Decisão Optimização V 2.0, V.Lobo, EN/ISEGI, 2011

Implementação de Otimização Colônia de Formigas

Resolução Para o Problema n-rainhas Utilizando ACO

Tabelas de Dispersão. Algoritmos e Estruturas de Dados Verão Cátia Vaz 1

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

A Otimização Colônia de Formigas

Previsão da Estrutura de Proteínas com Modelos HP

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Metaheurísticas de Otimização Bio-Inspiradas

Aprendizado, minimização do arrependimento e equilíbrio (Learning, Regret Minimization, and Equilibria)

Otimização por colônia de formigas Ant Colony Optimization ACO - Algoritmo de classificação

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI

ESTUDO EXPERIMENTAL, MODELAGEM E IMPLEMENTAÇÃO DO COMPORTAMENTO DE COLÔNIAS DE FORMIGAS EM UM AMBIENTE DINÂMICO

Decisão Decidir Análise / Teoria da Decisão

Figura 1.1: Um reservatório natural de petróleo típico: dificuldade para investigar áreas de interesse.

Gestão de Projectos. Projectos como redes de actividades Determinação do caminho crítico Método de PERT Método CPM Exercício Links

Um Minotauro Perdido & Percolação

4 Metáforas de Optimização

Minicurso Inteligência Artificial Aplicada a Sistemas Elétricos. Niterói, 12 de Maio de 2018

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH

SEL-0339 Introdução à Visão Computacional. Aula 5 Segmentação de Imagens

C 3 C 3. De acordo com o teorema de Euler, um grafo não orientado admite um ciclo de Euler se e só for conexo e não tiver vértices de grau ímpar.

Uma Introdução à Busca Tabu André Gomes


4 Metodologia de solução do problema

Inteligência Computacional Aplicada a Engenharia de Software

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

Inteligência Artificial. Conceitos Gerais

Sistemas Auto-organizáveis BC0005

Auto-Organização 2017

Optimização. Carlos Balsa. Departamento de Matemática Escola Superior de Tecnologia e Gestão de Bragança

Inteligência Artificial Alameda e Taguspark

Modelos Baseados em Agentes. Agentes Reativos. Prof. André Campos Aula #4

BCC204 - Teoria dos Grafos

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

3. Resolução de problemas por meio de busca

lnteligência Artificial Introdução ao Aprendizado por Reforço (Reinforcement Learning)

Aprendizado por Reforço

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:

COMPUTAÇÃO ENADE 2005 PADRÃO DE RESPOSTAS - QUESTÕES DISCURSIVAS

Edsger Wybe Dijkstra

Tabelas de Dispersão - Introdução (1)

4 Métodos Existentes. 4.1 Algoritmo Genético

Um Modelo Computacional de Recrutamento em Formigas

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

ANÁLISE DE DECISÃO. Elementos básicos sobre árvores de decisão e diagramas de influência. Conceitos complementares:

GESTEC. Processos de Construção Licenciatura em Engenharia Civil. DECivil FUNDAÇÕES DIRECTAS CAP. X 1/67

Buscas Informadas ou Heurísticas - Parte II

Fundação Oswaldo Cruz Escola Nacional de Saúde Pública Departamento de Epidemiologia. Estatística espacial. Padrão Pontual

ALGORITMO DE OTIMIZAÇÃO: UMA ABORDAGEM HÍBRIDA UTILIZANDO O ALGORITMO DAS FORMIGAS E GENÉTICO.

Capítulo 4 Secção 1. Livro

Ponderação de termos

Métodos de Busca. Estratégias de Busca Cega

Transcrição:

Optimização através de colónias de formigas Guy Theraulaz

Insectos, Insectos Sociais e Formigas ~10 18 insectos vivos ~2% de todos os insectos são sociais Os insectos sociais: Todas as formigas Todas as térmitas Algumas abelhas Algumas vespas 50% de todos os insectos são formigas Peso médio de uma formiga: entre 1 e 5mg As formigas colonizaram a Terra há 100 milhões de anos O Homo Sapiens há 50000 anos Vida Artificial Optimização através de colónias de formigas 1

Colónias de Formigas Tamanho das colónias de formigas: de 30 a milhões de operárias Divisão do trabalho: Reprodução: raínha Defesa: Recolha de alimentos Tratamento das crias Limpeza dos ninhos Construção e manutenção dos ninhos Vida Artificial Optimização através de colónias de formigas 2

Algoritmos Formiga As colónias de formigas são sistemas distribuídos que apresentam organizações sociais altamente estruturadas independentemente da simplicidade ao nível individual Os princípios da auto-organização que permitem a comportamento coordenado das formigas, podem ser explorados para resolver problemas computacionais. O campo dos algoritmos formiga estuda modelos derivados das observações do comportamento das formigas reais e utiliza esses modelos como fonte de inspiração para o design de novos algoritmos para resolverem problemas de optimização e de controlo distribuído. Vários comportamentos das colónias de formigas inspiraram diferentes tipos de algoritmos formiga. (recolha de alimentos; divisão do trabalho; transporte cooperativo, agrupamento das crias, reconhecimento colonial, etc). Vida Artificial Optimização através de colónias de formigas 3

Estigmergia Na maior parte dos casos, as formigas coordenam-se através da estigmergia, que é uma forma de comunicação indirecta que é mediada pelas modificações no meio-ambiente. Os Biólogos confirmaram que em muitos casos, é suficiente considerar a comunicação estigmérgica para explicar como é que as colónias de formigas se auto-organizam e são capazes de realizarem tarefas colectivas complexas. O termo pertence a Pierre-Paul Grassé, e foi introduzido em 1959, e resultou da investigação de Grassé com o comportamento de construção das térmitas. Segundo Grassé, a estigmergia é a estimulação das operárias através da performance que realizaram. As térmitas são capazes de criar bolas de lama para construírem os ninhos, impregnam essas bolas de lama com feromonas e largam-nas no chão. As térmitas são atraídas pelas feromonas e assim, depositam bolas de lama perto umas das outras, construindo pilares, arcos, túneis e câmaras. Vida Artificial Optimização através de colónias de formigas 4

Estigmergia O que distingue a estigmergia de outras formas de comunicação é: 1) o carácter físico da informação, que corresponde à modificação dos estados físicos do meio-ambiente visitado pelos insectos e 2) a natureza local da informação, a qual apenas pode ser acedida pelos insectos que visitem o lugar onde foi criada (ou algum lugar vizinho). É possível falar de comunicação estigmergica sempre que exista comunicação mediada por modificações físicas dos estados do meio-ambiente, os quais só são localmente acessíveis pelos agentes. Vida Artificial Optimização através de colónias de formigas 5

Recolha de Alimentos Vida Artificial Optimização através de colónias de formigas 6

Recolha de Alimentos O comportamento de recolha de alimentos de muitas sociedades de formigas (I. Humilis, Linepithema humile, Lasius Niger) baseia-se na comunicação indirecta mediada por feromonas (estigmergia através de marcas ou signos). filme Vida Artificial Optimização através de colónias de formigas 7

Emergência de umtrilho Químico Enquanto caminham do ninho para as fontes de alimento e vice-versa, as formigas depositam feromonas no chão, formando um trilho de feromonas. As formigas são capazes de snifar o químico e tendem a escolher, de modo probabilístico, caminhos onde haja maior concentração de químico. O trilho químico, é uma estrutura emergente e auto-organizada e resulta do feedback positivo. Quanto mais químico, mais formigas são atraídas e ainda mais químico, reforçando-se o trilho que atrai ainda mais formigas, numa espiral crescente. Vida Artificial Optimização através de colónias de formigas 8

Experiências da ponte bifurcada Experiência de Deneubourg com formigas reais L. humile. Ponte entre o ninho e a fonte de comida, com dois ramos de igual comprimento. As formigas acabam por escolher um único dos dois caminhos, aleatóriamente, depois de uma fase inicial transitória Explicação: Não há preferência inicial mas pequenas flutuações iniciais poderão são amplificadas dando origem à preferência por um dos caminhos. Vida Artificial Optimização através de colónias de formigas 9

Optimização QuickTime and a TIFF (LZW) decompressor are needed to see this picture. As formigas seleccionam colectivamente o caminho mais curto. As flutuações aleatórias têm muito menos influência. Explicação: as formigas que optam pelo caminho mais curto, são as primeiras a chegar à fonte de comida e a regressar. Acumula-se mais feromona nos ramos mais curtos que atrai mais formigas e + feromona, etc. No entanto, os caminhos mais longos continuam a ser utilizados por formigas (comportamento probabilístico). Diferencial do comprimento dos caminhos Vida Artificial Optimização através de colónias de formigas 10

Optimização Vida Artificial Optimização através de colónias de formigas 11

Resumo As formigas encontram o caminho mais curto para a comida As formigas depositam feromona ao longo do caminho A feromona vai-se evaporando A intensidade da feromona aumenta com o número de formigas Os bons caminhos são reforçados e os maus desaparecem gradualmente Vida Artificial Optimização através de colónias de formigas 12

Suboptimalidade O que acontece se depois da convergência para um caminho, adicionarmos um caminho ainda mais curto? O novo caminho mais curto é seleccionado apenas esporadicamente, ficando a colónia presa ao caminho subóptimo. Explicação: A elevada concentração de feromona aliada à baixa taxa de evaporação são as causas desse fenómeno. A evaporação, que pode favorecer a exploração de novos caminhos, é demasiado lenta, impedindo que a colónia se esqueça dos caminhos suboptimais, e que descubra um caminho novo e aprenda a escolhê-lo. Vida Artificial Optimização através de colónias de formigas 13

Comportamento Swarm As características swarm estão presentes no comportamento de recolha de alimentos Feedback Positivo Feedback Negativo Aleatoriedade Interações Múltiplas Vida Artificial Optimização através de colónias de formigas 14

Feedback Positivo O Feedback Positivo reforça as boas soluções As formigas são capazes de recrutar outras quando encontram comida Mais formigas num trilho aumentam o nível de feromona e atraiem ainda mais formigas. Vida Artificial Optimização através de colónias de formigas 15

Feedback Negativo O Feedback Negativo remove da memória colectiva (exterior) as soluções antigas e as más soluções Evaporação da Feromona O desaparecimento da comida + evaporação impedem que um lugar esgotado continue a ser procurado. As fontes de alimentação mais distantes são exploradas depois das mais curtas. A Feromona tem menos tempo para se evaporar nas soluções mais curtas. Vida Artificial Optimização através de colónias de formigas 16

Aleatoriedade A aleatoriedade permite que novas soluções sejam procuradas e dirigem a exploração das soluções correntes. As decisões das formigas são probabilísticas Probabilidade de exploração, dado que a subida do gradiente é probabilística As fontes de comida são encontradas de modo aleatório. Vida Artificial Optimização através de colónias de formigas 17

Interacções Múltiplas Nenhum indivíduo pode resolver um problema. Só através da interacção de muitos é que a solução pode ser encontrada. Uma única formiga não pode recolher comida. A feromona evaporar-se-ia demasiado rapidamente. São precisas muitas formigas para manter o trilho Pode-se encontrar comida mais rapidamente Vida Artificial Optimização através de colónias de formigas 18

Algoritmos Formiga A ideia por detrás dos algoritmos formiga é utilizar uma forma de estigmergia artificial para coordenar sociedades de agentes artificiais. As características da estigmergia referidas em cima podem ser facilmente estendidas aos agentes artificiais através de (i) associar variáveis aos estados do problema e (ii) dar aos agentes um acesso local a essas variáveis. Vida Artificial Optimização através de colónias de formigas 19

Início Formigas Artificiais para Problemas de Custo Mínimo Objectivo Vida Artificial Optimização através de colónias de formigas 20

Resultado da Optimização Início Objectivo Vida Artificial Optimização através de colónias de formigas 21

S-ACO S-ACO: Simple Ant Colony Optimization Ferramenta Didáctica para explicar o mecanismo básico dos algoritmos ACO. Representa um passo significativo para a definição de um algoritmo eficiente. Vida Artificial Optimização através de colónias de formigas 22

Rasto de Feromona Artificial A cada arco (i,j) do grafo G=(N,A) associamos uma variável (τ ij ), a que chamamos de rasto de feromona artificial Os rastos de feromonas artificiais são lidos e escritos pelas formigas A quantidade (intensidade) de feromona é proporcional à utilidade, estimada pelas formigas, de utilizarem esse arco para construirem boas soluções. Inicialmente, todos os arcos possuem a mesma quantidade de feromona: τ ij =1 (i,j) A. Vida Artificial Optimização através de colónias de formigas 23

Dois Modos As formigas S-ACO executam passo a passo (de nó a nó) e têm dois modos de funcionamento: Estão no modo para a frente quando estão a moverse do nó inicial (ninho) para o nó final (fonte de alimento) Estão no modo regresso sempre que estiverem a mover-se em direcção ao ninho partindo da fonte de alimento. Quando uma formiga no modo para a frente atinge o nó final, passa para o modo regresso e vice-versa. Vida Artificial Optimização através de colónias de formigas 24

Modo Para a Frente As formigas para a frente constroiem uma solução escolhendo probabilisticamente o próximo nó entre os nós vizinhos do nó onde estão. Vida Artificial Optimização através de colónias de formigas 25

Modo Para a Frente Quando estiver num nó i, a formiga k utiliza o trilho τ ij para calcular a probabilidade de escolher cada um dos nós vinhos j como nó seguinte Vida Artificial Optimização através de colónias de formigas 26

Modo Para a Frente Consideram-se só como nós vizinhos todos os nós ligados directamente ao nó corrente i, excepto o nó predecessor de i (onde estava antes de se mover para i). No caso de não haver vizinhos (beco sem saída), o nó predecessor é o único vizinho e é para esse nó que a formiga vai. Ciclos: Esta forma de decisão do próximo nó leva facilmente à formação de ciclos. Vida Artificial Optimização através de colónias de formigas 27

Modo Para a Frente Quando localizada num nó i a formiga k usa o trilho de feromona para calcular a probabilidade de escolher cada uma dos nós vizinhos j. p k ij = l 0 α τ ij N k i α τ ij se se j N k i j N k i Vida Artificial Optimização através de colónias de formigas 28

Modo Para a Frente As formigas andam de nó em nó desde o nó inicial até que eventualmente deparem com o nó final. Devido às diferenças entre os caminhos das formigas, o instante temporal em que as diversas formigas atingem o objectivo difere de formiga para formiga (As formigas que escolham caminhos mais curtos chegarão mais depressa). Vida Artificial Optimização através de colónias de formigas 29

Modo Regresso As formigas no modo de regresso, devido à memória do caminho percorrido, refazem deterministicamente (quase) o mesmo caminho depois da eliminação dos ciclos, desde o objectivo até ao nó inicial, passo a passo (nó a nó) Vida Artificial Optimização através de colónias de formigas 30

Problema dos Ciclos O problema dos ciclos é que os nós que fazem parte de um ciclo podem receber muita feromona levando aos ciclos que se auto-reforçam. Vida Artificial Optimização através de colónias de formigas 31

Regresso: Eliminação dos Ciclos Os ciclos são eliminados pela mesma ordem que são criados. Se o caminho contiver ciclos imbrincados uns nos outros então o ciclos mais longos não são necessariamente eliminados Vida Artificial Optimização através de colónias de formigas 32

Processo de eliminação dos Ciclos Direcção da verificação de nós repetidos 1º nó a ser verificado 0-1 -3-4 -5-3 -2-8 -5-6 -9 1ª ocorrência do nó 3 Verificando o nó 3 0-1 -3-4 -5-3 -2-8 -5-6 -9 Verificando o nó 2 0-1 -3-2 -8-5 -6-9 Não há mais ciclos Vida Artificial Optimização através de colónias de formigas 33

Regresso: actualização da feromona Durante o regresso desde o objectivo até ao nó inicial, a formiga vai depositando feromona em cada um dos arcos que visitou (exceptuando os que foram removidos devido ao processo de remoção de ciclos). Em particular, se a formiga k estiver no modo regressso e se atravessar o arco (i,j) modifica o valor da feromona desse arco: τij τij + τ k Vida Artificial Optimização através de colónias de formigas 34

Duas possibilidades de actualização da feromona por parte da formiga k (no regresso) τ k Constante: O acréscimo de feromona é constante para todas as formigas e para todos os arcos. (Depende apenas do diferencial do tamanho do caminho: as formigas com melhores caminhos depositam feromona mais cedo) Variável: Além do acréscimo constante, as formigas depositam uma quantidade de feromona que depende da qualidade do caminho. Quanto mais pequeno o caminho maior essa quantidade. Vida Artificial Optimização através de colónias de formigas 35

Evaporação A evaporação do trilho de feromona pode ser visto como um mecanismo de exploração que evita uma convergência rápida para um caminho suboptimal. Favorece a exploração de diferentes caminhos durante o processo de pesquisa. Favorece o esquecimento das más escolhas e limita o nível de feromona nos arcos. O facto de ser menos importante nas formigas reais é devido a que os problemas artificiais são mais complexos do que os reais. τ ij ( 1 p) p [ 0,1] τ ij Vida Artificial Optimização através de colónias de formigas 36

Ciclo S-ACO 1- Cada uma das formigas escolhe o próximo nó a visitar (seja em modo regresso seja em modo para a frente. 2 -A feromona evapora-se em todos os arcos 3- Actualização da feromona no arco escolhido para o caso das formigas que estão a regressar Vida Artificial Optimização através de colónias de formigas 37

Experiências com S-ACO Dupla Ponte Dupla Ponte Estendida Vida Artificial Optimização através de colónias de formigas 38

Critério de Convergência A experiência acaba quando todas as formigas utilizam o mesmo caminho. Contam-se as iterações A qualidade do caminho: O Melhor ou Não? Vida Artificial Optimização através de colónias de formigas 39

Resultados das experiências O Diferencial do Comprimento do Caminho, embora importante, não é suficiente para problemas mais complexos. As actualizações de feromona baseado na qualidade das soluções são importantes para uma convergência mais rápida. Valores elevados do parâmetro α dão maior importância às flutuações iniciais e a um comportamento deficiente do algoritmo Quanto maior o número de formigas melhor a performance com o custo de tempos de simulação maiores. Vida Artificial Optimização através de colónias de formigas 40

Perguntas Vida Artificial Optimização através de colónias de formigas 41