Advertisement

Journal of Automated Reasoning

, Volume 39, Issue 2, pp 219–243 | Cite as

Visualizing SAT Instances and Runs of the DPLL Algorithm

  • Carsten Sinz
Article

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.

Keywords

SAT instance DPLL procedure 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)Google Scholar
  2. 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)MATHMathSciNetGoogle Scholar
  3. 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)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Barnes, J., Hut, P.: A hierarchical O(nlogn) force-calculation algorithm. Nature 324, 446–449 (1986)CrossRefGoogle Scholar
  5. 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. 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)Google Scholar
  7. 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)Google Scholar
  8. 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)Google Scholar
  9. 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. 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. 11.
    Bodlaender, H.L.: A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM J. Comput. 25(6), 1305–1317 (1996)MATHCrossRefMathSciNetGoogle Scholar
  12. 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)Google Scholar
  13. 13.
    Bryant, R.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986)MATHGoogle Scholar
  14. 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)Google Scholar
  15. 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)MATHCrossRefGoogle Scholar
  16. 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)Google Scholar
  17. 17.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (July 1962)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Dechter, R.: Bucket elimination: a unifying framework for reasoning. Artif. Intell. 113(1,2), 41–85 (1999)MATHCrossRefMathSciNetGoogle Scholar
  20. 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)Google Scholar
  21. 21.
    del Val, A.: Tractable classes for directional resolution. In: Proceedings 17th National Conference on AI, pp. 343–348. Austin, TX (2000)Google Scholar
  22. 22.
    Di Battista, G., Eades, P., Tamassia, R., Tollis, I.: Algorithms for automatic graph drawing: an annotated bibliography. Comput. Geom. 4, 235–282 (1994)MATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Downey, R.G. and Fellows, M.R.: Parameterized Complexity. Springer, Berlin Heidelberg New York (1999)Google Scholar
  24. 24.
    Eades, P.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)MathSciNetGoogle Scholar
  25. 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)Google Scholar
  26. 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. 27.
    Fleisher, H., Maissel, L.I.: An introduction to array logic. IBM J. Res. Dev. 19(2), 98–109 (1975)CrossRefGoogle Scholar
  28. 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)Google Scholar
  29. 29.
    Fruchterman, T., Reingold, E.: Graph drawing by force-directed placement. Software – Practice and Experience 21(11), 1129–1164 (1991)CrossRefGoogle Scholar
  30. 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)Google Scholar
  31. 31.
    Gallo, G., Longo, G., Pallottino, S.: Directed hypergraphs and applications. Discrete Appl. Math. 42(2), 177–201 (1993)MATHCrossRefMathSciNetGoogle Scholar
  32. 32.
    Gent, I.P., Walsh, T.: The SAT phase transition. In: Proceedings of the 11th European Conference on Artificial Intelligence, pp. 105–109 (1994)Google Scholar
  33. 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)Google Scholar
  34. 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. 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)MATHCrossRefMathSciNetGoogle Scholar
  36. 36.
    Gottlob, G., Scarcello, F., Sideri, M.: Fixed-parameter complexity in AI and nonmonotonic reasoning. Artif. Intell. 138(1,2), 55–86 (2002)MATHCrossRefMathSciNetGoogle Scholar
  37. 37.
    Greengard, L., Rokhlin, V.: A fast algorithm for particle simulations. J. Comp. Phys. 73, 325–348 (1987)MATHCrossRefMathSciNetGoogle Scholar
  38. 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)Google Scholar
  39. 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)Google Scholar
  40. 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)Google Scholar
  41. 41.
    Küchlin, W., Sinz, C.: Proving consistency assertions for automotive product data management. J. Autom. Reason. 24(1,2), 145–163 (February 2000)MATHCrossRefGoogle Scholar
  42. 42.
    Kullmann, O.: The SAT 2005 solver competition on random instances. Journal on Satisfiability, Boolean Modeling and Computation 2, 61–102 (2006)MATHGoogle Scholar
  43. 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)Google Scholar
  44. 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)Google Scholar
  45. 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)Google Scholar
  46. 46.
    Monasson, R., Zecchina, R., Kirkpatrick, S., Selman, B., Troyansky, L.: Determining computational complexity from characteristic “phase transitions”. Nature 400(6740), 133–137 (1999)CrossRefMathSciNetGoogle Scholar
  47. 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)Google Scholar
  48. 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)Google Scholar
  49. 49.
    Niedermeier, R.: Fixed-parameter Algorithms. Oxford Lecture Series in Mathematics and Its Applications. Oxford University Press (February 2006)Google Scholar
  50. 50.
    Park, T.J., Van Gelder, A.: Partitioning methods for satisfiability testing on large formulas. Inf. Comput. 162, 179–184 (2000)MATHCrossRefMathSciNetGoogle Scholar
  51. 51.
    Plaisted, D.A., Zhu, Y.: Ordered semantic hyper-linking. J. Autom. Reason. 25(3), 167–217 (2000)MATHCrossRefMathSciNetGoogle Scholar
  52. 52.
    Rish, I., Dechter, R.: Resolution versus search: Two strategies for SAT. J. Automated Reason. 24(1,2), 225–275 (February 2000)MATHCrossRefMathSciNetGoogle Scholar
  53. 53.
    Robertson, N., Seymour, P.D.: Graph minors, II: Algorithmic aspects of tree-width. J. Algorithms 7(3), 309–322 (1986)MATHCrossRefMathSciNetGoogle Scholar
  54. 54.
    Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)MATHCrossRefGoogle Scholar
  55. 55.
    Cook, S.A.: The complexity of theorem proving procedures. In: 3rd Symposium on Theory of Computing, pp. 151–158. ACM Press (1971)Google Scholar
  56. 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)Google Scholar
  57. 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. 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)CrossRefGoogle Scholar
  59. 59.
    Singer, J., Gent, I.P., Smaill, A.: Backbone fragility and the local search cost peak. J. Artif. Intell. Res. 12, 235–270 (2000)MATHMathSciNetGoogle Scholar
  60. 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. 61.
    Slater, A.: Investigations into satisfiability search. Ph.D. thesis, NICTA, Australian National University, Acton, Australia (2003)Google Scholar
  62. 62.
    Slater, A.: Visualisation of satisfiability problems using connected graphs, March 2004. http://rsise.anu.edu.au/~andrews/problem2graph
  63. 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. 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. 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)MATHCrossRefMathSciNetGoogle Scholar
  66. 66.
    Walsh, T.: Search in a small world. In: Proceedings of the 16th International Conference on AI, pp. 1172–1177 (1999)Google Scholar
  67. 67.
    Walshaw, C.: A multilevel algorithm for force-directed graph-drawing. J. Graph Algorithms Appl. 7(3), 253–285 (2003)MATHMathSciNetGoogle Scholar
  68. 68.
    Watts, D.J., Strogatz, S.H.: Collective dynamics of ‘small-world’ networks. Nature 393, 440–442 (1998.)CrossRefGoogle Scholar
  69. 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)Google Scholar
  70. 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)Google Scholar
  71. 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)Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2007

Authors and Affiliations

  1. 1.Institute for Formal Models and VerificationJohannes Kepler University LinzLinzAustria

Personalised recommendations