Soluciones de conteo de fórmulas Monotone-2CNF

13

Una fórmula Monotone-2CNF es una fórmula CNF donde cada cláusula está compuesta por exactamente 2 literales positivos.

Ahora, tengo una fórmula Monótono-2CNF . Sea S el conjunto de las tareas satisfactorias de F. También tengo un oráculo O que puede dar la siguiente información:FSFO

  1. La cardinalidad del conjunto (es decir, el número de soluciones de F ).SF
  2. Dada una variable : x
    • El número de soluciones en contienen el literal positivo x .Sx
    • El número de soluciones en contienen el literal negativo ¬ x .S¬x
  3. Dadas 2 variables y x 2 : x1x2
    • El número de soluciones en contienen x 1x 2 .Sx1x2
    • El número de soluciones en contienen x 1¬ x 2 .Sx1¬x2
    • El número de soluciones en contienen ¬ x 1x 2 .S¬x1x2
    • El número de soluciones en contienen ¬ x 1¬ xS .¬x1¬x2

Tenga en cuenta que el oráculo es "limitado": funciona solo en F , no se puede usar en una fórmula F OF .FF


Pregunta:

Dadas 3 variables , x 2 , x 3 es posible determinar el número de soluciones en S que contienen ¬ x 1¬ x 2¬ x 3 en tiempo polinómico, usando Fx1x2x3S¬x1¬x2¬x3F y la información proporcionada por ?O

Nota:

Puede reemplazar en la pregunta con cualquier otra de las 8 combinaciones posibles de x 1 , x 2 , x 3 . El problema seguiría siendo el mismo.¬x1¬x2¬x3x1x2x3


Hecho empírico:

Me encontré con el siguiente hecho empírico hace una semana. Sea el conjunto de las soluciones que contienen ¬ x 1¬ x 2 , y sea S ¬ x 1¬ x 2x 3S el conjunto de las soluciones que contienen ¬ x 1¬ x 2x 3 . Ahora, parece ser el caso que, si la condición CS¬x1¬x2S¬x1¬x2S¬x1¬x2x3S¬x1¬x2x3C cumple, esta relación también se cumple:

dondeϕ=1.618033 ...es la proporción áurea. La condiciónCparece ser la siguiente:"x1,x2,x3se mencionan enFcasi el mismo número de veces".|S¬x1¬x2||S¬x1¬x2x3|ϕ

ϕ=1.618033...Cx1x2x3F

Giorgio Camerani
fuente
1
Cuando dice "soluciones que contienen el literal negativo -x", ¿quiere decir "soluciones con x = 0"?
Noam
@Noam: Sí, exactamente.
Giorgio Camerani
1
Observación fácil: dado que el número de posibles preguntas al oráculo O está polinómicamente limitado, sin pérdida de generalidad, puede consultar todas las preguntas al comienzo de un algoritmo. Por lo tanto, podemos reemplazar el oráculo por una entrada adicional, con la promesa de que esos números son correctos. Creo que esta formulación prometedora es un poco más simple que considerarla como un oráculo.
Tsuyoshi Ito
@ Tsuyoshi: Sí, estoy de acuerdo contigo.
Giorgio Camerani
1
@vzn: La versión decisión del 2CNF está en . Esta es la versión de conteo del caso monótono (dada una fórmula F monótona 2CNF , debe calcular cuántas asignaciones satisfactorias tiene). PF
Giorgio Camerani

Respuestas:

5

Para usar ese hecho empírico, realmente desea saber si los números aproximados pueden dar a otros números aproximados. Pero para el caso exacto, creo que puede haber una manera directa de mostrar que esto es difícil. Aquí hay un boceto.

Primero tenga en cuenta que las asignaciones satisfactorias corresponden a conjuntos independientes en un gráfico. Voy a utilizar la frase "S-proyecciones de I (G)" para describir la correlación de funciones al número de conjuntos independientes de I con I S = T . Las "proyecciones k" son las proyecciones S para todos los subconjuntos S de V con | S | = k .TSIS=T|S|=k

Esquema de prueba:

  1. Si las 2 proyecciones dan 3 proyecciones, también dan k proyecciones en polytime para cada k.
  2. Si las 2 proyecciones dan 4 proyecciones, entonces el número de conjuntos independientes de un gráfico está en FP, entonces 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.

GGGx1,...,xk,v

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
fuente
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
fuente
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