本地和贪婪算法有什么区别?

时间:2017-01-01 23:53:01

标签: algorithm greedy

我正在python中创建一个简单的LPT启发式算法,以解决时间表问题。

我正在使用的LPT算法是贪婪的。我很难理解贪婪算法和本地算法之间的区别。根据我的理解,贪婪算法是本地算法的一个例子。任何人都可以详细说明本地算法和贪婪算法的位置吗?

1 个答案:

答案 0 :(得分:2)

你应该能够找到一个相当精确的贪婪算法定义,因为有一个数学理论将它们与Matroids联系起来。例如,https://people.cs.umass.edu/~barring/cs611/lecture/4.pdf第一段说“贪婪算法试图通过选择局部最优的下一步来解决优化问题。” P 10描述了一种通用的贪婪算法,它通过对候选者进行排序并以非递增顺序检查候选者来产生最佳集合X,当不违反约束时将候选者添加到X.如果在幕后潜伏着一个Matroid,贪婪的算法将返回一个全局最佳答案。