Advanced BT Search

Download Report

Transcript Advanced BT Search

Extensions to BT Search
Foundations of Constraint Processing
CSCE421/821, Spring 2011
www.cse.unl.edu/~cse421
Berthe Y. Choueiry (Shu-we-ri)
Avery Hall, Room 360
[email protected]
Tel: +1(402)472-5444
Foundations of Constraint Processing
More on BT search
1
Outline
• Variations of backtrack search
• Backtrack search for optimization
Foundations of Constraint Processing
More on BT search
2
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)
Foundations of Constraint Processing
More on BT search
3
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
Foundations of Constraint Processing
More on BT search
4
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
Foundations of Constraint Processing
More on BT search
5
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]
Foundations of Constraint Processing
More on BT search
6
RGR
[Walsh 99]
• Static restart strategy
Ci  1  r . Ci
C0  n
• 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
Foundations of Constraint Processing
More on BT search
7
RDGR
[Guddeti 04]
• Randomization & Dynamic Geometric Restarts
r.Ci when the solution
Ci  1  
Ci otherwise
th
has improved at the i restart
• 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
Foundations of Constraint Processing
More on BT search
8
Outline
• Variations of backtrack search
• Backtrack search for optimization
Courtesy of Markus Fromherz
– Branch and bound
– Binary search
– Iterative deepening
Foundations of Constraint Processing
More on BT search
9
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
Foundations of Constraint Processing
More on BT search
10
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
Foundations of Constraint Processing
More on BT search
11
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
Foundations of Constraint Processing
More on BT search
12
Iterative deepening
• Restart search with an increasing lower
limit on the solution quality until a solution
of an acceptable quality is found
Foundations of Constraint Processing
More on BT search
13