Write a program to solve an instance of the 15-puzzle that first checks if a goal state is reachable. Your program should employ:
a. Depth first search
b. Breadth first search
c. Depth first search with iterative deepening.
What distinguishes heuristic search methods?
a. Give three definitions of heuristic search.
b. Give three ways heuristic information can be added to a search.
What does it mean for a heuristic to be admissible?
a. How does admissibility relate to monotonicity?
b. Can there be monotonicity without admissibility? Explain.
What does it mean for a heuristic to be more informed than another heuristic? What is the idea behind the branch and bound search?
Explain why hill climbing would be classified as a greedy algorithm.
Explain how steepest-ascent hill climbing can also provide an optimal solution.
Why is the best-first search more effective than hill climbing? Explain how beam search works.