Sweeping with Continuous Domains G. Chabert and N. Beldiceanu - - PowerPoint PPT Presentation

sweeping with continuous domains
SMART_READER_LITE
LIVE PREVIEW

Sweeping with Continuous Domains G. Chabert and N. Beldiceanu - - PowerPoint PPT Presentation

Sweeping with Continuous Domains G. Chabert and N. Beldiceanu cole des Mines de Nantes, LINA CNRS UMR 6241, FR-44300, France {gilles.chabert,nicolas.beldiceanu}@mines-nantes.fr 1 CP 2010 C ONTEXT AND M OTIVATION F ILTERING WITH S WEEP A


slide-1
SLIDE 1

1

CP 2010

Sweeping with Continuous Domains

  • G. Chabert and N. Beldiceanu

École des Mines de Nantes, LINA CNRS UMR 6241, FR-44300, France {gilles.chabert,nicolas.beldiceanu}@mines-nantes.fr

slide-2
SLIDE 2

2

CP 2010

CONTEXT AND MOTIVATION FILTERING WITH SWEEP A GENERIC INFLATER FOR ARITHMETICAL CONSTRAINTS CONCLUSION

slide-3
SLIDE 3

3

CP 2010

Sweep Algorithms in Computational Geometry

Standard technique in the design of efficient algorithms, described in:

  • Computational geometry, an introduction

[Preparata & Shamos, 1985]

  • Computational Geometry, Algorithms and Applications

[Berg, Kreveld, Overmars & Schwarzkopf, 1997]

  • Géométrie algorithmique

[Boissonnat & Yvinec, 1995]

slide-4
SLIDE 4

4

CP 2010

Sweep Algorithms

Within the Geometry Literature Database (more than 100 references)

  • Voronoi diagram
  • map overlay
  • nearest objects
  • triangulations
  • hidden surface removals
  • rectangles intersection
  • shortest path

Within Constraint Programming

conjunction of constraints cardinality operator multi resource cumulatives the spread constraint non-overlapping constraints

  • (boxes, polygons, symmetry)

Formulas (geost rules)

  • (quantifier-free Presburger arithmetic)
slide-5
SLIDE 5

5

CP 2010

Observations and Motivations

  • for handling geometrical constraints

(and more specifically non-overlapping between boxes)

  • with discrete variables

(the coordinates of the boxes)

  • it handles disjunction

(there is a least one dimension where projections do not overlap)

  • it takes advantage of the clique of constraints

(and the way constraints share variables)

Currently, within constraint programming, sweep is mostly used: Motivation for this work

Provide a building block for handling in a generic way geometrical constraints between, e.g., boxes, circles, ellipses, spheres, cylinders with continuous variables.

Observation

In this context, infeasible points (and feasible points) are usually grouped together (we have clouds

  • f

infeasible points, different from making intersection between curves).

slide-6
SLIDE 6

6

CP 2010

CONTEXT AND MOTIVATION FILTERING WITH SWEEP A GENERIC INFLATER FOR ARITHMETICAL CONSTRAINTS CONCLUSION

slide-7
SLIDE 7

7

CP 2010

Basic Idea of Sweep Aggregating forbidden regions (box containing only infeasible points for a ctr.) :

feasible points for c1 and c2 /c1 /c1 /c2

❶ ❷ ❸

sweep line forbidden regions (A) Illustration of sweep

slide-8
SLIDE 8

8

CP 2010

Basic Idea of Sweep Aggregating forbidden regions (box containing only infeasible points for a ctr.) :

feasible points for c1 and c2 /c1 /c1 /c2

❶ ❷ ❸

sweep line forbidden regions (A) Illustration of sweep feasible for c1 but not for c2 feasible for c2 but not for c1 (B) Reasoning with indivudal ctr.

No deduction since no complete strip forbidden by one single constraint !

slide-9
SLIDE 9

9

CP 2010

Basic service required by sweep: a generic inflater

Given: (1) a constraint C(V1,V2,…,Vn), (2) an infeasible assignment (v1,v2,…,vn) for C, (3) a direction dir (+ or -), computes a box B that (4) B contains (v1,v2,…,vn), (5) B contains only infeasible points, (6) if dir is + then (v1,v2,…,vn) is the lower corner of B, (7) if dir is - then (v1,v2,…,vn) is the upper corner of B. the constraint C can be:

  • an adhoc constraint,
  • a logical expression (disjunction of linear inequalities),
  • a formula (geost rule),
  • a formula (numerical constraints with continuous variables)

this paper

slide-10
SLIDE 10

10

CP 2010

Working area of B

Additional requirement : (8) B should be contained in the working area (in grey on the example) IDEA: In some dimensions, B is restricted by the previous forbidden boxes B B B B

included included included

B

slide-11
SLIDE 11

11

CP 2010

Importance of the Working Area in a Continuous Setting

INTUITION: Reduce the risk for generating degenerated forbidden boxes (i.e., boxes that are wide in one dimension but very narrow in an other)

non-unicity and quality of inflation

What an inflater does: Take a forbidden point x w.r.t. c and build a forbidden box B, as large as possible, around x and inside the working area. ˜ ˜ B1 B2

slide-12
SLIDE 12

12

CP 2010

CONTEXT AND MOTIVATION FILTERING WITH SWEEP A GENERIC INFLATER FOR ARITHMETICAL CONSTRAINTS CONCLUSION

slide-13
SLIDE 13

13

CP 2010

Inflator Algorithm: intuition

Given,

  • the syntactical tree of the mathematical expression of the constraint

(where intermediate variables are created at each level of the tree),

  • an infeasible point and a working area,

A two phases algorithm: 1) A forward phase propagates up to the root:

  • the coordinates of the infeasible point,
  • the intervals corresponding to the working area.

2) A backward phase propagates down to the leaves:

  • the fact that the constraint is not satisfied (since want to compute a box

containing only infeasible points) The information computed during the forward phase guides selecting intervals that contain the coordinates of the infeasible point.

slide-14
SLIDE 14

14

CP 2010

Main Algorithm (example)

slide-15
SLIDE 15

15

CP 2010

Main Algorithm (example)

slide-16
SLIDE 16

16

CP 2010

Main Algorithm (example)

slide-17
SLIDE 17

17

CP 2010

Main Algorithm (example)

slide-18
SLIDE 18

18

CP 2010

Main Algorithm (example)

slide-19
SLIDE 19

19

CP 2010

Main Algorithm (example)

slide-20
SLIDE 20

20

CP 2010

Main Algorithm (example)

slide-21
SLIDE 21

21

CP 2010

Main Algorithm (example)

slide-22
SLIDE 22

22

CP 2010

Main Algorithm (example)

slide-23
SLIDE 23

23

CP 2010

Main Algorithm (example)

slide-24
SLIDE 24

24

CP 2010

Main Algorithm (example)

slide-25
SLIDE 25

25

CP 2010

Main Algorithm (example)

slide-26
SLIDE 26

26

CP 2010

Main Algorithm (example)

slide-27
SLIDE 27

27

CP 2010

Main Algorithm (example)

slide-28
SLIDE 28

28

CP 2010

Main Algorithm (example)

slide-29
SLIDE 29

29

CP 2010

Main Algorithm (example)

slide-30
SLIDE 30

30

CP 2010

Main Algorithm (example)

slide-31
SLIDE 31

31

CP 2010

Main Algorithm (example)

slide-32
SLIDE 32

32

CP 2010

Main Algorithm (example)

slide-33
SLIDE 33

33

CP 2010

Main Algorithm (example)

slide-34
SLIDE 34

34

CP 2010

Main Algorithm (example)

slide-35
SLIDE 35

35

CP 2010

Main Algorithm (example)

slide-36
SLIDE 36

36

CP 2010

Main Algorithm (example)

slide-37
SLIDE 37

37

CP 2010

Main Algorithm (example)

slide-38
SLIDE 38

38

CP 2010

CONTEXT AND MOTIVATION FILTERING WITH SWEEP A GENERIC INFLATER FOR ARITHMETICAL CONSTRAINTS CONCLUSION

slide-39
SLIDE 39

39

CP 2010

Conclusion

Contribution A generic inflater for any constraint on continuous domains that has a mathematical expression using +, x, -, / operators and functions (sqrt, sin, …). Complexity is linear in the length of the constraint expression. Did not take multiple occurrences of a same variable: This may current lead to underestimate the forbidden box we compute. (multiple occurrences of a same variable can model extra alignment constraints) There is still an engineering work to do to use this in an efficient way (constant matters and may influence implementation)