Great Theoretical Ideas in Computer Science
Great Theoretical Ideas in Computer Science
3x3x3
Sudoku
3x3x3
Sudoku
4x4x4
Sudoku
4x4x4
Sudoku
nxnxn
The P versus NP problem
(informally)
Is proving a theorem much more difficult
than checking the proof of a theorem?
Lets start at the beginning
Hamilton Cycle
Given a graph G = (V,E), a cycle that visits all
the nodes exactly once
The Problem HAM
AND NOT
AND
The Set SAT
SAT = { all satisfiable circuits C }
Bipartite Matching
Input: A bipartite graph G = (U,V,E)
Find a 3-coloring of
Can G be
G if one exists, else
3-colored ?
return NO
Reducing Search to Decision
Idea:
Fill in one-by-one and
use decision algorithm
Reducing Search to Decision
Idea:
Find the edges of the
cycle one by one
Decision/Search Problems
Well study decision problems because
they are almost the same (asymptotically)
as their search counterparts
Polynomial Time and
The Class P of
Decision Problems
What is an efficient algorithm?
Algorithm A1:
If G has n nodes, then run depth first search
from any node, and count number of distinct
nodes you see. If you see n nodes, G CONN,
else not.
G HAM?
G BI-MATCH?
C SAT?
G CO-HAM?
NP
A set L NP
if there exists an algorithm A and a
polynomial p( )
G BI-MATCH? (is in P)
Fact: P NP
Question: Is NP P ?
Why Care?
NP Contains Lots of Problems
We Dont Know to be in P
Classroom Scheduling
Packing objects into bins
Scheduling jobs on machines
Finding cheap tours visiting a subset of cities
Allocating variables to registers
Finding good packet routings in networks
Decryption
How do I do that?
It may take a long time!
Also, what if I forgot one of
the sets in NP?
We can describe
just one problem L in NP,
such that
if this problem L is in P,
then NP P.
Sudoku has a
polynomial time
algorithm
if and only if
P = NP
...
nxnxn
The Hardest Sets in NP
Sudoku Clique
SAT Independent-Set
3-Colorability HAM
F is poly-time
computable
Answer
Instance IY of Instance
IX = F(IY ) of
problem Y problem X
Answer
AND NOT
AND
Last lecture
SAT and 3COLOR: Two problems that seem
quite different, but are substantially the
same.
can be reduced
(in polytime to)
an instance of
Definition of problems
SAT, 3-COLOR, HAM,
SUDOKU, BI-MATCH
Heres What
Solve any one in poly-time
You Need to solve all of them in poly-time
Know