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

Slides:



Advertisements
Similar presentations
Algorithms Sipser 3.3 (pages ). CS 311 Fall Computability Hilbert's Tenth Problem: Find a process according to which it can be determined.
Advertisements

Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only.
Time Complexity P vs NP.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Cook’s Theorem The Foundation of NP-Completeness.
Computability & Complexity. Scenario I can’t write this program because I’m too dumb.
Umans Complexity Theory Lectures Lecture 2a: Reductions & Completeness.
Turing Machines (At last!). Designing Universal Computational Devices Was Not The Only Contribution from Alan Turing… Enter the year 1940: The world is.
Applied Computer Science II Chapter 3 : Turing Machines Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Computability and Complexity 22-1 Computability and Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 13-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity ©D.Moshkovitz 1 Turing Machines. Complexity ©D.Moshkovitz 2 Motivation Our main goal in this course is to analyze problems and categorize them.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
October 29, 2009Introduction to Cognitive Science Lecture 14: Theory of Computation I 1 Finite Automata Example 2: Can we build a finite automaton that.
Introduction to the Theory of Computation John Paxton Montana State University Summer 2003.
CS1001 Lecture 23. Overview Incompleteness and the Halting Problem Incompleteness and the Halting Problem Methods in Artificial Intelligence Methods in.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
Foundations of (Theoretical) Computer Science
November 3, 2009Introduction to Cognitive Science Lecture 15: Theory of Computation II 1 Languages Accepted by Turing Machines Example 2: Language L =
Turing Machines CS 105: Introduction to Computer Science.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
More Theory of Computing
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
CS 390 Introduction to Theoretical Computer Science.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
The class P Section 7.2 CSC 4170 Theory of Computation.
Theory of Computing Lecture 21 MAS 714 Hartmut Klauck.
Halting Problem Introduction to Computing Science and Programming I.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Turing Machines.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Computer Theory Michael J. Watts
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich
Computability NP complete problems. Space complexity. Homework: [Post proposal]. Find PSPACE- Complete problems. Work on presentations.
Theory of computing, part 4. 1Introduction 2Theoretical background Biochemistry/molecular biology 3Theoretical background computer science 4History of.
Recursively Enumerable and Recursive Languages
1 IDT Open Seminar ALAN TURING AND HIS LEGACY 100 Years Turing celebration Gordana Dodig Crnkovic, Computer Science and Network Department Mälardalen University.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Recall last lecture and Nondeterministic TMs Ola Svensson.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
CSCI 2670 Introduction to Theory of Computing November 15, 2005.
Design and Analysis of Approximation Algorithms
Introduction to Computing Science and Programming I
Chapter 12: Theory of Computation
CSC 4170 Theory of Computation The class P Section 7.2.
Turing Machines Space bounds Reductions Complexity classes
CSC 4170 Theory of Computation The class P Section 7.2.
Polynomial time The Chinese University of Hong Kong Fall 2010
Ch. 11 Theory of Computation
Turing Machines (At last!).
A Universal Turing Machine
Chapter 3 Turing Machines.
CLASSES P AND NP.
Recall last lecture and Nondeterministic TMs
Theory of Computability
Turing Machines Complexity ©D.Moshkovitz.
NP and NP completeness 姚鹏晖
Theory of Computability
Presentation transcript:

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 Polynomial-time Robustness

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

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.

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

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

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.

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.

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

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

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

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

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

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

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

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.

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.

Greed Problem: Find a spanning tree of minimum length

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

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.

Duality Max-Flow = Min-Cut

Linear Programming : Ax · b Is there a satisfying vector where all x i are non-negative rationals? Linear Programming

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

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!

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?

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

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 *OPT Tool: NP = PCP(O(logn), O(1)).

Non-worst-case Inputs Random graphs Random pointsets Random formulas

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

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