1 / 23

Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems. Sathiamoorthy Subbarayan IT University of Copenhagen Denmark CP-AI-OR 2005. Configuration. An arrangement of parts Valid Configuration- a valid arrangement Valid according to some specified rules

phuc
Download Presentation

Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

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. Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems Sathiamoorthy Subbarayan IT University of Copenhagen Denmark CP-AI-OR 2005

  2. Configuration An arrangement of parts Valid Configuration- a valid arrangement Valid according to some specified rules NP-Hard problem

  3. Examples • Bike • Car • PC • Power-Backup Systems • Controllers • Business Software

  4. Problem Representation Constraint Satisfaction Problem (CSP) • A set of variables and their domains • A set of rules/constraints on variable values Configuration - A legal assignment to all variables

  5. Interactive Configurator • Interactively guides the user • Shows only valid extensions • User always in a consistent state

  6. Required Functionalities • Propagate the user selections • Display the valid choices • Explain reasons for unselectable or implied options

  7. Binary Decision Diagrams A compressed representation of solutions

  8. Previous work Compile into a Binary Decision Diagram configurator BDD generation lookup BDD BDD Compilation rules offline online NP-hard P Problem! BDD size could explode

  9. This work • Configuration rules have hierarchies • Hierarchies close to tree-shape Tree Decomposition of CSP? Space reduction? (upto 96%) Response time reduction? (upto 200x)

  10. CSP to BDD compilation C1 C2 C3 C4 C5 C6 C7 bdd BDD CSP

  11. Tree Decomposition of CSP C1 C1 C2 C3 C4 C6 C7 C5 C2 C3 C5 C6 C7 C3 C6 C4 b3 b1 b2 CSP’ CSP Tree-of-BDDs

  12. Benefit of decomposition b1 b2 b3 bdd BDD Tree-of-BDDs Potential Space Reduction |b1|+|b2|+|b3|<|bdd| -Online Configurators -Embedded Configurators

  13. Required Functionalities • Propagate the user selections • Display the valid choices • Explain reasons for unselectable or implied options

  14. Explanations • A partial assignment by the user might cause some options unselectable /implied • Explanation for such an option is the subset of the partial assignment that makes the option unselectable/implied • When user assignments are given priorities, we might need minimum explanations

  15. Explanations in single BDD case Variant of Shortest path problem in DAG • Assigned variable (v=val) • 0 for ’val’ edges • 1 for other edges • Other variables • 0 for their edges • Shortest path from root to 1-node corresponds to an explanation

  16. Example Assign a=0 Assign b=1 e=1 is implied 1 1 Explain e=0? Explanation b=1 Can also handle priorities and non-Boolean variables

  17. Don’t Care variables for Explain • In the example, necessary variables are: a,b, and e • Variables c and d are hence don’t cares for Explain Abstraction !

  18. Explanations in Tree-of-BDDs b1 b2 b3 b’ Abstraction b1’ b2’ b3’ Join Explanation Explain

  19. Experiments • Four Benchmarks • PC • Renault • Two PSR instances • 10000 random interactions • Comparison of: • Space usage • Average and Worst time for Responses • Average and Worst time for Explanations • Tools • CLab: an existing single BDD-based tool • iCoDE: implementation of the tree-of-BDDs

  20. Compilation Details

  21. Time Comparisons • Response (Propagate+Display)

  22. Time Comparisons • Explanation

  23. Conclusion • Decomposition results in • Space reduction • Shorter responses • Tree-of-BDDs can scale higher than the single BDD approach • Future work include: • BDD variable orderings • Multi-valued Decision Diagrams • different decomposition techniques

More Related