Partition Problem is NPC
題目
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
Proof
(1)Partion Problem (PP) NP
給定一組 PP 的 Yes-instance ,則我們可以在多項式時間內檢查 (1) A 和 S-A 的元素總和相同 (2) A 和 S-A 互斥,即
所以
(2) Partion Problem NP-Hard
目標 :
SUBSET-SUM : 給定一整數集合 S 和目標整數 W,是否存在一子集合 使得所有元素總和為 W。
給定一組 SUBSET-SUM 問題 (SSP) 的 Instance (S, W),可由以下方式建構 PARTITION 問題的 Instance : 令 T 為所有 S 中的元素總和,將 PARTITION 的 Instance 設為 。
假設 SUBSET-SUM 的答案是 YES,即存在一子集合 使得所有元素總和為 W,則 的所有元素總和必為 T - W。而將這兩個集合 S 和 S - S' 的總和相減,再取絕對值為 |T - 2W|,這就是這兩個集合的總和差距。因此只要將 |T - 2W| 加入總和較小的集合中就可以得到兩個總和相等的集合了,也就是說 可以找到一分割方式使得兩個集合總和相等,PARTITION 的答案也會回傳 YES。
相反地,假設 PARTITION 的答案是 YES,即 存在一種分割方式使得兩個集合總和相等,總和為 。
- 若 ,兩集合總和皆為 ,此時 S' 就選擇沒有包含元素 |T - 2W| 的集合即為 SUBSET-SUM 的答案。
- 若 ,兩集合總和皆為 ,此時選擇包含元素 |T - 2W| 的集合,並把元素 |T - 2W| 去除後得到一個集合 S' 使得總和變成 (T - W) - (T - 2W) = W,則找到一個集合 S' 使得總和為 W,可得 SUBSET-SUM 的答案為 YES。
由 (1)(2) 可得 Partition Problem NPC