NP-Complete Theory

# NP-Complete Theory - NP-Complete Theory...

This preview shows pages 1–3. Sign up to view the full content.

±P-Complete Theory I. Introduction II. Definition of ±P III. Focus on Yes-±o Problems IV. Reductions and Transforms V. ±P-Completeness I. Introduction A problem is said to be polynomial if there exists an algorithm that solves the problem in time T(n)=O(n c ), where c is a constant. Examples of polynomial problems: Sorting: O(n log n) = O(n 2 ) All-pairs shortest path: O(n 3 ) Minimum spanning tree: O(E log E)= O(E 2 ) A problem is said to be exponential if no polynomial-time algorithm can be developed for it and if we can find an algorithm that solves it in O(n u(n) ), where u(n) goes to infinity as n goes to infinity. The world of computation can be subdivided into three classes: Polynomial problems (P) 1. Exponential problems (E) 2. Intractable (non-computable) problems (I) 3. There is a very large and important class of problems that we know how to solve exponentially, 1. we don't know how to solve polynomially, and 2. we don't know if they can be solved polynomially at all 3. This class is a gray area between the P-class and the E-class. It will be studied in this chapter. Back to Top NP-Complete Theory http://www.seas.gwu.edu/~ayoussef/cs212/npcomplete.html 1 of 7 9/3/2010 4:52 AM

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
II. Definition of ±P Definition 1 of NP: A problem is said to be Nondeterministically Polynomial (NP) if we can find a nodeterminsitic Turing machine that can solve the problem in a polynomial number of nondeterministic moves. For those who are not familiar with Turing machines, two alternative definitions of NP will be developed. Definition 2 of NP: A problem is said to be NP if its solution comes from a finite set of possibilities, and 1. it takes polynomial time to verify the correctness of a candidate solution 2. Remark : It is much easier and faster to "grade" a solution than to find a solution from scratch. We use NP to designate the class of all nondeterministically polynomial problems. Clearly, P is a subset of NP A very famous open question in Computer Science: P = NP ? To give the 3rd alternative definition of NP, we introduce an imaginary, non-implementable instruction, which we call " choose() ". Behavior of " choose() ": if a problem has a solution of N components, choose(i) magically returns the i-th component of the CORRECT solution in constant time 1. if a problem has no solution,
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### Page1 / 7

NP-Complete Theory - NP-Complete Theory...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online