Presentation is loading. Please wait.

Presentation is loading. Please wait.

Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 11 Foundations of Constraint Processing CSCE421/821, Spring 2008: www.cse.unl.edu/~choueiry/S08-421-821/

Similar presentations


Presentation on theme: "Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 11 Foundations of Constraint Processing CSCE421/821, Spring 2008: www.cse.unl.edu/~choueiry/S08-421-821/"— Presentation transcript:

1 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 11 Foundations of Constraint Processing CSCE421/821, Spring 2008: www.cse.unl.edu/~choueiry/S08-421-821/ Berthe Y. Choueiry (Shu-we-ri) AVH 123B choueiry@cse.unl.edu Tel: +1(402)472-5444 Constraint Satisfaction 101

2 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 12 Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques (Implementing backtrack search) Advanced solving techniques Issues & research directions

3 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 13 Motivating example Context: You are a senior in college Problem: You need to register in 4 courses for the Spring semester Possibilities: Many courses offered in Math, CSE, EE, CBA, etc. Constraints: restrict the choices you can make –Unary: Courses have prerequisites you have/don't have Courses/instructors you like/dislike –Binary: Courses are scheduled at the same time –n-ary: In CE: 4 courses from 5 tracks such as at least 3 tracks are covered You have choices, but are restricted by constraints – Make the right decisions!!

4 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 14 Motivating example (cont’d) Given –A set of variables: 4 courses at UNL –For each variable, a set of choices (values) –A set of constraints that restrict the combinations of values the variables can take at the same time Questions –Does a solution exist? (classical decision problem) –How two or more solutions differ? How to change specific choices without perturbing the solution? –If there is no solution, what are the sources of conflicts? Which constraints should be retracted? –etc.

5 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 15 Practical applications Radio resource management (RRM) Databases (computing joins, view updates) Temporal and spatial reasoning Planning, scheduling, resource allocation Design and configuration Graphics, visualization, interfaces Hardware verification and software engineering HC Interaction and decision support Molecular biology Robotics, machine vision and computational linguistics Transportation Qualitative and diagnostic reasoning Adapted from E.C. Freuder

6 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 16 Constraint Processing is about... –Solving a decision problem… –… While allowing the user to state arbitrary constraints in an expressive way and –Providing concise and high-level feedback about alternatives and conflicts Related areas: –AI, OR, Algorithmic, DB, TCS, Prog. Languages, etc.

7 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 17 Flexibility & expressiveness of representations Interactivity users can constraints Power of Constraints Processing relax reinforce

8 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 18 Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques

9 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 19 Defining a problem General template of any computational problem –Given: Example: a set of objects, their relations, etc. –Query/Question: Example: Find x such that the condition y is satisfied How about the Constraint Satisfaction Problem?

10 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 110 Definition of a CSP Given P = ( V, D, C ) –V is a set of variables, –D is a set of variable domains (domain values) –C is a set of constraints, Query: can we find a value for each variable such that all constraints are satisfied?

11 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 111 Other queries… Find a solution Find all solutions Find the number of solutions Find a set of constraints that can be removed so that a solution exists Etc.

12 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 112 Representation I Given P = ( V, D, C ), where Find a consistent assignment for variables Constraint Graph Variable  node (vertex) Domain  node label Constraint  arc (edge) between nodes

13 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 113 Representation II Given P = ( V, D, C ), where Example I: Define C ? {1, 2, 3, 4} { 3, 5, 7 } { 3, 4, 9 } { 3, 6, 7 } v2 > v4 V4 V2 v1+v3 < 9 V3 V1 v2 < v3 v1 < v2

14 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 114 Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques

15 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 115 Example II: Temporal reasoning Give one solution: ……. Satisfaction, yes/no: decision problem

16 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 116 Example III: Map coloring Using 3 colors (R, G, & B), color the US map such that no two adjacent states have the same color Variables? Domains? Constraints?

17 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 117 Example III: Map coloring (cont’d) Using 3 colors (R, G, & B), color the US map such that no two adjacent states have the same color

18 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 118 Example IV: Resource Allocation What is the CSP formulation? { a, b, c } { a, b } { a, c, d } { b, c, d }

19 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 119 Example IV: RA (cont’d) { a, b, c } { a, b } { a, c, d } { b, c, d } { R1, R3 } T1 { R1, R3 } { R1, R3, R4 } { R1, R2, R3 } { R2, R4 } T2 T3 T4 T5 T6 T7 Interval Order T2 T1 Constraint Graph T4 { R1, R3 } T3 { R2, R4 } T6 T7 T5 { R1, R2, R3 } { R1, R3 } { R1, R2, R3 }             

20 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 120 Example V: Puzzle Given: Four musicians: Fred, Ike, Mike, and Sal, play bass, drums, guitar and keyboard, not necessarily in that order. They have 4 successful songs, ‘Blue Sky,’ ‘Happy Song,’ ‘Gentle Rhythm,’ and ‘Nice Melody.’ Ike and Mike are, in one order or the other, the composer of ‘Nice Melody’ and the keyboardist. etc... Query: Who plays which instrument and who composed which song?

21 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 121 Example V: Puzzle (cont’d) Formulation 1: Variables: Bass, Drums, Guitar, Keyboard, Blue Sky, Happy Song Gentle Rhythm and Nice Melody. Domains: Fred, Ike, Mike, Sal Constraints: … Formulation 2: Variables: Fred's-instrument, Ike's-instrument, …, Fred's-song, Ikes's-song, Mike’s-song, …, etc. Domains: { bass, drums, guitar, keyboard } { Blue Sky, Happy Song, Gentle Rhythm, Nice Melody} Constraints: …

22 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 122 Example VI: Product Configuration Train, elevator, car, etc. Given: Components and their attributes (variables) Domain covered by each characteristic (values) Relations among the components (constraints) A set of required functionalities (more constraints) Find: a product configuration i.e., an acceptable combination of components that realizes the required functionalities

23 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 123 Example VII: Cryptarithmetic puzzles D X1 = D X2 = D X3 = {0,1} D F =D T =D U =D W =D R =D O =[0,9] O+O = R+10X1 X1+W+W = U+10X2 X2+ T+T = O + 10X3 X3=F Alldiff({F,D,U,V,R,O})

24 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 124 Constraint types: examples Example I: algebraic constraints Example II: (algebraic) constraints of bounded difference Example III & IV: coloring, mutual exclusion, difference constraints Example V & VI: elements of C must be made explicit {1, 2, 3, 4} { 3, 5, 7 } { 3, 4, 9 } { 3, 6, 7 } v2 > v4 V4 V2 v1+v3 < 9 V3 V1 v2 < v3 v1 < v2 T1 Constraint Graph T4 { R1, R3 } T3 { R2, R4 } T6 T7 T5 { R1, R2, R3 } { R1, R3 } { R1, R2, R3 }             

25 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 125 More examples Example VII: Databases –Join operation in relational DB is a CSP –View materialization is a CSP Example VIII: Interactive systems –Data-flow constraints –Spreadsheets –Graphical layout systems and animation –Graphical user interfaces Example IX: Molecular biology (bioinformatics) –Threading, etc

26 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 126 Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques

27 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 127 Representation (again) Macrostructure G(P): - constraint graph for binary constraints - constraint network for non-binary constraints Micro-structure  (P): Co-microstructure co-  (P) : a, b a, c b, c    V1 V2 V3 (V1, a ) (V1, b) (V2, a ) (V2, c) (V3, b ) (V3, c) (V1, a ) (V1, b) (V2, a ) (V2, c) (V3, b ) (V3, c) no goods

28 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 128 Constraint arity I Given P = ( V, D, C ), where How to represent the constraint V 1 + V 2 + V 4 < 10 ? {1, 2, 3, 4} { 3, 5, 7 } { 3, 4, 9 } { 3, 6, 7 } v2 > v4 V4 V2 v1+v3 < 9 V3 V1 v2 < v3 v1 < v2

29 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 129 Constraint arity II Given P = ( V, D, C ), where Constraints: universal, unary, binary, ternary, …, global. A Constraint Network:

30 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 130 Domain types P = ( V, D, C ) where Domains: –Restricted to {0,1}: Boolean CSPs –Finite (discrete), enumeration works –Continuous, sophisticated algebraic techniques are needed Consistency techniques on domain bounds

31 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 131 Constraint terminology Arity: –universal, unary, binary, ternary, …, global Scope: –The set of variables to which the constraint applies Definition: –Extension: all allowed tuples are listed – Constrained Decision Diagrams ([Cheng & Yap, AAAI 05]) –Intention: when it is not practical (or even possible) to list all tuples Define types/templates of common constraints to be used repeatedly: linear constraints, All-Diff (mutex), Atmost, TSP- constraint, cycle-constraint, etc.) Implementation: –predicate, set of tuples (list or table), binary matrix (bit-matrix), etc.

32 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 132 Complexity of CSP Characterization: – Decision problem – In general, NP-complete by reduction from 3SAT

33 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 133 Proving NP-completeness 1.Show that  1 is in NP 2.Given a problem  1 in NP, show that an known NP-complete problem  2 can be efficiently reduced to  1 –Select a known NP-complete problem  2 (e.g., SAT) –Construct a transformation f from  2 to  1 –Prove that f is a polynomial transformation (Check Chapter 3 of Garey & Johnson)

34 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 134 What is SAT? Given a sentence: –Sentence: conjunction of clauses – Clause: disjunction of literals – Literal: a term or its negation – Term: Boolean variable Question: Find an assignment of truth values to the Boolean variables such the sentence is satisfied.

35 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 135 CSP is NP-Complete Verifying that an assignment for all variables is a solution –Provided constraints can be checked in polynomial time Reduction from 3SAT to CSP –Many such reductions exist in the literature (perhaps 7 of them)

36 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 136 Problem reduction Example: CSP into SAT (proves nothing, just an exercise) Notation: variable-value pair = vvp vvp  term –V 1 = {a, b, c, d} yields x 1 = (V 1, a), x 2 = (V 1, b), x 3 = (V 1, c), x 4 = (V 1, d), –V 2 = {a, b, c} yields x 5 = (V 2, a), x 6 = (V 2, b), x 7 = (V 2,c). The vvp’s of a variable  disjunction of terms –V 1 = {a, b, c, d} yields (Optional) At most one VVP per variable

37 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 137 CSP into SAT (cont.) Constraint: 1.Way 1: Each inconsistent tuple  one disjunctive clause –For example: how many? 2.Way 2: a)Consistent tuple  conjunction of terms b)Each constraint  disjunction of these conjunctions  transform into conjunctive normal form (CNF) Question : find a truth assignment of the Boolean variables such that the sentence is satisfied

38 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 138 Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques Modeling and consistency checking Constructive, systematic search Iterative improvement, local search

39 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 139 How to solve a CSP? Search 1. Constructive, systematic 2. Iterative repair, local search

40 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 140 Before starting search! Consider: Importance of modeling/formulation: –To control the size of the search space Preprocessing –A.k.a. constraint filtering/propagation, consistency checking –reduces size of search space

41 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 141 4 Rows V1V2V3V4V1V2V3V4 Importance of modeling N-queen: formulation 1 –Variables? –Domains? –Size of CSP? N-queens: formulation 2 –Variables? –Domains? –Size of CSP? 4 Column positions 1 2 3 4 {0,1} 16 Cells V 11 V 12 V 13 V 14 V 21 V 22 V 23 V 24 V 31 V 32 V 33 V 34 V 41 V 42 V 43 V 44

42 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 142 Constraint checking  Arc-consistency [ 5.... 18] [ 4.... 15] [ 1.... 10 ] B < C A < B B A 2 < C - A < 5 C 2- A: [ 2.. 10 ] C: [ 6.. 14 ] 3- B: [ 5.. 13 ] C: [ 6.. 15 ] 1- B: [ 5.. 14 ] 14 13 6 2 14

43 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 143 Constraint checking  Arc-consistency: every combination of two adjacent variables  3-consistency, k-consistency (k  n)  Constraint filtering, constraint checking, etc..  Eliminate non-acceptable tuples prior to search  Warning: arc-consistency does not solve the problem still is not a solution!

44 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 144 Systematic search  Starting from a root node  Consider all values for a variable V 1  For every value for V 1, consider all values for V 2  etc..  For n variables, each of domain size d  Maximum depth? fixed!  Maximum number of paths? size of search space, size of CSP

45 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 145 Systematic search (I) Back-checking Systematic search generates d n possibilities Are all possibilities acceptable?  Expand a partial solution only when it is consistent  This yields early pruning of inconsistent paths

46 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 146 Systematic search (II) Chronological backtracking What if only one solution is needed? Depth-first search & Chronological backtracking DFS: Soundness? Completeness?

47 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 147 Systematic search (III) Intelligent backtracking What if the reason for failure was higher up in the tree? Backtrack to source of conflict !!  Backjumping, conflict-directed backjumping, etc.

48 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 148 Systematic search (IV) Ordering heuristics Which variable to expand first? Heuristics: –most constrained variable first (reduce branching factor) –most promising value first (find quickly first solution)

49 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 149 Systematic search (V) Back-checking Search tree with only backtrack search? Root node 124 13412341234 1 Q 3 Q Q 2 Q 123 12 2 Q 4 Q 1 Q 3 Q Solution! 26 nodes visited.

50 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 150 Systematic search (VI) Forward checking Root node 1 Q 3 QQ 4 Domain Wipe Out V 3 2 Q Domain Wipe Out V 4 2 Q 4 Q 1 Q 3 Q Solution! 8 nodes visited. Search Tree with domains filter by Forward Check

51 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 151 Improving BT search General purpose methods for 1.Variable, value ordering 2.Improving backtracking: intelligent backtracking avoids repeating failure 3.Look-ahead techniques: propagate constraints as variables are instantiated

52 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 152 Search-tree branching K-way branching –One branch for every value in the domain Binary branching –One branch for the first value –One branch for all the remaining values in the domain –Used in commercial constraint solvers: ILOG, Eclipse Have different behaviors (e.g., WRT value ordering heuristics [Smith, IJCAI 95] )

53 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 153 Summary of backtrack search Constructive, systematic, exhaustive –In general sound and complete Back-checking: expands nodes consistent with past Backtracking: Chronological vs. intelligent Ordering heuristics: –Static –Dynamic variable –Dynamic variable-value pairs Looking ahead: –Partial look-ahead Forward checking (FC) Directional arc-consistency (DAC) –Full (a.k.a. Maintaining Arc-consistency or MAC)

54 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 154 CSP: a decision problem (NP-complete) 1.Modeling: abstraction and reformulation 2.Preprocessing techniques: eliminate non-acceptable tuples prior to search 3.Systematic search: potentially d n paths of fixed lengths chronological backtracking intelligent backtracking variable/value ordering heuristics 4.Search ‘hybrids:’ Mixing consistency checking with search: look-ahead strategies

55 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 155 Non-systematic search Iterative repair, local search: modifies a global but inconsistent solution to decrease the number of violated constraints Examples : Hill climbing, taboo search, simulated annealing, GSAT, WalkSAT, Genetic Algorithms, Swarm intelligence, etc. Features : Incomplete & not sound –Advantage: anytime algorithm –Shortcoming: cannot tell that no solution exists

56 Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 156 Outline of CSP 101 We have seen Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques We will move to  (Implementing backtrack search) Advanced solving techniques Issues & research directions


Download ppt "Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 11 Foundations of Constraint Processing CSCE421/821, Spring 2008: www.cse.unl.edu/~choueiry/S08-421-821/"

Similar presentations


Ads by Google