Skip to main content
Log in

Optimal Symmetry Breaking for Graph Problems

  • Published:
Mathematics in Computer Science Aims and scope Submit manuscript

Abstract

Symmetry breaking is a crucial technique to solve many graph problems. However, current state-of-the-art techniques break graph symmetries only partially, causing search algorithms to unnecessarily explore many isomorphic parts of the search space. We study properties of perfect symmetry breaking for graph problems. One promising and surprising result on small-sized graphs—up to order five—is that perfect symmetry breaking can be achieved using a compact propositional formula in which each literal occurs at most twice. At least for small graphs, perfect symmetry breaking can be expressed more compactly than the existing (partial) symmetry-breaking methods. We present several techniques to compute and analyze perfect symmetry-breaking formulas.

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.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. The isolators and CNF formulas mentioned in this paper are available at https://github.com/marijnheule/isolator.

References

  1. Konev, B., Lisitsa, A.: A SAT attack on the Erdős discrepancy conjecture. In: Sinz, C., Egly, U. (eds.) Theory and Applications of Satisfiability Testing-SAT 2014. Lecture Notes in Computer Science Series, vol. 8561, pp. 219–226. Springer, Berlin (2014)

    Chapter  Google Scholar 

  2. Heule, M.J.H., Kullmann, O., Marek, V.W.: Solving and verifying the Boolean Pythagorean Triples problem via Cube-and-Conquer. In: Proceedings of the 19th International Conference on Theory and Applications of Satisfiability Testing, pp. 228–245. Springer (2016)

  3. Crawford, J., Ginsberg, M., Luks, E., Roy, A.: Symmetry-breaking predicates for search problems. In: Proceedings of 5th International Conference on Knowledge Representation and Reasoning (KR96). Morgan Kaufmann, pp. 148–159 (1996)

  4. Graham, R.L., Rothschild, B.L., Spencer, J.H.: Ramsey Theory. A Wiley-Interscience Publication Series. Wiley, Hoboken (1990)

    Google Scholar 

  5. Dransfield, M.R., Liu, L., Marek, V.W., Truszczynski, M.: Satisfiability and computing van der Waerden numbers Electron. J. Comb. 11(1) (2004)

  6. Kouril, M., Paul, J.L.: The van der Waerden number W(2, 6) is 1132. Exp. Math. 17(1), 53–61 (2008)

    Article  MathSciNet  Google Scholar 

  7. Kullmann, O.: Green-Tao numbers and SAT. In: Strichman, O., Szeider, S. (eds.) Theory and Applications of Satisfiability Testing-SAT 2010. Lecture Notes in Computer Science Series, vol. 6175, pp. 352–362. Springer, Berlin (2010)

    Chapter  Google Scholar 

  8. Codish, M., Frank, M., Itzhakov, A., Miller, A.: Computing the Ramsey number \({R}(4,3,3)\) using abstraction and symmetry breaking. Constraints 21(3), 375–393 (2016)

    Article  MathSciNet  Google Scholar 

  9. McKay, B.D., Radziszowski, S.P.: \({R}(4, 5) = 25\). J. Graph Theory 19(3), 309–322 (1995)

    Article  MathSciNet  Google Scholar 

  10. Aloul, F.A., Sakallah, K.A., Markov, I.L.: Efficient symmetry breaking for boolean satisfiability. In: Gottlob, G., Walsh, T. (eds.) Proceedings of the Eighteenth International Joint Conference on Artificial Intelligence (IJCAI-03), Acapulco, Mexico, August 9–15, 2003, Morgan Kaufmann, pp. 271–276 (2003)

  11. Codish M., Miller A., Prosser P., Stuckey P.J.: Breaking symmetries in graph representation. In: Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence (IJCAI ’13), pp. 510–516. AAAI Press (2013)

  12. Radziszowski, S.P.: Small Ramsey numbers. Electron. J. Comb. DS1 (2014)

  13. Itzhakov, A., Codish, M.: Breaking symmetries in graph search with canonizing sets. Constraints 21(3), 357–374 (2016)

    Article  MathSciNet  Google Scholar 

  14. McKay, B.D.: Practical Graph Isomorphism. Technical Report Series. Department of Computer Science, Vanderbilt University, Nashville (1981)

    Google Scholar 

  15. Junttila, T., Kaski, P.: Engineering an efficient canonical labeling tool for large and sparse graphs. In: Proceedings of the Meeting on Algorithm Engineering and Experiments, pp. 135–149. SIAM (2007)

  16. Tseitin, G.S.: On the complexity of derivation in propositional calculus. In: Siekmann, J., Wrightson, G. (eds.) Automation of Reasoning, vol. 2, pp. 466–483. Springer, Berlin (1983)

    Chapter  Google Scholar 

  17. Brayton, R.K., Sangiovanni-Vincentelli, A.L., McMullen, C.T., Hachtel, G.D.: Logic Minimization Algorithms for VLSI Synthesis. Kluwer Academic Publishers, Norwell (1984)

    Book  Google Scholar 

  18. Ignatiev, A., Previti, A., Marques-Silva, J.: SAT-based formula simplification. In: Heule, M., Weaver, S. (eds.) Theory and Applications of Satisfiability Testing-SAT 2015. Lecture Notes in Computer Science Series, vol. 9340, pp. 287–298. Springer, Berlin (2015)

    Chapter  Google Scholar 

  19. Sinz, C.: Towards an optimal CNF encoding of Boolean cardinality constraints. In: Proceedings of the 11th International Conference on Principles and Practice of Constraint Programming (CP 2005), Sitges, Spain, pp. 827–831 (2005)

    Chapter  Google Scholar 

  20. Audemard, G., Simon, L.: Predicting learnt clauses quality in modern SAT solvers. In: Boutilier, C. (ed.) Proceedings of the 21st International Joint Conference on Artificial Intelligence (IJCAI 2009), Pasadena, California, USA, July 11–17, 2009, pp. 399–404 (2009)

  21. Thurley, M.: sharpSAT: Counting models with advanced component caching and implicit BCP. In: Proceedings of the 9th International Conference on Theory and Applications of Satisfiability Testing (SAT’06), pp. 424–429. Springer, Berlin (2006)

    Google Scholar 

Download references

Acknowledgements

The author is supported by the National Science Foundation under Grant No. CCF-1526760 and acknowledges the Texas Advanced Computing Center (TACC) at The University of Texas at Austin for providing grid resources that have contributed to the research results reported within this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marijn J. H. Heule.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Enumeration of Optimal Isolators for Graphs with Four Vertices

$$\begin{aligned}&\quad (\overline{ac}\vee {bc})\wedge (\overline{bc}\vee {ad})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{ad}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ab}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {ad})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {bc})\wedge (\overline{bd}\vee \overline{ab}\vee {ad})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{bc}\vee {ab}\vee {ad})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bc}\vee {bd})\wedge (\overline{ad}\vee \overline{ac}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{ab}\vee {ac}\vee {cd})\wedge (\overline{bd}\vee {cd})\wedge (\overline{cd}\vee {ad})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bc}\vee {bd})\wedge (\overline{ac}\vee {bd})\wedge (\overline{bd}\vee {ad})\wedge (\overline{bc}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{cd}\vee {ab}\vee {bd})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{bc}\vee {ac}\vee {ad})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ad})\wedge (\overline{ad}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bd})\wedge (\overline{cd}\vee \overline{ac}\vee {bd})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee {ad})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{ad}\vee {ab}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bd})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee {ad})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{ab}\vee {bd}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee {ad})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{cd}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bc}\vee {bd})\wedge (\overline{bd}\vee {ad})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{ac}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {bc}\vee {cd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {ad})\wedge (\overline{bc}\vee {ab}\vee {ad})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee \overline{ac}\vee {bd})\wedge (\overline{bd}\vee {ad})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{ad}\vee {bc}\vee {cd})\wedge (\overline{cd}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ad})\wedge (\overline{bd}\vee \overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bc}\vee {cd})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{ac}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee {bd})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {ad})\wedge (\overline{ac}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {ad})\wedge (\overline{bc}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {bc})\wedge (\overline{bc}\vee {ac}\vee {ad})\wedge (\overline{bd}\vee {ad})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee {ac}\vee {bc})\wedge (\overline{bd}\vee {ad})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bc}\vee \overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{ac}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bd}\vee {ad})\wedge (\overline{bc}\vee \overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{ac}\vee {ab}\vee {bd})\wedge (\overline{bc}\vee {ab}\vee {ad})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{ad}\vee {bc}\vee {bd})\wedge (\overline{bd}\vee {cd})\wedge (\overline{ac}\vee {cd})\wedge (\overline{cd}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{bc}\vee {ad}\vee {bd})\wedge (\overline{bd}\vee {cd})\wedge (\overline{ac}\vee {cd})\wedge (\overline{cd}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{ac}\vee {bd})\wedge (\overline{ad}\vee {bc}\vee {bd})\wedge (\overline{bd}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {ad}\vee {bc})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{bc}\vee {ad}\vee {bd})\wedge (\overline{ac}\vee {bd})\wedge (\overline{bd}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {ad}\vee {bc})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{ad}\vee {bc}\vee {cd})\wedge (\overline{ac}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{bd}\vee {ab}\vee {ad}\vee {bc})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{ac}\vee {cd})\wedge (\overline{bc}\vee {ad}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{bd}\vee {ab}\vee {ad}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{ab}\vee {cd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{bc}\vee {ab}\vee {bd})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{ab}\vee {cd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bd})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{ab}\vee {cd})\wedge (\overline{ad}\vee {ab}\vee {bd})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{ab}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bd})\\ \end{aligned}$$
$$\begin{aligned}&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bc}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{ac}\vee {bc})\wedge (\overline{bc}\vee {ad}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{ab}\vee {cd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {ad}\vee {bc})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{ab}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {ad}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {bc})\wedge (\overline{bc}\vee {bd})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{ab}\vee {bc}\vee {cd})\wedge (\overline{cd}\vee \overline{bc}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ab}\vee {ac}\vee {cd})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {bc})\wedge (\overline{bc}\vee {bd})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{bc}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ab}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {bc})\wedge (\overline{bc}\vee {bd})\wedge (\overline{ab}\vee {bc}\vee {cd})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {ab}\vee {ad}\vee {cd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bd}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{ad}\vee {ab}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee \overline{ac}\vee {bd})\wedge (\overline{bc}\vee {ad}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{ab}\vee {ac}\vee {cd})\wedge (\overline{bd}\vee {cd})\wedge (\overline{cd}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {ac}\vee {bc})\wedge (\overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bc}\vee {cd})\wedge (\overline{cd}\vee \overline{ac}\vee {bd})\wedge (\overline{cd}\vee {ab}\vee {bd})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {ad}\vee {bd})\wedge (\overline{ac}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{ad}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{cd}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee \overline{ac}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bc})\wedge (\overline{ad}\vee {ab}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{ab}\vee {bd}\vee {cd})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bc}\vee {ab}\vee {ac}\vee {cd})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{bc}\vee {ab}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bd})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{ab}\vee {bd}\vee {cd})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{bc}\vee \overline{ab}\vee {ac})\wedge (\overline{bc}\vee {ab}\vee {ad}\vee {cd})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {bd})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{ab}\vee {bc}\vee {cd})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {bd})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{bd}\vee \overline{ab}\vee {ac})\wedge (\overline{cd}\vee {ab}\vee {bc})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{ac}\vee {ad}\vee {bd})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bc})\wedge (\overline{ad}\vee {ab}\vee {bc})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {ac}\vee {bc})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{ac}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {ad}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{ac}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {ad}\vee {cd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bc})\wedge (\overline{ad}\vee {ab}\vee {bc})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee \overline{ac}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bc}\vee {ad}\vee {cd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bc}\vee {ad}\vee {cd})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{cd}\vee \overline{ac}\vee {ad})\wedge (\overline{ac}\vee {ab}\vee {bd})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee \overline{ac}\vee {ad})\wedge (\overline{cd}\vee {bc})\wedge (\overline{ad}\vee {ab}\vee {bc})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{bd}\vee \overline{ad}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {bd})\wedge (\overline{ad}\vee {ab}\vee {bc})\\&\quad (\overline{ab}\vee {ac})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{bd}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {bc})\wedge (\overline{ac}\vee {ab}\vee {bd})\\ \end{aligned}$$
$$\begin{aligned}&\quad (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {ac}\vee {bc})\wedge (\overline{bd}\vee {bc})\wedge (\overline{bc}\vee \overline{ab}\vee {cd})\wedge (\overline{bd}\vee {ac}\vee {cd})\wedge (\overline{cd}\vee {bd})\\&\quad (\overline{ad}\vee {ac})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{ac}\vee {ad}\vee {bd})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bc})\wedge (\overline{cd}\vee \overline{ad}\vee {bc})\\&\quad (\overline{ad}\vee {ac})\wedge (\overline{ad}\vee {bc})\wedge (\overline{bc}\vee \overline{ac}\vee {ad})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {bc})\wedge (\overline{ac}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {ac})\wedge (\overline{ad}\vee {bc})\wedge (\overline{bc}\vee {bd})\wedge (\overline{ab}\vee {bc}\vee {cd})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{bd}\vee {ab}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {ac})\wedge (\overline{ac}\vee {bc})\wedge (\overline{bc}\vee {bd})\wedge (\overline{bd}\vee {bc}\vee {cd})\wedge (\overline{ac}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {bc})\\&\quad (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {bd})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {bc})\wedge (\overline{ad}\vee \overline{ab}\vee {cd})\wedge (\overline{ab}\vee {bc}\vee {cd})\wedge (\overline{cd}\vee \overline{ad}\vee {ac})\\&\quad (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee {ac})\wedge (\overline{ad}\vee {bd})\wedge (\overline{ac}\vee {bc}\vee {bd})\wedge (\overline{bd}\vee {cd})\wedge (\overline{cd}\vee \overline{bc}\vee {ad})\wedge (\overline{cd}\vee {ab}\vee {ad})\\&\quad (\overline{ad}\vee \overline{ac}\vee {bc})\wedge (\overline{bc}\vee {ad})\wedge (\overline{bc}\vee {ac})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {ac}\vee {ad})\wedge (\overline{ac}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {ad})\\&\quad (\overline{ac}\vee {bc})\wedge (\overline{bc}\vee {ac})\wedge (\overline{bc}\vee {ad})\wedge (\overline{ad}\vee {bd})\wedge (\overline{bd}\vee {ad}\vee {cd})\wedge (\overline{ac}\vee \overline{ab}\vee {cd})\wedge (\overline{cd}\vee {ab}\vee {ad})\\ \end{aligned}$$

Appendix B: Enumeration of Optimal Isolators for Graphs with Five Vertices

$$\begin{aligned} P_{5{\mathrm{a}}}:= & {} (\overline{ab}\vee {de})\wedge ({ac}\vee \overline{bc})\wedge (\overline{ac}\vee {cd})\wedge ({ae}\vee \overline{de})\wedge (\overline{ae}\vee {bd})\wedge (\overline{bd}\vee {be})\wedge ({ac}\vee \overline{cd}\vee {ce})\wedge \phantom {x}\\&({ad}\vee \overline{be}\vee {cd})\wedge ({ad}\vee \overline{be}\vee \overline{ce})\wedge ({ae}\vee {bc}\vee \overline{ce})\wedge (\overline{ae}\vee \overline{bc}\vee {ce})\wedge (\overline{ac}\vee \overline{ad}\vee {bc}\vee \overline{bd})\\ P_{5{\mathrm{b}}}:= & {} (\overline{ab}\vee {de})\wedge ({ac}\vee \overline{bc})\wedge (\overline{ac}\vee {cd})\wedge ({ae}\vee \overline{bd})\wedge (\overline{ae}\vee {be})\wedge ({bd}\vee \overline{de})\wedge ({ac}\vee {ad}\vee \overline{be})\wedge \phantom {x}\\&({ac}\vee {bd}\vee \overline{cd})\wedge ({ad}\vee \overline{bc}\vee \overline{be})\wedge ({ae}\vee {bc}\vee \overline{ce})\wedge (\overline{ac}\vee {bc}\vee \overline{bd}\vee \overline{ce})\wedge (\overline{ad}\vee \overline{ae}\vee \overline{cd}\vee {ce})\\ P_{5{\mathrm{c}}}:= & {} (\overline{ab}\vee {de})\wedge (\overline{ac}\vee {bc})\wedge ({ad}\vee \overline{de})\wedge (\overline{ad}\vee {be})\wedge ({ae}\vee \overline{be})\wedge (\overline{bc}\vee {cd})\wedge ({ac}\vee \overline{bc}\vee \overline{de})\wedge \phantom {x}\\&({ac}\vee {be}\vee \overline{ce})\wedge (\overline{ac}\vee \overline{ae}\vee {bd})\wedge ({ad}\vee {bc}\vee \overline{cd})\wedge (\overline{ae}\vee {bc}\vee {bd})\wedge (\overline{bd}\vee \overline{be}\vee \overline{cd}\vee {ce})\\ P_{5{\mathrm{d}}}:= & {} (\overline{ac}\vee {bc})\wedge ({ad}\vee \overline{de})\wedge (\overline{ad}\vee {be})\wedge ({ae}\vee \overline{be})\wedge (\overline{ae}\vee {bd})\wedge (\overline{bc}\vee {cd})\wedge (\overline{ab}\vee \overline{bc}\vee {de})\wedge \phantom {x}\\&(\overline{ab}\vee {ce}\vee {de})\wedge ({ac}\vee \overline{bc}\vee \overline{ce})\wedge ({ae}\vee {bc}\vee \overline{ce})\wedge (\overline{be}\vee \overline{cd}\vee {ce})\wedge ({ab}\vee {ad}\vee {bc}\vee \overline{cd})\\ P_{5{\mathrm{e}}}:= & {} ({ac}\vee \overline{bc})\wedge (\overline{ac}\vee {bc})\wedge ({ad}\vee \overline{ae})\wedge (\overline{ad}\vee {be})\wedge ({ae}\vee \overline{bd})\wedge (\overline{cd}\vee {ce})\wedge ({ab}\vee {bd}\vee \overline{be})\wedge \phantom {x}\\&({ad}\vee {bc}\vee \overline{ce})\wedge (\overline{ad}\vee {bd}\vee \overline{de})\wedge (\overline{bc}\vee \overline{be}\vee {cd})\wedge (\overline{ab}\vee \overline{ac}\vee \overline{cd}\vee {de})\wedge (\overline{ab}\vee {bc}\vee {ce}\vee {de})\\ P_{5{\mathrm{f}}}:= & {} ({ac}\vee \overline{bc})\wedge (\overline{ac}\vee {bc})\wedge ({ad}\vee \overline{bd})\wedge (\overline{ad}\vee {be})\wedge (\overline{ae}\vee {bd})\wedge ({cd}\vee \overline{ce})\wedge ({ab}\vee {ae}\vee \overline{be})\wedge \phantom {x}\\&(\overline{ac}\vee \overline{be}\vee {ce})\wedge ({ad}\vee {bc}\vee \overline{cd})\wedge (\overline{ad}\vee {ae}\vee \overline{de})\wedge (\overline{ab}\vee \overline{ac}\vee \overline{ce}\vee {de})\wedge (\overline{ab}\vee {bc}\vee {cd}\vee {de})\\ P_{5{\mathrm{g}}}:= & {} (\overline{ab}\vee {de})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ac}\vee {cd})\wedge ({ad}\vee \overline{be})\wedge (\overline{ae}\vee {bd})\wedge (\overline{bd}\vee {be})\wedge (\overline{cd}\vee {ce})\wedge \phantom {x}\\&({ab}\vee {cd}\vee \overline{ce})\wedge (\overline{ad}\vee {ae}\vee \overline{cd})\wedge (\overline{ad}\vee {bd}\vee {ce})\wedge (\overline{ab}\vee {ac}\vee \overline{ae}\vee \overline{ce})\wedge ({ae}\vee {bc}\vee {cd}\vee \overline{de})\\ P_{5{\mathrm{h}}}:= & {} (\overline{ab}\vee {de})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ac}\vee {cd})\wedge ({ad}\vee \overline{bd})\wedge (\overline{ae}\vee {be})\wedge ({bd}\vee \overline{be})\wedge (\overline{cd}\vee {ce})\wedge \phantom {x}\\&({ab}\vee {cd}\vee \overline{ce})\wedge (\overline{ad}\vee {ae}\vee {bc})\wedge (\overline{ad}\vee {ae}\vee \overline{cd})\wedge ({be}\vee {ce}\vee \overline{de})\wedge (\overline{ab}\vee {ac}\vee \overline{ae}\vee \overline{ce})\\ \end{aligned}$$
$$\begin{aligned} P_{5{\mathrm{i}}}:= & {} (\overline{ab}\vee {de})\wedge (\overline{ac}\vee {bc})\wedge (\overline{ac}\vee {cd})\wedge ({ad}\vee \overline{bd})\wedge (\overline{ae}\vee {be})\wedge ({bd}\vee \overline{be})\wedge (\overline{cd}\vee {ce})\wedge \phantom {x}\\&({ab}\vee {cd}\vee \overline{ce})\wedge (\overline{ad}\vee {ae}\vee \overline{cd})\wedge (\overline{ad}\vee {be}\vee {ce})\wedge (\overline{ab}\vee {ac}\vee \overline{ae}\vee \overline{ce})\wedge ({ae}\vee {bc}\vee {cd}\vee \overline{de})\\ P_{5{\mathrm{j}}}:= & {} ({ad}\vee \overline{de})\wedge (\overline{ad}\vee {be})\wedge ({ae}\vee \overline{bd})\wedge (\overline{bc}\vee {cd})\wedge ({bd}\vee \overline{be})\wedge (\overline{cd}\vee {ce})\wedge ({ab}\vee {ac}\vee {ad}\vee \overline{ce})\wedge \phantom {x}\\&(\overline{ab}\vee \overline{bc}\vee {de})\wedge (\overline{ab}\vee {cd}\vee {de})\wedge (\overline{ac}\vee {ce}\vee {de})\wedge (\overline{ab}\vee {ac}\vee \overline{be}\vee \overline{ce})\wedge (\overline{ac}\vee {bc}\vee \overline{be}\vee \overline{ce})\\ P_{5{\mathrm{k}}}:= & {} ({ad}\vee \overline{be})\wedge (\overline{ad}\vee {bd})\wedge ({ae}\vee \overline{bd})\wedge (\overline{bc}\vee {cd})\wedge ({be}\vee \overline{de})\wedge (\overline{cd}\vee {ce})\wedge ({ab}\vee {ac}\vee {be}\vee \overline{ce})\wedge \phantom {x}\\&(\overline{ab}\vee \overline{bc}\vee {de})\wedge (\overline{ab}\vee {cd}\vee {de})\wedge (\overline{ac}\vee {ce}\vee {de})\wedge (\overline{ab}\vee {ac}\vee \overline{ad}\vee \overline{ce})\wedge (\overline{ac}\vee \overline{ad}\vee {bc}\vee \overline{ce})\\ P_{5{\mathrm{l}}}:= & {} (\overline{ab}\vee {de})\wedge (\overline{ac}\vee {bc})\wedge ({ad}\vee \overline{ae})\wedge (\overline{ad}\vee {be})\wedge ({ae}\vee \overline{bd})\wedge ({cd}\vee \overline{ce})\wedge ({ab}\vee {ac}\vee \overline{be}\vee {ce})\wedge \phantom {x}\\&(\overline{ac}\vee \overline{ae}\vee {ce})\wedge ({ad}\vee \overline{bc}\vee {cd})\wedge (\overline{ab}\vee {ac}\vee \overline{be}\vee \overline{cd})\wedge ({ac}\vee {bd}\vee \overline{cd}\vee {de})\wedge (\overline{bc}\vee {bd}\vee \overline{cd}\vee \overline{de})\\ P_{5{\mathrm{m}}}:= & {} (\overline{ab}\vee {ac})\wedge (\overline{ac}\vee {ad})\wedge (\overline{bc}\vee {de})\wedge ({bd}\vee \overline{de})\wedge (\overline{bd}\vee {ce})\wedge ({be}\vee \overline{ce})\wedge ({ab}\vee \overline{ae}\vee {ce})\wedge \phantom {x}\\&(\overline{ab}\vee \overline{be}\vee {cd})\wedge ({ac}\vee \overline{ad}\vee {bd})\wedge ({ac}\vee \overline{be}\vee {cd})\wedge (\overline{ac}\vee \overline{ae}\vee {bc}\vee \overline{bd})\wedge (\overline{ad}\vee {ae}\vee \overline{cd}\vee \overline{ce})\\ P_{5{\mathrm{n}}}:= & {} (\overline{ab}\vee {ac})\wedge (\overline{ad}\vee {ae})\wedge ({bd}\vee \overline{ce})\wedge (\overline{bd}\vee {cd})\wedge ({be}\vee \overline{cd})\wedge (\overline{be}\vee {de})\wedge ({ab}\vee \overline{ac}\vee {cd})\wedge \phantom {x}\\&({ac}\vee \overline{ae}\vee {bd})\wedge (\overline{ac}\vee {ad}\vee \overline{bd})\wedge ({ab}\vee {ad}\vee {bc}\vee \overline{de})\wedge (\overline{ab}\vee \overline{bc}\vee \overline{be}\vee {ce})\wedge (\overline{ac}\vee \overline{ad}\vee {bc}\vee \overline{de})\\ P_{5{\mathrm{o}}}:= & {} (\overline{ac}\vee {ad})\wedge (\overline{ad}\vee {ae})\wedge (\overline{bc}\vee {de})\wedge ({bd}\vee \overline{ce})\wedge (\overline{bd}\vee {cd})\wedge (\overline{be}\vee {ce})\wedge (\overline{ab}\vee {ac}\vee \overline{be})\wedge \phantom {x}\\&(\overline{ab}\vee {ac}\vee {ce})\wedge (\overline{ac}\vee {bc}\vee \overline{de})\wedge ({be}\vee \overline{cd}\vee \overline{de})\wedge ({ab}\vee {ad}\vee \overline{ae}\vee {bc})\wedge ({ab}\vee {ad}\vee {be}\vee \overline{cd})\\ P_{5{\mathrm{p}}}:= & {} ({ac}\vee \overline{ad})\wedge (\overline{ac}\vee {ae})\wedge ({bc}\vee \overline{be})\wedge (\overline{bc}\vee {de})\wedge ({bd}\vee \overline{de})\wedge ({be}\vee \overline{cd})\wedge ({ab}\vee {ac}\vee \overline{ae})\wedge \phantom {x}\\&(\overline{ab}\vee {ad}\vee {bc})\wedge (\overline{ab}\vee \overline{bd}\vee {ce})\wedge (\overline{ad}\vee \overline{bc}\vee {cd})\wedge ({ae}\vee \overline{bd}\vee {ce})\wedge (\overline{ac}\vee {ad}\vee \overline{ce}\vee \overline{de})\\ \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Heule, M.J.H. Optimal Symmetry Breaking for Graph Problems. Math.Comput.Sci. 13, 533–548 (2019). https://doi.org/10.1007/s11786-019-00397-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11786-019-00397-5

Keywords

Mathematics Subject Classification

Navigation