95 research outputs found

    An Optimal Algorithm for Higher-Order Voronoi Diagrams in the Plane: The Usefulness of Nondeterminism

    Full text link
    We present the first optimal randomized algorithm for constructing the order-kk Voronoi diagram of nn points in two dimensions. The expected running time is O(nlogn+nk)O(n\log n + nk), which improves the previous, two-decades-old result of Ramos (SoCG'99) by a 2O(logk)2^{O(\log^*k)} factor. To obtain our result, we (i) use a recent decision-tree technique of Chan and Zheng (SODA'22) in combination with Ramos's cutting construction, to reduce the problem to verifying an order-kk Voronoi diagram, and (ii) solve the verification problem by a new divide-and-conquer algorithm using planar-graph separators. We also describe a deterministic algorithm for constructing the kk-level of nn lines in two dimensions in O(nlogn+nk1/3)O(n\log n + nk^{1/3}) time, and constructing the kk-level of nn planes in three dimensions in O(nlogn+nk3/2)O(n\log n + nk^{3/2}) time. These time bounds (ignoring the nlognn\log n term) match the current best upper bounds on the combinatorial complexity of the kk-level. Previously, the same time bound in two dimensions was obtained by Chan (1999) but with randomization.Comment: To appear in SODA 2024. 16 pages, 1 figur

    The projector algorithm: a simple parallel algorithm for computing Voronoi diagrams and Delaunay graphs

    Full text link
    The Voronoi diagram is a certain geometric data structure which has numerous applications in various scientific and technological fields. The theory of algorithms for computing 2D Euclidean Voronoi diagrams of point sites is rich and useful, with several different and important algorithms. However, this theory has been quite steady during the last few decades in the sense that no essentially new algorithms have entered the game. In addition, most of the known algorithms are serial in nature and hence cast inherent difficulties on the possibility to compute the diagram in parallel. In this paper we present the projector algorithm: a new and simple algorithm which enables the (combinatorial) computation of 2D Voronoi diagrams. The algorithm is significantly different from previous ones and some of the involved concepts in it are in the spirit of linear programming and optics. Parallel implementation is naturally supported since each Voronoi cell can be computed independently of the other cells. A new combinatorial structure for representing the cells (and any convex polytope) is described along the way and the computation of the induced Delaunay graph is obtained almost automatically.Comment: This is a major revision; re-organization and better presentation of some parts; correction of several inaccuracies; improvement of some proofs and figures; added references; modification of the title; the paper is long but more than half of it is composed of proofs and references: it is sufficient to look at pages 5, 7--11 in order to understand the algorith

    Algorithmic Motion Planning and Related Geometric Problems on Parallel Machines (Dissertation Proposal)

    Get PDF
    The problem of algorithmic motion planning is one that has received considerable attention in recent years. The automatic planning of motion for a mobile object moving amongst obstacles is a fundamentally important problem with numerous applications in computer graphics and robotics. Numerous approximate techniques (AI-based, heuristics-based, potential field methods, for example) for motion planning have long been in existence, and have resulted in the design of experimental systems that work reasonably well under various special conditions [7, 29, 30]. Our interest in this problem, however, is in the use of algorithmic techniques for motion planning, with provable worst case performance guarantees. The study of algorithmic motion planning has been spurred by recent research that has established the mathematical depth of motion planning. Classical geometry, algebra, algebraic geometry and combinatorics are some of the fields of mathematics that have been used to prove various results that have provided better insight into the issues involved in motion planning [49]. In particular, the design and analysis of geometric algorithms has proved to be very useful for numerous important special cases. In the remainder of this proposal we will substitute the more precise term of algorithmic motion planning by just motion planning

    Voronoi diagrams in the max-norm: algorithms, implementation, and applications

    Get PDF
    Voronoi diagrams and their numerous variants are well-established objects in computational geometry. They have proven to be extremely useful to tackle geometric problems in various domains such as VLSI CAD, Computer Graphics, Pattern Recognition, Information Retrieval, etc. In this dissertation, we study generalized Voronoi diagram of line segments as motivated by applications in VLSI Computer Aided Design. Our work has three directions: algorithms, implementation, and applications of the line-segment Voronoi diagrams. Our results are as follows: (1) Algorithms for the farthest Voronoi diagram of line segments in the Lp metric, 1 ≤ p ≤ ∞. Our main interest is the L2 (Euclidean) and the L∞ metric. We first introduce the farthest line-segment hull and its Gaussian map to characterize the regions of the farthest line-segment Voronoi diagram at infinity. We then adapt well-known techniques for the construction of a convex hull to compute the farthest line-segment hull, and therefore, the farthest segment Voronoi diagram. Our approach unifies techniques to compute farthest Voronoi diagrams for points and line segments. (2) The implementation of the L∞ Voronoi diagram of line segments in the Computational Geometry Algorithms Library (CGAL). Our software (approximately 17K lines of C++ code) is built on top of the existing CGAL package on the L2 (Euclidean) Voronoi diagram of line segments. It is accepted and integrated in the upcoming version of the library CGAL-4.7 and will be released in september 2015. We performed the implementation in the L∞ metric because we target applications in VLSI design, where shapes are predominantly rectilinear, and the L∞ segment Voronoi diagram is computationally simpler. (3) The application of our Voronoi software to tackle proximity-related problems in VLSI pattern analysis. In particular, we use the Voronoi diagram to identify critical locations in patterns of VLSI layout, which can be faulty during the printing process of a VLSI chip. We present experiments involving layout pieces that were provided by IBM Research, Zurich. Our Voronoi-based method was able to find all problematic locations in the provided layout pieces, very fast, and without any manual intervention

    Higher-order Voronoi diagrams of polygonal objects

    Get PDF
    Higher-order Voronoi diagrams are fundamental geometric structures which encode the k-nearest neighbor information. Thus, they aid in computations that require proximity information beyond the nearest neighbor. They are related to various favorite structures in computational geometry and are a fascinating combinatorial problem to study. While higher-order Voronoi diagrams of points have been studied a lot, they have not been considered for other types of sites. Points lack dimensionality which makes them unable to represent various real-life instances. Points are the simplest kind of geometric object and therefore higher- order Voronoi diagrams of points can be considered as the corner case of all higher-order Voronoi diagrams. The goal of this dissertation is to move away from the corner and bring the higher-order Voronoi diagram to more general geometric instances. We focus on certain polygonal objects as they provide flexibility and are able to represent real-life instances. Before this dissertation, higher-order Voronoi diagrams of polygonal objects had been studied only for the nearest neighbor and farthest Voronoi diagrams. In this dissertation we investigate structural and combinatorial properties and discover that the dimensionality of geometric objects manifests itself in numerous ways which do not exist in the case of points. We prove that the structural complexity of the order-k Voronoi diagram of non-crossing line segments is O(k(n-k)), as in the case of points. We study disjoint line segments, intersecting line segments, line segments forming a planar straight-line graph and extend the results to the Lp metric, 1<=p<=infty. We also establish the connection between two mathematical abstractions: abstract Voronoi diagrams and the Clarkson-Shor framework. We design several construction algorithms that cover the case of non-point sites. While computational geometry provides several approaches to study the structural complexity that give tight realizable bounds, developing an effective construction algorithm is still a challenging problem even for points. Most of the construction algorithms are designed to work with points as they utilize their simplicity and relations with data-structures that work specifically for points. We extend the iterative and the sweepline approaches that are quite efficient in constructing all order-i Voronoi diagrams, for i<=k and we also give three randomized construction algorithms for abstract higher-order Voronoi diagrams that deal specifically with the construction of the order-k Voronoi diagrams

    A Randomized Incremental Algorithm for the Hausdorff Voronoi Diagram of Non-crossing Clusters

    Full text link
    In the Hausdorff Voronoi diagram of a family of \emph{clusters of points} in the plane, the distance between a point tt and a cluster PP is measured as the maximum distance between tt and any point in PP, and the diagram is defined in a nearest-neighbor sense for the input clusters. In this paper we consider %El."non-crossing" \emph{non-crossing} clusters in the plane, for which the combinatorial complexity of the Hausdorff Voronoi diagram is linear in the total number of points, nn, on the convex hulls of all clusters. We present a randomized incremental construction, based on point location, that computes this diagram in expected O(nlog2n)O(n\log^2{n}) time and expected O(n)O(n) space. Our techniques efficiently handle non-standard characteristics of generalized Voronoi diagrams, such as sites of non-constant complexity, sites that are not enclosed in their Voronoi regions, and empty Voronoi regions. The diagram finds direct applications in VLSI computer-aided design.Comment: arXiv admin note: substantial text overlap with arXiv:1306.583

    Applications of Chebyshev Polynomials to Low-Dimensional Computational Geometry

    Get PDF
    We apply the polynomial method - specifically, Chebyshev polynomials - to obtain a number of new results on geometric approximation algorithms in low constant dimensions. For example, we give an algorithm for constructing epsilon-kernels (coresets for approximate width and approximate convex hull) in close to optimal time O(n + (1/epsilon)^{(d-1)/2}), up to a small near-(1/epsilon)^{3/2} factor, for any d-dimensional n-point set. We obtain an improved data structure for Euclidean *approximate nearest neighbor search* with close to O(n log n + (1/epsilon)^{d/4} n) preprocessing time and O((1/epsilon)^{d/4} log n) query time. We obtain improved approximation algorithms for discrete Voronoi diagrams, diameter, and bichromatic closest pair in the L_s-metric for any even integer constant s >= 2. The techniques are general and may have further applications

    On the hausdorff and other cluster Voronoi diagrams

    Get PDF
    The Voronoi diagram is a fundamental geometric structure that encodes proximity information. Given a set of geometric objects, called sites, their Voronoi diagram is a subdivision of the underlying space into maximal regions, such that all points within one region have the same nearest site. Problems in diverse application domains (such as VLSI CAD, robotics, facility location, etc.) demand various generalizations of this simple concept. While many generalized Voronoi diagrams have been well studied, many others still have unsettled questions. An example of the latter are cluster Voronoi diagrams, whose sites are sets (clusters) of objects rather than individual objects. In this dissertation we study certain cluster Voronoi diagrams from the perspective of their construction algorithms and algorithmic applications. Our main focus is the Hausdorff Voronoi diagram; we also study the farthest-segment Voronoi diagram, as well as certain special cases of the farthest-color Voronoi diagram. We establish a connection between cluster Voronoi diagrams and the stabbing circle problem for segments in the plane. Our results are as follows. (1) We investigate the randomized incremental construction of the Hausdorff Voronoi diagram. We consider separately the case of non-crossing clusters, when the combinatorial complexity of the diagram is O(n) where n is the total number of points in all clusters. For this case, we present two construction algorithms that require O(n log2 n) expected time. For the general case of arbitrary clusters, we present an algorithm that requires O((m + n log n) log n) expected time and O(m + n log n) expected space, where m is a parameter reflecting the number of crossings between clusters' convex hulls. (2) We present an O(n) time algorithm to construct the farthest-segment Voronoi diagram of n segments, after the sequence of its faces at infinity is known. This augments the well-known linear-time framework for Voronoi diagram of points in convex position, with the ability to handle disconnected Voronoi regions. (3) We establish a connection between the cluster Voronoi diagrams (the Hausdorff and the farthest-color Voronoi diagram) and the stabbing circle problem. This implies a new method to solve the latter problem. Our method results in a near-optimal O(n log2 n) time algorithm for a set of n parallel segments, and in an optimal O(n log n) time algorithm for a set of n segments satisfying some other special conditions. (4) We study the farthest-color Voronoi diagram in special cases considered by the stabbing circle problem. We prove O(n) bound for its combinatorial complexity and present an O(nlogn) time algorithm to construct it

    Solving Geometric Problems in Space-Conscious Models

    Get PDF
    When dealing with massive data sets, standard algorithms may easily ``run out of memory''. In this thesis, we design efficient algorithms in space-conscious models. In particular, in-place algorithms, multi-pass algorithms, read-only algorithms, and stream-sort algorithms are studied, and the focus is on fundamental geometric problems, such as 2D convex hulls, 3D convex hulls, Voronoi diagrams and nearest neighbor queries, Klee's measure problem, and low-dimensional linear programming. In-place algorithms only use O(1) extra space besides the input array. We present a data structure for 2D nearest neighbor queries and algorithms for Klee's measure problem in this model. Algorithms in the multi-pass model only make read-only sequential access to the input, and use sublinear working space and small (usually a constant) number of passes on the input. We present algorithms and lower bounds for many problems, including low-dimensional linear programming and convex hulls, in this model. Algorithms in the read-only model only make read-only random access to the input array, and use sublinear working space. We present algorithms for Klee's measure problem and 2D convex hulls in this model. Algorithms in the stream-sort model use sorting as a primitive operation. Each pass can either sort the data or make sequential access to the data. As in the multi-pass model, these algorithms can only use sublinear working space and a small (usually a constant) number of passes on the data. We present algorithms for constructing convex hulls and polygon triangulation in this model

    Generalized offsetting of planar structures using skeletons

    Get PDF
    We study different means to extend offsetting based on skeletal structures beyond the well-known constant-radius and mitered offsets supported by Voronoi diagrams and straight skeletons, for which the orthogonal distance of offset elements to their respective input elements is constant and uniform over all input elements. Our main contribution is a new geometric structure, called variable-radius Voronoi diagram, which supports the computation of variable-radius offsets, i.e., offsets whose distance to the input is allowed to vary along the input. We discuss properties of this structure and sketch a prototype implementation that supports the computation of variable-radius offsets based on this new variant of Voronoi diagrams
    corecore