Logarithmic-Time Point Location in General Two-Dimensional Subdivisions

Size: px
Start display at page:

Download "Logarithmic-Time Point Location in General Two-Dimensional Subdivisions"

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

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 information

Trapezoidal 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 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 information

Average case analysis of dynamic geometric optimization

Average 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 information

Planar Point Location

Planar 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 information

Range Searching II: Windowing Queries

Range 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 information

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm

Computing 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 information

Average Case Analysis of Dynamic Geometric Optimization

Average 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 information

Randomized incremental construction. Trapezoidal decomposition: Special sampling idea: Sample all except one item

Randomized 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 information

Updating Widths and Maximum Spanning Trees using the Rotating Caliper Graph

Updating 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 information

Computational Geometry

Computational 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 information

CMSC 754 Computational Geometry 1

CMSC 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 information

Trapezoid and Chain Methods

Trapezoid 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 information

Binary 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 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 information

Predecessor Data Structures. Philip Bille

Predecessor 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 information

Computation Geometry Exercise Range Searching II

Computation 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 information

Computational Geometry

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 information

Geometric Data Structures

Geometric 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 information

Coverage Approximation Algorithms

Coverage 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 information

1 The range query problem

1 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 information

Insertions 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 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 information

arxiv: v1 [cs.cg] 8 Jan 2018

arxiv: 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 information

Improved Bounds for Intersecting Triangles and Halving Planes

Improved 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 information

Optimal Expected-Case Planar Point Location

Optimal 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 information

Computational Geometry

Computational 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 information

An Optimal Algorithm for the Euclidean Bottleneck Full Steiner Tree Problem

An 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 information

On Covering a Graph Optimally with Induced Subgraphs

On 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 information

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 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 information

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

Advanced 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 information

4. Conclusion. 5. Acknowledgment. 6. References

4. 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 information

CS60003 Algorithm Design and Analysis, Autumn

CS60003 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 information

CPSC / Sonny Chan - University of Calgary. Collision Detection II

CPSC / 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 information

Range Searching and Windowing

Range 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 information

CMSC 754 Computational Geometry 1

CMSC 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 information

c 2007 Society for Industrial and Applied Mathematics

c 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 information

GEOMETRIC SEARCHING PART 1: POINT LOCATION

GEOMETRIC 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 information

Fly Cheaply: On the Minimum Fuel Consumption Problem

Fly 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 information

The Visibility Problem and Binary Space Partition. (slides by Nati Srebro)

The 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 information

1 Static-to-Dynamic Transformations

1 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 information

Geometric Rounding. Snap rounding arrangements of segments. Dan Halperin. Tel Aviv University. AGC-CGAL05 Rounding 1

Geometric 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 information

Bichromatic Line Segment Intersection Counting in O(n log n) Time

Bichromatic 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 information

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

Lecture 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 information

BIASED RANGE TREES. Vida Dujmović John Howat Pat Morin

BIASED 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 information

The Touring Polygons Problem (TPP)

The 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 information

Field: We have been doing geometry eg linear programming. But in computational geometry, key difference in focus: low dimension d

Field: 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 information

Computational Geometry

Computational 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 information

Computational Geometry [csci 3250]

Computational 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 information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 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 information

Approximation Algorithms for Geometric Intersection Graphs

Approximation 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 information

Solutions to Problem Set 1

Solutions 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 information

January 10-12, NIT Surathkal Introduction to Graph and Geometric Algorithms

January 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 information

Lecture 3 February 9, 2010

Lecture 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 information

Polygon Triangulation

Polygon 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 information

Data Structures for Approximate Proximity and Range Searching

Data 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 information

Computational Geometry

Computational 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 information

Level-Balanced B-Trees

Level-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 information

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls

1/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 information

Algorithms for GIS:! Quadtrees

Algorithms 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 information

I/O-Algorithms Lars Arge Aarhus University

I/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 information

Foundations of Computer Science Spring Mathematical Preliminaries

Foundations 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 information

MAXIMAL PLANAR SUBGRAPHS OF FIXED GIRTH IN RANDOM GRAPHS

MAXIMAL 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 information

Notes in Computational Geometry Voronoi Diagrams

Notes 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 information

A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

A 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 information

Computational Geometry. Lecture 17

Computational 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 information

Computational Geometry

Computational 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 information

Chapter 19. Sorting Networks Model of Computation. By Sariel Har-Peled, December 17,

Chapter 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 information

Efficient pebbling for list traversal synopses

Efficient 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 information

Computational Geometry

Computational 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 information

Analysis of Algorithms

Analysis 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 information

Robotic 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) 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 information

An 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 information

26 The closest pair problem

26 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 information

Randomized 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 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 information

Trapezoidal decomposition:

Trapezoidal 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 information

Orthogonal range searching. Range Trees. Orthogonal range searching. 1D range searching. CS Spring 2009

Orthogonal 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 information

Indexed Geometric Jumbled Pattern Matching

Indexed 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 information

3 Competitive Dynamic BSTs (January 31 and February 2)

3 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 information

where 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

where 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 information

Delaunay Triangulations

Delaunay 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 information

Lecture 3 February 23, 2012

Lecture 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 information

University of Waterloo CS240R Fall 2017 Review Problems

University 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 information

9 Bounds for the Knapsack Problem (March 6)

9 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 information

EXPECTED-CASE PLANAR POINT LOCATION

EXPECTED-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 information

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001

Delaunay 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 information

R-Trees. Accessing Spatial Data

R-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 information

Elementary maths for GMT. Algorithm analysis Part II

Elementary 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 information

Range Reporting. Range Reporting. Range Reporting Problem. Applications

Range 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 information

Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006

Approximate 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 information

University of Waterloo CS240 Spring 2018 Help Session Problems

University 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 information

Formal 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.

Formal 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 information

K-structure, Separating Chain, Gap Tree, and Layered DAG

K-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

/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 information

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications

CMPS 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 information

DISTRIBUTION-SENSITIVE POINT LOCATION IN CONVEX SUBDIVISIONS

DISTRIBUTION-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 information

1. Meshes. D7013E Lecture 14

1. 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 information

2 A Plane Sweep Algorithm for Line Segment Intersection

2 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 information

Problem Set 5 Solutions

Problem 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 information

Multidimensional Divide and Conquer 2 Spatial Joins

Multidimensional 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 information

Dynamic Euclidean Minimum Spanning Trees and Extrema of Binary Functions

Dynamic 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 information

Lecture 3: Sorting 1

Lecture 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 information

Intersection Acceleration

Intersection 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