26
Ontologi es Reasonin g Component s Agents Simulatio ns Busca Heurística Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

Busca Heurística

  • Upload
    cate

  • View
    52

  • Download
    0

Embed Size (px)

DESCRIPTION

Busca Heurística. Jacques Robin Humberto César Brandão de Oliveira. Roteiro. Definição Algoritmos de busca heurística global Busca gulosa A* RBFS SMA* Projeto de funções heurísticas Algoritmos de busca heurística local Subida em encosta Recozimento simulado Busca focada local - PowerPoint PPT Presentation

Citation preview

OntologiesReasoningComponentsAgentsSimulations

Busca HeurísticaBusca Heurística

Jacques RobinHumberto César Brandão de Oliveira

RoteiroRoteiro

Definição Algoritmos de busca heurística global

Busca gulosa A* RBFS SMA*

Projeto de funções heurísticas Algoritmos de busca heurística local

Subida em encosta Recozimento simulado Busca focada local Algoritmos genéticos Busca local em espaço contínuo

Agente de busca on-line e ambientes desconhecidos

Busca cega: motivação e definiçãoBusca cega: motivação e definição

Motivação: busca cega exponencial na profundidade da solução ou do espaço de estados

Definição: Busca não exaustiva do espaço de estados, utilizando atalhos para

sua exploração que descartam sub-espaços sem explorá-los Muitas vezes sem garantia de encontrar sempre a melhor solução

ou até uma solução em todas as instâncias do problema

Busca gulosa pela melhor escolhaBusca gulosa pela melhor escolha

Estratégia: Expandir primeiro nó que parece mais próximo do objetivo de

menor custo Distância do nó a expandir para esse objetivo estimado através de

uma função heurística h(n) Avalia nós através da função h(n)

h(n) depende do problema Exemplo:

Objetivo: Encontrar um bom caminho de Arad à Bucareste. h(n) = distância em linha reta do nó n até o objetivo (Bucareste)

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: exemploexemplo

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: exemploexemplo

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: exemploexemplo

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: exemploexemplo

Busca gulosa pela melhor escolha: Busca gulosa pela melhor escolha: característicascaracterísticas

Explora árvore de busca em profundidade primeira Sofre dos mesmos problemas da busca cega em profundidade

Completa? Não. ex, ao buscar melhor caminho Iasi Bucharest,

entra em loop Iasi Neamt, Neamt Iasi pode se perder um tempão em caminhos que são impasses

Ótima? Não ex, não encontra melhor caminho Arad Sibiu Riminicu Pitesti

Bucharest Pior caso tempo e espaço: O(bm)

Porque?

A*A*

Sempre expande no minimizando f(n) = g(n) + h(n), onde g(n) custo real da origem até n, utilizada na busca cega de custo

uniforme f(n) heurística estimando custo de n até o objetivo, utilizada na

busca heurística gulosa pela melhor escolha Ex:

g(n) distância na pista da origem até n f(n) distância em linha reta de n até o objetivo

A*: exemploA*: exemplo

Distância em linha reta para Bucharest:

75 + 374374449449

140 + 253253

393393118 + 329329447447

220

239239 + 178178

417417

220 + 193193

413413

366

317317 + 9898

415415

336 + 160160496496

455

418

A*: característicasA*: características

Explora árvore de busca em largura primeira Vantagens e limitações semelhante a busca cega de custo

uniforme Custo uniforme procede desenhando contornos crescentes circulares

A* procede desenhando contornos crescentes elípticos Melhor h(n), mais alongados os contornos h(n) perfeita, elipse contém apenas o melhor caminho

Completa? Sim, para heurísticas h(n) admissíveis i.e., que sempre sub-estima o custo real n, h(n) c(n) ex, distância em linha reta distância na pista

Ótima? Sim, para heurísticas h(n) admissíveis Garantido mais eficiente do que qualquer outro algoritmo

completo e ótimo usando a mesma heurística Pior caso tempo e espaço: O(bd)

Porque?

Extensões de A*Extensões de A*

Objetivo: limitar números de nos guardados na memória A* guarda todos os nós expandidos durante toda a busca Torna uso inviável para problema de tamanho reais

IDA*: A cada iteração i, busca A* com expansão limitada a nós com f(n)

li Vantagens e limitações semelhantes as de busca em

aprofundamento iterativo Busca recursiva pela melhor escolha MA* SMA*

Busca Recursiva pela Melhor Escolha Busca Recursiva pela Melhor Escolha (BRM)(BRM)

Expande a árvore de busca em profundidade primeira Desempata nós de profundidade p minimizando fp(n) de A*

Guarda no nó expandido n lembrete de fp(n’), aonde n’ é o no com o segundo menor custo estimado em uma profundidade p’ p

Quando todos os nós da fronteira tem custo estimado f(n’): retrocesso até a profundidade p e expande n’ atualiza fp(n) com fp+k(n’’), aonde n’’ é o descendente de n

expandido na ida com menor custo estimado

BRM: exemploBRM: exemplo

Arad

Sibiu Timisoara

Fagaras Oradea R. Vilcea

Pitesti Sibiu

366

393

415

526

417

447

413

553

447

415

Arad

Sibiu Timisoara

Fagaras Oradea R. Vilcea

366

393

415

526

447

Sibiu Bucareste591

450

BRM: exemploBRM: exemplo

413417

447

417

BRM: exemploBRM: exemplo

Arad

Sibiu Timisoara

Fagaras Oradea R. Vilcea

Pitesti Sibiu

366

393

415450

526

417

447

413417

553

Bucareste R. Vilcea418

607

447

447

447

BRM: característicasBRM: características

Completo e ótimo: se heurística h é admissível Espaço: O(bd) no pior caso

Não aproveita de toda a memória disponível Tempo: difícil de se estimar

SMA* (Simple limited Memory A*)SMA* (Simple limited Memory A*)

Enquanto tem memória disponível segue A* Quando a memória acaba:

Ele retira nó n folha que maximiza f(n) Como BRMP, propaga lembrete de f(n) para os pai de n

Completo se profundidade do nó objetivo menor que limite de memória

Ótimo se profundidade da solução ótima menor que limite de memória

Projeto de função heurísticaProjeto de função heurística

Propriedades desejáveis: Admissibilidade Alta precisão (qualidade da estimativa da distância entre nó

corrente e nó objetivo) Medida de precisão:

Fator de ramificação efetivo b* 1definido por: N + 1 = 1 + b* + (b*)2 + ... + (b*)d onde,

N = numero de nós gerado por A* na árvore de busca d = profundidade do objetivo na árvore de busca

b – 1 boa medida de precisão

Estratégias genéricas de projeto de heurística: Custo real de um problema menos restrito (relaxed) do que o

tratado Custo real de um sub-problema do problema tratado

Projeto de função heurística: Projeto de função heurística: retirar restriçõesretirar restrições

Restrições:1. Rótulo se move apenas em local

horizontalmente ou verticalmente adjacente

2. Rótulo se move apenas em local livre

Problema menos restrito 1: Retirar as restrições 1 e 2

h1: Número de rótulos fora do

objetivo Problema menos restrito 2:

Retirar apenas restição 2

h2: Somas das distâncias de

Manhattan entre cada rótulo e seu objetivo

h1 domina h2

hd(n) = max{h1(n), .., hk(n)} sempre domina h1(n), .., hk(n)

Projeto de função heurísticaProjeto de função heurística

Sub-problemas: Mover rótulo {1-4} Mover rótulo {5-8}

Resolver variedades de problemas pequenos de antemão Contar número de passos totais para resolvê-los Dividir problema grande em sub-problemas pequenos Estimar custo do cada nó pelo numero de passos dos sub-

problemas Funciona apenas para problemas no qual cada passo envolve

apenas um subproblema

Busca heurística localBusca heurística local

Aplica-se apenas para problemas pelos quais só importa o nó solução, não importa o caminho desde a raiz até esse nó.

ex: Distribuição espacial de equipamentos (8 rainhas, VLSI, plano de

usina) Roteamento (veículos, pacotes de redes, etc.) Escalonamento de tarefas

Requer formulação de estado completo Geralmente bem mas eficiente do que busca global Permite otimização (i.e., encontrar nó de menor custo)

Busca em encosta (hill-climbing)Busca em encosta (hill-climbing)

Sempre expandir nó vizinho que maximiza função de objetivo (gulosa) Vantagens:

Guarda apenas um nó em memória Funciona sem modificação com conhecimento parcial e online

Limitações: Incompleto e não ótimo Eficiência depende da topologia do espaço de estados

Busca em encosta: exemploBusca em encosta: exemplo

Estado inicial: colocação aleatória de umarainha por coluna

Operador: mudar um rainha de posição h = número de pares de rainha que se atacam Taxa de sucesso em encontrar

solução ótima: 14% O que fazer quando não há melhor

vizinho Passos “laterais” Limite de 100 passos laterais

consecutivos permite atingirtaxa de 94%

O que fazer quando há muitosvizinhos igualmente melhor Seleção aleatória

Melhoras da busca em encostaMelhoras da busca em encosta

Busca em encosta repetitiva a partir de pontos iniciais aleatórios Recozimento simulado

Alternar passos de gradiente crescentes (hill-climbing) com passos aleatórios de gradiente descente

Taxa de passos aleatórios diminuem com o tempo Outro parâmetro importante em buscas locais:

Amplitude dos passos Pode também diminuir com o tempo

Busca em feixe local (local beam search) Fronteira de k estados (no lugar de apenas um) A cada passo, seleciona k estados sucessores de f mais alto

Busca em feixe local estocástica: A cada passo, seleciona k estados semi-aleatoriamente com

probabilidade de ser escolhido crescente com f Forma de busca genética com partenogenesa (reprodução

asexuada)