Presentation is loading. Please wait.

Presentation is loading. Please wait.

Leeds: 6 June 02Constraint Technology for the Masses Alan M. Frisch Artificial Intelligence Group Department of Computer Science University of York Collaborators:

Similar presentations


Presentation on theme: "Leeds: 6 June 02Constraint Technology for the Masses Alan M. Frisch Artificial Intelligence Group Department of Computer Science University of York Collaborators:"— Presentation transcript:

1 Leeds: 6 June 02Constraint Technology for the Masses Alan M. Frisch Artificial Intelligence Group Department of Computer Science University of York Collaborators: Ian Miguel, Toby Walsh, Pierre Flener, Brahim Hnich, Zeynep Kiziltan, Justin Pearson Constraint Technology for the Masses

2 Leeds: 6 June 02Constraint Technology for the Masses Constraint Programming is Important Useful for solving a wide range of problems including scheduling, allocation, layout. Often used on large, complex problems whose solution is crucial. Constraint technology is a big business. Powerful toolkits are available: –Eclipse from IC PARC –Solver from ILOG

3 Leeds: 6 June 02Constraint Technology for the Masses Formulation Bottleneck Use of current technology requires modelling a problem as a constraint program. This requires moderate/great expertise. Hence constraint technology is used almost exclusively by large enterprises on problems with large payoff.

4 Leeds: 6 June 02Constraint Technology for the Masses Reducing the Formulation Bottleneck Systematise the knowledge of the expert. The expert can recognise patterns in problems and match them to patterns of problem formulations. The expert can choose among alternatives.

5 Leeds: 6 June 02Constraint Technology for the Masses Exploiting Common Patterns Published in journals with analyses of properties. Catalogued in textbooks with guidance on selection. Implemented in libraries. Supported by high-level languages. Exploited by intelligent compilers. This would bring constraint technology to BSc’s.

6 Leeds: 6 June 02Constraint Technology for the Masses Making Constraint Technology Invisible Conceal constraint technology behind intuitive user interfaces. Pre-programmed patterns would be provided. This would bring constraint technology to the masses.

7 Leeds: 6 June 02Constraint Technology for the Masses The Constraint Satisfaction Problem An instance of the CSP consists of Finite set of variables X 1,…,X n, having finite domains D 1,…,D n. Finite set of constraints. Each restricts the values that the variables can simultaneously take. Example: x neq y. x+y

8 Leeds: 6 June 02Constraint Technology for the Masses Solutions of a CSP Instance A total instantiation maps each variable to an element in its domain. A solution to a CSP instance is a total instantiation that satisfies all the constraints. Problem: Given an instance –Determine if it is satisfiable (has a solution) –Find a solution –Find all solutions –Find optimal solution

9 Leeds: 6 June 02Constraint Technology for the Masses Partial Instantiation Search X X X ! X !! !! !

10 Leeds: 6 June 02Constraint Technology for the Masses Matrix Models A problem formulation involving one or more (multi-dimensional) matrices of decision variable s. Often has row and column symmetry. 0 vs 72 vs 72 vs 60 vs 41 vs 63 vs 54 vs 5Period 3 0 vs 5 1 vs 4 3 vs 7 Week 5 3 vs 4 0 vs 6 1 vs 5 Week 6 1 vs 31 vs 22 vs 54 vs 66 vs 7Period 4 5 vs 65 vs 70 vs 31 vs 72 vs 3Period 2 2 vs 43 vs 64 vs 70 vs 20 vs 1Period 1 Week 7Week 4Week 3Week 2Week 1 Round Robin Tournament Schedule

11 Leeds: 6 June 02Constraint Technology for the Masses Matrix Models are Prevalent Commonly used to implement sets, subsets, partitions, relations, functions, permutations… Of 31 problems in CSPlib (www.csplib.org), 27 have natural matrix models, most already published and arguably the most natural models.www.csplib.org Many have row and column symmetries.

12 Leeds: 6 June 02Constraint Technology for the Masses Overview I Systematic refinement of high-level specifications to matrix models. II Breaking row and column symmetry. III Vision of constraint spreadsheets.

13 Leeds: 6 June 02Constraint Technology for the Masses Part I: Systematic refinement of high-level specifications to matrix models.

14 Leeds: 6 June 02Constraint Technology for the Masses Balanced Academic Curriculum Problem Assign courses to periods in which they will be taught such that: –Course load in each period is not too large or too small. –Credit load in each period is not too large or too small. –The prerequisites to each course are taught before the course.

15 Leeds: 6 June 02Constraint Technology for the Masses High-level Specification Find a function CUR: courses  periods Constraints are inequalities involving CUR, CUR -1, cardinality and summation. We have semi-systematically transformed this to a variety of alternative matrix models. Major decisions: –How to represent CUR. –The introduction of a 1D matrix of variables to store the credit load of each period (from CGRASS).

16 Leeds: 6 June 02Constraint Technology for the Masses 1D Matrix Representation of a Function Periods CUR1 Courses No straightforward way to express the credit load of a period with facilities of current constraint programming languages.

17 Leeds: 6 June 02Constraint Technology for the Masses 2D Matrix Representation of a Function 0..1 Courses Periods CUR2  =1 … All constraints can be expressed as linear inequalities.

18 Leeds: 6 June 02Constraint Technology for the Masses 1D + 2D Matrix Representation of a Function 0..1 Courses Periods CUR2 Periods CUR1 CUR2[c,p] = 1  CUR1[c] = p All constraints can be expressed straightforwardly.

19 Leeds: 6 June 02Constraint Technology for the Masses Golumb Ruler Problem We have systematically transformed a high-level specification of the problem into an efficient CSP formulation (roughly that of Smith, Stergiou & Walsh). This involves: –Introducing new variables. –Replacing constraints with more powerful ones. –Refinement: choosing subset to choosing values. –Breaking symmetry. –Reasoning about ordered subscripts.

20 Leeds: 6 June 02Constraint Technology for the Masses CGRASS A system that automatically generates implied constraints and symmetry breaking constraints to improve efficiency of solver. Currently operates on problem instances, but is now being extended to handle problem classes. Major lesson: inferences must be made at the appropriate level of abstraction. Refinement rules as well as inference rules are needed.

21 Leeds: 6 June 02Constraint Technology for the Masses Part II: Breaking Row and Column Symmetries

22 Leeds: 6 June 02Constraint Technology for the Masses Index Symmetry in One Dimension Indistinguishable Rows ABC DEF GHI 2 Dimensions [A B C]  lex [D E F]  lex [G H I] Can be extended to n dimensions and partial symmetry.

23 Leeds: 6 June 02Constraint Technology for the Masses Index Symmetry in Multiple Dimensions ABC DEF GHI ABC DEF GHI ABC DEF GHI ABC DEF GHI Consistent Inconsistent

24 Leeds: 6 June 02Constraint Technology for the Masses Incompleteness of Double Lex Swap 2 columns Swap row 1 and 3

25 Leeds: 6 June 02Constraint Technology for the Masses Enforcing Lexicographic Ordering We have developed a linear time algorithm for enforcing generalized arc-consistency on a lexicographic ordering constraint between two vectors of variables. Experiments show that in some cases it is vastly superior to previous consistency algorithms, both in time and in amount pruned.

26 Leeds: 6 June 02Constraint Technology for the Masses Part III: Constraint Spreadsheets Matrix of decision variables can be viewed and manipulated through a spreadsheet-style interface. Simple methods for imposing constraints on multiple rows/columns w/out iteration or recursion. Facilitate mixed-initiative solving and “what-if” reasoning. Endow spreadsheets with solving in addition to calculation. Object-oriented hierarchy of style sheets for solving common problem types.

27 Leeds: 6 June 02Constraint Technology for the Masses Conclusion Constraint technology has made impressive progress, yet available toolkits support constraint programming at only a low level of abstraction. First steps to bring technology to the masses: –Develop high-level language supported with automatic refinement and reformulation, especially to matrix models. –Efficient methods for solving matrix models, especially for breaking index symmetry. –Constraint spreadsheets.


Download ppt "Leeds: 6 June 02Constraint Technology for the Masses Alan M. Frisch Artificial Intelligence Group Department of Computer Science University of York Collaborators:"

Similar presentations


Ads by Google