210 likes | 337 Vues
This paper by Felix Geller and Michael Veksler discusses Conditional Constraint Satisfaction Problems (CSPs), focusing on novel assumption-based pruning techniques. It outlines the framework of Conditional CSPs, elaborating on various solution methods, including MAC-based algorithms for ACSPs. The authors explore the significance of activity constraints and their implications for relevant variable status. They present experimental results demonstrating the effectiveness of their approaches and how early conflict detection and constraint propagation can enhance problem-solving efficiency in Conditional CSPs.
E N D
Assumption-based Pruning in Conditional CSP Felix Geller and Michael Veksler
Outline • Conditional CSP (Mittal and Falkenhainer) • Conditional CSP solution methods • Activity CSP formulation • MAC-based algorithm for ACSP • Activity disjunction and implication • Questions
Activity of a variable is determined by activity constraint Given an assignment of values to • An activity constraint: is relevant if C is relevant Conditional CSP (Mittal and Falkenhainer) • Describes CSP where not all variables are required to participate in a solution • (V, VI, D,CC,CA) • The assigned variables are active variables • A compatibility constraint is relevant if all its variables are active • 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
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
Explicit activity variables • A - activation conditions: Each variable is dominated by some Given an assignment of values to • Variable is active if either or is true Activity CSP formulation • (V, VI, VA,D,C,A) • Constraint is relevant if all its variables are active • An assignment is a solution if all relevant constraints are satisfied
V ey ez {true,false} {true,false} = = y z {0,…,4} {5,…,9} x {0,…,100} An ACSP problem • Early conflict detection: ey = true D(x)= D(y) = {0,…,4} ez = true D(x)= D(z) = {5,…,9} D(y) ∩ D(z) = Ø ey ez = false • Information flow from conditional variables to unconditional variables: ey = true D(x)= D(y) = {0,…,4} ez = true D(x)= D(z) = {5,…,9} ey ez D(X)= {0…9}
Activity set ey ey ez ez Shadows y[ey,ez] z[ey,ez] {5,…,9} {0,…,4} Enabling early constraint propagation • Allow constraint propagation to modify variable domains before the constraint variables become active y z {0,…,4} {5,…,9}
ey ez • Collect assumptions (activity sets) • Create shadows • Group shadows and constraints into CSP sub-problems x {true,false} {true,false} {0,…,100} = = y {0,…4} z {5,…,9} {0,…,100} {0,…,100} x ey ez x[ez] x[ey] {0,…,100} = = z {5,…,9} y {0,…,4} Assumption-based decomposition
ez ey x Shadow synchronization {true,false} {true,false} ey ez = false {0,…,100} {3} {0,…,100} {0,…,100} x[ey] x[ez] {0,…,4} {5,…,9} y {0,…,4} {5,…,9} z
Shadow synchronization • Two shadows of the same variable: x[AS1] and x[AS2] • If under the current partial solution, AS2implies AS1(AS1 is weaker than AS2 ) • D(x[AS2]) D(x[AS2]) ∩ D(x[AS1] • If an empty domain results, some activity var in AS2 is false • If AS1 and AS2 are incomparable, but D(x[AS1]) ∩ D(x[AS2]) = Ø • Conclude that some var in AS1 U AS2 is false
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 AMAC - Putting all things together • 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
Activity density Compatibility satisfiability Compatibility density Activation satisfiability (for ) 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: • N=48, |VI|=12, sa=0.75, dc=0.15
ey ez x {0,…,4} {5,…,9} x[ez] {0,…,4} x[ey] {5,…,9} y z Activity disjunction V {true,false} {true,false} {0,…,100} {0,…,9} {12}
Activity implication • Implication constraints between activity variables induce equivalence between activity sets • ey ez {ey} ~ {ey, ez} • Equivalence allows to reduce the number of shadow variables
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
ey ez z x y ey ez ey ey ey ez ez ez[ey] y y[ey,ez] z x[ez] z[ey,ez] x[ey] Assumption-based decomposition x