OneDay777的个人博客分享 http://blog.sciencenet.cn/u/OneDay777

博文

各种复杂性类型:P, NP

已有 4494 次阅读 2018-2-27 16:06 |个人分类:密码学基础|系统分类:科研笔记| 计算模型, 复杂性类型

 计算复杂性(computational complexity)理论是计算机科学的重要组成部分,同时也是密码学的理论基础之一,它提供了一种分析不同密码技术和算法的计算复杂性方法。一个算法的复杂性是指运算改算法所需的计算能力。算法的计算复杂性通常用时间复杂性T和空间复杂性S来度量。

 算法可以分为多项式时间(polynomial-time)算法、指数(exponential)算法和超多项式(superpoly-nomial)算法三类。具有多项式时间复杂性的算法族,其复杂性可表示为O(nm),其中是一个常数。具有指数时间复杂性的算法族,其时间复杂性可表示为O(tf(n)),这里,t是一个大于1的常数,f(n)为n的多项式函数。超多项式算法族的复杂性的复杂性可表示为O(rf(n)),其中r是一个常数,f(n)是大于常数而小于线性的函数

  概况的讲,计算机可以在多项式时间内解决的问题称为P类问题,计算机在多项式时间复杂度内不可以解决的问题称为NP类问题。P类问题是计算机能计算的,而NP类问题是计算机不能计算的,即NP类问题是一类困难问题。NP类问题中最困难的一类问题称为NP-完全问题,简称NPC问题。


 下面给出P, NPNP-完全的形式化定义:

   复杂度类P:如果存在一种确定性的图灵机M和一个多项式p(▪),并且满足:

    • 当输入字符串x时,M机器至多在p(|x|)步以后停止;

   • M(x)=1当且仅当x∈L。

   则称P是在(确定性)多项式时间内可识别的一类语言。

  惯例上将NP定义为可被非确定性的多项式时间图灵机识别语言类型。

   NP-完全如果一种语言是NP的,且每一种NP语言关于它都是多项式可约的,那么这种语言就是NP-完全的。




https://blog.sciencenet.cn/blog-3380268-1101462.html

上一篇:密码学基础——书单
下一篇:抽象代数初学者
收藏 IP: 223.93.188.*| 热度|

1 hmaoi

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-19 09:55

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部