Abstract

Given a rectilinear domain \(\mathcal {P}\) of h pairwise-disjoint rectilinear obstacles with a total of n vertices in the plane, we study the problem of computing bicriteria rectilinear shortest paths between two points s and t in \(\mathcal {P}\). Three types of bicriteria rectilinear paths are considered: minimum-link shortest paths, shortest minimum-link paths, and minimum-cost paths where the cost of a path is a non-decreasing function of both the number of edges and the length of the path. The one-point and two-point path queries are also considered. Algorithms for these problems have been given previously. Our contributions are threefold. First, we find a critical error in all previous algorithms. Second, we correct the error in a not-so-trivial way. Third, we further improve the algorithms so that they are even faster than the previous (incorrect) algorithms when h is relatively small. For example, for the minimum-link shortest paths, we obtain the following results. Our algorithm computes a minimum-link shortest \(s\)-\(t\) path in \(O(n+h\log ^{3/2} h)\) time. For the one-point queries, we build a data structure of size \(O(n+ h\log h)\) in \(O(n+h\log ^{3/2} h)\) time for a source point s, such that given any query point t, a minimum-link shortest \(s\)-\(t\) path can be computed in \(O(\log n)\) time. For the two-point queries, with \(O(n+h^2\log ^2 h)\) time and space preprocessing, a minimum-link shortest \(s\)-\(t\) path can be computed in \(O(\log n+\log ^2 h)\) time for any two query points s and t; alternatively, with \(O(n+h^2\cdot \log ^{2} h \cdot 4^{\sqrt{\log h}})\) time and \(O(n+h^2\cdot \log h \cdot 4^{\sqrt{\log h}})\) space preprocessing, we can answer each two-point query in \(O(\log n)\) time. Note that \(h^2\cdot \log ^{2} h \cdot 4^{\sqrt{\log h}}=O(h^{2+\epsilon })\) for any \(\epsilon >0\). These results are particularly interesting when h is relatively small. For example, if \(h=O(n^{1/2-\epsilon })\) for any \(\epsilon >0\), then all above results match the best results for the problems in simple rectilinear polygons, which are optimal. The complexities for the other two types of paths are slightly worse, but still linearly depend on n (in addition to g(h) for some functions g(h) of h).

Highlights

  • Let P be a rectilinear domain with a total of h holes and n vertices in the plane, i.e., P is a multiply-connected region whose boundary is a union of n axis-parallel line segments, forming h + 1 closed polygonal cycles (i.e., h holes plus an outer boundary)

  • A simple rectilinear polygon is a special case of a rectilinear domain with h = 0

  • For any two points s and t in P, a shortest rectilinear path from s to t is a rectilinear path connecting s to t in P with the minimum length, and a minimum-link rectilinear path is a rectilinear s-t path with the minimum link distance

Read more

Summary

Introduction

Let P be a rectilinear domain with a total of h holes and n vertices in the plane, i.e., P is a multiply-connected region whose boundary is a union of n axis-parallel line segments, forming h + 1 closed polygonal cycles (i.e., h holes plus an outer boundary). The algorithms in [9, 16, 17] construct an O(n) size data structure that can answer each one-point minimum-link path query in O(log n) time. The algorithms in [5, 6, 14, 15] can be used to compute an O(n) size data structure so that each one-point L1 shortest path query can be answered in O(log n) time. To find a minimum-link s-t path between two points s and t in an arbitrary polygonal domain P, Mitchell [18] gave an O(Eα(n) log n) time algorithm, where α(n) is the inverse of Ackermann’s function and E is the size of the visibility graph of P and E = Θ(n2) in the worst case. Our data structures for the one-point and two-point path queries are omitted and in the full paper

Preliminaries
The YLW Algorithm and Our Correction
Our New Algorithm
The Improved Algorithm
A Reduced Path Preserving Graph
Computing an Optimal Path
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call