constraint programming peter van beek university of waterloo

Post on 28-Mar-2015

228 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Constraint Programming

Peter van Beek

University of Waterloo

Applications

Reasoning tasks: abductive, diagnostic, temporal, spatial

Cognitive tasks: machine vision, natural language processing

Combinatorial tasks: scheduling, sequencing, planning

Constraint Programming

CP = solve problems by specifying

constraints on acceptable solutions

Why CP? constraints often a natural part of problems once problem is modeled using constraints, wide

selection of solution techniques available

Constraint-based problem solving

Model problem specify in terms of constraints on acceptable solutions define variables (denotations) and domains define constraints in some language

Solve model define search space / choose algorithm

– incremental assignment / backtracking search

– complete assignments / stochastic search

design/choose heuristics

Verify and analyze solution

Model problem specify in terms of constraints on acceptable solutions define variables (denotations) and domains define constraints in some language

Solve model define search space / choose algorithm

– incremental assignment / backtracking search

– complete assignments / stochastic search

design/choose heuristics

Verify and analyze solution

Constraint-based problem solving

ConstraintSatisfactionProblem

Constraint satisfaction problem

A CSP is defined by a set of variables a domain of values for each variable a set of constraints between variables

A solution is an assignment of a value to each variable that

satisfies the constraints

Model problem specify in terms of constraints on acceptable solutions define variables (denotations) and domains define constraints in some language

Solve model define search space / choose algorithm

– incremental assignment / backtracking search

– complete assignments / stochastic search

design/choose heuristics

Verify and analyze solution

Constraint-based problem solving

Example: Assembly line sequencing

What order should the cars be manufactured?

Constraints: even distributions changes in colors run length constraints

Example: Scheduling

Algy Bertie Charlie Digby1st FT 60 Guardian 75 Express 5 Sun 902nd Guardian 30 Express 3 Guardian 15 FT 13rd Express 2 FT 25 FT 10 Guardian 14th Sun 5 Sun 10 Sun 30 Express 1

What is the earliest that they can all set of for school?

Four students, Algy, Bertie, Charlie, and Digby share a flat.Four newspapers are delivered.Each student reads the newspapers in a particular order and for a specified amount of time.Algy arises at 8:30, Bertie and Charlie at 8:45, Digby at 9:30.

Schedule

Sun

8 am 9 10 11

Express

Guardian

FT

Example: Graph coloring

Given k colors, does there exist a coloring of the nodes such that adjacent nodes are assigned different colors

Example: 3-coloring

Variables: v1, v2 , v3 , v4 , v5

Domains: {1, 2, 3}

Constraints: vi vj if vi and vj

are adjacent

v2

v3

v1

v5

v4

Example: 3-coloring

One solution:

v1 1

v2 2

v3 2

v4 1

v5 3

v2

v3

v1

v5

v4

Example: Boolean satisfiability

Given a Boolean formula, does there exist a satisfying assignment (an assignment of true or false to each variable such that the formula evaluates to true)

Example: 3-SAT

Variables: x1, x2 , x3 , x4 , x5

Domains: {True, False}

Constraints: (x1 x2 x4), (x2 x4 x5), (x3 x4 x5)

(x1 x2 x4) (x2 x4 x5) (x3 x4 x5)

Example: 3-SAT

One solution:x1 False

x2 False

x3 False

x4 True

x5 False

(x1 x2 x4) (x2 x4 x5) (x3 x4 x5)

Example: n-queens

Place n-queens on an n n board so that no pair of queens attacks each other

Example: 4-queens

4

3

2

1

x1 x2 x3 x4Variables: x1, x2 , x3 , x4

Domains: {1, 2, 3, 4}

Constraints: xi xj and | xi - xj | | i - j |

Example: 4-queens

One solution:

x1 2

x2 4

x3 1

x4 3 4

3

2

1

x1 x2 x3 x4

Q

Q

Q

Q

Search tree for 4-queens

x1

x2

x3

x4

1 2 3 4

(1,1,1,1) (4,4,4,4)(2,4,1,3) (3,1,4,2)

Specification of forward checking

Invariant:1 i c,c j n,

(xj, xi) is arc-consistent

x1 xc-1 xc xc+1 xn

currentpast future

Forward checking

{2} {5}Q

Q

Q

1

1

11

1

1

1

1

1

2

2

2

22

2

3

3 3

33

{3}

{1,4,6}

{1,3,4}

{3,4,6}

x1 x5

x6

x3

x4

x2

4321 5 6 x1

x5

x6

x3

x4

x2

1

Enforcing arc-consistency

{a, b, c} {a, b, c}<

xi xj

Enforcing path-consistency

<

{a, b, c}

xi

{a, b, c}

xj

{a, b, c}

xk

<

<

Search graph for 4-queens

(1,1,1,1)(1,1,4,2)

(2,4,1,3)

(3,1,4,2)

(1,1,1,2)

(1,1,1,3)

(1,1,1,4)(1,4,1,3)

(4,1,4,2)

0

0

4

6

1

3

41

1

Stochastic search

Q

Q

Q x1

Q

Initial assignment

x2

x3

x4

1 12

Pick queen in conflict

Q

Q

Q x1

Q

x2

x3

x4

Move to min. conflicts

Q

Q

Q x1

Q

x2

x3

x4

0 2

Pick queen in conflict

Q

Q

Q x1

Q

x2

x3

x4

2

Tractability

NP

NP-Complete

P

(SAT, TSP, ILP, CSP, …)

Reducibility

NP-Complete

3-SAT

ILP

CSP binary CSP

(0,1)-ILP

CSP, binary CSP, SAT, 3-SAT, ILP, ...

Model and solve in one of these languages Model in one language, translate into

another to solve

Options

top related