Languages and machines : an introduction to the theory of computer science

Thomas A. Sudkamp

The third edition of Languages and Machines: An Introduction to the Theory of Computer Science provides readers with a mathematically sound presentation of the theory of computer science at a level suitable for junior and senior level computer science majors. The theoretical concepts and associated mathematics are made accessible by a "learn as you go" approach that develops an intuitive understanding of the concepts through numerous examples and illustrations. In this edition the presentation has been enhanced by increasing the number of examples, expanding the selection of topics particularly in the area of computational complexity, and providing a flexible format giving instructors the ability to design their courses that concentrate on specific areas such as automata theory, computability theory, or computational complexity.

「Nielsen BookData」より

[目次]

  • <P>Introduction </P><P>  </P><P>Part I: Foundations </P><P>  </P><P>Chapter 1: Mathematical Preliminaries </P><P>1.1 Set Theory </P><P>1.2 Cartesian Product, Relations, and Functions </P><P>1.3 Equivalence Relations </P><P>1.4 Countable and Uncountable Sets </P><P>1.5 Diagonalization and Self-Reference </P><P>1.6 Recursive Definitions </P><P>1.7 Mathematical Induction </P><P>1.8 Directed Graphs </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 2: Languages </P><P>2.1 Strings and Languages </P><P>2.2 Finite Specification of Languages </P><P>2.3 Regular Sets and Expressions </P><P>2.4 Regular Expressions and Text Searching </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Part II: Grammars, Automata, and Languages </P><P>  </P><P>Chapter 3: Context-Free Grammars </P><P>3.1 Context-Free Grammars and Languages </P><P>3.2 Examples of Grammars and Languages </P><P>3.3 Regular Grammars </P><P>3.4 Verifying Grammars</P><P>3.5 Leftmost Derivations and Ambiguity </P><P>3.6 Context-Free Grammars and Programming Language Definition </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 4: Normal Forms for Context-Free Grammars </P><P>4.1 Grammar Transformations </P><P>4.2 Elimination of Rules </P><P>4.3 Elimination of Chain Rules </P><P>4.4 Useless Symbols </P><P>4.5 Chomsky Normal Form </P><P>4.6 The CYK Algorithm </P><P>4.7 Removal of Direct Left Recursion </P><P>4.8 Greibach Normal Form </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 5: Finite Automata </P><P>5.1 A Finite-State Machine </P><P>5.2 Deterministic Finite Automata </P><P>5.3 State Diagrams and Examples </P><P>5.4 Nondeterministic Finite Automata </P><P>5.5 Transitions </P><P>5.6 Removing Nondeterminism </P><P>5.7 DFA Minimization </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 6: Properties of Regular Languages </P><P>6.1 Finite-State Acceptance of Regular Languages</P><P>6.2 Expression Graphs </P><P>6.3 Regular Grammars and Finite Automata </P><P>6.4 Closure Properties of Regular Languages </P><P>6.5 A Nonregular Language </P><P>6.6 The Pumping Lemma for Regular Languages </P><P>6.7 The Myhill-Nerode Theorem </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 7: Pushdown Automata and Context-Free Languages </P><P>7.1 Pushdown Automata </P><P>7.2 Variations on the PDA Theme </P><P>7.3 Acceptance of Context-Free Languages </P><P>7.4 The Pumping Lemma for Context-Free Languages </P><P>7.5 Closure Properties of Context-Free Languages </P><P>Exercises </P><P>Bibliographic Notes </P><P> </P><P>Part III: Computability </P><P>  </P><P>Chapter 8: Turing Machines </P><P>8.1 The Standard Turing Machine </P><P>8.2 Turing Machines as Language Acceptors </P><P>8.3 Alternative Acceptance Criteria </P><P>8.4 Multitrack Machines </P><P>8.5 Two-Way Tape Machines </P><P>8.6 Multitape Machines </P><P>8.7 Nondeterministic Turing Machines </P><P>8.8 Turing Machines as Language Enumerators </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 9: Turing Computable Functions </P><P>9.1 Computation of Functions </P><P>9.2 Numeric Computation </P><P>9.3 Sequential Operation of Turing Machines </P><P>9.4 Composition of Functions </P><P>9.5 Uncomputable Functions </P><P>9.6 Toward a Programming Language </P><P>Exercises </P><P>Bibliographic Notes</P><P>  </P><P>Chapter 10: The Chomsky Hierarchy </P><P>10.1 Unrestricted Grammars </P><P>10.2 Context-Sensitive Grammars </P><P>10.3 Linear-Bounded Automata </P><P>10.4 The Chomsky Hierarchy </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 11: Decision Problems and the Church-Turing Thesis </P><P>11.1 Representation of Decision Problems </P><P>11.2 Decision Problems and Recursive Languages </P><P>11.3 Problem Reduction </P><P>11.4 The Church-Turing Thesis </P><P>11.5 A Universal Turing Machine </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 12: Undecidability </P><P>12.1 The Halting Problem for Turing Machines </P><P>12.2 Problem Reduction and Undecidability </P><P>12.3 Additional Halting Problem Reductions </P><P>12.4 Riceâ s Theorem </P><P>12.5 An Unsolvable Word Problem </P><P>12.6 The Post Correspondence Problem </P><P>12.7 Undecidable Problems in Context-Free Grammars </P><P>Exercises </P><P>Bibliographic Notes</P><P> </P><P>Chapter 13: Mu-Recursive Functions </P><P>13.1 Primitive Recursive Functions </P><P>13.2 Some Primitive Recursive Functions </P><P>13.3 Bounded Operators </P><P>13.4 Division Functions </P><P>13.5 G�odel Numbering and Course-of-Values Recursion </P><P>13.6 Computable Partial Functions </P><P>13.7 Turing Computability and Mu-Recursive Functions </P><P>13.8 The Church-Turing Thesis Revisited </P><P>Exercises </P><P>Bibliographic Notes </P><P> </P><P>Part IV: Computational Complexity </P><P>  </P><P>Chapter 14: Time Complexity </P><P>14.1 Measurement of Complexity </P><P>14.2 Rates of Growth </P><P>14.3 Time Complexity of a Turing Machine </P><P>14.4 Complexity and Turing Machine Variations</P><P>14.5 Linear Speedup </P><P>14.6 Properties of Time Complexity of Languages </P><P>14.7 Simulation of Computer Computations </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 15: P, NP, and Cook's Theorem </P><P>15.1 Time Complexity of Nondeterministic Turing Machines</P><P>15.2 The Classes P and NP </P><P>15.3 Problem Representation and Complexity</P><P>15.4 Decision Problems and Complexity Classes </P><P>15.5 The Hamiltonian Circuit Problem </P><P>15.6 Polynomial-Time Reduction </P><P>15.7 P = NP? </P><P>15.8 The Satisfiability Problem </P><P>15.9 Complexity Class Relations </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 16: NP-Complete Problems </P><P>16.1 Reduction and NP-Complete Problems </P><P>16.2 The 3-Satisfiability Problem </P><P>16.3 Reductions from 3-Satisfiability </P><P>16.4 Reduction and Subproblems </P><P>16.5 Optimization Problems </P><P>16.6 Approximation Algorithms </P><P>16.7 Approximation Schemes</P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 17: Additional Complexity Classes </P><P>17.1 Derivative Complexity Classes </P><P>17.2 Space Complexity </P><P>17.3 Relations between Space and Time Complexity </P><P>17.3 P-Space, NP-Space, and Savitchâ s Theorem </P><P>17.4 P-Space Completeness </P><P>17.5 An Intractable Problem </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Part V: Deterministic Parsing </P><P>  </P><P>Chapter 18: Parsing: An Introduction </P><P>18.1 The Graph of a Grammar </P><P>18.2 A Top-Down Parser </P><P>18.3 Reductions and Bottom-Up Parsing </P><P>18.4 A Bottom-Up Parser </P><P>18.5 Parsing and Compiling </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 19: LL(k) Grammars </P><P>19.1 Lookahead in Context-Free Grammars </P><P>19.2 FIRST, FOLLOW, and Lookahead Sets </P><P>19.3 Strong LL(k) Grammars </P><P>19.4 Construction of FIRSTk Sets </P><P>19.5 Construction of FOLLOWk Sets </P><P>19.6 A Strong LL(l) Grammar </P><P>19.7 A Strong LL(k) Parser </P><P>19.8 LL(k) Grammars </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Chapter 20: LR(k) Grammars </P><P>20.1 LR(0) Contexts </P><P>20.2 An LR(0) Parser </P><P>20.3 The LR(0) Machine </P><P>20.4 Acceptance by the LR(0) Machine </P><P>20.5 LR(1) Grammars </P><P>Exercises </P><P>Bibliographic Notes </P><P>  </P><P>Appendix I </P><P>Index of Notation </P><P> </P><P>Appendix II </P><P>The Greek Alphabet </P><P> </P><P>Appendix III </P><P>Table of ASCII Characters </P><P> </P><P>Appendix IV </P><P>Backus-Naur Definition of Java </P><P> </P><P>Bibliography </P><P>Subject Index</P>

「Nielsen BookData」より

この本の情報

書名 Languages and machines : an introduction to the theory of computer science
著作者等 Sudkamp, Thomas A.
出版元 Pearson Addison-Wesley
刊行年月 c2006
版表示 3rd ed
ページ数 xvii, 654 p.
大きさ 24 cm
ISBN 9780321322210
NCID BA81256150
※クリックでCiNii Booksを表示
言語 英語
出版国 アメリカ合衆国
この本を: 
このエントリーをはてなブックマークに追加

このページを印刷

外部サイトで検索

この本と繋がる本を検索

ウィキペディアから連想