Hill Climbing
Hill Climbing
Hill Climbing
1- Definition
Hill Climbing is a technique to solve certain optimization problems. In this technique, we
start with a sub-optimal solution and the solution is improved repeatedly until some condition
is maximized.
The idea of starting with a sub-optimal solution is compared to starting from the base of the
hill, improving the solution is compared to walking up the hill (or walking down), and finally
maximizing (or minimizing) some condition is compared to reaching the top of the hill.
Hence, the hill climbing technique can be considered as the following phases:
- Constructing a sub-optimal solution obeying the constraints of the problem
- Improving the solution step-by-step
- Improving the solution until no more improvement is possible
Hill Climbing technique is mainly used for solving computationally hard problems. It looks
only at the current state and immediate future state. Hence, this technique is memory efficient
as it does not maintain a search tree.
Algorithm: Hill Climbing