Errata for First Printing of Automata, Computability, and Complexity: Theory and Applications
These errors have been fixed in the pdf version of the book.
Page | Location | Error |
2 | Line 3 | We don’t we just … => Why don’t we just … |
17 | Example 2.16 | This answer isn't right. It describes a superset of L*. |
20 | Exercise 6.c. | Add ) before final } |
24 | Example 3.5 | Add + to produce "each of the substrings … is an element of {0, 1, 2, 3, 4, 5, 6, 7, 8, 9)+ …" |
36 | First bullet | Should be “define problems as languages to be decided”. |
49 | Line2 | Change “w elementof c*” to “w elementof {c}*”. |
50 | Example 4.12 | Add comma after "some function f". Change two instances of "counter example" to "counterexample" |
55 | FSM diagram | Each transition labeled D should advance two states. |
61 | Figure in Example 5.6 | The dead state (labeled d) should not be accepting. |
64 | Figure in Example 5.10 | The state labeled U should be labeled O. The loop back to it should be labeled Sigma - {u} |
64 | Example 5.10 | The word "sacrilegious" is not in L - the letters are out of order. |
65 | Line 3 | Change "an FSM" to "a DFSM". |
66 | Line -9 | “A subset-of is the set of final states” should be, “A subset-of K is a set of accepting states”. |
82 | Halfway down the page | The two lines of code “st = st1.” and “If st = emptyset then exit.” should be moved to the left so that they line up with “For all q in st do:”. Keep the /* parts lined up as they are. |
82 | Line -13 | In the argument to big-O, change “w” to “|w|”. |
88 | Last line | Change “we can us it” to “we can use it”. |
101 | Soundex diagram | Add an arrow to the edge from state 2v back to itself. |
112 | Last line | Remove space before closing ). |
114 | Line -9 | ".. just prior to reading a fifth output symbol." Should be ".. just prior to generating a fifth output symbol." |
118 | First line of third paragraph | "This new machine is indeed nondeterministic ..." should be "This new machine is indeed deterministic ...". |
121 | Exercise 1 | Make state 5 nonaccepting. |
122 | Exercise 2j | Change “as a substrings” to “as substrings”. |
124 | Exercise 11d | The R in wwR should not be italicized (but it is correct to be a superscript). |
133-134 | Proof of Thm. 6.1 | Change every instance of lower case delta to upper case delta. (Two on p. 133 and 14 on p. 134) |
136 | Final figure in Example 6.5 | The state with in-transition labeled a should not be accepting. |
142 | Line 11 | In the definition of M, change lower case delta to upper case Delta. |
153 | Exercise 9 | Two errors in the transition diagram: Label the arc from q2 to q0 a. Make state q3 nonaccepting. |
154 | Exercise 15 | In the transition diagram, the arc from q1 to q3 should have the single label b. |
165 | Line -13 | Paragraph should end with, "... and accepts all strings that M1 rejects." |
174 | Line 7 | Remove ) after "some p". |
174 | First line of Example 8.11 | The R in wwR should not be italicized (but it is correct to be a superscript). |
195 | Line -2 | Remove blank between w and , Also remove extra blank after the second w |
208, 209, 210, 213, 216, 217, 220, 222, 223, 225, 226, 227, 228, 230 |
Formal definition of grammar | Quadruple should start with ( and end with ). Some examples use { and }. Some use { and } now. |
210 | First line of Example 11.3 | The R in wwR should not be italicized (but it is correct to be a superscript). |
215 | Step 5 of the algorithm | Change “from VG'" to “from VG' - ΣG'". |
220 | The derivations | In the left-most derivation, the four instances of "The" should be "the". In the right-most one, the single instance of "The" should be "the". |
235 | Line -4 | Section 11.7.4 should be 11.7.3. |
246 | Problem 6.a | Remove the word “where” just after the colon. |
249 | Lines 14-15 | Change "M is a sex-tuple" to "M is a six-tuple". |
264 | Line 2 | The first rule should be F -> (E). |
281 | Figure 13.1 | The caption is chopped off at the bottom. It should say "yield". |
282 | Line 17 | Remove the space between “w” and “,”. |
308 | First and third lines of Example 13.15 | The R in wwR should not be italicized (but it is correct to be a superscript). |
310 | Problem 1.t. | The last two *’s are superscripted. They shouldn’t be. |
312 | Problem 12.a, second line | Change "regular (but not context free), context free or neither" to "regular, context-free (but not regular) or neither". |
315 | Line -13 | “is O(n2^n)” should be “is O(ng^2n)”. |
319 | Line -12 | “string could have been pumped” should be “characters could have been pumped”. |
354 | First chart | Get rid of the top row (labeled 4). |
355 | Second chart | Add "V, N" above the caption "saw" (as in the chart above it). |
356 | Second chart | Second row (counting down from the top): Move VP to the right so it aligns with VP on row 6. Third row: Move NP to the right so it aligns with NP on row 5. Fourth row: Move ProperNoun to the right so it aligns with NP on row 5. |
380 | Example 17.11: Diagram of machine C | Delete the blank that occurs immediately after writing x the first time. So after writing x, the code is: L to a blank, L to a blank, write x, loop back. |
386 | Part (b) of Figure 17.3 | Row 3, last separated column: Put a blank in the empty square. |
389 | Tree in Figure 17.4 | Label on root of tree: the "S" should be "s". |
402 | Line 3 of the second table | In column 2, change "q10” to "h10". |
402 | Last line of Example 17.20 | Change "q10” to "h10". |
419 | Line 20, step 1.1 | Remove space between w and period. |
438 | Proof of Theorem 20.3 | Change "(by Theorem 2.2)" to "(by Theorem 2.3)". |
443 | Proof of Theorem 20.9 | Add special case in which L is finite. |
454 | Line 2 | Change “Section 21.2” to “Section 21.6”. |
455 | Last four lines of step 3 of algorithm | Change five instances of "x" to "s" |
459 | Last line of dovetailing table in middle of page | Fill in the first empty column with b [4]. Then shift the rightmost three columns one to the left. |
460 | First line | Change element-of symbol to not-element-of symbol. |
465 | Second bullet in proof | Change “H: does not halt …” to “H: M does not halt …”. |
468 | Line -11 | Change "machhnes" to "machines". |
468 | Line -6 | Change "Riae's Theorem" to "Rice's Theorem". |
475 | Title of Theorem 21.14 | In "Is M …", italicize "M". |
479 | Line 8 | 1.2. should be 1.1. |
480-1 | Continuation of Theorem 21.18 | Continue the margin rule that marks theorems all the way to just before the Section 21.6.3 heading. |
483 | Exercise 1.n. | "{a*}" should be "a*". |
485 | Exercise 18 | "doubly reducible" should be bold italic. |
490 | Example 22.2, first row of the tree, rightmost branch | There should be three x’s, so add one under the first 0/1 column. |
491 | Last line of definition of M_PCP | Should say, "halt and accept". |
533 | Line -3 | Change “G does almost of its work …” to “G does almost all of its work …”. |
542 | TM description in middle of page | Change two instance of L to q to L to blank. |
542 | Line 20 | Insert [ before CATEGORY NP. |
564 | TM description in middle of page | Change two instance of L to q to L to blank. |
627 | Line -2 | Change “It should now by obvious” to “It should now be obvious”. |
629 | Tree in Example 28.1 | The line between 1 and 5 should not be in bold. |
631 | Footnote | Change Corman to Cormen. |
648 | Line 10 | Change "is likely to exit" to "is likely to exist". |
664 | Line 5 of proof | Change "<G, k>" to "<G>" and change "<G, k, c>" to "<G, c>". |
675 | Line 13 | Change "no repeated edges" to "no repeated vertices". |
733 | Line -15 | Get rid of word to before the quoted expression "to find". |
742 | Line -7 | Change Corman to Cormen. |
743 | Line 9 | Change Corman to Cormen. |
746 | First line of Table A.1 | Change first instance of P "and symbol" Q to P "or symbol" Q. |
765 | Last line | Change “symmetric” to “transitive”. |
782 | Title of Example A.17 | The n in n-squared should not be bold. |
784 | Title of Example A.19 | Change "Tolens" to "Tollens". |
785 | Line 2 | The first i on the line should not be subscripted. |
842 | Step 2 of the algorithm | Change "whose left-hand sides" to "whose left-hand side". |
853 | Line 3 | Insert } after ). |
853 | Line -14 | Insert "the" to produce "string that is the yield …" |
855 | Line -4 | Insert space after bullet. |
874 | Line 9 | Nuke subscript 1 after f. |
921 | Figure I.5 | In the Receiver diagram, remove the unlabeled arc that goes from Replying to Active. |
955 | Line 12 | Change "<M, w>" to "<M>". Change "halt on w" to "halt on epsilon". (Use the symbol for epsilon.) |
986 | Last bullet item | Change "Regular grammars to not ..." to "Regular grammars do not ...". |
1009 | Line 5 | Delete the ) immediately to the left of the implication arrow. |
1016 | Line -9 and -11 | Insert a period after each statement (before the /* part), as in Line -12. |
1056 | Line -2 | “orlog” should be “orloj”. |
1075 | Line -3 | Change Corman to Cormen. |
1088 | middle of second column | Change Corman to Cormen. |
back cover | Line 7 after title | “theproblem” should be “the problem”. |