NP完全問題的證明


NP完全問題的證明

一、限制法

最小覆蓋問題(VC)

  • 問題實例 集合\(S\)的子集的集合\(C\),正整數\(k\)。問\(C\)是否有\(S\)的大小不超過\(k\)的覆蓋,即是否包含子集\(C' \subseteq C\)使得 \(|C'|=k\)\(\bigcup C'=S\)
  • 證明方法:限制 \(\forall c \in C\)\(|c|=3\)\(|S|=sk\),則為X3C問題。

子圖同構問題

  • 問題實例
    \(G=(V_1,E_1)\)\(H=(V_2,E_2)\)
    \(G\)中是否有同構於\(H\)的子圖,即是否有子集\(V \subseteq V_1\)\(E \subseteq E_1\),使得 \(|V|=|V_2|\)\(|E|=|E_2|\) ,且存在雙射函數\(f:V_2 \to V\),使得 \((u,v) \in E \Longleftrightarrow (f(u),f(v)) \in E_2\)
  • 證明方法:限制\(H\)為完全圖,且 \(|V_2|=k\) ,則該問題是團的問題。

0-1背包(Knapsack)

  • 問題實例
    有窮集\(U\)\(\forall u \in U\),大小\(s(u)\in Z^+\),價值\(v(u)\in Z^+\),大小的約束\(B \in Z^+\),價值目標\(K \in Z^+\)
    問是否有子集\(U' \subseteq U\),使得

\[\begin{equation} \sum_{\boldsymbol{u} \in U} \boldsymbol{s}(\boldsymbol{u}) \leq \boldsymbol{B}, \quad \sum_{\boldsymbol{u} \in \boldsymbol{U}^{\prime}} \boldsymbol{v}(\boldsymbol{u}) \geq \boldsymbol{K} \end{equation}\]

  • 證明方法:限制 \(\forall v \in U\)

\[s(u)=v(u) \]

\[B=\left\lfloor\frac{1}{2} \sum_{u \in U} s(u)\right\rfloor, \quad K=\left\lceil\frac{1}{2} \sum_{u \in U} v(u)\right\rceil \]

則成為均分問題。

三元集合的恰當覆蓋(X3C)

  • 問題實例
    有窮集\(S\)\(|S|=3q\)\(S\) 的三元子集\(C\)
    問是否有\(C' \subseteq C\),使得\(S\)的每個元素恰好出現在\(C'\) 的一個成員中。
  • 證明方法:限制
    • \(S=W \cup X \cup Y\)
    • \(|W|=|X|=|Y|=q\)
    • \(C=\{(w,x,y)|(w,x,y) \in W \times X \times Y)\}\)\(|C'| = q\) ,且\(C'\) 中任兩個元素都不相交,成為3DM問題。

集中集

  • 集合\(S\)的子集的集合\(C\),正整數\(k\)。問\(S\)是否包含\(C\)的大小不超過\(k\)的集中集,即是否有\(S' \subseteq S\)\(|S'| \leq k\),使得\(S'\)至少包含\(C\)的每個子集的一個元素。
  • 證明方法:限制 \(\forall c \in C\)\(|c|=2\),令\(V=S\)\(E=C\),則構成圖 \(G=(V,E)\) 的頂點覆蓋問題。

有界度的生成樹

  • 問題實例
    \(G=(V,E)\)
    \(G\)是否包含一棵頂點度數不超過\(k\)的生成樹,即是否有子集\(E'\subseteq E\)\(|E'|=|V|-1\),圖\(G'=(V,E')\) 是連通的,且\(V\)中每個頂點至多包含在\(E'\)\(k\) 條邊中。

  • 證明方法:限制\(k=2\) ,該問題則為哈密頓通路問題。

多處理機調度

  • 問題實例 有窮任務集\(A\)\(\forall a \in A\),長度\(l(a) \in Z^+\),處理機台數\(m \in Z^+\),截止時間\(D \in Z^+\)
    問是否存在不交的集合\(A_1,A_2,...,A_m\)使得

\[A=A_{1} \cup A_{2} \cup \ldots \cup A_{m} \]

\[\max \left\{\sum_{a \in A_{i}} l(a): 1 \leq i \leq m\right\} \leq D \]

  • 證明方法:限制\(m=2\)

\[D=\left\lfloor\frac{1}{2} \sum_{a \in A} l(a)\right\rfloor \]

則成為均分問題。

二、局部替換法

選擇已知完全問題的實例中的某些元素作為基本單位,然后把每個基本單元替換成指定結構,從而得到目標問題的對應實例。

3SAT問題

兩點間的哈密頓通路問題

區間排序

分量設計法

最小拖延排序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM