slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
I am Patrick Prosser I am a senior lecturer at Glasgow (and Strathclyde till mid April) I teach algorithms & data st PowerPoint Presentation
Download Presentation
I am Patrick Prosser I am a senior lecturer at Glasgow (and Strathclyde till mid April) I teach algorithms & data st

Loading in 2 Seconds...

play fullscreen
1 / 22

I am Patrick Prosser I am a senior lecturer at Glasgow (and Strathclyde till mid April) I teach algorithms & data st - PowerPoint PPT Presentation


  • 252 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'I am Patrick Prosser I am a senior lecturer at Glasgow (and Strathclyde till mid April) I teach algorithms & data st' - jaden


Download Now 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2

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

Patrick Prosser

Constraint Satisfaction

What is it?

Who cares (any applications?)

What’s the challenge?

constraint satisfaction5
Constraint Satisfaction

15 years research in 15 minutes

slide6

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)

slide7

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

slide8

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

slide9

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

slide10

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!

slide11

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!

slide12

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!

search algorithms
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
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!!

slide15

What makes a problem hard?

  • Size?
    • More words in our crossword?
    • Bigger dictionary?
  • Tightness?
    • A smaller dictionary?
    • More crossings between words
  • Phase transition phenomena
slide17

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
slide18

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?

slide19

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

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

slide21

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