• 沒有找到結果。

Polynomial-Time Reducible (多項式時間的轉化)

在文檔中 Polynomial Time (頁 30-40)

‹ Def: 若有兩個問題Q1和Q2,其解集合分別為L1和L2:

„如果Q1可以多項式時間轉化成Q2 (即:L1 ≤pL2 或 Q1 ≤pQ2),則

{存在一個函數 f(x) /*此函數不一定是實質的數學公式,也可能是一個虛的概念或意涵*/

{此函數 f(x) 為polynomial-time computable

{該函數 f(x) 使得對所有x而言,x∈L1 若且唯若 f(x)∈L2 (x∈L1 ⇔ f(x)∈L2)

‹ 為何要做Reduce?

„ Q1 reduce 成Q2,表示Q1問題可以由處理Q2問題的演算法所解決。

Q1之Input Reduce Q2之Input 解Q2之Algo.

Q2之Output Reduce Q1之Output 即:f(x)

即: x∈L1 ⇔ f(x)∈L2

‹ 前述定義隱含一些概念:

„ Q1問題可以由處理Q2問題的演算法所解決。若Q2問題有一個有效 率的演算法,可以在多項式時間內將Q2問題給解掉,表示Q1問題 也一定可以在多項式時間內被解掉。

„ 因此,函數 f(x) 必須是要 polynomialpolynomial--time computabletime computable

{ 這是因為解Q1問題的時間相當於 “函數f(x)的轉換時間 + 解Q2問題之 演算法的解題時間” 所構成。

{ 若轉換時間過長,則解Q2問題之演算法就算是再快,也無助於加速 對Q1問題之求解。

‹ 可表示成 L1 ∝ L2 或 Q1 ∝ Q2

‹ Q1 ∝ Q2的意義:

„ Q2問題比Q1問題難 (雖然兩者是同一類型的問題)

„ 若Q2有解,則Q1就有解

„ 想要証明Q1和Q2一樣難,則需証出Q1 ≤pQ2 且Q2 ≤pQ1

„ 若Q1 ∝ Q2且Q2 ∝ Q3,則Q1 ∝ Q3 (遞移性)

‹ 範例:假設現在有下列兩個問題:

„ Q1: 一台電梯中有4個人,其中是否有三個人彼此互相認識?

„ Q2:有一個4個頂點之無向圖G=(V,E),其中是否存在一個三角形?

証明Q1 ∝ Q2。

„ 有一個函數f,使得:

{ i → 頂點vi

{ i 和 人j 互相認識 → (vi, vj)∈E

{ i 和 人j 互不認識 → (vi, vj)∉E

„ 說明此函數f 為polynomial time computable

{ 因為轉換後的圖G=(V,E),是以相鄰矩陣表示,該矩陣的大小為 |V|2。若要 將該矩陣填滿值則需時 O(|V|2)。

{ ∴函數f為Polynomial time computable

„ 說明該函數f(x)使得對所有x而言,x∈L1 ⇔ f(x)∈L2

‹ P:

„ 是一群Decision Problem的集合,這些問題皆可利用Deterministic Algorithm於Worst Case的情況下,在Polynomial TimePolynomial Time的複雜度內 被解決。被解決

‹ NP:

„ 所謂 “NP” 是指Non-deterministic與Polynomial兩個單字的簡寫

„ 這類的問題只要給個解答,可以在Polynomial Time的複雜度內很快 地驗證驗證 (Verify)(Verify) 出這個解答是否正確。

{ 由於決定性演算法為非決定性演算法的一個特例,且容易找到答案也 會容易驗証答案。因此,P可視為NP的一個特例。

{ P⊂NP (99)

{ P=NP (??)

‹ NP-hard:

„ 是一群Decision Problem的集合。當 Q ∈ NP-hard 若且唯若所有屬 於NP的Decision Problem Q’ (∀Q’∈NP) 皆可多項式時間轉化多項式時間轉化成Q (Q’∝Q)

„ 此類問題至今仍未找到一個多項式複雜度的決定性演算法,且一 般相信沒有多項式複雜度的決定性演算法存在。

‹ NP-complete:

„ 是一群Decision Problem的集合。 若某一個問題Q屬於NP-complete,則滿足以下兩個條件:

{ Q屬於NPNP

{ Q屬於NP-NP-hardhard

‹ 一般而言,理論學家相信上述問題之集合圖示如下:

‹ NP-hard與NP-complete的關係:

„ 所有NP-complete問題都是NP-hard問題 (如:旅行推銷員問題);

但是NP-hard問題不見得是NP-complete問題 (如:程式停止問 題,它不是NP問題)

„ NP-complete ⊆ NP-hard

„ 如果有一個NP-hard問題能夠找到多項式複雜度的決定性演算法,

則所有NP-complete問題也都存在多項式複雜度的決定性演算法。

NP NP-hard

P

NP-complete

‹ Nearly all of the decision problems are NP problems.

‹ In NP problems, there are some problems which have polynomial algorithms

polynomial algorithms. They are called P problemsP problems.

„„ Every P problemEvery P problem must be an NP problemmust be an NP problem.

‹ There are a large set of problems which, up to now, have no no polynomial algorithms

polynomial algorithms.

Summary

‹ Some important properties of NP-NP-complete problemscomplete problems:

„ Up to now, no NP-complete problem has any worst case polynomial algorithm.

„ If any NP-complete problem can be solved in polynomial time, NP = PNP = P.

„ If the the decision version of an optimization problemdecision version of an optimization problemis NP-is NP-completecomplete, this optimization problem is calledoptimization problem NP-NP-hardhard.

‹‹ We can conclude that all We can conclude that all NPNP--completecomplete and and NPNP--hardhard problems must be

problems must be difficult problemsdifficult problems because

„ They do not have polynomial algorithms at present.

„ It is quite unlikely that they can have polynomial algorithms in the future.

在文檔中 Polynomial Time (頁 30-40)

相關文件