如果输入值很高,为什么需要为0-1背包近似解决方案?

时间:2019-01-09 13:53:48

标签: dynamic-programming knapsack-problem approximation

在极客的极客Link上,提到了“如果输入值很高,则0-1背包的解决方案将变得不可行,并且需要近似解决方案。”


在近似解(即FPTAS解)中,以这种方式修改对应于权重的值:-

  

k =(maxVal *ε)/ n

     

val'[i] = floor(val [i] / k)

然后应用相同的基于DP的解决方案。


我的怀疑是,基于DP的实际0-1背包的解决方案的复杂度取决于背包的重量和物品数量。它不涉及值,那么为什么如果值很高,那么我们需要近似解?这样做是否使近似解决方案的复杂性好于实际解决方案?

1 个答案:

答案 0 :(得分:0)

您是对的。我认为正确的句子是“如果输入的权重高,那么0-1背包的解决方案将变得不可行,并且需要一个近似的解决方案。”

我认为,在GeeksforGeeks帖子中,“输入值”是指“输入中给出的所有数字”;它包括权重和值。