我正在做以下练习:证明如果$ P \ neq NP $,则不存在用于背包问题(KP)的近似算法$ A $,使得$ \存在\ mathhbb {N} ,\ forall I \ in S:OPT(I)-P_A(I)\ leq k $其中$ OPT(I)$是实例$ I $的最优利润,$ P_A(I)$是由$计算得出的利润A $。
我知道KP有FPTAS $ A'$,它可以保证在任何实例$ I上获利$ P_ {A'}(I)\ geq(1-\ varepsilon)OPT(I)$ $和$ \ varepsilon> 0 $。
我的方法是制造矛盾。为此,我考虑$ A = A'$,目的是证明$ P_A(I)\ geq(1-\ varepsilon)OPT(I)\ geq ... \ geq OPT(I)-c $其中$ c \ (0,1)$中的一个常量。这样,对于$ \ varepsilon $的适当选择,我将证明我们在多项式时间内获得了最优解。但是,我很难选择$ \ varepsilon $。
我需要一些有关如何进行的建议。提前非常感谢!
答案 0 :(得分:0)
矛盾更加微妙。
通过将I'
I
倍的项的所有值增加来考虑从I
派生的实例n
。最优利润Opt(I')
是n
的最优利润的{倍,Opt(I)
乘以A
的最优利润,这两个问题的解决方案都由相同的一组项目构成(证明!)。
因此,如果Opt(I') - k
找到了Opt(I) - k/n
解决方案,它也会找到一个n
。对于任何给定的A
,使I
足够大,得出结论Opt(I) * (1 - eps)
会比eps
更好地解决任何实例n > k
。
对于整数值,取任何A'
就足够了。对于真实值,您需要做更多的工作,即证明eps
不是通用的,但必须依赖Property
。