Interactive Configuration

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Non-Binary Constraint Satisfaction Toby Walsh Cork Constraint Computation Center.
Constraint Programming Peter van Beek University of Waterloo.
Constraint Satisfaction Problems Russell and Norvig: Chapter
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
1 Complexity of domain-independent planning José Luis Ambite.
1 Integrating CSP Decomposition Techniques and BDDs for Compiling Configuration Problems Sathiamoorthy Subbarayan IT University of Copenhagen.
We build generic tools for automated diagnosis & reconfiguration of distributed dynamic systems Model-Based Supervision of Composite Systems Modularity.
IT University of Copenhagen Lecture 7: BDD Construction and Manipulation 1. BDD construction 2. Boolean operations on BDDs 3. BDD-Based configuration.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
Best-First Search: Agendas
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Constraint Satisfaction and the Davis-Putnam-Logeman-Loveland Procedure Henry Kautz.
Constraint Satisfaction Problems
M. HardojoFriday, February 14, 2003 Directional Consistency Dechter, Chapter 4 1.Section 4.4: Width vs. Local Consistency Width-1 problems: DAC Width-2.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Chapter 5 Outline Formal definition of CSP CSP Examples
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
Satisfiability Introduction to Artificial Intelligence COS302 Michael L. Littman Fall 2001.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Boolean Satisfiability and SAT Solvers
Constrainedness Including slides from Toby Walsh.
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
Constraint Satisfaction Problems (CSPs) CPSC 322 – CSP 1 Poole & Mackworth textbook: Sections § Lecturer: Alan Mackworth September 28, 2012.
Constraint Satisfaction Read Chapter 5. Model Finite set of variables: X1,…Xn Variable Xi has values in domain Di. Constraints C1…Cm. A constraint specifies.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
CSC 423 ARTIFICIAL INTELLIGENCE Constraint Satisfaction Problems.
Efficient Synthesis of Feature Models Article Review By: Sigal Berkovitz & Yohai Vidergor.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Boolean Satisfiability Present and Future
Chapter 5 Constraint Satisfaction Problems
Constraints and Search Toby Walsh Cork Constraint Computation Centre (4C) Logic & AR Summer School, 2002.
Review Test1. Robotics & Future Technology Future of Intelligent Systems / Ray Kurzweil futurist Ray Kurzweil / A Long Bet A Long Bet / Robot Soccer.
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Advanced Software Development applied to (Symbolic) Systems Biology Karl Lieberherr.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Space Complexity. Reminder: P, NP classes P is the class of problems that can be solved with algorithms that runs in polynomial time NP is the class of.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.
Modelling and Solving Configuration Problems on Business
Automatic Test Generation
P & NP.
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
Planning as Search State Space Plan Space Algorihtm Progression
Dr. Rachel Ben-Eliyahu – Zohary
Constraint Satisfaction
Constraint Satisfaction
Empirical Comparison of Preprocessing and Lookahead Techniques for Binary Constraint Satisfaction Problems Zheying Jane Yang & Berthe Y. Choueiry Constraint.
Binary Decision Diagrams
ECE 667 Synthesis and Verification of Digital Circuits
Artificial Intelligence
Decision Procedures An Algorithmic Point of View
Constraints and Search
Advanced consistency methods Chapter 8
CSE 6408 Advanced Algorithms.
Graphplan/ SATPlan Chapter
Graphplan/ SATPlan Chapter
Dichotomies in CSP Karl Lieberherr inspired by the paper:
Constraint Satisfaction Problems
Presentation transcript:

Interactive Configuration A SURVEY ON SOLVING INTERACTIVE CONFIGURATION PROBLEMS

What is configuration? (1) When: recognized as topics of research since late 1980s Why: change of industry orientation from mass production to mass customization, meeting the demand for the increased needs for customization lead to product configuration What: design activity of assembling an artifact that is made of a fixed set of well defined component types where components can interact only in predefined ways. (first generic definition, Mittal and Frayman, 1989) Examples: PC configuration, car assembling

What is configuration? (2) Definition 1. A configuration (problem) C is a triple (X,D,F) where a X is a set of variables x1, x2, . . . , xn, D a set of their finite domains Dx1 ,Dx2 , . . . ,Dxn and F = {f1, f2, . . . , fm} a set of propositional formulas over atomic propositions xi = vj , vj  Dxi specifying conditions that the variable assignments have to satisfy. X={x1, x2, x3}; Dx1 = {1,2,3}; Dx2 = {1,2}; Dx3 = {1,2,3,4}; f1: (x1=1) and (x2 = 2) => not(x3=3)

Interactive configuration Think of a user that is interactively tailoring (ordering) a product (a car, PC) for his specific needs. The software supporting the process is called a configurator. Scenario: The user makes a choice for some specific component (fx. x1 = 2) The configurator makes calculations on what are valid choices for the other available (undecided) variables (Dx2, Dx3, …, Dxn) This process repeats until the user completely has specified the desired product (i.e. a complete valid assignment to all variables is reached).

Interactive configurator functionalities Calculate_valid_domains: - Completeness - Inference Restoration Assisted conflict resolution Response time is crucial. Guranateed response time is very desirable property.

CSP perspective (1) Definition 2. Constraint satisfaction problem is defined by a set of variables X = {x1, x2, . . . , xn}, set of constraints C = {C1,C2, . . . ,Cm}, and set of nonempty domains D = {D1,D2, . . . ,Dn} for each variable xi. Each constraint is defined over some subset of original variables {x1, x2, . . . , xn} and specifies the allowed combinations of these variable values. The goal is to find the assignment to all variables that satisfies all constraints in C simultaneously. Widely investigated area with lot of known results. Configuration naturaly fits in that framework. Can we use existing results in our research?

CSP perspective (2) CSP problems most efficientlu solved by combination of problem reduction (k - consistency) and search algorithms (non-chronological backtracking). Interactive configuration could be seen as a type of Consistency Maintaining Algorithm. Problem: All general CSP solving techniques have exponential worst-case complexity. Worst case complexity is polynomial if we have backtrack-free search. It can be achieved through imposing high k-consistency, or through adaptive consistency. All technques are NP-hard. We could do the NP-hard part offline ie. Perform compilation.

CSP perspective (3) Compilation: compute unchanging parts of constraint satisfaction problems into structures corresponding to a condensed representation of solution spaces. Consistency, Decomposition, Interchagebility Minimal synthesis trees, Uniformed acyclic constraint networks, (Finite State Automata, Binary Decision Diagrams)

BDD perspective (1) Definition 3: A ROBDD is rooted, directed acyclic graph with… Reduced Ordered Binary Decision Diagrams offer cannonical representation of boolean functions, and efficient execution of finding satisfying assignment and implementing general binary operator on ROBDDs f1 and f2

BDD perspective (2) Translate finite domain variables into boolean domain variables Transform all propositional formulas f into formulas with boolean domains fB. Form a boolean function: FB = f1B & f2B & .. & fnb and incode FB into ROBDD. Add ”domain constraints” to the ROBDD Calculate_valid_domains: User makes assignment for xi. Calculate ROBDD for: Fxi=Exists(xi) FB. The valid domains consist of all values appearing in AllSat(Fxi). Translate back the boolean valid domains to finite valid domains

BDD perspective (3) Restoration: 1. Memorize intermediate ROBDDs 2. Always perform set of assignments from original ROBDD Assisted conflict resolution: - Move conflicting choice to the beginning of decision que, and apply as many exisiting assignments in the que as possible BDD is just another way of performing compilation

SAT perspective Satisfiability problem asks wether there exist a satisfying assignment to a boolean formula f. DPLL algorithm – a base for state of the art SAT solvers (ZChaff) Use calculated FB in SAT solving instead transforming it into ROBDD There exists no efficient implementation of calculate_valid_domains function based on CNF form. Possible approaches: - transform SAT instance to a form that can be solved in polynomial time (2-SAT for example) - divide to subproblems, precompute variable and value ordering heuristics

Further challenges Modularity: naturally represent the hierarchy that exists in configuration data Dynamicity: the number of variables that will be relevant to the solution is not known in advance.