Skip to main content
Log in

Visualizing SAT Instances and Runs of the DPLL Algorithm

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

SAT-solvers have turned into essential tools in many areas of applied logic like, for example, hardware verification or satisfiability checking modulo theories. However, although recent implementations are able to solve problems with hundreds of thousands of variables and millions of clauses, much smaller instances remain unsolved. What makes a particular instance hard or easy is at most partially understood – and is often attributed to the instance’s internal structure. By converting SAT instances into graphs and applying established graph layout techniques, this internal structure can be visualized and thus serve as the basis of subsequent analysis. Moreover, by providing tools that animate the structure during the run of a SAT algorithm, dynamic changes of the problem instance become observable. Thus, we expect both to gain new insights into the hardness of the SAT problem and to help in teaching SAT algorithms.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aloul, F.A., Sakallah, K.A., Markov, I.L.: Efficient symmetry breaking for boolean satisfiability. In: Proceedings of the 18th International Joint Conference on Artificial Intelligence (IJCAI 2003), pp. 271–276 (2003)

  2. Arnborg, S., Corneil, D.G., Proskurowski, A.: Complexity of finding embeddings in a k-tree. SIAM J. Algorithms and Discrete Methods 8, 277–284 (1987)

    MATH  MathSciNet  Google Scholar 

  3. Aspvall, M., Plass, M.F., Tarjan, R.E.: A linear-time algorithm for testing the truth of certain quantified boolean formulas. Inf. Process. Lett. 8(3), 121–123 (March 1979)

    Article  MATH  MathSciNet  Google Scholar 

  4. Barnes, J., Hut, P.: A hierarchical O(nlogn) force-calculation algorithm. Nature 324, 446–449 (1986)

    Article  Google Scholar 

  5. Barrett, C., de Moura, L., Stump, A.: SMT-COMP: Satisfiability modulo theories competition. In: Proceedings of the 17th International Conference on Computer Aided Verification (CAV 2005), pp. 20–23. Springer, Berlin Heidelberg New York (2005)

    Google Scholar 

  6. Beame, P., Impagliazzo, R., Pitassi, T., Segerlind, N.: Memoization and DPLL: Formula caching proof systems. In: Proceedings of the 18th Annual IEEE Conference on Computer Complexity (Complexity 2003), pp. 248–264 (2003)

  7. Le Berre, D, Simon, L.: The essentials of the SAT 2003 competition. In: Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (SAT 2003), pp. 452–467 (2003)

  8. Le Berre, D., Simon, L. (eds.): Special Volume on the SAT 2005 competitions and evaluations. Journal on Satisfiability, Boolean Modeling and Computation, vol. 2, (March 2006)

  9. Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Tools and Algorithms for the Analysis and Construction of Systems (TACAS’99), number 1579 in LNCS, pp. 193–207. Springer, Berlin Heidelberg New York (1999)

    Google Scholar 

  10. Biere, A.,Sinz, C.: Decomposing SAT problems into connected components. Journal on Satisfiability, Boolean Modeling and Computation 2, 191–198 (2006)

    Google Scholar 

  11. Bodlaender, H.L.: A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM J. Comput. 25(6), 1305–1317 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  12. Braunstein, A., Zecchina, R.: Survey and belief propagation on random k-SAT. In: Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (SAT 2003), pp. 519–528 (2003)

  13. Bryant, R.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986)

    MATH  Google Scholar 

  14. Cheeseman, P., Kanefsky, B., Taylor, W.M.: Where the really hard problems are. In: Proceedings of the 12th International Joint Conference on Artificial Intelligence, IJCAI-91, pp. 331–337. Sidney, Australia (1991)

  15. Clarke, E.M., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Form. Methods Syst. Des. 19(1), 7–34 (2001)

    Article  MATH  Google Scholar 

  16. Darga, P.T., Liffiton, M.H., Sakallah, K.A., Markov, I.L.: Exploiting structure in symmetry detection for CNF. In: Proceedings 41th Design Automation Conference (DAC 2004), pp. 530–534 (2004)

  17. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (July 1962)

    Article  MATH  MathSciNet  Google Scholar 

  18. Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)

    Article  MATH  MathSciNet  Google Scholar 

  19. Dechter, R.: Bucket elimination: a unifying framework for reasoning. Artif. Intell. 113(1,2), 41–85 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  20. del Val, A.: Tractable databases: How to make propositional unit resolution complete through compilation. In: Proceedings of 4th International Conference on Principles of Knowledge Representation and Reasoning (KR’94), pp. 551–561 (1994)

  21. del Val, A.: Tractable classes for directional resolution. In: Proceedings 17th National Conference on AI, pp. 343–348. Austin, TX (2000)

  22. Di Battista, G., Eades, P., Tamassia, R., Tollis, I.: Algorithms for automatic graph drawing: an annotated bibliography. Comput. Geom. 4, 235–282 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  23. Downey, R.G. and Fellows, M.R.: Parameterized Complexity. Springer, Berlin Heidelberg New York (1999)

    Google Scholar 

  24. Eades, P.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)

    MathSciNet  Google Scholar 

  25. Eén, N., Biere, A.: Effective preprocessing in SAT through variable and clause elimination. In: Proceedings of the 8th International Conference on Theory and Applications of Satisfiability Testing (SAT 2005), pp. 61–75 (2005)

  26. Eén, N., Sörensson, N.: An extensible SAT-solver. In: Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (SAT 2003), pp. 502–518. Springer, Berlin Heidelberg New York (May 2003)

    Google Scholar 

  27. Fleisher, H., Maissel, L.I.: An introduction to array logic. IBM J. Res. Dev. 19(2), 98–109 (1975)

    Article  Google Scholar 

  28. Freuder, E.C., Quinn, M.J.: Taking advantage of stable sets of variables in constraint satisfaction problems. In: Proceedings of the 9th International Joint Conference on Artificial Intelligence (IJCAI 1985), pp. 1076–1078 (1985)

  29. Fruchterman, T., Reingold, E.: Graph drawing by force-directed placement. Software – Practice and Experience 21(11), 1129–1164 (1991)

    Article  Google Scholar 

  30. Galesi, N., Kullmann, O.: Polynomial time SAT decision, hypergraph transversals and the hermitian rank. In: Proceedings of the 7th International Conference on Theory and Applications of Satisfiability Testing (SAT 2004), pp. 89–104. Vancouver, Canada (May 2004)

  31. Gallo, G., Longo, G., Pallottino, S.: Directed hypergraphs and applications. Discrete Appl. Math. 42(2), 177–201 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  32. Gent, I.P., Walsh, T.: The SAT phase transition. In: Proceedings of the 11th European Conference on Artificial Intelligence, pp. 105–109 (1994)

  33. Gershman, R., Strichman, O.: Cost-effective hyper-resolution for preprocessing CNF formulas. In: Proceedings of the 8th International Conference on Theory and Applications of Satisfiability Testing (SAT 2005), pp. 423–429 (2005)

  34. Goldberg, E., Novikov, Y.: BerkMin: A fast and robust SAT-solver. In: Proceedings of the Design, Automation and Test in Europe Conference and Exposition (DATE 2002), pp. 131–149. IEEE Computer Society, Paris, France (2002)

    Google Scholar 

  35. Gomes, C.P., Selman, B., Crato, N., Kautz, H.A.: Heavy-tailed phenomena in satisfiability and constraint satisfaction problems. J. Autom. Reason. 24(1/2), 67–100 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  36. Gottlob, G., Scarcello, F., Sideri, M.: Fixed-parameter complexity in AI and nonmonotonic reasoning. Artif. Intell. 138(1,2), 55–86 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  37. Greengard, L., Rokhlin, V.: A fast algorithm for particle simulations. J. Comp. Phys. 73, 325–348 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  38. Bayardo Jr., R.J., Miranker, D.P.: On the space-time trade-off in solving constraint satisfaction problems. In: Proceedings of the 14th International Joint Conference on Artificial Intelligence (IJCAI 1995), pp. 558–562 (1995)

  39. Bayardo Jr., R.J., Pehoushek, J.D.: Counting models using connected components. In: Proceedings of the 17th Nat. Conference on Artificial Intelligence (AAAI 2000), pp. 157–162 (2000)

  40. Kautz, H., Selman, B.: Planning as satisfiability. In: Proceedings of the 10th Europe Conference on Artificial Intelligence (ECAI’92), pp. 359–363. Wiley (1992)

  41. Küchlin, W., Sinz, C.: Proving consistency assertions for automotive product data management. J. Autom. Reason. 24(1,2), 145–163 (February 2000)

    Article  MATH  Google Scholar 

  42. Kullmann, O.: The SAT 2005 solver competition on random instances. Journal on Satisfiability, Boolean Modeling and Computation 2, 61–102 (2006)

    MATH  Google Scholar 

  43. Marques-Silva, J.P., Sakallah, K.A.: Conflict analysis in search algorithms for propositional satisfiability. In: Proceedings of the IEEE International Conference on Tools with Artificial Intelligence, pp. 467–469 (Nov. 1996)

  44. McMillan, K.: Interpolation and SAT-based model checking. In: Proceedings of the 15th International Conference on Computer Aided Verification (CAV 2003), vol. 2725 of LNCS, pp. 1–13 (2003)

  45. Mitchell, D.G., Selman, B., Levesque, H.J.: Hard and easy distributions of SAT problems. In: Proceedings of the 10th Nat. Conference on Artificial Intelligence (AAAI-92), pp. 459–465 (1992)

  46. Monasson, R., Zecchina, R., Kirkpatrick, S., Selman, B., Troyansky, L.: Determining computational complexity from characteristic “phase transitions”. Nature 400(6740), 133–137 (1999)

    Article  MathSciNet  Google Scholar 

  47. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of the 38th Design Automation Conference (DAC 2001), pp. 530–535. ACM (2001)

  48. Narodytska, N., Walsh, T.: Constraint and variable ordering heuristics for compiling configuration problems. In: Configuration Workshop Proceedings, 17th European Conference on Artificial Intelligence (ECAI-06), pp. 2–7. Riva del Garda, Italy (August 2006)

  49. Niedermeier, R.: Fixed-parameter Algorithms. Oxford Lecture Series in Mathematics and Its Applications. Oxford University Press (February 2006)

  50. Park, T.J., Van Gelder, A.: Partitioning methods for satisfiability testing on large formulas. Inf. Comput. 162, 179–184 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  51. Plaisted, D.A., Zhu, Y.: Ordered semantic hyper-linking. J. Autom. Reason. 25(3), 167–217 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  52. Rish, I., Dechter, R.: Resolution versus search: Two strategies for SAT. J. Automated Reason. 24(1,2), 225–275 (February 2000)

    Article  MATH  MathSciNet  Google Scholar 

  53. Robertson, N., Seymour, P.D.: Graph minors, II: Algorithmic aspects of tree-width. J. Algorithms 7(3), 309–322 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  54. Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)

    Article  MATH  Google Scholar 

  55. Cook, S.A.: The complexity of theorem proving procedures. In: 3rd Symposium on Theory of Computing, pp. 151–158. ACM Press (1971)

  56. Sang, T., Bacchus, F., Beame, P., Kautz, H.A., Pitassi, T.: Combining component caching and clause learning for effective model counting. In: Proceedings of the 7th International Conference on Theory and Applications of Satisfiability Testing (SAT 2004). Vancouver, Canada (May 2004)

  57. Selman, B.: Algorithmic adventures at the interface of computer science, statistical physics, combinatorics. In: Proceedings of the 10th International Conference on Principles and Practice of Constraint Programming (CP 2004), pp. 9–12. Springer, Berlin Heidelberg New York (2004)

    Google Scholar 

  58. Sheeran, M., Stålmarck, G.: A tutorial on Stålmarck’s proof procedure for propositional logic. Form. Methods Syst. Des. 16(1), 23–58 (2000)

    Article  Google Scholar 

  59. Singer, J., Gent, I.P., Smaill, A.: Backbone fragility and the local search cost peak. J. Artif. Intell. Res. 12, 235–270 (2000)

    MATH  MathSciNet  Google Scholar 

  60. Sinz, C., Dieringer, E.-M.: DPvis – a tool to visualize structured SAT instances. In: Proceedings of the 7th International Conference on Theory and Applications of Satisfiability Testing (SAT 2004), St. Andrews, Scotland, pp. 257–268. Springer, Berlin Heidelberg New York (June 2005)

    Google Scholar 

  61. Slater, A.: Investigations into satisfiability search. Ph.D. thesis, NICTA, Australian National University, Acton, Australia (2003)

  62. Slater, A.: Visualisation of satisfiability problems using connected graphs, March 2004. http://rsise.anu.edu.au/~andrews/problem2graph

  63. Szeider, S.: On fixed-parameter tractable parameterizations of SAT. In: Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (SAT 2003), pp. 188–202. Springer, Berlin Heidelberg New York (May 2003)

    Google Scholar 

  64. Vaziri, M., Jackson, D.: Checking properties of heap-manipulating procedures with a constraint solver. In: Proceedings of the 9th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’03), number 2619 in LNCS, Warsaw, Poland, pp. 505–520. Springer, Berlin Heidelberg New York (2003)

    Google Scholar 

  65. Velev, M.N., Bryant, R.E.: Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors. J. Symb. Comput. 35(2), 73–106 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  66. Walsh, T.: Search in a small world. In: Proceedings of the 16th International Conference on AI, pp. 1172–1177 (1999)

  67. Walshaw, C.: A multilevel algorithm for force-directed graph-drawing. J. Graph Algorithms Appl. 7(3), 253–285 (2003)

    MATH  MathSciNet  Google Scholar 

  68. Watts, D.J., Strogatz, S.H.: Collective dynamics of ‘small-world’ networks. Nature 393, 440–442 (1998.)

    Article  Google Scholar 

  69. Williams, R., Gomes, C., Selman, B.: Backdoors to typical case complexity. In: International Joint Conference on Artificial Intelligence (IJCAI’03), pp. 1173–1178. Acapulco, Mexico (2003)

  70. Xie, Y., Aiken, A.: Scalable error detection using boolean satisfiability. In: Proceedings of the 32nd Symposium on Principles of Programming Languages (POPL 2005), pp. 351–363. Long Beach, CA (January 2005)

  71. Zabiyaka, Y., Darwiche, A.: Functional treewidth: bounding complexity in the presence of functional dependencies. In: Proceedings of the 9th International Conference on Theory and Applications of Satisfiability Testing (SAT 2006), pp. 116–129 (2006)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carsten Sinz.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sinz, C. Visualizing SAT Instances and Runs of the DPLL Algorithm. J Autom Reasoning 39, 219–243 (2007). https://doi.org/10.1007/s10817-007-9074-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-007-9074-1

Keywords

Navigation