2

我想在连通图中找到包含某个顶点的最大集团。在 wiki 中,它说可以通过贪婪搜索找到最大集团。但是,这并不能确保您找到最大的集团 IMO。例如,

在此处输入图像描述

如果我想找到包含 A 的最大集团,并且我通过贪婪搜索来做到这一点,我最终可能会找到 (A,B),它小于另一个集团 (A,C,D)。

我想出了一个避免更小的团的天真的方法:首先找到与您的起点相邻的所有顶点,然后对于这些顶点中的每一个(我们称之为 x),计算 x 不相邻的其他顶点的数量。之后,删除与大多数顶点不相邻的顶点,并检查其余顶点是否形成一个团。如果没有,请重复该过程,直到其余的人形成一个集团。

我知道这是一个愚蠢的问题,但如果有人能告诉我这种方法是否正确,我将不胜感激。

4

1 回答 1

1

枚举图形中的所有最大团,然后检查 - 它们是否包含给定的顶点。

最大团枚举是NP-hard问题,即我们目前不知道解决它的有效方法。我已经尝试过MACE(MAXimal Clique Enumerater,ver. 2.2,它对我来说效果很好(它适用于具有数千个顶点的图)。您可以查看相应文章中的详细信息。

编辑如果您只想检查最大团是否包含顶点,您可以尝试cliquer来找到最大团。

于 2017-06-22T07:17:27.080 回答