Juris Hartmanis, Richard Stearns, and Computational Complexity. March 24, 2003 Josef Pohl.

Slides:



Advertisements
Similar presentations
Time Complexity P vs NP.
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Cook’s Theorem The Foundation of NP-Completeness.
NP-Complete William Strickland COT4810 Spring 2008 February 7, 2008.
The Theory of NP-Completeness
CSE373: Data Structures & Algorithms Lecture 24: The P vs. NP question, NP-Completeness Nicki Dell Spring 2014 CSE 373 Algorithms and Data Structures 1.
Lecture 21 Nondeterministic Polynomial time, and the class NP FIT2014 Theory of Computation Monash University Faculty of Information Technology Slides.
Umans Complexity Theory Lectures Lecture 2a: Reductions & Completeness.
Algorithms Recurrences. Definition – a recurrence is an equation or inequality that describes a function in terms of its value on smaller inputs Example.
From Kant To Turing He Sun Max Planck Institute for Informatics.
Complexity 7-1 Complexity Andrei Bulatov Complexity of Problems.
Computational problems, algorithms, runtime, hardness
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
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.
Complexity 5-1 Complexity Andrei Bulatov Complexity of Problems.
CSCD 555 Research Methods for Computer Science
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
The Theory of NP-Completeness
1 Other Models of Computation. 2 Models of computation: Turing Machines Recursive Functions Post Systems Rewriting Systems.
Introduction to Gröbner Bases for Geometric Modeling Geometric & Solid Modeling 1989 Christoph M. Hoffmann.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 8+9 Time complexity 1 Jan Maluszynski, IDA, 2007
CS 310 – Fall 2006 Pacific University CS310 P vs NP the steel cage death match Section 7.2 November 29, 2006.
Algorithmic Complexity 3 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Advanced Research Methodology
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
CS 461 – Nov. 21 Sections 7.1 – 7.2 Measuring complexity Dividing decidable languages into complexity classes. Algorithm complexity depends on what kind.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
Time Complexity Dr. Jicheng Fu Department of Computer Science University of Central Oklahoma.
Relevance of Maths for CS John Barnden School of Computer Science University of Birmingham Intro to Maths for CS 2013/14.
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
1 CS 178H Introduction to Computer Science Research Why Do an Honors Thesis?
Review Byron Gao. Overview Theory of computation: central areas: Automata, Computability, Complexity Computability: Is the problem solvable? –solvable.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
Chapter 3 Sec 3.3 With Question/Answer Animations 1.
Logic. Mathematical logic is a subfield of mathematics exploring the applications of formal logic to mathematics. Topically, mathematical logic bears.
RESOURCES, TRADE-OFFS, AND LIMITATIONS Group 5 8/27/2014.
Instructor: Shengyu Zhang 1. Tractable While we have introduced many problems with polynomial-time algorithms… …not all problems enjoy fast computation.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Class 21: Introducing Complexity David Evans cs302: Theory of Computation University of Virginia Computer Science.
CSE373: Data Structures & Algorithms Lecture 22: The P vs. NP question, NP-Completeness Lauren Milne Summer 2015.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 7 Time complexity Contents Measuring Complexity Big-O and small-o notation.
1Computer Sciences Department. Objectives Recurrences.  Substitution Method,  Recursion-tree method,  Master method.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Chapter.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Divide and Conquer Faculty Name: Ruhi Fatima Topics Covered Divide and Conquer Matrix multiplication Recurrence.
Alonzo Church: Mathematician. Philosopher. Computer Scientist? Who is Alonzo Church? Alonzo Church was a man who was very important to the computer science.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
Quantum Computation Stephen Jordan. Church-Turing Thesis ● Weak Form: Anything we would regard as “computable” can be computed by a Turing machine. ●
What is Research?. Intro.  Research- “Any honest attempt to study a problem systematically or to add to man’s knowledge of a problem may be regarded.
CS623: Introduction to Computing with Neural Nets (lecture-7) Pushpak Bhattacharyya Computer Science and Engineering Department IIT Bombay.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
1 8.4 Extensions to the Basic TM Extended TM’s to be studied: Multitape Turing machine Nondeterministic Turing machine The above extensions make no increase.
Algorithmic Foundations COMP108 COMP108 Algorithmic Foundations Algorithm efficiency Prudence Wong.
Design and Analysis of Algorithms Faculty Name : Ruhi Fatima Course Description This course provides techniques to prove.
Algorithmic Foundations COMP108 COMP108 Algorithmic Foundations Algorithm efficiency Prudence Wong
Computability and Complexity
Other Models of Computation
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Computational Complexity
CLASSES P AND NP.
CS154, Lecture 12: Time Complexity
Discrete Mathematics and its Applications
Theoretical Computer Science
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
CS21 Decidability and Tractability
Science and Technology
Presentation transcript:

Juris Hartmanis, Richard Stearns, and Computational Complexity. March 24, 2003 Josef Pohl

Outline of topics: 1. Biograhpical Sketches of Hartmanis and Stearns 2. Collaborative and Turing Ventures. 3. What is Computational Complexity? Examples and starting points. 4. What did Hartmanis and Stearns Contribute? Ideas, Theorems, and Extensions. 5. Where did things go from there? Making Complexity more complex 6. Open problems and the future of Computational Complexity. (aka. How to become rich and famous.)

Juris Hartmanis - Born in Latvia - Moved to “displaced persons” in Germany during WWII. - Phillips Univ. in Marburg (Studied physics) - Relocated to Kansas City and attended the University of Kansas City where he received a Masters in Mathematics. - PhD in pure mathematics (Lattice Theory) at Cal Tech Faculty at Cornell - General Electric Research, Schenectady NY (summer job)

Richard Stearns - Undergraduate work at Carlton College (1958) - Graduate degree from Princeton in mathematics “Three-Person Cooperative Games without Side Payments” Game Theory Completed in Prior to completion of his degree, Stearns took a summer job at GE. - Became a permanent employee in 1961.

So began their work together... - Hartmanis and Stearns met in the Information Studies Section (a subgroup of the Electron Physics group) - Began work on decomposition of sequential machines. - Published several papers covering computation on sequential machines and a book: “Algebraic Structure Theory of Sequential Machines.” - published in The text describes how sequential machines can be described in terms of smaller machines, how these machines must be interconnected, and how “information” flows through them.

Turing award work - Hartmanis and Stearns won their Turing award for their foundation work in Computational Complexity. -Citation: “In recognition of their seminal paper which established the foundations for the field of computaitional complexity theory” - Their paper laid the foundation for much of the later work in Complexity Theory and theoretical computer science as a whole. - Also coined the phrase “Computational Complexity”.

So what is Computational Complexity? Of the fundamental questions that Computer Scientists ask, computational complexity answers the question: How difficult is to compute something that we know to be computable? e.g. What resources (time, space, machines,...) will it take to get a result? – Based on input size and the basic operations in a given algorithm. – 

Examples you probably have seen: MergeSort O(n*log(n)) Fast Fourier Transform: O(n*log(n)) Multiplication: O( n^2 ) or O( n^1.59 ) or O(n*log(n)*loglog(n)) Matrix Multiplication: O( (n^2)*(2n-1) ) or O(4.7*n^2.81 ) Prime Number determination: O(log^12 (n)) (mostly from Cook 1983)

What was the state of the science? ● Turing: Foundations on algorithmically computable functions. ● Rabin: Investigated the question of what makes one function more difficult to compute than another. ● Yamada: Looked into the question of real-time computation on multi-tape turing machines.

On the computational complexity of algorithms. - Published in 1965 (Transactions of the American Mathematical Society). - The paper developed from the search for a “robust computing model and an intuitively satisfying classification of the complexity of problems” (Hartmanis 1994) - Introduced the concepts of – Classification (classes) – “speed-up” – Hierarchy theorems

What exactly is a complexity class? If T(n) is some function of the size of the input (length), then a class, Time[T(n)] is defined to be all the problems that can be solved in T(n) steps. For example. T(n) = n^2 Then the class Time[ n^2 ] are all the problems that can be solved in n^2 steps.

Speedup The speed up theorem basically dictates that membership in a class is dependant upon the order of the function. Time(T(n)) = Time(c * T(n)) where c > 0. ie the constants are not important (sort of) in the determination of class membership.

Heirarchies of Classes Several theorems which defined relationships between classes. All based on the limit as the size of the input approached infinity. Allowed determination of whether or not a class was a subset (proper or not) of another.

The general form is: L= lim T(n)*log(T(n))/U(n) n->infinity Where U(n) is a function of n. If L = ∞then T(n) is a superset of U(n) If 0 < L < ∞ then T(n) is in the class of U(n) If L = 0 then T(n) is a subset of U(n)

A few other results The intersection of two classes is also a class. These results are machine dependent. – the complexity of computation shown using these theorems is dependent on the type of machine that is used. (single tape vs multi-tape turing machines)

Paper summary “The important notion of complexity measure defined by the computation time on multitape Turing machines was introduced and hierarchy theorems were proved” (Cook 1983)

Those who followed Hartmanis and Stearns paper provided the notions with which others could further define the concepts of classes and complexity. Manuel Blum – Thesis developed an axiomatic approach to computaion Stephan Cook – Defined NP-completeness Hartmanis and Stearns

Manuel Blum Probably the most used notion of complexity today. Created a machine independent version of many of the same theorems which Hartmanis and Stearns developed Showed that all complexity measures are recursively related.

Stephan A. Cook Won Turing award in 1983 for his work in Computational Complexity. Introduced the concept of NP-completeness in Meaning he showed that there was a class of problems that do not have a deterministic polynomial time algorithm. And if a decent algorithm existed for a given set of problems then a decent algorithm existed for the entire set. NP complete problems (identifying and analyzing) have generally been the focus of much of the work in complexity theory since the concept was introduced mostly due to the practical nature of someof the problems.

Hartmanis and/or Stearns Together they did more work on developing the concept of hierarchies and extended the idea to space complexity. They also revised their work slightly to include that of Blum. (machine independence) Stearns developed the concept of a power index which is roughly defined as the greatest lower bound on a set. (work done with H.B. Hunt) Stearns also went back to his original area of game theory. Hartmanis continued to work in Complexity Theory, most notably trying to relate classes P to NP.

Future Some areas where work is going on: Computation on the set of real numbers? Probabilistic Algorithms? Open Problems: P=NP ? sqrt(2) computable in real time?

“When you can measure what you are speaking about and can express it in numbers, you know something about it. But when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind” -Lord Kelvin “From these and other considerations grew our deep conviction that there must be quantitative laws that govern the behavior of information and computing” -Juris Hartmanis (1994)

References Blum, M. “A machine-independent theory of the complexity of recursive functions. “ Journal of the ACM, Vol 14, Num 2, April Cook, S. A. “An Overview of Computational Complexity.”. Communications of the ACM, Vol 26, Num 6, June Hartmanis, J., “On Computational Complexity and the Nature of Computer Science.”Communications of the ACM, Vol 37, Num 10, October Hartmanis, J., “Computational Complexity and Mathematical Proofs.” Informatics -10 Years Back, 10 Years Ahead. Reinhard Wilhem, ed. Springer Verlag, Hartmanis, J., and R. E. Stearns, “On the Computational Complexity of Algorithms.” Trans. Amer. Math. Soc. 117, May Hartmanis, J., and R. E. Stearns, “Algebraic Structure Theory of Sequential Machines.” Prentice Hall, Engelwood Cliffs, NJ, Hartmanis, J and J. E. Hopcroft, “An Overview of the Theory of Computational Complexity.” Journal of the ACM, Vol 18, Num 3, July 1971.