Computability and Complexity: From a Programming PerspectiveMIT Press, 1997 - 466 lappuses Computability and complexity theory should be of central concern to practitioners as well as theorists. Unfortunately, however, the field is known for its impenetrability. Neil Jones's goal as an educator and author is to build a bridge between computability and complexity theory and other areas of computer science, especially programming. In a shift away from the Turing machine- and G del number-oriented classical approaches, Jones uses concepts familiar from programming languages to make computability and complexity more accessible to computer scientists and more applicable to practical programming problems. According to Jones, the fields of computability and complexity theory, as well as programming languages and semantics, have a great deal to offer each other. Computability and complexity theory have a breadth, depth, and generality not often seen in programming languages. The programming language community, meanwhile, has a firm grasp of algorithm design, presentation, and implementation. In addition, programming languages sometimes provide computational models that are more realistic in certain crucial aspects than traditional models. New results in the book include a proof that constant time factors do matter for its programming-oriented model of computation. (In contrast, Turing machines have a counterintuitive "constant speedup" property: that almost any program can be made to run faster, by any amount. Its proof involves techniques irrelevant to practice.) Further results include simple characterizations in programming terms of the central complexity classes PTIME and LOGSPACE, and a new approach to complete problems for NLOGSPACE, PTIME, NPTIME, and PSPACE, uniformly based on Boolean programs. Foundations of Computing series |
Saturs
Introduction | 20 |
The WHILE Language | 40 |
Programs as Data Objects | 60 |
27 | 69 |
Metaprogramming Selfapplication and Compiler Generation | 96 |
Other Sequential Models of Computation | 114 |
Robustness of Computability | 127 |
Some Natural Unsolvable Problems | 154 |
Time Usage of Treemanipulating Programs | 261 |
Linear and Other Time Hierarchies for WHILE Programs | 285 |
Spacebounded Computations | 315 |
Nondeterministic Computations | 331 |
Characterizations of LOGSPACE and PTIME by GOTO Programs | 349 |
Completeness and Reduction of One Problem to Another | 365 |
Complete Problems for PTIME | 383 |
Complete Problems for NPTIME | 397 |
Hilberts Tenth Problem by M H Sørensen | 170 |
Inference Systems and Gödels Incompleteness Theorem | 196 |
Computability Theory Based on Numbers | 210 |
More Abstract Approaches to Computability | 215 |
Overview of Complexity Theory | 239 |
A Mathematical Terminology and Concepts | 419 |
447 | |
457 | |
Bieži izmantoti vārdi un frāzes
Atsauces uz šo grāmatu
Computability and Complexity: From a Programming Perspective Neil D. Jones Ierobežota priekšskatīšana - 1997 |
A Modular Calculus for the Average Cost of Data Structuring Michel Schellekens Ierobežota priekšskatīšana - 2008 |