Search arXivSearch

arXiv · 1710.06384

Efficient Neighbor-Finding on Space-Filling Curves

Abstract

Space-filling curves (SFC, also known as FASS-curves) are a useful tool in scientific computing and other areas of computer science to sequentialize multidimensional grids in a cache-efficient and parallelization-friendly way for storage in an array. Many algorithms, for example grid-based numerical PDE solvers, have to access all neighbor cells of each grid cell during a grid traversal. While the array indices of neighbors can be stored in a cell, they still have to be computed for initialization or when the grid is adaptively refined. A fast neighbor-finding algorithm can thus significantly improve the runtime of computations on multidimensional grids. In this thesis, we show how neighbors on many regular grids ordered by space-filling curves can be found in an average-case time complexity of $O(1)$. In general, this assumes that the local orientation (i.e. a variable of a describing grammar) of the SFC inside the grid cell is known in advance, which can be efficiently realized during traversals. Supported SFCs include Hilbert, Peano and Sierpinski curves in arbitrary dimensions. We assume that integer arithmetic operations can be performed in $O(1)$, i.e. independent of the size of the integer. We do not deal with the case of adaptively refined grids here. However, it appears that a generalization of the algorithm to suitable adaptive grids is possible. To formulate the neighbor-finding algorithm and prove its correctness and runtime properties, a modeling framework is introduced. This framework extends the idea of vertex-labeling to a description using grammars and matrices. With the sfcpp library, we provide a C++ implementation to render SFCs generated by such models and automatically compute all lookup tables needed for the neighbor-finding algorithm. Furthermore, optimized neighbor-finding implementations for various SFCs are included for which we provide runtime measurements.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

David Holzmüller. 2019-11-02. Efficient Neighbor-Finding on Space-Filling Curves. https://arxiv.org/abs/1710.06384

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Tight Fréchet bounds for $λ$-low density curves

The Fréchet distance is a well-studied similarity measure between curves. We computing the Fréchet distance between $λ$-low-density curves, the most general of realistic curve assumptions, where every ball of radius $r$ intersects at most $λ$ edges of length at least $r$. Previous algorithms either assumed constant $λ$ or had no tight dependence on $λ$. For two $n$-vertex $λ$-low-density curves in $\mathbb{R}^d$, we give a $(1+\varepsilon)$-approximation algorithm for the continuous and discrete Fréchet distance running in $ \tilde{O}\!\left(\frac{λ^{2/d}n^{2-2/d}}{\varepsilon^2}\right) $ time. Our key insight is a tight property of simplifying $λ$-low density curves: the simplification of any $n$-vertex $λ$-low-density curve is $O(λ^{1/d}n^{1-1/d})$-low-density. We show this is tight, and this provides the structural property under simplification that was previously known for $c$-packed curves. We provide matching lower bounds for $n$ and $λ$: assuming the Orthogonal Vectors Hypothesis, for every $δ>0$, we rule out algorithms with running time $O\!\left( \left( \frac{λ^{2/d}n^{2-2/d}} {\varepsilon^{2-4/d}} \right)^{1-δ} \right). $ We extend our techniques to the map matching problem, where we also give tight bounds.

cs.CG

Perfect Rectangular Tilings with Two Colors

We study a finite tiling problem, where tiles are unit squares whose four edges are colored with one of two colors. We ask whether a given rectangle admits a perfect rectangular tiling: every cell of the rectangle is occupied by one tile, neighboring edge colors match, and exactly $n_i$ tiles of type $i$ are used, where rotations of the tiles are allowed. Our problem is related to classical Wang tilings, more general finite tile-placement problems, and edge placement puzzles. But in our problem, the multiplicities of the tile types are part of the input and the tile alphabet is fixed and extremely small; thus the complexity of the problem arises from the interaction between the rectangle dimensions and the prescribed tile multiplicities. We provide a comprehensive study of the perfect rectangular tiling problem. For this we consider all classes of subsets of the six possible tile types for two-colored edges, and we characterize for each class whether multiplicities either always allow a perfect rectangular tiling or whether their existence can be decided efficiently.

cs.CG

A constant-factor approximation of the Gromov-Hausdorff distance in the plane

We give the first polynomial-time constant-factor approximation of the Gromov-Hausdorff distance d_GH between finite point sets in the Euclidean plane; in fixed Euclidean dimension such an approximation was previously known only on the line (Majhi, Vitter and Wenk, 2024). Global alignment cannot succeed: the classical dimension drop defeats alignment by isometries, a multiplicity gap defeats alignment by bijections, and a reflection barrier defeats sorting under any single global reflection pattern. The algorithm is therefore local. Guessing the images of one diameter pair pins every point's longitudinal coordinate to within O(d_GH). Heights are read in windows whose height spread is at most a fixed multiple of their length, where a chain argument makes every compatible match local in the plane. One reflection sign per window is then chosen by 2-SAT; at the right frame and guess, any solution yields a correspondence of distortion O(d_GH). For the bijective relative of d_GH, half the least additive distortion over bijections, the same scheme reduces the planar problem to a matching question that we leave open.

cs.CG