• Nenhum resultado encontrado

IA06 - Busca Local

N/A
N/A
Protected

Academic year: 2021

Share "IA06 - Busca Local"

Copied!
30
0
0

Texto

(1)
(2)

Busca Local

 Otimização

É a busca da melhor solução para um dado problema.

Consiste em tentar várias soluções e usar a informação obtida

para conseguir soluções cada vez melhores.

Exemplo: ajustar a imagem da TV com antena

 As técnicas de otimização, geralmente, apresentam:

Espaço de busca: onde estão todas as possíveis soluções do

problema;

Função objetivo/avaliação: utilizada para avaliar as soluções

produzidas, associando a cada uma delas uma nota.

 Os estados são representados sobre uma superfície (gráfico)  a altura de qualquer ponto na superfície corresponde à função de

(3)
(4)

Busca Local

O algoritmo se “move” pela superfície em busca de

pontos mais altos (maximizar os objetivos)

Há variações quando se quer minimizar o custo, no caso

a busca é pelos pontos mais baixos.

O ponto mais alto corresponde à solução ótima

máximo global

 nó onde a função de avaliação atinge seu valor máximo

Aplicações: problemas de otimização

 por exemplo, linha de montagem, escalação de horario, etc.

(5)

Topologia de Espaço de Estados

(6)

Algoritmos de Melhorias Iterativas

 Esses algoritmos guardam apenas o estado atual, e não vêem além dos vizinhos imediatos do estado

 Contudo, muitas vezes são os melhores métodos para tratar problemas reais muito complexos.

 Algoritmos:

 Subida da Encosta ou Gradiente Ascendente

 Hill-Climbing

 só faz modificações que melhoram o estado atual

 Têmpera Simulada

 Simulated Annealing

 pode fazer modificações que pioram o estado temporariamente para fugir de máximos locais

 Tabu Search

 Guarda o melhor estado de todas iterações e cria uma lista Tabu com estados repetidos

 Algoritmo Genético

(7)

Subida da Encosta - Hill-Climbing

 O algoritmo não mantém uma árvore de busca:

guarda apenas o estado atual e sua avaliação

É simplesmente um “loop” que se move na direção crescente

da função de avaliação (para encontrar um máximo)  Algoritmo:

1. Escolhe aleatoriamente uma solução.

2. Gera uma nova solução (vizinha) a partir da atual. 3. Se custo (solução nova) < custo (solução atual),

– Aceita solução nova. Se não,

– Não aceita solução nova (continua com a atual).

(8)

Subida da encosta - Hill Climbing

 O algoritmo procura o pico, onde nenhum vizinho tem valor mais

(9)

Variantes da Subida na encosta

 Subida de encosta estocástica: gera vários sucessores (vizinhança – N(S)), e escolhe ao acaso, um que ofereça melhora na função objetivo.

 Subida de encosta pela primeira escolha: O primeiro

sucessor de N(S) gerado que oferece melhora, passa a ser o novo estado corrente. É muito utilizada quando cada

estado possui milhares de sucessores.

 Subida de encosta com reinício aleatório: “se não tiver

sucesso na primeira vez, continue tentando”. Gera estados iniciais ao acaso, parando ao encontrar um objetivo.

(10)

Subida da Encosta - Problemas

O algoritmo move-se sempre na direção que apresenta

melhor resultado

Isso pode levar a 3 problemas:

1. Máximos locais2. Planícies (platôs)  3. Encostas e Picos

(11)
(12)

Subida da Encosta Problemas

-solução

 Nos casos apresentados, o algoritmo chega a um ponto de onde não faz mais progresso

 Solução: reinício aleatório (random restart)

O algoritmo realiza uma série de buscas a partir de estados

iniciais gerados aleatoriamente

Cada busca é executada

 Até encontrar um objetivo

 Até que um número máximo estipulado de iterações seja atingido

 O sucesso deste método depende muito do formato da superfície do espaço de estados:

se há poucos máximos locais, o reinício aleatório encontra

(13)

Subida da Encosta

(14)

Subida da Encosta: análise

 O algoritmo é completo?

Não, para problemas onde os nós não são estados completos

 e.g., jogo dos 8-números

Sim, para problemas de otimização

 uma vez que cada nó tratado pelo algoritmo é sempre um estado

completo (uma solução)

 O algoritmo é ótimo?

Não, pois o algoritmo para ao encontrar um máximo local.Sim, caso seja utilizado o subida na encosta com reinício

(15)

Simulated Annealing

Subida na Encosta

Sem movimentos “encosta abaixo” (incompleto)Reinicio aleatório (completo, porém ineficiente)

Simulated Annealing

(16)

Simulated Annealing

Simula o processo de arrefecimento dos materiais

Arrefecimentos lentos conduzem a produtos mais puros,

sem imperfeições

Adaptação da Subida na encosta

Pode adotar um estado que oferece perda (encosta

abaixo)

(17)

Simulated Annealing

Idéia base:

Se a nova solução gerada for melhor que a atual (melhor

= menor custo), esta nova solução é aceita.

Se for pior, a nova solução pode ser aceita com uma dada

probabilidade.

Esta probabilidade é controlada por um parâmetro

chamado de temperatura, que diminui ao longo das iterações.

(18)

Simulated Annealing

Algoritmo:

1. Escolhe aleatoriamente uma solução.

2. Gera uma nova solução (vizinha) a partir da atual. 3. Se custo (solução nova) < custo (solução atual),

– Aceita solução nova. Se não,

– Aceita solução nova com probabilidade: p = e [ –(custo(sol. nova) – custo(sol. atual)) / Temperatura]

4. Repete 2 e 3 até terminarem as iterações permitidas.

Observação:

O parâmetro ‘Temperatura’ vai diminuindo a cada N

(19)

Simulated Annealing

Para valores de temperatura próximos de zero

a expressão DE/T cresce

a expressão e-DE/T tende a zero

a probabilidade de aceitar um valor de próximo menor

que corrente tende a zero

o algoritmo tende a aceitar apenas valores de próximo

maiores que corrente

Conclusão

com o passar do tempo (diminuição da temperatura),

este algoritmo passa a funcionar como Subida da Encosta

(20)

Criterios de Parada

Encontrou o objetivo

O número máximo de iterações admitidas na

resolução do problema

Quando a temperatura tomar valores tão pequenos

(21)

Implementação SA

 Implementação:

 Representação das soluções:

 Como as soluções serão consideradas no espaço de busca.  Função de custo (ou avaliação):

‘Nota’ atribuída a cada solução.

 Operador (ou mecanismo de geração de vizinhos):

Como novas soluções serão geradas a partir da atual.

 Esquema de esfriamento:

Como a temperatura será reduzida ao longo da execução.

(22)

Caixeiro Viajante com SA

 Representação das soluções:

 Seqüência de cidades do percurso.

 Ex.: s = [B,D,E,C,A]

 Função de custo (ou avaliação):

 Distância do percurso.

 Ex.: custo(s) = 6+4+5+4+2 = 21

 Operador (geração de vizinhos):

 Permutar 2 cidades consecutivas escolhidas aleatoriamente.

 Ex.: s’ = [B,E,D,C,A]

 Esquema de esfriamento:

 Temperatura inicial: T(0) = 1

 Regra de esfriamento: T(i+1) = 0.9 *T(i)

 Aceita a nova solução se e-DE/T > 0.05

(23)
(24)

Tabu Search

 Idéia Base:

• A partir da solução atual, gerar um conjunto de novas soluções.

• Aceitar sempre a melhor solução deste conjunto.

Pode ser melhor ou pior que a solução atual.

• Guardar na memória:

A melhor solução encontrada desde o início da execução.Uma Lista Tabu, contendo as K soluções mais recentemente

visitadas. Estas soluções são proibidas (para evitar ciclos). • A solução final dada pelo algoritmo é a melhor solução

(25)

Tabu Search

 Algoritmo:

Escolhe aleatoriamente uma solução.

Guarda a solução em melhor solução e na lista tabu.Gera um conjunto de N soluções vizinhas à atual.

Aceita a solução de menor custo entre os N vizinhos (que não

esteja na lista tabu).

 Atualiza melhor solução e insere a nova solução na lista tabu.

Repete 3 a 5 até terminarem as iterações permitidas.Retorna melhor solução.

 Observação:

(26)

Caixeiro Viajante com Tabu Search

 Representação das soluções:

 Seqüência de cidades do percurso.

 Ex.: s = [B,D,E,C,A]

 Função de custo (ou avaliação):

 Distância do percurso.

 Ex.: custo(s) = 6+4+5+4+2 = 21

 Operador (geração de vizinhos):

 Permutar 2 cidades consecutivas,

gerando 5 vizinhos por iteração.

 Ex.: s1 = [D,B,E,C,A]  s2 = [B,E,D,C,A]  s3 = [B,D,C,E,A]  s4 = [B,D,E,A,C]  s5 = [A,D,E,C,B]  Máximo de 2 iterações.

(27)
(28)
(29)

Comparativo

Esforço computacional por iteração:

Uma iteração de Tabu Search exige mais esforço

computacional do que uma iteração de Simulated

Annealing (mais operações).

Porém, em geral, Tabu Search precisa de menos

iterações para convergir, pois avalia um conjunto de

vizinhos a cada iteração.

(30)

Exercício:

 Problema de busca: O Mapa do Brasil precisa ser pintado utilizando

apenas 3 cores. Cada região deve ser pintada com uma cor. Regiões conectadas (adjacentes) não podem possuir a mesma cor.

a) Descreva a formulação do problema para a utilização das técnicas de

buscas cegas

b) Crie uma heurística e faça o passo a passo para, partindo do estado

inicial, encontrar uma solução objetivo utilizando as técnicas de busca gulosa e A*.

c) Descreva a formulação do problema para a implementação

da técnica Simulated Annealing. Mostre o passo a passo da execução.

d) Descreva a formulação do problema para a

implementação da técnica Tabu Search. Mostre o passo a passo da execução.

Referências

Documentos relacionados

Maria Alice Biscaro de Bakker A Justiça e a Misericórdia como mensagem de Salvação Universal: análise exegética de Jn 4,1-11 em seu contexto histórico e

SILVA, Maria Claudia Vidal Lima. O que trata o texto? O presente trabalho tem como base a trajetória da arquitetura do ferro e a implantação de edificações

Fundamental na intermediação dos referenciais simbólicos que utilizamos para compreender a vida cotidiana, o jornalismo também está sendo fortemente impactado por

Já os padrões do CD’ enviados para o algoritmo de ABAS, em um passo mais avan- çado, representando a diversidade de um conjunto de soluções composto de padrões com altos, baixos

Para se obter o custo total da solução vizinha, incluindo os custos de transporte, é utilizado um algoritmo de fluxo a custo mínimo, proposto por Goldberg (1997) para o conjunto

O tipo de rocha detonada pela empresa é o Calcário, com a malha de espaçamento utilizada 2,5m de distância entre os furos, a profundidade dos furos foram de 12m, para 19

No ano de 2011, o Grupo Gay da Bahia (GGB), documentou 266 assassinatos de LGBT`s, destes 98 casos eram de travestis e transexuais, colocando nosso país em primeiro lugar no

Parágrafo único: Estando matriculado na disciplina de Estágio Curricular Obrigatório (ou componente curricular equivalente), o discente que não