P NP NPC NP-hard問題的區別

P問題:能找到一個算法在多項式時間解決的問題叫P問題。


NP問題:經常有人把NP問題作爲P問題的補集,這種看法是錯誤的。NP問題指的是在多項式時間內能驗證一個解是不是正確的。那麼顯然,P問題在多項式時間內能得到正確的解,當然也就能驗證一個解是否正確,所以P問題是屬於NP問題的一部分。


NPC問題:論文當中經常提及NPC問題,中文叫NP完全問題。已知的NPC問題可以歸約到當前問題,那麼當前問題也是NPC問題。比如A歸約到B,指的就是A的複雜度小於B,那麼A是NPC問題,那麼B肯定就是NPC問題。這是當前證明一個問題是NPC的問題的常用方法。直觀上來說,NPC是NP當中最難的一類問題,而且任何一個NPC問題找到了多項式可解的方法,那麼其他NPC問題也可以在多項式時間內解出。當然這必須滿足一個大前提,NPC問題必須在多項式時間內能驗證一個解的正確性。


NP-hard問題:比NPC更加難的問題。NP-hard沒有NP問題的要求。即可能不存在多項式時間內不能驗證一個解的正確性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章