Abstract: We revisit the maximum satisfiability problem (Max-SAT) in the data stream model. In this problem, the stream consists of m clauses that are disjunctions of literals drawn from n Boolean variables. The objective is to find an assignment to the variables that maximizes the number of satisfied clauses. Chou et al. (FOCS 2020) showed that Ω(n)<math><mi mathvariant="normal" is="true">Ω</mi><mo stretchy="false" is="true">(</mo><msqrt is="true"><mrow is="true"><mi is="true">n</mi></mrow></msqrt><mo stretchy="false" is="true">)</mo></math> space is necessary to yield a 2/2+ε<math><msqrt is="true"><mrow is="true"><mn is="true">2</mn></mrow></msqrt><mo stretchy="false" is="true">/</mo><mn is="true">2</mn><mo linebreak="goodbreak" linebreakstyle="after" is="true">+</mo><mi is="true">ε</mi></math> approximation of the optimum value; they also presented an algorithm that yields a 2/2−ε<math><msqrt is="true"><mrow is="true"><mn is="true">2</mn></mrow></msqrt><mo stretchy="false" is="true">/</mo><mn is="true">2</mn><mo linebreak="goodbreak" linebreakstyle="after" is="true">−</mo><mi is="true">ε</mi></math> approximation of the optimum value using O(ε−2logn)<math><mi is="true">O</mi><mo stretchy="false" is="true">(</mo><msup is="true"><mrow is="true"><mi is="true">ε</mi></mrow><mrow is="true"><mo linebreak="badbreak" linebreakstyle="after" is="true">−</mo><mn is="true">2</mn></mrow></msup><mi mathvariant="normal" is="true">log</mi><mo is="true"></mo><mi is="true">n</mi><mo stretchy="false" is="true">)</mo></math> space.In this paper, we not only focus on approximating the optimum value, but also on obtaining the corresponding Boolean assignment using sublinear o(mn)<math><mi is="true">o</mi><mo stretchy="false" is="true">(</mo><mi is="true">m</mi><mi is="true">n</mi><mo stretchy="false" is="true">)</mo></math> space. We present randomized single-pass algorithms that w.h.p.1 yield:•A 1−ε<math><mn is="true">1</mn><mo linebreak="goodbreak" linebreakstyle="after" is="true">−</mo><mi is="true">ε</mi></math> approximation using O˜(n/ε3)<math><mover accent="true" is="true"><mrow is="true"><mi is="true">O</mi></mrow><mrow is="true"><mo stretchy="false" is="true">˜</mo></mrow></mover><mo stretchy="false" is="true">(</mo><mi is="true">n</mi><mo stretchy="false" is="true">/</mo><msup is="true"><mrow is="true"><mi is="true">ε</mi></mrow><mrow is="true"><mn is="true">3</mn></mrow></msup><mo stretchy="false" is="true">)</mo></math> space and exponential post-processing time•A 3/4−ε<math><mn is="true">3</mn><mo stretchy="false" is="true">/</mo><mn is="true">4</mn><mo linebreak="goodbreak" linebreakstyle="after" is="true">−</mo><mi is="true">ε</mi></math> approximation using O˜(n/ε)<math><mover accent="true" is="true"><mrow is="true"><mi is="true">O</mi></mrow><mrow is="true"><mo stretchy="false" is="true">˜</mo></mrow></mover><mo stretchy="false" is="true">(</mo><mi is="true">n</mi><mo stretchy="false" is="true">/</mo><mi is="true">ε</mi><mo stretchy="false" is="true">)</mo></math> space and polynomial post-processing time. Our ideas also extend to dynamic streams. However, we show that the streaming k-SAT problem, which asks whether one can satisfy all size-k input clauses, must use Ω(nk)<math><mi mathvariant="normal" is="true">Ω</mi><mo stretchy="false" is="true">(</mo><msup is="true"><mrow is="true"><mi is="true">n</mi></mrow><mrow is="true"><mi is="true">k</mi></mrow></msup><mo stretchy="false" is="true">)</mo></math> space.We also consider the related minimum satisfiability problem (Min-SAT), introduced by Kohli et al. (SIAM J. Discrete Math. 1994), that asks to find an assignment that minimizes the number of satisfied clauses. For this problem, we give a O˜(n2/ε2)<math><mover accent="true" is="true"><mrow is="true"><mi is="true">O</mi></mrow><mrow is="true"><mo stretchy="false" is="true">˜</mo></mrow></mover><mo stretchy="false" is="true">(</mo><msup is="true"><mrow is="true"><mi is="true">n</mi></mrow><mrow is="true"><mn is="true">2</mn></mrow></msup><mo stretchy="false" is="true">/</mo><msup is="true"><mrow is="true"><mi is="true">ε</mi></mrow><mrow is="true"><mn is="true">2</mn></mrow></msup><mo stretchy="false" is="true">)</mo></math> space algorithm, which is sublinear when m=ω(n)<math><mi is="true">m</mi><mo linebreak="goodbreak" linebreakstyle="after" is="true">=</mo><mi is="true">ω</mi><mo stretchy="false" is="true">(</mo><mi is="true">n</mi><mo stretchy="false" is="true">)</mo></math>, that yields an α+ε<math><mi is="true">α</mi><mo linebreak="goodbreak" linebreakstyle="after" is="true">+</mo><mi is="true">ε</mi></math> approximation where α is the approximation guarantee of the offline algorithm. If each variable appears in at most f clauses, we show that a 2fn<math><mn is="true">2</mn><msqrt is="true"><mrow is="true"><mi is="true">f</mi><mi is="true">n</mi></mrow></msqrt></math> approximation using O˜(n)<math><mover accent="true" is="true"><mrow is="true"><mi is="true">O</mi></mrow><mrow is="true"><mo stretchy="false" is="true">˜</mo></mrow></mover><mo stretchy="false" is="true">(</mo><mi is="true">n</mi><mo stretchy="false" is="true">)</mo></math> space is possible.Finally, for the Max-AND-SAT problem where clauses are conjunctions of literals, we show that any single-pass algorithm that approximates the optimal value up to a factor better than 1/2 with success probability at least 2/3 must use Ω(mn)<math><mi mathvariant="normal" is="true">Ω</mi><mo stretchy="false" is="true">(</mo><mi is="true">m</mi><mi is="true">n</mi><mo stretchy="false" is="true">)</mo></math> space.
Loading