Tuesday, August 31

Introduction to the Class

What is the Main Focus of this Class?

Understanding the bounds and limitations of computing: what can and cannot be computed, what can theoretically be computed but is impractical in the amount of resources (e.g., time) that would be consumed, and what problems have practical solutions.  In other words, we are studying the set of all problems and their solutions, and attempting to classify problems on the "difficulty" or "complexity" of their solutions.  For this, we need a clear understanding of what a problem is and what a solution is.

Problems

A problem is of interest to computer scientists if it has an infinite number of instances (so that the answers to instances cannot be computed ahead of time and stored in a table, but instead must be computed for each instance), and if it is well-defined in the sense that a group of computer scientists could unanimously determine whether a proposed solution actually solves the problem.

Solutions

A solution to a problem in computer science is a program whose input is any valid instance of the problem and whose output is the correct answer for any given instance. 

However, a program is an imprecise object.  To study the theory of computing from a mathematically sound perspective, we must have a mathematically precise notion of both a problem and a solution.  The theory has settled on the Turing machine as the model of a solution.  An instance of a problem is any input tape that is allowed to be given to a specific Turing machine.

The Church Turing Thesis

Core to the study of the theory of computing is this thesis:  a problem is solvable if and only if there is a Turing machine that provides the correct answer to any input instance of the problem.

The first part of this class will be devoted to the study of Turing machines and the Church Turing Thesis.  This will lead us to an understanding that there are unsolvable problems.

The latter part of the class will be devoted to the study of the boundary between tractable and intractable problems.