We address the problem of enumerating all maximal clique-partitions of an undirected graph and present an algorithm based on the observation that every maximal clique-partition can be produced from the maximal clique-cover of the graph by assigning the vertices shared among maximal cliques, to belong to only one clique. This simple algorithm has the following drawbacks: (1) the search space is very large; (2) it finds some clique-partitions which are not maximal; and (3) some clique-partitions are found more than once. We propose two criteria to avoid these drawbacks. The outcome is an algorithm that explores a much smaller search space and guarantees that every maximal clique-partition is computed only once. The algorithm can be used in problems such as anti-unification with proximity relations or in resource allocation tasks when one looks for several alternative ways to allocate resources.
翻译:我们研究了无向图中所有极大团划分的枚举问题,并提出了一种基于以下观察的算法:每个极大团划分都可以通过将极大团之间共享的顶点仅分配给其中一个团,从图的极大团覆盖中产生。该简单算法存在以下缺陷:(1)搜索空间非常大;(2)会找到一些非极大的团划分;(3)某些团划分会被多次找到。我们提出了两个标准来避免这些缺陷。最终得到的算法探索了更小的搜索空间,并保证每个极大团划分仅被计算一次。该算法可用于带有邻近关系的反统一问题,或在需要寻找资源分配多种替代方案时应用于资源分配任务。