Implementing State Space Search

The graph-based BFS and DFS algorithms were naturally implemented in the graph package.

However, state space search tree creation requires the list of problem moves, so the natural place to implement the new Search algorithm is in the Problem class of the framework package.

Implementing state space search requires the Vertex and DequeAdder types from the graph package, but the Edge and Graph classes are not needed.

For the search algorithm to work on problem states, they must behave like vertices.