History of Complexity

Document Sample
History of Complexity Powered By Docstoc
					History of Complexity

     Lance Fortnow
  NEC Research Institute
             History of Logic
• Edited by Dirk van Dalen, John Dawson
  and Akihiro Kanamori.
• Published by Elsevier.
• Chapter: History of Complexity
   • Authors: Lance Fortnow and Steve Homer
• This talk
   • Lessons learned from writing this chapter.
                Lesson One
• Impossible to please everyone.
  • Often disagreements on who is responsible for
    what and which results are important.
  • Everyone wants a mention.
• Resolutions
  • Can’t mention everything in 75 minutes.
  • Opinions in this talk are due to me alone.
  • How do I mention everyone?
        Birth of
Computational Complexity




               General Electric
               Research Laboratory
               Niskayuna, New York
               November 11, 1962
            Birth of
    Computational Complexity
• Juris Hartmanis and Richard Stearns 1965
  • On the Computational Complexity of
    Algorithms, Transactions of the AMS
• Measure resources, time and memory, as a
  function of the size of the input problem.
• Basic diagonalization results: More time
  can compute more languages.
  No “Immaculate Conception”
• Idea of algorithm goes back to ancient
  Greece and China and beyond.
• Cantor developed diagonalization in 1874.
• Kleene, Turing and Church formalized
  computation and recursion theory in 30’s.
• Earlier work by Yamada (1962), Myhill
  (1960) and Smullyan (1961) that looked at
  specific time and space bounded machines.
       Complexity in the ’60s
• Better simulations and hierarchies
• Relationships between time and space,
  deterministic and nondeterministic.
   • Savitch’s Theorem
• Blum’s abstract complexity measure
   • Union, speed-up and gap theorems.
           Polynomial Time
• Cobham (1964) – Independence of
  polynomial-time in deterministic machine
  models.
• Edmonds (1965)
   • Argues that polynomial time represents
    efficient computation.
  • Gives informal description of nondeterministic
    polynomial time.
              P versus NP
• Gödel to von Neumann letter in 1956.
• Cook showed Boolean formula satisfiability
  NP-complete in 1971.
• Karp in 1972 showed several important
  combinatorial problems were NP-complete.
• Industry in the 1970’s of showing that
  problems were NP-complete.
Europe in 1970
 Complexity in the Soviet Union
• Perebor – Brute Force Search
• 1959 – Yablonski – On the impossibility of
  eliminating Perebor in solving some
  problems of circuit theory.
• 1973 – Levin – Universal Sequential Search
  Problems
Importance of P versus NP Today
• Thousands of natural problems known to be
  NP-complete in computer science, biology,
  economics, physics, etc.
• A resolution of the P versus NP question is
  the first of seven $1,000,000 prizes offered
  by Clay Mathematical Institute.
• We are further away than ever from settling
  this problem.
            Structure of NP
• Ladner – 1975 – If P different than NP then
  there are incomplete sets in NP.
• Berman-Hartmanis – 1977 – Are all NP-
  complete sets isomorphic?
• Mahaney – 1982 – Sparse complete sets for
  NP imply P = NP.
               Alternation
• Development of the polynomial-time
  hierarchy by Meyer and Stockmeyer in
  1972.
• Chandra-Kozen-Stockmeyer – 1981
   • Alternating Time = Space
   • Alternating Space = Exponential Time
             Relativization
• Baker-Gill-Solovay – 1975
• All known techniques relativize.
• There exists oracles A and B such that
  • PA = NPA
  • PB  NPB
• Many other relativization results followed.
          Oracles and Circuits
• Is there an oracle where the polynomial-
  time hierarchy is infinite or at least different
  than PSPACE?
• Sipser relates to question about circuits:
   • Can parity be computed by a constant-depth
    circuit with quasipolynomial number of gates?
• In 1983, Sipser solves an infinite version of
  this question.
         Oracles and Circuits
• Furst, Saxe Sipser/Ajtai - Parity does not
  have constant depth poly-size circuits.
• Yao – 1985 – Separating the polynomial-
  time hierarchy by oracles
• Håstad – 1986 – Switching lemma and
  nearly tight bounds for parity
 Circuits and Polytime Machines
• 1975 – Ladner – Every language in P has
  polynomial-size circuits.
• 1980 – Karp-Lipton – If NP has poly-size
  circuits then polytime hierarchy collapses.
• To show P  NP, need only show that some
  problem in NP does not have poly-size
  circuits.
             Circuit Results
• Razborov – 1985 – Clique does not have
  poly-size monotone circuits.
• Razborov-Smolensky – 1987 – Lower
  bounds for constant depth circuits with
  modp-gates.
 The Fall of Circuit Complexity
• No major results in circuit complexity since
  1987, particularly for non-monotone
  circuits.
• Razborov – 1989 – Monotone techniques
  will not extend to non-monotone circuits.
• Razborov-Rudich – 1997
   • “Natural Proofs”
           Different Models
• As technology changes so does the notion
  of what is “efficient computation”.
   • Randomized, Parallel, Non-uniform, Average-
    Case, Quantum computation
• Complexity theorists tackle these issues by
  defining models and proving relationships
  between these classes and more traditional
  models.
    Randomized Computation
• Solovay-Strassen – 1977 – Fast randomized
  algorithm for primality.
• 1977 – Gill
   • Probabilistic Classes: ZPP, R, BPP
• Sipser – 1983 – A complexity theoretic
  approach to randomness
   • BPP in polynomial-time hierarchy.
• Various oracle results like BPP = NEXP.
          Derandomization
• Cryptographic one-way functions give
  pseudorandom generators that can save on
  randomness.
• Hard languages in nonuniform models give
  pseudorandom generators.
• Derandomization results for space-bounded
  classes.
       Randomness and Proofs
• Goldwasser-Micali-Rackoff – 1989
   • Cryptographic primitive for not releasing
     information.
• Babai-Moran – 1988
   • Classifying certain group problems.
• Interactive Proof Systems
   • Public = Private; One-sided error
   Power of Interaction ’89-’91
• IP = PSPACE
• MIP = NEXP
• FGLSS – Limits on approximation based on
  interactive proof results.
• NP = PCP(log n,1)
• Better bounds on PCPs and approximation
              Audience Poll
• What was more surprising in early 90’s?
  • The power of interactive proofs and their
    applications to hardness of approximation.
  • The end of the cold war, the collapse of the
    Soviet Union and the Eastern Bloc, the fall of
    the Berlin wall and the reunification of
    Germany.
     The Role of Mathematics
• Computation Complexity has often drawn
  insights, definitions, problems and
  techniques from many different branches of
  mathematics.
• As complexity theory has evolved, we have
  continued to use more sophisticated tools
  from our mathematician friends.
                    Logic
• Complexity has its foundations in logic.
  • Turing machines, Diagonalization, Reductions,
    and the polynomial-time hierarchy.
• Logical characterizations of classes have led
  to NL = coNL and formalization of
  MAX-SNP.
• Proof complexity studies limitations of
  various logical systems to prove tautologies.
                Probability
• Probabilistic Models
   • BPP, Interactive Proofs, PCPs
   • Resource-Bounded Measure
• Basic Techniques
   • Chernoff Bounds
   • Probability of OR bounded by Sum of Prob
   • Dependent Variables
• Probabilistic Method
                 Algebra
• NC1 = Bounded-Width Branching Programs
• Polytime Hierarchy reduces to Permanent
• Mod3 requires large constant-depth parity
  circuits.
• Interactive Proofs/PCPs
• Coding Theory
  Discrete Math/Combinatorics
• Lower Bounds
  • Circuit Complexity
  • Branching Programs
  • Proof Systems
• Ramsey Theory/Probabilistic Method
• Expanders/Extractors
          Information Theory
•   Entropy
•   Kolmogorov Complexity
•   Cryptography
•   VLSI/Communication Complexity
•   Parallel Repetition
•   Quantum
  The Future



P = NP?
           Showing P  NP
• Other areas of mathematics
   • Algebraic Geometry
   • “Higher Cohomology”
• New techniques for circuits, branching
  programs or proof systems.
• Completely new model for P and NP.
• Diagonalization.
           Besides P = NP?
• Same Old, Same Old
• Handling new models
• Complex Systems: The Other “Complexity”
  • Financial Markets, Biological Systems,
    Weather, The Internet
• The Big Surprise
             Conclusions
• Juris Hartmanis Notebook Entry 12/31/62:
   • “This was a good year.”
• This was a good forty years.
• Who knows what the future will bring?
• Fasten your seatbelts!