使用贪婪算法找到最小独立支配集

时间:2016-11-07 18:10:45

标签: python algorithm graph-theory networkx independent-set

我开发了一种算法,该算法根据距离约束找到图的最小独立支配集。 (我使用Python和NetworkX生成图形并获得对)

该算法使用强力方法:

  • 查找所有可能的边对
  • 检查哪些节点满足距离约束
  • 查找所有可能的独立支配集
  • 比较找到的独立支配集并找到最小支配集

对于少量节点,它不会有所作为,但对于大数字,程序真的很慢。

有什么方法可以让它使用不同的方法更快地运行?

由于

1 个答案:

答案 0 :(得分:2)

不幸的是,找到最小独立支配集的问题是NP完全的。因此,任何已知的合理且完整的算法效率低下。

可能的方法是使用不完整的算法(也称为本地搜索)。 例如,已知以下算法具有因子(1 + log | V |)近似值:

 1.选择具有最大邻居数的节点,并将其添加到支配集中  2.从图中删除节点及其所有邻居  3.重复,直到图表中没有更多节点。