querying approximate shortest paths in anisotropic regions
play

Querying approximate shortest paths in anisotropic regions Siu-Wing - PowerPoint PPT Presentation

Querying approximate shortest paths in anisotropic regions Siu-Wing Cheng (HKUST) Hyeon-Suk Na (Soongsil University) Antoine Vigneron (INRA Jouy-en-Josas) Yajun Wang (HKUST) The weighted region problem cost = weight length t w=1 w=2 s


  1. Querying approximate shortest paths in anisotropic regions Siu-Wing Cheng (HKUST) Hyeon-Suk Na (Soongsil University) Antoine Vigneron (INRA Jouy-en-Josas) Yajun Wang (HKUST)

  2. The weighted region problem cost = weight × length t w=1 w=2 s Shortest path

  3. The weighted region problem cost = weight × length t w=1 w=2 s Shortest path

  4. The weighted region problem • Triangulation with n vertices • Each face has a weight • Find an approximate shortest path with cost at most 1 + ǫ times the minimum s t

  5. No (strongly polynomial) FPTAS is known

  6. No (strongly polynomial) FPTAS is known Known results: polynomial in n , 1 /ǫ , and other parameters.

  7. No (strongly polynomial) FPTAS is known Known results: polynomial in n , 1 /ǫ , and other parameters. • ρ : maximum weight/ minimum weight • θ : minimum angle in the triangulation

  8. No (strongly polynomial) FPTAS is known Known results: polynomial in n , 1 /ǫ , and other parameters. • ρ : maximum weight/ minimum weight • θ : minimum angle in the triangulation Known results • Mitchell and Papadimitriou (1987): O ( n 8 log( nNρ/ǫ )) • Aleksandrov, Maheshwari, and Sacks: O ( Cn/ √ ǫ × polylog( n, 1 /ǫ )) , C depends on ρ , θ and other parameters. • Sun and Reif: O ( C ′ n/ǫ × polylog( n, 1 /ǫ )) , C ′ depends on θ , other parameters, but not ρ . • Cheng et al. (2007): O ( n 3 ρ/ǫ × polylog( n, ρ, 1 /ǫ ))

  9. Query problem s

  10. Query problem Build a data structure s

  11. Query problem Build a data structure Given a query point q , find a (1 + ε ) -approximation of the cost of the shortest path from s to q . q s

  12. Query problem Build a data structure Given a query point q , find a (1 + ε ) -approximation of the cost of the shortest path from s to q . q s

  13. Query problem Build a data structure Given a query point q , find a (1 + ε ) -approximation of the cost of the shortest path from s to q . q s Output an approximate shortest path in time linear in its size

  14. Previous results Aleksandrov et al.: Space and preprocessing time depend on several parameters including n , ε , ρ and θ .

  15. Previous results Aleksandrov et al.: Space and preprocessing time depend on several parameters including n , ε , ρ and θ . Applies to polyhedral surfaces

  16. Previous results Aleksandrov et al.: Space and preprocessing time depend on several parameters including n , ε , ρ and θ . Applies to polyhedral surfaces Our results Query time: O (log( ρn/ε )) Space: O ( ρ 2 n 4 /ε 2 log( ρn/ε )) Preprocessing time: O ( ρ 2 n 4 /ε 2 log 2 ( ρn/ε ))

  17. Previous results Aleksandrov et al.: Space and preprocessing time depend on several parameters including n , ε , ρ and θ . Applies to polyhedral surfaces Our results Query time: O (log( ρn/ε )) Space: O ( ρ 2 n 4 /ε 2 log( ρn/ε )) Preprocessing time: O ( ρ 2 n 4 /ε 2 log 2 ( ρn/ε )) Applies to anisotropic distance functions

  18. Convex distance function Unit ball B : set of points at distance � 1 from O B O

  19. Convex distance function Unit ball B : set of points at distance � 1 from O B O x + λB x y d B ( x, y ) = λ

  20. Convex distance function Unit ball B : set of points at distance � 1 from O B O x + λB x y d B ( x, y ) = λ Shortest path is a straight line segment

  21. Model One convex distance function per face 1 B 1 /ρ

  22. Model One convex distance function per face 1 Speed is in B interval [1 /ρ, 1] 1 /ρ

  23. Model One convex distance function per face 1 Speed is in B interval [1 /ρ, 1] Cost of a length ℓ path is in [ ℓ, ρℓ ] . 1 /ρ

  24. Exemple of a non-polygonal shortest path s t

  25. Exemple of a non-polygonal shortest path s t

  26. Exemple of a non-polygonal shortest path s t There exists a rectifiable (=finite length) shortest path

  27. Exemple of a non-polygonal shortest path s t There exists a rectifiable (=finite length) shortest path There exists a (1 + ε ) -approximate shortest path with O ( ρn 2 /ε ) edges.

  28. Static (non query) algorithm t s

  29. Static (non query) algorithm Circle with radius ρ d ( s, t ) and center s t s

  30. Static (non query) algorithm Circle with radius ρ d ( s, t ) and center s t s Steiner points with uniform spacing δ = 1 / poly( ρ, n, 1 /ε )

  31. Static (non query) algorithm Circle with radius ρ d ( s, t ) and center s t s Steiner points with uniform spacing δ = 1 / poly( ρ, n, 1 /ε )

  32. Observation δ s q

  33. Observation δ s q shortest path

  34. Observation δ approximate shortest path s q shortest path

  35. Observation δ approximate shortest path s q shortest path

  36. Observation δ approximate shortest path s q shortest path additive error at most δ

  37. Observation (1 + ε ) approximation when q is in an annulus q t s radius ratio=poly( ρ, n, 1 /ε )

  38. Answering queries within the annulus Additively weighted Voronoi diagram s

  39. Answering queries within the annulus Additively weighted Voronoi diagram s Weight= cost of approximate shortest path

  40. Answering queries within the annulus Additively weighted Voronoi diagram s q Weight= cost of approximate shortest path

  41. Answering queries within the annulus Additively weighted Voronoi diagram s q Weight= cost of approximate shortest path

  42. Answering queries within the annulus Additively weighted Voronoi diagram s q Weight= cost of approximate shortest path

  43. Answering queries within the annulus Additively weighted Voronoi diagram s q Weight= cost of approximate shortest path

  44. Overview For each vertex v i , we construct a data structure for the annulus with radius r i = d ( s, v i ) / 2 ρ and R i = poly ( ρ, n, 1 /ε ) d ( s, v i )

  45. Overview For each vertex v i , we construct a data structure for the annulus with radius r i = d ( s, v i ) / 2 ρ and R i = poly ( ρ, n, 1 /ε ) d ( s, v i ) q v i s r i R i

  46. Overview For each vertex v i , we construct a data structure for the annulus with radius r i = d ( s, v i ) / 2 ρ and R i = poly ( ρ, n, 1 /ε ) d ( s, v i ) q We handle the neighborhood of s v i through scaling s r i R i

  47. Overview For each vertex v i , we construct a data structure for the annulus with radius r i = d ( s, v i ) / 2 ρ and R i = poly ( ρ, n, 1 /ε ) d ( s, v i ) q We handle the neighborhood of s v i through scaling s We handle the empty space r i (if any) through scaling R i and perturbation

  48. Close range queries v 1 q s

  49. Close range queries q ′ v 1 q s

  50. Close range queries q ′ v 1 q s

  51. Close range queries q ′ v 1 q s

  52. Between two annuli q s

  53. Between two annuli q s

  54. Between two annuli Perturbation ϕ maps black points �→ blue points and q �→ q ′ q q ′ s

  55. Between two annuli Find approx shortest path in data structure for the blue subdivision q q ′ s

  56. Between two annuli Find approx shortest path in data structure for the blue subdivision Clip the path q q ′ s

  57. Between two annuli Find approx shortest path in data structure for the blue subdivision Clip the path Apply ϕ − 1 q q ′ s

  58. Between two annuli Find approx shortest path in data structure for the blue subdivision Clip the path Apply ϕ − 1 q Go straight to s q ′ s

  59. Conclusion We can also handle obstacles

  60. Conclusion We can also handle obstacles 2 point queries?

  61. Conclusion We can also handle obstacles 2 point queries?

Recommend


More recommend