Effective Problem Solving Using SAT Solvers

Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 1125)


In this article we demonstrate how to solve a variety of problems and puzzles using the built-in SAT solver of the computer algebra system Maple. Once the problems have been encoded into Boolean logic, solutions can be found (or shown to not exist) automatically, without the need to implement any search algorithm. In particular, we describe how to solve the n-queens problem, how to generate and solve Sudoku puzzles, how to solve logic puzzles like the Einstein riddle, how to solve the 15-puzzle, how to solve the maximum clique problem, and finding Graeco-Latin squares.


SAT solving Maple n-queens problem Sudoku Logic puzzles 15-puzzle Maximum clique problem Graeco-Latin squares 


  1. 1.
    Archer, A.F.: A modern treatment of the 15 puzzle. Am. Math. Mon. 106(9), 793–799 (1999)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Bell, J., Stevens, B.: A survey of known results and research areas for \(n\)-queens. Discret. Math. 309(1), 1–31 (2009)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T.: Handbook of Satisfiability, Frontiers in Artificial Intelligence and Applications, vol. 185. IOS Press, Amsterdam (2009)zbMATHGoogle Scholar
  4. 4.
    Bose, R.C., Shrikhande, S.S., Parker, E.T.: Further results on the construction of mutually orthogonal Latin squares and the falsity of Euler’s conjecture. Can. J. Math. 12, 189–203 (1960)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Bose, R.C., Shrikhande, S.S.: On the falsity of Euler’s conjecture about the non-existence of two orthogonal Latin squares of order \(4t+2\). Proc. Natl. Acad. Sci. U.S.A. 45(5), 734–737 (1959)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Bright, C.: Maple applications by Curtis Bright.
  7. 7.
    Bright, C., Kotsireas, I., Ganesh, V.: A SAT+CAS method for enumerating Williamson matrices of even order. In: McIlraith, S., Weinberger, K. (eds.) Thirty-Second AAAI Conference on Artificial Intelligence, pp. 6573–6580. AAAI Press (2018)Google Scholar
  8. 8.
    Brüngger, A., Marzetta, A., Fukuda, K., Nievergelt, J.: The parallel search bench ZRAM and its applications. Ann. Oper. Res. 90, 45–63 (1999)MathSciNetCrossRefGoogle Scholar
  9. 9.
  10. 10.
    Cook, S.A.: The complexity of theorem-proving procedures. In: Proceedings of the Third Annual ACM Symposium on Theory of Computing, pp. 151–158. ACM (1971)Google Scholar
  11. 11.
    Euler, L.: Recherches sur un nouvelle espéce de quarrés magiques. Verhandelingen uitgegeven door het zeeuwsch Genootschap der Wetenschappen te Vlissingen, pp. 85–239 (1782)Google Scholar
  12. 12.
    Heule, M.J.H., Kullmann, O., Marek, V.W.: Solving very hard problems: cube-and-conquer, a hybrid SAT solving method. In: Sierra, C. (ed.) Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI-17, pp. 4864–4868. IJCAI (2017)Google Scholar
  13. 13.
    Johnson, D.S., Trick, M.A.: Cliques, coloring, and satisfiability: second DIMACS implementation challenge, 11–13 October 1993, vol. 26. American Mathematical Society (1996)Google Scholar
  14. 14.
    Kreher, D., Stinson, D.: Combinatorial Algorithms: Generation, Enumeration, and Search. Discrete Mathematics and Its Applications. Taylor & Francis, Routledge (1998)Google Scholar
  15. 15.
    Liang, J.H., Govind V.K., H., Poupart, P., Czarnecki, K., Ganesh, V.: An empirical study of branching heuristics through the lens of global learning rate. In: Gaspers, S., Walsh, T. (eds.) SAT 2017. LNCS, vol. 10491, pp. 119–135. Springer, Cham (2017). Scholar
  16. 16.
    Lynce, I., Ouaknine, J.: Sudoku as a SAT problem. In: 9th International Symposium on Artificial Intelligence and Mathematics (2006)Google Scholar
  17. 17.
    MacNeish, H.F.: Euler squares. Ann. Math. 23(2), 221–227 (1922)MathSciNetCrossRefGoogle Scholar
  18. 18.
    Nadel, B.A.: Representation selection for constraint satisfaction: a case study using \(n\)-queens. IEEE Intell. Syst. 5(3), 16–23 (1990)Google Scholar
  19. 19.
    Peterson, J.: Les 36 officieurs. Annuaire des Mathématiciens, pp. 413–427 (1902)Google Scholar
  20. 20.
    Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach. Pearson Education, London (2010)zbMATHGoogle Scholar
  21. 21.
    Slocum, J., Sonneveld, D.: The 15 Puzzle: How It Drove the World Crazy. Slocum Puzzle Foundation, Beverly Hills (2006)Google Scholar
  22. 22.
    Tarry, G.: Le problème des 36 officiers. Association Française pour l’Avancement des Sciences: Compte Rendu de la 29\({\text{me}}\) session en Paris 1900, pp. 170–203 (1901)Google Scholar
  23. 23.
    Tseitin, G.S.: On the complexity of derivation in propositional calculus. In: Slisenko, A.O. (ed.) Studies in Constructive Mathematics and Mathematical Logic, pp. 115–125 (1970)CrossRefGoogle Scholar
  24. 24.
    Wernicke, P.: Das Problem der 36 Offiziere. Jahresbericht der Deutschen Mathematiker-Vereinigung 19, 264–267 (1910)zbMATHGoogle Scholar
  25. 25.
    Zaikin, O., Kochemazov, S.: The search for systems of diagonal Latin squares using the SAT@home project. Int. J. Open Inf. Technol. 3(11), 4–9 (2015)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.University of WaterlooWaterlooCanada
  2. 2.MaplesoftWaterlooCanada
  3. 3.Wilfrid Laurier UniversityWaterlooCanada

Personalised recommendations