




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Chapter 8 The THEORY OF NP_COMPLETENESSThe design and Analysis of Computer AlgorithmsNP: the class of decision problem which can be solved by a non-deterministic polynomial algorithm.P: the class of problems which can be solved by a deterministic polynomial algorithm.NP-hard: the class of problems t
2、o which every NP problem reduces.NP-complete (NPC): the class of problems which are NP-hard and belong to NP.Reduction : An instance of AB is harder than ADecision problemsThe solution is simply “Yes” or “No”.Optimization problems are more difficult. e.g. the traveling salesperson problem Optimizati
3、on version:Find the shortest tour Decision version:Is there a tour whose total length is less than or equal to a constant c ?Solving an optimization problem by a decision algorithm : Solving TSP optimization problem by decision algorithm :Give c1 and test (decision algorithm) Give c2 and test (decis
4、ion algorithm) Give cn and test (decision algorithm)We can easily find the smallest ci from c1, c2, , cnNondeterministic algorithmsA nondeterminstic algorithm consists of phase 1: guessing phase 2: checkingIf the checking stage of a nondeterministic algorithm is of polynomial time-complexity, then t
5、his algorithm is called an NP (nondeterministic polynomial) algorithm.NP problems : (must be decision problems)e.g. searching, MST (Minimum Spanning Trees)sortingsatisfiability problem (SAT)traveling salesperson problem (TSP)Nondeterministic operations and functions Horowitz 1998Choice(S) : arbitrar
6、ily chooses one of the elements in set S Failure : an unsuccessful completionSuccess : a successful completion Nonderministic searching algorithm: j choice(1 : n) /* guessing */ if A(j) = x then success /* checking */ else failureSorting problemExample 1 B 0 /* guessing */for i = 1 to n do j choice(
7、1 : n) if Bj 0 then failure Bj = Ai /* checking */for i = 1 to n-1 do if Bi Bi+1 then failure success Example 2N Queens problemN-QUEEN (input n : integer; output B : array1.n of integer) /* Bi = the row of the queen in the ith column. -1 initially */ B -1; /* guessing */ for i = 1 to n do j choice(1
8、 : n) Bi=j/* checking */for i = 1 to n doif (attacked(i, B) ) then failure success The satisfiability problemThe satisfiability problemThe logical formula : x1 v x2 v x3 & - x1 & - x2 the assignment : x1 F , x2 F , x3 Twill make the above formula true . (-x1, -x2 , x3) represents x1 F , x2 F , x3 TI
9、f there is at least one assignment which satisfies a formula, then we say that this formula is satisfiable; otherwise, it is unsatisfiable.An unsatisfiable formula : x1 v x2 & x1 v -x2 & -x1 v x2 & -x1 v -x2 Definition of the satisfiability problem: Given a Boolean formula, determine whether this fo
10、rmula is satisfiable or not.A literal : xi or -xi A clause : x1 v x2 v -x3 Ci A formula : conjunctive normal form C1& C2 & & Cm Resolution principle C1 : -x1 v -x2 v x3 C2 : x1 v x4 C3 : -x2 v x3 v x4 If no new clauses can be deduced, then it is satisfiable. -x1 v -x2 v x3 (1) x1 (2) x2 (3) (1) & (2
11、) -x2 v x3 (4) (4) & (3) x3 (5) (1) & (3) -x1 v x3 (6)The resolution principleIf an empty clause is deduced, then it is unsatisfiable. - x1 v -x2 v x3 (1) x1 v -x2 (2) x2 (3) - x3 (4) deduce (1) & (2) -x2 v x3 (5) (4) & (5) -x2 (6) (6) & (3) (7)Semantic treeIn a semantic tree, each path from the roo
12、t to a leaf node represents a class of assignments.If each leaf node is attached with a clause, then it is unsatisfiable.Nondeterministic SAT /* guessing */ for i = 1 to n do xi choice( true, false ) /* checking */ if E(x1, x2, ,xn) is true then success else failureA nondeterministic algorithm termi
13、nates unsuccessfully if there exist no a set of choices leading to a success signal. The time required for choice(1 : n) is O(1). A deterministic interpretation of a non-deterministic algorithm can be made by allowing unbounded parallelism in computation. Halting decision problemNot all decision pro
14、blems are NP problemsE.g. halting problem : Given a program with a certain input data, will the program terminate or not?NP-hardUndecidableSome concepts of NPCDefinition of reduction: Problem A reduces to problem B (A B) iff A can be solved by a deterministic polynomial time algorithm using a determ
15、inistic algorithm that solves B in polynomial time.Up to now, none of the NPC problems can be solved by a deterministic polynomial time algorithm in the worst case.It does not seem to have any polynomial time algorithm to solve the NPC problems.The theory of NP-completeness always considers the wors
16、t case. The lower bound of any NPC problem seems to be in the order of an exponential function.Not all NP problems are difficult. (e.g. the MST problem is an NP problem.)If A, B NPC, then A B and B A.Theory of NP-completenessIf any NPC problem can be solved in polynomial time, then all NP problems c
17、an be solved in polynomial time. (NP = P) Cooks theorem NP = P if the satisfiability problem is a P problem. SAT is NP-complete.It is the first NP-complete problem. Every NP problem reduces to SAT.Transforming searching to SAT Does there exist a number in x(1), x(2), , x(n) , which is equal to 7? As
18、sume n = 2. nondeterministic algorithm: i = choice(1,2) if x(i)=7 then SUCCESS else FAILURE i=1 v i=2& i=1 i2 & i=2 i1 & x(1)=7 & i=1 SUCCESS & x(2)=7 & i=2 SUCCESS & x(1)7 & i=1 FAILURE & x(2)7 & i=2 FAILURE & FAILURE -SUCCESS & SUCCESS (Guarantees a successful termination) & x(1)=7 (Input Data) &
19、x(2)7CNF (conjunctive normal form) : i=1 v i=2 (1) i1 v i2 (2) x(1)7 v i1 v SUCCESS (3) x(2)7 v i2 v SUCCESS (4) x(1)=7 v i1 v FAILURE (5) x(2)=7 v i2 v FAILURE (6) -FAILURE v SUCCESS (7) SUCCESS (8) x(1)=7 (9) x(2)7 (10) Satisfiable at the following assignment : i=1 satisfying (1) i2 satisfying (2)
20、, (4) and (6) SUCCESS satisfying (3), (4) and (8) -FAILURE satisfying (7) x(1)=7 satisfying (5) and (9) x(2)7 satisfying (4) and (10)Searching for 7, but x(1)7, x(2)7CNF (conjunctive normal form) :Apply resolution principle : CNF: Searching for 7, where x(1)=7, x(2)=7SAT is NP-complete(1) SAT is an
21、NP algorithm.(2) SAT is NP-hard:Every NP algorithm can be transformed in polynomial time to SAT Horowitz 1998 such that SAT is satisfiable if and only if the answer for the original NP problem is “YES”.That is, every NP problem SAT .By (1) and (2), SAT is NP-complete.Proof of NP-Completeness To show
22、 that A is NP-complete(I) Prove that A is an NP problem. (II) Prove that B NPC, B A. A NPCWhy ?3-satisfiability problem (3-SAT) Def: Each clause contains exactly three literals.(I)3-SAT is an NP problem (obviously)(II)SAT 3-SAT Proof:(1) One literal L1 in a clause in SAT :in 3-SAT :L1 v y1 v y2 L1 v
23、 -y1 v y2 L1 v y1 v -y2 L1 v -y1 v -y2(2) Two literals L1, L2 in a clause in SAT :in 3-SAT :L1 v L2 v y1 L1 v L2 v -y1(3) Three literals in a clause :remain unchanged.(4) More than 3 literals L1, L2, , Lk in a clause :in 3-SAT :L1 v L2 v y1L3 v -y1 v y2 Lk-2 v -yk-4 v yk-3Lk-1 v Lk v -yk-3The instan
24、ce S in 3-SAT : x1 v x2 v y1 x1 v x2 v -y1 -x3 v y2 v y3 -x3 v -y2 v y3 -x3 v y2 v -y3 -x3 v -y2 v -y3 x1 v -x2 v y4 x3 v -y4 v y5 -x4 v x5 v -y5 an instance S in SAT : x1 v x2 -x3 x1 v -x2 v x3 v -x4 v x5Example of transforming 3-SAT to SATProof : S is satisfiable S is satisfiable “” 3 literals in
25、S (trivial) consider 4 literals S : L1 v L2 v v Lk S: L1 v L2 v y1 L3 v -y1 v y2 L4 v -y2 v y3 Lk-2 v -yk-4 v yk-3 Lk-1 v Lk v -yk-3S is satisfiable at least Li = T Assume : Lj = F j i assign : yi-1 = F yj = T j i-1 yj = F j i-1 ( Li v -yi-2 v yi-1 ) S is satisfiable.“” If S is satisfiable, then ass
26、ignment satisfying S can not contain yis only. at least Li must be true. (We can also apply the resolution principle). Thus, 3-SAT is NP-complete. Comment for 3-SATIf a problem is NP-complete, its special cases may or may not be NP-complete.Chromatic number decision problem (CN) Def: A coloring of a
27、 graph G=(V, E) is a functionf : V 1, 2, 3, k such that if (u, v) E, then f(u)f(v). The CN problem is to determine if G has a coloring for k. E.g. Satisfiability with at most 3 literals per clause (SATY) CN.3-colorable f(a)=1, f(b)=2, f(c)=1f(d)=2, f(e)=3 SATY CN x1 v x2 v x3 (1) -x3 v -x4 v x2 (2)
28、Example of SATY CNTrue assignment:x1=Tx2=Fx3=Fx4=TSatisfiable n+1 colorable“”(1) f(yi) = i(2) if xi = T, then f(xi) = i, f(-xi) = n+1 else f(xi) = n+1, f(-xi) = i(3)if xi in cj and xi = T, then f(cj) = f(xi) if -xi in cj and -xi = T, then f(cj) = f(-xi) ( at least one such xi ) Proof of SATY CN “”(1
29、) yi must be assigned with color i.(2)f(xi) f(-xi)either f(xi) = i and f(-xi) = n+1or f(xi) = n+1 and f(-xi) = i(3) at most 3 literals in cj and n 4 at least one xi, xi and -xi are not in cj f(cj) n+1(4)if f(cj) = i = f(xi), assign xi to Tif f(cj) = i = f(-xi), assign -xi to T(5)if f(cj) = i = f(xi)
30、 (cj, xi) E xi in cj cj is true if f(cj) = i = f(-xi) similarly Set cover decision problem Def: F = Si = S1, S2, , Sk Si = u1, u2, , un T is a set cover of F if T F and Si = SiThe set cover decision problem is to determine if F has a cover T containing no more than c sets.example F = (a1, a3), (a2,
31、a4), (a2, a3), (a4), (a1, a3 , a4) s1 s2 s3 s4 s5 T = s1, s3, s4 set cover T = s1, s2 set cover, exact coverExact cover problem (Notations same as those in set cover.) Def: To determine if F has an exact cover T, which is a cover of F and the sets in T are pairwise disjoint. CN exact cover Sum of su
32、bsets problemDef: A set of positive numbers A = a1, a2, , an a constant CDetermine if A A ai = C e.g. A = 7, 5, 19, 1, 12, 8, 14 C = 21, A = 7, 14 C = 11, no solution Exact cover sum of subsets. Proof : instance of exact cover : F = S1, S2, , Sk instance of sum of subsets : A = a1, a2, , ak where wh
33、ere eij = 1 if uj Si eij = 0 if otherwise. Why k+1? (See the example on the next page.)Exact cover sum of subsets Example of Exact cover sum of subsetsValid transformation:u1=1, u2=2, u3=3, n=3EC: S1=1,2, S2=3, S3=1,3, S4=2,3F=u1, u2, u3=1,2,3 k=4SS: a1=51+52=30 a2=53=125 a3=51+53=130 a4=52+53=150 C
34、=51+52 +53 =155Invalid transformaiton: EC: S1=1,2, S2=2, S3=2, S4=2,3. K=4 Suppose k-2=2 is used. SS: a1=21+22=6a2=22=4a3=22=4a4=22+23=12C=21+22+23=14Partition problem Def: Given a set of positive numbers A = a1,a2,an , determine if a partition P, ai = ai ip ipe. g. A = 3, 6, 1, 9, 4, 11 partition :
35、 3, 1, 9, 4 and 6, 11 sum of subsets partition Sum of subsets partition Why bn+1 = C+1 ? why not bn+1 = C ?To avoid bn+1 and bn+2 to be partitioned into the same subset.Bin packing problem Def: n items, each of size ci , ci 0bin capacity : CDetermine if we can assign the items into k bins, ci C , 1j
36、k. ibinj partition bin packing. VLSI discrete layout problemGiven: n rectangles, each with height hi (integer) width wi and an area ADetermine if there is a placement of the n rectangles within the area A according to the rules :Boundaries of rectangles parallel to x axis or y axis.Corners of rectan
37、gles lie on integer points. No two rectangles overlap.Two rectangles are separated by at least a unit distance. (See the figure on the next page.) A Successful Placement bin packing VLSI discrete layout.Max clique problemDef: A maximal complete subgraph of a graph G=(V,E) is a clique. The max (maxim
38、um) clique problem is to determine the size of a largest clique in G.e. g. SAT clique decision problem. maximal cliques :a, b, a, c, dc, d, e, fmaximum clique :(largest)c, d, e, fNode cover decision problemDef: A set S V is a node cover for a graph G = (V, E) iff all edges in E are incident to at least one vertex in S. S, S K ? clique decision problem node cover decision problem. (See proof on the next page.)Clique decision node cover decisionG
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年江淮十校英語試題及答案
- 2025年建設(shè)史考試題及答案
- 2025年月嫂考試題及答案養(yǎng)老
- 2025年酒店文員面試試題及答案
- 2025年二建自考試題及答案
- 保健按摩師中級練習(xí)測試題附答案
- 2025年三峽酈道元試題集及答案
- 鞍山職業(yè)學(xué)前教育復(fù)習(xí)測試卷
- 工業(yè)機(jī)器人練習(xí)試題附答案
- 2025年獨具匠心的試題及答案
- 復(fù)方雷尼替丁
- 2023年青島港灣職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)模擬試題及答案解析
- 五金采購合同及價格清單
- 25噸汽車吊吊裝施工方案
- DB63T 2105-2023 蒸發(fā)量觀測 全自動水面蒸發(fā)器比測規(guī)程
- GB/T 27740-2011流延聚丙烯(CPP)薄膜
- GB/T 22465-2008紅花籽油
- 體育賽事管理
- A類業(yè)余無線電操作技術(shù)能力驗證題目題庫1
- 卡通小學(xué)生校園用電安全教育參考課件
- 航線維修工具丟失的風(fēng)險管理項目課件
評論
0/150
提交評論