Stream Clipper: Scalable Submodular Maximization on Stream
Applying submodular maximization in the streaming setting is nontrivial because the commonly used greedy algorithm exceeds the fixed memory and computational limits typically needed during stream processing. We introduce a new algorithm, called stream clipper, that uses two thresholds to select elements either into a solution set S or an extra buffer B. The output is achieved by a greedy algorithm that starts from S and then, if needed, greedily adds elements from B. Swapping elements out of S may also be triggered lazily for further improvements, and elements may also be removed from B (and corresponding thresholds adjusted) in order to keep memory use bounded by a constant. Although the worst-case approximation factor does not outperform the previous worst-case of 1/2, stream clipper can perform better than 1/2 depending on the order of the elements in the stream. We develop the idea of an "order complexity" to characterize orders on which an approximation factor of 1-α can be achieved. In news and video summarization tasks, stream clipper significantly outperforms other streaming methods. It shows similar performance to the greedy algorithm but with less computation and memory costs.
READ FULL TEXT