1、1,1 History of computation and computational models,For thousands of years, computing was done with pen and paper, chalk and slate, or even mentally, sometimes with the aid of tables. The theory of computation began early in the twentieth century (the 1930s), before modern electronic computers had b
2、een invented. At that time, mathematicians were trying to find which math problems could be solved by simple methods and which could not. The first step was to define what was meant by a “simple method“ for solving a problem, implying a need for a formal model of computation.,2,computational models,
3、Several different computational models were devised by these early researchers. One model, the Turing machine, stores characters on an infinitely long tape, with one square at any given time being scanned by a read/write head. Another model, recursive functions, uses functions and function compositi
4、on to operate on numbers. The lambda calculus uses a similar approach. Still others, including Markov algorithms and Post systems, use grammar-like rules to operate on strings. All of these formalisms were shown to be equivalent in computational power - that is, any computation that can be performed
5、 with one can be performed with any of the others. They are also equivalent in power to the familiar electronic computer, if one pretends that electronic computers have unbounded memory. Indeed, it is widely believed that all “proper“ formalizations of the concept of algorithm will be equivalent in
6、power to Turing machines; this is known as the Church-Turing thesis. In general, questions of what can be computed by various machines are investigated in computability theory.,3,What is theory of computation,The phrase theory of computation refers to the study of the mathematical foundations of com
7、putation: what is an appropriate mathematical model of a computer, what types of computations are possible in the model, what types are not, the inherent complexity of certain computations, so on and so forth. Perhaps surprisingly, many concepts from the theory of computation are of fundamental impo
8、rtance in other areas of computer science, such as computational linguistics, compiler design, hardware design, object-oriented design, cryptography, and even the syntax of some UNIX commands.,4,2 What the course is about,In this course we will investigate various models of computation. Along the wa
9、y, the intimate connection between computation and language recognition will be developed. We will study several classes of abstract machines including finite automata, push-down automata and Turing machines, along with several classes of languages such as context-free languages. In addition we will
10、 examine some of those problems, such as the Halting Problem.,5,What the course is about,The theory of computation represents a fascinating landscape that intersects交叉computer science and mathematics and can be roughly divided into three overlapping areas: AUTOMATA AND LANGUAGES, COMPUTABILITY THEOR
11、Y , and COMPLEXITY THEORY .,What are the fundamental capabilities and limitations of computers?,6,COMPLEXITY THEORY,What makes some problems computationally hard and others easy? This is the central question of complexity theory. Researchers have discovered an elegant scheme for classifying problems
12、 according to their computational difficulty. It is analogous to the periodic table (元素)周期表for classifying elements according to their chemical properties.,7,When you confront a problem that appears to be computationally hard,Alter it more easily solvable To settle for less than a perfect solution t
13、o the problem - finding approximate solution Some problems are hard only in the worst case situation, but easy most of the time Consider alternative types computation, such as randomized computation,8,One applied area - cryptography,Complexity theory has pointed cryptographers in the direction of co
14、mputationally hard problems around which they have designed revolutionary new codes.,9,COMPUTABILITY THEORY,Certain basic problems cannot be solved by computers. The problem of determining whether a mathematical statement is true or false.,What can computers do and what not?,10,One of profound resul
15、ts of COMPUTABILITY THEORY,The development of ideas concerning theoretical models of computers that eventually would help lead to the construction of actual computers.,11,AUTOMATA THEORY,AUTOMATA THEORY deals with the definitions and properties of mathematical models of computation. These models pla
16、y a role in several applied areas of computer science. Finite automation text processing, compilers, hardware design Context-free grammar programming languages , artificial intelligence.,12,3 Course materials,The book for this class is Theory of Computation by Michael Sipser. “proof idea“ proof “exe
17、rcises“ are similar to the worked out examples, and can be solved by following one of the presented examples, algorithms or theorems, “problems“ require significant expository writing and deeper insight. http:/www-math.mit.edu/sipser/ Massachusetts Institute of Technology (MIT) This term, we will us
18、e the textbook, as well as other books that students in the course have found useful in the past, such as Elements of the Theory of Computation by Harry R. Lewis & Christos H. Papadimitriou.,13,4 Prerequisites,We assume that you have taken some mathematics for Computer Science, such as discrete math
19、ematics. Not on real numbers and continuous variables, but on finite sets and sequences and we assume that you are reasonably facile with mathematical concepts. In particular, we assume that you are comfortable with formal mathematical proofs, and can write them up properly.,14,6 Student survey,Majo
20、r in computer science The design and analysis of algorithms Discrete mathematics,15,7 What can we get from the course,the mathematical foundations of computation 3credits Else English,GRE Subject Test 即GRE(Graduate Record Examination)专项考试,其测试内容为考试者在某一学科领域或专业领域内所获得的知识和技能以及能力水平的高低,从而帮助院校更好地了解申请人在某一学科领域的能力情况。 生物Biology,生化Biochemistry,化学Chemistry,计算机Computer Science,英语文学Literature In English,数学Math,物理Physics,心理学Psychology.,