Efficient Counting of Maximal Independent Sets in Sparse Graphs

  • Fredrik Manne
  • Sadia Sharmin
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7933)


There are a number of problems that require the counting or the enumeration of all occurrences of a certain structure within a given data set. We consider one such problem, namely that of counting the number of maximal independent sets (MISs) in a graph. Along with its complement problem of counting all maximal cliques, this is a well studied problem with applications in several research areas.

We present a new efficient algorithm for counting all MISs suitable for sparse graphs. Similar to previous algorithms for this problem, our algorithm is based on branching and exhaustively considering vertices to be either in or out of the current MIS. What is new is that we consider the vertices in a predefined order so that it is likely that the graph will decompose into multiple connected components. When this happens, we show that it is sufficient to solve the problem for each connected component, thus considerably speeding up the algorithm. We have performed extensive experiments comparing our algorithm with the previous best algorithms for this problem using both real world as well as synthetic input graphs. The results from this show that our algorithm outperforms the other algorithms and that it enables the solution of graphs where other approaches are clearly infeasible.

As there is a one-to-one correspondence between the MISs of a graph and the maximal cliques of its complement graph, it follows that our algorithm also solves the problem of counting the number of maximal cliques in a dense graph. To our knowledge, this is the first algorithm that can handle this problem.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bron, C., Kerbosch, J.: Finding all cliques of an undirected graph. Com. ACM 16, 575–577 (1973)zbMATHCrossRefGoogle Scholar
  2. 2.
    Cheng, J., Ke, Y., Fuu, W., Xu Yu, J.: Finding maximal cliques in massive networks. ACM Trans. Database Syst. 36(4), 21:1 – 21:34 (2011)Google Scholar
  3. 3.
    Cheng, J., Zhu, L., Ke, Y., Chu, S.: Fast algorithms for maximal clique enumeration with limited memory. In: Proc. of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD 2012, pp. 1240–1248. ACM, New York (2012)CrossRefGoogle Scholar
  4. 4.
    Eisenstat, S.C., Liu, J.W.H.: The theory of elimination trees for sparse unsymmetric matrices. SIAM J. Mat. Anal. App. 26(3), 686–705 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Eppstein, D.: All maximal independent sets and dynamic dominance for sparse graphs. ACM Trans. on Alg. 5 (2009)Google Scholar
  6. 6.
    Eppstein, D., Löffler, M., Strash, D.: Listing all maximal cliques in sparse graphs in near-optimal time. In: Cheong, O., Chwa, K.-Y., Park, K. (eds.) ISAAC 2010, Part I. LNCS, vol. 6506, pp. 403–414. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  7. 7.
    Eppstein, D., Strash, D.: Listing all maximal cliques in large sparse real-world graphs. In: Pardalos, P.M., Rebennack, S. (eds.) SEA 2011. LNCS, vol. 6630, pp. 364–375. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Gaspers, S., Kratsch, D., Liedloff, M.: On independent sets and bicliques in graphs. Journal of Graph Theoritic Concepts in Computer Science, 171–182 (2008)Google Scholar
  9. 9.
    George, A.: Nested dissection of a regular finite element mesh. SIAM J. on Num. Anal. 10(2), 345–363 (1973)zbMATHCrossRefGoogle Scholar
  10. 10.
    Johnson, D.S., Yannakakis, M., Papadimitriou, C.H.: On generating all maximal independent sets. Information Processing Letters 27, 119–123 (1988)MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Junosza-Szaniawski, K., Tuczyński, M.: Counting maximal independent sets in subcubic graphs. In: Bieliková, M., Friedrich, G., Gottlob, G., Katzenbeisser, S., Turán, G. (eds.) SOFSEM 2012. LNCS, vol. 7147, pp. 325–336. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  12. 12.
    Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G.: Generating all maximal independent sets: NP-hardness and polynomial time algorithms. SIAM J. Comp. 9, 558–565 (1980)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Lipton, R.J., Tarjan, R.E.: Applications of a planar separator theorem. SIAM J. Comp. 9(3), 615–627 (1980)MathSciNetzbMATHCrossRefGoogle Scholar
  14. 14.
    Loukakis, E., Tsouros, C.: A depth first search algorithm to generate the family of maximal independent sets of a graph lexicographically. Computing 4, 349–366 (1981)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Metis - serial graph partitioning and fill-reducing matrix ordering,
  16. 16.
    Moon, J.W., Moser, L.: On cliques in graphs. Israel J. of Math., 23–28 (1965)Google Scholar
  17. 17.
    Okamoto, Y., Uno, T., Uehara, R.: Linear-time counting algorithms for independent sets in chordal graphs. In: Kratsch, D. (ed.) WG 2005. LNCS, vol. 3787, pp. 433–444. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    Tomita, E., Tanaka, A., Takahashi, H.: The worst-case time complexity for generating all maximal cliques and computational experiments. Theor. Comput. Sci. 363, 28–42 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
  20. 20.
    Tsukiyama, S., Ide, M., Ariyoshi, H., Shirakawa, I.: A new algorithm for generating all maximal independent sets. SIAM J. Comp. 6, 505–517 (1977)MathSciNetzbMATHCrossRefGoogle Scholar
  21. 21.
    Wilf, H.S.: The number of maximal independent sets in a tree. SIAM J. Alg. Disc. Meth. 7(1), 125–130 (1986)MathSciNetzbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Fredrik Manne
    • 1
  • Sadia Sharmin
    • 1
  1. 1.Dep. of InformaticsUniv. of BergenNorway

Personalised recommendations