Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1

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 What is it? Who cares (any applications?) What’s the challenge? Patrick Prosser

4

5 Constraint Satisfaction

6 1 23456 4 7 An example Make a crossword puzzle! Given the above grid and a dictionary, fill it. Then go get the clues (not my problem)

7 1A 1 across 4D 4 down 2D 2 down 4A 4 across 7D 7 down 1 23456 4 7 1A4D 2D 7D 4A An example Variables

8 1 23456 4 7 1A4D 2D 7D 4A An example 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 Constraints

9 1 23456 4 7 1A4D 2D 7D 4A An example 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 Domains (also unary constraints!)

10 1 23456 4 7 1A4D 2D 7D 4A An example Find an assignment of values to variables, from their domains, such that the constraints are satisfied (or show that no assignment exists) A CSP!

11 Choose a variable Assign it a value Check compatibility If not compatible try a new value If no values remain re-assign previous variable 1 23456 4 7 1A4D 2D 7D 4A An example Good old fashioned BT!

12 What variable should I choose? 1 23456 4 7 1A4D 2D 7D 4A Questions? Decisions, decisions! What value should I choose? What reasoning can I do when making an assignment? What reasoning can I do on a dead end?

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? Static or dynamic? … we aint even considered values!! Minimise constrainedness?

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

17 Constraint Propagation Should we embed these in the search process? MAC -- AC in BT, the heart of CP What level of consistency is worthwhile? Arc/path/inverse/singleton … 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

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

19 Representation Three examples change arity of constraints view the problem as something else jssp at vrp interchange variables and values (think 3COL) 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?

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 "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."

Similar presentations


Ads by Google