Logarithmic-Time Point Location in General Two-Dimensional Subdivisions
|
|
- Brenda Cook
- 5 years ago
- Views:
Transcription
1 Logarithmic-Time Point Location in General Two-Dimensional Subdivisions Michal Kleinbort Tel viv University, Dec 2015 Joint work with Michael Hemmer and Dan Halperin Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
2 Planar Point Location - Definition Let S be a planar subdivision consisting of faces, edges, and vertices The Planar Point Location Problem Input: Query point q Output: The feature of S containing q q n - the number of subdivision edges Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
3 Outline Trapezoidal-map RIC point-location variants Depth vs. maximum query path length n efficient construction algorithm for static settings Open Problems Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
4 Outline Trapezoidal-map RIC point-location variants Depth vs. maximum query path length n efficient construction algorithm for static settings Open Problems Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
5 Two Variants of the Trapezoidal Map RIC Point Location asic algorithm [Mulmuley 90, Seidel 91] Expected O(log n) query time Expected O(n) size Expected O(n log n) preprocessing time Guaranteed variant [de erg et al. 00] Guaranteed O(log n) query time Guaranteed O(n) size Expected O(n log 2 n) preprocessing time (?) Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
6 The asic RIC Point Location lgorithm Description: uilds the trapezoidal-map using a randomized incremental construction and maintains an auxiliary search-structure (DG) [Mulmuley 90, Seidel 91] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
7 The asic RIC Point Location lgorithm Description: uilds the trapezoidal-map using a randomized incremental construction and maintains an auxiliary search-structure (DG) p1 cv1(p1, q1) D q1 C C cv1 D [Mulmuley 90, Seidel 91] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
8 The asic RIC Point Location lgorithm Description: uilds the trapezoidal-map using a randomized incremental construction and maintains an auxiliary search-structure (DG) p1 cv1(p1, q1) D q1 C cv2(p2, q2) C cv1 D [Mulmuley 90, Seidel 91] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
9 The asic RIC Point Location lgorithm Description: uilds the trapezoidal-map using a randomized incremental construction and maintains an auxiliary search-structure (DG) p1 cv1(p1, q1) D q1 C cv2(p2, q2) C cv1 D [Mulmuley 90, Seidel 91] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
10 The asic RIC Point Location lgorithm Description: uilds the trapezoidal-map using a randomized incremental construction and maintains an auxiliary search-structure (DG) p1 cv1(p1, q1) E H C D cv2(p2, q2) E p2 cv2 cv1 q1 D HC [Mulmuley 90, Seidel 91] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
11 The asic RIC Point Location lgorithm Description: uilds the trapezoidal-map using a randomized incremental construction and maintains an auxiliary search-structure (DG) p1 cv1(p1, q1) E H C D cv2(p2, q2) E p2 cv2 cv1 q1 D HC [Mulmuley 90, Seidel 91] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
12 The asic RIC Point Location lgorithm Description: uilds the trapezoidal-map using a randomized incremental construction and maintains an auxiliary search-structure (DG) p1 cv1(p1, q1) E H C G cv2(p2, q2) H D I E cv1 p2 cv2 q1 H D cv2 q2 G I HC [Mulmuley 90, Seidel 91] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
13 The asic RIC Point Location lgorithm Description: uilds the trapezoidal-map using a randomized incremental construction and maintains an auxiliary search-structure (DG) p1 cv1(p1, q1) E HC G cv2(p2, q2) H HD I E cv1 p2 cv2 q1 HC cv2 HD H q2 G I [Mulmuley 90, Seidel 91] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
14 asic lgorithm [Mulmuley 90, Seidel 91] - Complexity Expected O(log n) query time Expected O(n) size Expected O(n log n) preprocessing time Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
15 Guaranteed O(log n) Query Time and O(n) Size S - the size of the DG L - the length of the longest query path [de erg et al.] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
16 Guaranteed O(log n) Query Time and O(n) Size S - the size of the DG L - the length of the longest query path The main idea: Construct the DG using the basic algorithm with some random insertion order Verify S on the fly (S can be accessed in O(1) time) bort and rebuild if S c 1 n Verify that L c 2 log n, rebuild otherwise [de erg et al.] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
17 Guaranteed O(log n) Query Time and O(n) Size S - the size of the DG L - the length of the longest query path The main idea: Construct the DG using the basic algorithm with some random insertion order Verify S on the fly (S can be accessed in O(1) time) bort and rebuild if S c 1 n Verify that L c 2 log n, rebuild otherwise Only a constant number of rebuilds is expected The probability that L is bad is very small [de erg et al.] The probability that S is bad is very small Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
18 Guaranteed O(log n) Query Time and O(n) Size f (n) - Time to verify that L is logarithmic on a DG of n curves Overall expected time for construction: O(n log n + f (n)) It is unclear how to efficiently verify L: Claim that the expected verification time is O(n log 2 n) No concrete proof is given [de erg et al.] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
19 Outline Trapezoidal-map RIC point-location variants Depth vs. maximum query path length n efficient construction algorithm for static settings Open Problems Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
20 Outline Trapezoidal-map RIC point-location variants Depth vs. maximum query path length n efficient construction algorithm for static settings Open Problems Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
21 Can We Efficiently Maintain L On-the-fly? The best known solution requires Ω(n log n) size Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
22 Can We Efficiently Maintain L On-the-fly? The best known solution requires Ω(n log n) size Idea: Maintain the depth D of the DG instead (easy to maintain) Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
23 Can We Efficiently Maintain L On-the-fly? The best known solution requires Ω(n log n) size Idea: Maintain the depth D of the DG instead (easy to maintain) D represents the length of the longest DG path Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
24 The Modified lgorithm Using D The modified algorithm: Observe S and D during construction bort and rebuild structure if one of the following occurs: S c 1 n D c2 log n for suitable constants c 1, c 2 > 0 Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
25 The Modified lgorithm Using D The modified algorithm: Observe S and D during construction bort and rebuild structure if one of the following occurs: S c 1 n D c2 log n for suitable constants c 1, c 2 > 0 D is not L Can we still expect a constant number of rebuilds? Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
26 The Difference between D and L Reminder: D represents the length of the longest DG path Some DG paths are not search paths D is an upper bound on L D may be significantly larger than L Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
27 The Difference between D and L Reminder: D represents the length of the longest DG path Some DG paths are not search paths D is an upper bound on L D may be significantly larger than L p1 cv1(p1, q1) G q1 E cv2(p2, q2) I E cv1 p2 cv2 cv2 q2 G I H H Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
28 The Difference between D and L Reminder: D represents the length of the longest DG path Some DG paths are not search paths D is an upper bound on L D may be significantly larger than L p1 cv1(p1, q1) G q1 E cv2(p2, q2) I E cv1 p2 cv2 cv2 q2 G I H H Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
29 The Difference between D and L Reminder: D represents the length of the longest DG path Some DG paths are not search paths D is an upper bound on L D may be significantly larger than L p1 cv1(p1, q1) G q1 E cv2(p2, q2) I E cv1 p2 cv2 cv2 q2 G I H H Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
30 The Difference between D and L Reminder: D represents the length of the longest DG path Some DG paths are not search paths D is an upper bound on L D may be significantly larger than L p1 cv1(p1, q1) G q1 E cv2(p2, q2) K I E cv1 p2 cv2 p3 q2 cv2 G I J cv3(p3, q3) N M J N cv3 q3 K M Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
31 The Difference between D and L Reminder: D represents the length of the longest DG path Some DG paths are not search paths D is an upper bound on L D may be significantly larger than L p1 cv1(p1, q1) G q1 E cv2(p2, q2) K I E cv1 p2 cv2 p3 q2 cv2 G I J cv3(p3, q3) N M cv3 Longest Query Path - L J N q3 K M Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
32 The Difference between D and L Reminder: D represents the length of the longest DG path Some DG paths are not search paths D is an upper bound on L D may be significantly larger than L p1 cv1(p1, q1) G q1 E cv2(p2, q2) K I E cv1 p2 cv2 p3 q2 cv2 G I J cv3(p3, q3) N M Longest DG Path - D J N cv3 q3 K M Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
33 The Difference between D and L Reminder: D represents the length of the longest DG path Some DG paths are not search paths D is an upper bound on L D may be significantly larger than L p1 cv1(p1, q1) G q1 E cv2(p2, q2) K I E cv1 p2 cv2 p3 q2 cv2 G I J cv3(p3, q3) N M cv3 Longest Query Path - L Longest DG Path - D J N q3 K M Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
34 Towards a Worst-Case D/L Ratio Top-to-bottom insertion order n blocks n segments in each block D is Ω(n) L is O( n) Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
35 Towards a Worst-Case D/L Ratio p1 q1 I+K cv1 C p2 cv2 q2 H K I cv4(p4, q4) C cv1(p1, q1) L cv2(p2, q2) M cv3(p3, q3) D G E H p3 D E+ q3 L cv3 G M I C D E D is Ω(n) L is O( n) Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
36 Towards a Worst-Case D/L Ratio p1 q1 cv1 p2 cv4 q2 C cv2 H K I cv4(p4, q4) N C cv1(p1, q1) L cv2(p2, q2) M cv3(p3, q3) D G E H p4 cv4 K I N C D E I cv4 D p3 q4 cv4 q3 L cv3 G M E D is Ω(n) L is O( n) Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
37 Towards a Worst-Case D/L Ratio This construction ensures that each newly inserted segment intersects the trapezoid with the largest depth query can skip an entire block using only one comparison Within the relevant block there are at most O( n) comparisons Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
38 Worst-Case D/L Ratio Top-to-bottom insertion order n 2 D is Ω(n) L is O(log n) chieved due to the recursive structure O(log n) n 8 n 4 Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
39 Worst-Case D/L Ratio Top-to-bottom insertion order n 2 D is Ω(n) L is O(log n) chieved due to the recursive structure O(log n) n 8 n 4 Theorem 1 The worst-case ratio between D and L is Ω(n/log n) and this bound is tight. Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
40 Outline Trapezoidal-map RIC point-location variants Depth vs. maximum query path length n efficient construction algorithm for static settings Open Problems Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
41 Outline Trapezoidal-map RIC point-location variants Depth vs. maximum query path length n efficient construction algorithm for static settings Open Problems Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
42 Verifying L fter Construction in O(n log n) time y verifying L in O(n log n) time we get the following expected O(n log n) time construction algorithm: Construct the DG with some random insertion order Verify S on the fly (can be accessed in O(1) time) bort and rebuild if S c1 n Verify in O(n log n) time that L c 2 log n, rebuild otherwise Only a constant number of rebuilds is expected Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
43 n O(n log n) Verification lgorithm for L Ingredients: Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
44 n O(n log n) Verification lgorithm for L Ingredients: Observation: The length of a path in the DG for a query point q is at most 3 times the number of all trapezoids that covered q throughout the algorithm [Har-Peled] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
45 n O(n log n) Verification lgorithm for L Ingredients: Observation: The length of a path in the DG for a query point q is at most 3 times the number of all trapezoids that covered q throughout the algorithm [Har-Peled] reduction from the collection of all trapezoids to a collection of axis-aligned rectangles Uses a total order according to which curves can be translated one by one to y = without hitting other curves that have not been moved yet [Guibas & Yao 80] Can be computed in O(n log n) time [Ottmann & Widmayer 83] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
46 n O(n log n) Verification lgorithm for L Ingredients: Observation: The length of a path in the DG for a query point q is at most 3 times the number of all trapezoids that covered q throughout the algorithm [Har-Peled] reduction from the collection of all trapezoids to a collection of axis-aligned rectangles Uses a total order according to which curves can be translated one by one to y = without hitting other curves that have not been moved yet [Guibas & Yao 80] Can be computed in O(n log n) time [Ottmann & Widmayer 83] n O(n log n) time algorithm for computing the cover-depth of a collection of n axis-aligned rectangles [lt & Scharf 10] Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
47 n O(n log n) Verification lgorithm for L The key ingredient: Observation (Har-Peled) The length of a path in the DG for a query point q is at most three times the number of trapezoids created throughout the algorithm that cover q Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
48 n O(n log n) Verification lgorithm for L The key ingredient: Observation (Har-Peled) The length of a path in the DG for a query point q is at most three times the number of trapezoids created throughout the algorithm that cover q cv 1(p 1, q 1) D p1 C cv1 q1 D C q Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
49 n O(n log n) Verification lgorithm for L The key ingredient: Observation (Har-Peled) The length of a path in the DG for a query point q is at most three times the number of trapezoids created throughout the algorithm that cover q cv 1(p 1, q 1) D p1 C cv1 q1 D C q Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
50 n O(n log n) Verification lgorithm for L The key ingredient: Observation (Har-Peled) The length of a path in the DG for a query point q is at most three times the number of trapezoids created throughout the algorithm that cover q cv 1(p 1, q 1) E q G cv 2(p 2, q 2) H I p1 cv1 C p2 cv2 E q1 H cv2 q2 G I Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
51 n O(n log n) Verification lgorithm for L The key ingredient: Observation (Har-Peled) The length of a path in the DG for a query point q is at most three times the number of trapezoids created throughout the algorithm that cover q cv 1(p 1, q 1) E q G cv 2(p 2, q 2) H I p1 cv1 C p2 cv2 E q1 H cv2 q2 G I Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
52 n O(n log n) Verification lgorithm for L The key ingredient: Observation (Har-Peled) The length of a path in the DG for a query point q is at most three times the number of trapezoids created throughout the algorithm that cover q cv 1(p 1, q 1) E q G cv 2(p 2, q 2) J K cv 3(p 3, q 3) N M I p1 cv1 C p2 cv2 E q1 H J p3 q3 q2 cv2 I G cv3 M N K Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
53 n O(n log n) Verification lgorithm for L The key ingredient: Observation (Har-Peled) The length of a path in the DG for a query point q is at most three times the number of trapezoids created throughout the algorithm that cover q cv 1(p 1, q 1) E q G cv 2(p 2, q 2) J K cv 3(p 3, q 3) N M I p1 cv1 C p2 cv2 E q1 H J p3 q3 q2 cv2 I G cv3 M N K Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
54 Reduction from Trapezoids to Rectangles C - a set of interior disjoint x-monotone curves Define a total order < as follows [Guibas & Yao 80]: - an acyclic relation on C cv i cv j cv i (x) < cv j (x) for some x x-range(cv i ) x-range(cv j ) cv 1 cv 2 cv 2 cv 1 cv 1 cv 2 Undefined Extend + (the transitive closure of ) to a total order <: cv i < cv j (cv i + cv j )or( (cv j + cv i )and(cv i left cv j )) cv 1 cv 2 cv 3 cv 2 < cv 1 < cv 3 Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
55 Reduction from Trapezoids to Rectangles Rank : C {1,..., n} - returns the order of cv C when sorting C according to < trapezoid t is reduced to a rectangle r, s.t.: t and r have the same x-range top and bottom edges of r lie on y = Rank(top(t)) and y = Rank(bottom(t)), respectively We show that this reduction preserves the cover depth Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
56 Computing the Cover-Depth of a Collection of n xis-ligned Rectangles in O(n log n) Time [x1, x3] lgorithm by lt & Scharf (2010) [x1, x3) asic data structure: a balanced binary tree for the intervals Keep coverage and max-coverage in every node Sweep from y = + to y = Sweep-line event: rectangle starts or ends [x1, x2) [x2, x3) [x1, x1] (x1, x2) [x2, x2] (x2, x3) [x3, x3] Update a rectangle event with x-interval (a, b) in 2 log n time a Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25 b
57 n O(n log n) Verification lgorithm for L Lemma The length L in a linear size DG can be verified in O(n log n) time. Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
58 n O(n log n) Verification lgorithm for L Lemma The length L in a linear size DG can be verified in O(n log n) time. Theorem 2 point location data structure for a planar subdivision with n edges, which has O(n) size and O(log n) query time in the worst case, can be built in expected O(n log n) time. Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
59 Simpler Verification lgorithm for L We also suggest a randomized verification algorithm which: Runs in expected O(n log n) time Is much simpler Uses the existing structures (the DG) Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
60 Outline Trapezoidal-map RIC point-location variants Depth vs. maximum query path length n efficient construction algorithm for static settings Open Problems Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
61 Major Open Problem Suppose that the structure is rebuilt whenever either the depth D or the size S exceed some thresholds. Can we still expect a constant number of rebuilds? Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
62 The End Michal Kleinbort (TU) Point-Location in General 2D Subdivisions Dec, / 25
Computational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationTrapezoidal Maps. Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy
Trapezoidal Maps Notes taken from CG lecture notes of Mount (pages 60 69) Course page has a copy Trapezoidal Maps S={s 1,s 2,..., s n } is the set of line segments segments don t intersect, but can touch
More informationAverage case analysis of dynamic geometric optimization
Average case analysis of dynamic geometric optimization David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 May 19, 1995 Abstract We maintain the maximum
More informationPlanar Point Location
C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 04 Date: February 15, 1993 Scribe: John Bazik Planar Point Location 1 Introduction In range searching, a set of values,
More informationRange Searching II: Windowing Queries
Computational Geometry Lecture : Windowing Queries INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Tamara Mchedlidze Chih-Hung Liu 23.11.2015 1 Object types in range queries y0 y x x0 Setting
More informationComputing intersections in a set of line segments: the Bentley-Ottmann algorithm
Computing intersections in a set of line segments: the Bentley-Ottmann algorithm Michiel Smid October 14, 2003 1 Introduction In these notes, we introduce a powerful technique for solving geometric problems.
More informationAverage Case Analysis of Dynamic Geometric Optimization
Average Case Analysis of Dynamic Geometric Optimization David Eppstein Abstract We maintain the maximum spanning tree of a planar point set, as points are inserted or deleted, in O(log 3 n) time per update
More informationRandomized incremental construction. Trapezoidal decomposition: Special sampling idea: Sample all except one item
Randomized incremental construction Special sampling idea: Sample all except one item hope final addition makes small or no change Method: process items in order average case analysis randomize order to
More informationUpdating Widths and Maximum Spanning Trees using the Rotating Caliper Graph
Updating Widths and Maximum Spanning Trees using the Rotating Caliper Graph David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 93-18 April
More informationComputational Geometry
Planar point location Point location Introduction Planar point location Strip-based structure Point location problem: Preprocess a planar subdivision such that for any query point q, the face of the subdivision
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationTrapezoid and Chain Methods
C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 05 Date: Febuary 17, 1993 Scribe: Peter C. McCluskey Trapezoid and Chain Methods 1 Trapezoid Method (continued) Continuing
More informationBinary Space Partitions for Orthogonal Segments and Hyperrectangles Adrian Dumitrescu Joe Mitchell Micha Sharir
Binary Space Partitions for Orthogonal Segments and Hyperrectangles Adrian Dumitrescu Joe Mitchell Micha Sharir State University of New York Stony Brook, NY 11794 3600 Binary Space Partitions (BSP): l5
More informationPredecessor Data Structures. Philip Bille
Predecessor Data Structures Philip Bille Outline Predecessor problem First tradeoffs Simple tries x-fast tries y-fast tries Predecessor Problem Predecessor Problem The predecessor problem: Maintain a set
More informationComputation Geometry Exercise Range Searching II
Computation Geometry Exercise Range Searching II LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Guido Brückner 20.07.2018 1 Object types in range queries y0 y
More informationComputational Geometry
Windowing queries Windowing Windowing queries Zoom in; re-center and zoom in; select by outlining Windowing Windowing queries Windowing Windowing queries Given a set of n axis-parallel line segments, preprocess
More informationGeometric Data Structures
Geometric Data Structures 1 Data Structure 2 Definition: A data structure is a particular way of organizing and storing data in a computer for efficient search and retrieval, including associated algorithms
More informationCoverage Approximation Algorithms
DATA MINING LECTURE 12 Coverage Approximation Algorithms Example Promotion campaign on a social network We have a social network as a graph. People are more likely to buy a product if they have a friend
More information1 The range query problem
CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition
More informationInsertions and Deletions in Delaunay Triangulations using Guided Point Location. Kevin Buchin TU Eindhoven
Insertions and Deletions in Delaunay Triangulations using Guided Point Location Kevin Buchin TU Eindhoven Heraklion, 21.1.2013 Guide - Example Construct Delaunay triangulation of convex polygon in linear
More informationarxiv: v1 [cs.cg] 8 Jan 2018
Voronoi Diagrams for a Moderate-Sized Point-Set in a Simple Polygon Eunjin Oh Hee-Kap Ahn arxiv:1801.02292v1 [cs.cg] 8 Jan 2018 Abstract Given a set of sites in a simple polygon, a geodesic Voronoi diagram
More informationImproved Bounds for Intersecting Triangles and Halving Planes
Improved Bounds for Intersecting Triangles and Halving Planes David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 91-60 July 15, 1991 Abstract
More informationOptimal Expected-Case Planar Point Location
Optimal Expected-Case Planar Point Location Sunil Arya Theocharis Malamatos David M. Mount Ka Chun Wong November 20, 2006 Abstract Point location is the problem of preprocessing a planar polygonal subdivision
More informationComputational Geometry
Orthogonal Range Searching omputational Geometry hapter 5 Range Searching Problem: Given a set of n points in R d, preprocess them such that reporting or counting the k points inside a d-dimensional axis-parallel
More informationAn Optimal Algorithm for the Euclidean Bottleneck Full Steiner Tree Problem
An Optimal Algorithm for the Euclidean Bottleneck Full Steiner Tree Problem Ahmad Biniaz Anil Maheshwari Michiel Smid September 30, 2013 Abstract Let P and S be two disjoint sets of n and m points in the
More informationOn Covering a Graph Optimally with Induced Subgraphs
On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number
More informationLecture 3: Art Gallery Problems and Polygon Triangulation
EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified
More informationAdvanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012
UMass Lowell Computer Science 91.504 Advanced Algorithms Computational Geometry Prof. Karen Daniels Fall, 2012 O Rourke Chapter 7 Search & Intersection Chapter 7 Search & Intersection Segment-Segment Intersection
More information4. Conclusion. 5. Acknowledgment. 6. References
[10] F. P. Preparata and S. J. Hong, Convex hulls of finite sets of points in two and three dimensions, Communications of the ACM, vol. 20, pp. 87-93, 1977. [11] K. Ichida and T. Kiyono, Segmentation of
More informationCS60003 Algorithm Design and Analysis, Autumn
CS60003 Algorithm Design and Analysis, Autumn 2009 10 Mid-Semester Test Maximum marks: 45 September 20, 2009 Total time: 2 hours Roll no: Name: [ Write your answers in the question paper itself. Be brief
More informationCPSC / Sonny Chan - University of Calgary. Collision Detection II
CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning
More informationRange Searching and Windowing
CS 6463 -- Fall 2010 Range Searching and Windowing Carola Wenk 1 Orthogonal range searching Input: n points in d dimensions E.g., representing a database of n records each with d numeric fields Query:
More informationCMSC 754 Computational Geometry 1
CMSC 754 Computational Geometry 1 David M. Mount Department of Computer Science University of Maryland Fall 2005 1 Copyright, David M. Mount, 2005, Dept. of Computer Science, University of Maryland, College
More informationc 2007 Society for Industrial and Applied Mathematics
SIAM J. COMPUT. Vol. 37, No. 2, pp. 584 610 c 2007 Society for Industrial and Applied Mathematics OPTIMAL EXPECTED-CASE PLANAR POINT LOCATION SUNIL ARYA, THEOCHARIS MALAMATOS, DAVID M. MOUNT, AND KA CHUN
More informationGEOMETRIC SEARCHING PART 1: POINT LOCATION
GEOMETRIC SEARCHING PART 1: POINT LOCATION PETR FELKEL FEL CTU PRAGUE felkel@fel.cvut.cz https://cw.felk.cvut.cz/doku.php/courses/a4m39vg/start Based on [Berg] and [Mount] Version from 3.10.2014 Geometric
More informationFly Cheaply: On the Minimum Fuel Consumption Problem
Fly Cheaply: On the Minimum Fuel Consumption Problem Timothy M. Chan Alon Efrat Sariel Har-Peled September 30, 1999 Abstract In planning a flight, stops at intermediate airports are sometimes necessary
More informationThe Visibility Problem and Binary Space Partition. (slides by Nati Srebro)
The Visibility Problem and Binary Space Partition (slides by Nati Srebro) The Visibility Problem b a c d e Algorithms Z-buffer: Draw objects in arbitrary order For each pixel, maintain distance to the
More information1 Static-to-Dynamic Transformations
You re older than you ve ever been and now you re even older And now you re even older And now you re even older You re older than you ve ever been and now you re even older And now you re older still
More informationGeometric Rounding. Snap rounding arrangements of segments. Dan Halperin. Tel Aviv University. AGC-CGAL05 Rounding 1
Geometric Rounding Snap rounding arrangements of segments Dan Halperin danha@tau.ac.il Tel Aviv University AGC-CGAL05 Rounding 1 Rounding geometric objects transforming an arbitrary precision object into
More informationBichromatic Line Segment Intersection Counting in O(n log n) Time
Bichromatic Line Segment Intersection Counting in O(n log n) Time Timothy M. Chan Bryan T. Wilkinson Abstract We give an algorithm for bichromatic line segment intersection counting that runs in O(n log
More informationLecture 16: Voronoi Diagrams and Fortune s Algorithm
contains q changes as a result of the ith insertion. Let P i denote this probability (where the probability is taken over random insertion orders, irrespective of the choice of q). Since q could fall through
More informationBIASED RANGE TREES. Vida Dujmović John Howat Pat Morin
BIASED RANGE TREES Vida Dujmović John Howat Pat Morin ABSTRACT. A data structure, called a biased range tree, is presented that preprocesses a set S of n points in R 2 and a query distribution D for 2-sided
More informationThe Touring Polygons Problem (TPP)
The Touring Polygons Problem (TPP) [Dror-Efrat-Lubiw-M]: Given a sequence of k polygons in the plane, a start point s, and a target point, t, we seek a shortest path that starts at s, visits in order each
More informationField: We have been doing geometry eg linear programming. But in computational geometry, key difference in focus: low dimension d
1 Geometry Field: We have been doing geometry eg linear programming But in computational geometry, key difference in focus: low dimension d Lots of algorithms that are great for d small, but exponential
More informationComputational Geometry
CS 5633 -- Spring 2004 Computational Geometry Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk CS 5633 Analysis of Algorithms 1 Computational geometry Algorithms for solving
More informationComputational Geometry [csci 3250]
Computational Geometry [csci 3250] Laura Toma Bowdoin College Polygon Triangulation Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon
More informationCS 532: 3D Computer Vision 14 th Set of Notes
1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating
More informationApproximation Algorithms for Geometric Intersection Graphs
Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline
More informationSolutions to Problem Set 1
CSCI-GA.3520-001 Honors Analysis of Algorithms Solutions to Problem Set 1 Problem 1 An O(n) algorithm that finds the kth integer in an array a = (a 1,..., a n ) of n distinct integers. Basic Idea Using
More informationJanuary 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms
Geometric data structures Sudebkumar Prasant Pal Department of Computer Science and Engineering IIT Kharagpur, 721302. email: spp@cse.iitkgp.ernet.in January 10-12, 2012 - NIT Surathkal Introduction to
More informationLecture 3 February 9, 2010
6.851: Advanced Data Structures Spring 2010 Dr. André Schulz Lecture 3 February 9, 2010 Scribe: Jacob Steinhardt and Greg Brockman 1 Overview In the last lecture we continued to study binary search trees
More informationPolygon Triangulation
Polygon Triangulation The problem: Triangulate a given polygon. (output a set of diagonals that partition the polygon into triangles). Computational Geometry [csci 3250] Polygon Triangulation Laura Toma
More informationData Structures for Approximate Proximity and Range Searching
Data Structures for Approximate Proximity and Range Searching David M. Mount University of Maryland Joint work with: Sunil Arya (Hong Kong U. of Sci. and Tech) Charis Malamatos (Max Plank Inst.) 1 Introduction
More informationComputational Geometry
Range searching and kd-trees 1 Database queries 1D range trees Databases Databases store records or objects Personnel database: Each employee has a name, id code, date of birth, function, salary, start
More informationLevel-Balanced B-Trees
Gerth Stølting rodal RICS University of Aarhus Pankaj K. Agarwal Lars Arge Jeffrey S. Vitter Center for Geometric Computing Duke University January 1999 1 -Trees ayer, McCreight 1972 Level 2 Level 1 Leaves
More information1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls
1/60 Geometric Algorithms Lecture 1: Introduction Convex Hulls Geometric algorithms scope 2/60 Geometry algorithms (practice): Study of geometric problems that arise in various applications and how algorithms
More informationAlgorithms for GIS:! Quadtrees
Algorithms for GIS: Quadtrees Quadtree A data structure that corresponds to a hierarchical subdivision of the plane Start with a square (containing inside input data) Divide into 4 equal squares (quadrants)
More informationI/O-Algorithms Lars Arge Aarhus University
I/O-Algorithms Aarhus University April 10, 2008 I/O-Model Block I/O D Parameters N = # elements in problem instance B = # elements that fits in disk block M = # elements that fits in main memory M T =
More informationFoundations of Computer Science Spring Mathematical Preliminaries
Foundations of Computer Science Spring 2017 Equivalence Relation, Recursive Definition, and Mathematical Induction Mathematical Preliminaries Mohammad Ashiqur Rahman Department of Computer Science College
More informationMAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS
MAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS MANUEL FERNÁNDEZ, NICHOLAS SIEGER, AND MICHAEL TAIT Abstract. In 99, Bollobás and Frieze showed that the threshold for G n,p to contain a spanning
More informationNotes in Computational Geometry Voronoi Diagrams
Notes in Computational Geometry Voronoi Diagrams Prof. Sandeep Sen and Prof. Amit Kumar Indian Institute of Technology, Delhi Voronoi Diagrams In this lecture, we study Voronoi Diagrams, also known as
More informationA SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)
Chapter 1 A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES) Piotr Berman Department of Computer Science & Engineering Pennsylvania
More informationComputational Geometry. Lecture 17
Computational Geometry Lecture 17 Computational geometry Algorithms for solving geometric problems in 2D and higher. Fundamental objects: Basic structures: point line segment line point set polygon L17.2
More informationComputational Geometry
Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is
More informationChapter 19. Sorting Networks Model of Computation. By Sariel Har-Peled, December 17,
Chapter 19 Sorting Networks By Sariel Har-Peled, December 17, 2012 1 19.1 Model of Computation It is natural to ask if one can perform a computational task considerably faster by using a different architecture
More informationEfficient pebbling for list traversal synopses
Efficient pebbling for list traversal synopses Yossi Matias Ely Porat Tel Aviv University Bar-Ilan University & Tel Aviv University Abstract 1 Introduction 1.1 Applications Consider a program P running
More informationComputational Geometry
Computational Geometry Range queries Convex hulls Lower bounds Planar subdivision search Line segment intersection Convex polygons Voronoi diagrams Minimum spanning trees Nearest neighbors Triangulations
More informationAnalysis of Algorithms
Analysis of Algorithms Concept Exam Code: 16 All questions are weighted equally. Assume worst case behavior and sufficiently large input sizes unless otherwise specified. Strong induction Consider this
More informationRobotic Motion Planning: Cell Decompositions (with some discussion on coverage and pursuer/evader)
Robotic Motion Planning: Cell Decompositions (with some discussion on coverage and pursuer/evader) Robotics Institute 16-735 http://voronoi.sbp.ri.cmu.edu/~motion Howie Choset http://voronoi.sbp.ri.cmu.edu/~choset
More informationAn Efficient Transformation for Klee s Measure Problem in the Streaming Model Abstract Given a stream of rectangles over a discrete space, we consider the problem of computing the total number of distinct
More information26 The closest pair problem
The closest pair problem 1 26 The closest pair problem Sweep algorithms solve many kinds of proximity problems efficiently. We present a simple sweep that solves the two-dimensional closest pair problem
More informationRandomized Incremental Constructions of Three-Dimensional Convex Hulls and Planar Voronoi Diagrams, and Approximate Range Counting
Randomized Incremental Constructions of Three-Dimensional Convex Hulls and Planar Voronoi Diagrams, and Approximate Range Counting Haim Kaplan Micha Sharir August 7, 005 Abstract We present new algorithms
More informationTrapezoidal decomposition:
Trapezoidal decomposition: Motivation: manipulate/analayze a collection of segments e.g. detect segment intersections e.g., point location data structure Definition. Draw verticals at all points binary
More informationOrthogonal range searching. Range Trees. Orthogonal range searching. 1D range searching. CS Spring 2009
CS 5633 -- Spring 2009 Orthogonal range searching Range Trees Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk CS 5633 Analysis of Algorithms 1 Input: n points in d dimensions
More informationIndexed Geometric Jumbled Pattern Matching
Indexed Geometric Jumbled Pattern Matching S. Durocher 1 R. Fraser 1,2 T. Gagie 3 D. Mondal 1 M. Skala 1 S. Thankachan 4 1 University of Manitoba 2 Google 3 University of Helsinki, Helsinki Institute for
More information3 Competitive Dynamic BSTs (January 31 and February 2)
3 Competitive Dynamic BSTs (January 31 and February ) In their original paper on splay trees [3], Danny Sleator and Bob Tarjan conjectured that the cost of sequence of searches in a splay tree is within
More informationwhere is a constant, 0 < <. In other words, the ratio between the shortest and longest paths from a node to a leaf is at least. An BB-tree allows ecie
Maintaining -balanced Trees by Partial Rebuilding Arne Andersson Department of Computer Science Lund University Box 8 S-22 00 Lund Sweden Abstract The balance criterion dening the class of -balanced trees
More informationDelaunay Triangulations
Delaunay Triangulations (slides mostly by Glenn Eguchi) Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally approximate height of points not
More informationLecture 3 February 23, 2012
6.851: Advanced Data Structures Spring 2012 Prof. Erik Demaine Lecture 3 February 23, 2012 1 Overview In the last lecture we saw the concepts of persistence and retroactivity as well as several data structures
More informationUniversity of Waterloo CS240R Fall 2017 Review Problems
University of Waterloo CS240R Fall 2017 Review Problems Reminder: Final on Tuesday, December 12 2017 Note: This is a sample of problems designed to help prepare for the final exam. These problems do not
More information9 Bounds for the Knapsack Problem (March 6)
9 Bounds for the Knapsack Problem (March 6) In this lecture, I ll develop both upper and lower bounds in the linear decision tree model for the following version of the (NP-complete) Knapsack 1 problem:
More informationEXPECTED-CASE PLANAR POINT LOCATION
EXPECTED-CASE PLANAR POINT LOCATION by THEOCHARIS MALAMATOS A Thesis Submitted to The Hong Kong University of Science and Technology in Partial Fulfillment of the Requirements for the Degree of Doctor
More informationDelaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001
Delaunay Triangulations Presented by Glenn Eguchi 6.838 Computational Geometry October 11, 2001 Motivation: Terrains Set of data points A R 2 Height ƒ(p) defined at each point p in A How can we most naturally
More informationR-Trees. Accessing Spatial Data
R-Trees Accessing Spatial Data In the beginning The B-Tree provided a foundation for R- Trees. But what s a B-Tree? A data structure for storing sorted data with amortized run times for insertion and deletion
More informationElementary maths for GMT. Algorithm analysis Part II
Elementary maths for GMT Algorithm analysis Part II Algorithms, Big-Oh and Big-Omega An algorithm has a O( ) and Ω( ) running time By default, we mean the worst case running time A worst case O running
More informationRange Reporting. Range Reporting. Range Reporting Problem. Applications
Philip Bille Problem problem. Preprocess at set of points P R 2 to support report(x1, y1, x2, y2): Return the set of points in R P, where R is rectangle given by (x1, y1) and (x2, y2). Applications Relational
More informationApproximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006
Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006 Outline Reducing the constant from O ( ɛ d) to O ( ɛ (d 1)/2) in uery time Need to know ɛ ahead of time Preprocessing time and
More informationUniversity of Waterloo CS240 Spring 2018 Help Session Problems
University of Waterloo CS240 Spring 2018 Help Session Problems Reminder: Final on Wednesday, August 1 2018 Note: This is a sample of problems designed to help prepare for the final exam. These problems
More informationFormal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.
Although this paper analyzes shaping with respect to its benefits on search problems, the reader should recognize that shaping is often intimately related to reinforcement learning. The objective in reinforcement
More informationK-structure, Separating Chain, Gap Tree, and Layered DAG
K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush Overview Improvement on Gap Tree and K-structure Faster point location Encompasses Separating Chain Better storage Designed
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17
601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 5.1 Introduction You should all know a few ways of sorting in O(n log n)
More informationCMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications
CMPS 3130/6130 Computational Geometry Spring 2015 Voronoi Diagrams Carola Wenk Based on: Computational Geometry: Algorithms and Applications 2/19/15 CMPS 3130/6130 Computational Geometry 1 Voronoi Diagram
More informationDISTRIBUTION-SENSITIVE POINT LOCATION IN CONVEX SUBDIVISIONS
DISTRIBUTION-SENSITIVE POINT LOCATION IN CONVEX SUBDIVISIONS Sébastien Collette Université Libre de Bruxelles John Iacono Polytechnic University Pat Morin Carleton University Stefan Langerman Université
More information1. Meshes. D7013E Lecture 14
D7013E Lecture 14 Quadtrees Mesh Generation 1. Meshes Input: Components in the form of disjoint polygonal objects Integer coordinates, 0, 45, 90, or 135 angles Output: A triangular mesh Conforming: A triangle
More information2 A Plane Sweep Algorithm for Line Segment Intersection
EECS 396/496: Computational Geometry Fall 2017 Lecturer: Huck Bennett Lecture 2: Line Segment Intersection In this lecture, we will study the problem of computing all intersections of a set of line segmentn
More informationProblem Set 5 Solutions
Introduction to Algorithms November 4, 2005 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik D. Demaine and Charles E. Leiserson Handout 21 Problem Set 5 Solutions Problem 5-1. Skip
More informationMultidimensional Divide and Conquer 2 Spatial Joins
Multidimensional Divide and Conque Spatial Joins Yufei Tao ITEE University of Queensland Today we will continue our discussion of the divide and conquer method in computational geometry. This lecture will
More informationDynamic Euclidean Minimum Spanning Trees and Extrema of Binary Functions
Dynamic Euclidean Minimum Spanning Trees and Extrema of Binary Functions David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Abstract We maintain the
More informationLecture 3: Sorting 1
Lecture 3: Sorting 1 Sorting Arranging an unordered collection of elements into monotonically increasing (or decreasing) order. S = a sequence of n elements in arbitrary order After sorting:
More informationIntersection Acceleration
Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees
More information