0% found this document useful (0 votes)
186 views24 pages

Introduction To CSP: Constraint Satisfaction Problems: I

The document provides an introduction to constraint satisfaction problems (CSPs). It discusses common CSP examples like crossword puzzles, map coloring, and scheduling problems. It describes the basic CSP formulation including variables, domains, constraints, and the goal of finding an assignment of values to variables that satisfies all constraints. The document then gives examples of how to model several problems as CSPs and represents them as CSP graphs. It also discusses common CSP solving techniques like constraint propagation, backtracking search, and converting CSPs into satisfiability (SAT) problems.

Uploaded by

Tamal Dey3335
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
186 views24 pages

Introduction To CSP: Constraint Satisfaction Problems: I

The document provides an introduction to constraint satisfaction problems (CSPs). It discusses common CSP examples like crossword puzzles, map coloring, and scheduling problems. It describes the basic CSP formulation including variables, domains, constraints, and the goal of finding an assignment of values to variables that satisfies all constraints. The document then gives examples of how to model several problems as CSPs and represents them as CSP graphs. It also discusses common CSP solving techniques like constraint propagation, backtracking search, and converting CSPs into satisfiability (SAT) problems.

Uploaded by

Tamal Dey3335
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Constraint Satisfaction Problems: I

Introduction to CSP

Partha P Chakrabarti
Indian Institute of Technology Kharagpur
Sept 11, 2019
Sample Constraint Satisfaction Problems (CSP)
• Crossword Puzzle
• N-Queens on a Chess-Board
• Time-Table Preparation
• Flight Scheduling (Crew,
Gate, Runway, etc) CRYPTARITHMETIC PUZZLE

• Object / Scene Labelling


• Cargo Packing
• Map Colouring
• Cryptic Puzzles
• Scheduling the Hubble
Telescope
• Boolean Satisfiability (SAT) MAP COLOURING

2
Basic CSP Formulation
• Variables
– A Finite Set of Variables V_1, V_2, …., V_n
• Domains
– Each Variable has a Domain D_1, D_2, …., D_n from which it can take a value.
– The Domains may be discrete or continuous domains
• Satisfaction Constraints
– A Finite Set of Satisfaction Constraints, C_1, C_2, …C_m
– Constraints may be unary, binary or be among many variables of the domain
– All Constraints have a Yes / No Answer for Satisfaction given values of variables
• Optimization Criteria (Optional)
– A Set of Optimization Functions O_1, O_2, ….O_p
– These Optimization Functions are typically max or min type
• Solution
– To Find a Consistent Assignment of Domain Values to each Variable so that All
Constraints are Satisfied and the Optimization Criteria (if any) are met.

3
Example 1: Crossword Puzzle

1. VARIABLES
2. DOMAINS
3. SATISFACTION CONSTRAINTS
4. SOLUTION 4
Example 2: N-Queens on a Chess Board

1. VARIABLES
2. DOMAINS
3. SATISFACTION CONSTRAINTS
4. SOLUTION

5
Example 3: Airport Flight Gate Scheduling

1. VARIABLES
2. DOMAINS
3. SATISFACTION CONSTRAINTS
4. OPTIMIZATION CRITERIA 6
5. SOLUTION
Example 4: Time Table Preparation

1. VARIABLES
2. DOMAINS
3. SATISFACTION
CONSTRAINTS
4. OPTIMIZATION
CRITERIA
5. SOLUTION

7
Example 5: Scene Labelling

8
Example 6: Hubble Telescope

9
Constraint Satisfaction Problems: II
CSP Algorithms

Partha P Chakrabarti
Indian Institute of Technology Kharagpur
Sept 13, 2019
Solution Overview
• The following Basic Steps are followed:
– CSP Graph Creation:
• Create a Node for Every Variable. All possible Domain Values are initially
Assigned to the Variable
• Draw edges between Nodes if there is a Binary Constraint. Otherwise Draw a
hyper-edge between nodes with constraints involving more than two variables
– Constraint Propagation:
• Reduce the Valid Domains of Each Variable by Applying Node Consistency, Arc
/ Edge Consistency, K-Consistency, till no further reduction is possible. If a
solution is found or the problem found to have no consistent solution, then
terminate
– Search for Solution:
• Apply Search Algorithms to Find Solutions
• There are interesting properties of CSP graphs which lead of efficient
algorithms in some cases: Trees, Perfect Graphs, Interval Graphs, etc
• Issues for Search: Backtracking Scheme, Ordering of Children, Forward
Checking (Look-Ahead) using Dynamic Constraint Propagation
• Solving by Converting to Satisfiability (SAT) problems

11
Draw the CSP Graph for the Crossword
1 2 3

Word List:
astar, happy, hello, hoses, live, load,
loom, peal, peel, save, talk, ant, oak, old
12
Draw CSP Graphs for the Following
Flight No Dep Time

F1 7:00

F2 8:30

F3 7:45

CRYPTARITHMETIC F4 9:45

F5 10:00

F6 9:00

F7 11:00

FLIGHT GATE
SCHEDULING

13
MAP COLOURING
Flight Gate Scheduling

Flight No Dep Time G Start G End


F1 F2
F1 7:00 6:15 7:15
F2 8:30 7:45 8:45
F3 7:45 7:00 8:00
F4 9:45 9:00 10:00 F3 F4
F5 10:00 9:15 10:15
F6 9:00 8:15 9:15
F7 11:00 10:15 11:15
F5 F6

These are special kinds of


graphs called INTERVAL F7
GRAPHS
14
Constraint Propagation Schemes
• Constraints
– Unary Constraints or Node Constraints
– Binary Constraints or Edges between CSP Nodes
– Higher order or Hyper-Edges between CSP Nodes
• Node Consistency
– For every Variable V_i, remove all elements of D_i that do not satisfy the
Unary Constraints for the Variable
– First Step is to reduce the domains using Node Consistency
• Arc Consistency
– For every element x_ij of D_i, for every edge from V_i to V_j, remove x_ij if
it has no consistent value(s) in other domains satisfying the Constraints
– Continue to iterate using Arc Consistency till no further reduction happens.
• K-Consistency or Path Consistency
– For every element y_ij of D_i, choose a Path of length L with L variables, use
a consistency checking method similar to above to reduce domains if
possible

15
Apply Constraint Propagation for the Crossword
1 2 3 Word List:
astar, happy, hello,
hoses, live, load,
4 loom, peal, peel,
save, talk, ant, oak,
old
Applying Node Consistency:
D1 = {astar, happy, hello, hoses}
D2 = {live, load, loom, peal, peel, save, talk}
D3 = {ant, oak, old}
D4 = {live, load, loom, peal, peel, save, talk}
NOW APPLY ARC CONSISTENCY 16
Arc consistency algorithm AC-3

Time complexity: O(n2d3)


17
Backtracking Algorithm for CSP
CSP-BACKTRACKING({})
partial assignment
CSP-BACKTRACKING(a) of variables
– If a is complete then return a
– X  select unassigned variable
– D  select an ordering for the domain of X
– For each value v in D do
• If v is consistent with a then
– Add (X= v) to a
– result  CSP-BACKTRACKING(a)
– If result  failure then return result
– Return failure
Search: Q
4 Queens Q

Q Q

X
Q
Q

Q Q
Q Q
X
Q Q

 
Strategies for CSP Search Algorithms
• Initial Constraint Propagation
• Backtracking Search
– Variable Ordering
• Most Constrained Variable / Minimum Remaining Values
• Most Constraining Variable
– Value Ordering
• Least Constraining Value leaving maximum flexibility
– Dynamic Constraint Propagation Through Forward Checking
• Preventing useless Search ahead
– Dependency Directed Backtracking
• SAT Formulations and Solvers
• Optimization
– Branch-and-Bound
– SMT Solvers, Constraint Programming
• Learning, Memoizing, etc
• CSP Problems are NP-Hard in General
20
Forward Checking: 3 Colouring Problem
• Forward checking propagates information from assigned to unassigned
variables

B C
A B C D E F
{R, G, {R, G, {R, G, {R, G, {R, G, {R, G,
F B} B} B} B} B} B}
A
{G, B} {R, G, {G, B} {R, G, {R, G,
B} B} B}
D E {B} {B} {R, G, {R, B}
B}

• B and D cannot both be blue! X


• Why did we not detect this?
• Forward checking detects some inconsistencies, not all
• Constraint propagation: reason from constraint to constraint
Special Cases

For PERFECT GRAPHS, CHORDAL GRAPHS, INTERVAL GRAPHS, the


Graph Colouring Problem can be solved in Polynomial Time

06/08/21 22
Solving CSP using SAT / SMT Solvers
• Boolean Satisfiability (SAT) is a CSP
• CSPs can be modelled as SAT problems
– Try: Map Colour, Gate Scheduling, n-Queens
– Home Exercise: Write a Generic Scheme to Convert and CSP
Problem to a SAT Problem
• SAT has very efficient solvers
– MiniSAT, CHAFF, GRASP, etc
• For Optimization cases, we can formulate them as
– Satisfiability Modulo Theories (SMT) – with arithmetic and first
order logic
– 0/1 or Integer Linear Programming (ILP)
– Constraint Programming Problems
– SMT Solvers: Z3, Yices, Barcelogic, MathSAT, OpenSMT, etc 23
Thank you

You might also like