Computer-aided modelling of constraint problems C. Bessiere, LIRMM-CNRS, Montpellier, France In collaboration with: E. Freuder, B. O’Sullivan, U. College.

Slides:



Advertisements
Similar presentations
Pat Langley Computational Learning Laboratory Center for the Study of Language and Information Stanford University, Stanford, California
Advertisements

Constraint Satisfaction Problems Russell and Norvig: Parts of Chapter 5 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
Interactive Configuration
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Constraint Optimization Presentation by Nathan Stender Chapter 13 of Constraint Processing by Rina Dechter 3/25/20131Constraint Optimization.
1 Backdoor Sets in SAT Instances Ryan Williams Carnegie Mellon University Joint work in IJCAI03 with: Carla Gomes and Bart Selman Cornell University.
Specification and Enforcement of Authorization Constraints in Workflow Management Systems.
Programming with Constraints Jia-Huai You. Subject of Study Constraint Programming (CP) studies the computational models, languages, and systems for solving.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
08/1 Foundations of AI 8. Satisfiability and Model Construction Davis-Putnam, Phase Transitions, GSAT Wolfram Burgard and Bernhard Nebel.
 i may require adding new constraints, except for… o i =1  domain filtering o i =   constraint filtering Robert Woodward & Berthe Y. Choueiry Constraint.
1 Planning. R. Dearden 2007/8 Exam Format  4 questions You must do all questions There is choice within some of the questions  Learning Outcomes: 1.Explain.
The Theory of NP-Completeness
1 Backdoors To Typical Case Complexity Ryan Williams Carnegie Mellon University Joint work with: Carla Gomes and Bart Selman Cornell University.
1 Computational Learning Theory and Kernel Methods Tianyi Jiang March 8, 2004.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
26 April 2013Lecture 5: Constraint Propagation and Consistency Enforcement1 Constraint Propagation and Consistency Enforcement Jorge Cruz DI/FCT/UNL April.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Classical Planning Chapter 10.
Using CP When You Don't Know CP Christian Bessiere LIRMM (CNRS/U. Montpellier)
Machine Learning Version Spaces Learning. 2  Neural Net approaches  Symbolic approaches:  version spaces  decision trees  knowledge discovery  data.
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
Thesis Proposal PrActive Learning: Practical Active Learning, Generalizing Active Learning for Real-World Deployments.
ECE 8443 – Pattern Recognition Objectives: Error Bounds Complexity Theory PAC Learning PAC Bound Margin Classifiers Resources: D.M.: Simplified PAC-Bayes.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Intro to Computation and AI Dr. Jill Fain Lehman School of Computer Science Lecture 6: December 4, 1997.
Overview Concept Learning Representation Inductive Learning Hypothesis
KU NLP Machine Learning1 Ch 9. Machine Learning: Symbol- based  9.0 Introduction  9.1 A Framework for Symbol-Based Learning  9.2 Version Space Search.
Solving Problems by searching Well defined problems A probem is well defined if it is easy to automatically asses the validity (utility) of any proposed.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Parallel and Domain Decomposed Marching Method for Poisson Equation 大氣五 b 簡睦樺.
Schreiber, Yevgeny. Value-Ordering Heuristics: Search Performance vs. Solution Diversity. In: D. Cohen (Ed.) CP 2010, LNCS 6308, pp Springer-
Constraints and Search Toby Walsh Cork Constraint Computation Centre (4C) Logic & AR Summer School, 2002.
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
ANTs PI meeting, Dec. 17, 2001Washington University / DCMP1 Flexible Methods for Multi-agent Distributed Resource Allocation by Exploiting Phase Transitions.
Machine Learning Concept Learning General-to Specific Ordering
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Finding Models for Blocked 3-SAT Problems in Linear Time by Systematical Refinement of a Sub- Model Gábor Kusper Eszterházy Károly.
Data Mining and Decision Support
Eliminating non- binary constraints Toby Walsh Cork Constraint Computation Center.
Making Path-Consistency Stronger for SAT Pavel Surynek Faculty of Mathematics and Physics Charles University in Prague Czech Republic.
CS 8751 ML & KDDComputational Learning Theory1 Notions of interest: efficiency, accuracy, complexity Probably, Approximately Correct (PAC) Learning Agnostic.
Machine Learning Chapter 7. Computational Learning Theory Tom M. Mitchell.
SAT Encodings for Sudoku Bug Catching in 2006 Fall Sep. 26, 2006 Gi-Hwon Kwon.
Optimization of Association Rules Extraction Through Exploitation of Context Dependent Constraints Arianna Gallo, Roberto Esposito, Rosa Meo, Marco Botta.
Heuristic Search Planners. 2 USC INFORMATION SCIENCES INSTITUTE Planning as heuristic search Use standard search techniques, e.g. A*, best-first, hill-climbing.
Computing & Information Sciences Kansas State University Friday, 13 Oct 2006CIS 490 / 730: Artificial Intelligence Lecture 21 of 42 Friday, 13 October.
Inference and search for the propositional satisfiability problem
Computational Learning Theory
Computability and Complexity
Consistency Methods for Temporal Reasoning
Title: Suggestion Strategies for Constraint- Based Matchmaker Agents
Class #17 – Thursday, October 27
Complexity 6-1 The Class P Complexity Andrei Bulatov.
SAT-Based Area Recovery in Technology Mapping
Graphplan/ SATPlan Chapter
Version Spaces Learning
MURI Kickoff Meeting Randolph L. Moses November, 2008
Class #19 – Monday, November 3
Graphplan/ SATPlan Chapter
Constraint Satisfaction
Graphplan/ SATPlan Chapter
SAT-based Methods: Logic Synthesis and Technology Mapping
Solving Sudoku with Consistency: A Visual and Interactive Approach
Instructor: Aaron Roth
Instructor: Aaron Roth
Implementation of Learning Systems
Presentation transcript:

Computer-aided modelling of constraint problems C. Bessiere, LIRMM-CNRS, Montpellier, France In collaboration with: E. Freuder, B. O’Sullivan, U. College Cork, Ireland R. Coletta, F. Koriche, G. Raymond, J. Quinqueton, LIRMM Supported by: CNRS (France), Science Foundation Ireland, Microsoft Research (UK)

Remi [thanks for the graphs] Joel Barry [thanks for the slides] Gene In collaboration with... Fred Gilles

Over the last 30 years, considerable progress has been made in Constraint Programming CP has applications in many areas such as resource allocation, scheduling, design, etc. However, the use of CP remains limited to specialists (there are not enough!) This has retarded the uptake of CP in many real-world contexts Motivation

Constraint Programming Problem Variables Domains Constraints Solution modelling solving ?? search, propagation, heuristics, etc.

Modelling/Solving Find the ’good’ variables/domains Find the ’good’ constraints Find the ’good’ solver  Requires a great expertise in CP to know what is the ’good’ !

Stand alone modelling (  we don’t care about efficiency issues) Given a problem P: Decide vars/values: X, D Decide constraints: C …so that any s  sol(X,D,C) is a solution to the initial problem  experience shows that knowing the definition of ’constraint network’ is not sufficient!

Our overall goal By utilizing techniques from other fields (machine learning, databases, etc.), novices can be assisted in using CP without the help of an expert By utilizing techniques from other fields (machine learning, databases, etc.), novices can be assisted in using CP without the help of an expert

Computer-aided modelling historical data machine learning constraint acquisition X 1,D 1 X 2,D 2 X 3,D 3 pre-models X,D,C User YES! DB + CP solnogood revise refute classification abstraction

Constraint acquisition? Users can provide and recognize examples of satisfactory or undesirable states Users cannot articulate the precise constraints themselves This is a scenario which arises in many application domains

Basics of the approach As starting point, we assume that the user provides: L the language in which to encode the problem X the set of variables of her problem D the set of domains of the variables In addition it is also assumed that the user can provide/recognize the classification of an example, thus: E + a subset of the solutions to the target CSP E - a set of non-solutions to it

VS N1 N2 N3 Nj Nk T Ni nil Version spaces We use Mitchell’s version space learning as a starting point S G Version spaces exhibit some nice properties (wrt interaction): they are defined by two frontiers (upper and lower bounds)  poly space for expo #networks they can be computed incrementally w.r.t. the training data the result does not depend of the order of the data (commutativity) more specific more general

An example Examples constraint language Target CSP: X: D: C:

Processing e 1 +

Processing e 1 +..e 2 -

Processing e 1 +..e 2 -..e 3 -

Redundancy bites! To prune the version space between x 1 and x 3 we need a negative example where x 1 < x 3, but satisfying all other constraints No such example exists! X1>=X3 is redundant

Redundancy rules Redundancy rules can be built independently of the problem we acquire and can, thus, be included in a constraint library Redundancy rules can be built independently of the problem we acquire and can, thus, be included in a constraint library

Using redundancy rules Remember this situation? Consider this redundancy rule If the left-hand side of the rule is true, we trigger it to ensure that it is satisfied If the left-hand side of the rule is true, we trigger it to ensure that it is satisfied The version space between x 1 and x 3 can now be reduced to {>, >= }.

However, there is a problem! Redundancy rules are well-suited to discovering constraints that are redundant because of conjunctions of other constraints However, a constraint can be redundant because of a conjunction of disjunctions of constraints We refer to this as higher-order redundancy Since our redundancy rules are in the form of Horn clauses, they cannot tackle such redundancies

Higher-order redundancy Target: Examples

Higher-order redundancy Target: Examples or

Higher-order redundancy None of the version spaces have converged None of the version spaces have converged Target: Examples or

Encoding examples as clauses We can encode each negative example e as a clause cl e : The literal l ij U ij is true if c ij must be at least as specific as the given bound U ij

On the example Target: Examples (l 12 v l 13 ) (l 13 v l 23 ) or

Redundancy rules as clauses R =

Redundancy = backbone detection R = After e 3 - : Conflict is in the backbone ?

Empirical evaluation Redundancy rules affect the basic algorithm quite dramatically (while being polynomial) Exploiting the backbone is the dominant approach, but there is a runtime penalty (  coNP-complete problem to solve) here is a tradeoff between speed-of-response and pruning power

What do you take home? A step-by-step decomposition of the process of automatically acquiring a constraint network from historical data and basic interaction with a novice A technique for acquiring constraints from examples of solutions and non-solutions The redundancy problem and a way to tackle it

Future work There is lots to do here! How to interact (efficiently and smoothly) with the user? What about non-binary constraints? PAC learnability analysis? Noise and errors are an issue