An iterative algorithm of local search  that starts with an arbitrary solution to a problem, then attempts to find a better solution by making an incremental change to the solution. If the change produces a better solution, another incremental change is made to the new solution, and so on until no further improvements can be found. There are several variants of the algorithm, e.g.:

  • Simple hill-climbing
  • Steepest ascent hill-climbing
  • Stochastic hill-climbing

  Purely gradient strategy has a basic disadvantage typical for all gradient methods – it may reach a local extreme only.

An example: Order in which the nodes are expanded (a path from S to M)