Solving problems by searching
Chapter 3