[MIT6.006] 23. Computational Complexity 计算复杂度

Posted alvinai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[MIT6.006] 23. Computational Complexity 计算复杂度相关的知识,希望对你有一定的参考价值。

这节课主要讲的计算复杂度,一般有三种表达不同程度的计算复杂度,如下图所示:

技术图片

  • P:多项式时间;
  • EXP:指数时间;
  • R:有限时间内。

上图还给了一些问题的计算复杂度的对应结果,关于一些细节例如NP, NP-hard等,下面会深入讲到。

 

在现实应用中,大多数决策问题是不可计算的。

技术图片

我们先来看下NP是什么?

答:NP是一种计算复杂度,指在运气好的算法下,决策问题能在多项式时间下得到解决。另外,也可以被理解为:决策问题的解决方法能在多项式时间下被检查。百度给出的解释是:NP类问题所有的非确定性多项式时间可解的判定问题构成NP类问题

技术图片

俄罗斯方块就属于NP类问题,但是在数学界有个未解之谜,就是“是否P≠NP?”,通常的说法是认为,NP不能工程上的实现,而且解决问题比检查问题难,所以P≠NP。如果它们不相等,则俄罗斯方块的时间上的计算复杂度为NP-P,因为俄罗斯方块是个NP-hard问题(即每个子问题都属于NP问题)。

技术图片

 

在之前的算法课里,碰到过难解问题,通常做法是将它转化为可解问题去做。这种转化叫做Reduction。一些转化例子如下图所示:

技术图片

 

以上是关于[MIT6.006] 23. Computational Complexity 计算复杂度的主要内容,如果未能解决你的问题,请参考以下文章

[MIT6.006] 11. Integer Arithmetic, Karatsuba Multiplication 整型算术,Karatsuba乘法

[MIT6.006] 6. AVL Trees, AVL Sort AVL树,AVL排序

读bitcoin_pdf摘录及笔记_unfinished

non-deterministic-turing-machine

需要字符串解码帮助

PTYL23与PTYL23-1型电缆有啥区别?