Searcharxiv⌕ Search

arXiv subjects

Stefan Langerman

Publications and source records attributed to Stefan Langerman.

At least 37 records · Page 2Linked to original sources

On the Diameter of Tree Associahedra

We consider a natural notion of search trees on graphs, which we show is ubiquitous in various areas of discrete mathematics and computer science. Search trees on graphs can be modified by local operations called rotations, which generalize rotations in binary search trees. The rotation graph of search trees on a graph $G$ is the skeleton of a polytope called the graph associahedron of $G$. We consider the case where the graph $G$ is a tree. We construct a family of trees $G$ on $n$ vertices and pairs of search trees on $G$ such that the minimum number of rotations required to transform one search tree into the other is $Ω(n\log n)$. This implies that the worst-case diameter of tree associahedra is $Θ(n\log n)$, which answers a question from Thibault Manneville and Vincent Pilaud. The proof relies on a notion of projection of a search tree which may be of independent interest.

math.CO↗

An Optimal Algorithm to Compute the Inverse Beacon Attraction Region

The beacon model is a recent paradigm for guiding the trajectory of messages or small robotic agents in complex environments. A beacon is a fixed point with an attraction pull that can move points within a given polygon. Points move greedily towards a beacon: if unobstructed, they move along a straight line to the beacon, and otherwise they slide on the edges of the polygon. The Euclidean distance from a moving point to a beacon is monotonically decreasing. A given beacon attracts a point if the point eventually reaches the beacon. The problem of attracting all points within a polygon with a set of beacons can be viewed as a variation of the art gallery problem. Unlike most variations, the beacon attraction has the intriguing property of being asymmetric, leading to separate definitions of attraction region and inverse attraction region. The attraction region of a beacon is the set of points that it attracts. It is connected and can be computed in linear time for simple polygons. By contrast, it is known that the inverse attraction region of a point---the set of beacon positions that attract it---could have $Ω(n)$ disjoint connected components. In this paper, we prove that, in spite of this, the total complexity of the inverse attraction region of a point in a simple polygon is linear, and present a $O(n \log n)$ time algorithm to construct it. This improves upon the best previous algorithm which required $O(n^3)$ time and $O(n^2)$ space. Furthermore we prove a matching $Ω(n\log n)$ lower bound for this task in the algebraic computation tree model of computation, even if the polygon is monotone.

cs.CG↗

Optimal detection of intersections between convex polyhedra

For a polyhedron $P$ in $\mathbb{R}^d$, denote by $|P|$ its combinatorial complexity, i.e., the number of faces of all dimensions of the polyhedra. In this paper, we revisit the classic problem of preprocessing polyhedra independently so that given two preprocessed polyhedra $P$ and $Q$ in $\mathbb{R}^d$, each translated and rotated, their intersection can be tested rapidly. For $d=3$ we show how to perform such a test in $O(\log |P| + \log |Q|)$ time after linear preprocessing time and space. This running time is the best possible and improves upon the last best known query time of $O(\log|P| \log|Q|)$ by Dobkin and Kirkpatrick (1990). We then generalize our method to any constant dimension $d$, achieving the same optimal $O(\log |P| + \log |Q|)$ query time using a representation of size $O(|P|^{\lfloor d/2\rfloor + \varepsilon})$ for any $\varepsilon>0$ arbitrarily small. This answers an even older question posed by Dobkin and Kirkpatrick 30 years ago. In addition, we provide an alternative $O(\log |P| + \log |Q|)$ algorithm to test the intersection of two convex polygons $P$ and $Q$ in the plane.

cs.CG↗

Subquadratic Encodings for Point Configurations

For most algorithms dealing with sets of points in the plane, the only relevant information carried by the input is the combinatorial configuration of the points: the orientation of each triple of points in the set (clockwise, counterclockwise, or collinear). This information is called the order type of the point set. In the dual, realizable order types and abstract order types are combinatorial analogues of line arrangements and pseudoline arrangements. Too often in the literature we analyze algorithms in the real-RAM model for simplicity, putting aside the fact that computers as we know them cannot handle arbitrary real numbers without some sort of encoding. Encoding an order type by the integer coordinates of some realizing point set is known to yield doubly exponential coordinates in some cases. Other known encodings can achieve quadratic space or fast orientation queries, but not both. In this contribution, we give a compact encoding for abstract order types that allows efficient query of the orientation of any triple: the encoding uses O(n^2) bits and an orientation query takes O(log n) time in the word-RAM model. This encoding is space-optimal for abstract order types. We show how to shorten the encoding to O(n^2 (loglog n)^2 / log n) bits for realizable order types, giving the first subquadratic encoding for those order types with fast orientation queries. We further refine our encoding to attain O(log n/loglog n) query time without blowing up the space requirement. In the realizable case, we show that all those encodings can be computed efficiently. Finally, we generalize our results to the encoding of point configurations in higher dimension.

cs.CG↗

Induced Ramsey-type results and binary predicates for point sets

Let $k$ and $p$ be positive integers and let $Q$ be a finite point set in general position in the plane. We say that $Q$ is $(k,p)$-Ramsey if there is a finite point set $P$ such that for every $k$-coloring $c$ of $\binom{P}{p}$ there is a subset $Q'$ of $P$ such that $Q'$ and $Q$ have the same order type and $\binom{Q'}{p}$ is monochromatic in $c$. Nešetřil and Valtr proved that for every $k \in \mathbb{N}$, all point sets are $(k,1)$-Ramsey. They also proved that for every $k \ge 2$ and $p \ge 2$, there are point sets that are not $(k,p)$-Ramsey. As our main result, we introduce a new family of $(k,2)$-Ramsey point sets, extending a result of Nešetřil and Valtr. We then use this new result to show that for every $k$ there is a point set $P$ such that no function $Γ$ that maps ordered pairs of distinct points from $P$ to a set of size $k$ can satisfy the following "local consistency" property: if $Γ$ attains the same values on two ordered triples of points from $P$, then these triples have the same orientation. Intuitively, this implies that there cannot be such a function that is defined locally and determines the orientation of point triples.

math.CO↗

Data Structures for Halfplane Proximity Queries and Incremental Voronoi Diagrams

We consider preprocessing a set $S$ of $n$ points in convex position in the plane into a data structure supporting queries of the following form: given a point $q$ and a directed line $\ell$ in the plane, report the point of $S$ that is farthest from (or, alternatively, nearest to) the point $q$ among all points to the left of line $\ell$. We present two data structures for this problem. The first data structure uses $O(n^{1+\varepsilon})$ space and preprocessing time, and answers queries in $O(2^{1/\varepsilon} \log n)$ time, for any $0 < \varepsilon < 1$. The second data structure uses $O(n \log^3 n)$ space and polynomial preprocessing time, and answers queries in $O(\log n)$ time. These are the first solutions to the problem with $O(\log n)$ query time and $o(n^2)$ space. The second data structure uses a new representation of nearest- and farthest-point Voronoi diagrams of points in convex position. This representation supports the insertion of new points in clockwise order using only $O(\log n)$ amortized pointer changes, in addition to $O(\log n)$-time point-location queries, even though every such update may make $Θ(n)$ combinatorial changes to the Voronoi diagram. This data structure is the first demonstration that deterministically and incrementally constructed Voronoi diagrams can be maintained in $o(n)$ amortized pointer changes per operation while keeping $O(\log n)$-time point-location queries.

cs.CG↗

Helly Numbers of Polyominoes

We define the Helly number of a polyomino $P$ as the smallest number $h$ such that the $h$-Helly property holds for the family of symmetric and translated copies of $P$ on the integer grid. We prove the following: (i) the only polyominoes with Helly number 2 are the rectangles, (ii) there does not exist any polyomino with Helly number 3, (iii) there exist polyominoes of Helly number $k$ for any $k\neq 1,3$.

cs.CG↗

Searching edges in the overlap of two plane graphs

Consider a pair of plane straight-line graphs, whose edges are colored red and blue, respectively, and let n be the total complexity of both graphs. We present a O(n log n)-time O(n)-space technique to preprocess such pair of graphs, that enables efficient searches among the red-blue intersections along edges of one of the graphs. Our technique has a number of applications to geometric problems. This includes: (1) a solution to the batched red-blue search problem [Dehne et al. 2006] in O(n log n) queries to the oracle; (2) an algorithm to compute the maximum vertical distance between a pair of 3D polyhedral terrains one of which is convex in O(n log n) time, where n is the total complexity of both terrains; (3) an algorithm to construct the Hausdorff Voronoi diagram of a family of point clusters in the plane in O((n+m) log^3 n) time and O(n+m) space, where n is the total number of points in all clusters and m is the number of crossings between all clusters; (4) an algorithm to construct the farthest-color Voronoi diagram of the corners of n axis-aligned rectangles in O(n log^2 n) time; (5) an algorithm to solve the stabbing circle problem for n parallel line segments in the plane in optimal O(n log n) time. All these results are new or improve on the best known algorithms.

cs.CG↗

Self-approaching paths in simple polygons

We study self-approaching paths that are contained in a simple polygon. A self-approaching path is a directed curve connecting two points such that the Euclidean distance between a point moving along the path and any future position does not increase, that is, for all points $a$, $b$, and $c$ that appear in that order along the curve, $|ac| \ge |bc|$. We analyze the properties, and present a characterization of shortest self-approaching paths. In particular, we show that a shortest self-approaching path connecting two points inside a polygon can be forced to use a general class of non-algebraic curves. While this makes it difficult to design an exact algorithm, we show how to find a self-approaching path inside a polygon connecting two points under a model of computation which assumes that we can calculate involute curves of high order. Lastly, we provide an algorithm to test if a given simple polygon is self-approaching, that is, if there exists a self-approaching path for any two points inside the polygon.

cs.CG↗

Subquadratic Algorithms for Algebraic Generalizations of 3SUM

The 3SUM problem asks if an input $n$-set of real numbers contains a triple whose sum is zero. We consider the 3POL problem, a natural generalization of 3SUM where we replace the sum function by a constant-degree polynomial in three variables. The motivations are threefold. Raz, Sharir, and de Zeeuw gave a $O(n^{11/6})$ upper bound on the number of solutions of trivariate polynomial equations when the solutions are taken from the cartesian product of three $n$-sets of real numbers. We give algorithms for the corresponding problem of counting such solutions. Grønlund and Pettie recently designed subquadratic algorithms for 3SUM. We generalize their results to 3POL. Finally, we shed light on the General Position Testing (GPT) problem: "Given $n$ points in the plane, do three of them lie on a line?", a key problem in computational geometry. We prove that there exist bounded-degree algebraic decision trees of depth $O(n^{\frac{12}{7}+\varepsilon})$ that solve 3POL, and that 3POL can be solved in $O(n^2 {(\log \log n)}^\frac{3}{2} / {(\log n)}^\frac{1}{2})$ time in the real-RAM model. Among the possible applications of those results, we show how to solve GPT in subquadratic time when the input points lie on $o({(\log n)}^\frac{1}{6}/{(\log \log n)}^\frac{1}{2})$ constant-degree polynomial curves. This constitutes a first step towards closing the major open question of whether GPT can be solved in subquadratic time. To obtain these results, we generalize important tools --- such as batch range searching and dominance reporting --- to a polynomial setting. We expect these new tools to be useful in other applications.

cs.DS↗

The Four Bars Problem

A four-bar linkage is a mechanism consisting of four rigid bars which are joined by their endpoints in a polygonal chain and which can rotate freely at the joints (or vertices). We assume that the linkage lies in the 2-dimensional plane so that one of the bars is held horizontally fixed. In this paper we consider the problem of reconfiguring a four-bar linkage using an operation called a \emph{pop}. Given a polygonal cycle, a pop reflects a vertex across the line defined by its two adjacent vertices along the polygonal chain. Our main result shows that for certain conditions on the lengths of the bars of the four-bar linkage, the neighborhood of any configuration that can be reached by smooth motion can also be reached by pops. The proof relies on the fact that pops are described by a map on the circle with an irrational number of rotation.

math.DS↗

Reversible Nets of Polyhedra

An example of reversible (or hinge inside-out transformable) figures is the Dudeney's Haberdasher's puzzle in which an equilateral triangle is dissected into four pieces, then hinged like a chain, and then is transformed into a square by rotating the hinged pieces. Furthermore, the entire boundary of each figure goes into the inside of the other figure and becomes the dissection lines of the other figure. Many intriguing results on reversibilities of figures have been found in prior research, but most of them are results on polygons. This paper generalizes those results to a wider range of general connected figures. It is shown that two nets obtained by cutting the surface of an arbitrary convex polyhedron along non-intersecting dissection trees are reversible. Moreover, a condition for two nets of an isotetrahedron to be both reversible and tessellative is given.

cs.CG↗

Incremental Voronoi Diagrams

We study the amortized number of combinatorial changes (edge insertions and removals) needed to update the graph structure of the Voronoi diagram $\mathcal{V}(S)$ (and several variants thereof) of a set $S$ of $n$ sites in the plane as sites are added. We define a general update operation for planar graphs modeling the incremental construction of several variants of Voronoi diagrams as well as the incremental construction of an intersection of halfspaces in $\mathbb{R}^3$. We show that the amortized number of edge insertions and removals needed to add a new site is $O(\sqrt{n})$. A matching $Ω(\sqrt{n})$ combinatorial lower bound is shown, even in the case where the graph of the diagram is a tree. This contrasts with the $O(\log{n})$ upper bound of Aronov et al. (2006) for farthest-point Voronoi diagrams when the points are inserted in order along their convex hull. We present a semi-dynamic data structure that maintains the Voronoi diagram of a set $S$ of $n$ sites in convex position. This structure supports the insertion of a new site $p$ and finds the asymptotically minimal number $K$ of edge insertions and removals needed to obtain the diagram of $S \cup \{p\}$ from the diagram of $S$, in time $O(K\,\mathrm{polylog}\ n)$ worst case, which is $O(\sqrt{n}\;\mathrm{polylog}\ n)$ amortized by the aforementioned result. The most distinctive feature of this data structure is that the graph of the Voronoi diagram is maintained at all times and can be traversed in the natural way; this contrasts with other known data structures supporting nearest neighbor queries. Our data structure supports general search operations on the current Voronoi diagram, which can, for example, be used to perform point location queries in the cells of the current Voronoi diagram in $O(\log n)$ time, or to determine whether two given sites are neighbors in the Delaunay triangulation.

cs.CG↗

A Quasilinear-Time Algorithm for Tiling the Plane Isohedrally with a Polyomino

A plane tiling consisting of congruent copies of a shape is isohedral provided that for any pair of copies, there exists a symmetry of the tiling mapping one copy to the other. We give a $O(n\log^2{n})$-time algorithm for deciding if a polyomino with $n$ edges can tile the plane isohedrally. This improves on the $O(n^{18})$-time algorithm of Keating and Vince and generalizes recent work by Brlek, Provençal, Fédou, and the second author.

cs.CG↗

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

In the Hausdorff Voronoi diagram of a family of \emph{clusters of points} in the plane, the distance between a point $t$ and a cluster $P$ is measured as the maximum distance between $t$ and any point in $P$, 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, $n$, on the convex hulls of all clusters. We present a randomized incremental construction, based on point location, that computes this diagram in expected $O(n\log^2{n})$ time and expected $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.

cs.CG↗

The Dual Diameter of Triangulations

Let $\Poly$ be a simple polygon with $n$ vertices. The \emph{dual graph} $\triang^*$ of a triangulation~$\triang$ of~$\Poly$ is the graph whose vertices correspond to the bounded faces of $\triang$ and whose edges connect those faces of~$\triang$ that share an edge. We consider triangulations of~$\Poly$ that minimize or maximize the diameter of their dual graph. We show that both triangulations can be constructed in $O(n^3\log n)$ time using dynamic programming. If $\Poly$ is convex, we show that any minimizing triangulation has dual diameter exactly $2\cdot\lceil\log_2(n/3)\rceil$ or $2\cdot\lceil\log_2(n/3)\rceil -1$, depending on~$n$. Trivially, in this case any maximizing triangulation has dual diameter $n-2$. Furthermore, we investigate the relationship between the dual diameter and the number of \emph{ears} (triangles with exactly two edges incident to the boundary of $\Poly$) in a triangulation. For convex $\Poly$, we show that there is always a triangulation that simultaneously minimizes the dual diameter and maximizes the number of ears. In contrast, we give examples of general simple polygons where every triangulation that maximizes the number of ears has dual diameter that is quadratic in the minimum possible value. We also consider the case of point sets in general position in the plane. We show that for any such set of $n$ points there are triangulations with dual diameter in~$O(\log n)$ and in~$Ω(\sqrt n)$.

cs.CG↗

Bust-a-Move/Puzzle Bobble is NP-Complete

We prove that the classic 1994 Taito video game, known as Puzzle Bobble or Bust-a-Move, is NP-complete. Our proof applies to the perfect-information version where the bubble sequence is known in advance, and it uses just three bubble colors.

cs.CC↗

Threes!, Fives, 1024!, and 2048 are Hard

We analyze the computational complexity of the popular computer games Threes!, 1024!, 2048 and many of their variants. For most known versions expanded to an m x n board, we show that it is NP-hard to decide whether a given starting position can be played to reach a specific (constant) tile value.

cs.CC↗