An Optimal Streaming Algorithm for Submodular Maximization with a Cardinality Constraint
提出一种单遍流式算法,使用约O(k)内存,结合离线算法可达到0.2779近似比,改进了此前0.1715的最佳多项式时间近似比。
We study the problem of maximizing a nonmonotone submodular function subject to a cardinality constraint in the streaming model. Our main contribution is a single-pass (semi) streaming algorithm that uses roughly [Formula: see text] memory, where k is the size constraint. At the end of the stream, our algorithm postprocesses its data structure using any off-line algorithm for submodular maximization and obtains a solution whose approximation guarantee is [Formula: see text], where α is the approximation of the off-line algorithm. If we use an exact (exponential time) postprocessing algorithm, this leads to [Formula: see text] approximation (which is nearly optimal). If we postprocess with the state-of-the-art offline approximation algorithm, whose guarantee is [Formula: see text], we obtain a 0.2779-approximation in polynomial time, improving over the previously best polynomial-time approximation of 0.1715. It is also worth mentioning that our algorithm is combinatorial and deterministic, which is rare for an algorithm for nonmonotone submodular maximization, and enjoys a fast update time of [Formula: see text] per element.