一个问题的Decision Problem是NP-Complete,为什么其Optimization Problem是NP-hard的?

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

证明一个NP-complete问题的Optimization版本是NP-hard的


前言

提示:此处的讨论为非正式的讨论,我谨记录我踩坑的心得,有不严谨之处欢迎指正。

所有NP-Complete问题都是Decision Problem。给定一组输入I和一个值B,可以在多项式时间内验证:输入I产生的结果O和B的关系。

有若干NP-Complete问题对应有Optimization Problem。比如:斯坦纳树(Steiner Tree)问题是NP-Complete的,它的Optimization版本最小斯坦纳树(Steiner Minimal Tree)是NP-hard。

但是,在写作过程中,证明自己提出的问题Q是NP-hard的时候,会发现只有相近的NP-Complete的问题NPC可以规约(reduce)到Q,却找不到对应的NP-hard的证明。比如,能很容易搜索到Steiner Tree问题是NP-Complete的,Steiner Minimal Tree的问题却被一笔带过:因为SMT是ST的Optimization版本,因此SMT不比ST更简单,所以SMT是NP-hard的。

疑问因此产生:对啊,是显然成立,但是为什么?


一、Decision问题不会比Optimization问题更难

引用自Johnson, David S., and Michael R. Garey. Computers and intractability: A guide to the theory of NP-completeness. WH Freeman, 1979.

第二章,2.1节:
对于Decision Problem旅行商问题(TSP),一个界限B,一个城市集合C,城市间的开销集合D,是否存在一个路径,经过所有城市,其开销之和W≤B?

那么一个Decision问题是如何衍生自Optimization问题呢?我们可以通过将Optimization问题和一个带有可枚举的界B(a numerical bound B)的Decision问题联系到一起,并且问是否存在一个解不大于B?只要问题的cost函数可以简单评估是否大于B,那么对应的Decision问题一定不比Optimization问题更难。

总结:TSP的Decison问题不比Optimization问题更难,并且TSP是NP-Complete的,这两个条件加总证明其Optimization是NP-hard的。(第五章5.1节)

比如TSP的Optimization问题,我们需要在多项式时间内找到一条最小旅行路径,使之小于给定的边界B。又由于TSP是已知的NP-Complete问题,因此TSP的Optimization问题至少是不比Decision问题一样难。反过来(在第五章),TSP的Decision问题也不比其Optimization问题更简单。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值