手机版

百科游戏 手游攻略

多项式时间(多项式时间的定义)

百科 2025-12-25 08:46:52 手游攻略 阅读:497次

大家好,多项式时间相信很多的网友都不是很明白,包括多项式时间的定义也是一样,不过没有关系,接下来就来为大家分享关于多项式时间和多项式时间的定义的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

多项式时间的定义

多项式时间(Polynomialtime)在计算复杂度理论中,指的是一个问题的计算时间m(n)不大于问题大小n的多项式倍数。任何抽象机器都拥有一复杂度类,此类包括可于此机器以多项式时间求解的问题。

什么叫多项式时间算法

定义:若存在一个常数C,使得对于所有n>=0,都有|f(n)

<=

C*|g(n)|,则称函数f(n)是O(g(n))。时间复杂度是O(p(n))的算法称为多项式时间算法,这里p(n)是关于n的多项式。不能够这样限制时间复杂度的算法被称为指数时间算法。

例如:时间复杂度为O(nlog(n))、O(n^3)的算法都是多项式时间算法,时间复杂度为O(n^log(n))、O(n!)、O(2^n)的算法是指时间算法。

一个优化问题如果已经找到了多项式时间算法,则称该问题为多项式时间可解问题,并将这类问题的集合记为P,因此多项式时间可解问题就称为P类问题。

一个问题如果没有找到多项式时间算法,那么直觉上它是“难解”的,但又往往无法证明多项式时间算法的不存在性。由于在寻找有效算法上的失败未必一定意味着这样的算法不存在,这就给理论工作者带来了一个难题:一方面证明一个问题不存在多项式时间算法是困难的,至今尚未给出;另一方面有越来越多的问题无法给出多项式时间算法。同时,理论工作者又渴望解决此难题。为此,在20世纪70年代提供了一个漂亮的理论,它把这种失败归结为一个深刻的数据猜想,这个理论就是NP-完全性理论。

定义:给定一个判定问题,如果存在一个算法,对任何一个答案为“是”的实例I。该算法首先给出一个猜想,该猜想规模不超过I的输入长度的某个多项式函数,且验证猜想的正确性仅需多项式时间,则称该问题属于NP类。

定义:如果NP类中所有问题都可以多项式时间归约到NP类中某个问题x,则称x是NP-完全问题。

定义:如果某优化问题x的判定问题是NP-完全的,则称问题x是NP-难的;如果x的判定问题是强NP-完全的,则称x是强NP-难的。

什么是概率多项式时间

概率多项式时间(Polynomialtime)在计算复杂度理论中,指的是一个问题的计算时间m(n)不大于问题大小n的多项式倍数。任何抽象机器都拥有一复杂度类,此类包括可于此机器以多项式时间求解的问题。

数学家有时把“比多项式时间长的算法”视为快速计算,相对应的是超多项式时间,表示任何多项式时间的输入数目只要够大,超多项式时间所需的解题时间终究会大大超过任何多项式时间的问题。指数时间(Exponentialtime)就是一例。

超多项式时间:O(c^f(n)),其中c为大于1的常数,f(n)大于常数,小于线性。

可以在决定型依序机器上(例如图灵机)以多项式时间解决的决定性问题,其属于的复杂度类被称为P。可以在多项式时间验证答案的非决定性问题称为NP。而NP也是可以在非确定型图灵机以多项式时间解决的问题(NP两字为Non-deterministicPolynomial的缩写)。

文章到此结束,如果本次分享的多项式时间和多项式时间的定义的问题解决了您的问题,那么我们由衷的感到高兴!

本文链接:https://bk.89qw.com/a-996012

最近发表
网站分类