slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CSCE 896-004, Fall 2009 cse.unl/~choueiry/F09-896-004/ Questions : cse421@cse.unl PowerPoint Presentation
Download Presentation
CSCE 896-004, Fall 2009 cse.unl/~choueiry/F09-896-004/ Questions : cse421@cse.unl

Loading in 2 Seconds...

play fullscreen
1 / 56

CSCE 896-004, Fall 2009 cse.unl/~choueiry/F09-896-004/ Questions : cse421@cse.unl - PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on

Constraint Satisfaction 101. CSCE 896-004, Fall 2009 www.cse.unl.edu/~choueiry/F09-896-004/ Questions : cse421@cse.unl.edu Broadcast : cse421-ml@cse.unl.edu Berthe Y. Choueiry (Shu-we-ri) AVH 360 choueiry@cse.unl.edu Tel: +1(402)472-5444. Outline.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CSCE 896-004, Fall 2009 cse.unl/~choueiry/F09-896-004/ Questions : cse421@cse.unl' - reed-sullivan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Constraint Satisfaction 101

CSCE 896-004, Fall 2009

www.cse.unl.edu/~choueiry/F09-896-004/

Questions: cse421@cse.unl.edu

Broadcast: cse421-ml@cse.unl.edu

Berthe Y. Choueiry (Shu-we-ri)

AVH 360

choueiry@cse.unl.edu

Tel: +1(402)472-5444

Overview 1

outline
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
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
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
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

constraint processing
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.

Overview 1

power of constraints processing

relax

reinforce

Power of Constraints Processing
  • Flexibility & expressiveness of representations
  • Interactivity
  • users can constraints

Overview 1

outline1
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
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
Definition of a CSP
  • GivenP = (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?

Overview 1

other queries
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.

Overview 1

representation i
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

Overview 1

slide13

v1 < v2

V1

{1, 2, 3, 4}

{ 3, 6, 7 }

V2

v1+v3 < 9

v2 > v4

v2 < v3

{ 3, 4, 9 }

{ 3, 5, 7 }

V3

V4

Representation II

  • Given P = (V, D, C ), where
  • Example I:
  • Define C ?

Overview 1

outline2
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
Example II: Temporal reasoning
  • Give one solution: …….
  • Satisfaction, yes/no: decision problem

Overview 1

example iii map coloring
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
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

{ a, b, c }

{ a, b } { a, c, d }

{ b, c, d }

Example IV: Resource Allocation

What is the CSP formulation?

Overview 1

example iv ra cont d

{ a, b, c }

{ a, b } { a, c, d }

{ b, c, d }

Constraint Graph

T1

{ R1, R3 }

T4

T6

{ R1, R2, R3 }

{ R2, R4 }

{ R1, R3 }

{ R2, R4 }

{ R1, R2, R3 }

T7

T3

{ R1, R3 }

T5

Example IV: RA (cont’d)

Interval Order

{ R1, R3 }

T1

{ R1, R3 }

T2

{ R1, R3, R4 }

{ R1, R3 }

T2

T4

T3

{ R1, R2, R3 }

T5

{ R2, R4 }

T6

{ R2, R4 }

T7

Overview 1

example v puzzle
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?

Overview 1

example v puzzle cont d
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: …

Overview 1

example vi product configuration
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 cryptarithmetic puzzles
Example VII: 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,D,U,V,R,O})

Overview 1

constraint types examples

v1 < v2

Constraint Graph

V1

{1, 2, 3, 4}

{ 3, 6, 7 }

T1

V2

{ R1, R3 }

T4

T6

{ R1, R2, R3 }

v1+v3 < 9

v2 > v4

v2 < v3

{ R2, R4 }

{ R1, R3 }

{ 3, 4, 9 }

{ 3, 5, 7 }

V3

V4

{ R2, R4 }

{ R1, R2, R3 }

T7

T3

{ R1, R3 }

T5

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

Overview 1

more examples
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

Overview 1

outline3
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

V1

a, b

V3

V2

a, c

b, c

Representation (again)

Macrostructure G(P):

- constraint graph for

binary constraints

- constraint network for

non-binary constraints

Micro-structure (P):

Co-microstructure co-(P):

(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

slide28

v1 < v2

V1

{1, 2, 3, 4}

{ 3, 6, 7 }

V2

v1+v3 < 9

v2 > v4

v2 < v3

{ 3, 4, 9 }

{ 3, 5, 7 }

V3

V4

Constraint arity I

  • Given P = (V, D, C ) , where
  • How to represent the constraint V1 + V2 + V4 < 10?

Overview 1

slide29

Constraint arity II

  • Given P = (V, D, C ) , where

Constraints: universal, unary, binary, ternary, … , global.

A Constraint Network:

Overview 1

domain types
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

Overview 1

constraint terminology
Constraint terminology
  • Scope: The set of variables to which the constraint applies
  • Arity: unary, binary, ternary, …, global
  • Definition:
    • Extension: all tuples are enumerated
    • Intension: 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 function
    • Set of tuples (list or table)
    • Binary matrix (bit-matrix)
    • Constrained Decision Diagrams ([Cheng & Yap, AAAI 05])
    • etc.

Overview 1

complexity of csp
Complexity of CSP

Characterization:

  • Decision problem
  • In general, NP-complete

by reduction from 3SAT

Overview 1

proving np completeness
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 transformationf from 2 to 1
    • Prove that f is a polynomial transformation

(Check Chapter 3 of Garey & Johnson)

Overview 1

what is sat
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
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
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

Overview 1

csp into sat cont
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

outline4
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
How to solve a CSP?

Search

  • 1. Constructive, systematic
  • 2. Iterative repair, local search

Overview 1

before starting search
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

1 2 3 4

V1

V2

V3

V4

4 Rows

4 Column positions

V11 V12 V13 V14

16 Cells

V21 V22 V23 V24

V31 V32 V33 V34

V41 V42 V43 V44

Importance of modeling
  • N-queen: formulation 1
    • Variables?
    • Domains?
    • Size of CSP?
  • N-queens: formulation 2
    • Variables?
    • Domains?
    • Size of CSP?

{0,1}

Overview 1

constraint checking

13

1- B: [ 5 .. 14 ]

14

C: [ 6 .. 15 ]

2- A: [ 2 .. 10 ]

2

C: [ 6 .. 14 ]

14

6

Constraint checking
  • Arc-consistency

B

A < B

A

[ 5.... 18]

B < C

[ 1.... 10 ]

2 < C - A < 5

3- B: [ 5 .. 13 ]

[ 4.... 15]

C

Overview 1

constraint checking1
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
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 i back checking
Systematic search (I)Back-checking
  • Systematic search generates dnpossibilities
  • Are all possibilities acceptable?
  • Expand a partial solution only when it is consistent
  • This yields early pruning of inconsistent paths

Overview 1

systematic search ii chronological backtracking
Systematic search (II)Chronological backtracking

What if only one solution is needed?

  • Depth-first search & Chronological backtracking
  • DFS: Soundness? Completeness?

Overview 1

systematic search iii intelligent backtracking
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.

Overview 1

systematic search iv ordering heuristics
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)

Overview 1

systematic search v back checking

3

1

2

2

2

4

1

3

4

1

3

1

4

1

2

4

4

1

1

2

3

3

2

2

Q

Q

Q

Q

Q

Q

Q

1

3

Solution!

26 nodes visited.

Systematic search (V)Back-checking
  • Search tree with only backtrack search?

Root node

Q

Overview 1

systematic search vi forward checking

2

1

1

3

4

3

4

2

Q

Q

Q

Q

Q

Domain Wipe Out V3

Q

Q

Domain Wipe Out V4

Q

Solution!

8 nodes visited.

Systematic search (VI)Forward checking

Search Tree with domains filter by Forward Check

Root node

Overview 1

improving bt search
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
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
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
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
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
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

Overview 1