時間復(fù)雜度與NP/NP難/NP完全問題的最簡單理解法

P類問題的概念:如果一個問題可以找到一個能在多項式的時間里解決它的算法魂莫,那么這個問題就屬于P問題搅轿。

NP問題是指可以在多項式的時間里驗證一個解的問題贮泞。NP問題的另一個定義是,可以在多項式的時間里猜出一個解的問題旺嬉。

之所以要定義NP問題,是因為通常只有NP問題才可能找到多項式的算法厨埋。我們不會指望一個連多項式地驗證一個解都不行的問題存在一個解決它的多項式級的算法鹰服。所有的P類問題都是NP問題。也就是說揽咕,能多項式地解決一個問題悲酷,必然能多項式地驗證一個問題的解。

顯然有P屬于NP∏咨疲現(xiàn)在设易,所有對NP問題的研究都集中在一個問題上,即究竟是否有P=NP蛹头?通常所謂的“NP問題”枕赵,NP問題一直都是信息學(xué)的巔峰,其實就一句話:證明或推翻P=NP撇眯。

目前為止這個問題還“啃不動”县遣。但是,一個總的趨勢耕拷、一個大方向是有的讼昆。人們普遍認為,P=NP不成立骚烧,也就是說浸赫,多數(shù)人相信,存在至少一個不可能有多項式級復(fù)雜度的算法的NP問題赃绊。人們?nèi)绱藞孕臥≠NP是有原因的既峡,就是在研究NP問題的過程中找出了一類非常特殊的NP問題叫做NP-完全問題,也即所謂的 NPC問題碧查。

約化(Reducibility运敢,有的資料上叫“歸約”):一個問題A可以約化為問題B的含義即是,可以用問題B的解法解決問題A,或者說传惠,問題A可以“變成”問題B肤视。《算法導(dǎo)論》上舉了這么一個例子涉枫。比如說邢滑,現(xiàn)在有兩個問題:求解一個一元一次方程和求解一個一元二次方程。那么我們說愿汰,前者可以約化為后者困后,意即知道如何解一個一元二次方程那么一定能解出一元一次方程。我們可以寫出兩個程序分別對應(yīng)兩個問題衬廷,那么我們能找到一個“規(guī)則”摇予,按照這個規(guī)則把解一元一次方程程序的輸入數(shù)據(jù)變一下,用在解一元二次方程的程序上吗跋,兩個程序總能得到一樣的結(jié)果侧戴。這個規(guī)則即是:兩個方程的對應(yīng)項系數(shù)不變,一元二次方程的二次項系數(shù)為0跌宛。按照這個規(guī)則把前一個問題轉(zhuǎn)換成后一個問題酗宋,兩個問題就等價了。同樣地疆拘,我們可以說蜕猫,Hamilton回路可以約化為TSP問題(Travelling Salesman Problem,旅行商問題):在Hamilton回路問題中哎迄,兩點相連即這兩點距離為0回右,兩點不直接相連則令其距離為1,于是問題轉(zhuǎn)化為在TSP問題中漱挚,是否存在一條長為0的路徑翔烁。Hamilton回路存在當(dāng)且僅當(dāng)TSP問題中存在長為0的回路。

“問題A可約化為問題B”有一個重要的直觀意義:B的時間復(fù)雜度高于或者等于A的時間復(fù)雜度旨涝。也就是說蹬屹,問題A不比問題B難。這很容易理解颊糜。既然問題A能用問題B來解決哩治,倘若B的時間復(fù)雜度比A的時間復(fù)雜度還低了,那A的算法就可以改進為B的算法衬鱼,兩者的時間復(fù)雜度還是相同。正如解一元二次方程比解一元一次方程難憔杨,因為解決前者的方法可以用來解決后者鸟赫。

約化具有傳遞性。如果能找到這樣一個變化法則,對任意一個程序A的輸入抛蚤,都能按這個法則變換成程序B的輸入台谢,使兩程序的輸出相同,那么我們說岁经,問題A可約化為問題B朋沮。當(dāng)然,我們所說的“可約化”是指的可“多項式地”約化(Polynomial-time Reducible)缀壤,即變換輸入的方法是能在多項式的時間里完成的樊拓。約化的過程只有用多項式的時間完成才有意義。

如果不斷地約化上去塘慕,不斷找到能“通吃”若干小NP問題的一個稍復(fù)雜的大NP問題筋夏,那么最后是否有可能找到一個時間復(fù)雜度最高,并且能“通吃”所有的 NP問題的這樣一個超級NP問題图呢?答案居然是肯定的条篷。也就是說,存在這樣一個NP問題蛤织,所有的NP問題都可以約化成它赴叹。換句話說,只要解決了這個問題指蚜,那么所有的NP問題都解決了稚瘾。這種問題的存在難以置信,并且更加不可思議的是姚炕,這種問題不只一個摊欠,它有很多個,它是一類問題柱宦。這一類問題就是傳說中的NPC 問題些椒,也就是NP-完全問題:首先,它得是一個NP問題掸刊;然后免糕,所有的NP問題都可以約化到它。??既然所有的NP問題都能約化成NPC問題忧侧,那么只要任意一個NPC問題找到了一個多項式的算法石窑,那么所有的NP問題都能用這個算法解決了,NP也就等于P 了蚓炬。因此松逊,給NPC找一個多項式算法太不可思議了。因此肯夏,前文才說经宏,“正是NPC問題的存在犀暑,使人們相信P≠NP”。我們可以就此直觀地理解烁兰,NPC問題目前沒有多項式的有效算法耐亏,只能用指數(shù)級甚至階乘級復(fù)雜度的搜索。

NP-Hard問題:它滿足NPC問題定義的第二條但不一定要滿足第一條(就是說沪斟,NP-Hard問題要比 NPC問題的范圍廣)广辰。NP-Hard問題同樣難以找到多項式的算法,但它不列入我們的研究范圍主之,因為它不一定是NP問題择吊。即使NPC問題發(fā)現(xiàn)了多項式級的算法,NP-Hard問題有可能仍然無法得到多項式級的算法杀餐。事實上干发,由于NP-Hard放寬了限定條件,它將有可能比所有的NPC問題的時間復(fù)雜度更高從而更難以解決史翘。

有了第一個NPC問題后枉长,一大堆NPC問題就出現(xiàn)了,因為再證明一個新的NPC問題只需要將一個已知的NPC問題約化到它就行了琼讽。后來必峰,Hamilton 回路成了NPC問題,TSP問題也成了NPC問題∽甑牛現(xiàn)在被證明是NPC問題的有很多吼蚁,任何一個找到了多項式算法的話所有的NP問題都可以完美解決了。因此說问欠,正是因為NPC問題的存在肝匆,P=NP變得難以置信。P=NP問題還有許多有趣的東西顺献,有待大家自己進一步的挖掘旗国。攀登這個信息學(xué)的巔峰是我們這一代的終極目標(biāo)。現(xiàn)在我們需要做的注整,至少是不要把概念弄混淆了能曾。

參考原文:https://blog.csdn.net/qq_39521554/article/details/79109278

常見時間復(fù)雜度:(數(shù)據(jù)結(jié)構(gòu)與算法)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市肿轨,隨后出現(xiàn)的幾起案子寿冕,更是在濱河造成了極大的恐慌,老刑警劉巖椒袍,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驼唱,死亡現(xiàn)場離奇詭異,居然都是意外死亡槐沼,警方通過查閱死者的電腦和手機曙蒸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門捌治,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岗钩,“玉大人纽窟,你說我怎么就攤上這事〖嫦牛” “怎么了臂港?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長视搏。 經(jīng)常有香客問我审孽,道長,這世上最難降的妖魔是什么浑娜? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任佑力,我火速辦了婚禮,結(jié)果婚禮上筋遭,老公的妹妹穿的比我還像新娘打颤。我一直安慰自己,他們只是感情好漓滔,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布编饺。 她就那樣靜靜地躺著,像睡著了一般响驴。 火紅的嫁衣襯著肌膚如雪透且。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天豁鲤,我揣著相機與錄音秽誊,去河邊找鬼。 笑死琳骡,一個胖子當(dāng)著我的面吹牛锅论,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播日熬,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼棍厌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了竖席?” 一聲冷哼從身側(cè)響起耘纱,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎毕荐,沒想到半個月后束析,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡憎亚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年员寇,在試婚紗的時候發(fā)現(xiàn)自己被綠了弄慰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡蝶锋,死狀恐怖陆爽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扳缕,我是刑警寧澤慌闭,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站躯舔,受9級特大地震影響驴剔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粥庄,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一丧失、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惜互,春花似錦布讹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蔫慧,卻和暖如春挠乳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背姑躲。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工睡扬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人黍析。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓卖怜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親阐枣。 傳聞我的和親對象是個殘疾皇子马靠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

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