Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.

Slides:



Advertisements
Similar presentations
Great Theoretical Ideas in Computer Science for Some.
Advertisements

Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
Map Overlay Algorithm. Birch forest Wolves Map 1: Vegetation Map 2: Animals.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
Applications of Euler’s Formula for Graphs Hannah Stevens.
CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
Graphs III (Trees, MSTs) (Chp 11.5, 11.6)
Brute-Force Triangulation
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
Convex Hulls in 3-space Jason C. Yang.
On the Spread of Viruses on the Internet Noam Berger Joint work with C. Borgs, J.T. Chayes and A. Saberi.
Computational Geometry Piyush Kumar (Lecture 3: Convexity and Convex hulls) Welcome to CIS5930.
K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph, any set of nodes that are not adjacent.
Delaunay Triangulation Computational Geometry, WS 2006/07 Lecture 11 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Polygon Triangulation Motivation: Guarding art galleries Art gallery theorem.
Sub Graph Listing محمد مهدی طالبی دانشگاه صنعتی امیرکبیر.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 O’Rourke Chapter 7 Search & Intersection.
1 2 Introduction In last chapter we saw a few consistency tests. In this chapter we are going to prove the properties of Plane-vs.- Plane test: Thm[RaSa]:
Half-Space Intersections
What is the next line of the proof? a). Let G be a graph with k vertices. b). Assume the theorem holds for all graphs with k+1 vertices. c). Let G be a.
Definition Hamiltonian graph: A graph with a spanning cycle (also called a Hamiltonian cycle). Hamiltonian graph Hamiltonian cycle.
Lecture 10 : Delaunay Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Overview Motivation. Triangulation of Planar Point Sets. Definition.
Lecture 3: Polygon Triangulation Computational Geometry Prof. Dr. Th. Ottmann Polygon Triangulation Motivation: Guarding art galleries Art gallery theorem.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
1 Separator Theorems for Planar Graphs Presented by Shira Zucker.
What is the next line of the proof? a). Assume the theorem holds for all graphs with k edges. b). Let G be a graph with k edges. c). Assume the theorem.
1 Refined Search Tree Technique for Dominating Set on Planar Graphs Jochen Alber, Hongbing Fan, Michael R. Fellows, Henning Fernau, Rolf Niedermeier, Fran.
The Art Gallery Problem
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
Proof of Kleinberg’s small-world theorems
Algorithms for Triangulations of a 3D Point Set Géza Kós Computer and Automation Research Institute Hungarian Academy of Sciences Budapest, Kende u
14/13/15 CMPS 3130/6130 Computational Geometry Spring 2015 Windowing Carola Wenk CMPS 3130/6130 Computational Geometry.
Computational Geometry Piyush Kumar (Lecture 5: Range Searching) Welcome to CIS5930.
1 / 41 Convex Hulls in 3-space Jason C. Yang. 2 / 41 Problem Statement Given P: set of n points in 3-space Return: –Convex hull of P: CH (P) –Smallest.
An Introduction to Computational Geometry Joseph S. B. Mitchell Stony Brook University.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
SPARSE CERTIFICATES AND SCAN-FIRST SEARCH FOR K-VERTEX CONNECTIVITY
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Final Review Chris and Virginia. Overview One big multi-part question. (Likely to be on data structures) Many small questions. (Similar to those in midterm.
Great Theoretical Ideas in Computer Science for Some.
1 Distributed Vertex Coloring. 2 Vertex Coloring: each vertex is assigned a color.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
COMPSCI 102 Introduction to Discrete Mathematics.
Polygon Triangulation
Small-world phenomenon: An Algorithmic Perspective Jon Kleinberg.
Data Structures and Algorithm Analysis Lecture 5
3. Polygon Triangulation
Computational Geometry
An Introduction to Computational Geometry
Lecture 18: Uniformity Testing Monotonicity Testing
The Art Gallery Problem
CSE 421: Introduction to Algorithms
CMPS 3130/6130 Computational Geometry Spring 2017
Maximal Independent Set
The Art Gallery Problem
CIS 700: “algorithms for Big Data”
Graphs Part 2 Adjacency Matrix
Proof of Kleinberg’s small-world theorems
Discrete Mathematics for Computer Science
Clustering.
Constructing a m-connected k-Dominating Set in Unit Disc Graphs
Presentation transcript:

Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930

Planar Point Location Given a polygonal subdivision of the plane (a PSLG), Preprocess to answer which face a query point lies in. Assume Input has n vertices.

Step 1 Triangulate

Step 2 Put the input in a large triangle and triangulate.

Timing How much time did you spend yet? Any ideas on how to locate a given point in such a subdivision? Notice that each face is a triangle now, including the face containing the point at infinity.

By the way Kirkpatrick’s subdivision hierarchy method for performing point location in planar graphs is also applicable  In higher dimensions  Amenable to parallelization  Uses? Many, Collision detection in 3D?  Beware: The algorithm has large constants.

Subdivision Hierarchy Start with triangulated PSLG T 0 Produce a sequence of triangulations T 0, T 1, T 2, … T k where k=O(log n) such that  T k contains a single triangle  Each triangle in T i+1 overlaps only a constant number of triangles in T i.

Subdivision hierarchy Courtesy Goodrich,Ramaiyer. T0T0 T5T5

Search Structure: Layered DAG T0T0 T3T3

Observations 1.The degree of each node is O(1) 2.A fraction of the nodes are removed at each step. Hence the total depth of the DAG is O(log n).

Obsevation 1 Constant degree Observation  When we delete a node with degree d, there is a hole of size d vertices which we can re-triangulate (with d-2 triangles). Each of the new triangles can overlap only d triangles in the previous triangulation. Trivial Example:

Observation 2 Independent Set : No two vertices that are deleted are adjacent to each other (the vertices to be deleted form an independent set in the current graph T i. White nodes are the one to be deleted next.

Observation 2 Independent set removal: Is easy. These vertices create independent holes that can be triangulated independently of each other. Note that the size of these holes is O(1). Maximum size hole created in this example is 4.

Independent set We need to make sure that we have large independent set of vertices with bounded (O(1)) degree in a triangulated planar graph. We want to remove a fraction of the vertices at each step. Hence the total number of layers in the DAG will be O(log n).

Kirkpatrick’s Method 1.Find a maximal independent set in the PSLG such that the degree of the vertices is bounded by O(1). 2.Remove vertices of the independent set from the PSLG and re-triangulate (the holes) 3.Repeat the process until only the outer face remains. Maximal Ind. Set : A set of independent vertices of a graph G such that no new vertex can be added to this set keeping the independence property

John Iacono’s Demo

Search for Maximal independent set Lemma: Given a planar graph with n vertices, there is an independent set consisting of vertices of degree at most 8, with at least n/18 vertices. This independent set can be constructed in O(n) time. See page 106 of Dr. Mount’s Lecture notes

Average degree of a vertex

Hence, average degree of a vertex < 6.

At least n/2 vertices of degree <= 8 Proof by contradiction :  Let there be more than n/2 vertices of degree 9 or greater. The other vertices must have degree > 3 (Assuming n > 3).  Hence average degree now would be ( 9n/2 + 3n/2 ) / n = 6.  This is a contradiction since average degree should be < 6.

Search Algorithm for Maximal independent set Mark all nodes with degree >= 9  Note: At least n/2 unmarked nodes. While there exists an unmarked node  Choose unmarked vertex v  Add v to independent set  Mark v and all its neighbors. oNote: At most 9 vertices marked. How many times can we run this loop before we run out of unmarked vertices? (n/2)/9 = n/18

Search Algorithm for Maximal independent set Note that in each iteration of the loop we add one vertex in our independent set. So we get at least a n/18 size independent set with degree of vertices <= 8 in it. (Proves our main lemma). Why does this run in O(n) time?

Height of the DAG? At each successive level, the number of vertices falls by a factor of (17/18)n. Hence the total height of the DAG is  k = log 18/17 n = O(log n) What about total space taken by the data structure?  O(n) Why? In each level you reduce the size of the data by a constant fraction

Size of the data structure Size proportional to total number of triangles Number of triangles in each layer proportional to the number of vertices. Sum of number of vertices

Summary Space required by DAG = O(n) Query Time: O(log n) Preprocessing time: O(n)