为什么说01背包问题是NP完全问题,以及NPCNPH的区分。

tangcat123 2014-04-03 11:45:55
首先我对NP的概念比较模糊
百度了下,好像是说不能在多项式的时间内求解
我的理解是时间复杂度为O(N^2)之类的都不能算作NP,而O(2^N)是NP问题。
背包的复杂度最优不是O(N*V)么,这应该看做是在多项式内求解的吧,为何他是个NP问题 还是个NPC问题,那他是NPH问题不?
再说NPC问题
(1) 问题W是NP问题;
(2) 任何一个其他的NP问题都可以在多项式时间内转换为问题W。
这个2是啥意思啊,啥叫其他的NP问题,没看懂,能否举个例子说明下。
NPH:说围棋的必胜走法是一个NPH问题,为何?那么它是一个NPC问题么?又是为何?
迷惑ing。。。。。
...全文
4106 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
CZWin32768 2016-06-27
  • 打赏
  • 举报
回复
V非常大呢 你还觉得复杂度小么
qq_34152812 2016-03-03
  • 打赏
  • 举报
回复
时间复杂度为O(N^2)是多项式时间啊,那不就是NP问题吗?
那闯 2014-04-04
  • 打赏
  • 举报
回复
引用 10 楼 FancyMouse 的回复:
[quote=引用 9 楼 edwardvsnc 的回复:] P=NP 不是还没有证明出来吗? 我看迷糊了。 NP问题:是“不确定多項式”时间复杂度吧? 来自wiki: (注意缩写NP代表“Non-deterministic(非确定性)Polynomial(多项式)”而不是代表“Non-Polynomial(非多项式)。) 请指教。 谢谢。
>P=NP 不是还没有证明出来吗? 我看迷糊了。 对,所以我之前那句话是针对两种情况分别讨论。如果P!=NP一个答案,如果P=NP另一个答案。 >NP问题:是“不确定多項式”时间复杂度吧? 是。但是你如果存在一个多项式验证算法,那么我可以构造一个non-deterministic图灵机,non-deterministically猜测解,然后对于每一个猜测的解应用这个多项式验证算法。这就NP了。[/quote] 是我没看明白, 谢谢。
FancyMouse 2014-04-04
  • 打赏
  • 举报
回复
引用 9 楼 edwardvsnc 的回复:
P=NP 不是还没有证明出来吗? 我看迷糊了。 NP问题:是“不确定多項式”时间复杂度吧? 来自wiki: (注意缩写NP代表“Non-deterministic(非确定性)Polynomial(多项式)”而不是代表“Non-Polynomial(非多项式)。) 请指教。 谢谢。
>P=NP 不是还没有证明出来吗? 我看迷糊了。 对,所以我之前那句话是针对两种情况分别讨论。如果P!=NP一个答案,如果P=NP另一个答案。 >NP问题:是“不确定多項式”时间复杂度吧? 是。但是你如果存在一个多项式验证算法,那么我可以构造一个non-deterministic图灵机,non-deterministically猜测解,然后对于每一个猜测的解应用这个多项式验证算法。这就NP了。
tangcat123 2014-04-03
  • 打赏
  • 举报
回复
引用 2 楼 FancyMouse 的回复:
>NPH:说围棋的必胜走法是一个NPH问题,为何?那么它是一个NPC问题么?又是为何? 这怎么是NPH。如果是正式的围棋的话,棋盘大小固定19*19,顶多3^(19*19)个状态,复杂度上依然是O(1)。
你可不能这么说,,,,我对这个的理解是你走的步数是n,这n步的变化数是n的指数。
FancyMouse 2014-04-03
  • 打赏
  • 举报
回复
>NPH:说围棋的必胜走法是一个NPH问题,为何?那么它是一个NPC问题么?又是为何? 这怎么是NPH。如果是正式的围棋的话,棋盘大小固定19*19,顶多3^(19*19)个状态,复杂度上依然是O(1)。
FancyMouse 2014-04-03
  • 打赏
  • 举报
回复
>背包的复杂度最优不是O(N*V)么,这应该看做是在多项式内求解的吧 但是输入数据的大小(bit数)至多是O(N*logV)。所以复杂度里有一个V的话,对于输入数据的长度来说还是指数。 >还是个NPC问题,那他是NPH问题不? NP+NPH=NPC >这个2是啥意思啊,啥叫其他的NP问题,没看懂,能否举个例子说明下。 就是,任何其他NP问题都可以用问题W的算法来解决。也就是说W是某种意义上“最难”的,因为只要W能解了,其他的NP就能解出来了。在计算理论里的严格定义要用到规约(reduction),这是有严格定义的,去翻教科书。
那闯 2014-04-03
  • 打赏
  • 举报
回复
引用 8 楼 FancyMouse 的回复:
[quote=引用 5 楼 tangcat123 的回复:] 还有 能不能举个例子 他是NP问题但是他不是NPC和NPH问题。
注意P一定是NP。所以随便找个简单的P问题就可以了。如果P!=NP的话那所有的P都不是NPC(于是也不是NPH)。如果P=NP的话那得小心点挑。[/quote] P=NP 不是还没有证明出来吗? 我看迷糊了。
引用 4 楼 tangcat123 的回复:
[quote=引用 1 楼 FancyMouse 的回复:] >背包的复杂度最优不是O(N*V)么,这应该看做是在多项式内求解的吧 但是输入数据的大小(bit数)至多是O(N*logV)。所以复杂度里有一个V的话,对于输入数据的长度来说还是指数。 >还是个NPC问题,那他是NPH问题不? NP+NPH=NPC >这个2是啥意思啊,啥叫其他的NP问题,没看懂,能否举个例子说明下。 就是,任何其他NP问题都可以用问题W的算法来解决。也就是说W是某种意义上“最难”的,因为只要W能解了,其他的NP就能解出来了。在计算理论里的严格定义要用到规约(reduction),这是有严格定义的,去翻教科书。
NP的定义中,要求多项式时间内可以对该问题进行验证。对背包问题的验证是如何验证,时间复杂度为何看成多项式级的[/quote] NP问题:是“不确定多項式”时间复杂度吧? 来自wiki: (注意缩写NP代表“Non-deterministic(非确定性)Polynomial(多项式)”而不是代表“Non-Polynomial(非多项式)。) 请指教。 谢谢。
FancyMouse 2014-04-03
  • 打赏
  • 举报
回复
引用 5 楼 tangcat123 的回复:
还有 能不能举个例子 他是NP问题但是他不是NPC和NPH问题。
注意P一定是NP。所以随便找个简单的P问题就可以了。如果P!=NP的话那所有的P都不是NPC(于是也不是NPH)。如果P=NP的话那得小心点挑。
FancyMouse 2014-04-03
  • 打赏
  • 举报
回复
引用 4 楼 tangcat123 的回复:
[quote=引用 1 楼 FancyMouse 的回复:] >背包的复杂度最优不是O(N*V)么,这应该看做是在多项式内求解的吧 但是输入数据的大小(bit数)至多是O(N*logV)。所以复杂度里有一个V的话,对于输入数据的长度来说还是指数。 >还是个NPC问题,那他是NPH问题不? NP+NPH=NPC >这个2是啥意思啊,啥叫其他的NP问题,没看懂,能否举个例子说明下。 就是,任何其他NP问题都可以用问题W的算法来解决。也就是说W是某种意义上“最难”的,因为只要W能解了,其他的NP就能解出来了。在计算理论里的严格定义要用到规约(reduction),这是有严格定义的,去翻教科书。
NP的定义中,要求多项式时间内可以对该问题进行验证。对背包问题的验证是如何验证,时间复杂度为何看成多项式级的[/quote] 背包的判定版本是是否存在有>=k的解。那么对应的验证版本就是给定k也给定一个解。当有一个解的时候,直接加起来看它是不是>=k就能验证了。
FancyMouse 2014-04-03
  • 打赏
  • 举报
回复
引用 3 楼 tangcat123 的回复:
[quote=引用 2 楼 FancyMouse 的回复:] >NPH:说围棋的必胜走法是一个NPH问题,为何?那么它是一个NPC问题么?又是为何? 这怎么是NPH。如果是正式的围棋的话,棋盘大小固定19*19,顶多3^(19*19)个状态,复杂度上依然是O(1)。
你可不能这么说,,,,我对这个的理解是你走的步数是n,这n步的变化数是n的指数。[/quote] 为什么不能?顶多再加上劫的规则再多个维度状态。总状态数一定是常数。除非棋盘大小是n*n,这个n可变。
tangcat123 2014-04-03
  • 打赏
  • 举报
回复
还有 能不能举个例子 他是NP问题但是他不是NPC和NPH问题。
tangcat123 2014-04-03
  • 打赏
  • 举报
回复
引用 1 楼 FancyMouse 的回复:
>背包的复杂度最优不是O(N*V)么,这应该看做是在多项式内求解的吧 但是输入数据的大小(bit数)至多是O(N*logV)。所以复杂度里有一个V的话,对于输入数据的长度来说还是指数。 >还是个NPC问题,那他是NPH问题不? NP+NPH=NPC >这个2是啥意思啊,啥叫其他的NP问题,没看懂,能否举个例子说明下。 就是,任何其他NP问题都可以用问题W的算法来解决。也就是说W是某种意义上“最难”的,因为只要W能解了,其他的NP就能解出来了。在计算理论里的严格定义要用到规约(reduction),这是有严格定义的,去翻教科书。
NP的定义中,要求多项式时间内可以对该问题进行验证。对背包问题的验证是如何验证,时间复杂度为何看成多项式级的

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧