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 φ 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.
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?
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).
Respuestas:
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.
fuente
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.
Entonces, estos dos enfoques en realidad funcionan muy bien en la práctica (al menos en los puntos de referencia QBFEVAL).
fuente
Mostrar satisfacción de∃x∀yϕ , 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), a∈D , as our candidate to satisfy the formula. Then, B tries to satisfy ¬ϕ[a/x] with some b∈B . 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.
fuente