Page 1
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
CSP: Examples• Industrial applications: scheduling, resource
allocation, product configuration, etc.
• AI: Logic inference, temporal reasoning, NLP, etc.
1
• Puzzles: Sudoku & Minesweeper
Page 2
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Constraint propagation• Removes from the problem values (or
combinations of values) that are inconsistent with the constraints
• Does not eliminate any solution
2
<
<
== <
<
1,2,10
1,6,11
2,4,6,93,5,7
3,5,75,6,7,8
8,9,11
<
<
<
Page 3
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Sudoku as a CSP• Each cell is a variable (decision) with the domain [1..9] (choices)• Two models: Binary, 810 AllDiff binary constraints
Non-binary, 27 AllDiff constraints of arity 9
3
Joint work with C. Reeson
Page 4
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
GAC on AllDiff
[Régin, 94]• Arcs that do not appear in any
matching that saturates the variables correspond to variable-value pairs that cannot appear in any solution
• GAC on AllDiff is poly time
Propagation algorithms: demo• Arc Consistency (AC)
4
• Generalized AC (GAC)
c9
c1
c2
c3
c4
c5
c6
c7
c8
1
2
3
4
5
6
7
8
9
Page 5
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Minesweeper as a CSP demo
5
Exactly two mines:000001100001010000110, etc.
Exactly three mines:000011100011010001110, etc.
• Variables are the cells• Domains are {0,1} (i.e., safe or mined)• One constraint for each cell with a number (arity 1...8)
Joint work with R. Woodward, K. Bayer & J. Snyder
Page 6
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Geospatial reasoning
Joint work with K. Bayer, M. Michalowski & C.A. Knoblock (USC)
6
Google Maps
Yahoo Maps
Actual location
Microsoft Live Local(as of November 2006)
Page 7
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples 7
• Layout: streets and buildings
• Phone book– Complete/incomplete – Assumption: all addresses in
phone book correspond to a building in the layout
Building Identification (BID) problem
B6B8
B2B4
B5
B3
B9
B10B7
B1
S1 S2
S3
Si
= Building
= Corner building
= Street
S1#1, S1#4, S1#8, S2#7, S2#8, S3#1,S3#2, S3#3, S3#15, …
Page 8
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples 8
Basic (address numbering) rules• No two buildings can have the same address• Ordering
– Numbers increase/decrease along a street
• Parity– Numbers on a given side of a street are odd/even
Ordering
B1 < <B2 B3Odd
Even
Parity
B1
B2
B3
B4
Page 9
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples 9
Additional information
Landmarks
B1 B2
1600 Pennsylvania Avenue
Gridlines
B1 B2
S1
S1 #138 S1 #208
Page 10
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples 10
Query1. Given an address, what buildings could it be?
B6B8
B2
B4
B5
B3
B9
B10B7
B1
S1 S2
S3
Si
= Building
= Corner building
= Street
S1#1,S1#4,S1#8,S2#7,S2#8,S3#1,S3#2,S3#3,
S3#15S1#1,S3#1,S3#15
2. Given a building, what addresses could it have?
Page 11
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples 11
CSP model
S1
S2
B2
OddOnNorth
B1B1c
B3 B4 B5
B1 B2
IncreasingEast
Page 12
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples 12
Example constraint network
B6-corner
O
P Phone-book Constraint
Ordering Constraint
Variable
P
P
PO
O
O
OO
O O
OOOB1-corner
B1B2
B3
B8
B9
B2-corner
IncreasingNorth
OddOnEastSide
B4-corner
B8-corner
B7
B4 B6B5
OddOnNorthSide
IncreasingEast
B6B8
B2
B4
B5
B3
B9
B10B7
B1
S1 S2
S3
Si
= Building
= Corner building
= Street
S1#1,S1#4,S1#8,S2#7,S2#8,S3#1,S3#2,S3#3,
S3#15
Page 13
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
GTAAP: Task
• Hiring & managing GTAs as instructors + graders– Given
• A set of courses• A set of graduate teaching assistants• A set of constraints that specify allowable assignments
– Find a consistent & satisfactory assignment• Consistent: assignment breaks no (hard) constraints• Satisfactory: assignment maximizes
1. number of courses covered 2. happiness of the GTAs
• Often, number of hired GTAs is insufficient
Page 14
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Motivation• Context
– “Most difficult duty of a department chair” [Reichenbach, 2000]
– Assignments done manually, countless reviews, persistent inconsistencies
– Unhappy instructors, unhappy GTAs, unhappy students
• Observation– Computers are good at maintaining consistency– Humans are good at balancing tradeoffs
• Our solution– An online, constraint-based system
– With interactive & automated search mechanisms
Page 15
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Outline
• Task & Motivation
• System Architecture & Interfaces
• Scientific aspects– Problem Modeling – Problem Solving– Comparing & Characterizing Solvers
• Motivation revisited & Conclusions
Page 16
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
System Architecture
1. Web-interface for applicants
Password ProtectedAccess for GTAs
http://cse.unl.edu/~gta
Cooperative, hybrid Search Strategies
Other structured,semi-structured,
orunstructured DBs
In progress
Visualization widgets
Password ProtectedAccess for Managerhttp://cse.unl.edu/~gta
2. Web-interface for manager View / edit GTA records Setup classes Specify constraints Enforce pre-assignments
Local DB
3. A local relational database Graphical selective queries
Interactive Search
Automated SearchHeuristic BT
Stochastic LSMulti-agent Search
Randomized BT4. Drivers for
Interactive assignments Automated search algorithms
Page 17
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
GTA interface: Preference Specification
Page 18
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Manager interface: TA Hiring & Load
Page 19
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Outline
• Task & Motivation
• System Architecture & Interfaces
• Scientific aspects– Problem Modeling– Problem Solving– Comparing & Characterizing Solvers
• Motivation revisited & Conclusions
Page 20
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Constraint-based Model• Variables
– Grading, conducting lectures, labs & recitations
• Values– Hired GTAs (+ preference for each value in domain)
• Constraints– Unary: ITA certification, enrollment, time conflict, non-
zero preferences, etc.– Binary (Mutex): overlapping courses– Non-binary: same-TA, capacity, confinement
• Objective– longest partial and consistent solution (primary criterion)– while maximizing GTAs’ preferences (secondary criterion)
Page 21
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Outline
• Task & Motivation
• System Architecture & Interfaces
• Scientific aspects– Problem Modeling– Problem Solving– Comparing & Characterizing Solvers
• Motivation revisited & Conclusions
Page 22
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Problem Solving• Interactive decision making
– Seamlessly switching between perspectives– Propagates decisions (MAC)
• Automated search algorithms– Heuristic backtrack search (BT)– Stochastic local search (LS)– Multi-agent search (ERA)– Randomized backtrack search (RDGR)– Future: Auction-based, GA, MIP, LD-search, etc.
• On-going: Cooperative/hybrid strategies
Page 23
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Manager interface: Interactive Selection
Page 24
Constraint Systems Laboratory
Dual perspectiveTask-centered view Resource-centered view
Page 25
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Heuristic BT Search• Since we don’t know, a priori, whether instance is
solvable, tight, or over-constrained– Modified basic backtrack mechanism to deal with this situation
• We designed & tested various ordering heuristics: – Dynamic LD was consistently best
• Branching factor relatively huge (30)– Causes thrashing, backtrack never reaches early variables
24 hr: 51 (26%)
1 min: 55 (20%)
Max depth: 57
Shallowest level reached by BT after …
Nu
mb
er
of
varia
ble
s: 6
9
Depth of the tree: 69
Page 26
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Stochastic Local Search• Hill-climbing with min-conflict heuristic• Constraint propagation:
– To handle non-binary constraints (e.g., high-arity capacity constraints)
• Greedy: – Consistent assignments are not undone
• Random walk to avoid local maxima• Random restarts to recover from local
maxima
Page 27
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Multi-Agent Search (ERA) [Liu et al. 02]
• “Extremely” decentralized local search– Agents (variables) seek to occupy best positions (values)– Environment records constraint violation in each position of an
agent given positions of other agents– Agents move, egoistically, between positions according to
reactive Rules
• Decisions are local – An agent can always kick other agents from a favorite position
even when value of ‘global objective function’ is not improved ERA appears immune to local optima
• Lack of centralized control– Agents continue to kick each other Deadlock appears in over-constrained problems
Page 28
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Randomized BT Search• Random variable/value selection allows
BT to visit a wider area of the search space [Gomes et al. 98]
• Restarts to overcome thrashing
• Walsh proposed RGR [Walsh 99]
• Our strategy, RDGR, improves RGR with dynamic choice of cutoff values for the restart strategy [Guddeti & Choueiry 04]
Page 29
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Optimizing solutions
• Primary criterion: solution length– BT, LS, ERA, RGR, RDGR
• Secondary criterion: preference values– BT, LS, RGR, RDGR– Criterion:
• Average preference• Geometric mean• Maximum minimal preference
Page 30
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
More Solvers…
• Interactive decision making
• Automated search algorithms– BT, LS, ERA, RGR, RDGR.– Future: Auction-based, GA, MIP, LD-
search, etc.
• On-going: Cooperative / hybrid strategies
Page 31
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Outline
• Task & Motivation
• System Architecture & Interfaces
• Scientific aspects– Problem Modeling– Problem Solving– Comparing & Characterizing Solvers
• Motivation revisited & Conclusions
Page 32
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Conclusions• Integrated interactive & automated problem-
solving strategies– Reduced the burden of the manager– Lead to quick development of ‘stable’ solutions
• Our efforts – Helped the department– Trained students in CP techniques– Paved new avenues for research
• Cooperative, hybrid search• Visualization of solution space
Page 33
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
Other sample projects1. Graduate TA Assignment Project (GTAAP)
• Modeling, search, GUI
2. Temporal Reasoning• Constraint propagation, search, graph theory
3. Symmetry detection• Search, databases (computational)
4. Structural decompositions• Databases (theory), tractability results
33
Page 34
Constraint Systems Laboratory
February 18, 2009 CSP Modeling Examples
The Research
• Modeling & Reformulation
• Propagation algorithms
• Search algorithms
• Decomposition algorithms
• Symmetry identification & breaking
34