xy-monotone path existence queries in a rectilinear environment

Similar documents
Touring a Sequence of Polygons

Touring a Sequence of Polygons

Shortest Paths with Single-Point Visibility Constraint

Minimum congestion spanning trees in bipartite and random graphs

CERIAS Tech Report EFFICIENT PARALLEL ALGORITHMS FOR PLANAR st-graphs. by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daescu

Delaunay Triangulation: Incremental Construction

Routing Definition 4.1

CS201: Data Structures and Algorithms. Assignment 2. Version 1d

Universität Augsburg. Institut für Informatik. Approximating Optimal Visual Sensor Placement. E. Hörster, R. Lienhart.

Generic Traverse. CS 362, Lecture 19. DFS and BFS. Today s Outline

Shortest Paths Problem. CS 362, Lecture 20. Today s Outline. Negative Weights

Today s Outline. CS 561, Lecture 23. Negative Weights. Shortest Paths Problem. The presence of a negative cycle might mean that there is

Lecture 14: Minimum Spanning Tree I

A note on degenerate and spectrally degenerate graphs

arxiv: v3 [cs.cg] 1 Oct 2018

Operational Semantics Class notes for a lecture given by Mooly Sagiv Tel Aviv University 24/5/2007 By Roy Ganor and Uri Juhasz

arxiv: v1 [cs.ds] 27 Feb 2018

Topics. Lecture 37: Global Optimization. Issues. A Simple Example: Copy Propagation X := 3 B > 0 Y := 0 X := 4 Y := Z + W A := 2 * 3X

Karen L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract

Laboratory Exercise 6

1 The secretary problem

Chapter S:II (continued)

Edits in Xylia Validity Preserving Editing of XML Documents

MAT 155: Describing, Exploring, and Comparing Data Page 1 of NotesCh2-3.doc

3D SMAP Algorithm. April 11, 2012

Bottom Up parsing. Bottom-up parsing. Steps in a shift-reduce parse. 1. s. 2. np. john. john. john. walks. walks.

Representations and Transformations. Objectives

AVL Tree. The height of the BST be as small as possible

else end while End References

Laboratory Exercise 6

DAROS: Distributed User-Server Assignment And Replication For Online Social Networking Applications

CSE 250B Assignment 4 Report

On successive packing approach to multidimensional (M-D) interleaving

Laboratory Exercise 6

Drawing Lines in 2 Dimensions

New Structural Decomposition Techniques for Constraint Satisfaction Problems

Contents. shortest paths. Notation. Shortest path problem. Applications. Algorithms and Networks 2010/2011. In the entire course:

An Intro to LP and the Simplex Algorithm. Primal Simplex

np vp cost = 0 cost = c np vp cost = c I replacing term cost = c+c n cost = c * Error detection Error correction pron det pron det n gi

Stochastic Search and Graph Techniques for MCM Path Planning Christine D. Piatko, Christopher P. Diehl, Paul McNamee, Cheryl Resch and I-Jeng Wang

Performance of a Robust Filter-based Approach for Contour Detection in Wireless Sensor Networks

Laboratory Exercise 6

Lecture Outline. Global flow analysis. Global Optimization. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization

A SIMPLE IMPERATIVE LANGUAGE THE STORE FUNCTION NON-TERMINATING COMMANDS

Quadrilaterals. Learning Objectives. Pre-Activity

Advanced Encryption Standard and Modes of Operation

Cutting Stock by Iterated Matching. Andreas Fritsch, Oliver Vornberger. University of Osnabruck. D Osnabruck.

Shortest Path Routing in Arbitrary Networks

Variable Resolution Discretization in the Joint Space

A Boyer-Moore Approach for. Two-Dimensional Matching. Jorma Tarhio. University of California. Berkeley, CA Abstract

UC Berkeley International Conference on GIScience Short Paper Proceedings

Algorithmic Discrete Mathematics 4. Exercise Sheet

CS 467/567: Divide and Conquer on the PRAM

Brief Announcement: Distributed 3/2-Approximation of the Diameter

Distributed Fractional Packing and Maximum Weighted b-matching via Tail-Recursive Duality

Midterm 2 March 10, 2014 Name: NetID: # Total Score

The Association of System Performance Professionals

A Fast Association Rule Algorithm Based On Bitmap and Granular Computing

Gray-level histogram. Intensity (grey-level) transformation, or mapping. Use of intensity transformations:

The Split Domination and Irredundant Number of a Graph

KS3 Maths Assessment Objectives

Planning of scooping position and approach path for loading operation by wheel loader

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

Trainable Context Model for Multiscale Segmentation

CORRECTNESS ISSUES AND LOOP INVARIANTS

Homework 4 Due Thursday Oct 7. CLRS 12-4 (number of binary trees) CLRS (rb insert implementation)

Interface Tracking in Eulerian and MMALE Calculations

Lemma 1. A 3-connected maximal generalized outerplanar graph is a wheel.

Distance Optimal Formation Control on Graphs with a Tight Convergence Time Guarantee

Fast Address Sequence Generation for Data-Parallel Programs Using Integer Lattices

A Novel Feature Line Segment Approach for Pattern Classification

Using Partial Evaluation in Distributed Query Evaluation

/06/$ IEEE 364

Maneuverable Relays to Improve Energy Efficiency in Sensor Networks

Multicast with Network Coding in Application-Layer Overlay Networks

ES205 Analysis and Design of Engineering Systems: Lab 1: An Introductory Tutorial: Getting Started with SIMULINK

AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROBLEM

arxiv: v1 [math.co] 18 Jan 2019

Announcements. CSE332: Data Abstractions Lecture 19: Parallel Prefix and Sorting. The prefix-sum problem. Outline. Parallel prefix-sum

Multi-Target Tracking In Clutter

LinkGuide: Towards a Better Collection of Hyperlinks in a Website Homepage

Texture-Constrained Active Shape Models

Set-based Approach for Lossless Graph Summarization using Locality Sensitive Hashing

Exploring Simple Grid Polygons

Laboratory Exercise 2

New Structural Decomposition Techniques for Constraint Satisfaction Problems

The Comparison of Neighbourhood Set and Degrees of an Interval Graph G Using an Algorithm

The norm Package. November 15, Title Analysis of multivariate normal datasets with missing values

Optimal Multi-Robot Path Planning on Graphs: Complete Algorithms and Effective Heuristics

A New Approach to Pipeline FFT Processor

Building a Compact On-line MRF Recognizer for Large Character Set using Structured Dictionary Representation and Vector Quantization Technique

Hassan Ghaziri AUB, OSB Beirut, Lebanon Key words Competitive self-organizing maps, Meta-heuristics, Vehicle routing problem,

Localized Minimum Spanning Tree Based Multicast Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Sensor Networks

Shortest-Path Routing in Arbitrary Networks

See chapter 8 in the textbook. Dr Muhammad Al Salamah, Industrial Engineering, KFUPM

Parity-constrained Triangulations with Steiner points

Today s Outline. CS 362, Lecture 19. DFS and BFS. Generic Traverse. BFS and DFS Wrapup Shortest Paths. Jared Saia University of New Mexico

The Data Locality of Work Stealing

Geometrical Optics INTRODUCTION

A PROBABILISTIC NOTION OF CAMERA GEOMETRY: CALIBRATED VS. UNCALIBRATED

Transcription:

CCCG 2012, Charlottetown, P.E.I., Augut 8 10, 2012 xy-monotone path exitence querie in a rectilinear environment Gregory Bint Anil Mahehwari Michiel Smid Abtract Given a planar environment coniting of n dijoint axialigned rectangle, we want to query on any two point and find whether there i a north-eat monotone path between them. We preent preproceing and query algorithm which tranlate the geometric problem into a tree traveral problem and preent a correponding tree tructure that give u O(n log n) contruction time, O(n) pace, and O(log n) query time. 1 Introduction Conider a cloed planar environment which conit of n dijoint axi-aligned rectangular obtacle. We want to query thi environment on any two point and t and determine whether a rectilinear north-eat monotone path exit between them. In thi paper, we mean rectilinear in the ene that all egment of a path are axi-aligned and that adjacent egment of a path meet at right angle. By north-eat monotone, we mean that each path egment extend either above or to the right of the end of the previou egment (Figure 1). t 1 t 2 t 3 Figure 1: An environment with 7 obtacle. From, there are north-eat monotone path to t 2 and t 3, but not to t 1 or t 4. Thi work i inpired by a ingle point query algorithm for finding hortet path in a imilar environ- Thi reearch wa upported in part by the NSERC-USRA program School of Computer Science, Carleton Univerity {gbint, anil, michiel}@c.carleton.ca t 4 ment by Rezende, Lee, and Wu [7]. Given a fixed point, they preproce the environment to allow for querie on any t. Our main contribution i to allow both and t to be pecified at query time, extracting only the information about north-eat monotone path exitence. We ummarize our work with the following theorem. Theorem 1 Given a planar environment coniting of n dijoint axi-aligned rectangular obtacle, we can contruct, in O(n log n) time, a data tructure with ize O(n) with which we can query for the exitence of a north-eat monotone path between any two query point in O(log n) time. The remainder of thi paper detail a data tructure and query method to atify thi theorem. Section 2 cover ome preliminary terminology and path contruction technique. Section 3 contain the main contribution of thi work, howing how we can precalculate ocalled hared path and ue them to anwer monotone path exitence querie. A our overall query require the ability to perform a planar point location query, Section 4 review a particularly uitable method. Section 5 bring together the complete query algorithm with ome dicuion on poible extenion. Finally, we conclude in Section 6. 2 Preliminarie In thi ection, we will review ome contruction technique and lemma preented in Rezende, Lee, and Wu. The proof appear in their original paper. Definition 1 Let a path π be defined by a equence of point p 1, p 2,...p k, then π i an xy-path if, for every adjacent pair of point p i, p (i+1), either p (i+1) i directly above p i (i.e. p (i+1)x = p ix and p (i+1)y > p iy ) or p (i+1) i directly to the right of p i (i.e. p (i+1)x > p ix and p (i+1)y = p iy ). Following imilar rule, we can define x( y)-path, ( x)y-path, and ( x)( y)-path. Oberve that any uch path i rectilinear. Definition 2 A rectilinear north-eat monotone path i an xy-path. If we aume that no two adjacent egment of a path are co-linear, we oberve that any vertical (horizontal)

24 th Canadian Conference on Computational Geometry, 2012 line can interect uch a path through at mot a ingle point of one horizontal (vertical) egment or lie colinearly with at mot one vertical (horizontal) egment. When contructing xy-path, we can prefer a direction of path extenion by alway travelling in a particular direction unle we need to route around an obtacle. Definition 3 An x-preferred xy-path, π, i an xy-path which extend eat, in the +x, direction whenever poible. Let o be an obtacle with ide lef t(o), top(o), right(o) and bottom(o). If π encounter lef t(o), a vertical egment i added which continue north (in the +y direction) to the vertex located at the incidence of lef t(o) and top(o). From there, a horizontal egment i added, which reume travelling eat along top(o), and beyond, until the next obtacle i encountered (ee Figure 2). π 1 π 2 Figure 2: Two x-preferred xy-path, one without, one with obtacle. In a imilar way, π may be a y-preferred xy-path, which travel north whenever poible, only travelling eat when moving around an obtacle. x( y)-path, ( x)y-path, and ( x)( y)-path can alo be contructed with a preference for either of their two component direction. For example, an x( y)-path can be x-preferred or ( y)-preferred. Definition 4 Given a point, if we extend both an x- preferred xy-path and a ( x)-preferred ( x)y-path from, the area above the union of thee path i called the y-region of. In a imilar fahion, the x-region of i the area to the right of the union of the y-preferred xy-path and the ( y)-preferred x( y)-path rooted at. Definition 5 The xy-region of i the interection of the x-region of and the y-region of (Figure 3). Uing thee definition, Rezende, Lee, and Wu give the following lemma which i of particular interet. Lemma 2 There i a rectilinear north-eat monotone path from to t if and only if t lie within the xy-region of. From their lemma, and from the contruction of the xy-region of, we derive the following additional lemma. Figure 3: The complete xy-region of with point t contained within it. Lemma 3 If t i in the xy-region of, then, diregarding all obtacle, a vertical line through t mut interect the x-preferred xy-path rooted at omewhere below t, and a horizontal line through t mut interect the y- preferred xy-path rooted at omewhere left of t. Rezende, Lee, and Wu algorithm contruct the xyregion of, which i then further refined into a rectangular ubdiviion. When a query point t i given, they perform a point location on t within the rectangular ubdiviion. Auming t lie within the xy-region of, their ubdiviion tore enough information to allow them to contruct a rectilinear north-eat monotone path between the two point. By Lemma 2, we know that uch a path i poible. Such a path i alo a hortet path, which wa the goal of their work, however we are only intereted in the exitence of it. 3 Shared Path Having een how xy-path are contructed around obtacle, we now turn our attention to how multiple path will route around the ame obtacle. Lemma 4 Given an x-preferred xy-path π which meet lef t(o) for ome obtacle o, any other x-preferred xypath π which meet left(o) will have the ame tructure a π from the corner of left(o) and top(o) and beyond. The proof i apparent directly from contruction. It hould be clear that thi lemma hold for other (±x)(±y)-path, with either component direction a the preferred direction. 3.1 Shared Path Tree We can ue thee hared path to aid u in identifying the xy-region of any during query time. A the contruction of x-region and y-region are imilar, we will conider only the y-region cae. To do o, we will t

CCCG 2012, Charlottetown, P.E.I., Augut 8 10, 2012 pre-calculate path from the top-left vertex of each obtacle. Then, during query time, all that remain i to find the firt obtacle that an x-preferred xy-path from would hit. From that obtacle, we can follow the precalculated xy-path from it top-left vertex. Specifically, thee hared path will be tored in a tree, which i contructed in the following way. Imagine a bounding box that contain all of the obtacle and all of the valid query range for and t. Along the right-hand ide of thi box i a vertical line egment obtacle, labeled o 0, whoe top-left vertex i v 0. All x- preferred xy-path mut eventually meet thi obtacle. We ort the remaining obtacle from right to left, top to bottom, according to their top-left vertice o that we have a equence of obtacle o 1,..., o n with correponding top-left vertice v 1,..., v n. Notice that o n i the leftmot obtacle, and that v 1 i the rightmot vertex to the left of v 0. Our tree, T, will tore v 0,..., v n, with v 0 at the root. Then, proceing v 1,..., v n in order tarting with v 1, we proce each v i in the following way. Let eg(v i ) be a horizontal line egment tarting at v i, traveling eat in the +x-direction, and let o j be the obtacle impacted on the left ide by eg(v i ). Note that j < i. From o j, we obtain a pointer to v j, which mut already exit in T. We inert v i into T a a child of v j. Notice that eg(v i ) i the line egment (v ix, v iy ) (v jx, v iy ) and that v iy v jy. A a reult of the inertion method, any path of vertice in the tree will be ordered with repect to their x component. See Figure 4 for an example environment and correponding T. Recontructing an xy-path baed on T i imple: given a pointer to a particular vertex v p1 in the tree, if v p1, v p2,..., v pk i the equence of vertice in the path from v p1 to the root of the tree, then eg(v p1 ), eg(v p2 ),..., eg(v pk ) i the equence of horizontal line egment that make up the xy-path of v 1 p1. Contruction of T take O(n log n) time. We firt ort the vertice in the order given above. Next, for each of the n obtacle, we maintain a line egment interection weepline to find, in O(log n) time, the obtacle which will be hit by a horizontal line egment leaving the top-left vertex. Inertion into T take only O(1) a we acquire the parent pointer directly from the weepline tructure. T ha ize O(n) a each top-left obtacle vertex i inerted exactly once. 3.2 Querying the Shared Path Tree From Lemma 3, we ee that it i ufficient to how that t i in the y-region of by teting that t i above the 1 We aume that the vertical egment of an x-preferred xypath have no width, and a a reult, any vertical line through uch a path mut impact ome horizontal egment. A we will ee, we are only intereted in performing vertical line tet on thee path, o we can diregard the vertical path egment. x-preferred xy-path rooted at. Here, we refer only to that portion of the y-region which i to the eat of, ince no other part of the y-region can contribute to the xy-region of. To that end, we will further aume that t i alo eat of. The firt tep toward identifying the y-region of i to identify the obtacle which a horizontal ray leaving in the +x direction would hit. We label that obtacle a o. We can ue a point location data tructure to find thi obtacle and return the pointer v, correponding to an entry in T. Section 4 explore thi in more detail, but for now it uffice to aume that we can acquire v. With v, we know that the firt egment of the x- preferred xy-path rooted at i the horizontal egment defined by ( x, y ) (v x, y ). The remaining egment of the path are already tored in the tree, and o a imple query method would be a follow. Aume that t i north-eat of, otherwie the query reult i no. Let v(t) be the vertical line through t. If v(t) x i within the x-interval of the firt horizontal line egment, then we tet and return whether t i above it and we are done. Otherwie, let v 1, v 2,..., v k be the path through T where v 1 = v and v k i the root of T. We tet v(t) againt each eg(v i ) in order from 1 to k. If v(t) x i not within the x-interval of a line egment, we advance to the next egment by following the parent pointer of v i. If it i, we tet and return whether t i above that egment, and we are done. Since we contruct our environment uch that the root node of T i farther right than any other input, there mut be ome egment which v(t) interect. See Figure 4 for an example. v 7 v 6 v 4 v 5 v 3 v 2 v 1 t 1 t 2 v 0 v 3 v 7 v 4 T v 0 v 1 v 2 Figure 4: An environment and correponding hared path tree howing how, t 1, and t 2 interact. Notice that there i a north-eat monotone path from to t 1, but not from to t 2. Performance of thi query method i dependent on the height of T. If we conider the cae where all obtacle are arranged in an acending taircae uch that a path tarting with the leftmot obtacle hit every remaining obtacle on it way eat, we ee that T ha a height and query time of O(n), which i not ufficient for our theorem. v 5 v 6 t 1 t 2

24 th Canadian Conference on Computational Geometry, 2012 3.3 Augmenting the Shared Path Tree In order to achieve O(log n) query time on T, we will need to augment it. The augmentation we will ue i a method firt dicued by Cole and Vihkin [3]. Thi method wa later illutrated by Naraimhan and Smid [6] in a manner very imilar to our own ue. In brief, the vertice in the tree are proceed into group which have the property that we can follow a path from any vertex to the root by looking at only O(log n) group. The augmentation add the following information to T. For every vertex v, define m to be the number of vertice in the ubtree of v. We define l-value(v) to be log m. We define a group to be a path of vertice that hare the ame l-value. The head of thi group i the vertex cloet to the root and i called the group parent for all vertice in the group, a pointer to which i tored at every v a gpar(v). From the definition given, oberve the following propertie about group. Every leaf will have an l-value of 0 and will belong to a group coniting only of itelf, a it parent ubtree ize and thu it parent l-value mut be 2 and 1, repectively. We alo ee that the root of the tree will have an l-value of log n. An example i given in Figure 5. Figure 5: A binary tree with grouped node indicated. Note that l-value can only increae a we conider vertice cloer to the root, and that group mut be path. Thu, we can travere from any v to the root of the tree by following O(log n) gpar pointer. With the group configured, we will further augment T at each group parent by creating an ordered group array containing all the vertice of it correponding group. Thi array permit u to perform a binary earch on the group while examining the group parent. By copying the children pointer in the appropriate order, according to their orientation along the group path, we can create thi array in O(n) time over all group. The group number and group parent pointer of each vertex, and the group array aociated with each group parent, can be calculated with a imple pot-order traveral of the tree in O(n) time and require only O(1) extra pace per vertex. Note that ince each vertex appear in exactly one group array, the total ize of all group array i O(n). 3.4 Querying the Augmented Shared Path Tree Querying the augmented tree ha the ame goal a in Section 3.2: to identify the eatern y-region of and determine if t i within it. The initial part of the query are performed identically. Again we aume that we have a point location data tructure that allow u to identify the firt obtacle to the right of, labeled o, and which give u the correponding pointer v into T. From thi, we can define and tet the firt horizontal line egment of the x-preferred xy-path at. Recall that v(t) i the vertical line through t. If v(t) doe not interect that firt horizontal egment, then we follow v into T. We immediately jump to the group parent of v, labeled gpar(v ). If v(t) i to the left of (or at) gpar(v ), then we perform a binary earch on the array of vertice tored there, each of which correpond to a horizontal line egment in the environment. v(t) mut interect one of thee egment, and we tet and return whether v(t) i above that egment. If v(t) i to the right of gpar(v ), then we follow gpar(v ) parent pointer, which bring u to ome vertex in the next group toward the root of T and repeat the ame procedure, jumping to the group parent, teting the array content there, and o on. Since we contruct our environment uch that the root vertex of T mut be farther right than any other input, there mut be a group uch that v(t) interect one of it contituent vertice. In performing thi query, we need to tet at mot O(log n) group parent pointer. In one group, we will alo need to perform a binary earch on the array tored there, for a total query time of O(log n), a required by our theorem. 4 Finding Before we can ue T to identify the y-region of, we need to identify the firt obtacle that an x-preferred xy-path leaving will impact. 4.1 Planar Subdiviion Step 1 i to create a horizontal ubdiviion of the environment into planar rectangle. Conceptually, thi i accomplihed by extending a horizontal ray from each obtacle vertex away from the obtacle until it trike another obtacle or the environment boundary. Every uch ray biect the pace it travel through into two region reulting in a ubdiviion of ize O(n) (Figure

CCCG 2012, Charlottetown, P.E.I., Augut 8 10, 2012 Figure 6: example of a planar rectangular ubdiviion of a et of obtacle in encloing environment. note the imaginary obtacle along the right-hand ide. 6). We call each non-obtacle face of the ubdiviion a cell. Lemma 5 The right-hand boundary of a cell i defined by a ingle obtacle. The ubdiviion can be contructed uing the ame horizontal weepline ued to build T. With each cell, we tore the appropriate pointer into T baed on the obtacle that the cell ee to it right. 4.2 Point Location Query To find the cell that a particular point fall into, we will ue a Skewer Tree [4], a data tructure by Edelbrunner, Haring, and Hilbert pecifically for point location in a collection of axi-aligned, non-overlapping rectangle. Contruction of a kewer tree follow a divide and conquer approach. For a et, S, of rectangle, we place a vertical line l through the median x-value. We divide S into three ubet: S 1 i the et of rectangle that lie trictly to the left of l, S 2 i the et of rectangle interected by l, and S 3 i the et of rectangle that lie trictly to the right of l, o that S 1 + S 2 + S 3 = S. We create a node n S in the kewer tree which contain the definition of l, the ize of S 2, and a balanced tree containing the rectangle of S 2, orted by y-value. If S 1 i non-empty, we recure on S 1, attaching the reulting ubtree a the left child of n S. Similarly, if S 3 i non-empty, we recure on S 3, attaching the reulting ubtree a the right child of n S. Every rectangle appear exactly once in the kewer tree, a it i attributed only to the firt node whoe l interected it and not paed down to deeper level of recurion. The kewer tree require O(n) pace and O(n log n) contruction time. The query time i a bit more intereting. We tart at the root node and check if our query point i contained within one of the rectangle tored there, which take O(log n) time. If it i not, we compare l with x and decide whether we will next check the left or right ubtree. We repeat thee tep at every level of the tree until the rectangle containing i found. The height of the kewer tree i O(log n), o we need to make at mot that many querie for a total query time of O(log 2 n) time. We can improve the query time to O(log n) with Fractional Cacading [1, 2, 5, 8]. To help illutrate how, we will refer to the outer node of the Skewer tree a the line tree, and the tree of rectangle attached to each node of the line tree a rectangle tree. Every path through the line tree repreent a equence of array of orted value. Each array i queried over the ame range of key, defined by the interval of y-value covered by the bounding box of the environment. Conidering a ingle path through the line tree for now, we will tore extra pointer in each of the rectangle tree o that a query on one tree can return not jut the ucceor to the earch key value in that tree, but in the next tree in the path a well. If thi mechanim i implemented in every rectangle tree, then we can anwer our query in every tree of the path by performing a tandard binary tree earch on the root rectangle tree in O(log n) time, and then continuing by walking along O(log n) pointer through the path, each taking O(1) time. Becaue the line tree i a binary tree, we need to tore two et of additional pointer in each rectangle tree: one to ue if we follow a line tree node left child, and one to ue if we follow it right child. See Chazelle and Guiba [1, 2] for detail on how thee extra pointer can be developed in linear time. 5 The Complete Algorithm We now have all the tool we need to olve our query problem. 5.1 Contruction The contruction phae of the algorithm involve building both the hared path data tructure and a point location data tructure. When dicuing hared path data tructure, we have primarily conidered obtacle to the eat of our query point, and the reulting x-preferred xy-path. We will relabel that data tructure a T E. We alo need to conider obtacle to the north and the aociated y- preferred xy-path, which we do by creating a econd data tructure labeled T N. The algorithm a written in Section 3.1 for T E can eaily be adapted for T N. While performing the plane-weep needed to contruct T E and T N, we can alo produce the rectangular planar ubdiviion ued by the kewer tree. Total contruction time and pace for T E, T N, and the kewer tree, i O(n log n) and O(n), repectively, a required by our theorem.

24 th Canadian Conference on Computational Geometry, 2012 5.2 Query When a query i made, we are given and t. Aume that t i actually north-eat of, otherwie the query reult i no. We firt perform a point location query on, identifying the obtacle to it right. We then follow the procedure in Section 3.4 to determine whether t i in the y-region of. Uing the obtacle above, we identify the x-region of, and again follow the procedure in Section 3.4 to determine if it contain t. If both return true, then we know that t i in the xy-region of, and o by Lemma 2, there i a north-eat monotone path from to t. The total query time i O(log n), a required by our theorem. [8] M. Smid. Rectangular point location and the dynamic cloet pair problem. In W.-L. Hu and R. Lee, editor, ISA 91 Algorithm, volume 557 of Lecture Note in Computer Science, page 364 374. Springer Berlin / Heidelberg, 1991. 6 Concluion In thi paper we have dicued a method for deciding whether there exit a north-eat monotone path between any two query point in the plane. We developed the concept of hared path and howed a method for toring them in a tree, and for augmenting that tree to allow for quick query time. We alo reviewed a uitable point location query method. Together, thee method require O(n log n) preproceing time, O(n) pace, and O(log n) query time. One problem which remain open i the following. In the event that a path i found to be poible, we would like to report one uch path in O(log n + k) time, where k i the number of egment in the reported path, and i within a contant factor of the minimum number of egment among all uch path. Reference [1] B. Chazelle and L. Guiba. Fractional cacading: I. a data tructuring technique. Algorithmica, 1:133 162, 1986. [2] B. Chazelle and L. Guiba. Fractional cacading: II. application. Algorithmica, 1:163 191, 1986. [3] R. Cole and U. Vihkin. The accelerated centroid decompoition technique for optimal parallel tree evaluation in logarithmic time. Algorithmica, 3:329 346, 1988. [4] H. Edelbrunner, G. Haring, and D. Hilbert. Rectangular point location in d dimenion with application. The Computer Journal, 29(1):76 82, 1986. [5] K. Mehlhorn and S. Nher. Dynamic fractional cacading. Algorithmica, 5:215 241, 1990. [6] G. Naraimhan and M. Smid. Geometric Spanner Network. Cambridge Univerity Pre, New York, NY, USA, 2007. [7] P. Rezende, D. Lee, and Y. Wu. Rectilinear hortet path in the preence of rectangular barrier. Dicrete & Computational Geometry, 4:41 53, 1989.