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)