Logic Programming with Max-Clique and its Application to Graph Coloring (Tool Description)

Authors Michael Codish, Michael Frank, Amit Metodi, Morad Muslimany

Thumbnail PDF


  • Filesize: 469 kB
  • 18 pages

Document Identifiers

Author Details

Michael Codish
Michael Frank
Amit Metodi
Morad Muslimany

Cite AsGet BibTex

Michael Codish, Michael Frank, Amit Metodi, and Morad Muslimany. Logic Programming with Max-Clique and its Application to Graph Coloring (Tool Description). In Technical Communications of the 33rd International Conference on Logic Programming (ICLP 2017). Open Access Series in Informatics (OASIcs), Volume 58, pp. 5:1-5:18, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


This paper presents pl-cliquer, a Prolog interface to the cliquer tool for the maximum clique problem. Using pl-cliquer facilitates a programming style that allows logic programs to integrate with other tools such as: Boolean satisfiability solvers, finite domain constraint solvers, and graph isomorphism tools. We illustrate this programming style to solve the Graph Coloring problem, applying a symmetry break that derives from finding a maximum clique in the input graph. We present an experimentation of the resulting Graph Coloring solver on two benchmarks, one from the graph coloring community and the other from the examination timetabling community. The implementation of pl-cliquer consists of two components: A lightweight C interface, connecting cliquer's C library and Prolog, and a Prolog module which loads the library. The complete tool is available as a SWI-Prolog module.
  • Logic Programming
  • Constraints
  • Maximum Clique


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Karen I Aardal, Stan PM Van Hoesel, Arie MCA Koster, Carlo Mannino, and Antonio Sassano. Models and solution techniques for frequency assignment problems. Annals of Operations Research, 153(1):79-129, 2007. Google Scholar
  2. Noga Alon and Ravi B. Boppana. The monotone circuit complexity of boolean functions. Combinatorica, 7(1):1-22, 1987. URL: http://dx.doi.org/10.1007/BF02579196.
  3. Béla Bollobás. Complete subgraphs are elusive. Journal of Combinatorial Theory, Series B, 21(1):1 - 7, 1976. URL: http://dx.doi.org/10.1016/0095-8956(76)90021-6.
  4. Immanuel M. Bomze, Marco Budinich, Panos M. Pardalos, and Marcello Pelillo. The Maximum Clique Problem, pages 1-74. Springer US, Boston, MA, 1999. URL: http://dx.doi.org/10.1007/978-1-4757-3023-4_1.
  5. R. L. Brooks. On colouring the nodes of a network. Mathematical Proceedings of the Cambridge Philosophical Society, 37(2):194-197, 004 1941. URL: http://dx.doi.org/10.1017/S030500410002168X.
  6. M W Carter and D G Johnson. Extended clique initialisation in examination timetabling. Journal of the Operational Research Society, 52(5):538-544, 2001. URL: http://dx.doi.org/10.1057/palgrave.jors.2601115.
  7. Michael W. Carter, Gilbert Laporte, and Sau Yan Lee. Examination timetabling: Algorithmic strategies and applications. Journal of the Operational Research Society, 47(3):373-383, 1996. URL: http://dx.doi.org/10.1057/jors.1996.37.
  8. Gregory J Chaitin, Marc A Auslander, Ashok K Chandra, John Cocke, Martin E Hopkins, and Peter W Markstein. Register allocation via coloring. Computer languages, 6(1):47-57, 1981. Google Scholar
  9. Michael Codish, Vitaly Lagoon, and Peter J. Stuckey. Logic programming with satisfiability. TPLP, 8(1):121-128, 2008. URL: http://dx.doi.org/10.1017/S1471068407003146.
  10. Stephen A. Cook. The complexity of theorem-proving procedures. In Proceedings of the Third Annual ACM Symposium on Theory of Computing, STOC '71, pages 151-158, New York, NY, USA, 1971. ACM. URL: http://dx.doi.org/10.1145/800157.805047.
  11. William H. E. Day and David Sankoff. Computational complexity of inferring phylogenies by compatibility. Systematic Zoology, 35(2):224-229, 1986. URL: http://www.jstor.org/stable/2413432.
  12. Michael Frank and Michael Codish. Logic programming with graph automorphism: Integrating nauty with Prolog (tool description). Theory and Practice of Logic Programming, 16(5-6):688-702, 009 2016. URL: http://dx.doi.org/10.1017/S1471068416000223.
  13. Ove Frank and David Strauss. Markov graphs. Journal of the American Statistical Association, 81(395):832-842, 1986. URL: http://www.jstor.org/stable/2289017.
  14. M. R. Garey and D. S. Johnson. " strong " NP-completeness results: Motivation, examples, and implications. J. ACM, 25(3):499-508, July 1978. URL: http://dx.doi.org/10.1145/322077.322090.
  15. Johan Håstad. Clique is hard to approximate within n^1-ε. Acta Math., 182(1):105-142, 1999. URL: http://dx.doi.org/10.1007/BF02392825.
  16. Russell Impagliazzo, Ramamohan Paturi, and Francis Zane. Which problems have strongly exponential complexity? Journal of Computer and System Sciences, 63(4):512 - 530, 2001. URL: http://dx.doi.org/10.1006/jcss.2001.1774.
  17. David J. Johnson and Michael A. Trick, editors. Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge, Workshop, October 11-13, 1993. American Mathematical Society, Boston, MA, USA, 1996. Google Scholar
  18. Richard M Karp. Reducibility among combinatorial problems. In Complexity of computer computations, pages 85-103. Springer, 1972. Google Scholar
  19. Ciaran McCreesh, Samba Ndojh Ndiaye, Patrick Prosser, and Christine Solnon. Clique and constraint models for maximum common (connected) subgraph problems. In Michel Rueher, editor, Principles and Practice of Constraint Programming - 22nd International Conference, CP 2016, Toulouse, France, September 5-9, 2016, Proceedings, volume 9892 of Lecture Notes in Computer Science, pages 350-368. Springer, 2016. URL: http://dx.doi.org/10.1007/978-3-319-44953-1_23.
  20. Ciaran McCreesh and Patrick Prosser. Multi-threading a state-of-the-art maximum clique algorithm. Algorithms, 6(4):618-635, 2013. URL: http://dx.doi.org/10.3390/a6040618.
  21. Ciaran McCreesh and Patrick Prosser. A parallel branch and bound algorithm for the maximum labelled clique problem. Optimization Letters, 9(5):949-960, 2015. URL: http://dx.doi.org/10.1007/s11590-014-0837-4.
  22. Nirbhay K Mehta. The application of a graph coloring method to an examination scheduling problem. Interfaces, 11(5):57-65, 1981. Google Scholar
  23. Isabel Méndez-Díaz and Paula Zabala. A branch-and-cut algorithm for graph coloring. Discrete Applied Mathematics, 154(5):826-847, 2006. Google Scholar
  24. Isabel Méndez-Díaz and Paula Zabala. A cutting plane algorithm for graph coloring. Discrete Applied Mathematics, 156(2):159-179, 2008. Google Scholar
  25. Amit Metodi and Michael Codish. Compiling finite domain constraints to SAT with BEE. TPLP, 12(4-5):465-483, 2012. URL: http://dx.doi.org/10.1017/S1471068412000130.
  26. Amit Metodi, Michael Codish, and Peter J. Stuckey. Boolean equi-propagation for concise and efficient SAT encodings of combinatorial problems. J. Artif. Intell. Res. (JAIR), 46:303-341, 2013. URL: http://dx.doi.org/10.1613/jair.3809.
  27. Sampo Niskanen and Patric R. J. Östergård. Cliquer user’s guide. Technical Report version 1.0, Communications Laboratory, Helsinki University of Technology, Espoo, Technical Report T48, 2003. URL: https://users.aalto.fi/~pat/cliquer.html.
  28. Patric R. J. Östergård. A fast algorithm for the maximum clique problem. Discrete Appl. Math., 120(1-3):197-207, August 2002. URL: http://dx.doi.org/10.1016/S0166-218X(01)00290-6.
  29. Patrick Prosser. Exact algorithms for maximum clique: A computational study. Algorithms, 5(4):545-587, 2012. URL: http://dx.doi.org/10.3390/a5040545.
  30. Rong Qu, Edmund K Burke, Barry McCollum, LT Merlot, and Sau Y Lee. A survey of search methodologies and automated system development for examination timetabling. Journal of scheduling, 12(1):55-89, 2009. Google Scholar
  31. Jean-Charles Régin. Using Constraint Programming to Solve the Maximum Clique Problem, pages 634-648. Springer Berlin Heidelberg, Berlin, Heidelberg, 2003. URL: http://dx.doi.org/10.1007/978-3-540-45193-8_43.
  32. Ram Samudrala and John Moult. A graph-theoretic algorithm for comparative modeling of protein structure. Journal of Molecular Biology, 279(1):287 - 302, 1998. URL: http://dx.doi.org/10.1006/jmbi.1998.1689.
  33. D. J. A. Welsh and M. B. Powell. An upper bound for the chromatic number of a graph and its application to timetabling problems. The Computer Journal, 10(1):85, 1967. URL: http://dx.doi.org/10.1093/comjnl/10.1.85.
  34. Jan Wielemaker, Tom Schrijvers, Markus Triska, and Torbjörn Lager. SWI-Prolog. Theory and Practice of Logic Programming, 12(1-2):67-96, 2012. Google Scholar
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail