前言:
计算机科学理论针对可计算对象(computational subject )能够建立良好模这一问题。计算模型的最初研究起始于1930s到1940s的Turning,Post,Kleene,Church等等。到了50s和60s,理论问题的核心集中到了程序设计语言,语言编译器以及操作系统;与之同时,对在有限硬件条件下高效的利用计算机解决问题以及问题本身复杂行的研究推动了理论向两个主题扩展,前者发展为算法和数据结构,后者发展为计算复杂度。
尽管70s到80s目睹了建模技术以及计算机性能分析的方法学的发展,但是这些有用的东西还没有平民化到introductory level。本书就是为了填补这个空白。
本书涵盖了形式语言,自动化,complexity classes;而且给了较为modern的topics比如space-time tradeoffs. memory hierarchies, parallel computation, the VLSI model, and circuit complexity 一些介绍性的篇幅。
内容:
第一章:
计算机理论的历史简介。
数学初步:集合(Sets),数论(Number Systems),语言和字串(Languages and Strings),关系模型(Relations),图论(Graphs),矩阵(Matrix),函数(Functions),函数增长率(Rate of Growth of Functions ?)。
计算模型:逻辑电路(Logical Circuits),有限状态机(Finite-State Machines),随即存取机器(Random-Access Machine),以及形式语言(Formal Language)。
计算复杂度:计算不等价性(A Computational Inequality),时空互换以及I/O操作(Tradeoffs in Space, Time, and I/O Operations),复杂度类分(Complexity Classes),电路复杂度(Circuit Complexity)。
并行计算。
第二章:逻辑电路
很多的功能都可以被直接的计算为straight-line programs,即为无循环无分支的programs。