SEA 2013: Experimental Algorithms pp 103-114

# Efficient Counting of Maximal Independent Sets in Sparse Graphs

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

## Abstract

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.

## References

1. 1.
Bron, C., Kerbosch, J.: Finding all cliques of an undirected graph. Com. ACM 16, 575–577 (1973)
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)
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)
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)
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)
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)
10. 10.
Johnson, D.S., Yannakakis, M., Papadimitriou, C.H.: On generating all maximal independent sets. Information Processing Letters 27, 119–123 (1988)
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)
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)
13. 13.
Lipton, R.J., Tarjan, R.E.: Applications of a planar separator theorem. SIAM J. Comp. 9(3), 615–627 (1980)
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)
15. 15.
Metis - serial graph partitioning and fill-reducing matrix ordering, http://glaros.dtc.umn.edu/gkhome/views/metis/
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)
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)
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)
21. 21.
Wilf, H.S.: The number of maximal independent sets in a tree. SIAM J. Alg. Disc. Meth. 7(1), 125–130 (1986)