












Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
An introduction to computational complexity, focusing on the classes p and np, and the concept of np-completeness. The definitions of tractability, polynomial-time algorithms, optimization and decision problems, and the differences between deterministic and nondeterministic algorithms. It also includes examples of problems in p and np, such as fractional knapsack, mst, sorting, and the satisfiability (sat) problem.
Typology: Slides
1 / 20
This page cannot be seen from the preview
Don't miss anything!
» (^) Of course: many algorithms we’ve studied provide polynomial-time solutions to some problems
» (^) No: Turing’s “Halting Problem” is not solvable by any computer, no matter how much time is given
» (^) An optimization problem is one which asks, “What is the optimal solution to problem X?” » (^) Examples: (^) 0-1 Knapsack (^) Fractional Knapsack (^) Minimum Spanning Tree
» (^) An decision problem is one with yes/no answer » (^) Examples: (^) Does a graph G have a MST of weight W?
P : the class of decision problems that have polynomial-time deterministic algorithms. » (^) That is, they are solvable in O ( p ( n )), where p ( n ) is a polynomial on n » (^) A deterministic algorithm is (essentially) one that always computes the correct answer Why polynomial? » (^) if not, very inefficient » (^) nice closure properties (^) the sum and composition of two polynomials are always polynomials too
» (^) Hamiltonian Cycle (Traveling Salesman) » (^) Graph Coloring » (^) Satisfiability (SAT) (^) the problem of deciding whether a given Boolean formula is satisfiable
» (^) Given a Boolean expression on n variables, can we assign values such that the expression is TRUE? » (^) Ex: (( x 1 x 2 ) (( x 1 x 3 ) x 4 )) x 2 » (^) Seems simple enough, but no known deterministic polynomial time algorithm exists » (^) Easy to verify in polynomial time!
» (^) Examples: Fractional Knapsack, …
» (^) Examples: Fractional Knapsack,…, Hamiltonian Cycle, CNF SAT, 3-CNF SAT
» (^) Most suspect not » (^) An August 2010 claim of proof that P ≠ NP, by Vinay Deolalikar, researcher at HP Labs, Palo Alto, has flaws
» (^) If all problems R NP are polynomial-time reducible to Q, then Q is NP-Hard » (^) We say Q is NP-Complete if Q is NP-Hard and Q NP
» (^) Try to solve it by designing a polynomial-time algorithm? (^) Prove P=NP » (^) Alleviate the intractability of such problems (^) To make some large instances of the problem solvable (like solving some instances of Knapsack problem in polynomial time) (^) To find good approximations (Chap 12)