On the Analysis of High Dimensional Space-Filling Curves

Abstract

Space-filling curves map the multi-dimensional space into the one-dimensional space. A space-filling curve acts like a thread that passes through every cell element (or pixel) in the n-dimensional space so that every cell is visited only once, i.e., the space-filling curve does not self-intersect. Thus, a space-filling curve imposes a linear order of the cells in the n-dimensional space. This is useful in sorting and/or scheduling of objects that lie in the multi-dimensional space. There are many types of space-filling curves (SFCs), e.g., the Peano, Hilbert, and Grey curves, to name a few. They differ from each other in the way they visit and cover the points in space. In this paper, we analyze and study the characteristics of some of the commonly used SFCs, and their behavior in the high-dimensional space. We propose several measures of goodness that reflect the quality of the linear order imposed by each SFC. We give analytical formulas for each of these measures of goodness as a function of the number of dimensions and the size of the underlying space. Our measures of goodness and analysis reflect, e.g., whether the SFC is biased towards any of the space dimensions over the other dimensions, and whether the SFC may sort multi-dimensional points in both forward and reverse ordering with respect to any of the dimensions, the percentage of discontinuities (jumps) in visiting the points of the underlying space, the contiguities, and the irregularities of the various SFCs. Formulas are derived for the above measures of goodness for a variety of space-filling curves. The results are presented in the paper. Based on the study, we are able to recommend new versions of space-filling curves that have better performance with respect to the proposed measures of goodness in higher dimensional spaces.

Cite this paper

@inproceedings{Aref2000OnTA, title={On the Analysis of High Dimensional Space-Filling Curves}, author={Walid G. Aref and Mohamed F. Mokbel}, year={2000} }