用于递归构造设置对象的从尽可能小的组成部分。
给定一个设置属于 整数(,, ...,)带有,贪婪算法可用于查找矢量系数的(,, ...,)这样的话
|
(1)
|
哪里是点积,对于某些给定的整数 。这可以通过以下方式实现对于, ...,和设置
|
(2)
|
哪里是楼层功能。现在定义表示和作为
|
(3)
|
如果在任何一步,都会找到一个表示。否则,将非零 具有最小值的项,全部设置对于,并根据
|
(4)
|
对于,…,1直到或者所有的可能性都已经用尽了。
例如,McNugget数字是仅使用表示的数字.采取并迭代应用该算法给出序列(0,0,3),(0,2,2),(2,1,2)因此,.62是一个麦乐鸡块数具有
|
(5)
|
如果任何 整数 可以用表示或使用序列1(,, ...), 那么这个序列称为完成序列.
贪婪算法还可用于将任意分数分解为古埃及分数在有限的步骤中。对于分数 ,找到最少的整数 这样的话即。,
|
(6)
|
哪里是天花板函数.然后找到最少的整数 这样的话。重复直到没有剩余。这个算法给出两个或更少的条件和,三个或更少的术语,四个或更少.
另请参见
硬币问题,完整序列,埃及分数,弗罗贝纽斯方程式,弗罗贝尼乌斯数,整数关系,背包问题,莱文·奥沙利文贪婪算法,McNugget编号,反向贪婪算法,平方数字,子集总和问题,西尔维斯特序列
与Wolfram一起探索| Alpha
工具书类
Wagon,S.“贪婪的硬币”http://library.wolfram.com/infocenter/MathSource/5187/.引用的关于Wolfram | Alpha
贪婪算法
引用如下:
埃里克·魏斯坦(Eric W.Weisstein)。“贪婪算法。”发件人数学世界--Wolfram Web资源。https://mathworld.wolfram.com/GreedyAlgorithm.html
受试者分类