このSATのAND圧縮に関する論文と矛盾しているように見える何が問題になっていますか?


7

もっともらしい推測を前提とする論文と矛盾しているように見える単純な構造を得た。

予想が誤りである可能性は低いので、議論の何が問題になっていますか?

紙から

AND圧縮は、SATインスタンスのセットをマップする確定的多項式時間アルゴリズムです。 x1,,xt 単一のSATインスタンスに y サイズの poly(maxi|xi|) such that y is satisfiable if and only if all xi are satisfiable. ... Unless the unlikely complexity-theoretic collapse coNPNP/poly occurs, there is no AND-compression for SAT.

Construction:

If xi are not in CNF, convert them to CNF possibly adding new variables. This is polynomial.

In CNF one can encode AND gate C:=AB and OR gate C:=AB.

The AND and OR gates have the property that for all satisfying assignments of their CNFs we have C(AB) and C(AB).

Let the j-th clause in xi be xi,j=[y1,,yk] for literals ym.

Using the OR gate and new variables, compute variable Oi,j:=y1y2yk.

For all clauses in xi (Oi,j) and the AND gate compute variable Vi:=Oi,1Oi,2Oi,m.

By construction xiVi.

For all Vi, using the AND gate compute F:=V1Vt.

Fx1xt.

So the final formula y is the union of the CNFs for Oi,j,Vi,F, and a unit clause [F].

|y| is linear in the number of all literals, t is polynomial in max|xi|, which makes |y| polynomial in max|xi|.

This appears to contradict the claim in the paper, unless the certain collapse happens.

What is wrong with this argument that appears to contradict the claim in the paper?

Similar construction works for OR-compression, when at least one xi must be satisfiable.

The newly introduced variable are uniquely determined by the original variables.

OR gate in  CNF 3 := 1 \/ 2 : [[1 2 -3],[-1 3],[-2 3]]
AND gate in CNF 3 := 1 /\ 2 : [[-1 -2 3],[1 -3],[2 -3]]

You can't compute Oi,j (and hence Vi,j), this would imply that you already know the solution to the SAT instances.
Luke Mathieson

@LukeMathieson This works in practice with the explicit gates, it is computed symbolically on the literals. To compute T:=xyz, using the or gate compute t1:=OR(y,z), T:=OR(x,t1).
elluser

@user114872 if they're not using the values, how are they then forced by the truth assignment? I can get behind xi is satisfiable Vi is satisfiable, but I don't see why you get the reverse, the variables Oi,j can all just be set to true.
Luke Mathieson

@LukeMathieson I am not constructing solution, I am constructing CNF y (work with the literals symbolically). Intuitively, convert CNF xi to circuit with gate oixi. Add AND gates between all oi. Convert the final circuit to CNF forcing the final gate to TRUE. This is polynomial too.
elluser

1
@user114872 I understand that you're constructing a CNF formula, what I'm suggesting is that it doesn't obey the condition that F is satisfiable if and only if all xis are satisfiable - F is satisfiable just by setting all the Oi,j variables to true. This tells us nothing about the instances xi.
Luke Mathieson

回答:


12

The confusion arises from a misunderstanding of what being polynomial in the size of the largest instance means. It does not mean that polynomial growth of the compressor's output is allowed as the number of instances (t) increases. Rather it means the compressor's output is allowed to grow only as the maximum instance size grows, independent of t, and then only within a fixed polynomial of that value.

Your compressor concatenates the CNF instances, converts them to circuits, and then converts the circuits back to CNF. Its output grows linearly with the number of instances (t) independent of the instance sizes and is therefore bound to exceed any polynomial function of the maximum instance size. Because of this, indeed because it does not do any compression at all, your compressor does not cause any hierarchy collapse.

There also seems to be a misunderstanding as to what the AND-compressor function is supposed to do. It does not have to output an instance that preserves all satisfying assignments for all the input instances, nor does there need to be a parsimonious counting reduction from the input instances to the output instance. A conforming implementation could at the extreme output an empty instance if all the input instances are satisfiable and a single empty clause otherwise.

A more plausible AND-compressor might adapt standard data compression techniques such as the use of a dictionary. A table of unsatisfiable subformulas could be precomputed and used to search against the input SAT instances. A match would imply a forbidden variable assignment, which when instantiated as a learned clause might subsume (eliminate) several other clauses.

Another technique involves taking advantage the different sizes of the input instances. If the input instances are of different sizes, the larger instances could be searched for subformulas equivalent to one of the smaller instances. Such a match implies the existence of a variable assignment that could produce the subformula, and therefore the larger instance is satisfiable if the smaller instance is satisfiable. If the smaller instance is unsatisfiable, the larger instance might still be satisfiable but it doesn't matter because compressor output should still produce an unsatisfiable formula. So the output instance is effectively decoupled from the satisfiability of the larger instance and thus the larger instance no longer has to be represented in the output at all, eliminating a large number of clauses.

There are many other techniques. The theorem in the paper suggests that efficiently achieving high levels of compression is unlikely given the implied partial collapse of the polynomial hierarchy.


Thank you, but this confuses me even more. Edited the question basically with this: Take t=2n,max|xi|=n2. As n tends to infinity t is not polynomial in max|xi|. Any_ operation depending on all xi is exponential, so in this case appears to me polynomial solution independent of t can't exist for the simple reason the size of the input is exponential in max|xi|.
elluser

You've mixed constraints. The compressor has to run in time polynomial to the size of the input, but the size of its output has to be polynomial to the size of the largest single input instance. The output size requirement has no bearing on how much time you're allowed to read and process the input.
Kyle Jones

You mean the running time can be arbitrary (not polynomial), just the output y to be polynomial?
elluser

No, the running time has to be polynomial to the size of the input. As the input grows larger, so does the worst case running time, but at the same polynomial to the size of the input.
Kyle Jones

The size of the input is all SAT instances and is i=1t|xi| ?
elluser

5

Re Edit 3:


F,T is a satisfying assignment for the instance "(¬x0)x1".
T,F is a satisfying assignment for the instance "x0¬x1".
The instances "(¬x0)x1" and "x0¬x1" are both satisfiable.
The instance "(¬x0)x1" is satisfiable iff the instance "x0¬x1" is satisfiable.
F,T is not a satisfying assignment for the instance "x0¬x1".
F,T is a satisfying assignment for the instance "(¬x0)x1" but not for the instance "x0¬x1".
Thus the transformation from the instance "(¬x0)x1" to the instance
"x0¬x1" does not preserve all satisfying assignments of the input instance,
but is such that "(¬x0)x1" is satisfiable iff "x0¬x1" is satisfiable.

Here is a not-necessarily-efficient version of an AND-compression algorithm for SAT:
Determine whether or not all of the input SAT-instances are satisfiable. If they all are,
then output the single SAT-instance "x0", else output the single SAT-instance "x0¬x0".


1
Thank you, this helped. Are these compressable: take t (as large as possible) instances on disjoint variables of the same size. The instances are state of the art random 3-SAT. Since they are on disjoint variables, circuit minimization doesn't work. One can't compress every single SAT instances, since this will solve it by sufficient calls to the minimization.
elluser

Those are compressible (though not necessarily efficiently); just use the algorithm that I gave. The only relation between this problem circuit minimization that I see is the fact that, depending on whether not circuits are required to actually map each input to a node, SAT may be efficiently reducible to circuit minimization.

"since this will solve" what "by sufficient calls to the minimization"? One can compress every single SAT instance (though not necessarily efficiently); just replace "all of the input SAT-instances are satisfiable. If they all are" in my answer with "the input SAT-instance is satisfiable. If it is".

I mean efficient minimization/compression. Certainly solving gives O(1) compression.
elluser

The disjointness of the variables is irrelevant. I suspect that there are no known non-trivial algorithms for AND-compression of such distributions and no known (other) seemingly unlikely consequences of the existence of an efficient AND-compression algorithm for such distributions.

3

The last things that used to confuse me were the bounds on t and the exact definition of polynomial.

The paper "Infeasibility of instance compression and succinct PCPs for NP" helped a lot.

It is about OR-compression, but works.

In the notation of the original paper t=m and max|xi|=n.

The paper explains:

"n possibly can be much less than m

(the algorithm) runs in time polynomial in m and n

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.