SHEN’S CLASS NOTES 1Chapter 34 NP-Completeness 34.1 Basic Concepts After long time study, people found that some problems can be efficiently solved, and some problems are so difficult that only exponential time algorithms are known for them or even no algorithm at all. In order to study the intrinsic complexity of computational problems, we would like to classify problems into different classes based on their difficulty levels. If a problem can be solved in time that is a polynomial function of n, where nis the input size, we say that this problem belongs to class P. Class Pproblems are called tractable because they can be solved in polynomial time. A problem that requires super-polynomial time is called intractable. There is a class of problems whose tractability is not known yet. We call this class NP-complete(NPC). If a problem belongs to NPC class, then it is a hard problem because no body can provide a polynomial algorithm for it so far. However, it has not been proved yet that they are indeed not polynomial solvable. In order to study the intrinsic complexity of problems, we introduce the NP class. A problem belongs to the NP class if it can be solved by an NP algorithm in polynomial time. An NP algorithm is an algorithm run on a powerful but hypothetical computing model called non-deterministic machinemodel. All NPC problems can be solved by an NP algorithm in polynomial time. Moreover, it is proved that if any NPC problem can be solved in the future by a (deterministic) polynomial algorithm,
This preview has intentionally blurred sections.
Sign up to view the full version.