1 / 26

Busca Heurística

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

cate
Download Presentation

Busca Heurística

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Busca Heurística Jacques Robin Humberto César Brandão de Oliveira

  2. 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 • Algoritmos genéticos • Busca local em espaço contínuo • Agente de busca on-line e ambientes desconhecidos

  3. Busca 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

  4. Busca 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çãoh(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)

  5. Busca gulosa pela melhor escolha: exemplo

  6. Busca gulosa pela melhor escolha: exemplo

  7. Busca gulosa pela melhor escolha: exemplo

  8. Busca gulosa pela melhor escolha: exemplo

  9. Busca 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?

  10. 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

  11. Distância em linha reta para Bucharest: 75 + 374 239 239 + 178 220 140 + 253 118 + 329 220 + 193 317 317 + 98 418 366 455 336 + 160 A*: exemplo 449 417 393 447 413 415 496

  12. A*: 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?

  13. 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*

  14. Busca 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 fp+k(n’’), aonde n’’ é o descendente de n expandido na ida com menor custo estimado

  15. 447 415 BRM: exemplo  Arad 366 Timisoara Sibiu 393 447 Fagaras Oradea R. Vilcea 413 415 526 Pitesti Sibiu 417 553

  16. 417 BRM: exemplo  Arad 366 447 Timisoara Sibiu 393 447 Fagaras Oradea R. Vilcea 413417 415 526 Sibiu Bucareste 591 450

  17. BRM: exemplo  Arad 366 447 Timisoara Sibiu 393 447 447 Fagaras Oradea R. Vilcea 413417 415450 526 447 Pitesti Sibiu 417 553 Bucareste R. Vilcea 418 607

  18. BRM: 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

  19. 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

  20. Projeto 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

  21. Restrições: Rótulo se move apenas em local horizontalmente ou verticalmente adjacente 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ística: retirar restrições

  22. Projeto 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

  23. Busca 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)

  24. 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

  25. Busca 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

  26. Melhoras 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)

More Related