Download presentation

Presentation is loading. Please wait.

Published byDeven Lundon Modified about 1 year ago

1
1 Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems Sathiamoorthy Subbarayan IT University of Copenhagen Denmark CP-AI-OR 2005

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

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

4
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
5 Interactive Configurator Interactively guides the user Shows only valid extensions User always in a consistent state

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

7
7 Binary Decision Diagrams A compressed representation of solutions

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

9
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
10 CSP to BDD compilation C1 C2 C3C4 C5 C6 C7 bdd CSP BDD

11
11 Tree Decomposition of CSP C1 C2 C3C4 C5 C6 C7 C1 C2 C3 C4 C5 C6 C7 C3 C6 CSP CSP’ b1b2b3 Tree-of-BDDs

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

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

14
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
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
16 Example Assign a=0 Assign b=1 e=1 is implied Explain e=0? 1 1 Explanation b=1 Can also handle priorities and non-Boolean variables

17
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
18 Explanations in Tree-of-BDDs b1 b2 b3 b1’b2’ b3’ Abstraction Join b’ Explain Explanation

19
19 Experiments Four Benchmarks –PC –Renault –Two PSR instances 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
20 Compilation Details Benchmark Tree (sec) Tree Nodes Compile (sec)BDD-nodesPeak BDD-nodes CLabiCoDECLabiCoDECLabiCoDE PC K40K Renault K80K psr K psr K

21
21 Time Comparisons Response (Propagate+Display) Benchmark Average(sec)Worst(sec) CLabiCoDECLabiCoDE PC Renault psr psr

22
22 Time Comparisons Explanation Benchmark Average(sec)Worst(sec) CLabiCoDECLabiCoDE PC Renault psr psr

23
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

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google