# CONSTRAINT Networks Chapters 1-2

## Presentation on theme: "CONSTRAINT Networks Chapters 1-2"— Presentation transcript:

CONSTRAINT Networks Chapters 1-2
Compsci-275 Spring 2009 Spring 2009

Class Information 11:00 - 12:20 pm Instructor: Rina Dechter
Days: Monday & Wednesday Time: 11: :20 pm 11: :20 pm Class page: Spring 2009

Text book (required) Rina Dechter, Constraint Processing,
Morgan Kaufmann Spring 2009

Outline Motivation, applications, history
CSP: Definition, and simple modeling examples Mathematical concepts (relations, graphs) Representing constraints Constraint graphs The binary Constraint Networks properties Spring 2009

Outline Motivation, applications, history
CSP: Definition, representation and simple modeling examples Mathematical concepts (relations, graphs) Representing constraints Constraint graphs The binary Constraint Networks properties Spring 2009

Example: student course selection
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!! ICS Graduate program Spring 2009

Student course selection (continued)
Given A set of variables: 4 courses at your college 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 many solutions exists? How two or more solutions differ? Which solution is preferrable? etc. Spring 2009

The field of Constraint Programming
How did it started: Artificial Intelligence (vision) Programming Languages (Logic Programming), Databases (deductive, relational) Logic-based languages (propositional logic) SATisfiability Related areas: Hardware and software verification Operation Research (Integer Programming) Answer set programming Graphical Models; deterministic Spring 2009

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 Spring 2009

Outline Motivation, applications, history
CSP: Definitions and simple modeling examples Mathematical concepts (relations, graphs) Representing constraints Constraint graphs The binary Constraint Networks properties Spring 2009

A Constraint Networks Example: map coloring
Variables - countries (A,B,C,etc.) Values - colors (red, green, blue) Constraints: A B red green red yellow green red green yellow yellow green yellow red Constraint graph C A B D E F G A E A collection of constraints that are related to each other in a particular domain is called “a constraint network” They are defined by a set of variables, their possible values and a set of constraints. I will demonstrate this through a simple example of map-coloring… You have a map and you want to color the counties in the map by a given set of colors such that adjacent counties have different colors. We can associate each county with a variable, the colors that can be assigned are the “domain” of the variables. For each two variables that represent adjacent countries we will have a not-equal constraint, A solution is an assignment of a value to each variable such that no constraint is violated. We can associate a graph with a constraint network: the variables are the nodes, and an edge connect any two variables Appearing in a single constraint (constraint can be defined on more than two variables.). D F B G C Spring 2009

Example: map coloring Variables - countries (A,B,C,etc.) Values - colors (e.g., red, green, yellow) Constraints: A B C D E… red green blue blu gre Are the constraints consistent? Find a solution, find all solutions Count all solutions Find a good solution In summary, … as set of constraints can captured by a graph and it represents its set of all solutions Spring 2009

Information as Constraints
I have to finish my talk in 30 minutes 180 degrees in a triangle Memory in our computer is limited The four nucleotides that makes up a DNA only combine in a particular sequence Sentences in English must obey the rules of syntax Susan cannot be married to both John and Bill Alexander the Great died in 333 B.C. What are constraints? “Constraints” have negative connotation in human discourse. They mean “restrictions,” such as in the sentence: “I have to finish my talk in 30 minute.” But any piece of information is “constraint” If you have a piece of information that does not constrain the set of possible scenarios then it is ill-defined and the information is worth nothing. In logic we say that it is a tautology. Any fact, expressed positively, has value only so-far-as it restricts the set of possible scenarios or possible worlds. So I will use the notion of “constraint: in that broad sense. As we heard from Geoff and Jim, the English language has syntax rules, which are constraints, and even historical fact are constraints (on the set of possible histories). Spring 2009

Constraint Network; Definition
A constraint network is: R=(X,D,C) X variables D domain C constraints R expresses allowed tuples over scopes A solution is an assignment to all variables that satisfies all constraints (join of all relations). Tasks: consistency?, one or all solutions, counting, optimization Spring 2009

Example: The N-queens problem
The network has four variables, all with domains Di = {1, 2, 3, 4}. (a) The labeled chess board. (b) The constraints between variables. Spring 2009

A solution and a partial consistent tuple
Not all consistent instantiations are part of a solution: A consistent instantiation that is not part of a solution. The placement of the queens corresponding to the solution (2, 4, 1,3). c) The placement of the queens corresponding to the solution (3, 1, 4, 2). Spring 2009

Example: Crossword puzzle
Variables: x1, …, x13 Domains: letters Constraints: words from {HOSES, LASER, SHEET, SNAIL, STEER, ALSO, EARN, HIKE, IRON, SAME, EAT, LET, RUN, SUN, TEN, YES, BE, IT, NO, US} Spring 2009

Constraint graphs of the crossword puzzle and the 4-queens problem.
Spring 2009

Example: configuration and design
Spring 2009

Configuration and design
Want to build: recreation area, apartments, houses, cemetery, dump Recreation area near lake Steep slopes avoided except for recreation area Poor soil avoided for developments Highway far from apartments, houses and recreation Dump not visible from apartments, houses and lake Lots 3 and 4 have poor soil Lots 3, 4, 7, 8 are on steep slopes Lots 2, 3, 4 are near lake Lots 1, 2 are near highway Spring 2009

Configuration and design
Variables: Recreation, Apartments, Houses, Cemetery, Dump Domains: {1, 2, …, 8} Constraints: derived from conditions Spring 2009

Huffman-Clowes junction labelings (1975)
3-dimensional interpretation of 2-dimentional drawing in block world pictures examples. Spring 2009

Figure 1.5: Solutions: (a) stuck on left wall, (b) stuck on right wall, (c) suspended in mid-air, (d) resting on floor. Spring 2009

Example: Sudoku Constraint propagation 2
Variables: 81 slots Domains = {1,2,3,4,5,6,7,8,9} Constraints: 27 not-equal Constraint propagation 2 As I will disuss later, algorithms for answering constraint satisfaction queries are not likely to be efficient. Namely, we may have to wait a very long time when we ask if there is a solution. But one reason the area of constraint network gained its popularity is by highlighting some computational pattern that is popular with human. We call it constraint propagation. …. So, while constraint propagation are huge effective helper in solving many problems associated with deterministic constraints. Each row, column and major block must be alldifferent “Well posed” if it has unique solution: 27 constraints Spring 2009

Outline Motivation, applications, history
CSP: Definition, representation and simple modeling examples Mathematical concepts (relations, graphs) Representing constraints Constraint graphs The binary Constraint Networks properties Spring 2009

Mathematical background
Sets, domains, tuples Relations Operations on relations Graphs Complexity Spring 2009

Two graphical representation and views of a relation: R = {(black, coffee), (black, tea), (green, tea)}. Spring 2009

Operations with relations
Intersection Union Difference Selection Projection Join Composition Spring 2009

Figure 1.8: Example of set operations intersection, union, and difference applied to relations.
Spring 2009

selection, projection, and join operations on relations.
Spring 2009

Outline Motivation, applications, history
CSP: Definition, representation and simple modeling examples Mathematical concepts (relations, graphs) Representing constraints Constraint graphs The binary Constraint Networks properties Spring 2009

Constraint’s representations
Relation: allowed tuples Algebraic expression: Propositional formula: Semantics: by a relation Spring 2009

Constraint Graphs: Primal, Dual and Hypergraphs
A (primal) constraint graph: a node per variable arcs connect constrained variables. A dual constraint graph: a node per constraint’s scope, an arc connect nodes sharing variables =hypergraph Spring 2009

Graph Concepts Reviews: Hyper Graphs and Dual Graphs
A hypergraph Dual graphs A primal graph Spring 2009

Propositional Satisfiability
 = {(¬C), (A v B v C), (¬A v B v E), (¬B v C v D)}. Spring 2009

Constraint graphs of 3 instances of the Radio frequency assignment problem in CELAR’s benchmark
Spring 2009

Figure 2.7: Scene labeling constraint network
Spring 2009

A combinatorial circuit: M is a multiplier, A is an adder
Spring 2009

The constraint graph and constraint relations of the scheduling problem example.
Spring 2009

More examples 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 Spring 2009

Example: temporal reasoning
Give one solution: ……. Satisfaction, yes/no: decision problem Spring 2009

Outline Motivation, applications, history
CSP: Definition, representation and simple modeling examples Mathematical concepts (relations, graphs) Representing constraints Constraint graphs The binary Constraint Networks properties Spring 2009

Properties of binary constraint networks:
A graph  to be colored by two colors, an equivalent representation ’ having a newly inferred constraint between x1 and x3. Equivalence and deduction with constraints (composition) Spring 2009

Relations vs netwroks Can we represent the relations
x1,x2,x3 = (0,0,0)(0,1,1)(1,0,1)(1,1,0) X1,x2,x3,x4 = (1,0,0,0)(0,1,0,0) (0,0,1,0)(0,0,0,1) Spring 2009

Relations vs netwroksCan we represent
Can we represent the relations x1,x2,x3 = (0,0,0)(0,1,1)(1,0,1)(1,1,0) X1,x2,x3,x4 = (1,0,0,0)(0,1,0,0) (0,0,1,0)(0,0,0,1) Most relations cannot be represented by networks: Number of relations 2^(k^n) Number of networks: 2^((k^2)(n^2)) Spring 2009

The minimal and projection networks
The projection network of a relation is obtained by projecting it onto each pair of its variables (yielding a binary network). Relation = {(1,1,2)(1,2,2)(1,2,1)} What is the projection network? What is the relationship between a relation and its projection network? {(1,1,2)(1,2,2)(2,1,3)(2,2,2)}, solve its projection network? Spring 2009

Projection network (continued)
Theorem: Every relation is included in the set of solutions of its projection network. Theorem: The projection network is the tightest upper bound binary networks representation of the relation. Spring 2009

Projection network Spring 2009

The Minimal Network (partial order between networks)
Spring 2009

The N-queens constraint network.
The network has four variables, all with domains Di = {1, 2, 3, 4}. (a) The labeled chess board. (b) The constraints between variables. Spring 2009

Figure 2.11: The 4-queens constraint network: (a) The constraint graph. (b) The minimal binary constraints. (c) The minimal unary constraints (the domains). Spring 2009

Minimal network The minimal network is perfectly explicit for binary and unary constraints: Every pair of values permitted by the minimal constraint is in a solution. Binary-decomposable networks: A network whose all projections are binary decomposable The minimal network repesenst fully binary-decomposable networks. Ex: (x,y,x,t) = {(a,a,a,a)(a,b,b,b,)(b,b,a,c)} is binary representable but what about its projection on x,y,z? Spring 2009