Extensions to BT Search Foundations of Constraint Processing CSCE 496/896, Fall2011 www.cse.unl.edu/~choueiry/F11-496-896 Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 Tel: +1(402)472-5444 More on BT search
Outline Variations of backtrack search Backtrack search for optimization More on BT search
Variations on BT search Bounded number of backtracks search Bounded backtrack-depth search Limited discrepancy search (LDS) Heuristic may be blind at shallowest level of search-tree Disobey heuristic a given number of times Credit-based backtrack search Randomized backtrack search (+ restart) More on BT search
Credit-Based Search Start with a given credit (usually n3) Assign ½ credit to current assignment, ½ to the remaining ones Keep going, in a depth-first manner until credit is used up, (chronoligically) backtrack from there ECLiPSe uses it in conjunction with backtrack-bounded search More on BT search
Randomized BT search In systematic backtrack search Ordering of variables/values determines which parts of the solution space are explored Randomization allows us to explore wider portion of search tree Thrashing causes stagnation of BT search Interrupt search, then restart More on BT search
Restart strategies Fixed-cutoff & universal strategy [Luby et al., 93] Randomization & Rapid restarts (RRR) [Gomes et al., 98] Fixed optimal cutoff value Priori knowledge of cost distribution required Randomization & geometric restarts (RGR) [Walsh 99] Randomization & dynamic geometric restarts (RDGR) [Guddeti 04] Bayesian approach [Kautz et al., 02] More on BT search
RGR [Walsh 99] Static restart strategy As the cutoff value increases, RGR degenerates into randomized BT Ensures completeness (utopian in our setting) But… restart is obstructed … and thrashing reappears diminishing the probability of finding a solution More on BT search
RDGR [Guddeti 04] Randomization & Dynamic Geometric Restarts Cutoff value Depends on the progress of search Never decreases, may stagnate Increases at a much slower rate than RGR Feature: restart is ‘less’ obstructed More on BT search
Outline Variations of backtrack search Backtrack search for optimization Courtesy of Markus Fromherz Branch and bound Binary search Iterative deepening More on BT search
Branch & Bound Find a first solution, compute its quality, call it the incumbent Systematically explore alternative solutions While building an alternative solution, ‘estimate’ its quality and compare the estimated quality with that of the incumbent If a partial solution has no chance of becoming better than the incumbent Then prune it Else, keep building it As soon as a better solution is found, make it the incumbent Continue until you run out of time, patience, or solutions More on BT search
B&B: over-constrained-CSPs Max-CSP Goal: minimize the number of broken constraints (while instantiating all variables) Maximize solution length Goal: maximize number of variables instantiated (while satisfying all constraints) We compare the incumbent and the partial solution along current path according to the number of broken constraints or the number of instantiated variables More on BT search
Binary search Given l, u lower and upper bounds of the quality of the solution Check whether there is a solution in [l, u-l/2]=[l,u’] If there is, set the bounds [l,u’]= [l,u-l/2] and apply the mechanism again If there is not, set the bounds to [u’, u] and apply the mechanism again Restart search with progressively narrower lower and upper bounds on the solution More on BT search
Iterative deepening Restart search with an increasing lower limit on the solution quality until a solution of an acceptable quality is found More on BT search