i am patrick prosser i am a senior lecturer at glasgow (and strathclyde till mid april)

22

Upload: daryl-lane

Post on 01-Jan-2016

55 views

Category:

Documents


2 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

•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

Constraint Satisfaction

• What is it?

• Who cares (any applications?)

• What’s the challenge?

Patrick Prosser

Constraint Satisfaction

1 2 3 4 5 6

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)

1A 1 across

4D 4 down

2D 2 down

4A 4 across

7D 7 down

1 2 3 4 5 6

4

71A 4D

2D

7D

4A

An example

Variables

1 2 3 4 5 6

4

71A 4D

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

1 2 3 4 5 6

4

71A 4D

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

1 2 3 4 5 6

4

71A 4D

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!

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 2 3 4 5 6

4

71A 4D

2D

7D

4A

An example

Good old fashioned BT!

What variable should I choose?

1 2 3 4 5 6

4

71A 4D

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?

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

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?

What makes a problem hard?

• Size?• More words in our crossword?• Bigger dictionary?

• Tightness?• A smaller dictionary?• More crossings between words

• Phase transition phenomena

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

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

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?

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•

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