Preface to the First Edition |
|
xi | |
To the student |
|
xi | |
To the educator |
|
xii | |
The first edition |
|
xiii | |
Feedback to the author |
|
xiii | |
Acknowledgments |
|
xiv | |
Preface to the Second Edition |
|
xvii | |
Preface to the Third Edition |
|
xxi | |
Introduction |
|
1 | (28) |
|
0.1 Automata, Computability, and Complexity |
|
|
1 | (2) |
|
|
2 | (1) |
|
|
3 | (1) |
|
|
3 | (1) |
|
0.2 Mathematical Notions and Terminology |
|
|
3 | (14) |
|
|
3 | (3) |
|
|
6 | (1) |
|
|
7 | (3) |
|
|
10 | (3) |
|
|
13 | (1) |
|
|
14 | (2) |
|
Summary of mathematical terms |
|
|
16 | (1) |
|
0.3 Definitions, Theorems, and Proofs |
|
|
17 | (4) |
|
|
17 | (4) |
|
|
21 | (8) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (3) |
|
Exercises, Problems, and Solutions |
|
|
25 | (4) |
|
Part One Automata and Languages |
|
|
29 | (134) |
|
|
31 | (70) |
|
|
31 | (16) |
|
Formal definition of a finite automaton |
|
|
35 | (2) |
|
Examples of finite automata |
|
|
37 | (3) |
|
Formal definition of computation |
|
|
40 | (1) |
|
Designing finite automata |
|
|
41 | (3) |
|
|
44 | (3) |
|
|
47 | (16) |
|
Formal definition of a nondeterministic finite automaton |
|
|
53 | (1) |
|
Equivalence of NFAs and DFAs |
|
|
54 | (4) |
|
Closure under the regular operations |
|
|
58 | (5) |
|
|
63 | (14) |
|
Formal definition of a regular expression |
|
|
64 | (2) |
|
Equivalence with finite automata |
|
|
66 | (11) |
|
|
77 | (24) |
|
The pumping lemma for regular languages |
|
|
77 | (5) |
|
Exercises, Problems, and Solutions |
|
|
82 | (19) |
|
|
101 | (62) |
|
2.1 Context-Free Grammars |
|
|
102 | (9) |
|
Formal definition of a context-free grammar |
|
|
104 | (1) |
|
Examples of context-free grammars |
|
|
105 | (1) |
|
Designing context-free grammars |
|
|
106 | (1) |
|
|
107 | (1) |
|
|
108 | (3) |
|
|
111 | (14) |
|
Formal definition of a pushdown automaton |
|
|
113 | (1) |
|
Examples of pushdown automata |
|
|
114 | (3) |
|
Equivalence with context-free grammars |
|
|
117 | (8) |
|
2.3 Non-Context-Free Languages |
|
|
125 | (5) |
|
The pumping lemma for context-free languages |
|
|
125 | (5) |
|
2.4 Deterministic Context-Free Languages |
|
|
130 | (33) |
|
|
133 | (2) |
|
Deterministic context-free grammars |
|
|
135 | (11) |
|
Relationship of DPDAs and DCFGs |
|
|
146 | (5) |
|
Parsing and LR(k) Grammars |
|
|
151 | (3) |
|
Exercises, Problems, and Solutions |
|
|
154 | (9) |
|
Part Two Computability Theory |
|
|
163 | (110) |
|
3 The Church-Turing Thesis |
|
|
165 | (28) |
|
|
165 | (11) |
|
Formal definition of a Turing machine |
|
|
167 | (3) |
|
Examples of Turing machines |
|
|
170 | (6) |
|
3.2 Variants of Turing Machines |
|
|
176 | (6) |
|
Multitape Turing machines |
|
|
176 | (2) |
|
Nondeterministic Turing machines |
|
|
178 | (2) |
|
|
180 | (1) |
|
Equivalence with other models |
|
|
181 | (1) |
|
3.3 The Definition of Algorithm |
|
|
182 | (11) |
|
|
182 | (2) |
|
Terminology for describing Turing machines |
|
|
184 | (3) |
|
Exercises, Problems, and Solutions |
|
|
187 | (6) |
|
|
193 | (22) |
|
|
194 | (7) |
|
Decidable problems concerning regular languages |
|
|
194 | (4) |
|
Decidable problems concerning context-free languages |
|
|
198 | (3) |
|
|
201 | (14) |
|
The diagonalization method |
|
|
202 | (5) |
|
|
207 | (2) |
|
A Turing-unrecognizable language |
|
|
209 | (1) |
|
Exercises, Problems, and Solutions |
|
|
210 | (5) |
|
|
215 | (30) |
|
5.1 Undecidable Problems from Language Theory |
|
|
216 | (11) |
|
Reductions via computation histories |
|
|
220 | (7) |
|
5.2 A Simple Undecidable Problem |
|
|
227 | (7) |
|
|
234 | (11) |
|
|
234 | (1) |
|
Formal definition of mapping reducibility |
|
|
235 | (4) |
|
Exercises, Problems, and Solutions |
|
|
239 | (6) |
|
6 Advanced Topics in Computability Theory |
|
|
245 | (28) |
|
6.1 The Recursion Theorem |
|
|
245 | (7) |
|
|
246 | (3) |
|
Terminology for the recursion theorem |
|
|
249 | (1) |
|
|
250 | (2) |
|
6.2 Decidability of logical theories |
|
|
252 | (8) |
|
|
255 | (2) |
|
|
257 | (3) |
|
|
260 | (1) |
|
6.4 A Definition of Information |
|
|
261 | (12) |
|
Minimal length descriptions |
|
|
262 | (4) |
|
Optimality of the definition |
|
|
266 | (1) |
|
Incompressible strings and randomness |
|
|
267 | (3) |
|
Exercises, Problems, and Solutions |
|
|
270 | (3) |
|
Part Three Complexity Theory |
|
|
273 | (170) |
|
|
275 | (56) |
|
|
275 | (9) |
|
Big-0 and small-o notation |
|
|
276 | (3) |
|
|
279 | (3) |
|
Complexity relationships among models |
|
|
282 | (2) |
|
|
284 | (8) |
|
|
284 | (2) |
|
Examples of problems in P |
|
|
286 | (6) |
|
|
292 | (7) |
|
Examples of problems in NP |
|
|
295 | (2) |
|
|
297 | (2) |
|
|
299 | (12) |
|
Polynomial time reducibility |
|
|
300 | (4) |
|
Definition of NP-completeness |
|
|
304 | (1) |
|
|
304 | (7) |
|
7.5 Additional NP-complete Problems |
|
|
311 | (20) |
|
|
312 | (2) |
|
The Hamiltonian path problem |
|
|
314 | (5) |
|
|
319 | (3) |
|
Exercises, Problems, and Solutions |
|
|
322 | (9) |
|
|
331 | (32) |
|
|
333 | (3) |
|
|
336 | (1) |
|
|
337 | (11) |
|
|
338 | (3) |
|
Winning strategies for games |
|
|
341 | (2) |
|
|
343 | (5) |
|
|
348 | (3) |
|
|
351 | (3) |
|
|
353 | (1) |
|
|
354 | (9) |
|
Exercises, Problems, and Solutions |
|
|
356 | (7) |
|
|
363 | (30) |
|
|
364 | (12) |
|
Exponential space completeness |
|
|
371 | (5) |
|
|
376 | (3) |
|
Limits of the diagonalization method |
|
|
377 | (2) |
|
|
379 | (14) |
|
Exercises, Problems, and Solutions |
|
|
388 | (5) |
|
10 Advanced Topics in Complexity Theory |
|
|
393 | (50) |
|
10.1 Approximation Algorithms |
|
|
393 | (3) |
|
10.2 Probabilistic Algorithms |
|
|
396 | (12) |
|
|
396 | (3) |
|
|
399 | (5) |
|
Read-once branching programs |
|
|
404 | (4) |
|
|
408 | (7) |
|
Alternating time and space |
|
|
410 | (4) |
|
The Polynomial time hierarchy |
|
|
414 | (1) |
|
10.4 Interactive Proof Systems |
|
|
415 | (12) |
|
|
415 | (1) |
|
|
416 | (2) |
|
|
418 | (9) |
|
10.5 Parallel Computation |
|
|
427 | (6) |
|
|
428 | (2) |
|
|
430 | (2) |
|
|
432 | (1) |
|
|
433 | (10) |
|
|
433 | (2) |
|
|
435 | (1) |
|
|
435 | (2) |
|
|
437 | (2) |
|
Exercises, Problems, and Solutions |
|
|
439 | (4) |
Selected Bibliography |
|
443 | (5) |
Index |
|
448 | |