CoffmanWolph_Ch10Summary

advertisement
«GreetingLine»
January 30, 2007
Chapter 10: Intractable Problems Summary
Chapter 10 is divided into four major sections: “The
Classes P and NP”, “An NP-Complete Problem”, “A Restricted
Satisfiability Problem”, and “Additional NP-Complete
Problems”. The main purpose of chapter 10 is to introduce
the concept of intractability. Intractability is a problem
that cannot be solved in polynomial time. This leads into
the introduction of the Satisfiability (SAT) problem and
the proof of Cook’s theorem. The proof of Cook’s theorem,
that the SAT problem is NP-Complete, will enable reduction
proofs to be used to show how other problems are also
intractable.
Section 1 begins by introducing two important classes of
problems: P and NP. P is the class of problems solvable in
polynomial time by deterministic Turing Machines (TM). Or
more formally, P is the class of problems that, given a
language L, there is a polynomial T(n) such that L = L(M)
for a deterministic TM M of T(n). T(n) is the time
complexity. T(n) is defined as the running time of a TM M
whenever M is given an input of w (with length n) and halts
after making at most T(n) moves (even if M does not
accept). An example of an algorithm that belongs to P is
Kruskal’s greedy algorithm to find a minimum-weight
spanning tree of a graph.
NP is the class of problems solvable in polynomial time by
nondeterministic TMs. Or more formally, NP is the class of
problems, given a language L, there is a nondeterministic
TM M and a polynomial time complexity T(n) such that L =
L(M) and when M is given an input of length n, there are no
sequences of more than T(n) moves of M. The definitions of
P and NP lead to one of the most studied and open-ended
questions in mathematics (and computer science): Is P = NP?
Polynomial-time reductions are the primary method used to
demonstrate if a given problem is NP. A reduction is done
by taking a known NP problem and making a reduction to the
unknown problem in question. This concept, polynomial-time
reductions, will also be used to demonstrate that a given
problem is NP-Complete.
NP-Complete is a problem that is NP, but not P. More
formally, NP-Complete is the class of problems, given a
language L, L is in NP and for every language L’ in NP
there is a polynomial-time reduction of L’ to L. From this
«GreetingLine»
January 30, 2007
definition theorem 10.4 and theorem 10.5 can be derived.
Theorem 10.4 states: If P1 is NP-Complete, P2 is in NP and
there is a polynomial-time reduction of P1 to P2, then P2
is NP-Complete. Theorem 10.5 states: If some NP-Complete
problem P is in P, then P = NP. The section ends with the
definition of NP-Hard. NP-Hard is a problem where it can
be shown for that problem that for every language L’ in NP,
there is a polynomial-time reduction of L’ to L, but it
cannot be shown that L is in NP.
Section 2 focuses on the Satisfiability Problem (SAT) and
the proof of Cook’s theorem. The SAT problem is
determining whether or not a Boolean expression is
satisfiable. Boolean expressions consist of four parts:
 Variables (with the value 1 or 0)
 Binary operators (logical AND, logical OR)
 Unary operator (logical negation)
 Parentheses (used for grouping)
A truth assignment for a given Boolean expression, E, is
where each variable in E is assigned either “True” or
“False”. E(T) denotes the value of E for a given truth
assignment T. When E(T) = 1 it is said that truth
assignment T satisfies Boolean expression E or that truth
assignment T makes Boolean expression E true. A problem is
said to be satisfiable if there exists at least one truth
assignment T that satisfies Boolean expression E.
Cook’s theorem (theorem 10.9 in the book) states: SAT is
NP-Complete. Proving Cook’s theorem is done in two steps.
Step 1 is to demonstrate that SAT is NP. Step 2 is to show
that every language in NP reduces to SAT. Step 1 is fairly
straightforward since SAT is NP because a non-deterministic
TM can:
 Guess a truth assignment
 Determine the value of the Boolean expression given
the truth assignment
 Accept if the truth assignment evaluates the Boolean
expression to be “True”
In other words, a guess can be created and evaluated to
either “True” or “False” in polynomial time (and there is a
finite number of guesses).
Step 2, on the other hand, is very complex. The major
undertaking in step 2 is the construction of Boolean
Expression EM,w. EM,w is the logical AND of four components:
«GreetingLine»
January 30, 2007
S (start right), N (more right), F (finish right), and U
(unique symbol in each cell). Once the Boolean expression
is constructed the rest of the proof just falls into place.
Section 3 introduces two variations of the SAT problem:
3SAT and CSAT. The CSAT is introduced as an intermediate
step so that it can be shown that SAT can be reduced to
3SAT. 3SAT is defined as a problem similar to SAT but the
Boolean expressions have a regular form: the logical AND of
“clauses”, where each clause is the OR of three variables
(could be negated variables). Reducing SAT to 3SAT is done
by converting each Boolean expression E into a new Boolean
expression F in the form required by 3SAT. Hence, F is
satisfiable iff E is satisfiable.
In order to reach the objective of this section, there are
three important concepts that need to be defined:
 Literal – a variable (could be negated)
 Clause – logical OR of one or more literals
 CNF – conjunctive normal form, logical AND of clauses
Two Boolean expressions are equivalent if two Boolean
expressions have the same result on any truth assignment to
their variables.
CSAT is a Boolean expression in CNF that is satisfiable.
The reduction of SAT to CSAT is done in two parts. The
first part is to “push” the negations through the Boolean
expression so that variables are the only thing with
negations. The second part is to write the Boolean
expressions in CNF form. This leads to three theorems:
theorem 10.12, theorem 10.13, and theorem 10.15. Theorem
10.12 states: Every Boolean expression E is equivalent to
an expression F in which the only negation occurs in
literals. Moreover, the length of F is linear in the number
of symbols of E and F can be constructed from E in
polynomial time. Theorem 10.13 states: CSAT is NPComplete. Theorem 10.15 states: 3SAT is NP-Complete (which
is proven by reducing CSAT to 3SAT).
Section 4 introduces the format for NP-Complete problem
definitions and a list of known NP-Complete problems. Each
NP-Complete problem definition contains four parts:
 Name
 Input
 Output
 Problem to which the reduction was made
«GreetingLine»
January 30, 2007
Known NP-Complete problems (and the theorems) are
summarized in the table below:
Problem:
Independent Set (IS)
Node-cover (NC)
Directed HamiltonCircuit (DHC)
Hamilton-Circuit (HC)
Traveling Salesman
Theorem:
10.18: IS problem is NP-Complete
10.20: NC problem is NP-Complete
10.21: DHC problem is NP-Complete
10.23: HC problem is NP-Complete
10.24: Traveling Salesman is NPComplete
Resources:
J. E. Hopcroft, (R. Motwani) and J. D. Ullman,
Introduction to Automata Theory, Languages, and
Computation. Addison Wesley, 2000. [Pages 425-482].
Download