Artificial Intelligence 15-381 Heuristic Search Methods. Jaime Carbonell [email protected] 17 January 2002 Today's Agenda Island Search & Complexity Analysis Heuristics and evaluation functions Heuristic search methods Admissibility and A* search B* search (time permitting) - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
A Heuristic is an operationally-effective nugget of information on how to direct search in a problem space. Heuristics are only approximately correct. Their purpose is to minimize search on average.
Common Types of Heuristics
"If-then" rules for state-transition selection Macro-operator formation [discussed later] Problem decomposition [e.g. hypothesizing
islands on the search path] Estimation of distance between Scurr and SG. (e.g.
Manhattan, Euclidian, topological distance) Value function on each Succ(Scurr)
Since S0 and SG are constant, we abbreviate E(Scurr)
General Form:1. Quit if done (with success or failure), else:
2. s-Queue:= F(Succ(Scurr),s-Queue)
3. Snext:= Argmax[E(s-Queue)]
4. Go to 1, with Scurr:= Snext
Heuristic Search
Steepest-Ascent Hill-Climbing F(Succ(Scurr), s-Queue) = Succ(Scurr) No history stored in s-Queue, hence: Space
complexity = max(b) [=O(1) if b is bounded] Quintessential greedy search
Max-Gradient Search "Informed" depth-first search Snext:= Argmax[E(Succ(Scurr))] But if Succ(Snext) is null, then backtrack Alternative: backtrack if E(Snext)<E(Scurr)
Optimality DefinitionA solution is optimal if it conforms to the minimal-cost path between S0 and SG. If operators cost is uniform, then the optimal solution = shortest path.
Admissibility DefinitionA heuristic is admissible with respect to a search method if it guarantees finding the optimal solution first, even when its value is only an estimate.
A* Search Preliminaries
Admissible Heuristics for BestFS "Always expand the node with min(g(Scurr)) first."
If Solution found, expand any Si in s-Queue where g(Si) < g(SG)
Find solution any which way. Then Best FS(Si) for all intermediate Si in solution as follows:
1. If g(S(1curr) >= g(SG) in previous, quit
2. Else if g(S(1G < g(SG), Sol:=Sol1, & redo (1).
A*: Better Admissible Heuristics
Observations on admissible heuristics Admissible heuristics based only on look-back
(e.g. on g(S)) can lead to massive inefficiency! Can we do better? Can we look forward (e.g. beyond g(Scurr)) too? Yes, we can!
A*: Better Admissible Heuristics
The A* CriterionIf h(Scurr) always equals or underestimates the true remaining cost, then f(Scurr) is admissible with respect to Best-First Search.
A* SearchA* Search = BestFS with admissible f = g + h under the admissibility constraints above.
A* Optimality Proof
Goal and Path Proofs Let SG be optimal goal state, and s-path (S0, SG)
be the optimal solution. Consider an A* search tree rooted at S0 with S1
G
on fringe. Must prove f(SG2) >= f(SG) and g(path(S0, SG))
is minimal (optimal). Text proves optimality by contradiction.
A* Optimality Proof
Simpler Optimality Proof for A*
Assume s-Queue sorted by f.
Pick a sub-optimal SG2: g(SG2
) > g(SG)
Since h(SG2) = h(SG) = 0, f (SG2
) > f (SG)
If s-Queue is sorted by f, f(SG) is selected before f(SG2
)
B* Search
Ideas Admissible heuristics for mono- and bi-polar