Implement breadth-first, depth-first, uniform-cost, greedy, and A* search, and design heuristics that trade speed for solution quality.