Berthe Y. Choueiry (Shu-we-ri)

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
Advertisements

Constraint Satisfaction Problems Russell and Norvig: Chapter
Constraint Satisfaction Problems
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
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.
4 Feb 2004CS Constraint Satisfaction1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3.
Constraint Satisfaction Problems
Chapter 5 Outline Formal definition of CSP CSP Examples
Constraint Satisfaction Problems
Constraint Satisfaction Problems
Constraint Satisfaction Problems Chapter 6. Review Agent, Environment, State Agent as search problem Uninformed search strategies Informed (heuristic.
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.
Foundations of Constraint Processing, Spring 2008 Jan 14, 2008 Overview 11 Foundations of Constraint Processing CSCE421/821, Spring 2008:
Chapter 5: Constraint Satisfaction ICS 171 Fall 2006.
1 Chapter 5 Constraint Satisfaction Problems. 2 Outlines  Constraint Satisfaction Problems  Backtracking Search for CSPs  Local Search for CSP  The.
CSC 8520 Spring Paula Matuszek CS 8520: Artificial Intelligence Search 3: Constraint Satisfaction Problems Paula Matuszek Spring, 2013.
Foundations of Constraint Processing, CSCE421/821 Overview 11 CSCE421/821, Fall Questions: Piazza Berthe Y.
Chapter 5 Constraint Satisfaction Problems
Review Test1. Robotics & Future Technology Future of Intelligent Systems / Ray Kurzweil futurist Ray Kurzweil / A Long Bet A Long Bet / Robot Soccer.
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.
Computing & Information Sciences Kansas State University Friday, 08 Sep 2006CIS 490 / 730: Artificial Intelligence Lecture 7 of 42 Friday, 08 September.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Foundations of Constraint Processing, CSCE421/821 Overview 11 CSCE421/821, Fall Questions: Piazza Berthe Y.
CS 561, Session 8 1 This time: constraint satisfaction - Constraint Satisfaction Problems (CSP) - Backtracking search for CSPs - Local search for CSPs.
Constraint Satisfaction Problems (CSPs) Introduction
Constraint Programming
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Consistency Methods for Temporal Reasoning
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
Constraint Satisfaction
Constraint Satisfaction Problems (CSPs) Introduction
Instructor: Vincent Conitzer
Advanced Artificial Intelligence
Lecture 7 Constraint Satisfaction Problems
Constraint Satisfaction 101
Berthe Y. Choueiry (Shu-we-ri)
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
Berthe Y. Choueiry (Shu-we-ri)
Foundations of Constraint Processing
CSPs and Relational DBs
Foundations of Constraint Processing
Problem Solving with Constraints
Constraint Satisfaction Problems
Artificial Intelligence
Foundations of Constraint Processing All questions to Piazza
Chapter 5: General search strategies: Look-ahead
Constraint satisfaction problems
Foundations of Constraint Processing All questions to Piazza
Problem Solving with Constraints
Problem Solving with Constraints
Foundations of Constraint Processing
CS 8520: Artificial Intelligence
Foundations of Constraint Processing
Constraint Satisfaction Problems
Constraint satisfaction problems
Consistency algorithms
Presentation transcript:

Berthe Y. Choueiry (Shu-we-ri) Constraint Satisfaction 101 CSCE421/821, Spring 2019 www.cse.unl.edu/~choueiry/S19-421-821 Questions: Piazza Berthe Y. Choueiry (Shu-we-ri) AVH 360 Overview 1

Take Away Message CP = Modeling + Inference + Search Variables Domains Constraints Query Enforcing consistency (filtering) and Propagation (E.g., AC, PC, etc.) Systematic (chronological backtracking, with/without intelligence, etc.) or Non-systematic (hill climbing, taboo, etc.) Overview 1

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 Overview 1

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!! Overview 1

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. Overview 1

Practical applications Adapted from E.C. Freuder 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 Overview 1

Real Practical Application (I) Borrowed from Milano&Lombardi Netherlands have one of most dense railroad networks in the world, with 5,500 trains per day In 2009, the entire timetable has been redesigned from scratch (via OR techniques and Constraint Programming) More robust schedule More effective Profit increase: ~$75M Overview 1

Real Practical Application (II) Borrowed from Milano&Lombardi The port of Singapore is one of the world’s largest container hubs 200 shipping lines with connections to 600 ports in 123 countries Yard locations and loading plans must be assigned under a large number of operational and safety requirements The Yard planning system, based on CP is assisting the job Overview 1

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 CP = Model + Constraint Reasoning + Search We will learn what these are Related areas: AI, OR, Algorithmic, DB, TCS, Prog. Languages, etc. Overview 1

Power of Constraints Processing Flexibility & expressiveness of representations Interactivity users can constraints relax reinforce Overview 1

Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques Overview 1

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? Overview 1

Definition of a CSP Given A set of variables A set of variable domains (domain values) A set of constraints, Query: can we find a value for each variable such that all constraints are satisfied? Overview 1

Different Queries Yield Different Problems Find a solution decision problem Find number of/all solutions counting problem Find a set of constraints that can be removed so that a solution exists optimization problem Etc. Overview 1

Domain Types Domains: x Restricted to {0,1}: Boolean CSPs Finite (discrete), enumeration works Continuous, sophisticated algebraic techniques are needed Consistency techniques on domain bounds Overview 1

CSP Representation (I) Given Find a consistent assignment for variables Constraint Network (graph, hypergraph) Variable   node (vertex) Domain  node label Constraint  arc (edge) between nodes Overview 1

CSP Representation (II) Graph Vertices: variables Edges: binary constraints {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 Hypergraph Vertices: variables Hyperedges: constraints Overview 1

Constraint Definition A constraint C is defined by A scope, the set of variables on which the constraint applies Notation: SCOPE(C), scope(C), scp(C) A relation, a subset of the Cartesian product of the domains of the variables in the scope of the constraint Notation: RELATION(C), rel(C) Arity, cardinality of the constraint’s scope Unary, binary, ternary,…, global Universal constraint Overview 1

Relation Definition Extension, all tuples are enumerated As a list of allowed tuples (supports, positive table) As a list of forbidden tuples (conflicts, no-goods) Intension, given by a set builder When it is not practical or possible to list all tuples Define types/templates of common constraints to be used repeatedly Examples: linear constraints, All-Diff (mutex), Atmost, TSP-constraint, cycle-constraint, etc. Overview 1

Constraint Implementation Predicate function Set of tuples (list or table) Binary matrix (bit-matrix) Constrained Decision Diagrams ([Cheng & Yap, AAAI 05]) etc. Overview 1

Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques Overview 1

Example II: Temporal reasoning Give one solution: ……. Satisfaction, yes/no: decision problem Overview 1

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? Overview 1

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 Overview 1

Example IV: Resource Allocation What is the CSP formulation? { a, b, c } { a, b } { a, c, d } { b, c, d } Overview 1

Example IV: RA (cont’d) { a, b, c } { a, b } { a, c, d } { b, c, d } T1 Constraint Graph T4 { R1, R3 } T3 { R2, R4 } T6 T7 T5 { R1, R2, R3 }  Interval Order { R1, R3 } T1 { R1, R3 } T2 { R1, R3 } { R1, R3, R4 } T2 T3 T4 { R1, R2, R3 } T5 { R2, R4 } T6 { R2, R4 } T7 Overview 1

Example V: Cryptarithmetic puzzles DX1 = DX2 = DX3 = {0,1} DF=DT=DU=DW=DR=DO=[0,9] O+O = R+10X1 X1+W+W = U+10X2 X2+ T+T = O + 10X3 X3=F Alldiff({F,T,U,W,R,O}) Overview 1

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 Overview 1

Example VII: 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? Overview 1

Example VII: 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} Overview 1

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 }  Overview 1

More examples Example VII: Databases Example VIII: Interactive systems 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 Overview 1

Outline Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques Overview 1

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) no goods (V1, a ) (V1, b) (V2, a ) (V2, c) (V3, b ) (V3, c) Overview 1

Complexity of CSP Characterization Decision problem In general, NP-complete by reduction from 3SAT Overview 1

Proving NP-completeness Show that 1 is in NP 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) Overview 1

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. Overview 1

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) Overview 1

Problem Reduction Example: CSP into SAT (proves nothing, just an exercise) Notation: variable-value pair = vvp vvp  term V1 = {a,b,c,d} yields x1 = (V1,a), x2 = (V1,b), x3 = (V1,c), x4 = (V1,d), V2 = {a,b,c} yields x5 = (V2,a), x6 = (V2,b), x7 = (V2,c). The vvp’s of a variable  disjunction of terms V1 = {a, b, c, d} yields (Optional) At most one VVP per variable Way 1: Way 2: Overview 1

CSP into SAT (cont.) Constraint: Way 1: Each inconsistent tuple  one disjunctive clause For example: how many? Way 2: Consistent tuple  conjunction of terms 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 Overview 1

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 Overview 1

How to solve a CSP? Search 1. Constructive, systematic 2. Iterative repair, local search Overview 1

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 Overview 1

Importance of Modeling N-queen: formulation 1 Variables? Domains? Size of CSP? N-queens: formulation 2 4 Column positions 1 2 3 4 4 Rows V1 V2 V3 V4 16 Cells V11 V12 V13 V14 V21 V22 V23 V24 V31 V32 V33 V34 V41 V42 V43 V44 {0,1} Overview 1

Constraint Checking Arc-consistency B C: [ 6 .. 15 ] 1- B: [ 5 .. 14 ] 13 C: [ 6 .. 15 ] 1- B: [ 5 .. 14 ] A < B 14 A [ 5.... 18] 2 2- A: [ 2 .. 10 ] C: [ 6 .. 14 ] B < C [ 1.... 10 ] 2 < C - A < 5 3- B: [ 5 .. 13 ] 6 14 [ 4.... 15] C Overview 1

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! Overview 1

Systematic Search Starting from a root node Consider all values for a variable V1 For every value for V1, consider all values for V2 etc.. For n variables, each of domain size d Maximum depth? fixed! Maximum number of paths? size of search space, size of CSP Overview 1

Systematic search: Back-checking Systematic search generates dn possibilities Are all possibilities acceptable? Expand a partial solution only when it is consistent This yields early pruning of inconsistent paths Overview 1

Systematic search: Chronological backtracking What if only one solution is needed? Depth-first search & Chronological backtracking DFS: Soundness? Completeness? Overview 1

Systematic search: Intelligent backtracking What if the reason for failure was higher up in the tree? Backtrack to source of conflict !! Backjumping, conflict-directed backjumping, etc. Overview 1

Systematic search: Ordering heuristics Which variable to expand first? Heuristics: most constrained variable first (reduce branching factor) most promising value first (find quickly first solution) Overview 1

Systematic search: Back-checking Search tree with only backtrack search? Root node 1 Q 2 Q 4 Q 1 2 3 3 Q 1 2 4 Q 1 Q 2 Q 1 2 3 4 1 3 4 3 Q 1 2 3 4 1 2 Solution! 26 nodes visited. Overview 1

Systematic search: Forward checking Search Tree with domains filter by Forward Check Root node 2 Q 1 Q Domain Wipe Out V4 4 Q 3 Q Q 4 Domain Wipe Out V3 1 Q 2 Q 3 Q Solution! 8 nodes visited. Overview 1

Improving BT search General purpose methods for Variable, value ordering Improving backtracking: intelligent backtracking avoids repeating failure Look-ahead techniques: propagate constraints as variables are instantiated Overview 1

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]) Overview 1

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) Overview 1

CSP: a decision problem (NP-complete) Modeling: abstraction and reformulation Preprocessing techniques: eliminate non-acceptable tuples prior to search Systematic search: potentially dn paths of fixed lengths chronological backtracking intelligent backtracking variable/value ordering heuristics Search ‘hybrids:’ Mixing consistency checking with search: look-ahead strategies Overview 1

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 Overview 1

Outline of CSP 101 We have seen We will move to Motivating example, application areas CSP: Definition, representation Some simple modeling examples More on definition and formal characterization Basic solving techniques We will move to Arc consistency Backtrack search Advanced solving techniques Issues & research directions Overview 1

Take-Away Message CP = Modeling + Inference + Search Variables Domains Constraints Query Enforcing consistency (filtering) and Propagation (E.g., AC, PC, etc.) Systematic (chronological backtracking, with/without intelligence, etc.) or Non-systematic (hill climbing, taboo, etc.) Overview 1