Finding all maximal cliques of a family of induced subgraphs - Baum, Daniel (Konrad-Zuse-Zentrum für Informationstechnik, 2003)
Abstract: "Many real world problems can be mapped onto graphs and solved with well-established efficient algorithms studied in graph theory. One such problem is the following: given a set of objects and an irreflexive and symmetric relation between these objects, find maximal subsets whose elements mutually satisfy this relation. This problem can be transformed to the problem of finding all cliques of an undirected graph by mapping each object onto a vertex of the graph and connecting any two vertices by an edge whose corresponding objects satisfy the given relation. In this paper we study a related problem, where all objects have a set of binary attributes, each of which is either 0 or 1. We want to find maximal subsets of objects not only mutually satisfying a given relation; but, in addition, all objects of a subset also need to have at least one common attribute with value 1. This problem can be mapped onto a set of induced subgraphs, where each subgraph represents a single attribute. For attribute i, its associated subgraph contains those vertices corresponding to the objects with attribute i set to 1. We introduce the notion of a maximal clique of a family, G, of induced subgraphs of an undirected graph, and show that determining all maximal cliques of G solves our problem. Furthermore, we present an efficient algorithm to compute all maximal cliques of G. The algorithm we propose is an extension of the widely used Bron-Kerbosch algorithm [6]."
Keywords: Branch and bound algorithms; Graph theory