Abstract :
In this paper, we consider the setting of large scale distributed systems, in which each node needs to quickly process a huge amount of data received in the form of a stream that may have been tampered with by an adversary. In this situation, a fundamental problem is how to detect and quantify the amount of work performed by the adversary. To address this issue, we have proposed in a prior work, AnKLe, a one pass algorithm for estimating the Kullback-Leibler divergence of an observed stream compared to the expected one. Experimental evaluations have shown that the estimation provided by AnKLe is accurate for different adversarial settings for which the quality of other methods dramatically decreases. In the present paper, considering n as the number of distinct data items in a stream, we show that AnKLe is an (ε, δ)-approximation algorithm with a space complexity Õ(1/ε + 1/ε2) bits in “most” cases, and Õ(1/ε + n-ε-1/ε2 ) otherwise. To the best of our knowledge, an approximation algorithm for estimating the Kullback-Leibler divergence has never been analyzed before.
Keywords :
approximation theory; computational complexity; data handling; distributed processing; estimation theory; (ε, δ)-approximation algorithm; AnKLe; Kullback-Leibler divergence estimation; data processing; data stream; information divergence estimation; large scale distributed system; space complexity; Algorithm design and analysis; Approximation algorithms; Approximation methods; Entropy; Estimation; Frequency estimation; Radiation detectors; Data stream; divergence; randomized approximation algorithm;