一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

P問題、NP問題、NP完全問題和NP難問題

 星光閃亮圖書館 2020-05-18

在講P類問題之前先介紹兩個個概念:多項式,時間復(fù)雜度。(知道這兩概念的可以自動跳過這部分)

1、多項式:axn-bxn-1+c

恩....就是長這個樣子的,叫x最高次為n的多項式....

咳咳,別嫌我啰嗦。。有些人說不定還真忘了啥是多項式了。。例如第一次看到的鄙人→_→

2、時間復(fù)雜度

我們知道在計算機(jī)算法求解問題當(dāng)中,經(jīng)常用時間復(fù)雜度和空間復(fù)雜度來表示一個算法的運(yùn)行效率。空間復(fù)雜度表示一個算法在計算過程當(dāng)中要占用的內(nèi)存空間大小,這里暫不討論。時間復(fù)雜度則表示這個算法運(yùn)行得到想要的解所需的計算工作量,他探討的是當(dāng)輸入值接近無窮時,算法所需工作量的變化快慢程度。

舉個例子:冒泡排序。

在計算機(jī)當(dāng)中,排序問題是最基礎(chǔ)的,將輸入按照大小或其他規(guī)則排好序,有利于后期運(yùn)用數(shù)據(jù)進(jìn)行其他運(yùn)算。冒泡排序就是其中的一種排序算法。假設(shè)手上現(xiàn)在有n個無序的數(shù),利用冒泡排序?qū)ζ溥M(jìn)行排序,

①首先比較第1個數(shù)和第2個數(shù),如果后者>前者,就對調(diào)他們的位置,否則不變

②接著比較第2個數(shù)和第3個數(shù),如果后者>前者,就對調(diào)他們的位置,否則不變

③一直向下比較直到第n-1和第n個數(shù)比較完,第一輪結(jié)束。(這時候最大的數(shù)移動到了第n個數(shù)的位置)

④重復(fù)前三步,但是只比較到第n-1個數(shù)(將第二大的數(shù)移動到第n-1個數(shù)位置)

⑤持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。

舉個實例:5,4,3,2,1,對其進(jìn)行排序,先是比較5跟4變成4,5,3,2,1,第一輪結(jié)束后變成43215,可以計算,當(dāng)對其排序完正好要經(jīng)過4+3+2+1=10次比較,當(dāng)然這是最復(fù)雜的情況,即完全反序。可以知道對于n個數(shù),至多要經(jīng)過1+2+...+n-1即(n^2-n)/2次比較才能排好序。這個式子里n的最高次階是2,可知道當(dāng)n→∞時,一次性對其比較次數(shù)影響很小,所以我們把這個算法的時間復(fù)雜度比作:o(n^2)。取其最高次,可以看出,這是一個時間復(fù)雜度為多項式的表示方式。

時間復(fù)雜度排序o(1)<o(n)<o(lgn)<o(n^2)<o(n^a)<o(e^n)(a>2,n表示輸入的數(shù)據(jù)個數(shù),o(1)為常數(shù)級別)

好了,介紹完上面的概念就可以開始講關(guān)于什么叫P類問題了。以上個例子冒泡排序為例,我們知道了,在排序這個大問題里,是可以找到一種時間復(fù)雜度為多項式o(n^2)的算法(如冒泡排序法)來求解排序問題的,所以我們說排序問題是一個有多項式時間算法的問題。

所以我們稱,

P類問題:存在多項式時間算法的問題。(P:polynominal,多項式)

然后扯個題外話,為什么我們要研究這個?因為計算機(jī)處理的輸入常常不是那么幾十個幾千個那么一點(diǎn)點(diǎn),想象一下,當(dāng)計算機(jī)處理的數(shù)據(jù)達(dá)到100萬個的時候,時間復(fù)雜度為o(n^2)和o(e^n)的算法,所需的運(yùn)行次數(shù)簡直是天壤之別,o(e^n)指數(shù)級的可能運(yùn)行好幾天都沒法完成任務(wù),所以我們才要研究一個問題是否存在多項式時間算法。而我們也只在乎一個問題是否存在多項式算法,因為一個時間復(fù)雜度比多項式算法還要復(fù)雜的算法研究起來是沒有任何實際意義的。

好了,接下來我們介紹NP,先給定義,

NP類問題:能在多項式時間內(nèi)驗證得出一個正確解的問題。(NP:Nondeterministic polynominal,非確定性多項式)

P類問題是NP問題的子集,因為存在多項式時間解法的問題,總能在多項式時間內(nèi)驗證他。

注意定義,這里是驗證。NP類問題,我用個人的俗話理解就是,不知道這個問題是不是存在多項式時間內(nèi)的算法,所以叫non-deterministic非確定性,但是我們可以在多項式時間內(nèi)驗證并得出這個問題的一個正確解。舉個例子,

著名的NP類問題:旅行家推銷問題(TSP)。即有一個推銷員,要到n個城市推銷商品,他要找出一個包含所有n個城市的環(huán)路,這個環(huán)路路徑小于a。我們知道這個問題如果單純的用枚舉法來列舉的話會有(n-1)! 種,已經(jīng)不是多項式時間的算法了,(注:階乘算法比多項式的復(fù)雜)。那怎么辦呢?我們可以用猜的,假設(shè)我人品好,猜幾次就猜中了一條小于長度a的路徑,我畫畫畫畫,好的,我得到了一條路徑小于a的環(huán)路,問題解決了,皆大歡喜。可是,我不可能每次都猜的那么準(zhǔn),也許我要猜完所有種呢?所以我們說,這是一個NP類問題。也就是,我們能在多項式的時間內(nèi)驗證并得出問題的正確解,可是我們卻不知道該問題是否存在一個多項式時間的算法,每次都能解決他(注意,這里是不知道,不是不存在)。

所以這就引出了這類討論的一個千年問題:是否 NP類問題=P類問題?

即,是否所有能在多項式時間內(nèi)驗證得出正確解的問題,都是具有多項式時間算法的問題呢?

太讓人震驚了,要是解決了這個問題,那豈不是所有的NP問題都可以通過計算機(jī)來解決?

圣戰(zhàn)的結(jié)果是,有的存在,有的不存在。=_=

在這場圣戰(zhàn)中,人們還發(fā)現(xiàn)了很多的東東,也就是我們接下來要介紹的NPC問題(啊喂,我不是游戲NPC)和NPH問題。

(PS :網(wǎng)絡(luò)上經(jīng)常有人說,這不是個NP問題嗎,其實很多時候他們說的應(yīng)該是NPC問題,而不是NP問題)

為了證明這個千古難題,科學(xué)家想出了很多辦法。其中之一就是問題的約化。所謂問題約化就是,可以用問題B的算法來解決A ,我們就說問題A可以約化成問題B。舉個例子,一元一次方程的求解,跟二元一次方程的求解,我們知道,只要能求解二元一次方程,那就可以用二元一次方程的解法來求解一元一次方程,只需要將一元一次方程加上y,并附加一個方程y=0就可以將一元一次方程變形為一個二元一次方程,然后用二元一次方程的解法來求解這個方程。注意,這里二元一次方程的解法會比一元一次的復(fù)雜。所以我們說,只需要找到解二元一次方程的規(guī)則性解法,那就能用這個規(guī)則性解法來求解一元一次方程。從這里也可以看出,約化是具有傳遞性的,如A約化到B,B約化到C,A就可以約化到C,同時不斷約化下去,我們會發(fā)現(xiàn)一個很驚人的特性,就是他一定會存在一個最大的問題,而我們只需要解決了這個問題,那其下的所有問題也就解決啦!這就是我們所說的NPC問題的概念?。?!

引到NP問題里就是,對于同一類的所有的NP類問題,若他們都可以在多項式時間內(nèi)約化成最難的一個NP類問題,(我們直觀的認(rèn)為,被約化成的問題應(yīng)具有比前一個問題更復(fù)雜的時間復(fù)雜度)當(dāng)我們針對這個時間復(fù)雜度最高的超級NP問題要是能找到他的多項式時間算法的話,那就等于變向的證明了其下的所有問題都是存在多項式算法的,即NP=P!?。?!給出NPC問題定義。

(3)NPC類問題(Nondeterminism Polynomial complete):存在這樣一個NP問題,所有的NP問題都可以約化成它。換句話說,只要解決了這個問題,那么所有的NP問題都解決了。其定義要滿足2個條件: 

首先,它得是一個NP問題;

然后,所有的NP問題都可以約化到它。

要證明npc問題的思路就是: 

先證明它至少是一個NP問題,再證明其中一個已知的NPC問題能約化到它。

(4)NP難問題(NP-hard問題):

    NP-Hard問題是這樣一種問題,它滿足NPC問題定義的第二條但不一定要滿足第一條(就是說,NP-Hard問題要比 NPC問題的范圍廣,NP-Hard問題沒有限定屬于NP),即所有的NP問題都能約化到它,但是他不一定是一個NP問題。

    NP-Hard問題同樣難以找到多項式的算法,但它不列入我們的研究范圍,因為它不一定是NP問題。即使NPC問題發(fā)現(xiàn)了多項式級的算法,NP-Hard問題有可能仍然無法得到多項式級的算法。事實上,由于NP-Hard放寬了限定條件,它將有可能比所有的NPC問題的時間復(fù)雜度更高從而更難以解決。

以上四個問題他們之間的關(guān)系可以用下圖來表示: 
這里寫圖片描述


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    精品熟女少妇av免费久久野外| 99精品人妻少妇一区二区人人妻| 国产欧美另类激情久久久| 亚洲一区二区三区有码| 99在线视频精品免费播放| 亚洲av日韩一区二区三区四区| 亚洲日本中文字幕视频在线观看| 亚洲第一视频少妇人妻系列| 亚洲乱妇熟女爽的高潮片| 中国美女草逼一级黄片视频| 好吊视频一区二区在线| 欧美亚洲综合另类色妞| 日韩高清毛片免费观看| 91麻豆精品欧美一区| 91精品国产品国语在线不卡 | 国产极品粉嫩尤物一区二区 | 欧美成人欧美一级乱黄| 亚洲一区二区三区日韩91| 女人高潮被爽到呻吟在线观看| 亚洲国产av一二三区| 日韩欧美二区中文字幕| 亚洲欧美日韩精品永久| 中文字幕在线区中文色| 亚洲欧美日韩另类第一页| 国产精品不卡免费视频| 国产真人无遮挡免费视频一区| 成人区人妻精品一区二区三区| 国产成人亚洲精品青草天美| 亚洲另类欧美综合日韩精品| 在线观看视频国产你懂的| 国产精品一区二区三区日韩av| 精品伊人久久大香线蕉综合| 99国产高清不卡视频| 亚洲欧美中文字幕精品| 国产成人午夜在线视频| 欧美一级黄片欧美精品| 久草视频这里只是精品| 久久精品免费视看国产成人| 精品日韩视频在线观看| 日韩中文高清在线专区| 国产在线视频好看不卡|