Encontré un documento más reciente (2014) sobre All-SAT en una conferencia VLSI, por lo que definitivamente está orientado hacia el lado práctico (que parece estar en sintonía con la pregunta del OP aquí, aunque no tanto con cstheory.SE en general):
- "Todo-SAT usando cláusulas de bloqueo mínimo" por Yinlei Yu, Pramod Subramanyan, Nestan Tsiskaridze, Sharad Malik, VLSI Design 2014. doi: 10.1109 / VLSID.2014.22 .
Para aquellos sin una suscripción a IEEE, hay una copia gratuita en la página web de Princeton de Subramanyan . (Utiliza un servicio de intercambio de archivos para almacenar / distribuir copias de sus documentos y no estoy seguro de cuán estables son esas URL, de ahí este enlace indirecto).
La esencia de este artículo parece ser:
Nuestra contribución, el algoritmo Dec-No Disjunto, genera cláusulas de bloqueo extremadamente cortas que no contienen ninguna de las variables implicadas en el solucionador. Tenga en cuenta que normalmente la mayoría de las variables en un término satisfactorio están implícitas. Las cláusulas de bloqueo cortas son muy beneficiosas para el rendimiento del solucionador como lo demuestra la evaluación.
Su implementación se basa en MiniSat. Sin embargo, el código fuente de su extensión no parece estar disponible públicamente. Por desgracia, esto parece ser un hábito en el campo de All-SAT, por lo que los documentos en esta área que contienen resultados experimentales simplemente configuran un algoritmo más o menos simple para vencer y rara vez se pueden comparar directamente (en términos de experimentación resultados) con cualquier otro algoritmo publicado para All-SAT. El artículo de Jabbour et al. mencionado por Vijay D también es de este tipo.
Como no lo veo mencionado en la otra respuesta (pero solo en el comentario de András Salamon), la técnica de cláusulas de bloqueo [bastante popular] se introdujo en: