Download presentation
Presentation is loading. Please wait.
Published byMyrtle Potter Modified over 9 years ago
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
5
Ruler & Compass Algorithms
6
Gauss: 17-gon
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
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
34
N points number of intersections = O( ) SPANNING PATH THEOREM for random line
35
Join two closest points; remove; repeat
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
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
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 ~
79
Keep every other edge
81
Color randomly red/blue
82
discrepancy within any triangle = ?
83
discrepancy within any triangle = 1
84
discrepancy within any triangle =
86
Remove red points
87
Recolor
88
Remove red points
89
Repeat until O( ) points left ~ -4/3
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)
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]
104
-cutting -cutting N lines
105
[2, p.204]
106
Application Hopcroft’s problem [2, p.213]
108
Dualize point (a,b) line aX+bY=1
109
Recurse
110
Hopcroft’s problem
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?
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
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]
150
N constraints and d variables
153
Planar Graph
154
Planar Separator Theorem Remove O( ) vertices (1/3-2/3) cut
155
[5, p96]
159
Stereographic lifting
162
Centerpoint Theorem (1/3,2/3) cut (1/4,3/4) cut in 3D
163
Can assume centerpoint is center of sphere
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.