中科大-算法分析與設計-近似算法復習知識點


三、近似算法

3.1 NP-完全性理論

圖靈機

  • 確定性圖靈機 DTM:執行的動作唯一
  • 非確定性圖靈機 NTM:執行的動作有多個可選

P 類問題\(P={L:L能在多項式時間內被DTM接受}\)

確定性算法在多項式時間內可解

多項式時間內可解的問題\(=\)P

NP 類問題\(P={L:L能在多項式時間內被NTM接受}\)

非確定性算法在多項式時間內可解

多項式時間內可驗證的問\(=\)NP

多一規約\(L_1和L_2是兩個判定問題,實例I_2=f(I_1)\)

\[\forall I \in U_1, I是L_1輸出yes的實例 \Leftrightarrow f(I)是L_2輸出yes的實例 \\ L1 \le_m L_2 \]

多項式時間多一規約\(f\)是多項式時間可計算的

NPC 問題:對於判定問題 q,滿足\(1)q\in NP;2)NP \le_m^p q;\)

NP-hard 問題:對於判定問題 q,滿足\(2)NP \le_m^p q;\)

\(NPC \sqsubseteq NP-hard\)

解題思路:

  • \(一個問題不可判定 \Rightarrow 該問題\notin NP \Rightarrow 該問題 \notin NPC\)
  • 證明\(q \in NPH\),找到\(q' \in NPC/NPH\),再將\(q'\)多項式歸約到\(q\)
  • 如果繼續證明\(q \in NP\),則\(q \in NPC\)
  • NPC 問題:SAT 可滿足性問題、最大獨立集問題、背包問題、覆蓋問題、路徑問題
  • NPH 問題:停機問題

規約策略

  • \(X\le_pY,Y\le_pX \Rightarrow X \equiv_pY\)\(最大獨立集問題 \equiv_p 最小頂點覆蓋問題\)

  • 特殊到一般,\(最小頂點覆蓋問題 \le_p 最小集合覆蓋問題\)

3.2 相關問題總結

  1. 獨立集問題(Independent-Set):圖的頂點集合的子集中,所有頂點兩兩沒有邊
  2. 團問題:圖的頂點集合的子集中,所有頂點兩兩均有邊
  3. 頂點覆蓋問題(Vertex-Cover):圖的頂點集合的子集中,邊集中至少有一個頂點在該子集中。
  4. 集合覆蓋問題(Set-Cover):非空集合的若干非空子集合的並集等於原有集合。
  5. 3-SAT 問題3-CNF(合取范式)組成的布爾公式存在真值解。
  6. 哈密爾頓圈問題:圖中通過每一個頂點恰好一次的回路。

上述問題均是 NPC 的。

單源最短路徑和歐拉環是 P 問題。

3.3 近似算法

三種放寬要求的可能性:

  • 超多項式時間啟發:存在一個偽多項式時間的算法,如背包問題。(缺點:只對弱 NPC 問題有效)
  • 概率分析:不再要求問題的解滿足所有輸入實例。(缺點:選取一個特殊的輸入分布不容易)
  • 近似算法:不再要求總是找到最優解。設計一個算法找出所有情況下的次優解來解 NP-hard 問題、

近似解分類

  • 容易近似:背包問題、調度問題、裝箱問題
  • 中等難度:頂點覆蓋問題、歐式 TSP 問題、Steiner Trees
  • 難於近似:着色問題、TSP、Clique(團)

性能保證:在最優解和近似解之間建立某種聯系。

絕對性能度量:絕對近似算法是優化問題的多項式時間近似算法 A,\(\exist k > 0\),使得

\[\forall I\in D,|A(I) - OPT(I) | \le k \]

含義:近似解和最優解相差某一小的常數。

對於大多數的 NPH 問題,不存在絕對近似算法,除非\(P=NP\)

兩種絕對近似算法:

  • 圖是否可以 3 着色:

    • G 為二部圖,即可 2 着色
    • G 一定可以 4 着色,四色定理
    • \(|A(G)-OPT(G)| \le 2\)
  • 圖邊着色最小顏色數:

    • 最大度 / 最大度+1
    • \(|A(G)-OPT(G)|\le1\)

前提已知最優解 或 值所在的小范圍

對於大多數 NPH 問題,存在絕對近似算法當且僅當存在多項式精確算法。

反證不存在絕對近似算法

  • 背包問題,通過 Scaling 放大利潤為 k+1 倍,再算解的值
  • 最大團問題,構造\(G^{k+1}\)

相對性能度量:算法 A 在一個輸入實例上的性能比為

\[R_A(I) = \begin{cases} \frac{A(I)}{OPT(I)},最小化問題 \\ \frac{OPT(I)}{A(I)},最大化問題 \end{cases} \\ 1 \le R_A(I) \le 1+\varepsilon,A為(1+\varepsilon)-近似算法 \]

含義:近似解和最優解比值為某一小的常數。

  • 絕對性能比\(R_A = inf\{ r|R_A(I)\le r,\forall I \in D \} =性能比上界集合中的最小值\)
  • 漸近性能比\(R_A^\infty = inf \{ r | R_A(I)\le r,\forall I \in D 且OPT(I)\ge N \}=最優解要足夠大\)
  • 最佳可達性能比\(R_{MIN}(\Pi)=inf \{ r\ge1 | \exist多項式時間算法A,R_A^\infty\le r \}\)
    • \(\begin{cases}1,最容易近似 \\有界,\bigtriangleup TSP問題 \\無界,難於近似 \end{cases}\)

\(1\le R_A^\infty \le R_A < \infty\)

對於有 Scaling 性質的問題,\(R_A^\infty = R_A\)

很多問題找不到絕對近似算法。

有些問題找不到有界性能比近似算法。

3.3.1 多機調度問題

List 調度算法:n 個作業依次分配給當前負載最小的機器。

\(\frac{A(I)}{OPT(I)} \le 2-\frac{1}{m}\)

證明上界:

\[\begin{align} &A(I) = L,作業運行時間最長\\ &OPT(I) \ge \frac{\sum P_i}{m}\ge \frac{m(L-P_{last})+P_{last}}{m} \\ &\Rightarrow OPT(I) \ge A(I) + \frac{1-m}{m}P_{last} \\ &\because OPT(I) \ge P_{last} \\ &\therefore 1 \ge \frac{A(I)}{OPT(I)} + (\frac{1}{m}-1)\frac{P_{last}}{OPT(I)}\\ &\therefore \frac{A(I)}{OPT(I)} \le (2-\frac{1}{m})\frac{P_{last}}{OPT(I) } \le 2-\frac{1}{m} \end{align} \]

證明緊確界:有\(n=m(m-1)+1\)個作業

\[\begin{align} &P_1=\cdots=P_{n-1}=1,P_n=m \\ &OPT(I)=前n-1個機器每個運行m個作業+第n個機器運行P_n=m \\ &A(I)=前n個機器每個運行m-1個作業+第1個機器運行P_n=2m-1 \\ &R_A=2-\frac{1}{m} \end{align} \]

LPT 調度算法:將作業遞序排列,然后 List 策略調度。

\(\frac{A(I)}{OPT(I)} \le \frac{4}{3} -\frac{1}{3m}\)

3.3.2 裝箱問題 BP

n 件物品,每件物品在單位大小之內,按某種策略裝入單位大小的箱子中,令箱子數最小。

首次適應算法 FF

\(R_{FF}(I)\le 2\)\(R_{FF}^\infty=1.7\)

證明:

最多只有一個箱子是大於半空的。

物品的總大小至少為總箱子的一半,\([\sum S_i] \ge \frac{1}{2} FF(I)\)

最優解至少為物品的總大小,\(OPT(I) \ge [\sum S_i]\)

\(R_{FF}(I) = 2\)

遞減首次適應 FFD

\(R_{FFD} \ge 1.5\)\(R_{FFD}^\infty = \frac{11}{9}\)

3.3.3 旅行商問題 TSP

求最短哈密頓回路 HC,訪問所有頂點一次的回路。

這里研究\(\bigtriangleup TSP\),即輸入滿足三角不等式

近鄰法 NN:從當前頂點訪問最近尚未訪問的頂點,一次構造哈密爾頓圈 HC\(R_{NN}^\infty=\theta(lg\ n)\)

MST 啟發:先找一個歐拉環 ET,然后再”Short-Cut“獲得哈密爾頓圈。

\(R_{NN}^\infty=2\)

有歐拉環,當且僅當圖連通且頂點度數均為偶數

MST:

  1. 構造最小生成樹
  2. 每條邊復制一個
  3. 找到歐拉圈
  4. 短路歐拉路的方法構造 HC,即遇到重復頂點就跳過。

CH 啟發:不需要將所有邊都復制,只在每對奇度頂點之間連線。

\(R_{CH}^\infty = 1.5\)

CH:

  1. 構造最小生成樹
  2. 每對奇度頂點之間連線
  3. 找到歐拉圈
  4. 短路歐拉路的方法構造 HC,即遇到重復頂點就跳過。


免責聲明!

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



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