收藏 分享(赏)

算法设计与分析21.ppt

上传人:lxhqcj 文档编号:7281986 上传时间:2019-05-12 格式:PPT 页数:35 大小:163KB
下载 相关 举报
算法设计与分析21.ppt_第1页
第1页 / 共35页
算法设计与分析21.ppt_第2页
第2页 / 共35页
算法设计与分析21.ppt_第3页
第3页 / 共35页
算法设计与分析21.ppt_第4页
第4页 / 共35页
算法设计与分析21.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、NP-Complete Problems,Algorithm : Design & Analysis 21,In the last class,Boyer-Moores heuristics Skipping unnecessary comparison Combining fail match knowledge into jump Horspool Algorithm Boyer-Moore Algorithm,NP-Complete Problems,Decision Problem The Class P The Class NP NP-Complete Problems Polyno

2、mial Reductions NP-hard and NP-complete,How Functions Grow,Hanoi Tower Revisited,It is easy to provide a recursive algorithm to resolve the problem of Hanoi Tower. The solution requires 2N-1 moves of disc. It is extremely difficult to achieve the result for an input of moderate size. For the input o

3、f 64, it takes half a million years even if the Tibetan priest has superhuman strength to move a million discs in a second.,Max Clique: an Example,A maximal complete subgraph of a graph G is called a clique, whose size is the number of vertices in it. Optimization problem: Find the maximal clique in

4、 a given graph G. Decision problem: Has G a clique of size at least k for some given k?,Decision Problem,Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yes-or-no question A decision problem is a mapping from all possible inputs int

5、o the set yes, no,Optimization vs. Decision,Usually, a optimization problem can be rephrased as a decision problem. For some cases, it can be proved that the decision problem can be solved in polynomial time if and only if the corresponding optimization problem can. We can make the statement that if

6、 the decision problem cannot be solved in polynomial time then the corresponding optimization problem cannot either.,Max Clique Revisited,The max clique problem can be solved in polynomial time iff. the corresponding decision problem can be solved in polynomial time. If the size of a max clique can

7、be found in time g(n), the corresponding decision may be settled in that time of course. If deciClique is algorithm for the decision problem with k in the complexity of f(n), then we apply the algorithm at most n time, for k=n, n-1, ., 2, 1, and we can solve the optimization problem, and with the co

8、mplexity no worse than nf(n), which is polynomial only if f(n) is polynomial.,Some Typical Decision Problems,Graph coloring Given a undirected graph G and a positive integer k, is there a coloring of G using at most k colors? Job scheduling with penalties Given a group of jobs, each with its executi

9、on duration, deadline and penalty for missing the deadline, and a nonnegative integer k, is there a schedule with the total penalty bounded by k?,Some Typical Decision Problems,Bin packing Given k bins each of capacity one, and n objects with size s1, , sn, (where si is a rational number in (0,1 ).

10、Do the n objects fit in k bins? Knapsack Given a knapsack of capacity C, n objects with sizes s1, , sn and “profits” p1, , pn, and a positive integer k. Is there a subset of the n objects that fits in the knapsack and has total profit at least k? (Subset sum as a simplified version),Some Typical Dec

11、ision Problems,CNF-Satisfiability Given a CNF formula, is there a truth assignment that satisfies it? Hamiltonian cycles or Hamiltonian paths Given a undirected graph G. Does G have a Hamiltionian cycle of Hamiltonian path? Traveling salesperson Given a complete, weighted graph and an integer k, is

12、there a Hamiltonian cycle with total weight at most k?,Theory of NP-Completeness,What it cannot do Provide a method of obtaining polynomial time algorithms for those “hard” problems Negate the existence of algorithms of polynomial complexity for those problems What it can do Show that many of the pr

13、oblems for which there is no known polynomial time algorithm are computationally related.,The Class P,A polynomially bounded algorithm is one with its worst-case complexity bounded by a polynomial function of the input size. A polynomially bounded problem is one for which there is a polynomially bou

14、nded algorithm. The class P is the class of decision problems that are polynomially bounded.,Notes on the Class P,Class P has a too broad coverage, in the sense that not every problems in P has an acceptable efficient algorithm. However, the problem not in P must be extremely expensive and probably

15、impossible to solve in practice. The problems in P have nice “closure” properties for algorithm integration. The property of being in P is independent of the particular formal model of computation used.,Nondeterministic Algorithm,void nondetA(String input)String s=genCertif();Boolean CheckOK=verifyA

16、(input,s);if (checkOK)Output “yes”;return;,Phase 1 Guessing: generating arbitrarily “certificate”, i.e. proposed solution,Phase 2 Verifying: determining if s is a valid description of a object for answer, and satisfying the criteria for solution,The algorithm may behave differently on the same input

17、 in different executions: “yes” or “no output”.,Answer of Nondeterministic Algorithm,For a particular decision problem with input x: The answer computed by a nondeterministic algorithm is defined to be yes if and only if there is some execution of the algorithm that gives a yes output. The answer is

18、 no, if for all s, there is no output.,Nondeterministic vs. Deterministic,void nondetSearch(int k; int S)int i =genCertif();if (Si=k)Output “yes”;return;,In O(1) Note: (n) for deterministic algorithm,void nondetSort(int S; int n)int i, j; int out=0;for i =1 to n do j= genCertif();if outj 0 then retu

19、rn;outj=Si ;for i =1 to n-1 doif outi outi+1 then return;S=out;Output(yes); return,In O(n) Note: (nlogn) for deterministic algorithm,Nondeterministic Graph Coloring,Problem instance G,1,2,4,3,5,Input string: 4,5,(1,2)(1,4)(2,4)(2,3)(3,5)(2,5)(3,4)(4,5),s Output Reason a RGRBG false v2 and v5 conflic

20、t RGRB false Not all vertices are colored RBYGO false Too many colors used RGRBY true A valid 4-coloring R%*,G false Bad syntax,generated by phase 1,verified by phase 2,(G,4)yes,The Class NP,A polynomial bounded nondeterministic algorithm is one for which there is a (fixed) polynomial function p suc

21、h that for each input of size n for which the answer is yes , there is some execution of the algorithm that produces a yes output in at most p(n) steps. The class NP is the class of decision problems for which there is a polynomial bounded nondeterministic algorithm.,Deterministic Interpretation,All

22、owing unbounded parallelism in computation One copy of the algorithm is made for each of the possible guess All the copies are executing at the same time The first copy output a “yes” terminates all other computations.,Proof of Being in NP,Graph coloring is in NP Description of the input and the cer

23、tificate Properties to be checked for a answer “yes” There are n colors listed Each ci is in the range 1,k Scan the list of edges to see if a conflict exists Proving that each of the above statement can be checked in polynomial time.,Max Clique Problem is in NP,void nondeteClique(graph G; int n, k)s

24、et S=; for int i=1 to k doint t=genCertif();if tS then return;S=St ;for all pairs (i,j) with i,j in S and ij doif (i,j ) is not an edge of Gthen return;Output(“yes”);,In O(n),In O(k2),So, we have an algorithm for the maximal clique problem with the complexity of O(n+k2)=O(n2),Satisfiability Problem,

25、An example of propositional conjunctive normal form (CNF) is like this:,Satisfiability Problem Given a CNF formula, is there a truth assignment that satisfies it? In other words, is there a assignment for the set of propositional variable in the CNF, such that the value of the formula is true.,void

26、nondetSat(E, n)boolean p ;for int i =1 to n dopi = genCertif(true, false);if E(p1, p2, ., pn)=true then Output(“yes”);,So, the problem is in NP,Relation between P and NP,An deterministic algorithm for a decision problem is a special case of a nondeterministic algorithm, which means: P NPThe determin

27、istic algorithm is looked as the phase 2 of a nondeterministic one, which always ignore the s the phase 1 has written. Intuition implies that NP is a much larger set than P. The number of possible s is exponential in n. No one problem in NP has been proved not in P.,Solving a Problem Indirectly,T,T(

28、x),an input for Q,Algorithm for Q,yes or no answer,x,(an input for P ),Algorithm for P,The correct answer for P on x is yes if and only if the correct answer for Q on T(x) is yes.,Polynomial Reduction,Let T be a function from the input set for a decision problem P into the input set for Q. T is a po

29、lynomial reduction from P to Q if: T can be computed in polynomial bounded time x is a yes input for P T(x) is a yes input for Q x is a no input for P T(x) is a no input for Q,An example:P: Given a sequence of Boolean values, does at least one of them have the value true?Q: Given a sequence of integ

30、ers, is the maximum of them positive?T(x1, , xn)= (y1, , yn), where: yi=1 if xi=true, and yi=0 if xi=false,Problem P is polynomially reducible to Q if there exists a polynomial reduction from P to Q, denoted as: PPQ If PPQ and Q is in P, then P is in P The complexity of P is the sum of T, with the i

31、nput size n, and Q, with the input size p(n), where p is the polynomial bound on T, So, the total cost is: p(n)+q(p(n), where q is the polynomial bound on Q. (If PPQ, then Q is at least as “hard” to solve as P),Relation of Reducibility,A problem Q is NP-hard if every problem P in NP is reducible to

32、Q, that is PPQ. (which means that Q is at least as hard as any problem in NP ) A problem Q is NP-complete if it is in NP and is NP-hard. (which means that Q is at most as hard as to be solved by a polynomially bounded nondeterministic algorithm),NP-complete Problems,An Example of NP-hard problem,Hal

33、t problem: Given an arbitrary deterministic algorithm A and an input I, does A with input I ever terminate? A well-known undecidable problem, of course not in NP . Satisfiability problem is reducible to it. Construct an algorithm A whose input is a propositional formula X. If X has n variables then

34、A tries out all 2n possible truth assignments and verifies if X is satisfiable. If it is satisfiable then A stops. Otherwise, A enters an infinite loop. So, A halts on X iff. X is satisfiable.,P and NP : Revisited,Intuition implies that NP is a much larger set than P. The number of possible s is exp

35、onential in n. No one problem in NP has been proved not in P. If any NP-completed problem is in P , then NP =P . Which means that every problems in NP can be reducible to a problem in P ! Much more questionable!,First Known NP-Complete Problem,Cooks theorem: The satisfiability problem is NP-complete

36、. Reduction as tool for proving NP-complete Since CNF-SAT is known to be NP-hard, then all the problems, to which CNF-SAT is reducible, are also NP-hard. So, the formidable task of proving NP-complete is transformed into relatively easy task of proving of being in NP.,Procedure for NP-Completeness,K

37、nowledge: P is NP-completeness Task: to prove that Q is NP-complete Approach: to reduce P to Q For any RNP , R P P Show P P Q Then R P Q, by transitivity of reductions Done. Q is NP-complete,Proof of Cooks Theorem,COOK, S. 1971. The complexity of theorem-proving procedures. In Conference Record of 3

38、rd Annual ACM Symposium on Theory of Computing. ACM New York, pp. 151158.,Stephen Arthur Cook: b.1939 in Buffalo, NY. Ph.D of Harvard. Professor of Toronto Univ. 1982 Turing Award winner. The Turing Award lecture: “An Overview of Computational Complexity”, CACM, June 1983, pp.400-8,Home Assignment,pp.600- 13.1 13.3 13.4 13.6,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 数据结构与算法

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报