Title: Busca Heur
1Busca Heurística
- Jacques Robin
- Humberto César Brandão de Oliveira
2Roteiro
- 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
3Busca 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
4Busca 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)
5Busca gulosa pela melhor escolha exemplo
6Busca gulosa pela melhor escolha exemplo
7Busca gulosa pela melhor escolha exemplo
8Busca gulosa pela melhor escolha exemplo
9Busca gulosa pela melhor escolha caracterí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?
10A
- 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
11A exemplo
449
417
393
447
413
415
496
12A 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?
13Extensõ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
14Busca Recursiva pela Melhor Escolha (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 fpk(n), aonde n é o
descendente de n expandido na ida com menor custo
estimado
15BRM exemplo
?
Arad
366
Timisoara
Sibiu
393
447
Fagaras
Oradea
R. Vilcea
413
415
526
Pitesti
Sibiu
417
553
16BRM exemplo
?
Arad
366
447
Timisoara
Sibiu
393
447
Fagaras
Oradea
R. Vilcea
413417
415
526
Sibiu
Bucareste
591
450
17BRM exemplo
?
Arad
366
447
Timisoara
Sibiu
393
447
Fagaras
447
Oradea
R. Vilcea
413417
415450
526
447
Pitesti
Sibiu
417
553
Bucareste
R. Vilcea
418
607
18BRM 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
19SMA (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
20Projeto 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
21Projeto de função heurística retirar restrições
- 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) maxh1(n), .., hk(n) sempre domina
h1(n), .., hk(n)
- Restrições
- Rótulo se move apenas em local horizontalmente ou
verticalmente adjacente - Rótulo se move apenas em local livre
22Projeto 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
23Busca 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)
24Busca 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
25Busca 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á melhorvizinho
- Passos laterais
- Limite de 100 passos lateraisconsecutivos
permite atingirtaxa de 94 - O que fazer quando há muitosvizinhos igualmente
melhor - Seleção aleatória
26Melhoras 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)