1 / 83

Busca com Informação e Exploração “Busca heurística”

Busca com Informação e Exploração “Busca heurística”. Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br. Busca heurística - Escopo. Definição Estratégias de busca com Informação Funções heurísticas Algoritmos de busca local e problemas de otimização

mercury
Download Presentation

Busca com Informação e Exploração “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 com Informação e Exploração“Busca heurística” Eduardo Araujo Oliveira eao@cin.ufpe.br Patricia Endo pte@cin.ufpe.br

  2. Busca heurística - Escopo • Definição • Estratégias de busca com Informação • Funções heurísticas • Algoritmos de busca local e problemas de otimização • Busca local em espaço contínuo • Agente de busca on-line e ambientes desconhecidos

  3. Problema da busca cega • Se a combinação de caminhos até o objetivo for exponencial a busca cega dificilmente encontrará a resposta do problema em um tempo polinomial.

  4. Instância • Como encontrar um barco perdido? • Não podemos procurar no oceano inteiro... • Informações relevantes: • Velocidade do vento; • Direção do vento; • ...

  5. Definição • Como na busca cega, utiliza a definição do problema para efetuar a busca. • Utiliza conhecimento específico do problema (informações) • Não procura a melhor solução do problema, procura uma boa solução, ou simplesmente alguma solução.

  6. Busca gulosa pela melhor escolha • Estratégia: tenta expandir o nó supostamente mais próximo a origem (heurística), através de uma estimativa; • Avalia nós através da funçãoh(n) • h(n) depende do problema

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

  8. Busca pela melhor escolha

  9. Busca pela melhor escolha

  10. Busca pela melhor escolha

  11. Busca pela melhor escolha

  12. Busca pela melhor escolha

  13. Características da Busca Gulosa pela melhor escolha • Não é ótima; • É incompleta, pois pode entrar em loops infinitos;

  14. Busca A* • Avalia a combinação de duas funções: • f(n) = g(n) + h(n); onde: • g(n) é o custo real da origem até o nó n; • h(n) é a distância em linha reta do objetivo até o nó n.

  15. A*: Características • Desde que h(n) não superestime o custo para alcançar o objetivo, A* é ótima. • Completa. • A* expande o nó de menor valor de f na fronteira do espaço de estados. • Olha o futuro sem esquecer do passado, armazenando todos os caminhos anteriores.

  16. A*

  17. A*

  18. A*

  19. A*

  20. Comportamento • Custo de tempo: • exponencial com o comprimento da solução, porém boas funções heurísticas diminuem significativamente esse custo • Custo memória: O(bd) • guarda todos os nós expandidos na memória • para possibilitar o backtracking • Eficiência ótima • só expande nós com f(n)  f*, onde f* é o custo do caminho ótimo

  21. A* de aprofundamento iterativo (AIA*) • Igual ao aprofundamento iterativo, sua principal diferença é que seu limite é dado pela função de avaliação (f) (contornos), e não pela profundidade (d).

  22. Busca heurística com limite de memória • BRPM – Busca recursiva pelo melhor • Semelhante a busca recursiva em profundidade; • Diferença: Não desce indefinidamente. Ela controla a recursão pelo valor de f. Se existir algum nó em um dos ancestrais que ofereça melhor estimativa que o nó atual, a recursão retrocede e a busca continua no caminho alternativo.

  23. BRPM Arad 366 Arad Sibiu 393 447 Fagaras Oradea R. Vilcea 413 415 526 Pitesti Sibiu 417 553

  24. BRPM Arad 366 Arad Sibiu 393 447 Fagaras Oradea R. Vilcea 417 415 526 Sibiu Bucareste 591 450

  25. BRPM Arad 366 Arad Sibiu 393 447 Fagaras Oradea R. Vilcea 417 450 526 Pitesti Sibiu 417 553 Bucareste R. Vilcea 418 607

  26. A* Limitado pela memória simplificado (LMSA*) • Utiliza toda a memória disponível; • Quando a memória está cheia, ele elimina o pior nó folha (maior custo de f) para continuar a busca.

  27. A* Limitado pela memória simplificado (LMSA*) • É completo, se a profundidade do nó objetivo mais raso for menor que o tamanho da memória. • É ótimo se qualquer solução ótima for alcançável.

  28. Funções heurísticas • O desempenho da busca está totalmente relacionado a qualidade da função heurística utilizada. • Como medir a qualidade de uma função heurística?

  29. Exatidão heurística • Uma maneira de caracterizar a exatidão heurística é através do fator de ramificação efetiva (b*). • Considere N o número de nós gerados para alcançar o objetivo, e d a profundidade da solução. Então: • N = 1 + b* + (b*)2 + ... + (b*)d • Uma boa função heurística terá b* bem próximo de 1.

  30. Exemplo • h1 = o número de blocos em posições erradas • H2 = a soma das distâncias de suas posições objetivo Estado inicial Estado objetivo

  31. Funções heurísticas • Se o custo real para alcançar n é 150. • h1(n) = 56; //heurística 1 • h2(n) = 140; //heurística 2 • h2(n) >= h1(n); • Dizemos que h2 domina h1. Isso pode ser traduzido na forma: A heurística 2 é melhor que a heurística 1, pois terá um menor fator de ramificação. Desde que h1 e h2 não superestimem o custo real.

  32. Funções heurísticas • Como escolher uma boa função heurística h? • h depende de cada problema particular. • h deve ser admissível • não superestimar o custo real da solução • Existem estratégias genéricas para definir h: • Relaxar restrições do problema; • Resolver subproblemas de maneira exata.

  33. Exemplo de problema relaxado • Um bloco pode se mover do quadrado A para o quadrado B se A é horizontal ou verticalmente adjacente a B e B é vazio. • Um bloco pode se mover do quadrado A para o quadrado B, se A é adjacente a B • Um bloco pode se mover do quadrado A para B, se B está vazio • Um bloco pode se mover do quadrado A para o quadrado B

  34. Exemplo de subproblema Estado objetivo Estado inicial

  35. Busca com Informação e Exploração“Busca heurística” Busca LOCAL

  36. Busca local • Existem problemas, que o caminho até a solução é irrelevante: • N-rainhas; • Caixeiro Viajante • Preocupação apenas com o estado corrente e estados vizinhos.

  37. Vantagens de algoritmos de busca local • Utilizam pouquíssima memória (geralmente constante); • Freqüentemente encontram boa soluções em espaços de busca infinitos (contínuos) – para os quais, os algoritmos globais são inadequados. • As heurísticas da busca local não estimam a distância do estado atual até o objetivo: • Vantajoso para problemas nos quais não é trivial estimar esta distância.

  38. Os algoritmos de busca local • Estado Corrente; • Problemas de Otimização;

  39. Topologia de Espaço de Estados Máximo global Função objetivo Planície Máximo local Máximo local (plano) Espaço de estados

  40. Subida da encostaAlgoritmo básico Função Subida-de-Encosta(problema) retorna um estado Entrada: problema, um problema Variáveis locais: corrente : Nó vizinho: Nó corrente = criar-NO(EstadoInicial[problema]) Repita vizinho = acharMelhorSucessor(corrente) se vizinho.funcaoObjetivo <= corrente.funcaoObjetivo então retornar corrente; fim se corrente = vizinho; Fim repita

  41. Diagrama de Atividades

  42. Subida da encosta“Hill Climbing” • O algoritmo procura o pico, onde nenhum vizinho tem valor mais alto. “Subindo o everest na neblina com amnésia” PASSO

  43. Subida da Encosta Exemplo Porco Espinho ou Ourico

  44. Exemplo: N-Rainhas

  45. Exemplo: 8-Rainhas • 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

  46. Subida da encosta“Hill Climbing” • Move na direção do incremento da função, terminando quando acha um pico • 􀂄 Guloso: steepest ascent • 􀂄 Problemas • 􀂉 Máximos Locais; • 􀂄 Máximo local plano; • 􀂄 Planícies.

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

  48. Subida na encostaAnálise • O algoritmo é completo? • SIM, para problemas de otimizacao (onde cada NO tratado e’ um estado completo, uma solucao) • NÃO, para problemas onde os NOS não são estados completos • E.g. jogo dos 8-numeros • O algoritmo é ótimo? • TALVEZ, quando iterações suficientes forem permitidas... • NÃO, para problemas onde os NOS não são estados completos

  49. Simulated Annealing • Simula o processo de arrefecimento dos materiais – Arrefecimentos lentos conduzem a produtos mais puros, sem imperfeições • Normalmente é interpretado como o algoritmo de busca local com os melhores resultados

  50. Simulated Annealing • Adaptação da Subida na encosta • Pode adotar um estado que oferece perda (encosta abaixo). • Capaz de fugir de máximos locais.

More Related