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

Slides:



Advertisements
Similar presentations
Iterative Rounding and Iterative Relaxation
Advertisements

The Capacity of Wireless Networks Danss Course, Sunday, 23/11/03.
Great Theoretical Ideas in Computer Science
VC Dimension – definition and impossibility result
On Complexity, Sampling, and -Nets and -Samples. Range Spaces A range space is a pair, where is a ground set, it’s elements called points and is a family.
Comments We consider in this topic a large class of related problems that deal with proximity of points in the plane. We will: 1.Define some proximity.
Convex drawing chapter 5 Ingeborg Groeneweg. Summery What is convex drawing What is convex drawing Some definitions Some definitions Testing convexity.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
 Distance Problems: › Post Office Problem › Nearest Neighbors and Closest Pair › Largest Empty and Smallest Enclosing Circle  Sub graphs of Delaunay.
The Divide-and-Conquer Strategy
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Convex Hull Problem Presented By Erion Lin. Outline Convex Hull Problem Voronoi Diagram Fermat Point.
Feb Polygon Triangulation Shmuel Wimer Bar Ilan Univ., School of Engineering.
Noga Alon Institute for Advanced Study and Tel Aviv University
17. Computational Geometry Chapter 7 Voronoi Diagrams.
A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.
3. Delaunay triangulation
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Delaunay Triangulation.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Review Lecture Tuesday, 12/10/02.
Vapnik-Chervonenkis Dimension Definition and Lower bound Adapted from Yishai Mansour.
Recurrences / HW: 2.4 Quiz: 2.1, 4.1, 4.2, 5.2, 7.3, 7.4 Midterm: 8 given a recursive algorithm, state the recurrence solve a recurrence, using Master.
The Art Gallery Problem
The Art Gallery Problem
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
C&O 355 Lecture 2 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Approximating the MST Weight in Sublinear Time Bernard Chazelle (Princeton) Ronitt Rubinfeld (NEC) Luca Trevisan (U.C. Berkeley)
Topics in Algorithms 2005 Constructing Well-Connected Networks via Linear Programming and Primal Dual Algorithms Ramesh Hariharan.
RA PRESENTATION Sublinear Geometric Algorithms B 張譽馨 B 汪牧君 B 李元翔.
5 -1 Chapter 5 The Divide-and-Conquer Strategy A simple example finding the maximum of a set S of n numbers.
Ch. 6 - Approximation via Reweighting Presentation by Eran Kravitz.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
Open Problem: Dynamic Planar Nearest Neighbors CSCE 620 Problem 63 from the Open Problems Project
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Arrangements and Duality Sanjay Sthapit Comp290 10/6/98.
Soham Uday Mehta. Linear Programming in 3 variables.
Spectral Partitioning: One way to slice a problem in half C B A.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Great Theoretical Ideas in Computer Science for Some.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2010 O’Rourke Chapter 6 with some material.
C&O 355 Lecture 19 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
1. For minimum vertex cover problem in the following graph give
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
COMPSCI 102 Introduction to Discrete Mathematics.
An Introduction to Computational Geometry: Arrangements and Duality Joseph S. B. Mitchell Stony Brook University Some images from [O’Rourke, Computational.
Approximation Algorithms based on linear programming.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Polygon Triangulation
Computational Geometry
Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.
Randomized Incremental Algorithm for Delaunay Triangulation (DT) CS Gates 219 October 19, 3:00 – 4:20 Richard Zhang (for Leo G.) Disclaimer: All.
Lap Chi Lau we will only use slides 4 to 19
Topics in Algorithms Lap Chi Lau.
Approximating the MST Weight in Sublinear Time
Haim Kaplan and Uri Zwick
The Art Gallery Problem
Computational Geometry (35/33)
CMPS 3130/6130 Computational Geometry Spring 2017
The Art Gallery Problem
Depth Estimation via Sampling
Introduction Wireless Ad-Hoc Network
Richard Anderson Autumn 2016 Lecture 5
Richard Anderson Winter 2009 Lecture 6
Computational Geometry
Discrete Mathematics for Computer Science
Clustering.
Richard Anderson Lecture 5 Graph Theory
Richard Anderson Winter 2019 Lecture 5
Presentation transcript:

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

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

Ruler & Compass Algorithms

Gauss: 17-gon

Constructing Regular N-gons 3folklore 5antiquity 17 Gauss (1796) 257 Richelot (1832) 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

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

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

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

Voronoi Diagram

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

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

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

Naïve divide & conquer

O(N logN) time Point location in line arrangement

~ O(N ) time 3/2

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

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

[2, p.123]

N points

number of intersections = O( ) for any line

Often, the number of simple polygons is exponential.

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

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

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

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

Join two closest points; remove; repeat

number of intersections = O( ) for random line

Difficulty 1: Produces a matching, not a simple polygon

Matching  Tree

Remove each edge and one of its adjacent vertices

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

Tree  Hamiltonian Circuit

(via DFS)

Hamiltonian Circuit  Simple Polygon

(via edge switching)

Simple Polygon

for random line number of intersections = O( )

Change definition of randomness

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

Next goal A random line cuts O( ) edges

Euclidean is wrong metric

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

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

This ensures that a random line cuts O( ) edges

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

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

ANY line cuts O( ) edges

Spanning Path Theorem

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

Ray shooting in O(log N) time

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

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

Spanning Path Theorem

-APPROXIMATION (for triangles)

Subset A such that: any triangle T

Subset A such that: any triangle T

Subset A such that: any triangle T

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

Keep every other edge

Color randomly red/blue

discrepancy within any triangle = ?

discrepancy within any triangle = 1

discrepancy within any triangle =

Remove red points

Recolor

Remove red points

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

Subset A such that: any triangle T

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)

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

VC dim = 3 VC dim = 3

Unbounded VC dimension

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

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

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

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]

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]

-cutting -cutting N lines

[2, p.204]

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

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

Recurse

Hopcroft’s problem

N lines Standard sampling Standard sampling How many lines?

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

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

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

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

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

Voronoi diagram of N points in E dd

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

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

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

[0] Sampling tool for approximate geometric optimization

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

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

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

K-SETS

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

f = 6 0

Theorem:Theorem: [4, p.141]

X = 3

Theorem:Theorem:

Theorem:Theorem:

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

The Crossing Lemma: [4, p.55]

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

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

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

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

Linear Programming Linear Programming [1, p76]

N constraints and d variables

Planar Graph

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

[5, p96]

Stereographic lifting

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

Can assume centerpoint is center of sphere

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