贪心解的选择策略
我们定义贪心解的选择策略如下:
首先,不失一般性,我们忽略掉所有单个体积大于揹包容积的物品,这些物品是一定不会被选中的。
再将所有物品按照单位价值由大到小排序,分别为1,2…n,n+1…
不失一般性,我们假定我们取完前n个之后,恰好装不下第n+1个了,那么我们的贪心法策略如下:
取{n+1 , 1+2+…+n}作为我们的所得价值,其相对应的物品作为我们的放入方法。即,我们将第n+1个物品的价值和前n个物品的价值总和进行一次比较,取大的情况作为我们的策略。
为什么近似比不超过二
证明如下:
首先我们设最优解的总价值为max,首先一定有1+2+…+nmax,这个是显然的。
另外,还会有max1+2+…+n+1,我们可以想象,因为我们已经按照贪心法使得揹包内有物品的部分的密度趋近于最大了,我们可以再极端一点,违背0-1原则,将第n+1个物品也塞进来一部分,使得揹包正好被填满。那么这时候揹包的密度是不可能有其他情况比他大的,也就是说价值是要大于max的。那么若是完全把第n+1个物品算上,肯定也只能更大,这一来二去两次放缩,这个不等式显然成立了。
然后就是神来之笔,看好:
max
{n+1 , 1+2+…+n}
所以:
{n+1 , 1+2+…+n}
证毕
参考《近似算法设计与分析》 堵丁柱等