algoritmos de busca heurísticos. sumario heurísticos –best-first –greedy best-first –a *...
Post on 21-Dec-2015
220 views
TRANSCRIPT
Sumario
• Heurísticos– Best-first – Greedy best-first – A* – Algoritmos de Busca local– Hill-climbing
• Metaheuristicos– Simulated annealing– Algoritmos Geneticos
Best-first
• Idéia: usar uma função de avaliação f(n) para cada nodo– Estimar se ele é “promissor”Expandir o mais desejável
• Casos Especiais:– greedy best-first – A*
Greedy best-first (guloso)
• Função de avaliação f(n) = h(n) (heurística)
• = estima o custo de n ao objetivo
• hSLD(n) = linha reta desde n a Bucharest
• O Algoritmo “Greedy best-first” expande o nodo que parece mais perto do objetivo
Propriedades do Algoritmo greedy
• Completo? Não
• Tempo? O(bm), uma boa heurística pode melhorar ele muito
• Espaço? O(bm) – mantém todos os nodos em memória
• Ótimo? Não
A*
• Idéia: evitar a expansão de caminhos que estão muito custosos
• Função de Avaliação f(n) = g(n) + h(n)
• g(n) = custo de atingir n
• h(n) = custo estimado de n ao objetivo
• f(n) = custo total estimado de caminho através de n ao objetivo
Heurística Admissível
• Uma heurística h(n) é admissível se para cada nodo n,
h(n) ≤ h*(n), donde h*(n) é o custo real de atingir o estado objetivo desde n.
• Uma heurística admissível nunca sobreestima o custo de atingir o objetivo, ela é otimista
• Exemplo: hSLD(n) (nunca sobreestima a distancia da rodovia)
• Teorema: Se h(n) é admissível, A* é ótima
Propriedades de A*
• Completa? Sim (ao menos que existam infinitos nodos com f ≤ f(G) )
• Tempo? Exponencial
• Espaço? Mantém todos os nodos em memória
• Ótima? Sim
Algoritmos de Busca Local
• Em muitos problemas de otimização , o caminho até o objetivo é irrelevante; o objetivo é a solução
• Espaço de Estados = conjunto de configurações completas
• Encontrar a configuração que satisfaz as restrições, exemplo as n- rainhas
• Em tais casos, podem ser usados algoritmos de busca local
• Manter um estado atual,tentar melhorar ele
Exemplo: n-rainhas
• Coloque as n rainhas em um tabuleiro de n × n, as rainhas não podem estar na mesma coluna, linha ou diagonal
Busca Local
• Manter k estados como alternativa a um • Comece gerando k estados aleatoriamente
• A cada iteração, todos os sucessores de todos os k estados devem ser gerados
• Se qualquer um deles for o objetivo, pare; caso contrario selecione k melhores sucessores da lista completa e repita