AI數(shù)學(xué)基礎(chǔ)之:P、NP、NPC問題

簡介

我們在做組合優(yōu)化的時候需要去解決各種問題,根據(jù)問題的復(fù)雜度不同可以分為P、NP、NPC問題等。今天給大家來介紹一下這些問題類型。

P問題

在計算復(fù)雜度理論中,P(也稱為PTIME或DTIME)是基本的復(fù)雜度類型。 它是指能夠使用確定圖靈機(jī)在多項式時間內(nèi)解決的所有決策問題。

這里我們給一下P的定義,如果一個公式語言L是一個P類型,那么當(dāng)且僅當(dāng)存在這樣的一個確定圖靈機(jī)M時成立:

  1. 對于所有的輸入,M都會在多項式時間內(nèi)運行
  2. 對于L中所有的x, M的輸出都是1
  3. 對于不在L中的所有x,M輸出都是0

常見的P問題包括線性規(guī)劃的決策版本,計算最大公因數(shù)和找到最大匹配。 在2002年,證明了確定數(shù)字是否為質(zhì)數(shù)的問題也是一個P問題。

NP問題

在計算復(fù)雜度理論中,NP(nondeterministic polynomial time)不確定性多項式時間主要用來衡量分類決策問題的復(fù)雜度。 NP是一組決策問題,對于這些問題實例來說,如果答案為“是”,那么表示該實例使用確定圖靈機(jī)可在多項式時間內(nèi)驗證成功。

NP實際上是由兩個階段組成的,第一階段包括對解決方案的猜測,該階段以非確定性方式生成,而第二階段包括確定性算法,驗證猜測是否可以解決問題。也就是說NP= nondeterministic + polynomial。

根據(jù)P和NP的定義,我們可以發(fā)現(xiàn)所有的P問題都是NP問題,因為P的定義是所有問題都可以在多項式時間內(nèi)確定地解決,而NP的定義是問題可以在多項式時間內(nèi)得到驗證的問題。

但是NP包含了更多的問題,其中NP中最難的問題被稱為NP-complete 問題。解決多項式時間中的此類問題的算法也能夠解決多項式時間中的任何其他NP問題。

NP問題的例子

在計算機(jī)科學(xué)中,很多搜索優(yōu)化的問題都可以被看做是NP問題。旅行商問題就是一個典型的NP問題。

“給出一個城市列表以及每對城市之間的距離,要找到一條訪問每個城市一次最后返回原城市的最短路徑” 這是組合優(yōu)化中的一個NP難題,在理論計算機(jī)科學(xué)和運籌學(xué)中很重要。

有些NP問題很難解決

因為NP問題中包含了很多實際生活中非常重要的問題,所以人們?yōu)椴檎襈P中的多項式時間算法付出了巨大的努力。但是,NP中仍然存在許多問題,這些問題好像無法在多項式時間內(nèi)得到解決。關(guān)于這些問題在多項式時間內(nèi)是否能夠被解決是計算機(jī)科學(xué)中最大的未解決問題之一。

在這種情況下,引入了一個重要的概念就是NP完全決策問題集(NP-complete),它是NP的子集,可以非正式地描述為NP中“最難”的問題。如果我們說一個問題被證明是NPC問題,那么意味著在這個問題上無法找到多項式時間算法。

但是,在實際應(yīng)用中,通常不會花費大量的計算去尋找一個最優(yōu)解,但是可以在多項式時間內(nèi)找到一個次優(yōu)解,這對于實際應(yīng)用就已經(jīng)足夠了。

NPC問題

在計算復(fù)雜度理論中,滿足以下情況的問題是NPC問題:

  1. 一個不確定的圖靈機(jī)可以在多項式時間內(nèi)求解。
  2. 確定性的Turing機(jī)可以在較大的時間復(fù)雜度中進(jìn)行求解(EXPTIME或者暴力搜索算法),并且可以在多項式時間內(nèi)驗證其解。
  3. 它可以用來模擬任何其他具有相似可解性的問題(NP中的其他問題都可以在多項式時間內(nèi)轉(zhuǎn)換或者規(guī)約為該問題)。

根據(jù)規(guī)則3,因為NPC問題是NP問題的更加復(fù)雜的形式,如果你可以找到一個解決某個 NP-complete 問題的多項式算法,那么所有的 NP 問題都將可以很容易地解決。

舉個例子,一個一元一次方程可以規(guī)約為求一個一元二次方程,只需要將二次型系數(shù)變?yōu)?即可。通過不斷地規(guī)約,我們能得到復(fù)雜度更高但是應(yīng)用范圍更廣的算法來代替復(fù)雜度雖低但是應(yīng)用范圍小的一類問題的算法。

盡管可以“快速”驗證NPC問題的解決方案,但是沒有已知的方法可以快速找到解決方案。即,隨著問題的大小增長,使用任何當(dāng)前已知的算法解決問題所需的時間迅速增加。

仍未發(fā)現(xiàn)用于計算NP完全問題的解決方案的方法,但是計算機(jī)科學(xué)家和程序員仍然經(jīng)常遇到NP完全問題。 NP完全問題通常通過使用啟發(fā)式方法和近似算法來解決。

NP-hard

在計算復(fù)雜性理論中,NP-hard是對一類問題的描述,這些問題“至少與NP中最難的問題一樣難”。 NP-hard問題的一個簡單例子是子集和問題。

如果一個已知的NPC問題能夠規(guī)約到此問題,那么這個問題就叫做NP-hard問題。

所以NPC問題一定是NP-Hard問題,但并不是所有的NP-Hard問題都是NPC問題。

P和NP問題

P和NP問題是計算機(jī)科學(xué)中尚未解決的主要問題。它談?wù)摰氖侨绻粋€問題可以快速的被驗證,那么該問題是否可以被快速解決?

P是指該問題能夠在多項式時間內(nèi)找到解決方案,而NP是指如果找到候選的答案,則能夠進(jìn)行快速驗證。

一般情況下大家都任務(wù)P != NP,也就是說雖然無法在多項式時間內(nèi)解決,但答案可以在多項式時間內(nèi)驗證。

根據(jù)P和NP是否相同,我們分別作出P、NP、NPC和NP-Hard的關(guān)系圖。

image

本文已收錄于 http://www.flydean.com/04-p-np-npc-problem/

最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發(fā)現(xiàn)!

歡迎關(guān)注我的公眾號:「程序那些事」,懂技術(shù),更懂你!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,283評論 6 530
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 97,947評論 3 413
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,094評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,485評論 1 308
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,268評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,817評論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,906評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,039評論 0 285
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,551評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,502評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,662評論 1 366
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,188評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 43,907評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,304評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,563評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,255評論 3 389
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,637評論 2 370

推薦閱讀更多精彩內(nèi)容