CPSC 322 - Lecture 16 - October 15, 2004

CPSC 322 - Lecture 16

More Blind Search


I.  Lowest-cost-first search

Today we explored another form of blind search called
lowest-cost-first search.  Lowest-cost-first search is
an attempt to use information about the problem at hand
(once again the 8-tile puzzle in our example) to guide
the search.  The information in this case is the cost 
of the paths from the start node to the nodes on the 
frontier.  Recall that depth-first-search chooses the
node most recently added to the frontier list as the next
node to be explored, while breadth-first-search chooses
the least recently added (i.e., the oldest) node on the
frontier.  Lowest-cost-first search is different from these
only in that it chooses the node from the frontier with the
lowest cost path from the start node to that node.  If the
individual arc costs are the same, then lowest-cost-first
search becomes breadth-first-search.


II.  Comparing blind search strategies

After that scintillating discussion of lowest-cost-
first search, we did a little comparison of the 
behaviors of these three variations on the blind search
theme.  Here are some of the points that were raised.
Your textbook brings up more points, and you should
read those.

  All will find a solution in a finite space if a solution 
  exists

  Depth-first can get trapped in infinite recursion in an 
  infinite space (except in CILOG)

  Breadth-first and lowest-cost will find a solution even in 
  an infinite space, if one exists

  Breadth-first will find path to goal with fewest arcs

  Lowest-cost-first will find lowest cost path (of course) 
  when arcs have different costs

  Breadth-first is just depth-first but adding to frontier 
  differently

  Lowest-cost-first is just breadth-first with more 
  information and sorting

  Breadth-first and lowest-cost-first seem wonderful, but 
  they're gigantic space hogs in terms of how big frontier 
  can be

  There's a whole lot more of this good vs. bad stuff
  in your textbook (chapter 4.4)...read it

  Ultimately, all three are expensive approaches to search

And that last point leads us to the question of how to 
make search less computationally expensive.  That's the
topic of the next lecture.

Last revised: October 28, 2004