Homework 2 - Informed Search

Due Tuesday, February 3, 2004, 12:00 noon (in class)

NOTE: This assignment, like others in this class, is due at a particular time. This means that if you are even a minute late, you lose 20%. If you are worried about potentially being late, turn in your homework ahead of time. Do this by submitting it to me during office hours or by sliding it under my office door. Do not send assignments to me through email or leave them in my departmental mail box.

  1. Negative Values in A* Heuristics

    1. Give an example of a graph - including nodes, links, link costs, and link cost estimates (heuristics) - that shows how allowing heuristics to take on negative values can temporarily mislead A*. Draw the graph and explain why A* generates more nodes for this graph than it would if you changed the negative h(.) values to 0.

    2. Is A* still complete for graphs with negative h(.) values? Explain your answer.

    3. Is A* still optimally efficient for graphs with negative h(.) values? Explain your answer.

    4. Given two heuristics, (1) h(n) with some negative values and (2) h'(n) = MAX(h(n),0), does either heuristic dominate the other? Explain your answer.


  2. PATHMAX in A* Search

    1. Give an example of a graph - including nodes, links, link costs, and link cost estimates (heuristics) - that, when searched using A* with f(n) = g(n) + h(n) generates more nodes than when that same graph is searched using A* with PATHMAX. Draw the graph and explain why A* with f(n) = g(n) + h(n) generates more nodes than A* with PATHMAX.

    2. Is the heuristic you used in the previous part admissible? Explain your answer.

    3. Is A* without PATHMAX optimally efficient with the heuristic you used in the previous part of this question? Explain your answer.

    4. At what point does PATHMAX allow us to discard nodes that we would otherwise explore using A*? Explain your answer.


  3. Heuristic Domination

    1. Give an example of a graph - including nodes, links, link costs, and two sets of link cost estimates h(.) and h'(.) such that h'(.) dominates h(.) - that, when searched using A* generates more nodes when using h'(.) than it does using h(.). Draw the graph and explain why A* generates more nodes with h'(.) than it does with h(.), even though h'(.) dominates.

    2. Explain why we prefer dominating heuristics in general.