Local Search Foundations of Constraint Processing CSCE421/821, Spring 2009: www.cse.unl.edu/~choueiry/S09-421-821/ Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 choueiry@cse.unl.edu Tel: +1(402)472-5444 Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 1 Lecture sources Required reading 1. Dechter: Chapter 7, Section 7.1 and 7.2 Recommended 1. R. Bartak’s online guide: http://kti.ms.mff.cuni.cz/~bartak/constraints/stochastic.html 1. AIMA: Section 4.4 (1st edition) Section 4.3 (2nd edition) 1. Bresina 96: Heuristic-Biased Stochastic Sampling. AAAI/IAAI, Vol. 1 1996: 271-278 Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 2 Solving CSPs CSPs are typically solved with a combination of 1. Constraint propagation (inference) 2. Search (conditioning) • Backtrack search • Local search We focus on local search Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 3 Outline • • • • General principle Main types: greedy & stochastic When nothing works… Evaluation methods Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 4 Backtrack search • Properties – Systematic and exhaustive – Deterministic or heuristic – Sound and complete • Shortcomings – worst-case time complexity prohibitive – often unable to solve large problems. Thus, theoretical soundness and completeness do not mean much in practice • Idea – Use approximations: sacrifice soundness and/or completeness – Can quickly solve very large problems (that have many solutions) Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 5 Local search: the picture • • • • States are laid up on a surface State quality/cost is its height State space forms a landscape Optimum state: – maximizes solution quality – minimizes solution cost • Move around from state to state and try to reach the optimum state • Exploration restricted to neighboring states, thus ‘local’ search (ref. Holger & Hoos) Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 6 Components of a local search • State – is a complete assignment of values to variables, a possibly inconsistent solution • Possible moves – are modifications to the current state, typically by changing the value of a single variable. Thus, ‘local’ repair (ref. Dechter) – Examples: • SAT: Flipping the value of a Boolean variable (GSAT), • CSPs: Min-conflict heuristic (variations) • Evaluation (cost) function – rates the quality of a state, typically in the number of violated constraints Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 7 Generic Mechanism • Cost function: number of broken constraints • General principle – Start with a full but arbitrary assignment of values to variables – Reduce inconsistencies by local repairs (heuristic) – Repeat until • A solution is found • The solution cannot be repaired • … You run out of patience (global minimum) (local minimum) (max-tries) • A.k.a. – Iterative repair (decision problems) – Iterative improvement (optimization problems) Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 8 Outline • • • • General principle Main types: greedy & stochastic When nothing works… Evaluation methods Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 9 Main types of local search 1. Greedy: – Use a heuristic to determine the best move 2. Stochastic (improvement) – Sometimes (randomly) disobey the heuristic Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 10 Greedy local search • At any given point, – make the best decision you can given the information you have and proceed. – Typically, move to the state that minimizes the number of broken constraints • Example: – hill climbing (a.k.a. gradient descent/ascent) – Local beam search: keep track of k states Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 11 Greedy local search • Problems: – local optima (stuck), – plateau (errant), – ridge (oscillates from side to side, slow progress) Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 12 Stochastic Local Search • Sometimes (randomly) move to a state that is not the best: use randomization to escape local optimum • Examples: • RandomWalk (stochastic noise) • Tabu Search Simulated Annealing Generic algorithms Breakout method (constraint weighting) ERA (multi-agent search) Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 13 Simulated Annealing: idea • Analogy to physics: – Process of gradually cooling a liquid until it freezes – If temperature is lowered sufficiently slowly, material will attain lowest-energy configuration (perfect order) • Basic idea: – When stuck in a local optimum, allow few steps towards less good neighbors to escape the local maximum Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 14 Simulated Annealing: Mechanism • Start from any state at random, start countdown and loop until time is over: – Pick up a neighbor at random – Set d = quality of neighbor – quality of current state – If d>0 (there is improvement) • Then move to neighbor & restart countdown • Else, move to neighbor with a transition probability p<1 • Transition probability proportional to ed/t – d is negative, and t is time countdown – As times passes, less and less likely to make the move towards unattractive neighbors • Under some very restrictive assumptions, guaranteed to find optimum Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 15 Properties • Non-systematic and non-exhaustive • Liable to getting stuck in local optima (optima/minima) • Non-deterministic: – outcome may depend on where you start • Typically, heavy tailed: – probability of improving solution as time goes by quickly becomes small but does not die out Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 16 Genetic Algorithms • Basic step: Combinations two complete assignments (parents) to generate offsprings • Mechanism – Starts from an initial population – Encodes assignments in a compact manner (a string) – Combines partial solutions to generate new solutions (next generation) Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 17 Genetic Algorithm (2) • Fitness Function ranks a state’s quality, assigns probability for selection • Selection randomly chooses pairs for combination depending on fitness • Crossover point randomly chosen for two individuals, offsprings are generated • Mutation randomly changes a state Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 18 Breakout strategies [Bresina] • Increase the weights of the broken constraints so that they are less likely to be broken in subsequent iterations • Quite effective for recovering from local optima Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 19 ERA: Environment, Rules, Agents [Liu et al, AIJ 02] • • • • • Environment is an nxa board Each variable is an agent Each position on board is a value of a domain Agent moves in a row on board Each position records the number of violations caused by the fact that agents are occupying other positions • Agents try to occupy positions where no constraints are broken (zero position) • Agents move according to reactive rules Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 20 Reactive rules [Liu et al, AIJ 02] Reactive rules: – Least-move: choose a position with the min. violation value – Better-move: choose a position with a smaller violation value – Random-move: randomly choose a position Combinations of these basic rules form different behaviors. Reactive rules Behavior designer LR least-move with 1-p and random-move with p BR better-move with 1-p and random-move with p BLR first better-move, if fail then apply LR rBLR first apply better-move r times, if fail then apply LR FrBLR apply rBLR in the first r iterations, then apply LR Foundations of Constraint Processing, Spring 2009 Local Search for CSPs 21 Big picture • Agents do not communicate but share a common context • Agents keep kicking each other out of their comfortable positions until every one is happy • Charecterization: [Hui Zou, 2003] – Amazingly effective in solving very tight but solvable instances – Unstable in over-constrained cases • Agents keep kicking each other out (livelock) • Livelocks may be exploited to identify bottlenecks Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 22 ERA performance 70 Spring 2001b (B) # agents in zero position 65 Fall 2001b 60 55 50 Spring 2003 45 40 Observation: 35 Fall 2002 (B) 30 25 20 iteration 15 1 20 39 58 77 96 115 191 172 153 134 Solvable vs. unsolvable instances: ERA performance on solvable instances # agents in zero position 45 • stable on solvable instances • oscillates on unsolvable cases Spring 2001b (O) 40 35 30 25 20 15 Fall 2002 (O) iteration 10 1 20 39 58 77 96 115 134 153 172 191 ERA performance on unsolvable instances Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 23 Agent’s movement Motion of agents variable 40 • variable • stable • constant 20 0 index of position 1 51 101 151 201 251 301 351 401 451 stable 20 Observations: 10 0 1 51 101 151 201 251 301 351 401 Solvable 451 constant Variable None Most Stable A few A few Constant Most None 30 20 10 Unsolvable 0 1 51 101 151 201 251 301 351 401 451 iteration Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 24 Outline • • • • General principle Main types: greedy & stochastic When nothing works… Evaluation methods Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 25 Random restart • Principle – When no progress is made, restart from a new randomly selected state – Save best results found so far (anytime algorithm) • Repeat random restart – For a fixed number of iterations – Until best results have not been improved on for a certain number of iterations. E.g., Geometric law Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 26 Outline • • • • General principle Main types: greedy & stochastic When nothing works… Evaluation methods Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 27 Evaluation: empirical • Test on – a given problem instance – an ensemble of problem instances (representative of a population) • Experiment – Run the algorithm thousands of times – Measure some metric as a random variable (e.g., the time needed to find a solution) Foundations of Constraint Processing, Spring 2009 November 2, 2005 April 15, 2009 Local Search for CSPs 28 Comparing techniques • Provide – The probability distribution function (approximated by the number of runs that took a given time to find a solution) – The cumulative distribution function (approximated by the number of runs that found a solution within a given time) Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 29 Comparing techniques • Compare algorithms’ performance using statistical tests (for confidence levels) – t-test: assumes normal distribution of the measured metrics – Nonparametric tests do not. Some match pairs, some do not. • Consult/work with a statistician 1000 100.00% Comparing distributions 800 700 80.00% Method1 Method2 60.00% 600 Frequency Cumulative Distribution curves Cumulative frequency 900 Method1 Method2 500 40.00% 400 300 20.00% 200 100 .00% 0 0 -1 1 3 5 7 9 11 13 2 4 6 8 10 12 CPU time CPU time Foundations of Constraint Processing, Spring 2009 April 15, 2009 Local Search for CSPs 30