是否存在某種方法能夠證明某個np問題能轉換為p問題?
個人理解:np問題是使用非確定性演算法在多項式時間內求解的問題,非確定性演算法又不是切實可行的演算法,我個人認為就是無法使用確定的演算法解決問題。
假設某個問題是np問題,能夠使用的方法都無法解決該問題,但是方法有無數種,不能證明所有的方法都用完了,那是不是就沒法證明所有的np問題都能轉換為p問題?
我一點一點慢慢答,先留個幾個要點。如果我對問題的理解有偏差,麻煩題主在評論里告知。
1. 需要區別〝非確定性演算法〞和 NTM
NTM是同時計算出所有可能出現的結果,注意,是同時。所以只要有一條計算路徑可以在多項式時間內跑完,就可以說這個問題屬於NP。====分割線內的這段可以不看……===========================
而〝非確定性演算法〞可能不是並行的,比如ppt演算法 (probabilistic polynomial time algorithm),這類演算法,如果你把它想像成自動機,則在運行時,每一跳會有一個隨機選項。但ppt單次運行最後形成的計算路徑是唯一的。這樣,就沒有了「同時計算出」這個性質。對於ppt最後計算出正確結果的總運行時間複雜度能求出一個期望值,而這個期望值可能並非是多項式的。但這個複雜度不代表問題不屬於NP。
===============================================================
2. NP 不等於NP- Complete (NP完全)不是所有的NP問題都難。因為.比如,求無負環的圖中兩點最短路徑的問題,或者驗證一個字元串是否是迴文的問題,都屬於P,因此也屬於NP,但都不是NP-Complete。
4。目前為止, NP-complete僅僅是一個複雜度假設,一個便於研究問題性質的概念。因為就如你所說,或許僅僅是因為我們都還不夠聰明,所以找不到高效的演算法。
============2014年12月13日更新===========================
以下區別一下NP-hard 和 NP-Complete
1. 若任何一個NP問題都能夠在多項式時間內規約到問題A,則稱A為NP-hard問題。
2. 若A本身屬於NP,且滿足1,則稱A為NP-complete。
區別在於,可能存在本身不屬於NP,但是是NP-hard的問題。這類問題並非NP-Complete。
理論上就不行。因為只有兩種情況 :1. 這個問題只是NP,那麼只是證明了這個問題是NP的這個論點是錯誤的。那麼這個問題就被重新歸類為P問題。2. 這個問題是NP-complete, 那麼就證明了NP=P。PS:如果題主找到的是第二種,那五百萬美金分我個十分之一怎麼樣!!^。^
推薦閱讀:
※Gauss與AGM(I)
※Landen變換與圓
※Moduli of Stable Curves and Maps (I)
※GTM系列數學書籍免費下載~