1 / 13

Foundations of Constraint Processing CSCE421/821, Fall 2005:

More on BT Search. Foundations of Constraint Processing CSCE421/821, Fall 2005: www.cse.unl.edu/~choueiry/F05-421-821/ Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 123B choueiry@cse.unl.edu Tel: +1(402)472-5444. Outline. Variations of backtrack search Backtrack search for optimization.

azriel
Download Presentation

Foundations of Constraint Processing CSCE421/821, Fall 2005:

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. More on BT Search Foundations of Constraint Processing CSCE421/821, Fall 2005: www.cse.unl.edu/~choueiry/F05-421-821/ Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 123B choueiry@cse.unl.edu Tel: +1(402)472-5444 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 • 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 • Branch & bound • Find a first solution, compute its quality, call it the incumbent • Search for other solutions, comparing them with the incumbent • As soon 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]=[u,l’] • If there is, set the bounds [u, u+l’/2] and search for a solution • If there is not, set the bounds to [l’, l+l’/2] and search for a solution… • Restart search with progressively narrower lower and upper bounds on the solution More on BT search

  13. Iterative deepening • Restart search with an increasing upper limit on the solution quality until a solution is found More on BT search

More Related