Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005.

Similar presentations


Presentation on theme: "Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005."— Presentation transcript:

1

2 Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

3 Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 1905

4

5 Ruler & Compass Algorithms

6 Gauss: 17-gon

7

8 Constructing Regular N-gons 3folklore 5antiquity 17 Gauss (1796) 257 Richelot (1832) 65537 Hermes (1879) Gauss Fermat primes 2 2 k can’t do heptagons +1 proof covers a gym Hilbert proved lower bounds on number of steps

9 Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

10 algorithmic algorithmic analytical analytical TOOLS FROM COMPUTATIONAL GEOMETRY TOOLS FROM COMPUTATIONAL GEOMETRY

11 1 Algorithmic tools 1 Algorithmic tools geometric divide & conquer geometric divide & conquer

12 Voronoi Diagram

13

14

15

16

17

18 Works well also for convex hulls, nearest neighbors [3,6]

19 Works not so well for multidimensional searching: quadtrees, kd-trees: highly sub-optimal

20 Hopcroft’s problem Any point/line incidence?N points and N lines

21 Naïve divide & conquer

22 O(N logN) time Point location in line arrangement

23 ~ O(N ) time 3/2

24 1 Algorithmic tools 1 Algorithmic tools geometric divide & conquer geometric divide & conquer

25 1 Algorithmic tools 1 Algorithmic tools geometric divide & conquer geometric divide & conquer

26 [2, p.123]

27 N points

28 number of intersections = O( ) for any line

29 Often, the number of simple polygons is exponential.

30 Sometimes, it’s unique… Often, the number of simple polygons is exponential.

31 Sometimes, it’s unique… Often, the number of simple polygons is exponential.

32 N points number of intersections = O( ) SPANNING PATH THEOREM for any line

33

34 N points number of intersections = O( ) SPANNING PATH THEOREM for random line

35 Join two closest points; remove; repeat

36

37 number of intersections = O( ) for random line

38 Difficulty 1: Produces a matching, not a simple polygon

39 Matching  Tree

40 Remove each edge and one of its adjacent vertices

41

42

43

44

45

46

47

48

49 number of intersections = O( ) = O( ) for random line

50 Tree  Hamiltonian Circuit

51 (via DFS)

52 Hamiltonian Circuit  Simple Polygon

53 (via edge switching)

54 Simple Polygon

55 for random line number of intersections = O( )

56 Change definition of randomness

57 New definition: A random line joins 2 of the N points picked at random.

58 Next goal A random line cuts O( ) edges

59 Euclidean is wrong metric

60 prob [ line(random pair) cuts ab ] b a New metric: d(a,b)= pick random pair

61 New metric has “dimension” 2 b a pick random pair

62 This ensures that a random line cuts O( ) edges

63 Final goal: A line between any 2 points picked at cuts O( ) edges

64 Increase d(a,b) multiplicatively (as in BOOSTING ) a b double probability of picking pair

65 ANY line cuts O( ) edges

66 Spanning Path Theorem

67 APPLICATION: SIMPLEX RANGE COUNTING [2, p.214] How many points in the triangle? 6 6

68 Ray shooting in O(log N) time

69

70 APPLICATION: SIMPLEX RANGE COUNTING How many points in the triangle?

71 APPLICATION: SIMPLEX RANGE COUNTING Triangle range counting in O( ) time ~

72 Spanning Path Theorem

73 -APPROXIMATION (for triangles)

74 Subset A such that: any triangle T

75 Subset A such that: any triangle T

76 Subset A such that: any triangle T

77 Size of A is O( ) Independent of N Better than random! Size of A is O( ) Independent of N Better than random! -4/3 ~

78

79 Keep every other edge

80

81 Color randomly red/blue

82 discrepancy within any triangle = ?

83 discrepancy within any triangle = 1

84 discrepancy within any triangle =

85

86 Remove red points

87 Recolor

88 Remove red points

89 Repeat until O( ) points left ~ -4/3

90

91

92 Subset A such that: any triangle T

93 A is called an -approximation A is called an -approximation (for triangles) (for triangles) A is called an -approximation A is called an -approximation (for triangles) (for triangles) Its size O( ) is independent of N Its size O( ) is independent of N -4/3 ~ A is computable in poly(N) A is computable in poly(N)

94

95 Set System (X, ) Set System (X, ) 2 2 XX VC dim = max |shattered set|

96 VC dim = 3 VC dim = 3

97 Unbounded VC dimension

98 Bounded VC dim implies that Bounded VC dim implies that Given any Y X, number of distinct sets Y S, where S, is O(|Y| ) Given any Y X, number of distinct sets Y S, where S, is O(|Y| ) cc Dual set system  dual shatter exponent primal shatter exponent easy to determine

99 VC dim = ? VC dim = ? (points, ellipsoids) in d-dim (points, ellipsoids) in d-dim

100 dual shatter function = O(N ) dual shatter function = O(N ) (points, ellipsoids) in d-dim d by Thom-Milnor

101 Set System (V, S) Set System (V, S) O( ) -2+2/(d+1) ~ d= VC dimension Size of -approximation is or primal/dual shatter exponent [2, p.179]

102 Set System (V, S) Set System (V, S) O( ) -2 ~ Size of -approximation is Computable in O(N) poly( ) In comp geom, random bits help with simplicity but not with complexity [2, p.175]

103

104 -cutting -cutting N lines

105 [2, p.204]

106 Application Hopcroft’s problem [2, p.213]

107

108 Dualize point (a,b) line aX+bY=1

109 Recurse

110 Hopcroft’s problem

111

112 N lines Standard sampling Standard sampling How many lines?

113 Set System (X, ) Set System (X, ) X = set of N lines X = set of N lines = =

114 N lines easy to do with an -approximation How many lines?

115 N lines Product sampling Product sampling How many vertices? [2, p.183]

116 N lines Unbounded VC-dim: yet can be done! Unbounded VC-dim: yet can be done! How many vertices?

117

118 Convex hull of N points in R dd [ 2, p.283]

119 Voronoi diagram of N points in E dd http://www.math.psu.edu/qdu/Res/Pic/gulf.jpg

120 Linear programming in linear time with fixed number of variables LP-type programming in linear time with fixed number of variables [1, p.82]

121 Linear programming in linear time with fixed number of variables LP-type programming in linear time with fixed number of variables [2, p.307]

122 d Smallest ellipsoid enclosing N points in R [2, p.313] in O (N) time! d

123 [0] Sampling tool for approximate geometric optimization

124 2 Analytical tools 2 Analytical tools 2.1 randomized scaling 2.2 backward analysis 2.1 randomized scaling 2.2 backward analysis

125 2 Analytical tools 2 Analytical tools 2.1 randomized scaling 2.1.2 k-sets 2.1.2 crossing lemma 2.2 backward analysis 2.1 randomized scaling 2.1.2 k-sets 2.1.2 crossing lemma 2.2 backward analysis

126

127 2 Analytical tools 2 Analytical tools 2.1 randomized scaling 2.1.2 k-sets 2.1.2 crossing lemma 2.2 backward analysis 2.1 randomized scaling 2.1.2 k-sets 2.1.2 crossing lemma 2.2 backward analysis

128 K-SETS

129 n(i,j) = 9 p p i j f = { (i,j) | i<j and n(i,j)= k } k

130 f = 6 0

131 Theorem:Theorem: [4, p.141]

132 X = 3

133 Theorem:Theorem:

134 Theorem:Theorem:

135 2 Analytical tools 2 Analytical tools 2.1 randomized scaling 2.1.2 k-sets 2.1.2 crossing lemma 2.2 backward analysis 2.1 randomized scaling 2.1.2 k-sets 2.1.2 crossing lemma 2.2 backward analysis

136 The Crossing Lemma: [4, p.55]

137 Pick each vertex with prob p Set p= 4n/m

138 Corollary:Corollary: # point/line incidences = O(N ) 4/34/3

139 Corollary:Corollary: # unit-distance pairs = O(N ) 4/34/3

140 2 Analytical tools 2 Analytical tools 2.1 randomized scaling 2.1.2 k-sets 2.1.2 crossing lemma 2.2 backward analysis 2.1 randomized scaling 2.1.2 k-sets 2.1.2 crossing lemma 2.2 backward analysis

141 Linear Programming Linear Programming [1, p76]

142

143

144

145

146

147

148

149

150 N constraints and d variables

151

152

153 Planar Graph

154 Planar Separator Theorem Remove O( ) vertices  (1/3-2/3) cut

155 [5, p96]

156

157

158

159 Stereographic lifting

160

161

162 Centerpoint Theorem (1/3,2/3) cut (1/4,3/4) cut in 3D

163 Can assume centerpoint is center of sphere

164

165

166 BIBLIOGRAPHYBIBLIOGRAPHY The results mentioned in this tutorial, as well as the history behind them, are discussed in detail in the surveys and monographs below.


Download ppt "Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005."

Similar presentations


Ads by Google