A multiset of literals, called a clause, is \emph{strongly satisfied} by an assignment if \emph{no} literal evaluates to false. Finding an assignment that maximises the number of strongly satisfied clauses is NP-hard. We present a simple algorithm that finds, given a multiset of clauses that admits an assignment that strongly satisfies of the clauses, an assignment in which at least of the clauses are \emph{weakly satisfied}, in the sense that an \emph{even} number of literals evaluate to false. In particular, this implies an efficient algorithm for finding an undirected cut of value in a graph given that a directed cut of value in is promised to exist. A similar argument also gives an efficient algorithm for finding an acyclic subgraph of with edges under the same promise.

生成讲解博客的中文版本

生成AI智能校验的中文版本