Ciência DA COMPUTAÇÃO
(ou heurística)
• Utiliza conhecimento específico sobre o problema para encontrar soluções de forma mais eficiente do que a busca cega.
– Conhecimento específico além da definição do problema. • Abordagem geral: busca pela melhor escolha. – Utiliza uma função de avaliação para cada nó.
– Expande o nó que tem a função de avaliação mais baixa.
– Dependendo da função de avaliação, a estratégia de busca muda.
Busca pela melhor escolha
• Idéia: usar uma função de avaliação f(n) para cada nó.
– estimativa do quanto aquele nó é desejável
Expandir nó mais desejável que ainda não foi expandido
• Implementação:
Ordenar nós na borda em ordem decrescente de acordo com a função de avaliação
• Casos especiais:
– Busca gulosa pela melhor escolha
– Busca A*
Busca gulosa pela melhor escolha • Função de avaliação f(n) = h(n)
(heurística)
= estimativa do custo de n até o objetivo ex., hDLR(n) = distância em linha reta de n até Bucareste.
• Busca gulosa pela melhor escolha expande o nó que parece mais próximo ao objetivo de acordo com a função heurística.
Romênia com custos em km
Distância em linha reta para
Bucareste
Exemplo de busca gulosa pela melhor escolha
Exemplo de busca gulosa pela melhor escolha
Exemplo de busca gulosa pela melhor escolha
Exemplo de busca gulosa pela melhor escolha
Busca gulosa pela melhor escolha • Não é ótima, pois segue o melhor passo considerando somente o estado atual. – Pode haver um caminho melhor seguindo algumas opções piores em alguns pontos da árvore de busca.
• Minimizar h(n) é suscetível a falsos inícios. – Ex. Ir de Iasi a Fagaras
• Heurística sugerirá ir a Neamt, que é um beco sem saída. • Se repetições não forem detectadas a busca entrará em loop.
Propriedades da busca gulosa pela melhor escolha
• Completa? Não – pode ficar presa em loops, ex., Iasi Neamt Iasi
Neamt
• Tempo?