# Constraint Processing and Programming Introductory Exemple - PowerPoint PPT Presentation

1 / 40
Title:

## Constraint Processing and Programming Introductory Exemple

Description:

### Constraint Processing and Programming Introductory Exemple Javier Larrosa – PowerPoint PPT presentation

Number of Views:148
Avg rating:3.0/5.0
Slides: 41
Provided by: upc90
Category:
Tags:
Transcript and Presenter's Notes

Title: Constraint Processing and Programming Introductory Exemple

1
Constraint Processing and ProgrammingIntroductory
Exemple
• Javier Larrosa

2
Combinatorial Problem Solving
• Science and Engineering are full of
Combinatorial Problems
• Solving algorithms are exponentially
expensive
• A lot of tricks can be applied to improve
performance
• Naive Approach
• For each problem, design and implement an
efficient algorithm

3
• Place numbers 1 through 8 on nodes
• each number appears exactly once
• no connected nodes have consecutive numbers

Note the graph symmetry
Acknowledgement Patrick Prosser
4
Heuristic Search
Guess a value, but be prepared to backtrack
Which nodes are hardest to number?
5
Heuristic Search
Which nodes are hardest to number?
6
Heuristic Search
Which are the least constraining values to use?
Values 1 8
7
Heuristic Search
Symmetry means we dont need to consider 8 1
8
Inference/propagation
1,2,3,4,5,6,7,8
We can now eliminate many values for other nodes
9
Inference/propagation
3,4,5,6
3,4,5,6
By symmetry
10
Inference/propagation
3,4,5,6
1,2,3,4,5,6,7,8
3,4,5,6
11
Inference/propagation
3,4,5,6
3,4,5,6
3,4,5,6
3,4,5,6
By symmetry
12
Inference/propagation
3,4,5,6
3,4,5,6
3,4,5,6,7
2,3,4,5,6
3,4,5,6
3,4,5,6
13
Inference/propagation
3,4,5,6
3,4,5,6
3,4,5,6
3,4,5,6
14
Inference/propagation
3,4,5,6
3,4,5,6
3,4,5,6
3,4,5,6
And propagate
15
Inference/propagation
3,4,5
4,5,6
3,4,5
4,5,6
16
Inference/propagation
4,5,6
3,4,5
4,5,6
By symmetry
17
Inference/propagation
4,5,6
3,4,5
4,5,6
And propagate
18
Inference/propagation
5,6
4,5
4,5,6
More propagation?
19
Inference/propagation
A solution
20
The Declarative Approach to Combinatorial Problem
Solving
• Declarative Approach
• 1. Model the problem using a well-defined
language
• 2. Solve the problem using general-purpose
techniques
• Constraint Programming and SAT solving follow
this approach.

21
Constraint programming methodology
• Model problem
• Solve model
• Verify and analyze solution
• specify in terms of constraints on acceptable
solutions
• define/choose constraint model
• variables, domains, constraints
• define/choose algorithm
• define/choose heuristics

22
Constraint programming methodology
• Model problem
• Solve model
• Verify and analyze solution
• specify in terms of constraints on acceptable
solutions
• define/choose constraint model
• variables, domains, constraints
• define/choose algorithm
• define/choose heuristics

Constraint Satisfaction Problem
23
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

24
Given a CSP
• Determine whether it has a solution or not
• Find any solution
• Find all solutions
• Find an optimal solution, given some cost function

25
Constraint model for puzzle
variables v1, , v8 domains 1, , 8
constraints v1 v2 ? 1 v1 v3 ? 1
v7 v8 ? 1 alldifferent(v1, , v8)
26
Example instruction scheduling
(a b) c
Given a basic-block of code and a single-issue
pipelined processor, find the minimum schedule
27
Example evaluate (a b) c
instructions A r1 ? a B r2 ? b C r3
? c D r1 ? r1 r2 E r1 ? r1 r3
28
Example evaluate (a b) c
non-optimal schedule A r1 ? a B r2 ?
b nop nop D r1 ? r1 r2 C r3 ?
c nop nop E r1 ? r1 r3
29
Example evaluate (a b) c
optimal schedule A r1 ? a B r2 ? b C r3 ?
c nop D r1 ? r1 r2 E r1 ? r1 r3
30
Constraint model
variables A, B, C, D, E domains 1, , m
constraints D ? A 3 D ? B 3 E ? C 3 E
? D 1 alldifferent(A, B, C, D, E)
31
Example Graph coloring
Given k colors, does there exist a coloring of
the nodes such that adjacent nodes are assigned
different colors
32
Example 3-coloring
variables v1, v2 , v3 , v4 , v5 domains
1, 2, 3 constraints vi ? vj if vi and vj
v1
v2
v3
v4
v5
33
Example 3-coloring
A solution v1 ? 1 v2 ? 2 v3 ? 2
v4 ? 1 v5 ? 3
v1
v2
v3
v4
v5
34
Example n-queens
Place n-queens on an n ? n board so that no pair
of queens attacks each other
35
Constraint model
x1
x2
x3
x4
variables x1, x2 , x3 , x4 domains 1, 2,
3, 4 constraints xi ? xj and xi - xj
? i - j
1
2
3
4
36
Example 4-queens
x1
x2
x3
x4
A solution x1 ? 2 x2 ? 4 x3 ? 1 x4 ? 3
Q
1
Q
2
Q
3
Q
4
37
Constraint programming methodology
• Model problem
• Solve model
• Verify and analyze solution
• specify in terms of constraints on acceptable
solutions
• define/choose constraint model
• variables, domains, constraints
• define/choose algorithm
• define/choose heuristics

38
Constraint programming methodology
• Model problem
• Solve model
• Verify and analyze solution
• specify in terms of constraints on acceptable
solutions
• define/choose constraint model
• variables, domains, constraints
• define/choose algorithm
• define/choose heuristics

39
Application areas
• Paradigm of choice for many hard combinatorial
problems
• scheduling
• planning
• vehicle routing
• configuration
• bioinformatics

40
Commercial applications