1 / 22

I am Patrick Prosser I am a senior lecturer at Glasgow (and Strathclyde till mid April) I teach algorithms & dat

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.

jaden
Download Presentation

I am Patrick Prosser I am a senior lecturer at Glasgow (and Strathclyde till mid April) I teach algorithms & dat

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Patrick Prosser Constraint Satisfaction What is it? Who cares (any applications?) What’s the challenge?

  3. Constraint Satisfaction 15 years research in 15 minutes

  4. 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)

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

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

  7. 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!)

  8. 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!

  9. 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!

  10. 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!

  11. 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?)

  12. 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!!

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

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

  15. 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?

  16. 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)

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

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

More Related