local search: walksat, ant colonies, and genetic algorithms

42
Local Search: walksat, ant colonies, and genetic algorithms

Upload: janis-carr

Post on 13-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Local Search: walksat, ant colonies, and genetic algorithms

Local Search:walksat, ant colonies, and genetic algorithms

Page 2: Local Search: walksat, ant colonies, and genetic algorithms

Tonight

Course evaluations Local search Final exam

Page 3: Local Search: walksat, ant colonies, and genetic algorithms

Issue

How to search really large spaces 10^30,000 + states systematic search hopeless!

Local search iterative repair, hill climbing, gradient

descent, … guess a start state repeat until satisfied: make small

change move to a local neighbor

Page 4: Local Search: walksat, ant colonies, and genetic algorithms

Examples Learning weights in a neural network

Space: set of weights Neighborhood: small delta

Learning CPT’s in a Bayesian network EM algorithm

These are optimization problems… what about local search for decision problems?

Page 5: Local Search: walksat, ant colonies, and genetic algorithms

N-Queens

N-Queens Demo

Page 6: Local Search: walksat, ant colonies, and genetic algorithms

GSAT

Guess a random truth assignment

while (#unsat clauses > 0){flip a variable that minimizes number of unsatisfied clauses

}

Page 7: Local Search: walksat, ant colonies, and genetic algorithms
Page 8: Local Search: walksat, ant colonies, and genetic algorithms

Room for improvement Less dramatic performance on

structured problems (e.g. planning) Too greedy – can become stuck in local

minima Solution: allow some “uphill” moves –

many different strategies possible… Simulated annealing Tabu lists Alternate GSAT + random flips

Page 9: Local Search: walksat, ant colonies, and genetic algorithms

Random Walk

Guess a random truth assignment

while (#unsat clauses > 0){pick an unsat clause

flip any variable in the clause

} Suppose clauses are of length 2;

what is probably a flip is “correct”? Solves 2-SAT in O(n^2) time!

Page 10: Local Search: walksat, ant colonies, and genetic algorithms

Greediness + Randomness

If clause length > 2, then pure random walk is very unlikely to converge

Suppose we random walk greedily?

Page 11: Local Search: walksat, ant colonies, and genetic algorithms

Walksat

Guess a random truth assignment

while (#unsat clauses > 0){pick an unsat clause

with probability p {

flip a variable that minimizes number of newly-unsatisfied clauses }

otherwise {

flip any variable in clause }

Page 12: Local Search: walksat, ant colonies, and genetic algorithms
Page 13: Local Search: walksat, ant colonies, and genetic algorithms

Walksat results Best known method for many problems

graph coloring (certain) planning problems hard random problems

For many (all?) other domains, can mix random walk & backtrack search run backtrack DPLL until time out restart with new random seed for choosing

branching variables

Page 14: Local Search: walksat, ant colonies, and genetic algorithms

Stochastic Backtrack Search

Quasigroup Completion Demo

Page 15: Local Search: walksat, ant colonies, and genetic algorithms

Parallel local search

Techniques considered so far only look at one point on the search space at a time…

Easy to run many copies in parallel with different random seeds Called portfolio approach Often gives super-linear speedup!

Page 16: Local Search: walksat, ant colonies, and genetic algorithms

Run time distributions

Often there is a great variability in run time depending on random seeds…

As parallel processes are added, probability of getting a “lucky” short run can increase quickly!

Page 17: Local Search: walksat, ant colonies, and genetic algorithms

Informed parallel search

Can we further improve performance by exchanging information between the parallel processes? Genetic algorithms Ant colony algorithms

Page 18: Local Search: walksat, ant colonies, and genetic algorithms

Genetic algorithms Idea: the genetic code of an individual

is a point in the search space a gene = a dimension in the search space

Reproduction = local moves Asexual reproduction (mutation) = create a

child by a small change in the parent Sexual reproduction = create a child by

mixing genes of two parents

Page 19: Local Search: walksat, ant colonies, and genetic algorithms

19

The GA Cycle of Reproduction

reproduction

population evaluation

modification

discard

deleted members

parents

children

modifiedchildren

evaluated children

Page 20: Local Search: walksat, ant colonies, and genetic algorithms

20

A Simple Example

The Traveling Salesman Problem:

Find a tour of a given set of cities so that each city is visited only once the total distance traveled is minimized

Page 21: Local Search: walksat, ant colonies, and genetic algorithms

21

Representation

Representation is an ordered list of city

numbers known as an order-based GA.

1) London 3) Dunedin 5) Beijing 7) Tokyo

2) Venice 4) Singapore 6) Phoenix 8) Victoria

CityList1 (3 5 7 2 1 6 4 8)

CityList2 (2 5 7 6 8 1 3 4)

Page 22: Local Search: walksat, ant colonies, and genetic algorithms

22

Crossover

Crossover combines inversion and

recombination:

* *

Parent1 (3 5 7 2 1 6 4 8)

Parent2 (2 5 7 6 8 1 3 4)

Child (5 8 7 2 1 6 3 4)

This operator is called the Order1 crossover.

Page 23: Local Search: walksat, ant colonies, and genetic algorithms

23

Mutation involves reordering of the list:

* *

Before: (5 8 7 2 1 6 3 4)

After: (5 8 6 2 1 7 3 4)

Mutation

Page 24: Local Search: walksat, ant colonies, and genetic algorithms

24

TSP GA Demo http://cs.felk.cvut.cz/~xobitko/ga/tspexa

mple.html

Page 25: Local Search: walksat, ant colonies, and genetic algorithms

25

TSP Example: 30 Cities

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

x

y

Page 26: Local Search: walksat, ant colonies, and genetic algorithms

26

Solution i (Distance = 941)

TSP30 (Performance = 941)

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

x

y

Page 27: Local Search: walksat, ant colonies, and genetic algorithms

27

Solution j(Distance = 800)

44626967786462544250404038213567606040425099

TSP30 (Performance = 800)

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

x

y

Page 28: Local Search: walksat, ant colonies, and genetic algorithms

28

Solution k(Distance = 652)

TSP30 (Performance = 652)

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

x

y

Page 29: Local Search: walksat, ant colonies, and genetic algorithms

29

Best Solution (Distance = 420)

423835262135327

3846445860697678716967628494

TSP30 Solution (Performance = 420)

0

20

40

60

80

100

120

0 10 20 30 40 50 60 70 80 90 100

x

y

Page 30: Local Search: walksat, ant colonies, and genetic algorithms

30

Overview of Performance

TSP30 - Overview of Performance

0

200

400

600

800

1000

1200

1400

1600

1800

1 3 5 7 9 11

13

15

17

19

21

23

25

27

29

31

Generations (1000)

Dis

tan

ce

Best

Worst

Average

Page 31: Local Search: walksat, ant colonies, and genetic algorithms

Practical Applications Design of small sorting circuits Optimization of code fragments

Used in Windows kernel??? Training neural networks

Can outperform backprop Airport scheduling (Generally) unanswered questions:

Would other local search techniques work just as well?

Is crossover really key?

Page 32: Local Search: walksat, ant colonies, and genetic algorithms

Ant colony optimization Idea:

Each ant in a colony is local search process

Ants (processes) communicate by laying down phenoromes at visited states (“this place looked good to me”)

When deciding where to move, ants prefer (with some probability) to follow trail left by other ants

Phenorome eventually “evaporates”

Page 33: Local Search: walksat, ant colonies, and genetic algorithms

Real ants

Page 34: Local Search: walksat, ant colonies, and genetic algorithms

Why might it work?

More “intelligent” noise

Ant B @ t10

Ant A @ t3

gradient

gradient

not gradient, but a good alternative

Page 35: Local Search: walksat, ant colonies, and genetic algorithms

Beyond phenomerones Combine local gradients to get more global

view

Ant B @ t10

Ant A @ t10

gradient

gradient

move by weighted sum of B’s own gradient and A’s gradient

Page 36: Local Search: walksat, ant colonies, and genetic algorithms

Does it work?

Many successful applications in engineering & science

Appears to outperform single-thread local search procedures for quadratic programming

More work needed to determine exactly why metaphor works when it does!

Page 37: Local Search: walksat, ant colonies, and genetic algorithms

Summary Local search is an important tool for

large, complex optimization and decision problems Ideas: Iterative repair Noise to escape local optima

Much work on parallel local search Portfolios Genetic algorithms Ant colony optimization

Page 38: Local Search: walksat, ant colonies, and genetic algorithms

So….

End of the course. Is that all there is??? Where was the artificial

intelligence??!!

Page 39: Local Search: walksat, ant colonies, and genetic algorithms

In my view… AI is the study of general problem-

solving strategies “Meta” algorithms 101 Life: one damned problem after

another Strategies evolve at many levels

Genetic – “real” evolution Individual human – logical thinking Society – spread of innovation

Page 40: Local Search: walksat, ant colonies, and genetic algorithms

Unity

A relatively small number of concepts various state-space search strategies syntactic structure (both formal logic &

natural language) learning strategies – minimizing entropy,

error, complexity

arise over and over again in biological and artificial systems

Page 41: Local Search: walksat, ant colonies, and genetic algorithms

Why? This unity of

thought biology computationis a cause for wonder …

Work in AI is one way of working on the ultimate questions Why? Why here? Why now? Why us?

Page 42: Local Search: walksat, ant colonies, and genetic algorithms

As the Dali Lama once said…

“But if anything I have said is not helpful to you…

… then just forget about it!”