# Local Search Algorithms

Ηλεκτρονική - Συσκευές

26 Νοε 2013 (πριν από 4 χρόνια και 5 μήνες)

178 εμφανίσεις

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

Each state has 8*7 = 56 successors.

complete
-
state
formulation

vs.

incremental
formulation

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

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 8
-
queen 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 8
-
queens 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

Simulated Annealing

Picks a random move (instead of the best)

If “good move”

accepted;

else

accepted with some probability

The probability decreases exponentially with

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

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

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
)