Presentation is loading. Please wait.

Presentation is loading. Please wait.

Everything you always wanted to know about theoretical computer science (but were afraid to ask) Dimitris Achlioptas Microsoft Research.

Similar presentations


Presentation on theme: "Everything you always wanted to know about theoretical computer science (but were afraid to ask) Dimitris Achlioptas Microsoft Research."— 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 M L Polynomial-time Robustness

3 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. Church’s Thesis

4 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. Church’s Thesis Turing’s Idea Programmable Hardware: Describe f on the leftmost part of the tape.

5 Polynomial Time N vertices A s,t distance from s to t Find a spanning cycle of minimum length

6 Polynomial Time 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 N vertices A s,t distance from s to t Find a spanning cycle of minimum length

7 P vs. NP P olynomial Time PTIME = [ k n k 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 P olynomial Time PTIME = [ k n k 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. N on-Deterministic P olynomial Time 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 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 NP coNP P

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 Input for Problem B Output for Problem B Algorithm for Problem B Reduction from B to A Algorithm for B x R(x) Yes/No Reducibility

12 Input for Problem B Output for Problem B Algorithm for Problem B Reduction from B to A Algorithm for B x R(x) Yes/No 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 X p,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 Integer Linear Programming : Ax · b Is there a satisfying vector x where all x i are non-negative INTEGERS? NP coNP P TSP PRIMALITY More hard problems

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 : Ax · b Is there a satisfying vector where all x i are non-negative rationals? Linear Programming

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

24 Linear Programming : Ax · b Is there a satisfying vector where all x i are non-negative rationals? Linear Programming 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 v s to each vertex s. Maximize the sum of (1-v s v t )w st 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 Theoretical CS Probabilistic Combinatorics

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


Download ppt "Everything you always wanted to know about theoretical computer science (but were afraid to ask) Dimitris Achlioptas Microsoft Research."

Similar presentations


Ads by Google