1 / 21

Assumption-based Pruning in Conditional CSP

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.

wan
Download Presentation

Assumption-based Pruning in Conditional CSP

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. Assumption-based Pruning in Conditional CSP Felix Geller and Michael Veksler

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

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

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

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

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

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

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

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

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

  13. Experimental results – 1 activity cluster

  14. Experimental results – 4 activity clusters

  15. Experimental results – 36 independent activation conditions

  16. Experimental results – effect of clustering (sc=0.25)

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

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

  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. Thank you!

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

More Related