Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouDavi Dinis Chaves Alterado mais de 7 anos atrás
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.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.