InterBlockBacktracking: Exploiting Structure in Numerical CSPs Solving - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

InterBlockBacktracking: Exploiting Structure in Numerical CSPs Solving

Description:

InterBlock-Backtracking: Exploiting Structure in Numerical CSPs Solving. Christophe Jermann ... I3S/CNRS-INRIA, University of Nice. Outline ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 56
Provided by: researc46
Category:

less

Transcript and Presenter's Notes

Title: InterBlockBacktracking: Exploiting Structure in Numerical CSPs Solving


1
InterBlock-Backtracking Exploiting Structure in
Numerical CSPs Solving
  • Christophe Jermann
  • LINA/CNRS, University of Nantes
  • Joint work with
  • Bertrand Neveu, Gilles Trombettoni
  • I3S/CNRS-INRIA, University of Nice

2
Outline
  • IBB a general framework for solving decomposed
    NCSPs
  • Principle
  • Inputs
  • Process
  • IBBInterval an instance of IBB
  • Interval solving
  • Interblock Filtering
  • Experiments
  • Conclusion Future directions

3
Outline
  • IBB a general framework for solving decomposed
    NCSPs
  • Principle
  • Inputs/Parameters
  • Process
  • IBBInterval an instance of IBB
  • Interval solving
  • Interblock Filtering
  • Experiments
  • Conclusion Future directions

4
IBB general sight
  • Main ideas in Bliek et al, CP98
  • Since then, made a general framework
  • Parameters fix to obtain one instance of IBB
  • a (set of) solving method(s)
  • a backtracking process
  • optional a set of add-ons
  • Inputs
  • a decomposed numerical CSP (NCSP)
  • Output
  • One (or all the) solution(s) of the NCSP

5
Numerical CSPs
  • Defined by (X,D,C) where
  • X a set of variables
  • D a set of continuous domains, one for each x?X
  • C a set of constraints (equations, inequalities,
    ) on X
  • Applications
  • Physics forces, electrical measurements
  • Design Geometry distances, angles,
  • Program verification instructions with floats,
  • Robotics kinematic constraints,

6
Decomposed NCSPs
  • Decomposed(S) (S1, S2, , S3, lt, )
  • Si well-constrained sub-NCSP
  • lt partial order for Sis solving
  • partial solutions combination operator
  • Such that Sol(S1)Sol(S2)Sol(S3) Sol(S)
  • Why decompose ?
  • Divide conquer gt reduce solving complexity
  • Several kinds of decompositions
  • Equational Michelucci et al. 1996, Bliek et
    al. 1998,
  • Geometric Hoffmann et al 1995, Jermann et al.
    2000,

7
Solving methods
  • NCSP ? system of (non-linear) equations/inequaliti
    es
  • Symbolic Groebner basis,
  • Numeric Local (Newton-Raphson, ), Homotopy,
    Interval,
  • ? Generally, the structure is under-exploited
  • IBB allows to generically exploit the structure
    identified by decomposition

8
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
E
F
D
I
H
G
J
9
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
E
F
D
I
H
G
J
10
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
E
F
D
I
H
G
J
11
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
E
F
D
I
H
G
J
12
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
xB,yB
E
F
D
I
H
G
J
13
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
xB,yB
E
F
D
I
H
G
J
14
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
xB,yB
E
F
xE,yE
D
I
H
G
J
15
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
xB,yB
E
F
xE,yE
xF,yF
D
I
H
G
J
16
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
xB,yB
E
F
xE,yE
xF,yF
D
I
H
G
YD
J
17
Exploiting structure
  • Sub-NCSP block
  • A subset of constraints
  • All the induced variables
  • Input variables (computed in another block)
  • Output variables (computed in the block)
  • Partial order ? DAG

A
C
B
xB,yB
E
F
xE,yE
xF,yF
D
I
H
G
YD
xG,yG xH,yH xI,yI
J
18
Solving process
  • Choosing a total order
  • Compatible with the partial order
  • Fixes a static block ordering for backtracking
    purpose

xB,yB
xE,yE
xF,yF
YD
xG,yG xH,yH xI,yI
19
Solving a DAG of Blocks
  • Choosing a total order
  • Compatible with the partial order
  • Fixes a static block ordering for backtracking
    purpose

xB,yB
1
xE,yE
xF,yF
3
2
YD
xG,yG xH,yH xI,yI
5
4
20
Solving a DAG of Blocks
  • Solving each block in sequence
  • with a solving method which can differ from block
    to block

Search Tree
Block 1
xB,yB
1
Solving Method 1 gt Internal Search Tree
1 gt 2 solutions B1 and B2
xE,yE
xF,yF
3
2
YD
xG,yG xH,yH xI,yI
5
4
21
Solving a DAG of Blocks
  • Solving each block in sequence
  • with a solving method which can differ from block
    to block

Search Tree
Block 1
xB,yB
B1
Solving Method 2 gt Internal Search Tree
2 gt 2 solutions E1 and E2 Depending
on B1
1
Block 2
xE,yE
xF,yF
3
2
YD
xG,yG xH,yH xI,yI
5
4
22
Solving a DAG of Blocks
  • Solving each block in sequence
  • with a solving method which can differ from block
    to block

Search Tree
Block 1
xB,yB
B1
1
Block 2
xE,yE
xF,yF
E1
3
2
YD
xG,yG xH,yH xI,yI
5
4
No Solution in Block 5
23
Solving a DAG of Blocks
  • Backtracking
  • On no solution

Search Tree
Block 1
xB,yB
B1
1
Block 2
xE,yE
xF,yF
E1
3
2
Backtracking
YD
xG,yG xH,yH xI,yI
5
4
No Solution in Block 5
24
Solving a DAG of Blocks
  • Backtracking
  • On no solution
  • gt block solving should be complete for this
    purpose

Search Tree
Block 1
xB,yB
B1
1
Block 2
xE,yE
xF,yF
E1
E2
3
2
F1,D1,G1,H1,I1
YD
xG,yG xH,yH xI,yI
5
4
One global solution B1,E2,F1,D1,G1,H1,I1
25
Solving a DAG of Blocks
  • Backtracking
  • On no solution
  • Or on next solution
  • gt block solving should be complete for this
    purpose

Search Tree
Block 1
xB,yB
B1
Backtracking for completion
1
Block 2
xE,yE
xF,yF
E1
E2
3
2
F1,D1,G1,H1,I1
YD
xG,yG xH,yH xI,yI
5
4
One global solution B1,E2,F1,D1,G1,H1,I1
26
Solving a DAG of Blocks
  • Backtracking gt solving several times the same
    block but not the same problem !
  • Input variables parameters
  • gt Blocks parametric NCSPs

Search Tree
Block 1
xB,yB
B2
B1
1
Block 2
Block 2
The constraints have changed depending on B2
xE,yE
xF,yF
E1
E2
3
2
YD
xG,yG xH,yH xI,yI
5
4
One global solution B1,E2,F1,D1,G1,H1,I1
27
Solving a DAG of Blocks
  • Backtracking gt solving several times the same
    block but not the same problem !
  • Input variables parameters
  • gt Blocks parametric NCSPs

Search Tree
Block 1
xB,yB
B2
B1
Solving Method 3 gt Internal Search Tree
3 gt 2 solutions E3 and E4 Depending
on B2
1
Block 2
Block 2
xE,yE
xF,yF
E1
E2
3
2
YD
xG,yG xH,yH xI,yI
5
4
One global solution B1,E2,F1,D1,G1,H1,I1
28
Solving a DAG of Blocks
  • Backtracking gt solving several times the same
    block but not the same problem !
  • Input variables parameters
  • gt Blocks parametric NCSPs

Search Tree
Block 1
xB,yB
B2
B1
1
Block 2
Block 2
xE,yE
xF,yF
E1
E2
E3
E4
3
2
YD
xG,yG xH,yH xI,yI
5
4
All the global solutions
29
Intelligent Backtracking
  • Possible InterBlock Backtracking
  • BT Chronological Backtracking
  • GBJ Graph-based Backjumping Dechter, 1990
  • GPB Generalized Partial-Order BT Bliek, 1998

xC,yC
xA,yA
1
xJ,yJ
2
3
5
4
30
Intelligent Backtracking
  • Possible InterBlock Backtracking
  • BT Chronological Backtracking
  • GBJ Graph-based Backjumping Dechter, 1990
  • GPB Generalized Partial-Order BT Bliek, 1998

xC,yC
xA,yA
1
xJ,yJ
2
3
BT
5
4
31
Intelligent Backtracking
  • Possible InterBlock Backtracking
  • BT Chronological Backtracking
  • GBJ Graph-based Backjumping Dechter, 1990
  • GPB Generalized Partial-Order BT Bliek, 1998

xC,yC
xA,yA
1
xJ,yJ
2
3
GBJ GPB
BT
5
4
32
Intelligent Backtracking
  • Possible InterBlock Backtracking
  • BT Chronological Backtracking
  • GBJ Graph-based Backjumping Dechter, 1990
  • GPB Generalized Partial-Order BT Bliek, 1998

xC,yC
xA,yA
1
xJ,yJ
GPB
2
3
GBJ
GBJ GPB
BT
5
4
33
Intelligent Backtracking
  • Possible InterBlock Backtracking
  • BT Chronological Backtracking
  • GBJ Graph-based Backjumping Dechter, 1990
  • GPB Generalized Partial-Order BT Bliek, 1998

xC,yC
xA,yA
1
with the recompute condition
xJ,yJ
GPB
2
3
GBJ
GBJ
GBJ GPB
BT
5
4
34
IBB extending the framework
  • Specific treatments as add-ons
  • Generally, depending on the solving methods
  • Choose the strategy of application
    (before/after/during a block solving, )
  • E.g.
  • Pre-conditioners,
  • Propagators,
  • Inequalities checkers,

35
Outline
  • IBB a general framework for solving decomposed
    NCSPs
  • Principle
  • Inputs
  • Process
  • IBBInterval an instance of IBB
  • Interval solving
  • Interblock Filtering
  • Experiments
  • Conclusion Future directions

36
IBB Interval
  • Solving method Interval constraint programming
    techniques
  • Backtracking BT, GBJ GPB
  • gt 3 instances in fact
  • An interesting add-on Inter-Block Filtering
    (IBF)
  • Propagates domain reductions in following blocks

37
Interval solving
  • 3 operations

Search space cross-product of the domains
(intervals)
(x-1)2 -3y
y
yltx/3
x
-x23y
38
Interval solving
  • 3 operations
  • Filtering reduces the bounds of the domain of
    each variable using a local consistency

(x-1)2 -3y
y
yltx/3
x
-x23y
39
Interval solving
  • 3 operations
  • Filtering reduces the bounds of the domain of
    each variable using a local consistency

(x-1)2 -3y
y
yltx/3
x
-x23y
40
Interval solving
  • 3 operations
  • Filtering reduces the bounds of the domain of
    each variable using a local consistency
  • Splitting splits search space into parts to be
    explored individually gt a search-tree appears

(x-1)2 -3y
y
yltx/3
x
-x23y
41
Interval solving
  • 3 operations
  • Filtering reduces the bounds of the domain of
    each variable using a local consistency
  • Splitting splits search space into parts to be
    explored individually gt a search-tree appears
  • Existence checks if a unique solution exists in
    the current sub-search-space

(x-1)2 -3y
y
yltx/3
x
-x23y
42
InterBlock Filtering
Principle Use local consistency to propagate the
reductions during the solving of
current blocks in related blocs
43
InterBlock Filtering
44
InterBlock Filtering
45
InterBlock Filtering
46
InterBlock Filtering
Using IBF, E1 incompatibility can be detected in
Block 2 by propagating on Block 4
47
Benchmarking
  • Implemented as a C prototype
  • Run on a PIII 935
  • Experimental protocol
  • Parameters 12 instances of IBBInterval
  • Interval Solving (uses ILOG Solver 5.0)
  • Filtering 2B, 3B, Box, Bound, 2BBox, 3BBound
    best choice per problem (usually 2BBox or
    3B)
  • Splitting classical interval bisection
  • Existence always and only with Box and Bound
  • Backtracking BT, GBJ, GPB, with or without
  • InterBlock Filtering with or without
  • Inputs
  • NCSPs 8 from CAD, 4 domain sizes
  • Decomposition best among 4 methods

48
Test set
49
Overall comparison
50
Overall comparison
51
Overall comparison
52
Overall comparison
53
Outline
  • IBB a general framework for solving decomposed
    NCSPs
  • Principle
  • Inputs
  • Process
  • IBBInterval an instance of IBB
  • Interval solving
  • Interblock Filtering
  • Experiments
  • Conclusion Future directions

54
Conclusion
  • We have presented a general framework for
    solving decomposed NCSPs
  • Instanciating the framework choosing a BT
    process, a set of solving methods, and optionally
    a set of add-ons
  • From the experiments, we can say that
  • Decomposition seems very interesting for NCSPs
    with a structure
  • Filtering, a strength of constraint programming,
    seems counter-productive when used against the
    structure
  • Intelligent BT seems more profitable, and
    introduces at least no overhead

55
Future directions
  • Try other instances of IBB, involving different
    solvers
  • Intervals symbolic
  • Solver dynamic selection strategies
  • According to blocks properties that may change
    (block parametric NCSP)
  • Use other frameworks to solve decomposed NCSPs
  • Multi-agent systems
  • Solver cooperation frameworks
Write a Comment
User Comments (0)
About PowerShow.com