We introduce the problem of finding a satisfying assignment to a CNF formula that must further belong to a prescribed input subspace. Equivalent formulations of the problem include finding a point outside a union of subspaces (the Union-of-Subspace Avoidance (USA) problem), and finding a common zero of a system of polynomials over $\F_2$ each of which is a product of affine forms. We focus on the case of k-CNF formulas (the k-SUB-SAT problem). Clearly, it is no easier than k-SAT, and might be harder. Indeed, via simple reductions we show NP-hardness for k=2 and W[1]-hardness parameterized by the co-dimension of the subspace. We also prove that the optimization version Max-2-SUB-SAT is NP-hard to approximate better than the trivial 3/4 ratio even on satisfiable instances. On the algorithmic front, we investigate fast exponential algorithms which give non-trivial savings over brute-force algorithms. We give a simple branching algorithm with runtime 1.5^r for 2-SUB-SAT, where $r$ is the subspace dimension and an O^*(1.4312)^n time algorithm where $n$ is the number of variables. For k more than 2, while known algorithms for solving a system of degree $k$ polynomial equations already imply a solution with runtime 2^{r(1-1/2k)}, we explore a more combinatorial approach. For instance, based on the notion of critical variables, we give an algorithm with running time ${n\choose {\le t}} 2^{n-n/k}$, where $n$ is the number of variables and $t$ is the co-dimension of the subspace. This improves upon the running time of the polynomial equations approach for small co-dimension. Our algorithm also achieves polynomial space in contrast to the algebraic approach that uses exponential space.
翻译:我们引入了为必须进一步属于指定输入子空间的 CNF 公式找到满意分配的问题。 问题等价配方包括找到一个子空间组合外的点( 子空间避免联盟( UUS) 问题), 并找到一个超过$\ F_ 2美元( 其中每个多盘数系的常见零点) 。 我们侧重于 k- CNF 公式( k- SUB- SAT 问题) 。 显然, 它不比 kSAT 容易, 可能更难。 事实上, 我们通过简单的缩减来显示 k=2 和 W[ 1] 的硬度。 我们还证明, 最优化版的 Max-2- SUB- SAT 系统比普通的3/4 比率要难得多。 在算法前, 我们调查快速流算算法, 使非硬盘的 comlial- comlial comm 算法比小。 我们给出了一个简单的 NNP- hal- hardal comlical 算法, 其中运行一个1.5- sal- listal listalalalalalalalalalalalalalalalalalalalalalalalalalalalalal dalal, 其中, lives2, 其中, exal lives算法也提供一个硬值为 。