Constraint Programming: What is behind?

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
Advertisements

Constraint Satisfaction Problems Russell and Norvig: Chapter
Constraint Satisfaction Problems
Constraint Satisfaction Problems Russell and Norvig: Parts of Chapter 5 Slides adapted from: robotics.stanford.edu/~latombe/cs121/2004/home.htm Prof: Dekang.
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
This lecture topic (two lectures) Chapter 6.1 – 6.4, except 6.3.3
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
ICS-271:Notes 5: 1 Lecture 5: Constraint Satisfaction Problems ICS 271 Fall 2008.
Artificial Intelligence Constraint satisfaction problems Fall 2008 professor: Luigi Ceccaroni.
Constraint Satisfaction problems (CSP)
On the Boundary of Planning and Scheduling: A Study Roman Barták Charles University, Prague
Review: Constraint Satisfaction Problems How is a CSP defined? How do we solve CSPs?
4 Feb 2004CS Constraint Satisfaction1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3.
Constraint Satisfaction Problems
Constraint Satisfaction Problems Russell and Norvig: Chapter 3, Section 3.7 Chapter 4, Pages Slides adapted from: robotics.stanford.edu/~latombe/cs121/2003/home.htm.
Chapter 5 Outline Formal definition of CSP CSP Examples
Constraint Satisfaction Problems
Constraint Programming: What is behind? Roman Barták Charles University, Prague
Constraint Programming: In Pursuit of the Holy Grail Roman Barták Charles University, Prague
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
Artificial Intelligence CS482, CS682, MW 1 – 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis,
CONSTRAINT PROGRAMMING Computer Science Seminar April 9 th, 2004 Kerem Kacel.
Constraint Satisfaction Problems Chapter 6. Review Agent, Environment, State Agent as search problem Uninformed search strategies Informed (heuristic.
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.
Chapter 5 Section 1 – 3 1.  Constraint Satisfaction Problems (CSP)  Backtracking search for CSPs  Local search for CSPs 2.
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Searching by Constraint CMSC Artificial Intelligence January 24, 2008.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Chapter 5: Constraint Satisfaction ICS 171 Fall 2006.
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.
Constraint Satisfaction Problems (Chapter 6)
An Introduction to Artificial Intelligence Lecture 5: Constraint Satisfaction Problems Ramin Halavati In which we see how treating.
1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3 Grand Challenge:
CHAPTER 5 SECTION 1 – 3 4 Feb 2004 CS Constraint Satisfaction 1 Constraint Satisfaction Problems.
1. 2 Outline of Ch 4 Best-first search Greedy best-first search A * search Heuristics Functions Local search algorithms Hill-climbing search Simulated.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Constraint Satisfaction Problems Russell and Norvig: Chapter 3, Section 3.7 Chapter 4, Pages CS121 – Winter 2003.
Constraint Propagation Artificial Intelligence CMSC January 22, 2002.
Roman Barták (Charles University in Prague, Czech Republic) ACAT 2010.
PSU CS 370 – Introduction to Artificial Intelligence 1 Constraint Satisfaction Problems.
1 Constraint Satisfaction Problems (CSP). Announcements Second Test Wednesday, April 27.
CSCI 5240 Combinatorial Search and Optimization with Constraints
Constraint Satisfaction Problems (Chapter 6)
CSCI 5240 Combinatorial Search and Optimization with Constraints
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
CSCI 5240 Combinatorial Search and Optimization with Constraints
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
ECE 448, Lecture 7: Constraint Satisfaction Problems
Constraint Satisfaction Problems (CSPs)
Constraint Satisfaction Problems Lecture # 14, 15 & 16
Constraint Satisfaction
Empirical Comparison of Preprocessing and Lookahead Techniques for Binary Constraint Satisfaction Problems Zheying Jane Yang & Berthe Y. Choueiry Constraint.
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Constraint Satisfaction Problems
Constraint Propagation
CSP Search Techniques Backtracking Forward checking
Constraint Satisfaction Problems
Artificial Intelligence
Constraints and Search
Chapter 5: General search strategies: Look-ahead
Constraint satisfaction problems
Constraint Satisfaction Problems. A Quick Overview
Constraint Satisfaction
CS 8520: Artificial Intelligence
Constraint Satisfaction Problems
Constraint satisfaction problems
Constraint Satisfaction Problems (CSP)
Presentation transcript:

Constraint Programming: What is behind? * 07/16/96 Constraint Programming: What is behind? Roman Barták Charles University, Prague bartak@kti.mff.cuni.cz *

Quotations “Constraint programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming: the user states the problem, the computer solves it.” Eugene C. Freuder, Constraints, April 1997 “Were you to ask me which programming paradigm is likely to gain most in commercial significance over the next 5 years I’d have to pick Constraint Logic Programming, even though it’s perhaps currently one of the least known and understood.” Dick Pountain, BYTE, February 1995

Talk Schedule Historical context Constraint technology Applications basic features constraint satisfaction constraints in optimisation over-constrained problems Applications Summary Advantages & Limitations Trends Resources

The Origins Artificial Intelligence Interactive Graphics Scene Labelling (Waltz) Interactive Graphics Sketchpad (Sutherland) ThingLab (Borning) Logic Programming unification --> constraint solving Operations Research NP-hard combinatorial problems

Scene Labelling first constraint satisfaction problem Task: recognise objects in 3D scene by interpreting lines in 2D drawings Waltz labelling algorithm legal labels for junctions only the edge has the same label at both ends + -

Interactive Graphics Sketchpad (Sutherland) ThingLab (Borning) allow to draw and manipulate constrained geometric figures in the computer display

What is CP? CP = Constraint Programming * What is CP? 07/16/96 CP = Constraint Programming stating constraints about the problem variables finding solution satisfying all the constraints constraint = relation among several unknowns Example: A+B=C, X>Y, N=length(S) … Features: express partial information X>2 heterogeneous N=length(S) non-directional X=Y+2: X Y+2  YX-2 declarative manner “ additive X>2,X<5  X<5,X>2 rarely independent A+B=5, A-B=1 *

Solving Technology Constraint Satisfaction Constraints Solving finite domains -> combinatorial problems 95% of all industrial applications Constraints Solving infinite or more complex domains methods automatic differentiation, Taylor series, Newton method many mathematicians deal with whether certain constraints are satisfiable (Fermat’s Last Theorem)

Constraint Satisfaction Problem Consist of: a set of variables X={x1,…,xn} variables’ domains Di (finite set of possible values) a set of constraints Example: X::{1,2}, Y::{1,2}, Z::{1,2} X = Y, X  Z, Y > Z Solution of CSP assignment of value from its domain to every variable satisfying all the constraints X=2, Y=2, Z=1

Systematic Search Methods exploring the solution space complete and sound efficiency issues Backtracking (BT) Generate & Test (GT) exploring subspace exploring individual assignments Z Y X

Generate & Test probably the most general problem solving method Systematic Search Methods probably the most general problem solving method Algorithm: generate labelling test satisfaction Drawbacks: Improvements: blind generator smart generator --> local search late discovery of testing within generator inconsistencies --> backtracking

Backtracking (BT) Systematic Search Methods incrementally extends a partial solution towards a complete solution Algorithm: assign value to variable check consistency until all variables labelled Drawbacks: thrashing redundant work late detection of conflict A 1 B 1 2 C 1 2 1 D 1 2 1 2 1  A = D, B  D, A+C < 4

GT & BT - Example Systematic Search Methods Problem: X::{1,2}, Y::{1,2}, Z::{1,2} X = Y, X  Z, Y > Z generate & test backtracking

Consistency Techniques removing inconsistent values from variables’ domains graph representation of the CSP binary and unary constraints only (no problem!) nodes = variables edges = constraints node consistency (NC) arc consistency (AC) path consistency (PC) (strong) k-consistency A>5 A A<C AB C B B=C

Arc Consistency (AC) Consistency Techniques the most widely used consistency technique (good simplification/performance ratio) deals with individual binary constraints repeated revisions of arcs AC-3, AC-4, Directional AC a b c a b c a b c X Y Z

AC - Example Consistency Techniques Problem: X::{1,2}, Y::{1,2}, Z::{1,2} X = Y, X  Z, Y > Z X X 1 2 1 2 1 2 1 2 Y Y 1 2 1 2 Z Z

Is AC enough? empty domain => no solution Consistency Techniques empty domain => no solution cardinality of all domains is 1 => solution Problem: X::{1,2}, Y::{1,2}, Z::{1,2} X  Y, X  Z, Y  Z X 1 2 1 2 Y Z 1 2

Path Consistency (PC) consistency along the path only Consistency Techniques consistency along the path only checking paths of length 2 is enough Plus/Minus + detects more inconsistencies than AC - extensional representation of constraints - changes in graph connectivity Directional PC, Restricted PC V2 V4 V3 V5 V0 V1 ???

K -consistency K-consistency Consistency Techniques K-consistency consistent valuation o (K-1) variables can be extended to K-th variable strong K-consistency  J-consistency for each JK NC  strong 1-consistency AC  strong 2-consistency PC  strong 3-consistency

Consistency Completeness strongly N-consistent constraint graph with N nodes => solution strongly K-consistent constraint graph with N nodes (K<N) => ??? path consistent but no solution Special graph structures tree structured graph => (D)AC is enough cycle cutset, MACE  A D {1,2,3} {1,2,3}     B C  {1,2,3} {1,2,3}

Constraint Propagation systematic search only => no efficient consistency only => no complete combination of search (backtracking) with consistency techniques methods: look back (restoring from conflicts) look ahead (preventing conflicts) look back look ahead Labelling order

Look Back Methods intelligent backtracking Constraint Propagation intelligent backtracking consistency checks among instantiated variables backjumping backtracks to the conflicting variable backchecking and backmarking avoids redundant constraint checking by remembering conflicting level for each value jump here a conflict b b b still conflict

Look Ahead Methods Constraint Propagation preventing future conflicts via consistency checks among not yet instantiated variables forward checking (FC) AC to direct neighbourhood partial look ahead (PLA) DAC (full) look ahead (LA) Arc Consistency Path Consistency instantiated variable labelling order

Look Ahead - Example Constraint Propagation Problem: X::{1,2}, Y::{1,2}, Z::{1,2} X = Y, X  Z, Y > Z generate & test - 7 steps backtracking - 5 steps propagation - 2 steps

Stochastic and Heuristic Methods GT + smart generator of complete valuations local search - chooses best neighbouring configuration hill climbing neighbourhood = value of one variable changed min-conflicts neighbourhood = value of selected conflicting variable changed avoid local minimum => noise heuristics random-walk sometimes picks neighbouring configuration randomly tabu search few last configurations are forbidden for next step does not guarantee completeness

Connectionist approach Artificial Neural Networks processors (cells) = <variable,value> on state means “value is assigned to the variable” connections = inhibitory links between incompatible pairs GENET starts from random configuration re-computes states using neighbouring cells till stable configuration found (equilibrium) learns violated constraints by strengthening weights Incomplete (oscillation) 1 values 2 X Y Z variables

Constraint Optimisation looking for best solution quality of solution measured by application dependent objective function Constraint Satisfaction Optimisation Problem CSP objective function: solution -> numerical value Note: solution = complete labelling satisfying all the constraints Branch & Bound (B&B) the most widely used optimisation algorithm

Branch & Bound  Constraint Optimisation depth first search (like BT) + under estimate of the objective function (minimisation) + bound (initially set to plus infinity) heuristic function: partial labelling -> under estimate of the objective function pruning sub-tree under the partial labelling when constraint inconsistency detected heuristic value exceeds the bound efficiency is determined by: the quality of the heuristic function whether a good bound is found early 

Over-Constrained Problems What solution should be returned when no solution exists? impossible satisfaction of all constraints because of inconsistency Example: X=5, X=4 Solving methods Partial CSP (PCSP) weakening original CSP Constraint Hierarchies preferential constraints

Dressing Problem shirt: {red, white} footwear: {cordovans, sneakers} Over-Constrained Problems shirt: {red, white} footwear: {cordovans, sneakers} trousers: {blue, denim, grey} shirt x trousers: red-grey, white-blue, white-denim footwear x trousers: sneakers-denim, cordovans-grey shirt x footwear: white-cordovans red white shirt blue denim grey trousers footwear cordovans sneakers

Partial CSP weakening a problem: one solution Over-Constrained Problems weakening a problem: enlarging the domain of variable enlarging the domain of constraint  removing a variable removing a constraint one solution white - denim - sneakers shirt red white enlarged constraint’s domain blue denim grey footwear trousers cordovans sneakers

Partial CSP Partial Constraint Satisfaction Problem CSP Over-Constrained Problems Partial Constraint Satisfaction Problem CSP evaluation function: labelling -> numerical value Task: find labelling optimal regarding the evaluation function Example: maximising number of satisfied constraints Usage: over-constrained problems optimisation problems (PCSP is a generalisation of CSOP) obtaining “good enough” solution within fixed time

Constraint Hierarchies Over-Constrained Problems constraints with preferences solution respects the hierarchy weaker constraints do not cause dissatisfaction of stronger constraint shirt x trousers @ required footwear x trousers @ strong shirt x footwear @ weak two solutions red - grey - cordovans white - denim - sneakers shirt red white blue denim grey footwear trousers cordovans sneakers

Constraint Hierarchies Over-Constrained Problems Hierarchy = (finite) set of labelled constraints levels Hi (H0 - required constraints, H1 - strongest non required …) Solution: S0={ | all required constraints are satisfied by  } SH={ |   S0 s.t.    S0  better(,,H) } where better - comparator (partial ordering of valuations) solving methods: refining method (DeltaStar) solve constraints from stronger to weaker levels local propagation (DeltaBlue, SkyBlue) repeatedly selects uniquely satisfiable constraints planning + value propagation hierarchies in optimisation problems weak constraint objective function = optimum

Applications assignment problems network management and configuration stand allocation for airports berth allocation to ships personnel assignment rosters for nurses crew assignment to flights network management and configuration planning of cabling of telecommunication networks optimal placement of base stations in wireless networks molecular biology DNA sequencing analogue and digital circuit design

Scheduling Problems the most successful application area production scheduling (InSol Ltd.) well-activity scheduling (Saga Petroleum) forest treatment scheduling planning production of jets (Dassault Aviation)

Advantages declarative nature co-operative problem solving focus on describing the problem to be solved, not on specifying how to solve it co-operative problem solving unified framework for integration of variety of special-purpose algorithms semantic foundation amazingly clean and elegant languages roots in logic programming applications proven success

Limitations NP-hard problems & tracktability unpredictable behaviour model stability too high-level (new constraints, solvers, heuristics) too low-level (modelling) too local non-incremental (rescheduling) weak solver collaboration

Trends modelling understanding search hybrid algorithms global constraints (all_different) modelling languages (Numerica, VisOpt) understanding search visualisation, performance debugging hybrid algorithms solver collaboration parallelism multi-agent technology

Resources Conferences Journal Internet * Resources 07/16/96 Conferences Principles and Practice of Constraint Programming (CP) The Practical Application of Constraint Technologies and Logic Programming (PACLP) Journal Constraints (Kluwer Academic Publishers) Internet Constraints Archive http://www.cs.unh.edu/ccc/archive Guide to Constraint Programming http://kti.mff.cuni.cz/~bartak/constraints/ *