Download presentation
Presentation is loading. Please wait.
Published byEsperanza Farrington Modified over 9 years ago
1
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 15-453
2
NP = NTIME(n k ) k N
3
Theorem: 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: (1) 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
4
A 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
5
NP = all the problems for which once you have the answer it is easy (i.e. efficient) to verify
6
P = NP?
7
If P = NP… Cryptography as we know it would not be possible (e.g. RSA) Mathematicians would be out of a job AI program become perfect as exhaustive search is efficient
8
If P = NP… Writing symphonies is as easy as listening to them. Being a chef is as easy as eating. Writing Shakespeare is as easy as recognizing Shakespeare. Generation is as easy as recognition:
9
POLY-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 : Σ* Σ*, where for every w, w A f(w) B f is called a polynomial time reduction of A to B
10
NP 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.
11
Theorem (Cook-Levin): SAT is NP-complete Corollary: SAT P if and only if P = NP
12
P NP SAT Any thing in NP P 3SAT You can think of -> as “easier than”. SAT is the hardest problem in NP.
13
NP-Complete Problems 3SAT k-Clique Vertex Cover Independent Set
14
3SAT Problem: Given a CNF where each clause has 3 variables, decide whether it is satisfiable or not. (x 1 x 1 x 2 ) ( x 1 x 2 x 2 ) ( x 1 x 2 x 2 )
15
3SAT = { | y such that y is a satisfying assigment to and is in 3cnf } 3SAT is NP Complete How about 2SAT?
16
P NP 3SAT SAT What we want to prove?
17
How to prove? 1.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.
18
Key Observation x 1 x 2 x 3 x 4 x 5 is satisfiable if and only if (x 1 x 2 z 1 ) ( z 1 x 3 z 2 ) ( z 2 x 4 z 3 ) ( z 3 x 4 x 5 ) is satisfiable.
19
Polynomial Time Reduction Clause in SAT x 1 x 1 x 2 x 1 x 2 x 3 x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 x 5 Clauses in 3SAT x 1 x 1 x 1 x 1 x 1 x 2 x 1 x 2 x 3 (x 1 x 2 z 1 ) ( z 1 x 3 x 4 ) (x 1 x 2 z 1 ) ( z 1 x 3 z 2 ) ( z 2 x 4 z 3 ) ( z 3 x 4 x 5 )
20
CLIQUE b a e c d f g k-clique = complete subgraph of k nodes
21
K-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
22
CLIQUE = { (G,k) | G is an undirected graph with a k-clique } Theorem: CLIQUE is NP-Complete (1) CLIQUE NP (2) 3SAT P CLIQUE Assume a reasonable encoding of graphs (example: the adjacency matrix is reasonable) Brute Force Algorithm: Try out all {n choose k} possible locations for the k clique
23
P NP CLIQUE 3SAT CLIQUE is NP-Complete
24
3SAT 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
25
3SAT 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 k=m 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
(x 1 x 1 x 2 ) ( x 1 x 2 x 2 ) ( x 1 x 2 x 2 ) x1x1 x1x1 x1x1 x2x2 x2x2 x2x2 x2x2 x2x2 x1x1 k = #clauses clauseclause #nodes = 3(# clauses)
27
(x 1 x 1 x 1 ) ( x 1 x 1 x 2 ) (x 2 x 2 x 2 ) ( x 2 x 2 x 1 ) x1x1 x1x1 x2x2 x2x2 x1x1 x1x1 x2x2 x2x2 x1x1 x2x2 x2x2 x1x1
28
This graph contains an independent set of size 3 Independent Set An independent set is a set of nodes with no edges between them
29
Independent Set G(V,E) Problem: Given a graph G and k, is there a size k independent set?
30
Complement 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*
31
Key Observation For a graph G, vertex set S is an independent set if and only if S is clique in G*.
32
Let G be an n-node graph Is there size clique in G? Is there size k independent set in G*?
33
VERTEX COVER b a e c d b a e c d vertex cover = set of nodes that cover all edges
34
Vertex 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?
35
K-Indep Set P Vertex Cover
36
Key Observation For a graph G(V,E), S is a independent set if and only if V-S is a vertex cover.
37
Other NP-Complete Problems Travelling Salesman Problem Hamiltonian Path Max Cut Subset Sum Integer Programming ….
38
Other Problems in NP Graph Isomorphism Factoring Number We don’t know if they are NP Complete or not.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.