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

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

BUSCA LOCAL Estéfane G. M. de Lacerda UFRN/DCA Setembro de 2006.

Apresentações semelhantes


Apresentação em tema: "BUSCA LOCAL Estéfane G. M. de Lacerda UFRN/DCA Setembro de 2006."— Transcrição da apresentação:

1 BUSCA LOCAL Estéfane G. M. de Lacerda UFRN/DCA Setembro de 2006

2 Busca Local ● Partindo de uma solução inicial, consiste em “navegar” interativamente pelo espaço de busca movendo-se, em cada passo, de uma solução para uma solução vizinha (adjacente).

3 Busca Local espaço de busca região factível

4 Noção de vizinhança ● Seja S o espaço de busca do problema ● Seja s uma solução do problema DEFINIÇÕES ● A função vizinhança é uma função N(s) que mapeia cada solução s  S para um subconjunto N(s)  S. ● Um elemento qualquer de N(s) é denominado de vizinho de s.

5 Movimento ● Todo vizinho s'  N(s) é alcançado pela solução s através de uma operação denominada de movimento. a b c e s moviment o N(S) = {a, b, c, e}

6 Exemplo de vizinhança Problema de Caixeiro Viajante N(s) = {s'  S : s' pode ser obtida de s pela operação: remova duas arestas da viagem s e então substitua por duas outras arestas} Uma vizinhança (chamada de 2-change) para o PCV pode ser definida como:

7 Exemplos de vizinhos de uma viajem do PCV

8 Mínimo local e global Uma solução s  S é chamada de mínimo local se f(s)  f(s'), para todo s'  N(S) Uma solução s  S é chamada de mínimo global se f(s)  f(s'), para todo s'  S

9 Algoritmo de busca local básico Passo 1. Selecione a solução incial s ÎS Passo 2. Escolha o melhor vizinho s’ ÎN(s) Passo 3. Se s' melhor que s então faça s = s' e vá ao passo 2. Caso contrário vá ao passo 4. Passo 4. Retorne a solução s Método de descida Este algoritmo é também chamado de subida/descida da encosta (hill climbing).

10 O Problema da mochila ● Dados um conjunto de n objetos e uma mochila com: ● c j = benefício do objeto j ● w j = peso do objeto j ● b = capacidade da mochila ● Determinar quais objetos devem ser colocados na mochila para maximizar o benefício total de tal forma que o peso da mochila não ultrapasse sua capacidade.

11 O problema da mochila zero-um Maximiz ar Sujeito a Uma solução s é um vetor de uns e zeros. Se o objeto j está mochila então s j = 1, caso contrário s j = 0. (do inglês, 0-1 knapsack problem)

12 Vizinhança no problema da mochila s = (0,1,0,1,0) (1,1,0,1, 0) (0,0,0,1,0) (0,1,1,1,0) (0,1,0,0,0) (0,1,0,1,1) O movimento consiste em mudar a variável s j de 1 para 0 ou vice-versa.

13 Uma instância do Problema da Mochila Capacidade da mochila b = 25

14 Função Objetivo Onde  é um coeficiente de penalidade igual a: Um exemplo de função objetivo é: Objetos que ultrapassam a capacidade da mochila são penalizados.

15 Busca local para problema da mochila Iteração 1, solução corrente = 10010000 *

16 Busca local para problema da mochila Iteração 2, solução corrente = 10010010 *

17 Busca local para problema da mochila Iteração 3, solução corrente = 11010010 Não é possível melhorar mais a solução

18 Busca local para problema da mochila ● Neste exemplo, a busca local não encontrou a melhor solução. ● Devido a ausência de movimentos de melhora, o algoritmo ficou preso em um máximo local.

19 Função objetivo alternativa Outra função objetivo para o mesmo problema seria: onde:

20 Função objetivo alternativa ● A função objetivo alternativa não considera o nível de infactibilidade (excesso de peso da mochila). ● pode produzir regiões planas (platôs); ● regiões planas dificultam a exploração do espaço de busca.

21 Variantes da Busca Local ● Há casos em que a vizinhança é grande ou avaliação de seus elementos custa caro. ● Alternativas para evitar a avaliação de toda a vizinha: ● Método Primeiro de Melhora ● Método Aleatório

22 Variantes da Busca Local Passo 2. Escolha o primeiro vizinho s’ ÎN(s) que melhora a solução s. Método de Descida com Primeiro de Melhora (first improviment) Altera o passo 2 do algoritmo de descida da seguinte forma:

23 Variantes da Busca Local Método de Descida Aleatório Um vizinho é escolhido aleatoriamente. Ele é aceito se for melhor que a solução corrente. Caso contrário escolhe-se outro vizinho. O método para quando: 1) Não encontrar um vizinho melhor por um número fixo de iterações 2) Encontrar o mínimo local.

24 Variantes da Busca Local Método de Descida Aleatório não Ascendente Um vizinho é escolhido aleatoriamente. Ele é aceito se for melhor ou igual que a solução corrente. Caso contrário escolhe-se outro vizinho. Esta variante aceita movimentos laterais (que não são nem de melhora e nem de piora) permitindo “navegar” em regiões planas (platôs) do espaço do busca.


Carregar ppt "BUSCA LOCAL Estéfane G. M. de Lacerda UFRN/DCA Setembro de 2006."

Apresentações semelhantes


Anúncios Google