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

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

Agenda 1. O Problema das 8 Rainhas 2. Hill Climbing

Apresentações semelhantes


Apresentação em tema: "Agenda 1. O Problema das 8 Rainhas 2. Hill Climbing"— Transcrição da apresentação:

1 Agenda 1. O Problema das 8 Rainhas 2. Hill Climbing
3. Simulated Annealing 4. GRASP

2 Exemplo Problema n-rainhas:
Colocar n rainhas em um tabuleiro, sendo que 2 rainhas não podem estar na mesma linha, coluna ou diagonal. Mover uma rainha para reduzir o número de conflitos (h).

3 Hill Climbing Subida de Encosta: “Escalar o Everest com nevoeiro e amnésia”. Busca gulosa local. Ir sempre p/ melhor sucessor. Parar quando não encontrar um sucessor melhor que o estado corrente.

4 Hill Climbing Exemplo das Rainhas
Mover uma rainha para reduzir o número de conflitos. Problema com o algoritmo subida de encosta: máximos locais. Reinício aleatório melhora chance de achar máximo global.

5 Simulated Annealing Têmpera Simulada:
Idéia: escapar de máximo local, permitindo alguns movimentos ruins. Simula um processo em metalurgia. Um metal é esquentado para depois ser resfriado. Se o metal é esfriado rapidamente obtém-se um metal pouco estável com muita energia interna. Se o metal é esfriado lentamente obtém-se um metal estável com menor energia interna e estruturalmente forte. Analogamente, considera-se que para um problema combinatório cada solução é um estado do metal. Baixa-se a temperatura lentamente para se encontrar uma boa solução (metal com baixa energia interna).

6 Simulated Annealing Gera-se primeiramente uma solução inicial.
Em cada iteração, escolhe-se uma solução vizinha aleatoriamente. Se a nova solução é melhor do que a corrente, essa nova solução vira solução corrente. Se a nova solução não é melhor do que a corrente, essa nova se torna a solução corrente com uma probabilidade que depende da diferença dos custos das duas soluções e da temperatura (parâmetro do algoritmo). Depois de algumas iterações com uma mesma temperatura ela é decrementada.

7 Simulated Annealing

8 Simulated Annealing A baixas temperaturas dificilmente são aceitas soluções piores. A altas temperaturas são aceitas soluções piores o que permite escapar de ótimos locais. Se a temperatura reduzir lentamente a probabilidade da solução final ser uma solução ótima aumenta. Existem provas de convergência: se a temperatura decresce suficientemente devagar, o método converge para uma solução ótima do problema. Na prática os tempos necessários para garantir a convergência são exponenciais!

9 GRASP: Introdução O GRASP (Greedy Randomized Adaptive Search Procedure) é uma metaheurística constituída por heurísticas construtivas e busca local. Consiste de múltiplas aplicações de busca local, cada uma iniciando de uma solução diferente. As soluções iniciais são geradas por algum tipo de construção aleatória gulosa ou algum esquema de perturbação. O algoritmo armazena a melhor ou as melhores soluções encontradas. Essa memória com as melhores soluções pode ser utilizada para encontrar outras soluções utilizando outras metaheurísticas.

10 GRASP: Introdução

11 GRASP: Fase de Construção
A cada iteração nesta fase, o conjunto de elementos candidatos é formado por todos os elementos que podem ser incorporados a solução parcial sem quebra a factibilidade da solução.

12 GRASP: Fase de Construção
A seleção do elemento a ser incorporado é determinada por uma função de avaliação gulosa. Esta função normalmente representa o incremento no custo da solução dado pela inserção do elemento na solução em construção. A avaliação destes elementos cria uma Lista Restrita de Candidatos (RCL), formada pelos melhores elementos, i.e., pelos elementos cuja incorporação à solução resultam no menor incremento de custo da solução (aspecto Guloso). O elemento a ser inserido na solução é selecionado aleatoriamente em RCL (aspecto Probabilístico). Uma vez inserido o elemento, a RCL e os custos incrementais são atualizados (aspecto Adaptativo). Soluções geradas nesta fase não são ótimas (longe disto!) Aplica-se uma Busca Local para melhorar as soluções.

13 GRASP: Busca Local

14 GRASP: Busca Local E efetividade da Busca Local depende de aspectos como: a estrutura da vizinhança, a técnica de busca pelos vizinhos, a rápida avaliação dos custos dos vizinhos, e a solução inicial. Geralmente, usam-se vizinhanças simples - pouca alteração na exploração das soluções. Exploração da vizinhança pode ser feita por best-improving ou first-improving. Ambas as estratégias de exploração levam, geralmente, aos mesmos resultados, no entanto, first-improving demanda menos custo computacional. Geralmente, convergência prematura para ótimos locais ocorre com maior probabilidade quando se usa best-improving.

15 GRASP: Construção da RCL
Considera-se um problema de Minimização. c(e) custo incremental por incorporar e  E na solução em construção. A cada iteração, assume-se: cmin e cmax, respectivamente, o menor e o maior custos incrementais (respectivos a cada iteração) dos elementos a serem incorporados a solução. A RCL é feita por candidatos e  E com os melhores (i.e., os menores) custos incrementais c(e). RCL pode ser limitado pela quantidade de elementos (cardinalidade) ou pela qualidade dos mesmos (valores). Primeiro caso é geralmente usado ...

16 GRASP: Construção da RCL
RCL terá p elementos ranqueados segundo seus custos incrementais, onde p é um parâmetro de entrada do Algoritmo. Ou associa-se RCL a um parâmetro  [0, 1] – muito utilizado! A RCL é formada por todos os elementos e  E que podem ser inseridos na solução parcial sem destruir sua factibilidade e cujo custo seja: c(e)  [cmin, cmin +  (cmax – cmin)] caso  = 0, Busca Gulosa. caso  = 1, Busca Aleatória.

17 GRASP: Construção da RCL
 controla o grau de “gulosidade” x “aleatoriedade” da escolha construtiva.

18 GRASP: Construção da RCL
GRASP pode ser vista como uma técnica de amostragem repetitiva. Cada iteração produz uma solução amostrada a partir de uma distribuição desconhecida, cuja média e variância são funções do carácter restritivo da RCL. Se a RCL é restrita a um único elemento, a mesma solução vai ser sempre produzida em todas as iterações. A variância da distribuição será zero e a média será igual ao valor da solução gulosa. Se o RCL é possui mais elementos, então muitas soluções serão produzidas, o que implica uma maior variância. Já que a "gulosidade" desempenha um papel menor neste caso, o valor da solução média deve ser pior. O valor da melhor solução encontrada supera o valor médio e muito frequentemente é a ótima.

19 GRASP: Construção da RCL
Uma possível limitação do GRASP padrão é a independência das suas iterações, isto é, o fato de ele não aprender a partir do histórico de soluções encontradas nas iterações anteriores. O algoritmo básico descarta informações sobre qualquer solução encontrada. As informações recolhidas a partir de boas soluções podem ser usadas para implementar procedimentos baseados em memória para influenciarem a fase de construção, modificando as probabilidades de seleção associadas a cada elemento da RCL. Veremos algumas destas técnicas ...

20 Reactive GRASP O valor do parâmetro  não é fixo, mas em vez disso, é selecionado em cada iteração de um conjunto discreto de valores possíveis. Esta seleção é orientada pelos valores da soluções encontrados nas iterações anteriores. Assuma  = {1, 2, ..., m} o conjunto de valores possíveis para . A probabilidade inicial de se selecionar algum  é a mesma, ou seja, pi = 1/m, i = 1, 2, ..., m. Assuma z* a solução de aprendizagem, e Ai a média dos valores das soluções encontradas usando-se cada i. As probabilidades são periodicamente atualizadas por: com qi = z*/Ai, para i = 1, 2, ... m. Os valores de qi serão maiores para os  = i que geraram em média as melhores soluções. Maiores valores de qi correspondem a melhores valores de .

21 GRASP com Funções de Seleção
No procedimento de construção do GRASP, o próximo elemento a ser introduzida na solução é escolhido aleatoriamente a partir dos candidatos da RCL. Os elementos da RCL possuem iguais probabilidades de serem escolhidos. No entanto, qualquer distribuição de probabilidade pode ser usada para guiar a seleção. Alternativamente, pode-se usar o rank de um candidato , dado por r(). Algumas funções bias foram introduzidas, a saber:

22 GRASP com Funções de Seleção
Assuma que r() denote o rank do elemento , e bias(r()) alguma função anteriormente apresentada. A probabilidade de selecionar um elemento  é dada por. O GRASP padrão usa o random bias.

23 GRASP com Memória e Inteligência
GRASP não usa memória de longo prazo (informação adquirida em iterações anteriores). Tenta-se incorporar memória de longo prazo à técnica. Mantêm-se um conjunto de soluções elite para ser utilizado na fase de construção. Para tornar-se uma solução de elite, a solução deve ser melhor do que o melhor membro no seu pool, ou melhor que o pior membro do pool e suficientemente diferente de todos outros membros. Uma variável fortemente determinada é aquela que não pode ser modificada sem piorar o valor da função objetivo. Uma variável consistente é aquela que recebe um determinado valor em uma grande parte das soluções presentes no conjunto de elite.

24 GRASP com Memória e Inteligência
Assuma que I(e) mensure as características de fortemente determinado e consistência de um elemento e  E. I(e) aumenta quando e aparece em mais soluções elites. A “intensidade” de I(e) é usada na fase de construção: Lembrete: c(e) é o custo incremental de se incluir e na solução em construção. Assuma K(e) = F(c(e), I(e)) uma função das funções do custo incremental e da intensidade. Por exemplo, K(e) = c(e) + I(e). O método de Intensificação cria um bias na seleção dos elementos e na RLC de acordo com os valores de K(e) segundo a probabilidade: p(e) = K(𝑒) 𝑠 ∈𝑅𝐶𝐿 K(s ) A função K(e) pode ser modificada durante as iterações usando-se o valor de  (quanto possui altos valores, favorece diversidade).


Carregar ppt "Agenda 1. O Problema das 8 Rainhas 2. Hill Climbing"

Apresentações semelhantes


Anúncios Google