Comprobación de fórmulas con dos cuantificadores (


15

Los solucionadores SAT ofrecen una forma poderosa de verificar la validez de una fórmula booleana con un cuantificador.

Por ejemplo, para verificar la validez de , podemos usar un solucionador SAT para determinar si φ ( x ) es satisfactoria. Para verificar la validez de x . φ ( x ) , podemos usar un solucionador SAT para determinar si ¬ φ ( x ) es satisfactoria. (Aquí x = ( x 1 , ... , x n ) es un vector n de variables booleanas, y φx.φ(x)φ(x)x.φ(x)¬φ(x)x=(x1,,xn)nφ es una fórmula booleana).

Los solucionadores QBF están diseñados para verificar la validez de una fórmula booleana con un número arbitrario de cuantificadores.

¿Qué pasa si tenemos una fórmula con dos cuantificadores? ¿Son algoritmos eficientes para verificar la validez: los que son mejores que simplemente usar algoritmos genéricos para QBF? Para ser más específico, tengo una fórmula de la forma (o x . y . ψ ( x , y ) ), y desea verificar su validez. ¿Hay algún buen algoritmo para esto? Edición 4/8: Aprendí que esta clase de fórmulas a veces se conoce como 2QBF, por lo que estoy buscando buenos algoritmos para 2QBF.x.y.ψ(x,y)x.y.ψ(x,y)

Especializándome aún más: en mi caso particular, tengo una fórmula de la forma cuya validez quiero verificar, donde f , g son funciones que producen una salida de k bits. ¿Hay algún algoritmo para verificar la validez de este tipo particular de fórmula, de manera más eficiente que los algoritmos genéricos para QBF?x.y.f(x)=g(y)f,gk

PD: No estoy preguntando sobre la dureza del peor de los casos, en teoría de la complejidad. Estoy preguntando acerca de algoritmos prácticamente útiles (tanto como los solucionadores de SAT modernos son prácticamente útiles en muchos problemas a pesar de que SAT es NP-completo).


44
no es esencialmente equivalente ax y ψ ( x , y ) . xy ψ(x,y)xy ψ(x,y)
Huck Bennett

2
Creo que el OP significa esto de manera informal, ya que ambos son difíciles para los solucionadores de SAT y que una solución para cualquiera sería interesante
Suresh Venkat

1
@HuckBennett, creo que los dos tienen una dureza equivalente. (Prueba: es válida si f ¬ x . y . ¬ ψ ( x , y ) es. Por lo tanto, si tenemos una forma de probar la validez de las fórmulas de la forma x . y . ψ ( x , y ) , también podemos probar la validez de las fórmulas x . yx.y.ψ(x,y)¬x.y.¬ψ(x,y)x.y.ψ(x,y) dejando ψ ( x , y ) = ¬ ψ ( x , y ) y probando la validez dex . y . ψ ( x , y ) .) Pero de todos modos, estaría interesado en algoritmos para cualquier caso. x.y.ψ(x,y)ψ(x,y)=¬ψ(x,y)x.y.ψ(x,y)
DW

66
@DW, no necesariamente, por ejemplo, no se cree que SAT y TAUT tengan la misma complejidad.
Kaveh

44
@chazisop: Creo que el OP está pidiendo algoritmos / solucionadores -SAT, no solucionadores generales de QBF. Sin embargo, existen muchos solucionadores QBF. Vea la pestaña "solucionadores" en qbflib.orgΠ2/Σ2
Huck Bennett

Respuestas:


22

If I may, quite blatantly, advertise myself, we wrote an article about this last year Abstraction-Based Algorithm for 2QBF. I've got an implementation for qdimacs, which I can provide if you wish but from my experience, one can benefit greatly from specializing the algorithm for a particular problem. There is also an older paper A Comparative Study of 2QBF Algorithms, which also presents fairly easily implemetable algorithms.


¡Increíble! Gracias, Mikolas, este es el tipo de cosas que esperaba.
DW

2
Hola @DW, me alegro de poder ayudar. Espero que encuentres algo de esto útil. QBF es una bestia bastante diferente que SAT, así que hay que tener un poco de cuidado porque las cosas pueden explotar muy fácilmente :-). No dude en escribirme un correo electrónico si tiene preguntas más detalladas sobre nuestro trabajo.
Mikolas

7

He leído dos documentos relacionados con esto, uno específicamente relacionado con 2QBF. Los documentos son los siguientes:

Determinación incremental , Markus N. Rabe y Sanjit Seshia, Teoría y aplicaciones de pruebas de satisfacción (SAT 2016).

They have implemented their algorithm in a tool named CADET. The basic idea is to incrementally add new constraints to the formula till constraints describes a unique Skolem function or until there absence is confirmed.

Second one is Incremental QBF Solving, Florian Lonsing and Uwe Egly.

Implemented in a tool named DepQBF. It do not put any constraint over the number of quantifier alternation. It begins with the assumption that we have a closely related qbf formulas. It's based on incremental solving and do not throw the clauses learned during last solving. It add clauses and cubes to the current formula and stops either if clauses or cubes are empty, representing unsat or sat.

Editar : solo para tener una perspectiva de qué tan bien funcionan estos enfoques para los puntos de referencia 2QBF. Consulte los Resultados de QBFEVal-2018 para ver los resultados de la competencia anual QBF QBFEVAL . En 2019 no había una pista 2QBF.

En 2QBF Track QBFEVAL-2018 DepQBF fue el ganador , CADET fue el segundo en la carrera.

Entonces, estos dos enfoques en realidad funcionan muy bien en la práctica (al menos en los puntos de referencia QBFEVAL).


4

Mostrar satisfacción de xyϕ, we can play a game with two players A and B who each have access to a SAT solver. If we're working in a domain D, then at each iteration (including the first) A chooses an element which satisfies the constraint set it has (it starts empty), aD, as our candidate to satisfy the formula. Then, B tries to satisfy ¬ϕ[a/x] with some bB. If B cannot do this, this means that a works and we're done, otherwise we go back to A and we add to its constraint set ϕ[b/y], which guarantees this sort of mistake will not be made again. I have a feeling that one could think about the form of ϕ and do this sort of a procedure in a more strategic way, relying upon some sufficient subsets to eliminate any given candidate or some known symmetries to eliminate parts of this search early. Perhaps one might even add their own constraints to the initial constraint set of A.


2
This is the algorithm described in the paper that Mikolas cites; see Algorithm 1 of that paper. If ϕ is provided as the negation of a CNF formula, they then show some ways to further improve the algorithm by taking into account the form of ϕ (as your answer suggests might be possible); see Section 5 of that paper. Nice explanation of an elegant and powerful approach!
D.W.

It's quite nice, there is an analogy with adversarial machine learning if you squint at and indeed it works for any complemented lattice where you have a solver of sorts
Samuel Schlesinger
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.