0% found this document useful (0 votes)
26 views34 pages

A* and Greedy Best-First Search

Uploaded by

test case
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views34 pages

A* and Greedy Best-First Search

Uploaded by

test case
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 34

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

You might also like