A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Disciplina: Inteligência de Enxame Aluno: Benito Fontes Monteiro Filho Professor: Seixas 2011/2.

Apresentações semelhantes


Apresentação em tema: "Disciplina: Inteligência de Enxame Aluno: Benito Fontes Monteiro Filho Professor: Seixas 2011/2."— Transcrição da apresentação:

1 Disciplina: Inteligência de Enxame Aluno: Benito Fontes Monteiro Filho Professor: Seixas 2011/2

2 Tópicos Problema do caixeiro viajante (TSP) Algoritmos ACO para TSP “Ant System” e seus sucessores diretos Extensões de “Ant System” Implementações paralelas Evolução experimental ACO com procura local Implementando algoritmos ACO 2

3 Problema do caixeiro viajante (TSP) O problema do caixeiro-viajante consiste na procura de um circuito que possua a menor distância, começando numa cidade qualquer, visitando cada cidade precisamente uma única vez e regressando à cidade inicial. 3

4 Problema do caixeiro viajante (TSP) COMPLEXIDADE: NP-difícil (NP: Tempo polinomial não determinístico (Non-Deterministic Polynomial time)) Esforço computacional cresce exponencialmente com o tamanho do problema 4

5 Problema do caixeiro viajante (TSP) (n-1)! Possíveis resultados Um computador com capacidade: 1 bilhão de adições por segundo(53 milhões de rotas por segundo) levaria 2,3 × 10 9 segundos (73 anos) para encontrar o ótimo de um problema com 20 cidades. n rotas por segundo (n - 1)!cálculo total 5250 milhões24insignificante 10110 milhões362.8800.003 seg 1571 milhões87 bilhões20 minutos 2053 milhões1,2 × 10^1773 anos 2542 milhões6,2 × 10^23 470 milhões de anos 5

6 Problema do caixeiro viajante (TSP) TSP pode ser representado por um grafo completo com pesos G=(N,A). N  conjunto de nós representando as cidades. A  conjunto de arcos. Cada arco (i,j) A está associado a um tamanho (distância entre as cidades i e j). Para TSP assimétrico 6

7 Problema do caixeiro viajante (TSP) Objetivo: Encontrar o caminho Hamiltoniano de comprimento mínimo. Solução ótima para TSP é permutação dos índices dos nós {1,2,...,n} tal que o tamanho f( ) é dado por: 7

8 Tópicos Problema do caixeiro viajante (TSP) Algoritmos ACO para TSP “Ant System” e seus sucessores diretos Extensões de “Ant System” Implementações paralelas Evolução experimental ACO com procura local Implementando algoritmos ACO 8

9 Algoritmos ACO para TSP Trilha artificial de feromônio ( ) corresponde ao desejo de visitar a cidade j logo após ter visitado a cidade i. A informação heurística é escolhida como:. Para cada formiga, tour é escolhido da seguinte forma: (1) escolher uma cidade de origem para cada formiga. (2) escolher próxima cidade baseado em e. (3) retornar para a cidade de início. 9

10 Algoritmos ACO para TSP 10

11 Tópicos Problema do caixeiro viajante (TSP) Algoritmos ACO para TSP “Ant System” e seus sucessores diretos Extensões de “Ant System” Implementações paralelas Evolução experimental ACO com procura local Implementando algoritmos ACO 11

12 “Ant System” e seus sucessores diretos Ant System: 1) ant-density: - Atualiza feromônio após mudar de cidade 2) ant-quantity: - Atualiza feromônio após mudar de cidade 3) ant-cycle: - Atualiza feromônio a cada final de tour 12

13 “Ant System” e seus sucessores diretos Ant System: Inicialização de (m é o número de formigas e. é o comprimento do tour gerado pelo vizinho mais próximo heurístico ). Regra proporcional aleatória para decidir qual cidade a formiga k irá visitar após visitar a cidade i: e são parâmetros que determinam a influência da trilha de feromônio e da informação heurística, respectivamente. é o conjunto de cidades que a formiga k ainda não visitou. Estagnação 13

14 “Ant System” e seus sucessores diretos Memória que armazena as cidades visitadas Definir Computar tamanho do tour Retraçar o caminho para depósito de feromônio Construção de solução Paralelo: todas as formigas se movem a cada passo. Sequencial: cada formiga constrói um tour completo antes da outra formiga começar o seu. Equivalentes para AS 14

15 “Ant System” e seus sucessores diretos Atualização da trilha de feromônio realizada após todas as formigas terem construido seu tour. Primeiramente, reduzir os valores de feromônio em todos os arcos para um valor constante. Adicionar feromônio conforme a utilização do arco. Evaporação do feromônio taxa de evaporação do feromônio, 15

16 “Ant System” e seus sucessores diretos Atualização da trilha de feromônio quantidade de feromônio depositada pela formiga k no arco (i,j). Soma dos comprimentos dos arcos pertencentes ao tour percorridos pela formiga k. 16

17 “Ant System” e seus sucessores diretos “Elitist Ant System” (EAS) Introduzido por Dorigo (1992) e Dorigo et al. (1991a, 1996). Fornecer reforço adicional para os arcos pertencentes ao melhor tour ( ) encontrado desde o começo do algoritmo. Depositar feromônio adicional pela formiga chamada formiga best-so-far. Atualização da trilha de feromônio Parâmetro que define o peso do tour best-so-far Em Dorigo (1992) e Dorigo et al. (1991a, 1996) foram obtidos resultados que encontraram melhores tours com menor número de iterações 17

18 “Ant System” e seus sucessores diretos “Rank-Based Ant System” ( ) Proposto por Bullnheimer et al. (1999c). Cada formiga deposita feromônio baseada em um rank “r”. A cada iteração apenas as (w-1) formigas melhor “ranquiadas” e a formiga que produz o “best-so-far tour” depositam feromônio. Para “best-so-far tour”, tem-se multiplicado por w. Para a r-ésima melhor formiga, tem-se multiplicado por max{0,w-r} Atualização da trilha de feromônio Em Bullnheimer et al. (1999c) foram obtidos resultados levemente melhores do que EAS e significamente melhores do que AS 18

19 “Ant System” e seus sucessores diretos “MAX-MIN Ant System”(MMAS) Introduzido por Stützle Hoos, 1997, 2000; Stützle, 1999 Apenas a formiga “best-of-tour” é permitida para depositar feromônio. O valor da trilha de feromônio é limitada no intervalo. Inicializar com. As trilhas de feromônio são reiniciadas cada vez que o sistema atinge estagnação. Atualização da trilha de feromônio bs  “best-so-far” (melhor de todos, desde o início) ib  “iteration-best” (melhor da iteração atual) Melhor para grande número de cidades Melhor para pequeno número de cidades 19

20 “Ant System” e seus sucessores diretos Limites da trilha de feromônio Evita estagnação Limita Após longo tempo de execução (C* é comprimento ótimo do tour) Escolhe-se assim: Inicialização e reinicialização da Trilha de feromônio Início é muito explorativo Reinicialização caso haja estagnação ou se não houver melhora dado um número de iterações Probabilidade de selecionar a cidade j após cidade i. 20

21 Tópicos Problema do caixeiro viajante (TSP) Algoritmos ACO para TSP “Ant System” e seus sucessores diretos Extensões de “Ant System” Implementações paralelas Evolução experimental ACO com procura local Implementando algoritmos ACO 21

22 Extensões de “Ant System” “Ant Colony System”(ACS) (Dorigo & Gambardella, 1997a,b) Difere de AS em três pontos principais: 1)Regra de escolha mais agressiva. 2)Evaporação e depósito de feromônio ocorrem apenas nos arcos pertencentes ao “best-so-far tour”. 3) Cada vez que a formiga usa o arco (i,j) ela remove feromônio desse mesmo arco. Construção do tour variável aleatória uniformemente distribuida em [0,1] parâmetro limitado ( ) Regra proporcional pseudo-aleatória Aleatoriamente escolhido com probabilidade: 22

23 Extensões de “Ant System” Atualização global da trilha de feromônio Apenas uma formiga (“best-so-far”) adiociona feromônio após cada iteração. Atualização local da trilha de feromônio Atualiza após ter passado pelo arco (i,j) evaporação depósito de feromônio Parâmetro inicial da trilha de feromônio. Bom valor : Número de cidades Comprimento do tour do vizinho mais próximo Parâmetro limitado: Bom valor: 0,1 Redução de 23

24 Extensões de “Ant System” Procura aproximada de árvore não-determinística (ANTS) Uso de limites inferiores Uso de nova regra de escolha Regra modificada de atualização da trilha de feromônio Limites inferiores Construção da solução 24

25 Extensões de “Ant System” ANTS: Atualização da trilha de feromônio parâmetro Limite inferior: Média do comprimento dos l últimos tours Efeito: se comprimento atual é maior que a média, diminui feromônio, senão aumenta feromônio. 25

26 Extensões de “Ant System” Hiper-cubo Framework para ACO Introduzido por Blum, Roli, Dorigo (2001) Reescala valores do feromônio para existir no intervalo [0,1] Solução corresponde a um vértices de um hyper-cubo n-dimensional As soluções possíveis consistem de todos os vetores Associado ao TSP, a variável de decisão quando o arco (i,j) é utilizado, e caso contrário. 26

27 Extensões de “Ant System” Hiper-cubo Framework para ACO Regras de atualização de feromônio As trilhas de feromônio são forçadas a pertencer ao intervalo [0,1] 27

28 Tópicos Problema do caixeiro viajante (TSP) Algoritmos ACO para TSP “Ant System” e seus sucessores diretos Extensões de “Ant System” Implementações paralelas Evolução experimental ACO com procura local Implementando algoritmos ACO 28

29 Implementações paralelas Troca de informação entre colônias Granularidade Alguns autores (como Bullnheimer et al., 1998 e Stützle, 1998b, Middendorf, 2002) mostraram que granularidade grossa é muito mais promissora para ACO. Stützle, 1998b ainda considerou o caso extremo, no qual não há comunicação obtendo resultados eficientes. Krüger et al. (1998) propôs trocar apenas as melhores soluções. Middendorf, 2002 propôs (1)trocar a melhor solução, (2) melhor solução local, ou w melhores da iteração, ou a combinação dos dois. Melhor resultado trocando informação da melhor solução local. Granularidade fina (fine-grained): Poucos indivíduos para cada grupo Troca frequente de informação Granularidade grossa (coarse-grained): Muitos indivíduos para cada grupo Troca rara de informação 29

30 Tópicos Problema do caixeiro viajante (TSP) Algoritmos ACO para TSP “Ant System” e seus sucessores diretos Extensões de “Ant System” Implementações paralelas Evolução experimental ACO com procura local Implementando algoritmos ACO 30

31 Evolução experimental Pacote de software disponível em www.aco-metaheuristic.org/aco-code/www.aco-metaheuristic.org/aco-code/ Comportamento dos algoritmos ACO Matriz de feromônio. Quanto mais escuro, mais feronômio. 0, 5, 10, 100 iterações. 31

32 Evolução experimental Comportamento dos algoritmos ACO Detectar estagnação: Desvio padrão, ou melhor, a variação do coeficiente dist(T,T’), arcos comuns em tours diferentes. Muito custo computacional. Fator de ramificação é dado pelo número de arcos, tal que: Média da Entropia da seleção de probabilidade para cada nó. Outro modo: valor abaixo tende a zero quando se aproxima da estagnação Mínimo valor da trilha de feromônio dos arcos ligados ao nó i. 32

33 Evolução experimental Comportamento do AS Estagnação precoce Lambda=0,05 Bom resultado para alfa=1, beta=2, m=n Ruim resultado para alfa=5, beta=0, m=n 33

34 Evolução experimental Comportamento do AS Exploração excessiva Lambda=0,05 Bom resultado para alfa=1, beta=2, m=n Ruim resultado para alfa=1, beta=0, m=n 34

35 Evolução experimental Comportamento das extensões de AS Procura de maneira mais agressiva 35

36 Evolução experimental Comportamento de MMAS Maior fase de procura explorativa dentre os algoritmos analisados devido ao valor inical e a baixa taxa de evaporação Quando o fator de ramificação se torna igual a 2, a fase de procura explorativa muda para fase de exploração da experiência acumulada. Comportamento do ACS Gera tours próximo a, escolhendo valor grande para. Atualização local diminui feromônio nos arcos visitados, aumentando a probabilidade de escolha dos arcos pouco visitados. 36

37 Evolução experimental Comparação de AS com suas extensões ACS apresenta a melhor solução para pequeno tempo computacional. MMAS produz resultados iniciais pobres, entretanto seus valores finais estão entre os melhores. 37

38 Tópicos Problema do caixeiro viajante (TSP) Algoritmos ACO para TSP “Ant System” e seus sucessores diretos Extensões de “Ant System” Implementações paralelas Evolução experimental ACO com procura local Implementando algoritmos ACO 38

39 ACO com procura local 2-opt 2.5-opt 3.0-opt 39

40 ACO com procura local Procura local para MMAS 40

41 ACO com procura local Variando o número de formigas MMAS Até 500 cidades o número de formigas não importou tanto. 41

42 ACO com procura local Informação heurística MMAS ACS Informação heurística não é necessária quando se usa procura local 42

43 ACO com procura local Atualização de feromônio Lamarckiano versus Darwiniano Cada formiga pruduz um tour s1, que é transformado em s2 através de procura local. Lamarckiano: Atualização de feromônio baseado em s2. Darwiniano: Atualização de feromônio baseado em s1. MMAS ACS 43

44 Tópicos Problema do caixeiro viajante (TSP) Algoritmos ACO para TSP “Ant System” e seus sucessores diretos Extensões de “Ant System” Implementações paralelas Evolução experimental ACO com procura local Implementando algoritmos ACO 44

45 Implementando algoritmos ACO Códigos disponíveis em www.aco-metaheuristic.org/aco-code/www.aco-metaheuristic.org/aco-code/ Estruturas dos dados: 45

46 Implementando algoritmos ACO dist[n][n] matriz quadrada que guarda a distância entre duas cidades. nn_list[n][nn] guarda o índice das cidades mais próximas em ordem crescente de distância. nn tipicamente está entre 15 e 40. pheromone[n][n] matriz quadrada que guarda o valor da trilha de feromônio entre duas cidades. Choice_info[n][n] matriz quadrada que guarda o valor tour_length[n] guarda o tamanho do tour para determinada formiga. tour[n+1] guarda o índice das cidades visitadas na ordem de visita. visited[n] vetor que indica se a cidade já foi visitada ou não pela formiga (1 ou 0, respectivamente). 46

47 Implementando algoritmos ACO 47

48 Implementando algoritmos ACO Condição de término O algoritmo alcança um valor mínimo pré-estabelecido. Alcança um número máximo de tours ou de iterações. Alcança um determinado tempo de execução. Alcança estagnação. 48

49 Implementando algoritmos ACO Esvaziando a memória das formigas Atribuindo a formiga a uma cidade inicial, de forma aleatória Cada formiga constrói um tour completo Cada formiga retorna à sua cidade inicial e o tamanho do tour é computado 49

50 Implementando algoritmos ACO Determinar a cidade c da formiga k As probabilidades seguem a lógica de uma roleta. Cada pedaço correspondente a cidade não visitada é proporcional à sua probabilidade. “girar a roleta” e observar qual cidade o marcador apontará Mover a formiga para a cidade escolhida e marcá-la como visitada 50

51 Implementando algoritmos ACO Determinar a cidade c da formiga k e Zerar o soma das probabilidades Roleta modificado para o j-ésimo vizinho mais próximo Escolher o melhor próximo, quando já se visitou todos os vizinhos mais próximos “girar a roleta” e observar qual cidade o marcador apontará Mover a formiga para a cidade escolhida e marcá-la como visitada 51

52 Implementando algoritmos ACO Escolher cidade com maior “choice_info”, que ainda não foi escolhida 52

53 Implementando algoritmos ACO 53

54 Implementando algoritmos ACO 54

55 Conclusão TSP é um problema de alta complexidade (NP-hard) Quando se usa procura local, a informação heurística passa a ser desnecessária. As extensões de AS se comportam bem melhor que AS. 55

56 Referências Bibliográficas Ant Colony Optimization, Marco Dorigo, Thomas Stutzer, Brandford (MIT) 2004 Sancho Marques, A. M. Dissertação, STIGH-STIGmergia de hiperligações 2006 105f. Dissertação (Mestrado em comércio eletrônico e internet) Universidade Aberta Krohn, J. Ant Algorithms and Swarm Intelligence Model of Problem Model, Universidade de Minnesota Dorigo, M. ; Maniezzo, V.; Colorni, A. Positive Feedback as a Search Strategy, Report:91-06, 1991 http://www.israelaece.com/post/Granularidade-de-Servicos.aspx http://pt.wikipedia.org/wiki/Problema_do_caixeiro_viajante http://pt.wikipedia.org/wiki/P_versus_NP http://pt.wikipedia.org/wiki/NP-completo http://pt.wikipedia.org/wiki/NP_(complexidade) http://en.wikipedia.org/wiki/Hamiltonian_path http://www-e.uni-magdeburg.de/mertens/TSP/node2.html 56


Carregar ppt "Disciplina: Inteligência de Enxame Aluno: Benito Fontes Monteiro Filho Professor: Seixas 2011/2."

Apresentações semelhantes


Anúncios Google