Title: Tools from Computational Geometry
1Tools from Computational Geometry
- Bernard Chazelle
- Princeton University
Tutorial FOCS 2005
2Tools from Computational Geometry
- Bernard Chazelle
- Princeton University
Tutorial FOCS 1905
3(No Transcript)
4Ruler Compass Algorithms
5Gauss 17-gon
6Gauss 17-gon
7Constructing Regular N-gons
k
2
Gauss Fermat primes 2
1
3 folklore
5 antiquity
17 Gauss (1796)
257 Richelot (1832)
65537 Hermes (1879)
cant do heptagons
proof coversa gym
Hilbert proved lower bounds on number of steps
8Tools from Computational Geometry
- Bernard Chazelle
- Princeton University
Tutorial FOCS 2005
9 algorithmic
TOOLS FROM COMPUTATIONAL GEOMETRY
analytical
10 1 Algorithmic tools
geometric divide conquer
old style
11Voronoi Diagram
12Voronoi Diagram
13(No Transcript)
14(No Transcript)
15(No Transcript)
16(No Transcript)
17Works well also for convex hulls, nearest
neighbors 3,6
18Works not so well for multidimensional searching
quadtrees, kd-trees highly sub-optimal
19yes
Hopcrofts problem
Any point/line incidence?
N points and N lines
20Naïve divide conquer
21Point location in line arrangement
O(N logN) time
223/2
O(N ) time
23 1 Algorithmic tools
geometric divide conquer
old style
24 1 Algorithmic tools
geometric divide conquer
new style
25Spanning path thm
2, p.123
26N points
27Optimal
for any line
number of intersections O( )
N points
28Often, the number of simple polygons is
exponential.
29Often, the number of simple polygons is
exponential.
Sometimes, its unique
30Often, the number of simple polygons is
exponential.
Sometimes, its unique
31SPANNING PATH THEOREM
for any line
number of intersections O( )
N points
32Proof
33SPANNING PATH THEOREM
for random line
number of intersections O( )
N points
34Join two closest points remove repeat
35(No Transcript)
36for random line
number of intersections O( )
37Difficulty 1 Produces a matching, not a simple
polygon
38Matching ? Tree
39Remove each edge and one of its adjacent vertices
40(No Transcript)
41(No Transcript)
42(No Transcript)
43(No Transcript)
44(No Transcript)
45(No Transcript)
46(No Transcript)
47(No Transcript)
48for random line
number of intersections O(
) O( )
49Tree ? Hamiltonian Circuit
50(via DFS)
51Hamiltonian Circuit ? Simple Polygon
52(via edge switching)
53Simple Polygon
54for random line
number of intersections O( )
55Change definition of randomness
56New definition A random line joins 2 of the N
points picked at random.
57Next goal A random line cuts O( ) edges
58Euclidean is wrong metric
59b
pick random pair
a
prob line(random pair) cuts ab
New metric d(a,b)
60b
pick random pair
a
New metric has dimension 2
61This ensures that a random line cuts O( )
edges
62Final goal A line between any 2 points
picked at cuts O( ) edges
63b
a
double probability of picking pair
Increase d(a,b) multiplicatively (as in BOOSTING )
64QED
ANY line cuts O( ) edges
65Spanning Path Theorem
Application 1
66APPLICATION SIMPLEX RANGE COUNTING 2, p.214
6
How many points in the triangle?
67Ray shooting in O(log N) time
68Ray shooting in O(log N) time
69APPLICATION SIMPLEX RANGE COUNTING
How many points in the triangle?
70APPLICATION SIMPLEX RANGE COUNTING
QED
Triangle range counting in O( ) time
71Spanning Path Theorem
Application 2
72-APPROXIMATION (for triangles)
73Subset A such that
any triangle T
74Subset A such that
any triangle T
75Subset A such that
any triangle T
76-4/3
Size of A is O( ) Independent of N
Better than random!
77Proof
78Keep every other edge
79Keep every other edge
80Color randomly red/blue
81discrepancy within any triangle ?
82discrepancy within any triangle 1
83discrepancy within any triangle
84discrepancy within any triangle
Optimal
85Remove red points
86Recolor
87Remove red points
88-4/3
Repeat until O( ) points left
89(No Transcript)
90(No Transcript)
91Subset A such that
any triangle T
92 A is called an -approximation (for
triangles)
-4/3
Its size O( ) is independent of N
A is computable in poly(N)
93 - approximation
94 Set System (X, )
X
2
VC dim max shattered set
95 VC dim 3
96Unbounded VC dimension
97 Bounded VC dim implies that
Given any Y X, number of distinct sets Y
S, where S , is O(Y )
c
primal shatter exponent
easy to determine
Dual set system ? dual shatter exponent
98 VC dim ?
(points, ellipsoids) in d-dim
99(points, ellipsoids) in d-dim
by Thom-Milnor
d
dual shatter function O(N )
100 Set System (V, S)
d VC dimension
or primal/dual shatter exponent
Size of -approximation is
optimal
-22/(d1)
O( )
2, p.179
101 Set System (V, S)
Size of -approximation is
-2
O( )
Computable in O(N) poly( )
Huge!
In comp geom, random bits help with simplicity
but not with complexity
2, p.175
102 - cutting
103 -cutting
N lines
1042, p.204
105Application Hopcrofts problem
2, p.213
106(No Transcript)
107Dualize point (a,b)
line aXbY1
108Recurse
109Hopcrofts problem
110Product sampling
111 Standard sampling
How many lines?
N lines
112 Set System (X, )
X set of N lines
113easy to do with an -approximation
How many lines?
N lines
114 Product sampling
2, p.183
How many vertices?
N lines
115 Unbounded VC-dim yet can be done!
How many vertices?
N lines
116Sampling at work
1172, p.283
d
Convex hull of N points in R
Optimal
118d
Voronoi diagram of N points in E
http//www.math.psu.edu/qdu/Res/Pic/gulf.jpg
Optimal
119Linear programming in linear time with fixed
number of variables
1, p.82
LP-type programming in linear time with fixed
number of variables
120Linear programming in linear time with fixed
number of variables
LP-type programming in linear time with fixed
number of variables
2, p.307
121d
Smallest ellipsoid enclosing N points in R
in O (N) time!
d
2, p.313
122The CoreSet
Sampling tool for approximate geometric
optimization
0
123 2 Analytical tools
2.1 randomized scaling
2.2 backward analysis
124 2 Analytical tools
2.1 randomized scaling 2.1.2
k-sets 2.1.2 crossing lemma2.2
backward analysis
125(No Transcript)
126 2 Analytical tools
2.1 randomized scaling 2.1.2
k-sets 2.1.2 crossing lemma2.2
backward analysis
127K-SETS
128f (i,j) iltj and n(i,j) k
k
p
i
p
j
n(i,j) 9
129f 6
0
1304, p.141
Theorem
131X 3
132Theorem
133Theorem
QED
134 2 Analytical tools
2.1 randomized scaling 2.1.2
k-sets 2.1.2 crossing lemma2.2
backward analysis
135The Crossing Lemma
4, p.55
136Pick each vertex with prob p
Set p 4n/m
QED
1374/3
Corollary
point/line incidences O(N )
1384/3
Corollary
unit-distance pairs O(N )
139 2 Analytical tools
2.1 randomized scaling 2.1.2
k-sets 2.1.2 crossing lemma2.2
backward analysis
140 Linear Programming
1, p76
141(No Transcript)
142(No Transcript)
143(No Transcript)
144(No Transcript)
145(No Transcript)
146(No Transcript)
147(No Transcript)
148(No Transcript)
149N constraints and d variables
150N constraints and d variables
151Geometrization
152Planar Graph
153Planar Separator Theorem
Remove O( ) vertices ? (1/3-2/3) cut
154A geometric proof
5, p96
155(No Transcript)
156(No Transcript)
157(No Transcript)
158Stereographic lifting
159(No Transcript)
160(No Transcript)
161Centerpoint Theorem
(1/4,3/4) cut in 3D
(1/3,2/3) cut
162Can assume centerpoint is center of sphere
163Can assume centerpoint is center of sphere
164Thanks!
165BIBLIOGRAPHY
The results mentioned in this tutorial, as well
as the history behind them, are discussed in
detail in the surveys and monographs below.