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 Shortest path
The weighted region problem cost = weight × length t w=1 w=2 s Shortest path
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
No (strongly polynomial) FPTAS is known
No (strongly polynomial) FPTAS is known Known results: polynomial in n , 1 /ǫ , and other parameters.
No (strongly polynomial) FPTAS is known Known results: polynomial in n , 1 /ǫ , and other parameters. • ρ : maximum weight/ minimum weight • θ : minimum angle in the triangulation
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 /ǫ ))
Query problem s
Query problem Build a data structure s
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
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
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
Previous results Aleksandrov et al.: Space and preprocessing time depend on several parameters including n , ε , ρ and θ .
Previous results Aleksandrov et al.: Space and preprocessing time depend on several parameters including n , ε , ρ and θ . Applies to polyhedral surfaces
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/ε ))
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
Convex distance function Unit ball B : set of points at distance � 1 from O B O
Convex distance function Unit ball B : set of points at distance � 1 from O B O x + λB x y d B ( x, y ) = λ
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
Model One convex distance function per face 1 B 1 /ρ
Model One convex distance function per face 1 Speed is in B interval [1 /ρ, 1] 1 /ρ
Model One convex distance function per face 1 Speed is in B interval [1 /ρ, 1] Cost of a length ℓ path is in [ ℓ, ρℓ ] . 1 /ρ
Exemple of a non-polygonal shortest path s t
Exemple of a non-polygonal shortest path s t
Exemple of a non-polygonal shortest path s t There exists a rectifiable (=finite length) shortest path
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.
Static (non query) algorithm t s
Static (non query) algorithm Circle with radius ρ d ( s, t ) and center s t s
Static (non query) algorithm Circle with radius ρ d ( s, t ) and center s t s Steiner points with uniform spacing δ = 1 / poly( ρ, n, 1 /ε )
Static (non query) algorithm Circle with radius ρ d ( s, t ) and center s t s Steiner points with uniform spacing δ = 1 / poly( ρ, n, 1 /ε )
Observation δ s q
Observation δ s q shortest path
Observation δ approximate shortest path s q shortest path
Observation δ approximate shortest path s q shortest path
Observation δ approximate shortest path s q shortest path additive error at most δ
Observation (1 + ε ) approximation when q is in an annulus q t s radius ratio=poly( ρ, n, 1 /ε )
Answering queries within the annulus Additively weighted Voronoi diagram s
Answering queries within the annulus Additively weighted Voronoi diagram s Weight= cost of approximate shortest path
Answering queries within the annulus Additively weighted Voronoi diagram s q Weight= cost of approximate shortest path
Answering queries within the annulus Additively weighted Voronoi diagram s q Weight= cost of approximate shortest path
Answering queries within the annulus Additively weighted Voronoi diagram s q Weight= cost of approximate shortest path
Answering queries within the annulus Additively weighted Voronoi diagram s q Weight= cost of approximate shortest path
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 )
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
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
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
Close range queries v 1 q s
Close range queries q ′ v 1 q s
Close range queries q ′ v 1 q s
Close range queries q ′ v 1 q s
Between two annuli q s
Between two annuli q s
Between two annuli Perturbation ϕ maps black points �→ blue points and q �→ q ′ q q ′ s
Between two annuli Find approx shortest path in data structure for the blue subdivision q q ′ s
Between two annuli Find approx shortest path in data structure for the blue subdivision Clip the path q q ′ s
Between two annuli Find approx shortest path in data structure for the blue subdivision Clip the path Apply ϕ − 1 q q ′ s
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
Conclusion We can also handle obstacles
Conclusion We can also handle obstacles 2 point queries?
Conclusion We can also handle obstacles 2 point queries?
Recommend
More recommend