1 / 13

Foundations of Constraint Processing: Variations of Backtrack Search

This text provides an overview of variations of backtrack search algorithms in constraint processing, including bounded number of backtracks search, bounded backtrack-depth search, limited discrepancy search, credit-based backtrack search, randomized backtrack search, and more.

wgarth
Download Presentation

Foundations of Constraint Processing: Variations of Backtrack Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extensions to BT Search Foundations of Constraint Processing CSCE 421/821, Fall2015 www.cse.unl.edu/~choueiry/F15-421-821 Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 More on BT search

  2. Outline • Variations of backtrack search • Backtrack search for optimization More on BT search

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. Outline • Variations of backtrack search • Backtrack search for optimization Courtesy of Markus Fromherz • Branch and bound • Binary search • Iterative deepening More on BT search

  10. 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

  11. 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

  12. 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

  13. 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

More Related