Algorithms/Hill Climbing  From Wikibooks, open books for an open
world Jump to: navigation, search   Hill climbing is a technique
for certain classes of optimization problems. The idea is to
start with a sub-optimal solution to a problem (i.e., start at
the base of a hill) and then repeatedly improve the solution
(walk up the hill) until some condition is maximized (the top of
the hill is reached).  Hill-Climbing Methodology   1. Construct
a sub-optimal solution that meets the constraints of the problem
2. Take the solution and make an improvement upon it   3.
Repeatedly improve the solution until no more improvements are
necessary/possible  One of the most popular hill-climbing
problems is the network flow problem. Although network flow may
sound somewhat specific it is important because it has high
expressive power: for example, many algorithmic problems
encountered in practice can actually be considered special cases
of network flow. After covering a simple example of the hill-
climbing approach for a num