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.
Similar content being viewed by others
References
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)
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)
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)
Barnes, J., Hut, P.: A hierarchical O(nlogn) force-calculation algorithm. Nature 324, 446–449 (1986)
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)
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)
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)
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)
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)
Biere, A.,Sinz, C.: Decomposing SAT problems into connected components. Journal on Satisfiability, Boolean Modeling and Computation 2, 191–198 (2006)
Bodlaender, H.L.: A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM J. Comput. 25(6), 1305–1317 (1996)
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)
Bryant, R.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986)
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)
Clarke, E.M., Biere, A., Raimi, R., Zhu, Y.: Bounded model checking using satisfiability solving. Form. Methods Syst. Des. 19(1), 7–34 (2001)
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)
Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (July 1962)
Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)
Dechter, R.: Bucket elimination: a unifying framework for reasoning. Artif. Intell. 113(1,2), 41–85 (1999)
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)
del Val, A.: Tractable classes for directional resolution. In: Proceedings 17th National Conference on AI, pp. 343–348. Austin, TX (2000)
Di Battista, G., Eades, P., Tamassia, R., Tollis, I.: Algorithms for automatic graph drawing: an annotated bibliography. Comput. Geom. 4, 235–282 (1994)
Downey, R.G. and Fellows, M.R.: Parameterized Complexity. Springer, Berlin Heidelberg New York (1999)
Eades, P.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)
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)
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)
Fleisher, H., Maissel, L.I.: An introduction to array logic. IBM J. Res. Dev. 19(2), 98–109 (1975)
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)
Fruchterman, T., Reingold, E.: Graph drawing by force-directed placement. Software – Practice and Experience 21(11), 1129–1164 (1991)
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)
Gallo, G., Longo, G., Pallottino, S.: Directed hypergraphs and applications. Discrete Appl. Math. 42(2), 177–201 (1993)
Gent, I.P., Walsh, T.: The SAT phase transition. In: Proceedings of the 11th European Conference on Artificial Intelligence, pp. 105–109 (1994)
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)
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)
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)
Gottlob, G., Scarcello, F., Sideri, M.: Fixed-parameter complexity in AI and nonmonotonic reasoning. Artif. Intell. 138(1,2), 55–86 (2002)
Greengard, L., Rokhlin, V.: A fast algorithm for particle simulations. J. Comp. Phys. 73, 325–348 (1987)
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)
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)
Kautz, H., Selman, B.: Planning as satisfiability. In: Proceedings of the 10th Europe Conference on Artificial Intelligence (ECAI’92), pp. 359–363. Wiley (1992)
Küchlin, W., Sinz, C.: Proving consistency assertions for automotive product data management. J. Autom. Reason. 24(1,2), 145–163 (February 2000)
Kullmann, O.: The SAT 2005 solver competition on random instances. Journal on Satisfiability, Boolean Modeling and Computation 2, 61–102 (2006)
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)
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)
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)
Monasson, R., Zecchina, R., Kirkpatrick, S., Selman, B., Troyansky, L.: Determining computational complexity from characteristic “phase transitions”. Nature 400(6740), 133–137 (1999)
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)
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)
Niedermeier, R.: Fixed-parameter Algorithms. Oxford Lecture Series in Mathematics and Its Applications. Oxford University Press (February 2006)
Park, T.J., Van Gelder, A.: Partitioning methods for satisfiability testing on large formulas. Inf. Comput. 162, 179–184 (2000)
Plaisted, D.A., Zhu, Y.: Ordered semantic hyper-linking. J. Autom. Reason. 25(3), 167–217 (2000)
Rish, I., Dechter, R.: Resolution versus search: Two strategies for SAT. J. Automated Reason. 24(1,2), 225–275 (February 2000)
Robertson, N., Seymour, P.D.: Graph minors, II: Algorithmic aspects of tree-width. J. Algorithms 7(3), 309–322 (1986)
Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965)
Cook, S.A.: The complexity of theorem proving procedures. In: 3rd Symposium on Theory of Computing, pp. 151–158. ACM Press (1971)
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)
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)
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)
Singer, J., Gent, I.P., Smaill, A.: Backbone fragility and the local search cost peak. J. Artif. Intell. Res. 12, 235–270 (2000)
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)
Slater, A.: Investigations into satisfiability search. Ph.D. thesis, NICTA, Australian National University, Acton, Australia (2003)
Slater, A.: Visualisation of satisfiability problems using connected graphs, March 2004. http://rsise.anu.edu.au/~andrews/problem2graph
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)
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)
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)
Walsh, T.: Search in a small world. In: Proceedings of the 16th International Conference on AI, pp. 1172–1177 (1999)
Walshaw, C.: A multilevel algorithm for force-directed graph-drawing. J. Graph Algorithms Appl. 7(3), 253–285 (2003)
Watts, D.J., Strogatz, S.H.: Collective dynamics of ‘small-world’ networks. Nature 393, 440–442 (1998.)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-007-9074-1