Download presentation
Presentation is loading. Please wait.
Published byHilary Hancock Modified over 9 years ago
1
IBM Labs in Haifa © 2005 IBM Corporation Assumption-based Pruning in Conditional CSP Felix Geller and Michael Veksler
2
© 2005 IBM Corporation IBM Labs in Haifa 2 Outline Conditional CSP (Mittal and Falkenhainer) Conditional CSP solution methods Activity CSP formulation MAC-based algorithm for ACSP Activity disjunction and implication Questions
3
© 2005 IBM Corporation IBM Labs in Haifa 3 Describes CSP where not all variables are required to participate in a solution (V, V I, D,C C,C A ) Conditional CSP (Mittal and Falkenhainer) The assigned variables are active variables A compatibility constraint is relevant if all its variables are active Activity of a variable is determined by activity constraint Given an assignment of values to An activity constraint: is relevant if C is relevant An activity constraint is satisfied if v is active or C is not satisfied In a solution all relevant constraints have to be satisfied Minimality requirement
4
© 2005 IBM Corporation IBM Labs in Haifa 4 Existing approaches to solving Conditional CSPs Reformulation Working directly on Conditional CSP representation Main idea: maintain list of active variables and check/propagate constraints after their variables become active [Mittal,Falkenhainer]: Backtrack search with conflicts recording [Gelle,Faltings]: At first determine variable activity status; for fixed variable activity status CondCSP turns into CSP. [Sabin,Freuder,Wallace], [Gelle,Sabin]: invoke consistency techniques (CondFC, CondMAC) directly on Conditional CSP representation Propagate constraints once their variables are active CondMAC proved to be superior over CondBT and CondFC The limitation: constraint propagation has to wait until variables become active
5
© 2005 IBM Corporation IBM Labs in Haifa 5 Activity CSP formulation (V, V I, V A,D,C,A) Variable is active if either or is true Constraint is relevant if all its variables are active An assignment is a solution if all relevant constraints are satisfied A - activation conditions: Each variable is dominated by some Explicit activity variables Given an assignment of values to
6
© 2005 IBM Corporation IBM Labs in Haifa 6 Early conflict detection: e y = true D(x)= D(y) = {0,…,4} e z = true D(x)= D(z) = {5,…,9} D(y) ∩ D(z) = Ø e y e z = false Information flow from conditional variables to unconditional variables: e y = true D(x)= D(y) = {0,…,4} e z = true D(x)= D(z) = {5,…,9} e y e z D(X)= {0…9} An ACSP problem {true,false} eyey ezez {0,…,4} y {5,…,9} z {0,…,100} x = = V
7
© 2005 IBM Corporation IBM Labs in Haifa 7 Enabling early constraint propagation Allow constraint propagation to modify variable domains before the constraint variables become active eyey ezez {0,…,4} y {5,…,9} z z[e y,e z ] {5,…,9} Activity set ezez eyey y[e y,e z ] {0,…,4} Shadows
8
© 2005 IBM Corporation IBM Labs in Haifa 8 Assumption-based decomposition {0,…4} {5,…,9} {true,false} eyey ezez y z {0,…,100} x = = x eyey ezez y x[e y ] {0,…,4} {0,…,100} = z x[e z ] {5,…,9} {0,…,100} = Collect assumptions (activity sets) Create shadows Group shadows and constraints into CSP sub-problems
9
© 2005 IBM Corporation IBM Labs in Haifa 9 Shadow synchronization y x[e y ] z x[e z ] {0,…,4} {5,…,9} {0,…,100} x eyey ezez {true,false} {0,…,4} {5,…,9} e y e z = false {3}
10
© 2005 IBM Corporation IBM Labs in Haifa 10 Shadow synchronization Two shadows of the same variable: x[AS 1 ] and x[AS 2 ] If under the current partial solution, AS 2 implies AS 1 (AS 1 is weaker than AS 2 ) D(x[AS 2 ]) D(x[AS 2 ]) ∩ D(x[AS 1 ] If an empty domain results, some activity var in AS 2 is false If AS 1 and AS 2 are incomparable, but D(x[AS 1 ]) ∩ D(x[AS 2 ]) = Ø Conclude that some var in AS 1 U AS 2 is false
11
© 2005 IBM Corporation IBM Labs in Haifa 11 Preprocessing While there are unassigned variables Select a variable and instantiate it Propagate constraints While constraint queue is not empty Select and propagate a constraint Synchronize shadows Update constraint queue Backtrack if failed AMAC - Putting all things together Compute constraints activity sets Create shadows Substitute constraints parameters with suitable shadows Select an active variable Activity inference Handle synchronization and constraint propagation failures Combine activity deductions to determine value of activity variables
12
© 2005 IBM Corporation IBM Labs in Haifa 12 Experimental results - setting Random Conditional CSP generator similar to the generator in [Sabin,Freuder,Wallace] CSP over N variables with binary (compatibility) constraints Problem parameters: Compatibility density Compatibility satisfiability Activity density Activation satisfiability (for ) N=48, |V I |=12, s a =0.75, d c =0.15
13
© 2005 IBM Corporation IBM Labs in Haifa 13 Experimental results – 1 activity cluster
14
© 2005 IBM Corporation IBM Labs in Haifa 14 Experimental results – 4 activity clusters
15
© 2005 IBM Corporation IBM Labs in Haifa 15 Experimental results – 36 independent activation conditions
16
© 2005 IBM Corporation IBM Labs in Haifa 16 Experimental results – effect of clustering (s c =0.25)
17
© 2005 IBM Corporation IBM Labs in Haifa 17 Activity disjunction {0,…,100} y x[e y ] {0,…,4} x z x[e z ] {5,…,9} eyey ezez V {true,false} {12} {0,…,9}
18
© 2005 IBM Corporation IBM Labs in Haifa 18 Activity implication Implication constraints between activity variables induce equivalence between activity sets e y e z {e y } ~ {e y, e z } Equivalence allows to reduce the number of shadow variables
19
© 2005 IBM Corporation IBM Labs in Haifa 19 Summary Introduced Activity CSP – a variant of Conditional CSP formulation ACSP directly supports full constraint propagation Activity MAC checks several activity assumptions in parallel Infers that an assumption is false if the constraint propagation fails ACSP naturally captures clustering and activity disjunction Interpret activity disjunction and implication in terms of activity sets and shadows operations Further improve propagation and information flow AMAC substantially reduces number of backtracks and solution time on random benchmarks On easy problems adds overhead of shadow/assumption manipulation
20
IBM Labs in Haifa © 2005 IBM Corporation
21
IBM Labs in Haifa 21 Assumption-based decomposition ConstraintActivity set C 1 (x,e y ) C 2 (x,y) C 3 (y,e z ) C 4 (x,z) C 5 (y,z) eyey ezez y z x eyey eyey ezez ezez eyey x eyey ezez e z [e y ] x[e y ] y z x[e z ] y[e y,e z ] z[e y,e z ]
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.