我试图在图中找到所有最大派系,而不会重叠。该函数max_cliques()
返回图中所有可能的最大派系,但我希望每个顶点仅包含在一个派系中 - 在它可以成为的最大派系中。
例如,如果 的输出max_cliques()
是以下派系:
{A,B,C}, {A,B,D}, {A,B,J,K}, {E,F,G,H}, {E,F,G,I}
我想删除一些派系,以便所有顶点都出现在一个派系中,所以最终的集合将是:
{A,B,J,K}, {E,F,G,H}
A 和 B 包含在 3 个 cliques 中,所以我想选择 cliques 以使最终集合包含尽可能多的顶点。如果有相同长度的两个可能的派系 - 随机选择一个。(我不介意不包括所有顶点)
我真的很感激一个解决这个问题的想法,即使没有深入了解派系的细节——问题基本上是如何删除包含重叠元素的最短“列表”。
提前致谢