Title: FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
115-453
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
2(No Transcript)
3Theorem L ? NP ? if there exists a poly-time
Turing machine V(erifier) with
L x ?y(witness) y poly(x) and V(x,y)
accepts
Proof
- If L x ?y y poly(x) and V(x,y)
accepts - then L ? NP
Because we can guess y and then run V
(2) If L ? NP then L x ?y y poly(x)
and V(x,y) accepts
Let N be a non-deterministic poly-time TM that
decides L and define V(x,y) to accept if y is an
accepting computation history of N on x
4A language is in NP if and only if there exist
polynomial-length certificates for membership to
the language
SAT is in NP because a satisfying assignment is a
polynomial-length certificate that a formula is
satisfiable
5NP all the problems for which once you have the
answer it is easy (i.e. efficient) to verify
6P NP?
7If P NP
Mathematicians would be out of a job
Cryptography as we know it would not be possible
(e.g. RSA)
AI program become perfect as exhaustive search is
efficient
8If P NP
Generation is as easy as recognition
Being a chef is as easy as eating.
Writing symphonies is as easy as listening to
them.
Writing Shakespeare is as easy as recognizing
Shakespeare.
9POLY-TIME REDUCIBILITY
A language A is polynomial time reducible to
language B, written A ?P B, if there is a
polynomial time computable function f S ? S,
where for every w,
w ? A ? f(w) ? B
f is called a polynomial time reduction of A to B
10NP Complete Problem hardest problem in NP
-
- Intuitively, L is harder than L if L is
polynomial reducible to L. -
- NP Complete Problem If such a problem has an
efficient algorithm (in P), then every other
problem also has efficient algorithm.
11Theorem (Cook-Levin) SAT is NP-complete
Corollary SAT ? P if and only if P NP
12 Any thing in NP ?P 3SAT
NP
P
SAT
You can think of -gt as easier than. SAT is the
hardest problem in NP.
13NP-Complete Problems
- 3SAT
- k-Clique
- Vertex Cover
- Independent Set
143SAT
- Problem Given a CNF where each clause has 3
variables, decide whether it is satisfiable or
not. - (x1 ? x1 ? x2) ? (?x1 ? ?x2 ? ?x2) ? (?x1 ? x2 ?
x2)
153SAT is NP Complete
3SAT
? ?y such that y is a satisfying assigment to
? and ? is in 3cnf
How about 2SAT?
16 What we want to prove?
3SAT
NP
P
SAT
17How to prove?
- We can convert (in polynomial time) a given SAT
instance S into a 3SAT instance S such that - If S is satisfiable, then S is satisfiable.
- If S is satisfiable, then S is satisfiable.
18Key Observation
x1 ? x2 ? x3 ? x4 ? x5 is satisfiable if and
only if (x1 ? x2 ? z1)? ( ? z1 ? x3 ? z2 )? (?
z2 ? x4 ? z3)? (? z3 ? x4 ? x5) is satisfiable.
19Polynomial Time Reduction
- x1 ? x1 ? x1
- x1 ? x1 ? ? x2
- x1 ? x2 ? x3
- (x1 ? x2 ? z1)? ( ? z1 ? x3 ? x4)
- (x1 ? x2 ? z1)? ( ? z1 ? x3 ? z2)?
- (? z2 ? x4 ? z3)? (? z3? x4 ? x5)
- x1
- x1 ? ? x2
- x1 ? x2 ? x3
- x1 ? x2 ? x3 ? x4
- x1 ? x2 ? x3 ? x4 ? x5
20CLIQUE
k-clique complete subgraph of k nodes
21K-Cliques
A K-clique is a set of K nodes with all K(K-1)/2
possible edges between them
This graph contains a 4-clique
22Assume a reasonable encoding of graphs (example
the adjacency matrix is reasonable)
CLIQUE (G,k) G is an undirected graph
with a k-clique
Theorem CLIQUE is NP-Complete
(1) CLIQUE ? NP
(2) 3SAT ?P CLIQUE
Brute Force Algorithm Try out all n choose k
possible locations for the k clique
23CLIQUE is NP-Complete
NP
P
3SAT
CLIQUE
243SAT ?P CLIQUE
We transform a 3-cnf formula ? into (G,k) such
that
? ? 3SAT ? (G,k) ? CLIQUE
The transformation can be done in time that is
polynomial in the length of ?
253SAT ?P CLIQUE
We transform a 3-cnf formula ? into (G,k) such
that
? ? 3SAT ? (G,k) ? CLIQUE
If ? has m clauses, we create a graph with m
clusters of 3 nodes each, and set km Each
cluster corresponds to a clause. Each node in a
cluster is labeled with a literal from the clause.
We do not connect any nodes in the same cluster
We connect nodes in different clusters whenever
they are not contradictory
26(x1 ? x1 ? x2) ? (?x1 ? ?x2 ? ?x2) ? (?x1 ? x2 ?
x2)
clause
k clauses
nodes 3( clauses)
27(x1 ? x1 ? x1) ? (?x1 ? ?x1 ? x2) ? (x2 ? x2 ?
x2) ? (?x2 ? ?x2 ? x1)
28Independent Set
An independent set is a set of nodes with no
edges between them
This graph contains an independent set of size 3
29Independent Set
G(V,E)
Problem Given a graph G and k, is there a size k
independent set?
30Complement of G
Given a graph G, let G, the complement of G, be
the graph such that two nodes are connected in
G if and only if the corresponding nodes are not
connected in G
G
G
31Key Observation
- For a graph G, vertex set S is an independent set
if and only if S is clique in G.
32Let G be an n-node graph
Is there size clique in G?
Is there size k independent set in G?
33VERTEX COVER
vertex cover set of nodes that cover all edges
34Vertex Cover is NP Complete
- Given a Graph G(V,E), decide if there is k
vertex such that every edge is covered by one of
them?
35K-Indep Set ?P Vertex Cover
36Key Observation
- For a graph G(V,E), S is a independent set if and
only if V-S is a vertex cover.
37Other NP-Complete Problems
- Travelling Salesman Problem
- Hamiltonian Path
- Max Cut
- Subset Sum
- Integer Programming
- .
38Other Problems in NP
- Graph Isomorphism
- Factoring Number
- We dont know if they are NP Complete or not.