0% found this document useful (0 votes)
79 views35 pages

CS 126 Lecture T6: NP-Completeness

The document summarizes a lecture on NP-completeness. It introduces polynomial vs exponential time complexity, and the classes P and NP. It describes Cook's Theorem, which established that the satisfiability problem (SAT) is the first NP-complete problem. It then explains the concept of reduction, where showing a new problem can be reduced to SAT proves that new problem is also NP-complete, such as the clique problem. The lecture concludes by discussing how reduction can be used to show many important problems are NP-complete.

Uploaded by

bayentapas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views35 pages

CS 126 Lecture T6: NP-Completeness

The document summarizes a lecture on NP-completeness. It introduces polynomial vs exponential time complexity, and the classes P and NP. It describes Cook's Theorem, which established that the satisfiability problem (SAT) is the first NP-complete problem. It then explains the concept of reduction, where showing a new problem can be reduced to SAT proves that new problem is also NP-complete, such as the clique problem. The lecture concludes by discussing how reduction can be used to show many important problems are NP-complete.

Uploaded by

bayentapas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

CS 126 Lecture T6:

NP-Completeness
Outline
• Introduction: polynomial vs. exponential time
• P vs. NP: the holy grail
• NP-Completeness: Cook’s Theorem
• NP-Completeness: Reduction
• Conclusions

CS126 19-1 Randy Wang


Where We Are
• T1 - T4:
- Computability: whether a problem is solvable at all
- Bad news: “most” problems are not solvable!
• T5 - T6:
- Complexity: how long it takes to solve a problem
- Bad news: many hard problems take so long to solve that they
are almost as bad as non-solvable!
• Tuesday:
- Examples of “fast” vs. “slow” algorithms
• Today:
- Classes of problems depending on how “hard” they are

CS126 19-2 Randy Wang


The “Good” vs. the “Bad”

CS126 19-3 Randy Wang


“Efficient” vs. “Inefficient” Examples
• Sorting: O(N*LogN)
• TSP: O(N!)

• Who cares?
- How long does it take to do TSP(1000)?
- How big is 1000!?

CS126 19-4 Randy Wang


Outline
• Introduction: polynomial vs. exponential time
• P vs. NP: the holy grail
• NP-Completeness: Cook’s Theorem
• NP-Completeness: Reduction
• Conclusions

CS126 19-6 Randy Wang


Another NP Example: CLIQUE

CS126 19-9 Randy Wang


Another NP Example: Satisfiability

CS126 19-10 Randy Wang


P vs. NP

CS126 19-11 Randy Wang


Possible Exception: Quantum Computing
• Quantum mechanics: “coherent superposition”
- A photon can be “here” and “there” simultaneously
- An atom can be in two electronic states simultaneously
- In general, a “qubit” can be 0 and 1 simultaneously!
- A k-bit quantum register can store 2k values simultaneously!
• Quantum computing
- A single quantum instruction, effected by a laser pulse, for
example, can transform a quantum register from one multi-
state to another in one step
- A classical computer needs 2K steps or 2K parallel registers to
match this power
• Non-determistic TM: no more power than TM, but a lot
faster than a determistic TM

CS126 19-12 Randy Wang


P = NP? (The Holy Grail)

CS126 19-13 Randy Wang


NP-Completeness

CS126 19-14 Randy Wang


Outline
• Introduction: polynomial vs. exponential time
• P vs. NP: the holy grail
• NP-Completeness: Cook’s Theorem
- A digression in logic
- The very first NP-Complete problem
• NP-Completeness: Reduction
• Conclusions

CS126 19-15 Randy Wang


A Puzzle
A Digression in Logic
• Classical logic had its origin in Aristotle
• Turing Machine was invented to settle whether logic
satisfiability was solvable
• FSAs and PDAs were developed as simplifications of TMs
• History: perfect reversal of our presentation

CS126 19-17 Randy Wang


Propositional Logic and Satisfiability Proof
Representation: Proof:
Th: Today is Thursday Assume Fr’,
Fr: Tomorrow is Friday Th * (Th->Fr) * Fr’
Th and Fr can be 0 or 1 = Th * (Th’+Fr) * Fr’
Given:
Th There is no assignment
Th -> Fr of Th and Fr that can
Prove: make this formula true,
Fr so assumption must be wrong.

• Like the boolean algebra that we have learned


• Extension to “predicate calculus” to make it more powerful
• A powerful language for describing real world processes
• A darling artificial intelligence tool

CS126 19-18 Randy Wang


A More Complex Example: The Puzzle
Representation:
Mi=0, if Man is on left bank at time i
Mi=1, if Man is on right bank at time i
Similarly define Wi, Gi, and Ci
for Wolf, Goat, and Cabbage.
Given:
M0=W0=G0=C0=0
Mi’Wi’Gi’Ci’ -> Mi+1Wi+1’Gi+1Ci+1’
Mi’Wi’Gi’Ci -> Mi+1Wi+1Gi+1’Ci+1’
MiWiGi’Ci -> Mi+1’Wi+1’Gi+1’Ci+1’
......(many more similar rules)
Prove:
Mk=Wk=Gk=Ck=1
(for some sufficiently large k)
Proof:
Similar as previous slide, assignment of Mi, Wi, Gi, Ci gives solution

CS126 19-19 Randy Wang


What’s the Relevance of This Puzzle?
Propositional and Predicate Calculi as
Descriptions of Computational Processes
• The puzzle is really a computational process
- The initial locations of the man, wolf, goat, and cabbage are
the input state
- The movement rules are a program:
+ for each current state,
+ non-deterministically apply one of the applicable rules
+ transform to next state
- The final locations: the desired output state
• If we can find a variable assignment to make the
corresponding logic formula true, we have found a solution
to the problem

CS126 19-20 Randy Wang


Cook’s Theorem
• A non-deterministic TM with its input is like a puzzle
• We can encode it with a logic formula like we did
• If we can find a variable assignment to make the formula
true, we have found a solution to the puzzle, namely a
simulation of the TM that solves the problem
• Therefore, if we can solve SATISFIABILITY quickly, then
we can find solutions to non-determistic TMs quickly
• Any NP problem can be solved by a non-determistic TM
by definition
• Therefore, if we can solve SATISFIABILITY quickly, we
can solve any NP problem quickly
• SATISFIABILITY is the very first problem proven to be
NP-Complete: a landmark theorem!
CS126 19-21 Randy Wang
In Other Words ...
• An NP problem =
An instance of non-deterministic TM =
A SATISFIABILITY problem
• A solution to an NP problem =
A successful simulation of the non-deterministic TM =
A solution to the SATISFIABILITY problem
• Therefore, if we can solve SATISFIABILITY quickly, we
can solve any NP problem quickly
• Now that we have found our first NP-Complete problem,
are there others?

CS126 19-22 Randy Wang


Outline
• Introduction: polynomial vs. exponential time
• P vs. NP: the holy grail
• NP-Completeness: Cook’s Theorem
• NP-Completeness: Reduction
- The basic idea: to show a problem is NP-Complete, we
show it’s “harder” than SATISFIABILITY
• Conclusions

CS126 19-23 Randy Wang


Reduction

CS126 19-24 Randy Wang


An NP-Complete Example: CLIQUE

CS126 19-25 Randy Wang


Proving CLIQUE Is NP-Complete
• We have already shown CLIQUE is NP
• Now we will show SATISFIABILITY reduces to
CLIQUE

• (A note)
- We have seen that any logic formula can be expressed as a
sum-of-products form
- Any logic formula can also be expressed as a product-of-sums
form
CS126 19-26 Randy Wang
Transforming SAT to CLIQUE
x’ y z
x’ x
y’ y’
z’ z
y z


CS126 19-27 Randy Wang
Solution to CLIQUE = SOLUTION to SAT
x’ y z

x’ x
y’ y’
z’ z

y z
(x’+y+z)(x+y’+z)(y+z)(x’+y’+z)
• Solution to SAT ==> solution to CLIQUE
• Solution to CLIQUE ==> solution to SAT
• So, CLIQUE is NP-Complete
CS126 19-28 Randy Wang
More NP-Complete Problems

CS126 19-29 Randy Wang


More NP-Complete Problems
Outline
• Introduction: polynomial vs. exponential time
• P vs. NP: the holy grail
• NP-Completeness: Cook’s Theorem
• NP-Completeness: Reduction
• Conclusions

CS126 19-31 Randy Wang


What We Have Learned Today
• What are P, NP, NP-Complete problems? What are their
relationships?
• What’s Cook’s Theorem?
• What’s reduction?

CS126 19-34 Randy Wang

You might also like