为什么贪婪算法不适用于某些与美国货币不同的货币?

时间:2013-07-08 08:02:50

标签: algorithm greedy

要赚6.39美元,您可以选择:

  • $ 5 bill
  • $ 1账单赚6美元。
  • 25美分硬币,赚6.25美元
  • 10美分,赚6.35美元
  • 四个1¢硬币,赚6.39美元。

然而,如果货币的重量为1,7和10的硬币,它就不起作用。我的问题是,为什么贪心算法只能为一些权重[高效]工作?为满足贪婪算法同时最优的给定权重集满足哪些条件?

2 个答案:

答案 0 :(得分:2)

'A polynomial-time algorithm for the change-making problem' by David Pearson中检查了这个确切的问题。

不幸的是,它没有提供一个优雅的数学属性来回答这个问题。它基于以下事实:如果贪婪算法不起作用,反例将在有限数量的值中,并且这些值具有使得检查每个值的便宜的属性。

答案 1 :(得分:0)

本文可以找到一些答案:http://arxiv.org/pdf/0801.0120v2.pdf

(至少根据他们的摘要,我没有阅读整篇论文)