Journal of Global Optimization

, Volume 37, Issue 1, pp 95–111 | Cite as

An Efficient Branch-and-bound Algorithm for Finding a Maximum Clique with Computational Experiments

Original Paper

Abstract

We present an exact and efficient branch-and-bound algorithm MCR for finding a maximum clique in an arbitrary graph. The algorithm is not specialized for any particular type of graph. It employs approximate coloring to obtain an upper bound on the size of a maximum clique along with an improved appropriate sorting of vertices. We demonstrate by computational experiments on random graphs with up to 15,000 vertices and on DIMACS benchmark graphs that in general, our algorithm decidedly outperforms other existing algorithms. The algorithm has been successfully applied to interesting problems in bioinformatics, image processing, design of quantum circuits, and design of DNA and RNA sequences for biomolecular computation.

Keywords

Maximum clique Algorithm Branch-and-bound Approximate coloring Computational experiments 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Akutsu, T., Hayashida, M., Bahadur, D.K.C., Tomita, E., Suzuki, J., Horimoto, K. Dynamic programming and clique based approaches for protein threading with profiles and constraints, IEICE Trans. on Fundamentals of Electronics, Communications and Computer Sciences E89-A 1215–1222 (2006): The preliminary version was presented in: Akutsu, T., Hayashida, M., Tomita, E., Suzuki, J., Horimoto, K.: Protein threading with profiles and constraints, Proc. IEEE Symposium on Bioinformatics and Bioengineering (BIBE 2004). pp. 537–544 (2004)Google Scholar
  2. Bahadur D.K.C., Akutsu T., Tomita E., Seki T., Fujiyama A. (2002) Point matching under non-uniform distortions and protein side chain packing based on efficient maximum clique algorithms. Genome Inform. 13, 143–152Google Scholar
  3. Bahadur D.K.C., Tomita E., Suzuki J., Horimoto K., Akutsu T. (2005) Protein side-chain packing problem: a maximum edge-weight clique algorithmic approach. J. Bioinform Comput. Biol. 3, 103–126CrossRefGoogle Scholar
  4. Bahadur D.K.C., Tomita E., Suzuki J., Horimoto K., Akutsu T. (2006) Protein threading with profiles and distance constraints using clique based algorithms. J. Bioinform. Comput. Biol. 4, 19–42CrossRefGoogle Scholar
  5. Balas E., Yu C.S. (1986) Finding a maximum clique in an arbitrary graph. SIAM J. Comput. 15, 1054–1068CrossRefGoogle Scholar
  6. Balas, E., Ceria, S., Cornuéjols, G., Pataki, G. Polyhedral methods for the maximum clique problem, In: Johnson and Trick (eds.) pp. 11–28 (1996)Google Scholar
  7. Bomze I.M., Budinich M., Pardalos P.M., Pelillo M. (1999). The Maximum Clique Problem. In: Du D.-Z., Pardalos P.M. (eds). Handbook of Combinatorial Optimization. Supplement Vol. A, Kluwer Academic Publishers, Dordrecht, pp. 1–74Google Scholar
  8. Bourjolly, J.-M., Gill, P., Laporte, G., Mercure, H. An exact quadratic 0-1 algorithm for the stable set problem, In: Johnson and Trick (eds.) pp. 53–73 (1996)Google Scholar
  9. Carraghan R., Pardalos P.M. (1990) An exact algorithm for the maximum clique problem. Oper. Res. Lett. 9, 375–382CrossRefGoogle Scholar
  10. Corno, F., Prinetto, P., Sonza Reorda, M. Using symbolic techniques to find the maximum clique in very large sparse graphs. Proc. European Design and Test Conference(EDTC 1995). pp. 320–324 (1995)Google Scholar
  11. Fahle, T. Simple and fast: Improving a branch-and-bound algorithm for maximum clique. European Symposium on Algorithms 2002, LNCS 2461. pp. 485–498 (2002)Google Scholar
  12. Fujii, T., Tomita, E. On efficient algorithms for finding a maximum clique. Technical Report of IECE, AL81-113. pp. 25–34 (1982)Google Scholar
  13. Hotta K., Tomita, E., Takahashi, H. A view-invariant human face detection method based on maximum cliques. Trans. IPSJ, 44, SIG14(TOM9), 57–70 (2003)Google Scholar
  14. Johnson, D.S., Trick, M.A. (eds.) Cliques, coloring, and satisfiability. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, vol. 26. American Mathematical Society Providence, RI (1996)Google Scholar
  15. Kobayashi, S., Kondo, T., Okuda, K., Tomita, E. (2003), Extracting globally structure free sequences by local structure freeness, In: Chen, J., Reif, J. (eds.): Proc. Ninth International Meeting on DNA Based Computers, p. 206 (2003)Google Scholar
  16. Nakui, Y., Nishino, T., Tomita, E., Nakamura, T. On the minimization of the quantum circuit depth based on a maximum clique with maximum vertex weight. Technical Report of RIMS, 1325, pp. 45–50. Kyoto University (2003)Google Scholar
  17. Östergård P.R.J. (2002) A fast algorithm for the maximum clique problem. Discrete Appl. Math. 120, 197–207CrossRefGoogle Scholar
  18. Pardalos P.M., Xue J. (1994) The maximum clique problem. J. Global Optim. 4, 301–328CrossRefGoogle Scholar
  19. Robson J.M. (1986) Algorithms for maximum independent sets. J. Algorithm 7, 425–440CrossRefGoogle Scholar
  20. Sewell E.C. (1998) A branch and bound algorithm for the stability number of a sparse graph. INFORMS J. Comput. 10, 438–447CrossRefGoogle Scholar
  21. Stix V. (2003) Target-oriented branch and bound method for global optimization. J. Global Optim. 26, 261–277CrossRefGoogle Scholar
  22. Tarjan R.E., Trojanowski A.E. (1977) Finding a maximum independent set. SIAM J. Comput. 6, 537–546CrossRefGoogle Scholar
  23. Tomita, E., Yamada, M. An algorithm for finding a maximum complete subgraph. Conference Records of IECE (Technical Report of the National Convention of IECE 1978), p. 8 (1978)Google Scholar
  24. Tomita, E., Kohata, Y., Takahashi, H. A simple algorithm for finding a maximum clique. Technical Report of the University of Electro-Communications, UEC-TR-C5(1) (1988)Google Scholar
  25. Tomita, E., Seki, T. An efficient branch-and-bound algorithm for finding a maximum clique. Proc. Discrete Mathematics and Theoretical Computer Science. LNCS 2731, pp. 278–289 (2003)Google Scholar
  26. Tomita, E., Kameda, T. (revised 2006), An efficient branch-and-bound algorithm for finding a maximum clique with computational experiments. Technical Report of the University of Electro-Communications, UEC-TR-CAS10-2005 (2005)Google Scholar
  27. Tomita, E., Nakagawa, T., Urabe, S. An experimental comparison of algorithms for finding a maximum clique. Technical Report of The University of Electro-Communications, UEC-TR-CAS3-2006 (2006)Google Scholar
  28. Tomita, E., Tanaka, A., Takahashi, H. (to appear), The worst-case time complexity for generating all maximal cliques and computational experiments, Theoretical Computer Science (An invited paper in the Special Issue on COCOON 2004). The preliminary version was presented in Tomita, E., Tanaka, A., Takahashi, H., The worst-case time complexity for generating all maximal cliques. Proc. International Computing and Combinatorics Conference (COCOON 2004), LNCS 3106. pp. 278–289.Google Scholar
  29. Wood D.R. (1977) An algorithm for finding a maximum clique in a graph. Operations Res. Lett. 21, 211–217CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media B.V. 2006

Authors and Affiliations

  1. 1.Department of Information and Communication EngineeringThe University of Electro-CommunicationsTokyoJapan

Personalised recommendations