Строительный блокнот  Automata methods and madness 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 [ 171 ] 172 173 174 175

Subroutine 333-334 Subset construction 61-66 Substitution 282-285 Switching circuit 125 Symbol

See Generating symbol, Input symbol, Input symbol, Nullable symbol. Reachable symbol. Stack symbol, Start symbol. Tape symbol, Terminal symbol, Useless symbol

Symbol table 279 Syntactic category See Variable

Tail 238

Tape 318

Tape head 318

Tape symbol 319, 327, 357

Tarjan, R. E. 510

Tautology problem 471

Term 209

Terminal symbol 171, 176 Text search 68-72, 84, 111-113 Theorem 17 There exists

See Quantifier Thompson, K. 123 3SAT 435-436, 445-446, 462 Time complexity 339-340,361-363,

414, 503 Token 109-111 Track 331-333

Transition diagram 48, 223-224,323-326

Transition function 46, 57, 222, 319 See also Extended transition function

Transition table 48-49 Transitive law 160

Traveling salesman problem 419-421,

461-462 Tree 23-25

See also Parse tree Treybig, L. B. 468 Trivial property 388 Truth assignment 426-427 TSP

See Traveling salesman problem Turing, A. M. 1, 318, 323, 366, 411 Turing machine 307, 316-329, 414, 473-474 See also Code, for Turing machine, Halting, of a Turing machine. Las-Vegas Turing machine, Monte-carlo Turing machine, Multihead Turing machine, Multitape Turing machine, Nondeterministic Hjring machine. Randomized Turing machine, Recursively enumerable language. Two-dimensional Turing machine. Universal Turing machine Two-dimensional Turing machine 345 2SAT 437, 446

Ulhnan,J.D. 35, 123, 217, 468,510

Unambiguous grammar

See Ambiguous grammar

Undecidable problem 302,310,367-368,373-374,384, 386-387, 390, 403-408 See also Posts correspondence problem. Rices theorem, Universal language

Union 14, 84, 86, 95, 103, 109, 114-117,132,199,284,382, 425-426

Unit pair 263

Unit production 256, 262-266 Unit-execution-time-scheduling problem 465 Universal language 377-381 Universal Turing machine 357, 377-378



INDEX 521

UNIX regular expreaaione Iflfr-llO

Useless symbol 255-259

Variable 171, 176 W

Word

See String World-wide-web consortiran 217

XML 169, 198 See also DTD

YACC 194-195, 208, 253 Yamada, H. 123 Yield 183

Younger, D. H. 298, 305

Zero-error probabilistic polynomial langut See ZVV ZVV 469-70, 488, 495-97



Preface

In the preface from the 1979 predecessor to this book, Hopcroft and Ullman marveled at the fact that the subject of automata had exploded, compared with its state at the time they wrote their first book, in 1969. Truly, the 1979 book contamed many topics not found in the earlier work and was about twice its size. If you compare this book with the 1979 book, you will find that, like the automobiles of the 1970s, this book is larger on the outside, but smaller on the inside. That sounds like a retrograde step, but we are happy with the changes for several reasons.

First, in 1979, automata and language theory was still an area of active research. A purpose of that book was to encourage mathematically inclined students to make new contributions to the field. Today, there is little direct research in automata theory (as opposed to its applications), and thus Uttle motivation for us to retain the succinct, highly mathematical tone of the 1979 book.

Second, the role of automata and Ijmguage theory has changed over the past two decades. In 1979, automata was largely a graduate-level subject, and we imagined our reader was an advanced graduate student, especially those using the later chapters of the book. Today, the subject is a staple of the undergraduate curriculum. As such, the content of the book must assume less in the way of prerequisites from the student, and therefore must provide more of the background and details of arguments than did the earlier book.

A third change in the environment is that Computer Science has grown to an almost unimaginable degree in the past two decades. While in 1979 it was often a challenge to fill up a curriculum with material that we felt would survive the next wave of technology, today very many subdisciplines compete for the limited amount of space in the undergraduate curriculum.

Fourthly, CS has become a more vocational subject, and there is a severe pragmatism among many of its students. We continue to beheve that aspects of automata theory are essential tools in a variety of new disciplines, and we believe that the theoretical, mind-expanding exercises embodied in the typical automata course retain their value, no matter how much the student prefers to learn only the most immediately monetizable technology. However, to assure a continued place for the subject on the menu of topics available to the computer science student, we believe it is necessary to emphasize the applications



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 [ 171 ] 172 173 174 175