Computing All Maximal Clique Partitions in a Graph
semanticscholar(2020)
摘要
A clique in a graph is a set of its vertices which are all connected to each other. A clique partition of a graph is a set of its disjoint cliques, which cover all the vertices of the graph. A partition is maximal, if no two cliques in it can be joined into a bigger one. Computing one maximal clique partition is a well-studied problem and several algorithms exist for it. In this paper, we consider the problem of computing all maximal clique partitions. We start from all maximal cliques of a graph and proceed by trying to make them disjoint, assigning shared vertices to one of the cliques they belong to. The challenge is to compute only the needed solutions. Our algorithm returns only maximal partitions, and each of them is computed once. Tests that detect failing branches early, guarantee that no false answer is first computed and then discarded. These properties make the branches of the algorithm’s search space independent from each other. Therefore, the process is easily parallelizable. Choosing shared vertices by some heuristics, known, e.g., from maximal clique partition algorithms, one can compute preferred partitions earlier than the others, and also stop computation after obtaining a certain number of solutions. The algorithm can be used in problems such as anti-unification with proximity relations or in the resource allocation tasks, when one looks for several alternative ways to allocate resources.
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要