Non-deterministic Search techniques. Emma Hart

Similar documents
Outline of the module

Artificial Intelligence

Heuristic Optimisation

Simulated Annealing. G5BAIM: Artificial Intelligence Methods. Graham Kendall. 15 Feb 09 1

CS 331: Artificial Intelligence Local Search 1. Tough real-world problems

INF Biologically inspired computing Lecture 1: Marsland chapter 9.1, Optimization and Search Jim Tørresen

Algorithms & Complexity

Pre-requisite Material for Course Heuristics and Approximation Algorithms

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Single Candidate Methods

Algorithm Design (4) Metaheuristics

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Simple mechanisms for escaping from local optima:

mywbut.com Informed Search Strategies-II

Escaping Local Optima: Genetic Algorithm

An evolutionary annealing-simplex algorithm for global optimisation of water resource systems

TABU search and Iterated Local Search classical OR methods

Artificial Intelligence

Outline. TABU search and Iterated Local Search classical OR methods. Traveling Salesman Problem (TSP) 2-opt

A Course on Meta-Heuristic Search Methods for Combinatorial Optimization Problems

Heuristic Optimisation

Metaheuristics : from Design to Implementation

SLS Algorithms. 2.1 Iterative Improvement (revisited)

Optimization Techniques for Design Space Exploration

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function

Hill Climbing. Assume a heuristic value for each assignment of values to all variables. Maintain an assignment of a value to each variable.

Note: In physical process (e.g., annealing of metals), perfect ground states are achieved by very slow lowering of temperature.

Hardware-Software Codesign

Ar#ficial)Intelligence!!

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Introduction to Optimization Using Metaheuristics. The Lecturer: Thomas Stidsen. Outline. Name: Thomas Stidsen: Nationality: Danish.

Beyond Classical Search

Machine Learning for Software Engineering

AI Programming CS S-08 Local Search / Genetic Algorithms

Introduction to Optimization Using Metaheuristics. Thomas J. K. Stidsen

Outline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement

Outline. Best-first search. Greedy best-first search A* search Heuristics Local search algorithms

Evolutionary Algorithms: Perfecting the Art of Good Enough. Liz Sander

TDDC17. Intuitions behind heuristic search. Recall Uniform-Cost Search. Best-First Search. f(n) =... + h(n) g(n) = cost of path from root node to n

ACO and other (meta)heuristics for CO

n Informally: n How to form solutions n How to traverse the search space n Systematic: guarantee completeness

Heuristic Optimization Introduction and Simple Heuristics

Introduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 4: Beyond Classical Search

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Design and Analysis of Algorithms

Dr. Stephan Steigele Vorlesung im SS 2008

Artificial Intelligence

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

Simulated Annealing. Slides based on lecture by Van Larhoven

GENETIC ALGORITHM with Hands-On exercise

Introduction to Stochastic Optimization Methods (meta-heuristics) Modern optimization methods 1

Overview of Tabu Search

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

a local optimum is encountered in such a way that further improvement steps become possible.

An Empirical Investigation of Meta-heuristic and Heuristic Algorithms for a 2D Packing Problem

CS:4420 Artificial Intelligence

TDDC17. Intuitions behind heuristic search. Best-First Search. Recall Uniform-Cost Search. f(n) =... + h(n) g(n) = cost of path from root node to n

Artificial Intelligence p.1/49. n-queens. Artificial Intelligence p.2/49. Initial state: the empty board or a board with n random

Gradient Descent. 1) S! initial state 2) Repeat: Similar to: - hill climbing with h - gradient descent over continuous space

Artificial Intelligence

Local Search. CS 486/686: Introduction to Artificial Intelligence Winter 2016

Recap Hill Climbing Randomized Algorithms SLS for CSPs. Local Search. CPSC 322 Lecture 12. January 30, 2006 Textbook 3.8

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Introduction to Computer Science and Programming for Astronomers

Outline of the talk. Local search meta-heuristics for combinatorial problems. Constraint Satisfaction Problems. The n-queens problem

Introduction to Optimization

Artificial Intelligence Methods (G52AIM)

Advanced Search Simulated annealing

Informed search algorithms. (Based on slides by Oren Etzioni, Stuart Russell)

Using Genetic Algorithms to optimize ACS-TSP

GRASP. Greedy Randomized Adaptive. Search Procedure

Introduction to Genetic Algorithms

Two approaches. Local Search TSP. Examples of algorithms using local search. Local search heuristics - To do list

Random Search Report An objective look at random search performance for 4 problem sets

Heuristis for Combinatorial Optimization

EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Search Algorithms for Regression Test Suite Minimisation

x n+1 = x n f(x n) f (x n ), (1)

Evolutionary Computation for Combinatorial Optimization

A motivated definition of exploitation and exploration

Local Search. CS 486/686: Introduction to Artificial Intelligence

Lecture Plan. Best-first search Greedy search A* search Designing heuristics. Hill-climbing. 1 Informed search strategies. Informed strategies

Lecture: Iterative Search Methods

Genetic Algorithms and Genetic Programming Lecture 7

Lecture 6: The Building Block Hypothesis. Genetic Algorithms and Genetic Programming Lecture 6. The Schema Theorem Reminder

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

Evolutionary Methods for State-based Testing

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Local Search (Ch )

Artificial Intelligence Application (Genetic Algorithm)

Beyond Classical Search

Lecture 06 Tabu Search

CMU-Q Lecture 8: Optimization I: Optimization for CSP Local Search. Teacher: Gianni A. Di Caro

Heuristis for Combinatorial Optimization

PROBLEM SOLVING AND SEARCH IN ARTIFICIAL INTELLIGENCE

The Probabilistic Heuristic In Local (PHIL) Search Meta-strategy

Transcription:

Non-deterministic Search techniques Emma Hart

Why do local search? Many real problems are too hard to solve with exact (deterministic) techniques Modern, non-deterministic techniques offer ways of getting good solutions fast They can be generalised across many problems Evolutionary algorithms aren t the only answer!

Local Search Often naïve, but very good way of obtaining near-optimal solutions Many variants: Hill-climbers Simulated annealing Tabu search Often a good first approach or benchmark to compare your EAs to

Features of local search algorithms Starting from an initial solution or solutions, move through the searchspace to a better position Can be hard because many searchspaces have: Several optimal points Many local optima

Local Search Illustrated Local optimum value Global optimum value Local optimum value Local optimum solution Global optimum solution Local optimum solution

Ingredients of all modern search algorithms Some concepts are common to all search algorithms: 1. A solution representation 2. An objective and cost function (evaluation function) 3. A neighbourhood (or move operator)

Solution Representation A method of representing the problem For example A binary string A permutation A vector of real numbers In general, choose the most natural way of representing the problem

Solution Representation The representation you choose defines the search space And therefore the size of the problem You need to choose the right search space for the problem It can reduce the size of the search space It can make the difference between solving the problem and not solving it!

Using the right search space How can you construct 4 equilateral triangles from 6 matches??

Using the right search space How can you construct 4 equilateral triangles from 6 matches? Use a 3D search space!

Examples of Representing Solutions start A B D C E F f 3 12 4 ( x) = x + y z 1 01 0 1 1 0 1 A D B C E F 1.2 6.7 4.5 binary permutation vector

Objectives and Evaluation Functions The objective is what you are trying to achieve: In the TSP, minimise the distance travelled The evaluation function allows you to Determine the quality of a possible solution Compare the quality of a number of solutions It is helpful if the evaluation function tells you how much better a solution is than another however

Evaluation functions For TSP, the evaluation is straightforward: Calculate the distance travelled in any solution For many problems, calculating an exact quality of a solution is computationally expensive You might consider ways in which you can just rank solutions as better or worse than each other

What is a neighbourhood? The set of solutions that can be reached from a given state by applying some move Small neighbourhoods are cheap to explore but you might need to explore many of them Large neighbourhoods are hard to explore, but solution quality might be better Need to find a function that strikes the right balance between complexity of search and the quality of the solution

Effect of neighbourhood size Small neighbourhoods can be searched quickly but high risk of getting stuck in a local optimum Large neighbourhoods are expensive to search but less risk of getting stuck Small neighbourhood Large neighbourhood

Neighbourhood = flip 1 bit 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 Initial Solution 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0

Permutation Neighbourhoods Swap 2 positions B A C D E A B E D C C B A D E A C B D E E B C D A A B C D E A D C B E A E C D B A B C E D D B C A E A B D C E

k-opt neighbourhoods The set of solutions that are reached by interchanging k non-adjacent edges 2-opt Accept first improvement found. Size of neighbourhood grows exponentially with k

Hill-Climbing Algorithms So named because they move uphill through the solution space towards better solutions!

A Hillclimbing Algorithm 1. Pick a solution from the search space, x. Evaluate it. 2. Choose a solution y in the neighbourhood of x. Evaluate it. 3. If y is better than x, replace x with y, else discard it. 4. Return to step 2 until some stopping criterion applies

A Hillclimbing Algorithm -variants 1. Pick a solution from the search space, x 2. Apply move operator to give a new potential solution y 3. If y > x, replace x with y, else discard 4. Return to step 2 until some stopping criterion applies First Ascent: Accept first move that gives a better solution

A Hillclimbing Algorithm -variants 1. Pick a solution from the search space, x 2. Apply move operator to give a new potential solution y 3. If y > x, replace x with y, else discard 4. Return to step 2 until some stopping criterion applies Best Ascent: Check all possible moves and choose the one which gives the best improvement

An Example Neighbourhood defined by flip one bit 10 1 fitness 9 Initial solution 0 0 1 fitness 1 1 1 1 fitness 12 1 0 0 fitness 20 Neighbourhood states Reached by flipping 1 bit First ascent 111 fitness 12 100 fitness 20 Best ascent

But hillclimbers can get stuck... Maximize f ( x) 3 2 = x 60x + 900x + 100 Move operator: flip 1 bit, use best-ascent hillclimber 00011 2188 00001 842 00000 1 10011 (2399) 11011 244 10111 1128 10001 2874 11001 626 10101 1702 10011 2300 11000 865 10100 2001 10010 2593? 10010 2593 10000 3137 10001 2874 Iteration 1 Iteration 2 Iteration 3 (answer is 01010 = 4100)

What if it gets stuck? On functions with many peaks (multimodal functions), the algorithm is likely to stop on the first peak it finds Easy solution is to repeat several hill climbs, each time starting from a different randomly chosen points. This method is sometimes known as iterated hill climbing.

http://www.ndsu.nodak.edu/instruct/juell/vp/cs724s00/hill_climbing/ Problems with Hill-Climbing Illustrated

Local Search Features: If the evaluation function has no local optima, then local search will find the solution If the evaluation function has local optima, local search will find a locally optimum solution (if we are lucky, this might be the global optimum)

Is Hill-Climbing a Good Idea? It works well if there is not too many local optima in the search space. But if the fitness function is very 'noisy' with many small peaks, stochastic hill climbing is usually not a good method to use. However, it is very easy to implement and to give fairly good solutions very quickly.

Simulated Annealing (SA) SA is another local search algorithm which has proved very effective in practice It works by searching neighbourhoods via a move operator BUT it reduces the chance of getting stuck in a local optimum by allowing moves to inferior solutions

Simulated Annealing - Background Idea from a physical process of heating and then slowly cooling a substance to obtain a strong crystalline structure - structure depends on the rate of cooling Large crystals are grown from slow cooling, fast cooling results in imperfections SA algorithm simulates the energy changes in a system subject to a cooling process until it converges to a steady frozen state.

A Generic SA Algorithm 1. Pick a solution and evaluate it. Call this the current solution 2. Apply a move operator to get a new solution and evaluate it. 3. If the new solution is better than the current solution keep it 4. If it is worse, accept it with some small probability that decreases over time 5. Decrease the probability 6. Return to step 2 until some stopping criterion applies

Deciding to accept solutions: The probability of accepting a worse move is determined by the system temperature At high temperatures, there is a high probability of accepting inferior moves At low temperatures, there is a low probability of accepting inferior moves Accepting inferior moves allows the system to escape from local optima

The temperature variable The temperature decreases as the algorithm runs: At the beginning, high T means lots of inferior moves get accepted Near end, low T means hardly any bad moves get accepted If the temperature decreases logarithmically, guarantee optimum

Minimising a Function Hillclimber would get stuck here Starting Point SA algorithm allows uphill moves from here so algorithm might not get stuck True Minima

How is this implemented? Assume we are trying to minimise a function: Moving from solution x to solution x results in a change in fitness Accept move if c = c c x ' x exp( c / T) > R R is a uniform random number between 0 and 1

Look at that temp. function:

SA in practice-an example Maximise f ( x) 3 2 = x 60x + 900x Encode x as 5 bit string, + 100 Neighbourhood - flip 1 bit at random Maximum is 01010 (x=10,f(x)=4100) Start from 10011 (x=19,f(x)=2399), with initial temperature=100

Attempt 1: T=500 (start 10011, f=2399) T bit string F f move? new string 500 1 00011 2287 112 Y (0.59) 00011

Attempt 1: T=500 (start 10011) T bit string F f move? new string 500 1 00011 2287 112 Y (0.59) 00011 450 3 00111 3803 <0 Y 00111

Attempt 1: T=500 (start 10011) T bit string F f move? new string 500 1 00011 2287 112 Y (0.59) 00011 450 3 00111 3803 <0 Y 00111 405 5 00110 3556 247 Y (0.54) 00110

Attempt 1: T=500 (start 10011) T bit string F f move? new string 500 1 00011 2287 112 Y(0.59) 00011 450 3 00111 3803 <0 Y 00111 405 5 00110 3556 247 Y(0.54) 00110 364.5 2 01110 3684 <0 Y 01110

Attempt 1: T=500 (start 10011) T bit string F f move? new string 500 1 00011 2287 112 Y (0.59) 00011 450 3 00111 3803 <0 Y 00111 405 5 00110 3556 247 Y (0.54) 00110 364.5 2 01110 3684 <0 Y 01110 328.0 4 01100 3998 <0 Y 01100

Attempt 1: T=500 (start 10011) T bit string F f move? new string 500 1 00011 2287 112 Y (0.59) 00011 450 3 00111 3803 <0 Y 00111 405 5 00110 3556 247 Y (0.54) 00110 364.5 2 01110 3684 <0 Y 01110 328.0 4 01100 3998 <0 Y 01100 295.2 3 01000 3972 16 Y (0.94) 01000

Attempt 1: T=500 (start 10011) T bit string F f move? new string 500 1 00011 2287 112 Y (0.59) 00011 450 3 00111 3803 <0 Y 00111 405 5 00110 3556 247 Y (0.54) 00110 364.5 2 01110 3684 <0 Y 01110 328.0 4 01100 3998 <0 Y 01100 295.2 3 01000 3972 16 Y (0.94) 01000 265.7 4 01010 4100 <0 Y 01010**

Attempt 1: T=500 (start 10011) T bit string F f move? new string 500 1 00011 2287 112 Y (0.59) 00011 450 3 00111 3803 <0 Y 00111 405 5 00110 3556 247 Y (0.54) 00110 364.5 2 01110 3684 <0 Y 01110 328.0 4 01100 3998 <0 Y 01100 295.2 3 01000 3972 16 Y (0.94) 01000 265.7 4 01010 4100 <0 Y 01010** 239.1 5 01011 4071 29 Y (0.89) 01011

Attempt 2: T=100 (start 10011) T bit string F f move? new string 100 1 00011 2287 112 N(0.32) 10011 90 3 10111 1227 1172 N(~10-6 ) 10011 81 5 10010 2692 <0 Y 10010 72.9 2 11010 516 2176 N (~10-13 ) 10010 65.6 4 10000 3236 <0 Y 10000 59.0 3 10100 2100 1136 Y 10000 Temperature not high enough algorithm gets stuck

Factors to consider An initial temperature at which the system starts A method of decreasing the temperature A method of determining the probability of accepting a move A final system temperature

Factors to consider Choosing the initial temperature must be high; acceptance rate of 40%- 60% is good Choosing the final temperature theory suggests 0, in practice when probability of accepting an uphill move is negligible Setting the cooling schedule probably most important factor!

Setting the cooling schedule The temperature is normally reduced by a small amount after every move Options are: Geometrically: T αt (due to Lundy&Mees) T T 1+ β T

Comparison of SA with GA Simulated Annealing can be a serious competitor to Genetic Algorithms. GAs have some features which should make them more efficient. they use a population based selection whereas SA only deals with one individual at each iteration. they are expected to cover a much larger landscape of the search space at each iteration a GA can be parallelised, recombination operators are able to mix good characteristics from different solutions (Exploitation).

Advantages of SA/GA On the other hand SA only deals with one individual at each iteration. SA iterations are much more simple, and so, often much faster. SA is still very simple to implement Shown to give good results over a large spectrum of difficult problems, like the optimal layout of printed circuit board, or the famous travelling salesman problem.

Tabu Search Really an extension of local search It s novel contribution is to add a memory The memory: Maintains a list of recent decisions made by the algorithm Is used to guide the search away from previously visited areas and so diversify the search and avoid cycling

Tabu Search The set of moves which are forbidden is called the tabu list Comes from a Tongan word! The memory is of fixed size and continuously updated so moves become allowed later Inferior solutions can be selected if all the better ones are tabu

Tabu Search Specify a neighbourhood search algorithm by an initial state a search neighbourhood a move evaluator tabu criteria aspiration criteria one or more tabu lists

Tabu-search Meta-heuristic Construct a candidate list from the search neighbourhood Pick a move that doesn t violate tabu criteria but allow move if it meets aspiration criteria Update tabu-list if necessary Replace current solution with new solution if it is better Repeat

Tabu Criteria (Short Term Memory) The tabu criteria prevent certain moves: Based on Recency/Frequency: don t allow reversal of moves recently made don t allow move if solution quality is the same as on a previous iteration same solution has been visited recently Don t allow moves that have been made often

Aspiration Criteria (Long Term Memory) The aspiration criteria allow some moves that the tabu criteria prevent! Based on quality: best in neighbourhood similar to existing solution (intensification) dissimilar to existing solution (diversification)

An Example - Finding a Subtree in a Weighted Graph 26 6 2 12 15 5 22 21 12 2 10 14 31 17 2 7 5 30 Total weight: 5+22+14+30 = 71

An Example - Finding a Subtree in a Weighted Graph 26 6 2 12 15 5 22 21 12 2 10 14 31 17 2 7 5 30 Total weight: 5+22+14+30 = 71 Total weight: 26+12+2+17=57

An Example - Finding a Subtree in a Weighted Graph 26 6 2 12 15 5 22 21 12 2 10 14 31 17 2 7 5 30 Total weight: 5+22+14+30 = 71 Total weight: 26+12+2+17=57 Total weight:2+21+31+7 = 61

A Tabu search algorithm initial state: random subtree of size 4 a search neighbourhood: subtrees generated by changing 1 edge a move evaluator: total weight of edges

A Tabu search algorithm tabu criteria: don t allow move that has been made in the last 4 iterations aspiration criteria: allow move if it improves the solution by at least 2 tabu list: list of 4 previous moves

Parameter Setting for Tabu Search Algorithms Lots of critical choices involved! The tabu criteria size of the tabu lists the underlying search method the aspiration criteria Successful applications include network design and warehouse location problems

Many other modern heuristic search algorithms Ant Colony Optimisation algorithms Artificial Immune Systems GRASP (Greedy Randomised Adaptive Search Procedure) Memetic Algorithms

Summary Local search can be cheap, easy way to perform search For all these methods, we don t need to know much about the problem we are trying to solve - we just need a black box to evaluate the solution But - in many cases, performance can be enhanced by building in problem-specific knowledge

Summary Hill-climbing is still a good first choice (very simple to implement and run) SA avoids problems with local optima Tabu s main advantage wrt SA is in the intelligent use of past history to influence future search Remember, SA chooses points stochastically