scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Algorithm 457: finding all cliques of an undirected graph

01 Sep 1973-Communications of The ACM (ACM)-Vol. 16, Iss: 9, pp 575-577
TL;DR: Two backtracking algorithms are presented, using a branchand-bound technique [4] to cut off branches that cannot lead to a clique, and generates cliques in a rather unpredictable order in an attempt to minimize the number of branches to be traversed.
Abstract: Description bttroductian. A maximal complete subgraph (clique) is a complete subgraph that is not contained in any other complete subgraph. A recent paper [1] describes a number of techniques to find maximal complete subgraphs of a given undirected graph. In this paper, we present two backtracking algorithms, using a branchand-bound technique [4] to cut off branches that cannot lead to a clique. The first version is a straightforward implementation of the basic algorithm. It is mainly presented to illustrate the method used. This version generates cliques in alphabetic (lexicographic) order. The second version is derived from the first and generates cliques in a rather unpredictable order in an attempt to minimize the number of branches to be traversed. This version tends to produce the larger cliques first and to generate sequentially cliques having a large common intersection. The detailed algorithm for version 2 is presented here. Description o f the algorithm--Version 1. Three sets play an important role in the algorithm. (1) The set compsub is the set to be extended by a new point or shrunk by one point on traveling along a branch of the backtracking tree. The points that are eligible to extend compsub, i.e. that are connected to all points in compsub, are collected recursively in the remaining two sets. (2) The set candidates is the set of all points that will in due time serve as an extension to the present configuration of compsub. (3) The set not is the set of all points that have at an earlier stage already served as an extension of the present configuration of compsub and are now explicitly excluded. The reason for maintaining this set trot will soon be made clear. The core of the algorithm consists of a recursively defined extension operator that will be applied to the three sets Just described. It has the duty to generate all extensions of the given configuration of compsub that it can make with the given set of candidates and that do not contain any of the points in not. To put it differently: all extensions of compsub containing any point in not have already been generated. The basic mechanism now consists of the following five steps:
Citations
More filters
Journal ArticleDOI
TL;DR: A thorough exposition of community structure, or clustering, is attempted, from the definition of the main elements of the problem, to the presentation of most methods developed, with a special focus on techniques designed by statistical physicists.
Abstract: The modern science of networks has brought significant advances to our understanding of complex systems. One of the most relevant features of graphs representing real systems is community structure, or clustering, i. e. the organization of vertices in clusters, with many edges joining vertices of the same cluster and comparatively few edges joining vertices of different clusters. Such clusters, or communities, can be considered as fairly independent compartments of a graph, playing a similar role like, e. g., the tissues or the organs in the human body. Detecting communities is of great importance in sociology, biology and computer science, disciplines where systems are often represented as graphs. This problem is very hard and not yet satisfactorily solved, despite the huge effort of a large interdisciplinary community of scientists working on it over the past few years. We will attempt a thorough exposition of the topic, from the definition of the main elements of the problem, to the presentation of most methods developed, with a special focus on techniques designed by statistical physicists, from the discussion of crucial issues like the significance of clustering and how methods should be tested and compared against each other, to the description of applications to real networks.

9,057 citations


Cites methods from "Algorithm 457: finding all cliques ..."

  • ...The BronKerbosch method (Bron and Kerbosch, 1973) runs in a time growing exponentially with the size of the graph....

    [...]

Journal ArticleDOI
TL;DR: A thorough exposition of the main elements of the clustering problem can be found in this paper, with a special focus on techniques designed by statistical physicists, from the discussion of crucial issues like the significance of clustering and how methods should be tested and compared against each other, to the description of applications to real networks.

8,432 citations

Journal ArticleDOI
TL;DR: The present paper describes the SSM algorithm of protein structure comparison in three dimensions, which includes an original procedure of matching graphs built on the protein's secondary-structure elements, followed by an iterative three-dimensional alignment of protein backbone Calpha atoms.
Abstract: The present paper describes the SSM algorithm of protein structure comparison in three dimensions, which includes an original procedure of matching graphs built on the protein's secondary-structure elements, followed by an iterative three-dimensional alignment of protein backbone C_\alpha atoms. The SSM results are compared with those obtained from other protein comparison servers, and the advantages and disadvantages of different scores that are used for structure recognition are discussed. A new score, balancing the r.m.s.d. and alignment length N_{\rm align}, is proposed. It is found that different servers agree reasonably well on the new score, while showing considerable differences in r.m.s.d. and N_{\rm align}.

3,658 citations


Cites methods from "Algorithm 457: finding all cliques ..."

  • ...One of the most frequently used optimal graphmatching algorithms, based on maximal clique detection (Levi, 1972; Bron & Kerbosch, 1973), has time complexity of the order of O mn n , where n and m (n m) denote the size of input graphs....

    [...]

Journal ArticleDOI
TL;DR: In this article, the authors present a dynamic, firm-level study of the role of network resources in determining alliance formation and assesses the importance of firms' capabilities with alliance formation, and material resources as determinants of their alliance decisions.
Abstract: This paper presents a dynamic, firm-level study of the role of network resources in determining alliance formation. Such resources inhere not so much within the firm but reside in the interfirm networks in which firms are placed. Data from extensive fieldwork show that by influencing the extent to which firms have access to information about potential partners, such resources are an important catalyst for new alliances, especially because alliances entail considerable hazards. This study also assesses the importance of firms’ capabilities with alliance formation and material resources as determinants of their alliance decisions. I test this dynamic framework and its hypotheses about the role of time-varying network resources and firm capabilities with comprehensive longitudinal multi-industry data on the formation of strategic alliances by a panel of firms between 1970 and 1989. The results confirm field observations that accumulated network resources arising from firm participation in the network of accumulated prior alliances are influential in firms’ decisions to enter into new alliances. This study highlights the importance of network resources that firms derive from their embeddedness in networks for explaining their strategic behavior. Copyright © 1999 John Wiley & Sons, Ltd.

2,541 citations

Journal ArticleDOI
TL;DR: A new algorithm is introduced that attains efficiency by inferentially eliminating successor nodes in the tree search by means of a brute-force tree-search enumeration procedure and a parallel asynchronous logic-in-memory implementation of a vital part of the algorithm is described.
Abstract: Subgraph isomorphism can be determined by means of a brute-force tree-search enumeration procedure. In this paper a new algorithm is introduced that attains efficiency by inferentially eliminating successor nodes in the tree search. To assess the time actually taken by the new algorithm, subgraph isomorphism, clique detection, graph isomorphism, and directed graph isomorphism experiments have been carried out with random and with various nonrandom graphs. A parallel asynchronous logic-in-memory implementation of a vital part of the algorithm is also described, although this hardware has not actually been built. The hardware implementation would allow very rapid determination of isomorphism.

2,319 citations

References
More filters
Journal ArticleDOI
TL;DR: In this article, the maximum number of cliques possible in a graph with n nodes is determined and bounds are obtained for the number of different sizes of clique possible in such a graph.
Abstract: A clique is a maximal complete subgraph of a graph. The maximum number of cliques possible in a graph withn nodes is determined. Also, bounds are obtained for the number of different sizes of cliques possible in such a graph.

907 citations

Book
03 Feb 2019
TL;DR: A “branch and bound” algorithm is presented for solving the traveling salesman problem, where the set of all tours feasible solutions is broken up into increasingly small subsets by a procedure called branching.
Abstract: A “branch and bound” algorithm is presented for solving the traveling salesman problem. The set of all tours feasible solutions is broken up into increasingly small subsets by a procedure called branching. For each subset a lower bound on the length of the tours therein is calculated. Eventually, a subset is found that contains a single tour whose length is less than or equal to some lower bound for every tour. The motivation of the branching and the calculation of the lower bounds are based on ideas frequently used in solving assignment problems. Computationally, the algorithm extends the size of problem that can reasonably be solved without using methods special to the particular problem.

813 citations

Journal ArticleDOI
TL;DR: Several graph theoretic cluster techniques aimed at the automatic generation of thesauri for information retrieval systems are explored and two algorithms have been tested that find maximal complete subgraphs.
Abstract: Several graph theoretic cluster techniques aimed at the automatic generation of thesauri for information retrieval systems are explored. Experimental cluster analysis is performed on a sample corpus of 2267 documents. A term-term similarity matrix is constructed for the 3950 unique terms used to index the documents. Various threshold values, T, are applied to the similarity matrix to provide a series of binary threshold matrices. The corresponding graph of each binary threshold matrix is used to obtain the term clusters.Three definitions of a cluster are analyzed: (1) the connected components of the threshold matrix; (2) the maximal complete subgraphs of the connected components of the threshold matrix; (3) clusters of the maximal complete subgraphs of the threshold matrix, as described by Gotlieb and Kumar.Algorithms are described and analyzed for obtaining each cluster type. The algorithms are designed to be useful for large document and index collections. Two algorithms have been tested that find maximal complete subgraphs. An algorithm developed by Bierstone offers a significant time improvement over one suggested by Bonner.For threshold levels T ≥ 0.6, basically the same clusters are developed regardless of the cluster definition used. In such situations one need only find the connected components of the graph to develop the clusters.

241 citations

Journal ArticleDOI
TL;DR: The counterexamples to their and the modified version of the Bierstone algorithm for finding the set of cliques of a finite undirected linear graph are presented.
Abstract: Recently Augustson and Minker presented a version of the Bierstone algorithm for finding the set of cliques of a finite undirected linear graph. Their version contains two errors. In this paper the counterexamples to their version and the modified version of the Bierstone algorithm are presented.

75 citations

01 Jan 1972
TL;DR: The final author version and the galley proof are versions of the publication after peer review that features the final layout of the paper including the volume, issue and page numbers.
Abstract: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers.

20 citations