Informed Search
Algorithms
CHAPTER 3b
Outline
• Best-first search
• A* search
• Heuristics
Environment Type Discussed In this
Lecture
Fully
Observable • Static Environment
yes
Deterministic
yes
Sequential
yes no
Discrete no
yes Discrete
no
yes
Planning, Control, Vector Search: Continuous Function
heuristic cybernetics Constraint Optimization
search Satisfaction
CMPT 310 - Blind Search 3
Review: Tree search
• A search strategy is defined by picking the order of node expansion
• Which nodes to check first?
Heuristic Search
Knowledge and Heuristics
Evaluation Functions
Idea: use an evaluation function f(n) for each node.
estimate of "desirability"
Expand most desirable unexpanded node.
Especially useful with state transition costs.
Implementation:
Order the nodes in frontier in decreasing order of
desirability
Special cases:
greedy best-first search
A* search
Multiple-Choice Question
• In problem search, the term “heuristic” refers to
1. a search strategy that is only sometimes optimal.
2. a function that assigns values to states.
3. a rule of thumb.
Romania with step costs in km
Greedy best-first search
• Evaluation function
• f(n) = h(n) (heuristic)
• = estimate of cost from n to goal
• e.g., hSLD(n) = straight-line distance from n to Bucharest
• Greedy best-first search expands the node that appears to be closest
to goal.
Greedy best-first search example
Greedy best-first search example
Greedy best-first search example
Greedy best-first search example
Properties of greedy best-first
search
• Complete? No – can get stuck in loops,
• e.g. as Oradea as goal
• Iasi Neamt Iasi Neamt
• Time? O(bm) = whose tree in worst case.
• But a good heuristic can give dramatic improvement.
• Space? O(bm) -- keeps all nodes in memory (almost same as BFS in
Informed case)
• Optimal? No
• b – branching factor
• m –maximum path length
The A* Search Algorithm
A* search
• Idea: avoid expanding paths that are already expensive.
• Widely used!
• Evaluation function f(n) = g(n) + h(n)
• h(n) = estimated cost from n to goal
• f(n) = estimated total cost of path through n to goal
• g(n) = cost so far to reach n
A* search example
A* search example
A* search example
A* search example
A* search example
A* search example
• We stop when the node with the lowest f-value is a
goal state.
• Is this guaranteed to find the shortest path?
Behaviour of A*
• A* expands nodes in order of increasing f Gradually adds "f-
value.
contours" of nodes
• Let C* be cost of optimal solution. Contour i has all nodes
1. A* expands all nodes n with f(n) < C*.
2. A* expands no nodes n with f(n) > C*. with f=fi, where fi < fi+1.
•
•
Admissible heuristics
• A heuristic h(n) is admissible if for every node n,
h(n) ≤ h*(n), where h*(n) is the true cost to reach the goal
state from n.
• An admissible heuristic never overestimates the cost to
reach the goal, i.e., it is optimistic.
• Example: hSLD(n) (straight-line distance never
overestimates the actual road distance)
• Theorem: If h(n) is admissible, A* using TREE-SEARCH finds the optimal
solution.
Optimality of A* (proof) I
• Suppose some suboptimal goal path G2 has been generated and is in the
frontier. Let n be an unexpanded node in the frontier such that n is on a
shortest path to an optimal goal G.
• f(G2) = g(G2) since h(G2) = 0 because h is admissible
• g(G2) > g(G) since G2 is suboptimal, cost of reaching G is less.
• f(G) = g(G) since h(G) = 0
• f(G2) > f(G) from above
•
Optimality of A* (proof) II
• Suppose some suboptimal goal path G2 has been generated and is in the
frontier. Let n be an unexpanded node in the frontier such that n is on a
shortest path to an optimal goal G.
•f(G2) > f(G) from above
•h(n) ≤ h*(n) since h is admissible, h* is minimal distance.
•g(n) + h(n) ≤ g(n) + h*(n)
•f(n) ≤ f(G)
Hence f(G2) > f(n), and A* will never select G2 for expansion
•
•
Properties of A*
• Complete? Yes (unless there are infinitely many nodes with f ≤ f(Goal))
• Time? Exponential
• Space? Keeps all nodes in memory
• Optimal? Yes
Admissible Heuristics
Admissible heuristics
E.g., for the 8-puzzle:
• h1(n) = number of misplaced tiles
• h2(n) = total Manhattan distance
(i.e., no. of squares from desired location of each tile)
• h1(S) = ?
• h2(S) = ?
•
•
•
Admissible heuristics
E.g., for the 8-puzzle:
• h1(n) = number of misplaced tiles
• h2(n) = total Manhattan distance
(i.e., no. of squares from desired location of each tile)
• h1(S) = ? 8
• h2(S) = ? 3+1+2+2+2+3+3+2 = 18
•
•
Dominance
• If h2(n) ≥ h1(n) for all n (both admissible) then h2 dominates h1 .
• h2 is better for search (closer to true cost).
• Typical search costs (average number of nodes expanded):
• d=12 IDS = 3,644,035 nodes
A*(h1) = 227 nodes
A*(h2) = 73 nodes
• d=24 IDS = too many nodes
A*(h1) = 39,135 nodes
A*(h2) = 1,641 nodes
•
•
•
Relaxed problems
• A problem with fewer restrictions on the actions is
called a relaxed problem
• The cost of an optimal solution to a relaxed problem is
an admissible heuristic for the original problem
• If the rules of the 8-puzzle are relaxed so that a tile can
move anywhere, then h1(n) gives the shortest solution
• If the rules are relaxed so that a tile can move to any
adjacent square, then h2(n) gives the shortest solution
•
•
•
•
Summary
• Heuristic functions estimate costs of shortest paths
• Good heuristics can dramatically reduce search cost
• Greedy best-first search expands lowest h
• incomplete and not always optimal
• A∗ search expands lowest g + h
• complete and optimal
• also optimally efficient (up to tie-breaks)
• Admissible heuristics can be derived from exact
solution of relaxed problems