Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 4170 Theory of Computation The class NP Section 7.3.

Similar presentations


Presentation on theme: "CSC 4170 Theory of Computation The class NP Section 7.3."— Presentation transcript:

1 CSC 4170 Theory of Computation The class NP Section 7.3

2 and target node are fixed.
The HAMPATH problem 7.3.a A Hamiltonian path in a directed graph G is a directed path that goes through each node exactly once. We consider a special case of this problem where the start node and target node are fixed. HAMPATH = {<G,s,t> | G is a directed graph with a Hamiltonian path from s to t} 1 5 3  PATH? s t  HAMPATH? 4 2 6 1 5 3  HAMPATH? s t 4 2 6

3 Polynomial verifiability
Does this graph have a Hamiltonian path? s t

4 The COMPOSITES problem
COMPOSITES = {x | x=pq for some integers p,q>1} 15  COMPOSITES ? 17  COMPOSITES ? 77  COMPOSITES ? 10403  COMPOSITES ? 997,111,111,911,111,119,131,119,871  COMPOSITES ? COMPOSITES is very easily seen to be verifiable in polynomial time. But only a few years ago it was proven that it is also decidable in polynomial time. The same question, however, remains open for HAMPATH --- one of the seven $1,000,000 questions!

5 NP in terms of nondeterministic Turing machines
Giorgi Japaridze Theory of Computability Definition NP is the class of languages decided by some nondeterministic polynomial time Turing machine.

6 A k-clique in an undirected graph is a subgraph
The CLIQUE problem 7.3.e Giorgi Japaridze Theory of Computability A k-clique in an undirected graph is a subgraph with k nodes, wherein every two nodes are connected by an edge. On the right we see a 5-clique CLIQUE = {<G,k> | G is an undirected graph with a k-clique} Theorem CLIQUENP. Proof. Here is a polynomial time NTM N deciding CLIQUE: N = “On input <G,k>: 1. Nondeterministically select a subset c of k nodes of G. 2. Test whether G contains all edges connecting nodes in c. 3. If yes, accept; otherwise reject.”

7 The SUBSET-SUM problem
7.3.f Giorgi Japaridze Theory of Computability SUBSET-SUM = {<S,t> | S is a multiset of integers and, for some RS, the sum of all elements of R equals t} Theorem SUBSET-SUMNP. Proof. Here is a polynomial time NTM N deciding SUBSET-SUM: N = “On input <S,t>: 1. Nondeterministically select a subset c of S. 2. Test whether the elements of c sum up to t. 3. If yes, accept; otherwise reject.”

8 P vs. NP vs. coNP vs. EXPTIME
7.3.g Giorgi Japaridze Theory of Computability Definitions coNP = {L | L is the complement of some language in NP} EXPTIME = TIME(2n1)  TIME(2n2)  TIME(2n3)  … This is what we know: P NP coNP EXPTIME NP  coNP ≠ EXPTIME P: membership can be decided quickly NP: membership can be verified quickly coNP: membership can be refuted quickly EXPTIME: none of the above This is what we do not know: P = NP? NP = coNP? P = NP  coNP?


Download ppt "CSC 4170 Theory of Computation The class NP Section 7.3."

Similar presentations


Ads by Google