Otimização em Colônias de Formigas -...
-
Upload
truonghanh -
Category
Documents
-
view
219 -
download
0
Transcript of Otimização em Colônias de Formigas -...
![Page 1: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/1.jpg)
Otimização em Colônias de Formigas
Prof. Eduardo R. Hruschka(Slides adaptados dos originais elaborados pelo
Prof. André C. P. L. F. de Carvalho)
![Page 2: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/2.jpg)
2
Principais tópicos
Introdução
Colônias de Formigas
Formação de Colônias de Formigas
Simulações
![Page 3: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/3.jpg)
3
Introdução
Colônias de formigas (e de outros insetos sociais) são sistemas distribuídos
Seus indivíduos são simples
Grupo apresenta uma organização social fortemente estruturada
Colônias podem lidar com tarefas complexas
![Page 4: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/4.jpg)
4
Introdução
Algoritmos de formigas investigam novos modelos computacionais Baseados no comportamento de formigas
Colônias são fonte de inspiração para o desenvolvimento de novos algoritmos
Utilizados para: Problemas de otimização
Problemas de controle distribuído
![Page 5: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/5.jpg)
5
Introdução
Princípios de auto-organização
Permitem o comportamento coordenado
Podem ser utilizados para coordenar populações de agentes artificiais
![Page 6: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/6.jpg)
6
Introdução
Diversos comportamentos das colônias têm inspirado estes algoritmos
Criação de trilhas
Divisão de trabalhos
Transporte cooperativo
...
Stigmergia norteia o processo
![Page 7: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/7.jpg)
7
Introdução
Stigmergia Forma indireta de comunicação que ocorre
por modificações no ambiente Ex: formiga deposita feromônio em uma trilha
![Page 8: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/8.jpg)
8
Colônias de formigas
Maioria das formigas exerce atividades benéficas Espalham sementes, contribuindo para o
reflorestamento de muitos ecossistemas
Promovem a germinação das sementes, ao remover a polpa de frutas
Polenizam flores, quando se alimentam de substâncias vegetais (seiva, néctar, sucos) e de líquidos açucarados secretados por outros insetos
![Page 9: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/9.jpg)
9
Colônias de formigas
Maioria das formigas exerce atividades benéficas ... Realizam a poda de algumas plantas, estimulando
seu crescimento
Auxiliam na aeração do solo
Introduzem matéria orgânica à terra, tornando-a mais fértil
São predadoras de diversos artrópodes, muitos deles pragas agrícolas
![Page 10: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/10.jpg)
10
Colônias de formigas
Divisão de tarefas está relacionada à presença de diferentes castas
Em um formigueiro geralmente existem 2 castas de formigas
Casta das reprodutoras
Rainhas
Machos
Casta das estéreis ou operárias
![Page 11: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/11.jpg)
11
Colônias de formigas
Casta das reprodutoras
Rainhas:
As maiores formigas da colônia
Aladas até serem fecundadas
Vivem muitos anos controlando a colônia
Rainhas de saúvas podem viver até 20 anos
Rainhas de colônias domésticas vivem de 2 a 4 anos
Responsáveis pela postura dos ovos
![Page 12: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/12.jpg)
12
Colônias de formigas
Casta das operárias Escavação e limpeza do ninho
Procura/transporte de água/alimento para o ninho
Alimentação:
Larvas e rainha(s)
Outras operárias
Cuida da prole
Defesa da colônia, etc
![Page 13: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/13.jpg)
13
Comunicação
Formigas se comunicam através de: Substâncias químicas voláteis (odores)
Substâncias solúveis (sabores)
Quando produzidas para se comunicar com outros indivíduos da sua espécie, essas substâncias são denominadas feromônios
![Page 14: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/14.jpg)
14
Comunicação
Existem diferentes tipos de feromônio Feromônio de alarme
Altamente volátil Se dispersa no ar por grandes distâncias ( 60 cm)
Alerta as companheiras sobre perigos
Toda a colônia pode ser alertada em segundos
Feromônio de recrutamento Depositado no solo, em forma de trilha, para informar às
companheiras da presença de alimento
Feromônio territorial marcar os territórios de uso exclusivo da colônia
![Page 15: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/15.jpg)
15
Feromônio de Recrutamento
Frequentemente utilizado para encontrar fonte de alimento
Depositado na trilha percorrida pela formiga em sua busca por alimento (e retorno ao ninho)
Quanto mais formigas passarem na trilha, maior a quantidade de feromônio depositada
Quanto mais recente a passagem da formiga, maior a quantidade de feromônio na trilha
Quanto maior a quantidade de feromônio na trilha, mais formigas são atraídas
![Page 16: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/16.jpg)
16
Feromônio de Recrutamento
Permite encontrar menor caminho:
No início, formigas percorrem caminhos aleatórios
Feromônio permite que o caminho mais curto entre o ninho e a fonte de alimento seja encontrado
Caminho mais curto entre ninho e fonte de alimento
Percorrido com maior freqüência
Recebe mais feromônio
Atrai mais formigas (feedback positivo)
![Page 17: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/17.jpg)
20/05/2013 André de Carvalho - ICMC/USP 17
Ilustração
Formiga 2
Formiga 1
Instante de tempo i
Ponte B
Ponte A
![Page 18: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/18.jpg)
18
Ilustração
Formiga 2
Formiga 1
Instante de tempo i + k
![Page 19: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/19.jpg)
19
Otimização baseada em Colônias de Formigas (OCF)
Modelo computacional distribuído
Inspirada na disposição de feromônio de recrutamento realizado pelas formigas
Problemas de otimização discreta
Baseado em:
Feedback positivo
Heurística gulosa construtiva
![Page 20: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/20.jpg)
20
OCF
Feedback positivo
Exemplo de auto-organização das formigas
Um padrão macroscópico emerge de processos e iterações que ocorrem em um nível microscópico
Comportamento macroscópico coletivo:
Convergência do caminho das formigas
A partir de interações locais entre formigas
![Page 21: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/21.jpg)
21
OCF
Heurística gulosa construtiva
Escolhe melhor alternativa corrente, sem considerar futuras consequências;
Uma vez tomada uma decisão, ela não é mais alterada
![Page 22: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/22.jpg)
22
Colônias Artificiais
(Dorigo, 1992): Formigas artificiais apresentam características que não estão presentes nas formigas naturais Vivem em um mundo discreto
Seus movimentos são transições de um estado discreto para outro estado discreto
Têm um estado interno Memórias das ações anteriores da formiga
Período para atualização do depósito de feromônio pode depender de encontrar ou não uma solução
Podem apresentar capacidades adicionais
![Page 23: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/23.jpg)
23
Algoritmo OCF
Formigas podem percorrer dois caminhos:
Ninho – fonte
Fonte – ninho
Neste algoritmo, formigas podem ter memória das trilhas percorridas anteriormente permitem encontrar eficientemente soluções para o problema
de menor caminho
![Page 24: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/24.jpg)
24
Algoritmo OCF
Comportamentos: Construção de soluções probabilísticas
influenciadas pelas trilhas de feromônio Sem atualização dos feromônios nas trilhas
Caminho de volta determinístico com eliminação de loops e atualização de feromônio na trilha
Avaliação da qualidade das soluções geradas Usar avaliação para definir quantidade de feromônio a
ser depositada
Também pode ter evaporação de feromônio
![Page 25: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/25.jpg)
25
Algoritmo OCF
1
2
1
2
3
Alterar representação dos caminhos Facilita uso de grafos
Longo (l)
Curto (c)
![Page 26: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/26.jpg)
26
Algoritmo OCF
Caminhos representados por G = (N, A)
Onde N = nós e A = arcos do grafo G
Dois nós i e j N são vizinhos se:
existe arco (i, j) A
![Page 27: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/27.jpg)
27
Algoritmo OCF
Inicialmente, a cada arco (trilha) do grafo G = (N,A) é associada uma quantidade inicial de feromônio
Quantidade de feromônio entre i e j : fij Trihas de feromônio são atualizadas pelas
formigas
![Page 28: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/28.jpg)
28
Algoritmo OCF
Cada formiga constrói, a partir do ninho, uma solução para o problema aplicando uma política de decisão passo-a-passo Em cada nó
Informações armazenadas no nó ou em nós dos arcos saindo dele são percebidas pela formiga
Informações são usadas estocasticamente para decidir a qual nó deve se mover
No início da busca, todos os arcos recebem a mesma quantidade de feromônio
Ex.: fij = 1 (i, j) A
![Page 29: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/29.jpg)
29
Algoritmo OCF
No nó i, formiga k usa a trilha de feromônio fijpara computar pk
ij de escolher j como próximo nó Vi
k é a vizinhança da formiga k no nó i Não inclui o nó visitado antes do nó i
k
i
k
i
Vj se 0
Vj se
kiVl
il
ij
k
ij
f
f
p
![Page 30: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/30.jpg)
30
Algoritmo OCF
Vizinhança do nó i
Contém todos os nós diretamente conectados a i no grafo G = (N, A)
Exceto o predecessor do nó i
Evitar retornar para o mesmo nó que visitaram imediatamente antes do nó i
Predecessor só é incluso quando Vik =
Corresponde ao final do grafo
![Page 31: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/31.jpg)
31
Algoritmo OCF
Formigas caminham repetidamente de nó em nó usando esta política de decisão até atingir o nó destino
Diferentes caminhos, encontrados por diferentes formigas, fazem com que elas atinjam o destino em tempos distintos
![Page 32: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/32.jpg)
32
Algoritmo OCF
Alteração do feromônio
Ocorre no retorno ao ninho
fij = fij + fk
Escolha do fk
Mesmo valor para todas as formigas
Função do tamanho da trilha
Quanto mais curta a trilha, mais feromônio é depositado pela formiga
![Page 33: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/33.jpg)
33
Evaporação do feromônio
Mecanismo de exploração que evita convergência rápida para um caminho sub-ótimo
Favorece: Exploração de caminhos diferentes
Esquecimento de erros ou caminhos ruins
Permite o contínuo aprimoramento da solução
Quantidade máxima de feromônio presente em um caminho não assume um valor muito elevado
![Page 34: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/34.jpg)
34
Algoritmo OCF
Evaporação do feromônio
Pode ser intercalada com o depósito de feromônio
Após formiga k ter se movido para um novo nó, trilhas de feromônio podem ser evaporadas:
fij = (1 - ) fij (i, j) A, (0, 1] é um parâmetro.
![Page 35: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/35.jpg)
35
Algoritmo OCF
Inicializar valores de feromônio nas arestasEnquanto critério de parada não for atingido faça
Para toda formiga façaMover a formiga por um caminho completo até
obter uma soluçãoAvaliar a solução obtidaAtualizar quantidade de feromônio em cada aresta
Aumentar quantidade nas arestas percorridasEvaporar uma parte de todas as arestas
Até critério de parada ser atingido
![Page 36: Otimização em Colônias de Formigas - wiki.icmc.usp.brwiki.icmc.usp.br/images/4/4b/Aula_5_CB_Ant.pdf · Otimização em Colônias de Formigas Prof. Eduardo R. Hruschka (Slides adaptados](https://reader030.fdocument.pub/reader030/viewer/2022021809/5c417fe593f3c338c80c7524/html5/thumbnails/36.jpg)
36
Observações
Poucas formigas podem fazer com que o algoritmo convirja para caminhos mais longos
Aleatoriedade nas primeiras decisões
Número de formigas tem que ser muito maior que um para garantir convergência para o menor caminho
Depositar quantidade de feromônio proporcional à qualidade da solução pode melhorar o algoritmo
Quanto maior o número de formigas, melhor é a convergência (maior tempo de execução).