NP完全問題

2021-04-20 11:36:28 字數 1512 閱讀 7499

np完全問題是不確定性圖靈機在p時間內能解決的問題,是

世界七大數學難題

之一。  np完全問題排在百萬美元大獎的首位,足見他的顯赫地位和無窮魅力。

數學上著名的np問題,完整的叫法是np完全問題,也即「np complete」問題,簡單的寫法,是 np=p?的問題。問題就在這個問號上,到底是np等於p,還是np不等於p。證明其中之一,便可以拿百萬美元大獎。

這個獎還沒有人拿到,也就是說,np問題到底是polynomial(意思是多項式的),還是non-polynomial,尚無定論。

np裡面的n,不是non-polynomial的n,是non-deterministic(意思是非確定性的),p代表polynomial倒是對的。np就是non-deterministic polynomial的問題,也即是多項式複雜程度的非確定性問題。

什麼是非確定性問題呢?有些計算問題是確定性的,比如加減乘除之類,你只要按照公式推導,按部就班一步步來,就可以得到結果。但是,有些問題是無法按部就班直接地計算出來。比如,找大質數的問題。有沒有乙個公式,你一套公式,就可以一步步推算出來,下乙個質數應該是多少呢?這樣的公式是沒有的。再比如,大的合數分解質因數的問題,有沒有乙個公式,把合數代進去,就直接可以算出,它的因子各自是多少?也沒有這樣的公式。

這種問題的答案,是無法直接計算得到的,只能通過間接的「猜算」來得到結果。這也就是非確定性問題。而這些問題的通常有個演算法,它不能直接告訴你答案是什麼,但可以告訴你,某個可能的結果是正確的答案還是錯誤的。這個可以告訴你「猜算」的答案正確與否的演算法,假如可以在多項式時間內算出來,就叫做多項式非確定性問題。而如果這個問題的所有可能答案,都是可以在多項式時間內進行正確與否的驗算的話,就叫完全多項式非確定問題。

完全多項式非確定性問題可以用窮舉法得到答案,乙個個檢驗下去,最終便能得到結果。但是這樣演算法的複雜程度,是指數關係,因此計算的時間隨問題的複雜程度成指數的增長,很快便變得不可計算了。

人們發現,所有的完全多項式非確定性問題,都可以轉換為一類叫做滿足性問題的邏輯運算問題。既然這類問題的所有可能答案,都可以在多項式時間內計算,人們於是就猜想,是否這類問題,存在乙個確定性演算法,可以在指數時間內,直接算出或是搜尋出正確的答案呢?這就是著名的np=p?的猜想。

解決這個猜想,無非兩種可能,一種是找到乙個這樣的演算法,只要針對某個特定np完全問題找到乙個演算法,所有這類問題都可以迎刃而解了,因為他們可以轉化為同乙個問題。另外的一種可能,就是這樣的演算法是不存在的。那麼就要從數學理論上證明它為什麼不存在。

前段時間轟動世界的乙個數學成果,是幾個印度人提出了乙個新演算法,可以在多項式時間內,證明某個數是或者不是質數,而在這之前,人們認為質數的證明,是個非多項式問題。可見,有些看來好象是非多項式的問題,其實是多項式問題,只是人們一時還不知道它的多項式解而已。

如果判定問題π∈np,並且對所有其他判定問題 π∈np,都有π'多項式變換到π(記為π'∞π),則稱判定問題π 是np完全的。

對p類,np類及np完全問題的研究推動 了計算複雜性理論的發展,產生了許多新概念,提出了許多新方法。但是還有許多難題至今沒有解決,p=np?就是其中之一。許多學者猜想p≠np,但無法證明。

NP完全問題

下面是在看 data structures and algorithm analysis in c 一書時所記錄的筆記,大部分為原書內容 np的乙個性質,所有np中的任一問題都能夠多項式地歸約 也即是在多項式複雜度內對映 成np完全問題。也就是說,只要有乙個np問題,其它所有的np問題都可以歸約到它...

NP完全問題

np完全問題,是世界七大數學難題之一,排在百萬美元大獎的首位,夠 力吧!咋不求得獎只需要了解了解它是什麼就可以了。什麼是np完全問題,np non deterministic polynomial,也就是多項式複雜程度的非確定性問題,是不是看漢語翻譯一下子給懵了。沒事,我們慢慢來,要了解np問題,我...

NP完全問題

例 在乙個週六的晚上,你參加了乙個盛大的晚會。由於感到侷促不安,你想知道這一大廳中是否有你已經認識的人。宴會的主人向你提議說,你一定認識那位正在甜點盤附近角落的女士羅絲。不費一秒鐘,你就能向那裡掃視,並且發現宴會的主人是正確的。然而,如果沒有這樣的暗示,你就必須環顧整個大廳,乙個個地審視每乙個人,看...