2009 | OriginalPaper | Buchkapitel
External Sampling
verfasst von : Alexandr Andoni, Piotr Indyk, Krzysztof Onak, Ronitt Rubinfeld
Erschienen in: Automata, Languages and Programming
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
We initiate the study of sublinear-time algorithms in the external memory model [1]. In this model, the data is stored in blocks of a certain size
B
, and the algorithm is charged a unit cost for each block access. This model is well-studied, since it reflects the computational issues occurring when the (massive) input is stored on a disk. Since each block access operates on
B
data elements in parallel, many problems have external memory algorithms whose number of block accesses is only a small fraction (e.g. 1/
B
) of their main memory complexity.
However, to the best of our knowledge, no such reduction in complexity is known for
any
sublinear-time algorithm. One plausible explanation is that the vast majority of sublinear-time algorithms use random sampling and thus exhibit no locality of reference. This state of affairs is quite unfortunate, since both sublinear-time algorithms and the external memory model are important approaches to dealing with massive data sets, and ideally they should be combined to achieve best performance.
In this paper we show that such combination is indeed possible. In particular, we consider three well-studied problems: testing of
distinctness
,
uniformity
and
identity
of an empirical distribution induced by data. For these problems we show random-sampling-based algorithms whose number of block accesses is up to a factor of
$1/\sqrt{B}$
smaller than the main memory complexity of those problems. We also show that this improvement is optimal for those problems.
Since these problems are natural primitives for a number of sampling-based algorithms for other problems, our tools improve the external memory complexity of other problems as well.