Joseph S.B. Mitchell, Stony Brook University

Slides:



Advertisements
Similar presentations
Polygon Triangulation
Advertisements

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.
Approximations of points and polygonal chains
Brute-Force Triangulation
Convex Hull obstacle start end Convex Hull Convex Hull
UNC Chapel Hill M. C. Lin Polygon Triangulation Chapter 3 of the Textbook Driving Applications –Guarding an Art Gallery –3D Morphing.
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
Computational Geometry -- Voronoi Diagram
1 Lecture 8: Voronoi Diagram Computational Geometry Prof. Dr. Th. Ottmann Voronoi Diagrams Definition Characteristics Size and Storage Construction Use.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Lecture 2 Chapter 2: Polygon Partitioning.
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,
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
The Art Gallery Problem
Brute-Force Triangulation
The Art Gallery Problem
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
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.
Triangulating a monotone polygon
Computational Geometry Piyush Kumar (Lecture 10: Point Location) Welcome to CIS5930.
1/29/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries Carola Wenk.
The Art Gallery Problem Bart Verzijlenberg. Agenda Problem Problem Chvátal’s Classical Art Gallery Theorem Chvátal’s Classical Art Gallery Theorem Proof.
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.
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Polygon Triangulation
CMPS 3130/6130 Computational Geometry Spring 2017
3. Polygon Triangulation
Computational Geometry
An Introduction to Computational Geometry
The minimum cost flow problem
Fill Area Algorithms Jan
PC trees and Circular One Arrangements
Query Processing in Databases Dr. M. Gavrilova
Shortest Path Problems
I206: Lecture 15: Graphs Marti Hearst Spring 2012.
MST in Log-Star Rounds of Congested Clique
The Art Gallery Problem
Craig Schroeder October 26, 2004
The Art Gallery Problem
Polygon Triangulation
Finding Fastest Paths on A Road Network with Speed Patterns
Near-Optimal (Euclidean) Metric Compression
Computing Shortest Path amid Pseudodisks
Shortest Path Problems
Md. Abul Kashem, Chowdhury Sharif Hasan, and Anupam Bhattacharjee
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Computing the Visibility Polygon of an Island in a Polygonal Domain
Quickest Visibility Queries in Polygonal Domains
On the Geodesic Centers of Polygonal Domains
Minimizing the Aggregate Movements for Interval Coverage
Triangulation of a polygon
An O(n log n)-Time Algorithm for the k-Center Problem in Trees
Range Queries on Uncertain Data
Aggregate-Max Nearest Neighbor Searching in the Plane
Danny Z. Chen and Haitao Wang University of Notre Dame Indiana, USA
Haitao Wang Utah State University SoCG 2017, Brisbane, Australia
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
Computing Shortest Paths among Curved Obstacles in the Plane
Visibility and Ray Shooting Queries in Polygonal Domains
Shortest Path Problems
Weak Visibility Queries of Line Segments in Simple Polygons
L1 Shortest Path Queries among Polygonal Obstacles in the Plane
Overlay of Two Subdivisions
Chapter 9 Graph algorithms
Presentation transcript:

An Optimal Algorithm for Minimum-Link Rectilinear Paths in Triangulated Rectilinear Domains Joseph S.B. Mitchell, Stony Brook University Valentin Polishchuk, Linköping University Mikko Sysikaski, Google Zurich Haitao Wang, Utah State University ICALP 2015

A general polygonal domain Input: a simple polygon P with some polygons (holes or obstacles) inside, and two points s and t Output: a path from s to t in P s t

Minimum-link paths Making a turn in the s-t path is too “expensive” Output: a minimum-link path from s to t an s-t path of minimum number of edges (links) s t

The rectilinear case of minimum-link path problem Each polygon edge is either horizontal or vertical Each edge of the sought s-t path is also either horizontal or vertical t s

The rectilinear minimum-link path problem Input: a rectilinear domain P of n vertices and h holes, and s and t Output: a rectilinear minimum-link s-t path t n = 39 h = 3 s

Previous work and our result The general case O(n2 α(n) log2 n) time, Mitchell, Rote, and Woeginger 92’ The rectilinear case O(n log n) time and O(n log n) space, Imai and Asano 86’ O(n log n) time and O(n) space, SSO 87’, DN 91’, MPS 14’ Ω(n + h log h) time lower bound, DN91’, MSD 00’ Our result: O(n + h log h) time and O(n) space, with a given triangulation of P triangulating P O(n + h log1+ε h) time, Bar-Yehuda and Chazelle 94’

Our result: answering single-source queries Build a data structure in O(n + h log h) time and O(n) space for s, to answer the queries: given any query point t, compute the link distance (the number of links of the rectilinear minimum-link s-t path) in O(log n) time report the actual path in additional time linear in the link distance

Outline The previous work: Das and Narasimhan, 91’ Our improvement based on their work

Four types of rectilinear paths Any rectilinear s-t path can be a vertical-start-vertical-end path, or v-v path a vertical-start-horizontal-end path, or v-h path a horizontal-start-vertical-end path, or h-v path a horizontal-start-horizontal-end path, or h-h path t t t t s s s s v-v path v-h path h-v path h-h path

Computing a minimum-link path Compute the four paths: a minimum-link v-v path a minimum-link v-h path a minimum-link h-v path a minimum-link h-h path Return the one with the minimum link distance as the solution  by a v-v link distance map  by a v-h map  by an h-v map  by an h-h map

Computing a v-v map The vertical decomposition of P, VD(P) Extend each vertical edge until the boundary of P Each extension segment is called a diagonal Computing VD(P) is equivalent to triangulating P

Computing a v-v map (cont.) VD(P) is our v-v map. Why? Observation: For each cell, all points in the cell have the same v-v link distance to s t s

Computing a v-v map (cont.) Label each cell with its v-v link distance to s 5 5 5 5 5 5 t 5 5 5 5 7 5 7 5 3 3 3 s 3 3 3 3 3 1

Labelling the diagonals (the vertical extensions) Initially, label the diagonal ds through s by 1 Put a light source on the entire ds generating light beams towards leftwards and rightwards any diagonals illuminated by ds will get label 3 3 5

The algorithm in the previous work In the i-th round, for i = 0, 1, 2, 3….. Finds a set Vi of diagonals and label them 2i + 1 What is Vi ? If we put light sources on all diagonals of Vi-1, then Vi consists of all new diagonals that can be illuminated Two sweeping procedures: left-sweep and right-sweep A heap is used to guide the sweeping such that the diagonals are processed by their x-coordinates The sweeping is controlled in a global manner O(n log n) time in total

Our improvement: using a corridor structure Consider the dual graph G of the VD(P) Keep removing the degree-one nodes from G Keep contracting the degree-two nodes

Our improvement: using a corridor structure The remaining graph G’ is called “corridor graph” Each vertex of G’ corresponds to a “junction cell” Each edge of G’ corresponds to a “corridor”

Our improvement: using a corridor structure (cont.) Each corridor is a simple rectilinear polygon Each corridor has two doors connecting with its neighboring junction cells

Our improvement: using a corridor structure (cont.) There are O(h) junction cells and O(h) corridors Incorporating the source point s s is considered as a special vertex of the corridor graph The diagonal ds is considered as a special junction cell s

Our algorithm – an overview We use the same sweeping approach as before with the following differences The sweeping in the junction cells is controlled in a global manner, the same as before Once the sweeping enters into a corridor C through one of its doors, we sweep C in a local manner What is the benefit? The global sweeping is only on junction cells There are only O(h) junction cells  O(h log h) time The local sweeping in each corridor can be processed in linear time since it is a simple polygon The total size of all corridors is O(n)  O(n) time

Our algorithm – a demonstration 5 3 5 s 3 3 3 1

The sweeping in corridors Suppose there are h1 beams entering a corridor C through a door, and h2 beams leaving C through the other door after the sweeping Our algorithm runs in O(|C| + (h1 – h2 ) log h1) time The sum of the first term in the entire algorithm is O(n) The sum of the second term is O(h log h) h1 = 5 h2 = 2 C

Operations on beam sets on diagonals Some beams may be “terminated”, “narrowed” A beam set may be “split” Beam sets may be “merged”

Thank you!