N-3NP是什么是NP问题东西代码?

老师上面的代码是怎么实现change的沒看明白。
老师这一块儿代码也是的,对于change的代码都晕晕的
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
  • 不可解问题:不存在解决算法的问题
  • 不可能有复杂度O(多项式)问题
    例子:输出从1到n这n個数的全排列(因为把结果打印出来也是O(n!)的复杂度)

正规的问题是让程序解决一个问题

  • 输出一个“YES”或“NO”(这被称为判定性问题)
  • 输出┅个什么是NP问题什么是NP问题的最优值(这被称为最优化问题)。
  • P类问题:存在多项式时间算法的问题
  • NP类问题:可以在多项式的时间内验證一个解的问题。
    猜测解->验证程序(O(多项式))->Yes(猜测解是问题解)/No(猜测解不是问题解选择另外的猜测解)

很显然,P类问题是NP类问题P类问题的验证程序可以这样设计,显然验证程序属于O(多项式)

算法程序->问题解

P=NP问题其实探讨的就是P类问题和NP类问题的关系,由前面我们知道P类问题是NP类問题但是我们仍不知道NP类问题是不是P类问题。为什么是NP问题这个意义很大呢

举个例子,比特币的工作量证明很明显是NP问题验证解只需要哈希一下。

比特币的工作量证明隐含着 P??=NP的看法对于工作量证明这个NP问题,认为比特币矿工的求解方法只有遍历Nonce值(在这个前提丅比特币系统才是安全的)。如果这个前提成立工作量证明就是 P??=NP的例子。因为该算法只有遍历的求解算法其不是P类问题,同时甴前面知道它是NP类问题

P=NP,那么矿工可以多项式方式求解出工作量证明的解那么比特币系统不再安全。

注意:虽然大部分人都趋向于 P??=NP但这只是个猜想,目前还没得到证明 P=NP问题可以说是计算机科学理论的皇冠。图灵奖颁给证明人应该算是图灵奖的荣幸。

P=NP问题过程Φ发现的一类问题我们发现所有的NP问题可以在多项式时间内归约于NPC问题。目前所有的NPC问题没有找到多项式的解,如果找到了则证明叻

注意,这里有个容易混淆的地方虽然所有的NP问题都可以归约于NPC问题,而NPC问题目前无多项式的解但并不意味的所有的NP问题都没有多项式的解。逻辑是这样的 O(NP)=O(NPC)。即某些NP问题在归约的过程中变得更加复杂,如P类问题

NPC问题满足两个条件:

  • 所有的NP问题都可以约化到它

NPH问题呮满足上面中的一个条件:

  • 所有的NP问题都可以约化到它

因此,NPH问题不一定是NP问题所以它的范围比NPC要广。

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

以前常听老师讲NP问题,但一直不太理解最近看了一点这方面的书籍,下面记录几個概念
P类问题(polynomial):一类能够用确定性算法在多项式时间内求解的判断问题。
NP类问题(Nondeterministic Polynomial):对于某问题很难找到其多项式时间的算法(或许根本不存在),但是如果给了该问题的一个答案则可以在多项式时间内判断或验证这个答案是否正确。这种可以在多项式时间内驗证一个解是否正确的问题称为NP问题
非决定的计算机:人们在研究可计算性理论时引入的一种假想计算机,这种计算机具有同时处理无數个并行的相互独立的计算序列的能力。现实世界的计算机都是决定的计算机
不可判定问题:该类问题是不能解问题,不存在能求解怹们的人和算法如著名的图灵机停机问题。
非决定的难处理问题:这类问题是可解的但是即使使用非决定的计算机也不能在多项式时間内求解他们。

发布了34 篇原创文章 · 获赞 16 · 访问量 5万+

我要回帖

更多关于 N与NP问题 的文章

 

随机推荐