Mark Watson's "Practical Artificial Intelligence Programming with Java"

Read Chapter 2 on the search problem. One way to solve a problem is by searching for a solution in a set, called the search space. This approach assumes that a search can be done in an acceptable amount of time at an acceptable cost.