1 / 19

Theory of Computing

Theory of Computing. Lecture 16 MAS 714 Hartmut Klauck. Problems that are not in P. EXP: class of all L that can be decided by Turing machines that run in time at most exp (p(n)) for some polynomial p We will show later that EXP is not equal to P

gemma-ware
Download Presentation

Theory of Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Theory of Computing Lecture 16 MAS 714 Hartmut Klauck

  2. Problems that are not in P • EXP: class of all L that can be decided by Turing machines that run in time at most exp(p(n)) for some polynomial p • We will show later that EXP is not equal to P • i.e., there are problems that can be solved in exponential time, but not in polynomial time • These problems tend to be less interesting

  3. Problems that are not in P? • Definition: • Given an undirected graph, a clique is a set of vertices Sµ V, such that all u,v2 S are connected • The language MaxClique is the set of all G,k, such that G has a clique of size k (or more) • Simple Algorithm: enumerate all subsets of size k, test if they form a clique • Time O(nk¢ poly(k)) • Since k is not constant this is not a polynomial time algorithm

  4. Clique • MaxClique is in P if and only if thousands of other interesting problems are • We don’t know an efficient algorithm for any of them • Widely believed: there is no such algorithm

  5. Fun Piece of Information • A random graph is a graph generated by putting each possible edge into G with probability ½ • The largest clique in G has size dr(n)e or br(n)cfor an explicit r(n) that is around (2+o(1)) log(n) • With probability approaching 1 • Hence on random graphs the max clique can be found in sub-exponential time

  6. The class NP • NP: nondeterministic polynomial time • NP is the class of problems where a `solution’ or proof can be verified in polynomial time • Example: Given a set S of k vertices in G we can check in time O(k2) if S is a clique

  7. NP • Guess and check definition: • A language L is in NP, if there is a language R2P such that for all x: [There is a poly(|x|) length string y s.t. x#y2R] , x2 L • y is called proof or witness

  8. Example • Max Flow: • Given a flow we can check that the flow is maximal in linear time • But then we can find the max flow in polynomial time anyway • Clique: • We can check a clique easily • Don’t know how to find a maximum clique fast

  9. Example • Non-Primality: • Given a natural number x, is it NOT a prime? • Any a,bsuch that ab=x prove that x is no prime • as long as a,b are not 1 • How can we find a,b? • It is not known how to factor numbers efficiently • Note: Checking primality/non-primality is even known to be in P (but not easy to see this)

  10. Original definition of NP • Definition: A nondeterministic Turing machine is defined like a Turing machine, but the transition function can now map to several successors • I.e., ±(q,a) is a subset of Q£¡£{left,stay,right} • Interpretation: on input x there are many computations of the machine • At each step the computation can branch out • The machine accepts if there is at least one accepting computation/branch • The machine `guesses’ a good computation

  11. Nondeterministic TM • The language LM accepted by a nondeterministic TM is the set of inputs x for which there is an accepting computation of M on x • A language Lµ¡ * is accepted by a nondeterministic TM Mif LM=L

  12. Time • The time used by an NTM M on x is the minimum number of steps M performs on x during any accepting computation on x • Time on inputs x not in L is not defined • Time complexity of M: as before • Nondeterministic time complexity of L upper bounded by g(n): as before

  13. NP • Definition: NP is the set of languages that are accepted by some nondeterministic Turing machine with polynomial time complexity • Note: Both definitions [guess and check/NTM] are equivalent

  14. Notes on NP • Nondeterministic Turing machines are not a realistic model of computation • They are interesting because NP contains many interesting problems • Furthermore they formalize proof systems • NP is the set of languages L for which the statement x2L can be verified efficiently • I.e., there is a powerful prover P, while the verifier V is a polynomial time Turing machine. The prover provides a proof y • x2 L iff there is a proof y such that x#y is accepted by V

  15. P vs. NP • Pµ NP by definition • Are there problems in NP that are not in P? • 106 dollar reward from the Clay Math Institute • Most researchers believe P NP • There is a large class of problems in NP that are believed to be hard • NP-complete problems

  16. P, NP, EXP • P is a subset of NP by definition • NP is a subset of EXP: • Use guess and check definition • Enumerate all witnesses y and check • Time: • There are exp(poly(n)) many witnesses. Checking each is time poly(n)

  17. NP Completeness • We will identify a class of problems that capture the hardness of NP • P=NP if and only if one of these problems is in P • None are known to be in P • These are the problems L in NP, such that every problem in NP can be solved by a deterministic polynomial time TM given a free subroutine that solves L

  18. NP Completeness • Informally, L reduces to S, if, given an `oracle’ that decides S for free, we can compute L in polynomial time (deterministically) • NP-complete: L is in NP and all S in NP reduce to L (in polynomial time) • This means L is hardest in NP

  19. Coping with hard problems • Suppose we try to find an algorithm for a problem • Maybe it is NP-complete? • Reduce some known NP-complete problem to it • Then we know it’s hopeless • If so, we can try • approximation • heuristics • Don’t have to waste our time searching for an algorithm that (probably) does not exist

More Related