CS44 W00: Lecture 4

Topics:

  1. Heuristic (Approximation) Search
  2. Best-First Search
  3. A* Search

Thought of the Day:

Many problems in AI are optimization problems. An approximation (or
heuristic) search method does not mean that the search algorithm will
find a wrong solution. If a solution is found, that solution is
guaranteed to be valid, but it may not be optimal.

Heuristic (Approximation) Search

  • heuristics
  • two approaches
  • A* search

    A* is the most widely used approximation search algorithm on graphs. It is complete and optimal, which is where the appeal comes from. A* uses admissible heuristics that do not overestimate the cost of a path to the goal from a node. A* performs well because its heuristic calculation include actual path costs. Specifically, the merit associated with a node on the path from S to G is f(n) = g(n) + h(n), where g(n) is the actual cost from S to n and h(n) is the estimated cost from n to G. A* expands nodes in a tree according to the f values. The node (leaf) with the smallest f-value is the node to be expanded next.

    Theorem: A* is optimal. We can prove this by contradiction. Suppose we have 2 goal states G and G'. Suppose G is optimal and G' is suboptimal, but the A* algorithm is about to select G'. Let the cost of the optimal path to G be denoted by f*. Then the actual cost of the path to the suboptimal goal G' is g(G') > f*. Consider an unexpanded node N on the optimal path to the goal G. Because h is admissible, it follows that f* >= f(N). Since N is not chosen over G' it follows that f(N) >= f(G'). By applying transitivity we have that f* >= f(G') = h(G') + g(G') = 0 + g(G'), in other words f* >= g(G') which contradicts our assumption that G' was suboptimal.

    Theorem: A* is complete for locally finite graphs. We can see this by observing that A* expands nodes in order of increasing f so it will reach the goal unless there are infinitely many nodes with f(N) < f*.

    Theorem: There is no exponential growth in the number of expanded nodes if the error in the heuristic function grows no faster than the log of the actual path cost.

    Theorem: A* is optimally efficient for any given heuristic. NO other optimal algorithm is guarranteed to expand fewer nodes than A*.



    Switch to:


    vasilis@cs.dartmouth.edu