explanations in constraint programming
play

Explanations in Constraint Programming Barry OSullivan Cork - PowerPoint PPT Presentation

Introduction Generating Minimal Conflicts Representative Explanations Automated Reformulation for Explanation Application: Telecoms Feature Subscription Explanations in Constraint Programming Barry OSullivan Cork Constraint Computation


  1. Introduction Generating Minimal Conflicts Representative Explanations Automated Reformulation for Explanation Application: Telecoms Feature Subscription Explanations in Constraint Programming Barry O’Sullivan Cork Constraint Computation Centre Department of Computer Science University College of Cork, Ireland email: b.osullivan@cs.ucc.ie ACP Summer School 2008 Barry O’Sullivan Explanations in Constraint Programming

  2. Introduction Motivation Generating Minimal Conflicts Classic Setting Representative Explanations Terminology Automated Reformulation for Explanation Example Application: Telecoms Feature Subscription Why do we care about Explanations? Configuration as a CSP Explanations When preferences conflict: A “product” is fully specified by some Conflict show a set of constraints conflicting Several options are preferences available to the user Relaxation show a set of feasible The user expresses his preferences as constraints preferences Barry O’Sullivan Explanations in Constraint Programming

  3. Introduction Motivation Generating Minimal Conflicts Classic Setting Representative Explanations Terminology Automated Reformulation for Explanation Example Application: Telecoms Feature Subscription Why do we care about Explanations? Debugging a CSP Model Explanations When the model/reality conflict: A model represents a reality using some Conflict show a set of constraints conflicts between The programmer the model and “proposes” a model reality Relaxation show a set of feasible constraints Barry O’Sullivan Explanations in Constraint Programming

  4. Introduction Motivation Generating Minimal Conflicts Classic Setting Representative Explanations Terminology Automated Reformulation for Explanation Example Application: Telecoms Feature Subscription Classic Setting Two Categories of Constraints background constraints expressing the connections between the components of the “product”, that cannot be removed user constraints interactively stated by the user when deciding on options (= a query) Consistency A set of constraints is consistent if it admits a solution. The background constraints are assumed to be consistent. The “solubility” of a set of constraints refers to the number of solutions it is consistent with. Barry O’Sullivan Explanations in Constraint Programming

  5. Introduction Motivation Generating Minimal Conflicts Classic Setting Representative Explanations Terminology Automated Reformulation for Explanation Example Application: Telecoms Feature Subscription Terminology Explanations Conflict : an inconsistent subset of U : show one cause of inconsistency. Relaxation : a consistent subset of U : show one possible way of recovering from it Optimality – sort of A relaxation is maximal when no constraint can added while remaining consistent. A conflict is minimal when no constraint can be removed while remaining inconsistent. Barry O’Sullivan Explanations in Constraint Programming

  6. Introduction Motivation Generating Minimal Conflicts Classic Setting Representative Explanations Terminology Automated Reformulation for Explanation Example Application: Telecoms Feature Subscription Example Car configuration Option Cost Roof rack 500 ➠ Convertible cars cannot Convertible 500 have roof racks. CD Player 500 Leather Seats 2600 User constraints c 1 Total cost ≤ 3000 Relaxations: { c 1 c 2 } , { c 1 c 5 } are c 2 Roof rack consistent c 3 Convertible Maximality: { c 1 c 2 c 4 } is still c 4 CD Player consistent, but no more constraint c 5 Leather Seats can be added to { c 1 c 5 } . Barry O’Sullivan Explanations in Constraint Programming

  7. Introduction Explanation by Proof Generating Minimal Conflicts From Proof-based to Consistency-based Representative Explanations QuickXplain Algorithm Automated Reformulation for Explanation Applications of QuickXplain Application: Telecoms Feature Subscription Comparison Explanation by Proof Example Problem Proof by Propagation y = 5 x 1 + 4 x 2 + 26 x 3 Order the constraints lexicographically: x 1 = 1 A ∧ B = ⇒ y ≥ 5 x 2 = 1 A ∧ C ∧ y ≥ 5 = ⇒ y ≥ 9 x 3 = 1 A ∧ D ∧ y ≥ 9 = ⇒ y ≥ 35 y ≤ 30 A ∧ E ∧ y ≥ 35 = ⇒ ⊥ Explanation: { A , B , C , D , E } , which is not minimal. Barry O’Sullivan Explanations in Constraint Programming

  8. Introduction Explanation by Proof Generating Minimal Conflicts From Proof-based to Consistency-based Representative Explanations QuickXplain Algorithm Automated Reformulation for Explanation Applications of QuickXplain Application: Telecoms Feature Subscription Comparison From Proofs to Checks Proofs Checks Find an inconsistency Find a minimal inconsistent proof with minimal subset of the constraints explanation Decomposable: a Non-Decomposable: a non-minimal explanation proof with non-minimal contains a minimal explanation need not explanation contain a proof with minimal explanation Barry O’Sullivan Explanations in Constraint Programming

  9. Introduction Explanation by Proof Generating Minimal Conflicts From Proof-based to Consistency-based Representative Explanations QuickXplain Algorithm Automated Reformulation for Explanation Applications of QuickXplain Application: Telecoms Feature Subscription Comparison The QuickXplain Algorithm Explanation subproblem : background B and constraints C Task : find minimal subset X of C s.t. B and X fail Method : initial problems is split into subproblems constraints may be moved from C to B constraints may be omitted from C Barry O’Sullivan Explanations in Constraint Programming

  10. Introduction Explanation by Proof Generating Minimal Conflicts From Proof-based to Consistency-based Representative Explanations QuickXplain Algorithm Automated Reformulation for Explanation Applications of QuickXplain Application: Telecoms Feature Subscription Comparison QuickXplain’s Principles Skip rule : if B is inconsistent then X = {} Culprit rule : if B is consistent and C = { c } then X = { c } Decomposition rule : if B is consistent and C = C 1 ∪ C 2 find explanation X 2 of subproblem B ∪ C 1 , C 2 and find explanation X 1 of subproblem B ∪ X 2 , C 1 result X is the union of X 1 and X 2 Barry O’Sullivan Explanations in Constraint Programming

  11. Introduction Explanation by Proof Generating Minimal Conflicts From Proof-based to Consistency-based Representative Explanations QuickXplain Algorithm Automated Reformulation for Explanation Applications of QuickXplain Application: Telecoms Feature Subscription Comparison How to use QuickXplain Background: effort is reduced by putting as many constraints as possible in the initial background Preference order : order of constraint uniquely characterizes the conflict found Consistency checker : time can be traded against minimality by an incomplete consistency checker, giving “anytime” behaviour Barry O’Sullivan Explanations in Constraint Programming

  12. Introduction Explanation by Proof Generating Minimal Conflicts From Proof-based to Consistency-based Representative Explanations QuickXplain Algorithm Automated Reformulation for Explanation Applications of QuickXplain Application: Telecoms Feature Subscription Comparison Applications of QuickXplain Configuration: B2B, B2C find conflicts between user requests. Constraint model debugging isolate failing parts of the constraint model. Rule verification find tests that make a rule never applicable. Benders decomposition. Diagnosis of ontologies. Barry O’Sullivan Explanations in Constraint Programming

  13. Introduction Explanation by Proof Generating Minimal Conflicts From Proof-based to Consistency-based Representative Explanations QuickXplain Algorithm Automated Reformulation for Explanation Applications of QuickXplain Application: Telecoms Feature Subscription Comparison Proofs versus Checks Truth Maintenance Consistency-based proof-based (syntactic) consistency check-based (semantic) computed online computed off-line tight interaction with problem solver uses problem solver as black-box explanation needs not be minimal minimal (preferred) explanation high space complexity high time complexity Barry O’Sullivan Explanations in Constraint Programming

  14. Introduction Single conflicts may not be enough Generating Minimal Conflicts Example Representative Explanations Representative Explanations Automated Reformulation for Explanation Finding All Relaxations Application: Telecoms Feature Subscription Empirical Analysis Introduction Presenting a representative set of explanations Joint work with Alexandre Papadopulous (4C), Boi Faltings and Pearl Pu (EPFL) Published at AAAI 2007 Forthcoming related paper at CP Funded by Science Foundation Ireland Barry O’Sullivan Explanations in Constraint Programming

  15. Introduction Single conflicts may not be enough Generating Minimal Conflicts Example Representative Explanations Representative Explanations Automated Reformulation for Explanation Finding All Relaxations Application: Telecoms Feature Subscription Empirical Analysis Observations Conflict : doesn’t guide the user to solving the problem 1 Single relaxation : may not satisfy the user desires 2 All relaxations : can theoretically be too large 3 ➠ An Alternative Approach show a set of relaxations that must be representative of all possible relaxations as a trade-off between compactness and comprehensiveness Barry O’Sullivan Explanations in Constraint Programming

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend