Planar Point Location in Sublogarithmic Time

Similar documents
Bichromatic Line Segment Intersection Counting in O(n log n) Time

Transdichotomous Results in Computational Geometry, I: Point Location in Sublogarithmic Time

Insertions and Deletions in Delaunay Triangulations using Guided Point Location. Kevin Buchin TU Eindhoven

On Dynamic Range Reporting in One Dimension

Expected Time in Linear Space

Adaptive and Approximate Orthogonal Range Counting

Lecture 12 March 16, 2010

I/O-Algorithms Lars Arge Aarhus University

Deterministic Rectangle Enclosure and Offline Dominance Reporting on the RAM

Predecessor Data Structures. Philip Bille

External-Memory Algorithms with Applications in GIS - (L. Arge) Enylton Machado Roberto Beauclair

Optimal Partition Trees

Convex Hull of the Union of Convex Objects in the Plane: an Adaptive Analysis

Instance-Optimal Geometric Algorithms

Algorithms and Data Structures Group. Gerth Stølting Brodal

Approximate Nearest Neighbor Problem: Improving Query Time CS468, 10/9/2006

Field: We have been doing geometry eg linear programming. But in computational geometry, key difference in focus: low dimension d

Faster, Space-Efficient Selection Algorithms in Read-Only Memory for Integers

Lecture 12 March 21, 2007

Solving Geometric Problems in Space-Conscious Models

Lecture 13 March 17, 2005

Optimal Static Range Reporting in One Dimension

Running head: Integer sorting Mailing address: Yijie Han Computer Science Telecommunications Program University of Missouri - Kansas City 5100 Rockhil

Orthogonal line segment intersection. Computational Geometry [csci 3250] Laura Toma Bowdoin College

Lecture 3 February 23, 2012

Integer Algorithms and Data Structures

Average case analysis of dynamic geometric optimization

( ) n 5. Test 1 - Closed Book

CS 532: 3D Computer Vision 14 th Set of Notes

Line segment intersection (I): Orthogonal line segment intersection. Computational Geometry [csci 3250] Laura Toma Bowdoin College

Towards an Optimal Method for Dynamic Planar Point Location

Data Structures for Approximate Proximity and Range Searching

Lecture 19 Apr 25, 2007

Geometric Streaming Algorithms with a Sorting Primitive (TR CS )

Faster deterministic sorting and searching in linear space

Computational Geometry

Interval Stabbing Problems in Small Integer Ranges

Geometric Data Structures Multi-dimensional queries Nearest neighbour problem References. Notes on Computational Geometry and Data Structures

Computational Geometry. Lecture 17

(Master Course) Mohammad Farshi Department of Computer Science, Yazd University. Yazd Univ. Computational Geometry.

CSE 5311 Notes 13: Computational Geometry

Persistent Data Structures (Version Control)

Computational Geometry

Geometric Red-Blue Set Cover for Unit Squares and Related Problems

Two Approaches to Building Time-Windowed Geometric Data Structures

Three Problems about Dynamic Convex Hulls

Fusion Trees Part Two

Towards In-Place Geometric Algorithms and Data Structures

Lecture 8 13 March, 2012

arxiv: v1 [cs.cg] 8 Jan 2018

CSL 860: Modern Parallel

Lecture 9 March 15, 2012

Applications of the Exponential Search Tree in Sweep Line Techniques

Algorithms for GIS:! Quadtrees

Approximation Algorithms for Geometric Intersection Graphs

Dynamic Indexability and the Optimality of B-trees and Hash Tables

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018

Lecture April, 2010

Algorithm Design and Analysis

Geometric Computation: Introduction

Asymptotically Efficient Hypercube Algorithms for Computational Geometry Preliminary Version

Lecture 22 November 19, 2015

PS Computational Geometry Homework Assignment Sheet I (Due 16-March-2018)

Encoding Data Structures

Dynamic Range Majority Data Structures

Computational Geometry in the Parallel External Memory Model

Dynamic Indexability and Lower Bounds for Dynamic One-Dimensional Range Query Indexes

Succinct Geometric Indexes Supporting Point Location Queries

CS 372: Computational Geometry Lecture 3 Line Segment Intersection

Introduction to Algorithms Third Edition

A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations

COT5405: GEOMETRIC ALGORITHMS

COMP 352 FALL Tutorial 10

Wolfgang Mulzer Institut für Informatik. Planar Delaunay Triangulations and Proximity Structures

Sublinear Geometric Algorithms

Updating Widths and Maximum Spanning Trees using the Rotating Caliper Graph

would be included in is small: to be exact. Thus with probability1, the same partition n+1 n+1 would be produced regardless of whether p is in the inp

Submatrix Maximum Queries in Monge Matrices are Equivalent to Predecessor Search. Pawel Gawrychowski, Shay Mozes, Oren Weimann. Max?

CSci 231 Final Review

Improved Bounds for Orthogonal Point Enclosure Query and Point Location in Orthogonal Subdivisions in R 3

CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk

Prof. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel

Delaunay Triangulation

6.854J / J Advanced Algorithms Fall 2008

Notes in Computational Geometry Voronoi Diagrams

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications

Geometric Red-Blue Set Cover for Unit Squares and Related Problems

An NC Algorithm for Sorting Real Numbers

Integral Geometry and the Polynomial Hirsch Conjecture

On Constant Factors in Comparison-Based Geometric Algorithms and Data Structures

Selection and Sorting in the Restore Model

Succinct Geometric Indexes Supporting Point Location Queries

Orthogonal Range Queries

CMSC 754 Computational Geometry 1

Trapezoid and Chain Methods

INDIAN STATISTICAL INSTITUTE

5. DIVIDE AND CONQUER I

Computing Visibility on Terrains in External Memory

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Average Case Analysis of Dynamic Geometric Optimization

Transcription:

Planar Point Location in Sublogarithmic Time Mihai Pătraşcu (MIT) Point Location in o(log n) Time, Voronoi Diagrams in o(n log n) Time, and Other Transdichotomous Results in Computational Geometry Timothy M. Chan (U. Waterloo)

Main Theme Power of the Word RAM!

Integer Sorting Radix-sort < 54 O(n log U/log n) Van Emde Boas 77 O(n log log U) Kirkpatrick, Reisch 84 O(n log(log U/log n)) Fredman, Willard (FOCS 90) O(n log n/log log n) (det.) O(n log n) (rand.) Andersson et al. (STOC 95) O(n log log n) (rand.) O(n) for w >> log 2 n (rand.) Raman (ESA 96) O(n log nloglog n) (det.) Andersson (FOCS 96) O(n logn ) (det.) Thorup (SODA 98) O(n (log log n) 2 ) (det.) Han (SODA 01) O(n loglogn logloglogn) (det.) Han (STOC 02) O(n log log n) (det.) Han, Thorup (FOCS 02) O(n log log n ) (rand.)

Integer (Predecessor) Searching Van Emde Boas 77 ( stratified trees ) O(loglog U) query time Fredman, Willard (FOCS 90) O(log n/loglog n) ( fusion trees ) O( log n) Beame, Fich (STOC 99) O(loglog U/logloglog U) (optimal in cell probe model) O( logn/loglogn) Andersson, Thorup (STOC 00) O( log n /log log n) ( exponential search trees ) for query & update Pătraşcu, Thorup (STOC 06) Etc.

Graph Problems (e.g. MST/SSSP) Computational Geometry (CG) Sorting/Searching

Standard Problems in CG 2D nearest neighbor search O(n log n) preproc. O(n) space O(log n) query 2D point location O(n) preproc. O(n) space O(log n) query

Standard Problems in CG (Cont d) 2D line segment intersection O(n log n + K) time 2D Voronoi diagrams & 3D convex hulls Etc, etc, etc. O(n log n) time

The Model Unit-cost RAM with word size w Coordinates are integers in {1,,U} U 2 w, i.e., w log U w log n Availability of standard ops like <, +, -, *, /, bitwise-&, <<, >>

Previous Word RAM Results in CG Orthogonal range searching Orthogonal cases of 2D point location & segment intersection [e.g. loglog U-type results by Overmars 87] L variants of 2D nearest neighbor/voronoi diagrams [e.g., loglog U-type results by Karlsson 84] NON-orthogonal problems??? e.g., Willard (SODA 92) asked: standard 2D Voronoi diagrams in o(n log n) time??

Graph Problems Rest of Computational Geometry Orthogonal CG problems Sorting/Searching

New Results 2D Voronoi diagrams O(n log n/log log n) time (rand.) 3D convex hulls O(n log n/log log n) time (rand.) 2D line segment intersection O(n log n/log log n + K) time (rand.) 2D point location & 2D nearest neighbor O(n) space, O(log n/log log n) query Etc, etc, etc.

New Results (Cont d) 2D Voronoi diagrams O(n log U / log log U) time (rand.) 3D convex hulls O(n log U / log log U) time (rand.) 2D line segment intersection O(n log U /log log U + K) time (rand.) 2D point location & 2D nearest neighbor O(n) space, O( log U /log log U ) query Etc, etc, etc.

Key Subproblem: Point Location in a Slab Given n disjoint line segments spanning vertical slab, how to locate query point in o(log n) time?? [can t project to 1D, can t build 1D structure at every vertical line, ]

Basic Idea Replace binary tree with b-ary tree But how? [Fredman, Willard s original fusion tree does not generalize ]

Key Observation Fix b, h. Given n segments with left/right endpts in a length-2 l / length-2 m vertical interval, we can find b segments s 0,s 1, s.t. i. Between s i & s i+1 : there are n/b segments, OR left endpts are in a length-2 l-h subinterval, OR right endpts are in a length-2 m-h subinterval; ii. segments s 0,s 2,, each encodable in O(h) bits, with s 0 < s 0 < s 2 < s 2 <

Proof Divide left/right interval into 2 h grid subintervals Draw (n/b) th, (2n/b) th, (3n/b) th, segment i. Betwn s 0 & s 1, left endpts are in length-2 l-h subinterval; Betwn s 1 & s 2, there are n/b segments s 1 s 2 s 0

Proof s 2 s 0 betwns 0 & s 2 using only grid endpts (O(h) bits) s 0 s 0

The New 2D Fusion Tree for the Slab Subproblem Just apply Observation recursively! Each tree node can be packed in one word if bh w (by ii) Query time = tree height (using word ops) log b n + 2w/h (by i) = O(log b n + b) (set b = log ε n) = O(log n/log log n)

Switch speakers. Confuse audience

Using the Slab Problem talk only about 2D point location a bit more smartness involved for 2D Voronoi, 3D convex hull, line segment intersection before our work: the slab problem is a trivial binary search going to the general case is what s interesting

Conversion Techniques Lipton+Tarjan planar separator Mulmuley random sampling Cole, Sarnak+Tarjan persistence use exponential trees [Andersson] + new ideas Kirkpatrick triangulation refinement Edelsbrunner+Guibas+Stolfi separating chains

Review: Persistence sweep with vertical line insert/remove segments into dynamic slab structure (next slides) keep all past images of the data structure in small space via persistence (can be done)

Review: Exponential Trees Hope: dynamize slab structure black-box pick n separators, Θ( n) segments apart construction: update: static structure on separators; recurse rebuild static structure when needed separators change infrequently (?) query: lg lg lg n n + lg 4 lg lg 4 n n +... lg lg lg n n ( 1 2 + 1 4 +...)

2D 1D Trouble: segments are not numbers remove separator segment insert intersecting segment separator does not separate Use offline knowledge: separators = segments which won t be removed for a long time

Open problems count segment intersections in o(n log n) derandomize (3D convex hull, 2D Voronoi) better algorithms point location problem is offline lower bounds for the data structures is exact NN easier than point location? Thank you!