Independent Range Sampling on Interval Data (Longer Version)
Daichi Amagata
TL;DR
This work tackles independent range sampling (IRS) for interval data, where $s$ random samples from $q \cap X$ must be independent of prior queries. It introduces the Augmented Interval Tree (AIT), and its variants AIT-V and AWIT, to achieve near-$s$ time for non-weighted sampling and $\tilde{O}(s)$ time with $O(n)$ space in expectation for space-efficient and weighted scenarios. The core results show $O(\log^{2} n + s)$ time for non-weighted IRS and $O(\log^{2} n + s \log n)$ for weighted IRS, with $O(n \log n)$ space (and $O(n)$ in expectation for AIT-V). Empirical evaluations on real datasets demonstrate substantial speedups over state-of-the-art range-search approaches, validating the practicality of sampling-based analytics over large interval datasets.
Abstract
Many applications require efficient management of large sets of intervals because many objects are associated with intervals (e.g., time and price intervals). In such interval management systems, range search is a primitive operator for retrieving and analysis tasks. As dataset sizes are growing nowadays, range search results are also becoming larger, which may overwhelm users and incur long computation time. Because applications are usually satisfied with a subset of the result set, it is desirable to efficiently obtain only small samples from the result set.We therefore address the problem of independent range sampling on interval data, which outputs $s$ random samples that overlap a given query interval and are independent of the samples of all previous queries. To efficiently solve this problem theoretically and practically, we propose a variant of an interval tree, namely the augmented interval tree (or AIT), and we show that there exists an exact algorithm that needs $O(n \log n)$ space and $O(\log^{2} n + s)$ time, where $n$ is the dataset size. The simple structure of an AIT provides flexible extensions: (i) its time and space complexities respectively become $O(\log^{2} n + s)$ expected and $O(n)$ by bucketing intervals and (ii) it can deal with weighted intervals and outputs $s$ weighted random samples in $O(\log^{2} n+s\log n)$ time. We conduct extensive experiments on real datasets, and the results demonstrate that our algorithms significantly outperform competitors.
