Local Search Algorithms

advertisement
Local Search Algorithms
CPS 4801
Outline
• Hill-Climbing Search
• Simulated Annealing
• Local Beam Search (briefly)
Local search algorithms
• In many optimization problems, the path to
the goal is irrelevant; the goal state itself is
the solution.
• Find the final configuration satisfying
constraints, e.g., n-queens.
• In such cases, we can use local search
algorithms:
• keep a single "current" state, try to improve it
o generally move to neighbors
o The path are not retained
Local search algorithms
• uses very little memory
• useful for solving pure optimization problems
• can often find reasonable solutions in large
state spaces.
Example: n-queens
• Put n queens on an n × n board with no two
queens on the same row, column, or
diagonal
Hill-climbing search
(steepest-ascent version)
• A simple loop that continuously moves in the
direction of increasing value – uphill
• Terminates when reaches a “peak”
• does not look ahead beyond the immediate
neighbors, does not maintain a search tree
8-queens problem
complete-state
formulation
vs.
incremental
formulation
• Each state has 8*7 = 56 successors.
8-queens problem
• h = number of pairs of queens that are attacking
each other, either directly or indirectly (h=0 solution)
• h = 17 for the above state
Hill-climbing search
• “Greedy local search”
o grabs a good neighbor state without thinking
ahead about where to go next
• makes rapid progress
Hill-climbing search:
8-queens problem
• 5 steps from the state in the previous slide
• A local minimum with h = 1
Hill-climbing search
• Problem: depending on initial state, can get
stuck in local maxima.
Hill-climbing search
•  Starting from a randomly generated 8queen state, steepest-ascent hill climbing gets
stuck 86% of the time.
•  It takes 4 steps on average when it succeeds
and 3 when it gets stuck.
• The steepest ascent version halts if the best
successor has the same value as the current.
Hill-climbing search
• allow a sideways move
o shoulder
o flat local maximum, that is not a shoulder
• Solution: a limit on the number of
consecutive sideway moves
o E.g., 100 consecutive sideways movies in the 8queens problem
o successful rate: raises from14% to 94%
o cost: 21 steps on average for each successful
instance, 64 for each failure
Variants of hill climbing
• Stochastic hill climbing
o chooses at random from among the uphill moves
o converge more slowly, but finds better solutions
• First-choice hill climbing
o generates successors randomly until one is better
than the current state
o good when with many (thousands) of successors
Variants of hill climbing
• Random-restart hill climbing
o “If you don’t succeed, try, try again.”
o conducts a series of hill-climbing searches from
randomly generated initial states, until a goal is
found.
Simulated Annealing
• A hill-climbing algorithm that never makes
“downhill” moves is guaranteed to be
incomplete.
• Idea: escape local maxima by allowing
some “bad” moves
Simulated Annealing
• Picks a random move (instead of the best)
• If “good move”
•
accepted;
• else
•
accepted with some probability
• The probability decreases exponentially with
the “badness” of the move
Simulated Annealing
Simulated Annealing
• Simulated annealing was first used
extensively to solve VLSI (Very-Large-Scale
Integration) layout problems.
• It has been applied widely to factory
scheduling and other large-scale
optimization tasks.
Local Beam Search
• Idea: keep k states instead of 1; choose top
k of all their successors
• Not the same as k searches run in parallel!
• Searches that find good states recruit other
searches to join them
o moves the resources to where the most progress
is being made
Local Beam Search
• Problem: quite often, all k states end up on
same local hill (concentrated in a small
region)
• Idea: choose k successors randomly
(stochastic beam search)
Download