tools from computational geometry bernard chazelle princeton university bernard chazelle princeton...

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

Upload: myrtle-potter

Post on 17-Dec-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Tools from Computational Tools from Computational GeometryGeometry

Tools from Computational Tools from Computational GeometryGeometry

Bernard ChazelleBernard Chazelle

Princeton UniversityPrinceton University

Bernard ChazelleBernard Chazelle

Princeton UniversityPrinceton University

Tutorial FOCS 2005Tutorial FOCS 2005Tutorial FOCS 2005Tutorial FOCS 2005

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

Tools from Computational Tools from Computational GeometryGeometry

Tools from Computational Tools from Computational GeometryGeometry

Bernard ChazelleBernard Chazelle

Princeton UniversityPrinceton University

Bernard ChazelleBernard Chazelle

Princeton UniversityPrinceton University

Tutorial FOCS 1905Tutorial FOCS 1905Tutorial FOCS 1905Tutorial FOCS 1905

Page 3: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 4: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Ruler & Compass AlgorithmsRuler & Compass AlgorithmsRuler & Compass AlgorithmsRuler & Compass Algorithms

Page 5: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Gauss: 17-gonGauss: 17-gonGauss: 17-gonGauss: 17-gon

Page 6: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Gauss: 17-gonGauss: 17-gonGauss: 17-gonGauss: 17-gon

)17/sin(

Page 7: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Constructing Regular N-gonsConstructing Regular N-gonsConstructing Regular N-gonsConstructing Regular N-gons

33 folklorefolklore

55 antiquityantiquity

1717 Gauss (1796)Gauss (1796)

257257 Richelot (1832)Richelot (1832)

6553765537 Hermes (1879)Hermes (1879)

Gauss Gauss Fermat primes 2 Fermat primes 2

22 kk

can’t do can’t do heptagonsheptagons

+1 +1

proof coversproof coversa gyma gym

Hilbert proved lower bounds on number of stepsHilbert proved lower bounds on number of steps

Page 8: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Tools from Computational Tools from Computational GeometryGeometry

Tools from Computational Tools from Computational GeometryGeometry

Bernard ChazelleBernard Chazelle

Princeton UniversityPrinceton University

Bernard ChazelleBernard Chazelle

Princeton UniversityPrinceton University

Tutorial FOCS 2005Tutorial FOCS 2005Tutorial FOCS 2005Tutorial FOCS 2005

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

algorithmicalgorithmic algorithmicalgorithmic

analyticalanalytical analyticalanalytical

TOOLS FROM COMPUTATIONAL GEOMETRYTOOLS FROM COMPUTATIONAL GEOMETRY TOOLS FROM COMPUTATIONAL GEOMETRYTOOLS FROM COMPUTATIONAL GEOMETRY

Page 10: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

1 Algorithmic tools1 Algorithmic tools 1 Algorithmic tools1 Algorithmic tools

geometric divide & geometric divide & conquerconquer

geometric divide & geometric divide & conquerconquer

Page 11: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Voronoi Diagram

Page 12: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Voronoi Diagram

Page 13: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 14: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 15: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 16: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 17: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

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

Page 18: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Works not so well for multidimensional searching:

quadtrees, kd-trees: highly sub-optimal

Page 19: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Hopcroft’s problemHopcroft’s problemAny point/line incidence?N points and N lines

Page 20: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Naïve divide & conquer

N

Page 21: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

O(N logN) time

N

Point location in line arrangement

Page 22: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

~O(N ) time

3/2

Page 23: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

1 Algorithmic tools1 Algorithmic tools 1 Algorithmic tools1 Algorithmic tools

geometric divide & geometric divide & conquerconquer

geometric divide & geometric divide & conquerconquer

Page 24: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

1 Algorithmic tools1 Algorithmic tools 1 Algorithmic tools1 Algorithmic tools

geometric divide & geometric divide & conquerconquer

geometric divide & geometric divide & conquerconquer

Page 25: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

[2, p.123]

Page 26: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N points

Page 27: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N points number of intersections = O( )

N

for any line

Page 28: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Often, the number of simple polygons is exponential.

Page 29: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Sometimes, it’s unique…

Often, the number of simple polygons is exponential.

Page 30: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Sometimes, it’s unique…

Often, the number of simple polygons is exponential.

Page 31: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N points number of intersections = O( )

N

SPANNING PATH THEOREM

for any line

Page 32: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 33: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N points number of intersections = O( )

N

SPANNING PATH THEOREM

for random line

Page 34: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Join two closest points; remove; repeat

Page 35: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 36: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

number of intersections = O( )

N

for random line

Page 37: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Difficulty 1: Produces a matching, not a simple polygon

Page 38: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Matching Tree

Page 39: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Remove each edge and one of its adjacent vertices

Page 40: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 41: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 42: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 43: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 44: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 45: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 46: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 47: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 48: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

number of intersections =

O( ) = O( ) 8/4/2/ NNNN

for random line

N

Page 49: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Tree Hamiltonian Circuit

Page 50: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

(via DFS)

Page 51: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Hamiltonian Circuit Simple Polygon

Page 52: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

(via edge switching)

Page 53: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Simple Polygon

Page 54: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

for random line

number of intersections = O( )

N

Page 55: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Change definition of randomness

Page 56: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

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

Page 57: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

NNext goal A random line cuts O( ) edges

Page 58: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Euclidean is wrong metric

Page 59: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

prob [ line(random pair) cuts ab ]

b

a

New metric: d(a,b)=

pick random pair

Page 60: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

New metric has “dimension” 2

b

a

pick random pair

Page 61: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

NThis ensures that a random line cuts O( ) edges

Page 62: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N

Final goal: A line between any 2 points picked

at cuts O( ) edges

Page 63: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Increase d(a,b) multiplicatively (as in BOOSTING )

a

b

double probability of picking pair

Page 64: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

ANY line cuts O( ) edgesN

Page 65: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Spanning Path Theorem

Page 66: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

APPLICATION: SIMPLEX RANGE COUNTING [2, p.214]

How many points in the triangle?

66

Page 67: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Ray shooting in O(log N) time

Page 68: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Ray shooting in O(log N) time

Page 69: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

APPLICATION: SIMPLEX RANGE COUNTING

How many points in the triangle?

Page 70: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

APPLICATION: SIMPLEX RANGE COUNTING

Triangle range counting in O( ) timeN~

Page 71: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Spanning Path Theorem

Page 72: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

-APPROXIMATION (for triangles)

Page 73: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Subset A such that:

any triangle T

Page 74: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Subset A such that:

any triangle T

Page 75: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Subset A such that:

any triangle T

Page 76: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Size of A is O( ) Size of A is O( )

Independent of NIndependent of N

Better than random! Better than random!

Size of A is O( ) Size of A is O( )

Independent of NIndependent of N

Better than random! Better than random!

-4/3-4/3~

Page 77: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 78: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Keep every other edge

Page 79: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Keep every other edge

Page 80: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Color randomly red/blue

Page 81: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

discrepancy within any triangle = ?

Page 82: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

discrepancy within any triangle = 1

Page 83: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

discrepancy within any triangle =

Page 84: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

discrepancy within any triangle =

Page 85: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Remove red points

Page 86: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Recolor

Page 87: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Remove red points

Page 88: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

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

Page 89: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 90: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 91: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Subset A such that:

any triangle T

Page 92: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

A is called an -approximationA is called an -approximation (for triangles)(for triangles)

A is called an -approximationA is called an -approximation (for triangles)(for triangles)

Its size O( ) is Its size O( ) is independent of N independent of N Its size O( ) is Its size O( ) is independent of N independent of N

-4/3-4/3

~

A is computable in poly(N)A is computable in poly(N) A is computable in poly(N)A is computable in poly(N)

Page 93: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 94: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Set System (X,Set System (X, ) ) Set System (X,Set System (X, ) )

22 22 XXXX

VC dim = max |shattered set|VC dim = max |shattered set|VC dim = max |shattered set|VC dim = max |shattered set|

Page 95: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

VC dim = VC dim = 33 VC dim = VC dim = 33

Page 96: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Unbounded VC dimension

Page 97: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Bounded VC dim implies Bounded VC dim implies thatthat Bounded VC dim implies Bounded VC dim implies thatthat

Given any Y X, number Given any Y X, number ofofdistinct sets Y S, where distinct sets Y S, where S , is O(|Y| )S , is O(|Y| )

Given any Y X, number Given any Y X, number ofofdistinct sets Y S, where distinct sets Y S, where S , is O(|Y| )S , is O(|Y| )

cccc

Dual set system Dual set system dual shatter dual shatter exponentexponentDual set system Dual set system dual shatter dual shatter exponentexponent

primal shatter exponent

primal shatter exponent

easy to determine

easy to determine

Page 98: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

VC dim = VC dim = ?? VC dim = VC dim = ??

(points, ellipsoids) in d-(points, ellipsoids) in d-dimdim

Page 99: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

dual shatter function = O(N )dual shatter function = O(N )

(points, ellipsoids) in d-dim(points, ellipsoids) in d-dim

dd

by Thom-Milnorby Thom-Milnor

Page 100: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Set System (V,Set System (V, S)S) Set System (V,Set System (V, S)S)

O( ) O( ) O( ) O( ) -2+2/(d+1)-2+2/(d+1)~

d= VC dimensiond= VC dimensiond= VC dimensiond= VC dimension

Size of -approximation isSize of -approximation isSize of -approximation isSize of -approximation is

or primal/dual shatter exponentor primal/dual shatter exponentor primal/dual shatter exponentor primal/dual shatter exponent

[2, p.179][2, p.179][2, p.179][2, p.179]

Page 101: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Set System (V,Set System (V, S)S) Set System (V,Set System (V, S)S)

O( ) O( ) O( ) O( ) -2-2~

Size of -approximation isSize of -approximation isSize of -approximation isSize of -approximation is

Computable in O(N) Computable in O(N) poly( )poly( )Computable in O(N) Computable in O(N) poly( )poly( )

/1

In comp geom, random bits help In comp geom, random bits help with simplicity but not with with simplicity but not with complexitycomplexity

In comp geom, random bits help In comp geom, random bits help with simplicity but not with with simplicity but not with complexitycomplexity

[2, p.175][2, p.175][2, p.175][2, p.175]

Page 102: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 103: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

-cutting-cutting -cutting-cutting

N lines

Page 104: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

[2, p.204][2, p.204][2, p.204][2, p.204]

Page 105: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

ApplicationApplication Hopcroft’s problem Hopcroft’s problem [2, p.213][2, p.213]

Page 106: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 107: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

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

Page 108: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

RecurseRecurse

Page 109: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Hopcroft’s problemHopcroft’s problem

Page 110: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 111: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N lines

Standard samplingStandard sampling Standard samplingStandard sampling

How many lines?How many lines?

Page 112: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Set System (X,Set System (X, ) ) Set System (X,Set System (X, ) )

XX = set of N lines= set of N lines XX = set of N lines= set of N lines

= = = =

Page 113: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N lines

easy to do with an -easy to do with an -approximationapproximationeasy to do with an -easy to do with an -approximationapproximation

How many lines?How many lines?

Page 114: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N lines

Product samplingProduct sampling Product samplingProduct sampling

How many vertices?How many vertices?

[2, p.183][2, p.183][2, p.183][2, p.183]

Page 115: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N lines

Unbounded VC-dim: Unbounded VC-dim: yet can be yet can be done!done! Unbounded VC-dim: Unbounded VC-dim: yet can be yet can be done!done!

How many vertices?How many vertices?

Page 116: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 117: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Convex hull of N points in RConvex hull of N points in RConvex hull of N points in RConvex hull of N points in Rdddd

[2, p.283]

Page 118: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Voronoi diagram of N points in EVoronoi diagram of N points in EVoronoi diagram of N points in EVoronoi diagram of N points in Edddd

http://www.math.psu.edu/qdu/Res/Pic/gulf.jpg

Page 119: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Linear programming in linear time Linear programming in linear time with fixed number of variableswith fixed number of variablesLinear programming in linear time Linear programming in linear time with fixed number of variableswith fixed number of variables

LP-type programming in linear LP-type programming in linear time with fixed number of time with fixed number of variablesvariables

[1, p.82]

Page 120: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Linear programming in linear time Linear programming in linear time with fixed number of variableswith fixed number of variables

LP-type programming in linear LP-type programming in linear time with fixed number of time with fixed number of variablesvariables

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

Page 121: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

dSmallest ellipsoid enclosing N points in R

[2, p.313]

in O (N) time!d

Page 122: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

[0]

Sampling tool for approximate

geometric optimization

Page 123: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

2 Analytical tools2 Analytical tools 2 Analytical tools2 Analytical tools

2.1 randomized scaling2.1 randomized scaling

2.2 backward analysis2.2 backward analysis

2.1 randomized scaling2.1 randomized scaling

2.2 backward analysis2.2 backward analysis

Page 124: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

2 Analytical tools2 Analytical tools 2 Analytical tools2 Analytical tools

2.1 randomized scaling2.1 randomized scaling 2.1.2 k-sets2.1.2 k-sets 2.1.2 crossing lemma2.1.2 crossing lemma

2.2 backward analysis2.2 backward analysis

2.1 randomized scaling2.1 randomized scaling 2.1.2 k-sets2.1.2 k-sets 2.1.2 crossing lemma2.1.2 crossing lemma

2.2 backward analysis2.2 backward analysis

Page 125: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 126: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

2 Analytical tools2 Analytical tools 2 Analytical tools2 Analytical tools

2.1 randomized scaling2.1 randomized scaling 2.1.2 k-sets 2.1.2 k-sets 2.1.2 crossing lemma2.1.2 crossing lemma

2.2 backward analysis2.2 backward analysis

2.1 randomized scaling2.1 randomized scaling 2.1.2 k-sets 2.1.2 k-sets 2.1.2 crossing lemma2.1.2 crossing lemma

2.2 backward analysis2.2 backward analysis

Page 127: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

K-SETS

Page 128: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

n(i,j) = 9n(i,j) = 9

pp

i

j

f = { (i,j) | i<j and n(i,j)= f = { (i,j) | i<j and n(i,j)= k }k }kk

Page 129: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

f = 6f = 600

Page 130: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

TheoremTheorem: : TheoremTheorem: :

[4, p.141]

Page 131: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

X = 3X = 3

Page 132: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

TheoremTheorem: : TheoremTheorem: :

Page 133: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

TheoremTheorem: : TheoremTheorem: :

Page 134: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

2 Analytical tools2 Analytical tools 2 Analytical tools2 Analytical tools

2.1 randomized scaling2.1 randomized scaling 2.1.2 k-sets2.1.2 k-sets 2.1.2 crossing lemma 2.1.2 crossing lemma

2.2 backward analysis2.2 backward analysis

2.1 randomized scaling2.1 randomized scaling 2.1.2 k-sets2.1.2 k-sets 2.1.2 crossing lemma 2.1.2 crossing lemma

2.2 backward analysis2.2 backward analysis

Page 135: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

The Crossing Lemma: The Crossing Lemma: The Crossing Lemma: The Crossing Lemma:

[4, p.55]

Page 136: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Pick each vertex with prob p

Set p= 4n/m

Page 137: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Corollary:Corollary:Corollary:Corollary:# point/line incidences = O(N # point/line incidences = O(N ) ) # point/line incidences = O(N # point/line incidences = O(N ) )

4/34/34/34/3

Page 138: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Corollary:Corollary:Corollary:Corollary:# unit-distance pairs = # unit-distance pairs = O(N ) O(N ) # unit-distance pairs = # unit-distance pairs = O(N ) O(N )

4/34/34/34/3

Page 139: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

2 Analytical tools2 Analytical tools 2 Analytical tools2 Analytical tools

2.1 2.1 randomized scalingrandomized scaling 2.1.2 k-sets2.1.2 k-sets 2.1.2 crossing lemma2.1.2 crossing lemma

2.2 backward analysis2.2 backward analysis

2.1 2.1 randomized scalingrandomized scaling 2.1.2 k-sets2.1.2 k-sets 2.1.2 crossing lemma2.1.2 crossing lemma

2.2 backward analysis2.2 backward analysis

Page 140: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Linear ProgrammingLinear Programming Linear ProgrammingLinear Programming[1, p76]

Page 141: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 142: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 143: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 144: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 145: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 146: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 147: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 148: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 149: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N constraints and d variablesN constraints and d variables

Page 150: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

N constraints and d variablesN constraints and d variables

Page 151: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 152: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Planar GraphPlanar Graph

Page 153: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Planar Separator TheoremPlanar Separator Theorem

Remove O( ) vertices Remove O( ) vertices (1/3-2/3) (1/3-2/3) cutcut

N

Page 154: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

[5, p96][5, p96]

Page 155: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 156: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 157: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 158: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Stereographic liftingStereographic lifting

Page 159: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 160: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 161: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Centerpoint Theorem

(1/3,2/3) cut

(1/4,3/4) cut in 3D

Page 162: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Can assume centerpoint is center of sphere

Page 163: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

Can assume centerpoint is center of sphere

Page 164: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005
Page 165: Tools from Computational Geometry Bernard Chazelle Princeton University Bernard Chazelle Princeton University Tutorial FOCS 2005

BIBLIOGRAPHYBIBLIOGRAPHYBIBLIOGRAPHYBIBLIOGRAPHY

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