390 likes | 516 Views
Otimização por Colônia de Formigas Ant Colony Optimization. Cassio Conti cassiorconti@gmail.com. Agenda. Introdução Problemas de otimização Ideia da otimização por colônia de formigas Ant Colony Optimization (domínio discreto) Exemplo de aplicação
E N D
Otimização por Colônia de FormigasAnt Colony Optimization Cassio Conti cassiorconti@gmail.com
Agenda • Introdução • Problemas de otimização • Ideia da otimização por colônia de formigas • Ant Colony Optimization (domínio discreto) • Exemplo de aplicação • Ant Colony Optimization (domínio contínuo) • Aplicação em problema real
Os problemas de otimização combinatória possuem a qualidade da solução ligada a ordem em que os elementos que compõem a solução aparecem. Quanto mais elementos, mais combinações são possíveis e maior é o tempo de processamento necessário para encontrar a solução ótima. Sequência desejada: 2-3-1 Combinações possíveis: 1-2-3 1-3-2 2-1-3 2-3-1 3-1-2 3-2-1 Problemas de Otimização
3 elementos: 6 combinações 4 elementos: 24 combin. 5 elementos: 120 combin. 6 elementos: 720 combin. 7 elementos: 5040 combin. 8 elementos: 40320 combin. 9 elementos: 362880 comb. n elementos: n! combinações Algoritmos de otimização utilizam técnicas para buscar a melhor solução de um problema em situações onde seria necessário muito tempo computacional para analisar todos os possíveis valores. Problemas de otimização
Baseia-se no comportamento de formigasreais. Ideia do ACO • As formigas, tanto as reaisquanto as do ACO baseiamseu "conhecimento" do ambientenastrilhas de feromônio. • A tendência é escolher a trilha com maisferomônio. • Feromônioevapora com o tempo.
Traveling Salesman Problem (TSP) Se existem 2 cidades, A e B, considerando que o caixeiro inicialmente está em A, tem-se apenas 1 solução possível que é a distância entre A e B. Se existem 3 cidades, têm-se 2 caminhos possíveis, ABC ACB. 4 cidades indicam 6 caminhos possíveis, ABCD ABDC ACBD ACDB ADBC ADCB, ou seja, (n – 1)! possíveis caminhos diferentes. Caixeiro Viajante
Algoritmos inspirados no comportamento das formigas na busca por alimentos foram introduzidos por Marco Dorigo em sua tese de doutorado. Esse tipo de algoritmo é conhecido na literatura como AntColonyOptimization (ACO). Ant System foi o primeiro exemplo de ACO proposto por Dorigo. Explora a característica do feromônio depositando diferentes quantidades de substância no caminho (dependendo da qualidade do caminho encontrado). Ant Colony Optimization (ACO)
Gera uma solução (caminho) Avalia essa solução Deposita sobre cada aresta desse caminho, uma quantidade x de feromônio. Sendo x uma função onde se o caminho é menor, x possui maior valor. Caminho 12345 = 16 Caminho 12354 = 12 Caminho 12435 = 15 Caminho 12453 = 11 Caminho 14235 = 13 .... Ex: x = 1 / f(caminho) Ant System
+0.8 (÷2.1 = 38%) +0.6 (÷2.1 = 29%) +0.7 (÷2.1 = 33%) ------- 2.1 (100%) Gera valor aleatório [0 - 1] [0 - 0.38]: escolhe 2 (0.38 - 0.67]: escolhe 5 (0.67 - 1]: escolhe 4
Heurística (Visibilidade) gerar_solucao(f) { escolher_proximo(f) } gerar_solucao(f, dist) { v <- 1 / dist escolher_proximo(f + v) }
Heurística (Visibilidade) +0.8 (÷2.1 = 38%) +0.6 (÷2.1 = 29%) +0.7 (÷2.1 = 33%) ------- 2.1 (100%) +1.3 (÷3.1 = 42%) +0.8 (÷3.1 = 26%) +1.0 (÷3.1 = 32%) ------ 3.1 (100%) 1÷2=0.5 1÷6=0.2 1÷3=0.3
ACO Contínuo – ACOR – Feromônio Arquivo população
ACOR - Amostragem • A função de densidade de probabilidade usada nas amostragens do algoritmo é a função gaussiana (distribuição normal), entretanto ela não é capaz de descrever a situação onde há duas áreas promissoras disjuntas no domínio.
ACOR – Sequência de passos X = {X1, X2, ..., Xn} sl = {sl1, sl2, ..., sln}
Proposta de Visibilidade para ACO contínuo Quando todas as soluções do arquivo estiverem na mesma região a visibilidade é desligada. s3’ s1’ s2’ s3 s2 s1
Experimentos – Testes e Resultados Os mesmo parâmetros utilizados por Socha e Dorigo foram aplicados para que fosse possível a comparação.
ACO (AntColonyOptimization) Não existe um método de inversão sísmica que dê a solução exata. Existem várias soluções possíveis. Propício ao uso de heurísticas para adaptar a técnica ao problema.
Heurísticas para acelerar a busca Gera diversas configurações similares ao poço.
Inversão utilizando ACO • Para os demais traços, usa-se o traço vizinho (que já foi otimizado) como modelo de referência.
Resultados • InversãoTraço-a-Traço • 4 replicações - 1000 iterações do algoritmo – Utiliza-se a média • Tempo emuma SUN Workstation ULTRA 27: ~3.5min por in-line R=0.97289
Resultados • InversãopeloFiltroInverso • 10 replicações – 100 mil iterações do algoritmo – Utiliza-se o melhor • Tempo emumaSUN Workstation ULTRA 27 : ~2min45seg R=0.95604
Problemas • Poucos poços • Pouca informação sobre os tipos de rochas existentes. • Pulso sísmico ruim (mal estimada) • Consequentemente, inversão ruim. • Sísmica ruidosa • Podem gerar falsas propriedades de rocha • Características que podem levar a decisões erradas.
Otimização por Colônia de FormigasAnt Colony Optimization Cassio Conti cassiorconti@gmail.com
Cassio Rodrigo Conti • cassiorconti@gmail.com • Departamento de Informática e Estatística (INE) • Ciência da Computação (PPGCC) • Laboratório de Conexionismo e Ciências Cognitivas (L3C) • Orientador: Prof. Dr. Mauro Roisenberg • Área de Inteligência Artificial / Computacional