Abstract
In this paper we present a depth first search algorithm to generate the family of maximal independent sets of an undirected graph lexicographically. Extensive computational experience on more than 1000 randomly generated graphs ranging from 20 to 220 vertices and from 20% to 90% density has shown that the proposed algorithm is (a) two to fifteen times faster than the Bron and Kerbosch algorithm and (b) at least three times faster than the algorithm of Tsukiyamaet al. and becomes increasingly more efficient as both the density and size of the graph increase. A further characteristic of the proposed algorithm is that it employs four one-dimensional arrays of working computer memory only, each of which has length equal to the number of vertices of the graph.
Zusammenfassung
Im folgenden wird ein Algorithmus zur lexikographischen Erzeugung aller maximalen unabhängigen Mengen eines nichtorientierten Graphen dargestellt. Die rechnerische Bearbeitung von mehr als 1000 zufällig erzeugten Graphen mit 20 bis 220 Eckpunkten und mit einer Dichte von 20% bis 90% hat gezeigt, daß der vorgeschlagene Algorithmus zwei- bis fünfzehnmal schneller als der Bron-Kerbosch-Algorithmus und mindestens dreimal schneller als der Algorithmus von Tsukiyamaet al. ist. Ferner wird er mit zunehmender Größe und Dichte der Graphen noch leistungsfähiger. Ein weiteres charakteristisches Merkmal des hier vorgeschlagenen Algorithmus ist, daß er nur vier eindimensionale Felder im Arbeitsspeicher benötigt; jedes dieser Felder hat eine Länge, die mit der jeweiligen Anzahl der Eckpunkte des Graphen identisch ist.
Similar content being viewed by others
References
Akkoyunlu, E.: The enumeration of all cliques of large graphs. SIAM. J. on Computing2, 1–6 (1973).
Auguston, J., Minker, J.: An analysis of some graph theoretical cluster techniques. J. ACM17, 571–588 (1970).
Bron, C., Kerbosch, J.: Finding all cliques of an undirected graph — Algorithm 457. Comm. ACM16, 575–577 (1973).
Gerhards, L., Lindenberg, W.: Clique detection for nondirected graphs: Two new algorithms. Computing21, 295–322 (1979).
Hakimi, S. K., Frank, H.: Maximum internally stable sets of a graph. J. of Math. Anal. and Appl.25, 296–308 (1969).
Harary, F., Ross, I. C.: A procedure for clique detection using the group matrix. Sociometry20, 205–215 (1957).
Knuth, D. E.: The art of computer programming, Vol. 1: Fundamental algorithms. New York: Addison-Wesley 1968.
Lawler, E. L., Lenstra, J. K., Rinnooy Kan H. G.: Generating all maximal independent sets: NP-Hardness and polynomial-time algorithms. SIAM. J. on Computing9, 558–565 (1980).
Moon, J. W., Moser, L.: On cliques in graphs. Israel J. Math.3, 23–28 (1965).
Mulligan, G., Corneil, D.: Corrections to Bierstone's algorithm for generating cliques. JACM19, 244–247 (1972).
Osteen, R. E.: Clique detection algorithms based on line addition and line removal. SIAM, J. Appl. Math.26, 126–135 (1974).
Tsouros, C.: Maximal independent sets of the theory of graphs (Theory-Algorithms). Unpublished doctoral thesis, University of Thessaloniki, 1980. (In Greek.)
Tsukiyama, S., Ide, M., Ariyoshi, H., Shirakawa, I.: A new algorithm for generating all the maximal independent sets. SIAM, J. on Computing6, 505–517 (1977).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Loukakis, E., Tsouros, C. A depth first search algorithm to generate the family of maximal independent sets of a graph lexicographically. Computing 27, 349–366 (1981). https://doi.org/10.1007/BF02277184
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02277184