SLIDE 1
Querying approximate shortest paths in anisotropic regions Siu-Wing - - PowerPoint PPT Presentation
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
SLIDE 2
SLIDE 3
t s cost = weight × length w=1 w=2 Shortest path
The weighted region problem
SLIDE 4
- Triangulation with n vertices
- Each face has a weight
- Find an approximate shortest path with cost at most 1 + ǫ
times the minimum s t
The weighted region problem
SLIDE 5
No (strongly polynomial) FPTAS is known
SLIDE 6
No (strongly polynomial) FPTAS is known Known results: polynomial in n, 1/ǫ, and other parameters.
SLIDE 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
SLIDE 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(n8 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(n3ρ/ǫ × polylog(n, ρ, 1/ǫ))
SLIDE 9
Query problem
s
SLIDE 10
Query problem
s Build a data structure
SLIDE 11
Query problem
s Build a data structure q Given a query point q, find a (1 + ε)-approximation of the cost of the shortest path from s to q.
SLIDE 12
Query problem
s Build a data structure q Given a query point q, find a (1 + ε)-approximation of the cost of the shortest path from s to q.
SLIDE 13
Query problem
s Build a data structure q Given a query point q, find a (1 + ε)-approximation of the cost of the shortest path from s to q. Output an approximate shortest path in time linear in its size
SLIDE 14
Previous results
Aleksandrov et al.: Space and preprocessing time depend on several parameters including n, ε, ρ and θ.
SLIDE 15
Previous results
Aleksandrov et al.: Space and preprocessing time depend on several parameters including n, ε, ρ and θ. Applies to polyhedral surfaces
SLIDE 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(ρ2n4/ε2 log(ρn/ε)) Preprocessing time: O(ρ2n4/ε2 log2(ρn/ε))
SLIDE 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(ρ2n4/ε2 log(ρn/ε)) Preprocessing time: O(ρ2n4/ε2 log2(ρn/ε)) Applies to anisotropic distance functions
SLIDE 18
Convex distance function
Unit ball B: set of points at distance 1 from O O B
SLIDE 19
Convex distance function
Unit ball B: set of points at distance 1 from O O x y x + λB dB(x, y) = λ B
SLIDE 20
Convex distance function
Unit ball B: set of points at distance 1 from O O x y x + λB dB(x, y) = λ B Shortest path is a straight line segment
SLIDE 21
Model
1 1/ρ B One convex distance function per face
SLIDE 22
Model
1 1/ρ B One convex distance function per face Speed is in interval [1/ρ, 1]
SLIDE 23
Model
1 1/ρ B One convex distance function per face Speed is in interval [1/ρ, 1] Cost of a length ℓ path is in [ℓ, ρℓ].
SLIDE 24
s t
Exemple of a non-polygonal shortest path
SLIDE 25
s t
Exemple of a non-polygonal shortest path
SLIDE 26
s t
Exemple of a non-polygonal shortest path
There exists a rectifiable (=finite length) shortest path
SLIDE 27
s t
Exemple of a non-polygonal shortest path
There exists a rectifiable (=finite length) shortest path There exists a (1 + ε)-approximate shortest path with O(ρn2/ε) edges.
SLIDE 28
s t
Static (non query) algorithm
SLIDE 29
s t Circle with radius ρ d(s, t) and center s
Static (non query) algorithm
SLIDE 30
s t Circle with radius ρ d(s, t) and center s Steiner points with uniform spacing δ = 1/poly(ρ, n, 1/ε)
Static (non query) algorithm
SLIDE 31
s t Circle with radius ρ d(s, t) and center s Steiner points with uniform spacing δ = 1/poly(ρ, n, 1/ε)
Static (non query) algorithm
SLIDE 32
Observation
s q δ
SLIDE 33
Observation
s q shortest path δ
SLIDE 34
Observation
s q shortest path approximate shortest path δ
SLIDE 35
Observation
s q shortest path approximate shortest path δ
SLIDE 36
Observation
s q shortest path approximate shortest path δ additive error at most δ
SLIDE 37
Observation
(1 + ε) approximation when q is in an annulus s q t radius ratio=poly(ρ, n, 1/ε)
SLIDE 38
Answering queries within the annulus
s Additively weighted Voronoi diagram
SLIDE 39
Answering queries within the annulus
s Weight= cost of approximate shortest path Additively weighted Voronoi diagram
SLIDE 40
Answering queries within the annulus
s Weight= cost of approximate shortest path Additively weighted Voronoi diagram q
SLIDE 41
Answering queries within the annulus
s Weight= cost of approximate shortest path Additively weighted Voronoi diagram q
SLIDE 42
Answering queries within the annulus
s Weight= cost of approximate shortest path Additively weighted Voronoi diagram q
SLIDE 43
Answering queries within the annulus
s Weight= cost of approximate shortest path Additively weighted Voronoi diagram q
SLIDE 44
Overview
For each vertex vi, we construct a data structure for the annulus with radius ri = d(s, vi)/2ρ and Ri =poly(ρ, n, 1/ε)d(s, vi)
SLIDE 45
Overview
For each vertex vi, we construct a data structure for the annulus with radius ri = d(s, vi)/2ρ and Ri =poly(ρ, n, 1/ε)d(s, vi) s vi ri Ri q
SLIDE 46
Overview
For each vertex vi, we construct a data structure for the annulus with radius ri = d(s, vi)/2ρ and Ri =poly(ρ, n, 1/ε)d(s, vi) s vi ri Ri q We handle the neighborhood of s through scaling
SLIDE 47
Overview
For each vertex vi, we construct a data structure for the annulus with radius ri = d(s, vi)/2ρ and Ri =poly(ρ, n, 1/ε)d(s, vi) s vi ri Ri q We handle the neighborhood of s through scaling We handle the empty space (if any) through scaling and perturbation
SLIDE 48
Close range queries s
v1 q
SLIDE 49
Close range queries s
v1 q q′
SLIDE 50
Close range queries s
v1 q q′
SLIDE 51
Close range queries s
v1 q q′
SLIDE 52
Between two annuli s
q
SLIDE 53
Between two annuli s
q
SLIDE 54
Between two annuli s
q q′ Perturbation ϕ maps black points → blue points and q → q′
SLIDE 55
Between two annuli s
q q′ Find approx shortest path in data structure for the blue subdivision
SLIDE 56
Between two annuli s
q q′ Find approx shortest path in data structure for the blue subdivision Clip the path
SLIDE 57
Between two annuli s
q q′ Find approx shortest path in data structure for the blue subdivision Clip the path Apply ϕ−1
SLIDE 58
Between two annuli s
q q′ Find approx shortest path in data structure for the blue subdivision Clip the path Apply ϕ−1 Go straight to s
SLIDE 59
Conclusion
We can also handle obstacles
SLIDE 60
Conclusion
We can also handle obstacles 2 point queries?
SLIDE 61