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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend