Presentation is loading. Please wait.

Presentation is loading. Please wait.

at Glasgow (and Strathclyde till mid April)

Similar presentations


Presentation on theme: "at Glasgow (and Strathclyde till mid April)"— Presentation transcript:

1

2 at Glasgow (and Strathclyde till mid April)
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 Constraint Satisfaction What is it? Who cares (any applications?) What’s the challenge?

4

5 Constraint Satisfaction
15 years research in 15 minutes

6 Make a crossword puzzle!
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 1A 4D 4A 2D 7D Variables 1A 1 across 4D 4 down 2D 2 down
3 4 5 6 7 1A 4D 4 4A 2D 1A across 4D down 2D down 4A across 7D down 7D Variables

8 An example 1A 4D 4A 2D 7D Constraints
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 Domains (also unary constraints!)
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 1A 4D 4A 2D 7D Good old fashioned BT! Choose a variable
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? 1A 4D 4A 2D 7D Decisions, decisions!
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 (1960’s) 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 More words in our crossword? Bigger dictionary? Tightness?
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

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


Download ppt "at Glasgow (and Strathclyde till mid April)"

Similar presentations


Ads by Google