This document discusses hill climbing, an optimization technique used to find the best solution to a problem. It begins by explaining hill climbing search and its implementation. It then provides examples of applying hill climbing to solve the N-Queen problem and the 8-puzzle problem. The document notes some drawbacks of hill climbing and introduces random restart hill climbing as a variation that can help overcome local maxima issues.