sweeping with continuous domains
play

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


  1. 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

  2. C ONTEXT AND M OTIVATION F ILTERING WITH S WEEP A G ENERIC I NFLATER FOR A RITHMETICAL C ONSTRAINTS C ONCLUSION 2 CP 2010

  3. 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] 3 CP 2010

  4. Sweep Algorithms Within the Geometry Literature Within Constraint Programming Database ( more than 100 references ) Voronoi diagram conjunction of constraints • • map overlay cardinality operator • • nearest objects multi resource cumulatives • • triangulations the spread constraint • • hidden surface removals non-overlapping constraints • • ( boxes, polygons, symmetry ) rectangles intersection • Formulas ( geost rules ) shortest path • • ( quantifier-free Presburger arithmetic ) 4 CP 2010

  5. Observations and Motivations Currently, within constraint programming, sweep is mostly used: 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 ) Observation Motivation for this work In this context, infeasible points ( and Provide a building block for feasible points ) are usually grouped handling in a generic way together (we have clouds of geometrical constraints between, infeasible points , different from e.g., boxes, circles, ellipses, spheres, making intersection between curves ) . cylinders with continuous variables. 5 CP 2010

  6. C ONTEXT AND M OTIVATION F ILTERING WITH S WEEP A G ENERIC I NFLATER FOR A RITHMETICAL C ONSTRAINTS C ONCLUSION 6 CP 2010

  7. Basic Idea of Sweep Aggregating forbidden regions ( box containing only infeasible points for a ctr. ) : (A) Illustration of sweep forbidden regions /c 1 ❸ ❷ /c 2 ❶ /c 1 ➠ feasible points sweep line for c 1 and c 2 7 CP 2010

  8. Basic Idea of Sweep Aggregating forbidden regions ( box containing only infeasible points for a ctr. ) : (A) Illustration of sweep (B) Reasoning with indivudal ctr. forbidden regions feasible for c 2 but not for c 1 /c 1 ❸ ❷ /c 2 ❶ /c 1 ➠ feasible for c 1 but not for c 2 feasible points sweep line for c 1 and c 2 No deduction since no complete 8 strip forbidden by one single constraint ! CP 2010

  9. Basic service required by sweep: a generic inflater Given: (1) a constraint C ( V 1 , V 2 ,…, V n ), (2) an infeasible assignment ( v 1 , v 2 ,…, v n ) for C , (3) a direction dir ( + or - ), computes a box B that (4) B contains ( v 1 , v 2 ,…, v n ), (5) B contains only infeasible points, (6) if dir is + then ( v 1 , v 2 ,…, v n ) is the lower corner of B , (7) if dir is - then ( v 1 , v 2 ,…, v n ) 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 ), ➠ this paper • a formula ( numerical constraints with continuous variables ) 9 CP 2010

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

  11. 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 ) B 2 What an inflater does: ˜ Take a forbidden point x w.r.t. c and build a forbidden box B , as B 1 ˜ large as possible , around x and inside the working area. non-unicity and quality of inflation 11 CP 2010

  12. C ONTEXT AND M OTIVATION F ILTERING WITH S WEEP A G ENERIC I NFLATER FOR A RITHMETICAL C ONSTRAINTS C ONCLUSION 12 CP 2010

  13. 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. 13 CP 2010

  14. Main Algorithm ( example ) 14 CP 2010

  15. Main Algorithm ( example ) 15 CP 2010

  16. Main Algorithm ( example ) 16 CP 2010

  17. Main Algorithm ( example ) 17 CP 2010

  18. Main Algorithm ( example ) 18 CP 2010

  19. Main Algorithm ( example ) 19 CP 2010

  20. Main Algorithm ( example ) 20 CP 2010

  21. Main Algorithm ( example ) 21 CP 2010

  22. Main Algorithm ( example ) 22 CP 2010

  23. Main Algorithm ( example ) 23 CP 2010

  24. Main Algorithm ( example ) 24 CP 2010

  25. Main Algorithm ( example ) 25 CP 2010

  26. Main Algorithm ( example ) 26 CP 2010

  27. Main Algorithm ( example ) 27 CP 2010

  28. Main Algorithm ( example ) 28 CP 2010

  29. Main Algorithm ( example ) 29 CP 2010

  30. Main Algorithm ( example ) 30 CP 2010

  31. Main Algorithm ( example ) 31 CP 2010

  32. Main Algorithm ( example ) 32 CP 2010

  33. Main Algorithm ( example ) 33 CP 2010

  34. Main Algorithm ( example ) 34 CP 2010

  35. Main Algorithm ( example ) 35 CP 2010

  36. Main Algorithm ( example ) 36 CP 2010

  37. Main Algorithm ( example ) 37 CP 2010

  38. C ONTEXT AND M OTIVATION F ILTERING WITH S WEEP A G ENERIC I NFLATER FOR A RITHMETICAL C ONSTRAINTS C ONCLUSION 38 CP 2010

  39. 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 ) 39 CP 2010

Recommend


More recommend