Solusi penghitungan formula Monotone-2CNF

13

Rumus Monotone-2CNF adalah formula CNF di mana setiap klausa tersusun oleh tepat 2 literal positif.

Sekarang, saya memiliki Monoton-2CNF rumus . Misalkan S adalah himpunan tugas F yang memuaskan. Saya juga memiliki oracle O yang dapat memberikan informasi berikut:FSFO

  1. Kardinalitas himpunan (yaitu jumlah solusi F ).SF
  2. Diberikan variabel : x
    • Jumlah solusi dalam mengandung literal positif x .Sx
    • Jumlah solusi dalam mengandung literal negatif ¬ x .S¬x
  3. Diberikan 2 variabel dan x 2 : x1x2
    • Jumlah solusi dalam mengandung x 1x 2 .Sx1x2
    • Jumlah solusi dalam mengandung x 1¬ x 2 .Sx1¬x2
    • Jumlah solusi dalam mengandung ¬ x 1x 2 .S¬x1x2
    • Jumlah solusi dalam mengandung ¬ x 1¬ x 2 .S¬x1¬x2

Perhatikan bahwa oracle adalah "terbatas": ia bekerja hanya pada F , tidak dapat digunakan pada formula F 'F .OFFF


Pertanyaan:

Diberikan 3 variabel , x 2 , x 3 apakah mungkin untuk menentukan jumlah solusi dalam S yang mengandung ¬ x 1¬ x 2¬ x 3 dalam waktu polinomial, menggunakan F dan informasi yang diberikan oleh Ox1x2x3S¬x1¬x2¬x3FO ?

catatan:

You can replace ¬x1¬x2¬x3 in the question with whatever else of the 8 possible combinations of x1, x2, x3. The problem would remain the same.


Empirical fact:

I came across the following empirical fact one week ago. Let S¬x1¬x2S be the set of those solutions containing ¬x1¬x2, and let S¬x1¬x2x3S be the set of those solutions containing ¬x1¬x2x3. Now, it seems to be the case that, if condition C

|S¬x1¬x2||S¬x1¬x2x3|ϕ

where ϕ=1.618033... is the golden ratio. Condition C seems to be the following: "x1, x2, x3 are mentioned in F almost the same number of times".

Giorgio Camerani
sumber
1
When you say "solutions containing the negative literal -x" -- do you mean "solutions with x=0"?
Noam
@Noam: Yes, exactly.
Giorgio Camerani
1
Easy observation: since the number of possible questions to the oracle O is polynomially bounded, without loss of generality you can query all questions at the beginning of an algorithm. Therefore, we can replace the oracle by additional input, with a promise that those numbers are correct. I think that this promise formulation is slightly simpler than considering it as an oracle.
Tsuyoshi Ito
@Tsuyoshi: Yes, I agree with you.
Giorgio Camerani
1
@vzn: The decision version of 2CNF is in P. This is the counting version of the monotone case (given a monotone 2CNF formula F, you have to compute how many satisfying assignments it has).
Giorgio Camerani

Jawaban:

5

To use that empirical fact you really want to know whether approximate numbers can give others approximate numbers. But for the exact case, I think there may be a straightforward way to show this is hard. Here's a sketch.

First note that satisfying assignments correspond to independent sets in a graph. I'll use the phrase "S-projections of I(G)" to describe the function mapping TS to the number of independent sets I with IS=T. The "k-projections" are the S-projections for all subsets S of V with |S|=k.

Proof outline:

  1. If 2-projections give 3-projections, they also give k-projections in polytime for each k.
  2. If 2-projections give 4-projections, then the number of independent sets of a graph is in FP, so FP=#P.

(1) Let k3 such that (k-1)-projections give k-projections. Given a graph, its k-projections, and x1,...,xk,vG, we will compute the projections onto x1,...,xk,v.

Define the graph G by attaching a fresh vertex to v. This can be seen as weighting v. The (k-1)-projections of G can be computed because we know the k-projections of G. So then we have the k-projections of G. And this gives x1,...,xk,v-projections of G.

(2) Given a graph, order the edges e1,...,em and define Gk to have edges e1,...,ek. The 2-projections of Gk+1 can be computed from the 4-projections of Gk. The number of independent sets in G0 is 2|G|. Iteratively the 4-projections of G can be computed in polynomial time.

Colin McQuillan
sumber
I would prefer not to use that empirical fact! I prefer the exact count of course. But incidentally I noticed that fact while trying to determine the exact count.
Giorgio Camerani
Thanks for your answer. Yes, it's hard: as you say, a positive answer to this question would imply #P = FP.
Giorgio Camerani
7

Some observations, not an answer.

Further to the note to the question, any combination of 3 literals can be expressed in terms of any other combination of literals on the same variables, together with a small number of terms that the oracle can provide. This follows from looking at the Venn diagram of 3 intersecting sets, and expressing each of the 8 regions in terms of the other regions. Note that this does not require the formula to be either monotone or 2CNF.

It is also clear that the number of solutions satisfying any 3-literal conjunct can be expressed as the sum of 2n3 terms, each of which is either 0 or 1, expressing a particular assignment to all variables. Each of these can be evaluated in linear time, but there are exponentially many terms to evaluate, so this doesn't satisfy the requirements.

Hence the question is really about whether it is possible to exploit the property of being monotone 2CNF to compress this exponential-size expression to polynomial size.

I tried to look at a simpler question, restricting the oracle to just an advice string with the number of solutions, when the counts for single or pairwise literal combinations are not available. I cannot see any way to exploit knowledge of the number of solutions to obtain a quick calculation of the number of solutions with respect to any single literal.

Is there something about monotone 2CNF that would allow the number of solutions in S containing x1 to be obtained quickly, if one knew |S|?

András Salamon
sumber
2
Indeed, the given information needs to be powerful enough to defeat the underlying hardness. It is known that there is no fpras for solutions to monotone 2-SAT unless NP = RP.
mhum
@Andras: What here is called "oracle" is just some sort of dictionary D. It seems the case that such dictionary D can be constructed incrementally, by updating it each time a new clause is added to F. The problem is that, in order to correctly update D, I have to answer this question.
Giorgio Camerani
@Walter: Yes, I understand that. My point is that even a much simpler case is not clear: going from the total number of solutions to the number of solutions containing a single literal.
András Salamon
1
It could be that your formula is essentially linear: independent sets in a path follow the Fibonacci sequence. One way to see this is that the partition function (1 1; 1 0) has phi as an eigenvalue.
Colin McQuillan
3
I happened to find some slides discussing a more rigorous result: isid.ac.in/~antar/Talks/Counting-Hard-Core_KBS_slides.pdf (see page 11)
Colin McQuillan