给定硬币面额,其中和是在范围内均匀分布的随机数。渐近地,贪婪算法使用这组面额对硬币的哪一部分产生最优找零?c 1 = 1 c 2 < c 3 < 。。< c n [ 2 ,N ]
答案以3种面额闻名; 但是一般情况呢?
给定硬币面额,其中和是在范围内均匀分布的随机数。渐近地,贪婪算法使用这组面额对硬币的哪一部分产生最优找零?c 1 = 1 c 2 < c 3 < 。。< c n [ 2 ,N ]
答案以3种面额闻名; 但是一般情况呢?
Answers:
这不是答案,但是也许这会为您或其他人指明正确的方向。
我发现D. Kozen和S. Zaks的论文名为“找零问题的最佳界限”,其中给出了硬币找零实例的贪心找零算法最佳的条件。我将使用它们的符号。
给定不同硬币 的硬币更换实例 的函数表示需要做出改变硬币的最佳数量和函数表示需要贪婪地做出改变硬币的数目,则如果,则存在范围内的反例
他们继续表明
如果对于范围中的每个, 则(即贪婪算法是最佳算法)。
这为我们提供了“有效”(直到伪多项式时间)测试,以确定硬币找零实例是否贪婪。
使用以上内容,我进行了简短的仿真,其结果以对数-对数比例绘制在下面
每个点代表所显示的10000个实例创建的平均值,并且每个元素都选择为独立的,但是在范围内是随机的。[ 1 ⋯ N ]
假设我们知道,对于,贪婪算法最优的概率随,从看图我就可能会冒险猜测贪婪算法最优的概率为:8
其中是从的范围内随机随机抽取的不同硬币是贪婪最优的概率(否则称为“规范”)。m N
在大的限制中,对于任何非平凡值,贪婪解决方案最优的概率迅速变为0 。如果上述等式成立,那么很容易看到,但是可能有其他看待它的方法给出相同的结论。例如,观察Borgs,Chayes,Mertens和Nair的“ 随机能量模型”,结果表明该能量在底部过于参差不齐,无法期望局部移动(即贪婪移动)提供最佳解决方案。这当然是针对数字分配问题的,仅用于提供一些直觉,而不是确定的答案。ñ
冒着回答您没有提出的问题的风险,我想指出,“现实世界”的硬币系统并不遵循硬币面额的统一分布。例如,美国至少有12种面额(包括纸币:)看起来不是均匀分布的。在较大的系统范围内,也许寻找其他分布来生成硬币面额可能会产生不平凡的结果。例如,幂律分布可能会产生与美国面额更为相似的硬币面额。