演算法概念 P NP NPC

2021-08-15 13:10:54 字數 787 閱讀 4233

這類問題是最簡單的一類問題,即所有這類問題都可以用乙個確定性演算法在多項式時間內求出解。此類問題的複雜度是此類問題的乙個例項的規模n的多項式函式。比如排序問題,求最短路徑問題等。

簡單來說,p就是能在多項式時間內解決的問題

有些問題很難找到多項式時間的解法(也許根本就不存在),但是如果給出了該問題的乙個解,我們可以在多項式時間內判斷這個解是否正確,比如對於哈密爾頓迴路問題,如果給出乙個任意的迴路,我們可以很容易的判斷出該迴路是否是哈密爾頓迴路(看是不是所有頂點都在迴路中)。

p類問題是np問題的子集,原因是p類問題既然能在多項式時間內求解,也必然能在多項式時間在驗證它的解,滿足np類問題的定義。

簡單來說,np就是能在多項式時間驗證答案正確與否的問題

如果所有np問題都能在多項式時間內轉化為a,則稱a為npc問題。npc問題被認為是np問題中最不可能是p問題的。npc的定義的是:

乙個決定性問題c若是為npc,則代表它對np是完備的,這表示:

它是乙個np問題,且

其他屬於np的問題都可變換(reducible)成它。

npc是np的子集。

nph問題不一定是np問題,之所以稱為np hard問題,是因為它們起碼也和np問題中最難的問題一樣難。

nph的定義和npc的區別就在於nph問題不用像npc那樣必須是乙個np問題。

演算法 P NP NPC和NP hard

一般演算法效率的度量方法就是速度,即乙個演算法花了多少時間產生結果。然而有些問題,目前還並不知道有效的解法,則稱之為難題。當然,難題們也擁有不同的難度。p 能在多項式時間內解決的問題 我可以在一定時間內算出正確答案 np 不能在多項式時間內解決或不確定能不能在多項式時間內解決,但能在多項式時間驗證的...

關於P NP NPC和NP Hard問題

1 p問題 p中包含的是能在多項式時間內解決的問題,此類問題的時間複雜度不超過o 2 np問題 np中包含的是能在多項式時間內驗證某個解是否正確的問題。比如 1 所有的p問題都是np問題,因為我們總能在多項式時間內驗證給定的某個解是否正確。2 對於某些不屬於p問題的問題,如3 cnf可滿足性問題,給...

P NP NPC與NP hard問題的定義

p問題 指的是能在多項式時間內解決的問題。np問題 指的是能在多項式時間內驗證的問題。在此,我們可以看出所有的p問題都屬於np問題,但是p是否等於np呢,至今還未得到驗證,即既證明不了p np,也證明不了p ne np。npc問題 np完全問題 是指np問題中最難的一類問題。證明乙個問題是否是npc...