Traducción de SAT a HornSAT


26

¿Es posible traducir una fórmula booleana B en una conjunción equivalente de cláusulas Horn? El artículo de Wikipedia sobre HornSAT parece implicar que lo es, pero no he podido perseguir ninguna referencia.

Tenga en cuenta que no me refiero a "en tiempo polinómico", sino más bien "en absoluto".


1
¿Qué quieres decir con "traducir"? Es obvio que hay instancias SAT que no se pueden escribir como una fórmula HornSAT. Por ejemplo, la cláusula (p o q). ¿Pero quizás quiere decir que desea una reducción tal que la fórmula SAT de entrada sea satisfactoria si la fórmula HornSAT de salida es satisfactoria? En ese caso, por supuesto, está la reducción de trivial, ya que no se preocupan por la eficiencia ...
arnab

No me refiero a equisatisfactable, ya que eso es realmente trivial sin restricciones de eficiencia. Me refiero a equivalente como en "tener las mismas asignaciones satisfactorias" cuando consideramos las variables comunes tanto a la instancia SAT como a la instancia HornSAT correspondiente (si tuviéramos que agregar algunas variables auxiliares, las proyectaremos). Estoy de acuerdo en que no debería ser posible, exactamente para el ejemplo (P v Q), pero no sé cómo demostrarlo. ¿Tienes un bosquejo de prueba en mente?
Evgenij Thorstensen

3
La pregunta sigue siendo ambigua. ¿Puedes explicar qué quieres decir con "proyectarlos"? ¿Quiere decir que "la asignación A satisface la instancia SAT F si hay una asignación B a variables auxiliares tales que (A, B) satisfaga la instancia HornSAT F '"? Si es así, creo que puedes hacerlo simplemente usando la integridad P de HornSAT.
Ryan Williams el

Respuestas:


24

No. Las cláusulas de las conjunciones de Horn admiten menos modelos de Herbrand, que las disyunciones de los literales positivos no. Cf. Lloyd, 1987, Fundamentos de la programación lógica .

Los modelos de Herbrand menos tienen la propiedad de estar en las intersecciones de todos los satisfactores. Los modelos de Herbrand para son { { a } , { b } , { a , b } } , que no contiene su intersección, por lo que, como dice arnab, ( a b ) es un ejemplo de fórmula que no se puede expresar como una conjunción de las cláusulas de Horn.(unasi){{a},{b},{a,b}}(ab)

Respuesta incorrecta sobrescrita


Inteligente, pero la cláusula -a_1 & ... & -a_n -> # no es una cláusula Horn.
Evgenij Thorstensen

@Evgenij: lo es.
Radu GRIGore

44
Una cláusula de trompeta es una disyunción de literales con a lo sumo un literal positivo. Traduciendo lo anterior a una disyunción de literales, obtenemos a_1 v ... v a_n, con todos los literales positivos. La cláusula anterior es dual-Horn, pero eso no ayuda a mi interés.
Evgenij Thorstensen

@rgrig: No, estaba confundido. @Evgenij: Respuesta corregida.
Charles Stewart

5

La capacidad de satisfacción se puede lograr de la siguiente manera (reducción de 2SAT a HornSAT). Entonces también se puede reducir a una fórmula Horn de esta manera. Gracias a Joshua Gorchow por señalar esta reducción.(pq)

Entrada: una fórmula 2-SAT , con cláusulas C 1 , ..., C k en las variables x 1 , ..., x n .ϕC1Ckx1xn

Construya una fórmula de bocina siguiente manera:Q

Habrá 4 ( n elegir 2 ) + 2 n + 1 nuevas variables, una para cada posible×n2+2n+1 cláusula 2-cnf posible en las variables con como máximo 2 literales ( no solo las cláusulas C i en ϕ ) - esto es incluyendo cláusulas de la unidad y la cláusula de vacío .. la nueva variable correspondiente a una cláusula de D se denota por z D .xCiϕDzD

El 4 ( n elige 2 ) proviene del hecho de que cada par de ( x i , x j ) da lugar a cuatro cláusulas 2-cnf. El 2 n proviene del hecho de que cada x i×n2(xi, xj)2nxi puede crear cláusulas de 2 unidades. Y finalmente el "uno" proviene de la cláusula vacía. Entonces, el número total de posibles cláusulas 2-cnf es 4 × ( n elige 2 ) + 2 n + 1 .=×n2+2n+1

Si una cláusula 2-cnf sigue de otras dos cláusulas 2-cnf D y E en un solo paso de resolución, entonces agregamos la cláusula Horn ( z Dz Ez F ) a Q ... Nuevamente, hacemos esto para todos los posibles cláusulas 2-CNF - los 4 × ( n elegir 2 ) + 2 n + 1 de ellos - no sólo la C i .FDE(zDzEzF)Q×n2+2n+1Ci

Luego agregamos las cláusulas unitarias a Q , para cada cláusula C izCiQCi aparece en la entrada de ... Por último, se añade la cláusula unidad ( ¬ z e m p t y ) a Q .ϕ(¬zempty)Q

La fórmula Cuerno ahora está completa. Observe que las variables utilizadas en Q son completamente diferentes de las utilizadas en ϕ .QQϕ


¿Alguien sabe de un algoritmo en la otra dirección? Dada una fórmula de Horn , ¿existe un método para obtener una expresión equivalente 2SAT (2CNF) ϕ 2 , de modo que ϕ 1 sea ​​satisfactoria si y solo siϕ1ϕ2ϕ1 es? ¿Usando el mismo conjunto de variables, o usando variables adicionales, o usando un conjunto de variables completamente diferente (como se hizo en la respuesta anterior)? ¿O una prueba de que esto es imposible? ϕ2
Martin Seymour

2

No creo que sea posible. No hay forma, por ejemplo, de escribir como una conjunción de cláusulas de claxon ya que ϕ solo prohíbe una sola asignación de verdad, concretamente 0011. Cualquier cláusula de claxon con menos de 4 literales prohibirían más de 1 asignación de verdad, y las cláusulas de claxon con 4 literales solo pueden prohibir las asignaciones de verdad con un máximo de 0.ϕ=(X1X2¬X3¬X4)ϕ

Editar: ¡Uy! No notaron que esto ya fue respondido

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.