Constraint Processing and Programming Introductory Exemple - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Constraint Processing and Programming Introductory Exemple

Description:

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

Number of Views:186
Avg rating:3.0/5.0
Slides: 41
Provided by: upc90
Category:

less

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
are adjacent
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
Write a Comment
User Comments (0)
About PowerShow.com