Introduction to Automata Theory, Languages, and Computation, 2/e(精裝本)
暫譯: 自動機理論、語言與計算導論(第二版,精裝本)
John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman
- 出版商: Addison Wesley
- 出版日期: 2000-11-24
- 售價: $1,300
- 貴賓價: 9.8 折 $1,274
- 語言: 英文
- 頁數: 521
- 裝訂: Hardcover
- ISBN: 0201441241
- ISBN-13: 9780201441246
-
其他版本:
Introduction to Automata Theory, Languages, and Computation, 3/e (美國原版)
買這商品的人也買了...
-
$1,029Fundamentals of Data Structures in C
-
$580$458 -
$680$537 -
$2,660$2,527 -
$650$514 -
$980$774 -
$970Introduction to Algorithms, 2/e
-
$1,150$1,127 -
$1,274Computer Architecture: A Quantitative Approach, 3/e(精裝本)
-
$1,029Operating System Concepts, 6/e (Windows XP Update)
-
$860$679 -
$1,030$1,009 -
$1,930$1,834 -
$780$741 -
$750$638 -
$760$600 -
$760$600 -
$590$466 -
$690$538 -
$780$616 -
$720$569 -
$750$638 -
$560$476 -
$480$379 -
$375Macromedia Dreamweaver 8 for Windows and Macintosh: Visual QuickStart Guide (Paperback)
商品描述
Description
It has been more than 20 years since this classic book on formal languages, automata theory, and computational complexity was first published. With this long-awaited revision, the authors continue to present the theory in a concise and straightforward manner, now with an eye out for the practical applications. They have revised this book to make it more accessible to today's students, including the addition of more material on writing proofs, more figures and pictures to convey ideas, side-boxes to highlight other interesting material, and a less formal writing style. Exercises at the end of each chapter, including some new, easier exercises, help readers confirm and enhance their understanding of the material.
Appropriate Courses
Theory of Computation/CS Theory, Automata Theory.
Features
NEW! Completely rewritten to be less formal, providing more accessibility to today's students. NEW! Increased usage of figures and pictures to help convey ideas. NEW! More detail and intuition provided for definitions and proofs. NEW! Provides special side-boxes to present supplemental material that may be of interest to readers. NEW! Includes more exercises, including many at a lower level. NEW! Presents program-like notation for PDA's and Turing machines. NEW! Increased number of worked solutions and new programming exercises available online.
Table Of Contents
(NOTE: Each chapter concludes with Summary and References.)
1. Automata: The Methods and the Madness.
Structural Representations.
Automata and Complexity.
Introduction to Formal Proof.
Reduction to Definitions.
Other Theorem Forms.
Theorems That Appear Not to Be If-Then Statements.
Additional Forms of Proof.
The Contrapositive.
Proof by Contradiction.
Counterexamples.
Inductive Proofs.
More General Forms of Integer Inductions.
Structural Inductions.
Mutual Inductions.
The Central Concepts of Automata Theory
Strings.
Languages.
Problems.
2. Finite Automata.
The Protocol.
Enabling the Automata to Ignore Actions.
The Entire System as an Automaton.
Using the Product Automaton to Validate the Protocol.
Deterministic Finite Automata.
How a DFA Processes Strings.
Simpler Notations for DFA's.
Extending the Transition Function to Strings.
The Language of a DFA
Exercises for Section 2.2.
Nondeterministic Finite Automata.
Definition of Nondeterministic Finite Automata.
The Extended Transition Function.
The Language of an NFA.
Equivalence of Deterministic and Nondeterministic Finite Automata.
A Bad Case for the Subset Construction.
Exercises for Section 2.3.
An Application: Text Search.
Nondeterministic Finite Automata for Text Search.
A DFA to Recognize a Set of Keywords.
Exercises for Section 2.4.
Finite Automata with Epsilon-Transitions.
The Formal Notation for an e-NFA.
Epsilon-Closures.
Extended Transitions and Languages for e-NFA's.
Eliminating e-Transitions.
3. Regular Expressions and Languages.
Building Regular Expressions.
Precedence of Regular-Expression Operators.
Finite Automata and Regular Expressions.
Converting DFA's to Regular Expressions by Eliminating States.
Converting Regular Expressions to Automata.
Exercises for Section 3.2.
Applications of Regular Expressions.
Lexical Analysis.
Finding Patterns in Text.
Exercises for Section 3.3.
Algebraic Laws for Regular Expressions.
Identities and Annihilators.
Distributive Laws.
The Idempotent Law.
Laws Involving Closures.
Discovering Laws for Regular Expressions.
The Test for a Regular-Expression Algebraic Law.
Exercises for Section 3.4.
4. Properties of Regular Languages.
Applications of the Pumping Lemma.
Exercises for Section 4.1.
Closure Properties of Regular Languages.
Reversal.
Homomorphisms.
Inverse Homomorphisms.
Exercises for Section 4.2.
Decision Properties of Regular Languages.
Testing Emptiness of Regular Languages.
Testing Membership in a Regular Language.
Exercises for Section 4.3.
Equivalence and Minimization of Automata.
Testing Equivalence of Regular Languages.
Minimization of DFA's.
Why the Minimized DFA Can't Be Beaten.
Exercises for Section 4.4.
5. Context-Free Grammars and Languages.
Definition of Context-Free Grammars.
Derivations Using a Grammar.
Leftmost and Rightmost Derivations.
The Language of a Grammar.
Sentential Forms.
Exercises for Section 5.1.
Parse Tress.
The Yield of a Parse Tree.
Inference, Derivations, and Parse Trees.
From Inferences to Trees.
From Trees to Derivations.
From Derivations to Recursive Inferences.
Exercises for Section 5.2.
Applications of Context-Free Grammars.
The YACC Parser-Generator.
Markup Languages.
XML and Document-Type Definitions.
Exercises for Section 5.3.
Ambiguity in Grammars and Languages.
Removing Ambiguity From Grammars.
Leftmost Derivations as a Way to Express Ambiguity.
Inherent Ambiguity.
Exercises for Section 5.4.
6. Pushdown Automata.
The Formal Definition of Pushdown Automata.
A Graphical Notation for PDA's.
Instantaneous Descriptions of a PDA.
Exercises for Section 6.1.
The Languages of a PDA.
Acceptance by Empty Stack.
From Empty Stack to Final State.
From Final State to Empty Stack.
Exercises for Section 6.2.
Equivalence of PDA's and CFG's.
From PDA's to Grammars.
Exercises for Section 6.3.
Deterministic Pushdown Automata.
Regular Languages and Deterministic PDA's.
DPDA's and Context-Free Languages.
DPDA's and Ambiguous Grammars.
Exercises for Section 6.4.
7. Properties of Context-Free Languages.
Computing the Generating and Reachable Symbols.
Eliminating e-Productions.
Eliminating Unit Productions.
Chomsky Normal Form.
Exercises for Section 7.1.
The Pumping Lemma for Context-Free Languages.
Statement of the Pumping Lemma.
Applications of the Pumping Lemma for CFL's.
Exercises for Section 7.2.
Closure Properties of Context-Free Languages.
Applications of the Substitution Theorem.
Reversal.
Intersection With a Regular Language.
Inverse Homomorphism.
Exercises for Section 7.3.
Decision Properties of CFL's.
Running Time of Conversion to Chomsky Normal Form.
Testing Emptiness of CFL's.
Testing Membership in a CFL.
Preview of Undecidable CFL Problems.
Exercises for Section 7.4.
8.Introduction to Turing Machines.
The Hypothetical “Hello, World” Tester.
Reducing One Problem to Another.
Exercises for Section 8.1.
The Turing Machine.
Notation for the Turing Machine.
Instantaneous Descriptions for the Turing Machines.
Transition Diagrams for Turing Machines.
The Language of a Turing Machine.
Turing Machines and Halting.
Exercises for Section 8.2.
Programming Techniques for Turing Machines.
Multiple Tracks.
Shifting Over.
Subroutines.
Exercises for Section 8.3.
Extensions to the Basic Turing-Machines.
Equivalence of One-Tape and Multitape TM's.
Running Time of the Many-Tapes-to-One Construction.
Nondeterministic Turing Machines.
Exercises for Section 8.4.
Restricted Turing Machine
Multistack Machines.
Counter Machines.
The Power of Counter Machines.
Exercises for Section 8.5.
Turing Machines and Computers.
Simulating a Computer by a Turing Machine.
Comparing the Running Times of Computers and Turing Machines.
9. Undecidability.
Codes for Turing Machines.
The Diagonalization Language.
Proof That Ld is Not Recursively Enumberable.
Exercises for Section 9.1.
An Undecidable Problem That is RE.
Complements of Recursive and RE Languages.
The Universal Language.
Undecidability of the Universal Language.
Exercises for Section 9.2.
Undecidable Problems About Turing Machines.
Turing Machines That Accept the Empty Language.
Rice's Theorem and Properties of the RE Languages.
Problems About Turing-Machine Specifications.
Exercises for Section 9.3.
Post's Correspondence Problem.
The “Modified” PCP.
Completion of the Proof of PCP Undecidability.
Exercises for Section 9.4.
Other Undecidable Problems.
Undecidability of Ambiguity for CFG's.
The Complement of a List Language.
Exercises for Section 9.5.
10. Intractable Problems.
An Example: Kruskal's Algorithm.
Nondeterministic Polynomial Time.
An $\cal NP$ Example: The Traveling Salesman Problem.
Polynomial-Time Reductions.
NP-Complete Problems.
Exercises for Section 10.1
An NP-Complete Problem.
Representing SAT Instances.
NP-Completeness of the SAT Problem.
Exercises for Section 10.2.
A Restricted Satisfiability Problem.
Converting Expressions to CNF.
NP-Completeness of CSAT.
NP-Completeness of 3SAT.
Exercises for Section 10.3.
Additional NP-Complete Problems.
The Problem of Independent Sets.
The Node-Cover Problems.
The Directed Hamilton-Circuit Problem.
Undirected Hamilton Circuits and the TSP.
Summary of NP-Complete Problems.
Exercises for Section 10.4.
11. Additional Classes of Problems.
NP-Complete Problems and NP.
Exercises for Section 11.1.
Problems Solvable in Polynomial Space.
Relationship of PS and NPS to Previously Defined Classes.
Deterministic and Nondeterministic Polynomial Space.
A Problem That Is Complete for PS.
Quantified Boolean Formulas.
Evaluating Quantified Boolean Formulas.
PS-Completeness of the QBF Problem.
Exercises for Section 11.3.
Language Classes Based on Randomized Algorithm.
A Turing-Machine Model Using randomization.
The Language of a Randomized Turing Machine.
The Class RP.
Recognizing Languages in RP.
The Class ZPP.
Relationship Between RP and ZPP.
Relationships to the Classes P and NP.
The Complexity of Primality Testing.
Introduction to Modular Arithmetic.
The Complexity of Modular-Arithmetic Computations.
Random-Polynomial Primality Testing.
Nondeterministic Primality Tests.
Exercises for Section 11.5.
商品描述(中文翻譯)
描述
自從這本關於形式語言、自動機理論和計算複雜度的經典書籍首次出版以來,已經過了20多年。隨著這次期待已久的修訂,作者繼續以簡潔明瞭的方式呈現理論,並著眼於實際應用。他們對這本書進行了修訂,使其對當今的學生更具可讀性,包括增加了更多有關證明寫作的材料、更多的圖形和圖片以傳達思想、側邊框以突出其他有趣的材料,以及較不正式的寫作風格。每章結尾的練習題,包括一些新的、更簡單的練習,幫助讀者確認和增強對材料的理解。
適合的課程
計算理論/計算機科學理論,自動機理論。
特點
- 新!完全重寫以減少正式性,使當今的學生更易於接觸。
- 新!增加了圖形和圖片的使用,以幫助傳達思想。
- 新!對定義和證明提供了更多的細節和直觀理解。
- 新!提供特殊的側邊框以呈現可能引起讀者興趣的補充材料。
- 新!包含更多的練習題,包括許多較低難度的題目。
- 新!為PDA和圖靈機提供類似程式的符號表示。
- 新!增加了可在線獲得的解題數量和新的程式設計練習。
目錄
(注意:每章結尾都有摘要和參考文獻。)
1. 自動機:方法與瘋狂。
- 為什麼學習自動機理論?
- 有限自動機介紹。
- 結構表示。
- 自動機與複雜度。
- 正式證明介紹。
- 演繹證明。
- 簡化為定義。
- 其他定理形式。
- 看似不是如果-那麼語句的定理。
- 其他證明形式。
- 證明集合的等價性。
- 反證法。
- 反例。
- 歸納證明。
- 整數的歸納。
- 更一般的整數歸納形式。
- 結構歸納。
- 互相歸納。
- 自動機理論的核心概念。
- 字母表。
- 字串。
- 語言。
- 問題。
2. 有限自動機。
- 有限自動機的非正式圖像。
- 基本規則。
- 協議。
- 使自動機忽略行動。
- 整個系統作為一個自動機。
- 使用產品自動機來驗證協議。
- 確定性有限自動機。
- 確定性有限自動機的定義。
- DFA如何處理字串。
- DFA的簡化符號。
- 將轉移函數擴展到字串。
- DFA的語言。
- 第2.2節的練習題。
- 非確定性有限自動機。
- 非確定性有限自動機的非正式觀點。
- 非確定性有限自動機的定義。
- 擴展轉移函數。
- NFA的語言。
- 確定性與非確定性有限自動機的等價性。
- 子集構造的壞情況。
- 第2.3節的練習題。
- 應用:文本搜索。
- 在文本中查找字串。
- 用於文本搜索的非確定性有限自動機。
- 用於識別關鍵字集的DFA。
- 第2.4節的練習題。
- 帶有ε轉移的有限自動機。
- ε轉移的用途。
- e-NFA的正式符號。
- ε閉包。
- e-NFA的擴展轉移和語言。
- 消除ε轉移。
3. 正規表達式和語言。
- 正規表達式。
- 正規表達式的運算子。
- 構建正規表達式。
- 正規表達式運算子的優先順序。
- 有限自動機與正規表達式。
- 從DFA到正規表達式。
- 通過消除狀態將DFA轉換為正規表達式。
- 將正規表達式轉換為自動機。
- 第3.2節的練習題。
- 正規表達式的應用。
- UNIX中的正規表達式。
- 詞法分析。
- 在文本中查找模式。
- 第3.3節的練習題。
- 正規表達式的代數法則。
- 結合性和交換性。
- 同一性和消去元。
- 分配法則。
- 幂等法則。
- 涉及閉包的法則。
- 發現正規表達式的法則。
- 測試正規表達式代數法則。
- 第3.4節的練習題。
4. 正規語言的性質。
- 證明語言不是正規的。
- 正規語言的抽水引理。
- 抽水引理的應用。
- 第4.1節的練習題。
- 正規語言的閉合性質。
- 正規語言在布林運算下的閉合。
- 反轉。
- 同態。
- 反同態。
- 第4.2節的練習題。
- 正規語言的決策性質。
- 轉換表示法。
- 測試正規語言的空性。
- 測試正規語言的成員資格。
- 第4.3節的練習題。
- 自動機的等價性和最小化。
- 測試狀態的等價性。
- 測試正規語言的等價性。
- DFA的最小化。
- 為什麼最小化的DFA無法被超越。
- 第4.4節的練習題。
5. 上下文無關文法和語言。
- 上下文無關文法。
- 一個非正式的例子。
- 上下文無關文法的定義。
- 使用文法的推導。
- 最左推導和最右推導。
- 文法的語言。
- 句子形式。
- 第5.1節的練習題。
- 解析樹。
- 構建解析樹。