1 / 62

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

Busca com Informação e Exploração “Busca heurística”. Humberto César Brandão de Oliveira hcbo@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 Busca local em espaço contínuo

polly
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” Humberto César Brandão de Oliveirahcbo@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 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. Características da Busca Gulosa pela melhor escolha • Não é ótima (como dado no exemplo anterior); • É incompleta;

  10. Porque incompleta?Exemplo: Origem: Neamt. Destino: Fagaras

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

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

  13. 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* 449 417 393 447 413 415 496

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

  15. 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).

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

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

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

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

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

  21. A* Limitado pela memória simplificado (LMSA*) • A atividade constante de paginação causa degradação do desempenho do sistema . • É 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.

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

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

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

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

  26. Heurísticas de aprendizagem a partir da experiência • Utiliza-se aprendizado indutivo; • São utilizadas técnicas como o aprendizado por reforço para diagnosticar o valor de h(n).

  27. Busca local • Existem problemas, que o caminho até a solução é irrelevante: • N-rainhas; • Caixeiro Viajante • Roteamento de Veículos • Timetabling

  28. 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 sistemáticos são inadequados. • A busca local não estima a distância do estado atual até o objetivo: • Em alguns problemas não é trivial (ou impossível) estimar esta distância.

  29. Conceitos básicos Máximo global f(x) Planície Máximo local Máximo local (plano) x

  30. Subida na encosta“Hill Climbing” • O algoritmo procura o pico, onde nenhum vizinho tem valor mais alto.

  31. Subida na encostaAlgoritmo básico Função SubidaNaEncosta(problema) retorna um ótimo local Entrada: um problema Variáveis: corrente : Nó vizinho: Nó corrente = criarEstadoInicial(problema) Repita vizinho = acharMelhorSucessor(corrente) se vizinho.funcaoObjetivo <= corrente.funcaoObjetivo então retornar corrente; fim se corrente = vizinho; Fim repita

  32. Variações 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: Reinicia a subida várias vezes, até encontra um valor satisfatório. Muito utilizado em redes neurais (técnica para melhor adaptar os pesos sinápticos do backpropagation).

  33. Subida na encostaAnálise • O algoritmo é completo? • SIM, uma vez que cada nó tratado pelo algoritmo é sempre um estado completo (uma solução) • O algoritmo é ótimo? • TALVEZ, quando iterações suficientes forem permitidas... • 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 uma boa solução rapidamente

  34. Recozimento simulado • Meta heurística baseada no resfriamento de metais. • Adaptação da Subida na encosta • Pode adotar um estado que oferece perda (encosta abaixo). • Capaz de fugir de ótimos locais.

  35. Quando descer a encosta? • O algoritmo admite descidas desde que estas não sejam ”bruscas demais” (decisão tomada em função do tempo)

  36. Busca em feixe local • Passo 0: Começa com k estados gerados aleatoriamente. • Passo 1: Os sucessores dos k estados são calculados. • Passo 2: Caso algum estado seja o objetivo, o algoritmo pára. • Passo 3: São selecionados os melhores k sucessores de todos os estados para o próximo passo. • Passo 4: Volta ao passo 1.

  37. Busca em feixe local • Muito parecido com a execução paralela de uma busca local, mas o algoritmo oferece uma vantagem: • Ele concentra a busca onde são oferecidas as melhores soluções (onde ele supõe que pode encontrar os melhores valores para o problema).

  38. Exemplo: • f(k0) = 25 -> N(k0) = S1, S2, S3 • f(k1) = 49 -> N(k1) = S4, S5, S6, S7 • f(k2) = 52 -> N(k2) = S8, S9 • ________________________ • f(S1) = 26; f(S2) = 23; f(S3) = 30; • f(S4) = 49; f(S5) = 48; f(S6) = 53 ; f(S7) = 56; • f(S8) = 50; f(S9) = 55;

  39. Algoritmos Genéticos • Baseados na teoria da evolução das espécies de Darwin. • É uma variação da busca em feixe local.

  40. Algoritmos GenéticosConceitos básicos • População Inicial • Gerada Randomicamente – tamanho m. • Direcionada: • Em alguns problemas, encontrar um indivíduo válido é uma problema de otimização, portanto necessitam de heurísticas para gera-lo. • Exemplos: Problema de Roteamento de Veículos com Janela de Tempo, Timetabling (horários escolares).

  41. Algoritmos GenéticosConceitos básicos • Seleção dos Pais: • Inclui o passo de avaliação dos indivíduos: • Fitness (mensura o quanto cada indivíduo está adaptado ao ambiente). • Pode ter executada por diferentes técnicas: • Roleta (probabilístico) • Torneio entre indivíduos

  42. Algoritmos GenéticosSeleção dos Pais: Adaptabilidade

  43. Algoritmos GenéticosConceitos básicos • Recombinação (cruzamento) • Merge entre dois ou mais indivíduos (n:1):r(i1, i2, ...) = ix • A maneira com que é feito depende da representação dos indivíduos: • Binária • Inteira • Ponto flutuante • Objetos Compostos • Acrescenta indivíduos na população

  44. RecombinaçãoExemplo: + =

  45. Algoritmos GenéticosConceitos básicos • Mutação • Ocorre na relação de 1:1 • m(i1) = ix • A maneira com que é feito depende da representação dos indivíduos: • Binária • Inteira • Ponto flutuante • Objetos Compostos • Não afeta no tamanho da população

  46. MutaçãoExemplo:

  47. Seleção dos sobreviventesExemplo Nova população: S1 -> f(S1) = 12; S2 -> f(S2) = 13; S3 -> f(S3) = 10; • População • S1 -> f(S1) = 10; • S2 -> f(S2) = 12; • S3 -> f(S3) = 11; • NS1 -> f(NS1) = 13; • NS1 -> f(NS2) = 9;

  48. Algoritmos GenéticosResumo

  49. Característica de sucesso para o algoritmo genético: Diferencial • A recombinação eleva a qualidade da busca, pois oferece uma maior diversidade para a população de indivíduos.

  50. Busca local em espaço contínuo • Origem no século XVII (Newton e Leibniz). • Função sucessor gera infinitos novos estados

More Related