1 / 30

Everything you always wanted to know about theoretical computer science (but were afraid to ask)

Everything you always wanted to know about theoretical computer science (but were afraid to ask). Dimitris Achlioptas Microsoft Research. Turing’s Machine. Alphabet Σ , state space K f : K × Σ → K × Σ × {←,→, ? } × { Halt,Yes,No} Language: L µ Σ * is decided by M L

kirima
Download Presentation

Everything you always wanted to know about theoretical computer science (but were afraid to ask)

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. Everything you always wanted to know about theoretical computer science (but were afraid to ask) Dimitris Achlioptas Microsoft Research

  2. Turing’s Machine • Alphabet Σ, state space K • f : K×Σ→K×Σ×{←,→,?} ×{Halt,Yes,No} • Language: LµΣ*is decided by ML • Polynomial-time Robustness

  3. Church’s Thesis Any reasonable attempt to model mathematically computer algorithms and their performance is bound to end up with a model of computation and associated time cost that is equivalent to Turing machines within a polynomial.

  4. Church’s Thesis Any reasonable attempt to model mathematically computer algorithms and their performance is bound to end up with a model of computation and associated time cost that is equivalent to Turing machines within a polynomial. Turing’s Idea Programmable Hardware: Describe f on the leftmost part of the tape.

  5. Polynomial Time • N vertices • As,tdistance from s to t Find a spanning cycle of minimum length

  6. Polynomial Time • N vertices • As,tdistance from s to t Find a spanning cycle of minimum length • Edge lengths are written in binary. Lists vs. Matrices • Assume M could decide if OPT<B in polynomial time • Do binary search to determine OPT • Probe edges one-by-one, replacing their cost with OPT+1

  7. P vs. NP PolynomialTime PTIME =[k nk L is in P if there exists a Turing Machine M which for every x, decides if x is in L in a polynomial number of steps.

  8. P vs. NP PolynomialTime PTIME =[k nk L is in P if there exists a Turing Machine M which for every x, decides if x is in L in polynomially many steps. Non-DeterministicPolynomialTime L is in NP if there exists a Turing Machine M s.t. for every x • If x is in L then there exists w s.t. M(x,w)→“Yes” in PTIME. • If x is not in L then there is no such w.

  9. coNP NP P Complexity • Is there a spanning cycle of cost < C ? NP • Is there a spanning tree of cost < C ? P • Is there no spanning tree of cost < C ? P • Is there no spanning cycle of cost < C ? coNP

  10. Perebor • 50-60s: Many optimization problems appear amenable only to brute force, i.e. (near-)exhaustive enumeration. • Edmonds 1966: “The classes of problems which are respectively known and not known to have good algorithms are of great theoretical interest […] I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same as for any mathematical conjecture: (1) It’s a legitimate mathematical possibility, and (2) I do not know.” • Hartmanis, Stearns 1965: “On the computational Complexity of Algorithms”, AMS Transactions

  11. Algorithm for Problem B Yes/No x R(x) Reduction from B to A Algorithm for B Input for Problem B Output for Problem B Reducibility

  12. Algorithm for Problem B Yes/No x R(x) Reduction from B to A Algorithm for B Input for Problem B Output for Problem B Shortest Spanning Path from s to t Shortest Spanning Cycle Reducibility

  13. NP-completeness A problem Π is NP-hard if every problem in NP has a polynomial-time reduction to Π. If Π is in ΝP and NP-hard then Π is NP-complete. Moral: At least as hard as any other problem in NP

  14. Cook’s Theorem Satisfiability is NP-Complete Idea: Let variable Xp,t denote the content of tape-cell p after t steps By now thousands of problems have been shown NP-complete NP-completeness has migrated to other sciences, e.g. economics

  15. coNP NP P More hard problems Integer Linear Programming: Ax·b Is there a satisfying vector x where all xi are non-negative INTEGERS? PRIMALITY TSP

  16. Approximation • Vertex Cover: Find a smallest set of vertices that touches every edge. • Algorithm: If an edge is still untouched, add both its endpoints to the set.

  17. Approximation • Vertex Cover: Find a smallest set of vertices that touches every edge. • Algorithm: If an edge is still untouched, add both its endpoints to the set. • Max Cut: Partition the vertices of the graph to maximize number of cut edges. • Algorithm: Partition randomly.

  18. Greed Problem: Find a spanning tree of minimum length

  19. Greed Problem: Find a spanning tree of minimum length Algorithm: Always add the cheapest allowable edge

  20. Greed Problem: Find a spanning tree of minimum length Algorithm: Always add the cheapest allowable edge Proof: The cheapest edge emanating from each tree is always good.

  21. Duality Max-Flow = Min-Cut

  22. Linear Programming Linear Programming: Ax·b Is there a satisfying vector where all xi are non-negativerationals?

  23. Linear Programming Linear Programming: Ax·b Is there a satisfying vector where all xi are non-negativerationals? An integer matrix A is Totally Unimodular (TUM) if every square, nonsingular submatrix B has det(B)=±1

  24. Linear Programming Linear Programming: Ax·b Is there a satisfying vector where all xi are non-negativerationals? An integer matrix A is Totally Unimodular (TUM) if every square, nonsingular submatrix B has det(B)=±1 If A is TUM then the LP solution is integral!

  25. Linear Programming II • Simplex method: • Most known rules can be made to take an exponential number of steps. • Ellipsoid algorithm: • Number of steps depends on size of integers Is there an algorithm that solves LPs with m equations in n variables in Poly(m,n) steps?

  26. Semidefinite Programming Arrange n unit vectors so that their inner products satisfy a system of linear inequalities.

  27. Approximability MAX CUT Assign a unit vector vs to each vertex s. Maximize the sum of (1-vsvt)wst over all vertices Take a random hyperplane through the origin. Get an 0.87… approximation Vertex Cover Conjecture: Cannot beat stupid algorithm! Theorem: Need at least 1.36..*OPT Tool: NP = PCP(O(logn), O(1)).

  28. Non-worst-case Inputs • Random graphs • Random pointsets • Random formulas

  29. Non-worst-case Inputs • Random graphs • Random pointsets • Random formulas Probabilistic Combinatorics Theoretical CS

  30. Non-worst-case Inputs Physics • Random graphs • Random pointsets • Random formulas Probabilistic Combinatorics Theoretical CS

More Related