CS 371 - Introduction to Artificial Intelligence
Homework #2


Due: Thursday 9/16 at the beginning of class
Note: Work is to be done in pairs unless otherwise approved

Informed Search

0. Download and study the informed search starter code.

1. Implement class BestFirstSearcher with a constructor that takes an HSearchNode Comparator to determine what is "best". (We will implement this together in class.) 

2. Implement class IterativeDeepeningAStarSearcher which extends HSearcher and performs iterative-deepening A* search.  Iterative-deepening A* search is like iterative-deepening depth-first search, except that it searches nodes up to a limited f-value each iteration.  The constructor should take the initial f-limit, and the amount this limit is increased by with each iteration.  

3. Convert your scalable search problem node to an HSearchNode.  Implement at least two heuristics for your scalable search problem and explain why they are admissible.  (The degenerate admissible heuristic with h(n) = 0 is not acceptable.)  

4. Experiment in solving your scalable problem using all of your implemented informed search algorithms, collecting data as in the previous assignment.

5. Part of your project grade will include a team interview.  Both team members should be prepared to discuss the classes in detail.

Todd Neller