Implement state-space search, heuristic search, game search, constraint satisfaction, and planning for problems with explicit goals and rules.