integrating csp decomposition techniques and bdds for compiling configuration problems

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

Upload: phuc

Post on 25-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

1www.itu.dk

Integrating CSP Decomposition Techniques and BDDs for

Compiling Configuration Problems

Sathiamoorthy SubbarayanIT University of Copenhagen

Denmark

CP-AI-OR 2005

Page 2: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

2www.itu.dk

Configuration

An arrangement of parts

Valid Configuration- a valid arrangement

Valid according to some specified rules

NP-Hard problem

Page 3: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

3www.itu.dk

Examples

• Bike• Car• PC • Power-Backup Systems• Controllers• Business Software

Page 4: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

4www.itu.dk

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

Page 5: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

5www.itu.dk

Interactive Configurator

• Interactively guides the user• Shows only valid extensions• User always in a consistent state

Page 6: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

6www.itu.dk

Required Functionalities

• Propagate the user selections• Display the valid choices• Explain reasons for unselectable or

implied options

Page 7: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

7www.itu.dk

Binary Decision Diagrams

A compressed representation of solutions

Page 8: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

8www.itu.dk

Previous work

Compile into a Binary Decision Diagram

rulesBDD

generation BDD lookup

offline online

configurator

Com

pila

tion

NP-hard P

BDD

Problem! BDD size could explode

Page 9: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

9www.itu.dk

This work

• Configuration rules have hierarchies• Hierarchies close to tree-shape

Tree Decomposition of CSP?

Space reduction? (upto 96%)

Response time reduction? (upto 200x)

Page 10: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

10www.itu.dk

CSP to BDD compilation

C1

C2

C3 C4

C5

C6C7

bdd

CSP BDD

Page 11: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

11www.itu.dk

Tree Decomposition of CSP

C1

C2

C3 C4

C5

C6C7

C1

C2C3

C4

C5C6

C7

C3

C6

CSP

CSP’

b1

b2

b3 Tree-of-BDDs

Page 12: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

12www.itu.dk

Benefit of decomposition

BDD

b1

b2

b3

bdd

Tree-of-BDDs

|b1|+|b2|+|b3| < |bdd|

Potential Space Reduction

-Online Configurators

-Embedded Configurators

Page 13: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

13www.itu.dk

Required Functionalities

• Propagate the user selections• Display the valid choices• Explain reasons for unselectable or

implied options

Page 14: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

14www.itu.dk

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

Page 15: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

15www.itu.dk

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

Page 16: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

16www.itu.dk

Example

Assign a=0Assign b=1 e=1 is implied

Explain e=0?

1

1

Explanation b=1

Can also handle priorities

and non-Boolean variables

Page 17: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

17www.itu.dk

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 !

Page 18: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

18www.itu.dk

Explanations in Tree-of-BDDs

b1

b2

b3

b1’ b2’

b3’

Abstraction

Join

b’

ExplainExplanation

Page 19: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

19www.itu.dk

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

Page 20: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

20www.itu.dk

Compilation Details

BenchmarkTree(sec)

TreeNodes

Compile (sec) BDD-nodes Peak BDD-nodes

CLab iCoDE CLab iCoDE CLab iCoDE

PC 0.04 16 0.11 0.19 16494 4458 80K 40K

Renault 0.25 73 119 77 455796 17602 2500K 80K

psr-1-32-1 2 114 0.46 4 56923 8917 600K 600K

psr-1-32-1 2 114 2 9 246775 22101 1200K 1200K

Page 21: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

21www.itu.dk

Time Comparisons

• Response (Propagate+Display)

BenchmarkAverage(sec) Worst(sec)

CLab iCoDE CLab iCoDE

PC 0.004 0.0001 0.050 0.006

Renault 0.070 0.0003 0.452 0.020

psr-1-32-1 0.016 0.0010 0.057 0.038

psr-1-32-2 0.037 0.0002 0.618 0.107

Page 22: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

22www.itu.dk

Time Comparisons

• Explanation

BenchmarkAverage(sec) Worst(sec)

CLab iCoDE CLab iCoDE

PC 0.004 0.010 0.010 0.030

Renault 0.160 0.088 0.440 0.921

psr-1-32-1 0.031 1.208 0.067 2.155

psr-1-32-2 0.122 5.38 0.329 10.78

Page 23: Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems

23www.itu.dk

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