Constraint Satisfaction - PowerPoint PPT Presentation

About This Presentation
Title:

Constraint Satisfaction

Description:

Make a crossword puzzle! Given the above grid and a dictionary, fill it. ... More words in our crossword? Bigger dictionary? Tightness? A smaller dictionary? ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 23
Provided by: patrick113
Category:

less

Transcript and Presenter's Notes

Title: Constraint Satisfaction


1
(No Transcript)
2
  • I am Patrick Prosser
  • I am a senior lecturer
  • at Glasgow (and Strathclyde till mid April)
  • I teach algorithms data structures in java
  • I am a member of
  • the algorithms group
  • the apes (distributed, not disbanded)
  • I am a Glaswegian

This is all that I am allowed to tell you
3
Constraint Satisfaction
Patrick Prosser
  • What is it?
  • Who cares (any applications?)
  • Whats the challenge?

4
(No Transcript)
5
Constraint Satisfaction
  • 15 years research in 15 minutes

6
An example
1
2
3
4
5
6
7
4
Make a crossword puzzle! Given the above grid and
a dictionary, fill it. Then go get the clues (not
my problem)
7
An example
1
2
3
4
5
6
7
1A
4D
4
4A
2D
1A 1 across 4D 4 down 2D 2
down 4A 4 across 7D 7 down
7D
Variables
8
An example
1
2
3
4
5
6
7
1A
4D
4
4A
2D
1A-4D 4th of 1A equals 1st of 4D 1A-2D 2nd of
1A equals 1st of 2D 2D-4A 4th of 2D equals 2nd
of4D 4D-4A 4th of 4A equals 4th of 4D 4A-7D 7th
of 4A equals 2nd of 7D
7D
Constraints
9
An example
1
2
3
4
5
6
7
1A
4D
4
4A
2D
1A any 6 letter word 4A any 8 letter word 4D
any 5 letter word 2D any 7 letter word 7D any 3
letter word
7D
Domains (also unary constraints!)
10
An example
1
2
3
4
5
6
7
1A
4D
4
4A
2D
Find an assignment of values to variables, from
their domains, such that the constraints are
satisfied (or show that no assignment exists)
7D
A CSP!
11
An example
1
2
3
4
5
6
7
1A
4D
4
4A
2D
Choose a variable Assign it a value Check
compatibility If not compatible try a new
value If no values remain re-assign previous
variable
7D
Good old fashioned BT!
12
Questions?
1
2
3
4
5
6
7
1A
4D
4
4A
2D
What variable should I choose?
7D
What value should I choose?
What reasoning can I do when making an assignment?
What reasoning can I do on a dead end?
Decisions, decisions!
13
Search Algorithms
  • BT (1960s)
  • BM (1979)
  • FC (1980)
  • MAC (1979)
  • CBJ (1993)
  • DB (1993)
  • Combinations of the above (1993-),
  • LDS (1995)
  • DDS (1997)
  • Incomplete Search (min conflicts?)

14
Heuristics
  • Fail First (aka minimum remaining values)
  • are you serious? Do you really want to fail?
  • Consider topology of constraint graph
  • degree of vertex, bandwidth of ordering,
  • Regret?
  • Minimise constrainedness?
  • Static or dynamic?
  • we aint even considered values!!

15
What makes a problem hard?
  • Size?
  • More words in our crossword?
  • Bigger dictionary?
  • Tightness?
  • A smaller dictionary?
  • More crossings between words
  • Phase transition phenomena

16
(No Transcript)
17
Constraint Propagation
  • Pre-process, remove inconsistencies
  • for each value, is there a supporting value?
  • Can I specialise this test/filter for the
    constraint
  • think of all-diff and edgeFinding
  • What level of consistency is worthwhile?
  • Arc/path/inverse/singleton
  • Should we embed these in the search process?
  • MAC -- AC in BT, the heart of CP

18
Inside Search
  • As search proceeds the remaining subproblem gets
    smaller
  • Does the subproblem get easier? Harder?
  • What features make it easier or harder
  • Can we design algorithms to exploit this?
  • Are the heuristic genuinely dynamic?

19
Representation
  • If we change the representation of the problem
    what effect will this have?
  • Could it make constraint propagation more
    effective?
  • Could it give more information to the
    heuristics?
  • Will it make search easier?
  • Three examples
  • change arity of constraints
  • view the problem as something else
  • jssp at vrp
  • interchange variables and values (think 3COL)

20
Applications
  • Constraint Programming Languages
  • CHIP, ILOG Solver (G), Claire, eClipSe, ...
  • Scheduling (ILOG Schedule, Eclaire)
  • Transportation (ILOG Dispatcher, BT WFM)
  • Frequency Allocation
  • Gate Management
  • Car Sequencing
  • Design (car interiors)
  • Configuration (discs, computers, )
  • Timetabling
  • Real-time resource allocation (weapon systems)
  • Folding

21
Challenges
  • Combine CP with OR
  • Push the existing technology to larger problems
  • Design new constraints/propagators
  • Understand the role of representation
  • Better understanding of search process
  • Better understanding of pre-processing

22
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com