دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: نویسندگان: Arnold L. Rosenberg, Lenwood S. Heath سری: Texts in Computer Science ISBN (شابک) : 3031100549, 9783031100543 ناشر: Springer سال نشر: 2022 تعداد صفحات: 587 [577] زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 9 Mb
در صورت تبدیل فایل کتاب Understanding Computation: Pillars, Paradigms, Principles به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب درک محاسبات: ستون ها، پارادایم ها، اصول نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
نظریه محاسبات رشتهای است که از مفاهیم و ابزارهای ریاضی برای افشای ماهیت \"محاسبات\" و توضیح طیف گستردهای از پدیدههای محاسباتی استفاده میکند: چرا انجام برخی از محاسبات سختتر از محاسبات دیگر است؟ آیا تفاوتهایی در سختی که مشاهده میکنیم ذاتی هستند، یا مصنوعات روشی هستند که ما برای انجام محاسبات تلاش میکنیم؟ این کتاب درسی منحصر به فرد در تلاش است تا به دانش آموزان ابزارهای مفهومی و دستکاری لازم را برای تبدیل نظریه محاسبات به بخشی از زندگی حرفه ای آنها بدهد. این کار با استفاده از سه راهبرد به این هدف دست می یابد که رویکرد آن را از بسیاری از متون دیگر در این زمینه متمایز می کند.
برای شروع، مفاهیم و ابزارهای ریاضی لازم را از ساده ترین نمونه های مفاهیم، در نتیجه به دانش آموزان کمک می کند تا کنترل عملیاتی بر ریاضیات مورد نیاز را بدست آورند. ثانیاً، توسعه نظریه را حول چهار "ستون" سازماندهی می کند و دانش آموزان را قادر می سازد تا موضوعات محاسباتی را ببینند که ریشه های فکری یکسانی در نزدیکی فیزیکی به یکدیگر دارند. در نهایت، متن «ایدههای بزرگ» را نشان میدهد که تئوری محاسبات با کاربردهای این ایدهها در حوزههای «عملی» در ریاضیات، علوم کامپیوتر، مهندسی کامپیوتر، و حتی فراتر از آن ساخته شده است.</ p>
این کتاب درسی مناسب برای دانشجویان پیشرفته مقطع کارشناسی و فارغ التحصیلان مبتدی، مدلهای «کلاسیک» را تقویت میکند که به طور سنتی از دورههای تئوری محاسبات با مدلهای جدید الهامگرفته از موضوعات محاسباتی «واقعی، مدرن» پشتیبانی میکند، مانند به عنوان محاسبات جمعی، محاسبات سیار، برنامهریزی مسیر رباتیک، و محاسبات داوطلبانه.
آرنولد ال. روزنبرگ از دانشگاه ممتاز است.
پروفسور ممتاز در دانشگاه ماساچوست، آمهرست، ایالات
متحده. Lenwood S. Heath استاد
ویرجینا تک، بلکسبورگ، ایالات متحده است.
Computation theory is a discipline that uses mathematical concepts and tools to expose the nature of "computation" and to explain a broad range of computational phenomena: Why is it harder to perform some computations than others? Are the differences in difficulty that we observe inherent, or are they artifacts of the way we try to perform the computations? How does one reason about such questions?
This unique textbook strives to endow students with conceptual and manipulative tools necessary to make computation theory part of their professional lives. The work achieves this goal by means of three stratagems that set its approach apart from most other texts on the subject.
For starters, it develops the necessary mathematical concepts and tools from the concepts' simplest instances, thereby helping students gain operational control over the required mathematics. Secondly, it organizes development of theory around four "pillars," enabling students to see computational topics that have the same intellectual origins in physical proximity to one another. Finally, the text illustrates the "big ideas" that computation theory is built upon with applications of these ideas within "practical" domains in mathematics, computer science, computer engineering, and even further afield.
Suitable for advanced undergraduate students and beginning graduates, this textbook augments the "classical" models that traditionally support courses on computation theory with novel models inspired by "real, modern" computational topics,such as crowd-sourced computing, mobile computing, robotic path planning, and volunteer computing.
Arnold L. Rosenberg is Distinguished Univ.
Professor Emeritus at University of Massachusetts, Amherst,
USA. Lenwood S. Heath is Professor
at Virgina Tech, Blacksburg, USA.
Contents
Preface
Part I INTRODUCTION
Chapter 1 Introducing Computation Theory
1.1 The Autobiographical (ALR) Seeds of Our Framework
1.1.1 Computation by “Shapeless” Agents and Devices
1.1.2 Computation Theory as a Study of Computation
1.2 The Highlights of Our Framework: How We Tell the Story
1.3 Why Is a New Computation Theory Text Needed?
Chapter 2 Introducing the Book
2.1 Computation Theory as a Branch of Discrete Mathematics
2.1.1 Dynamism Within Traditional Mathematics
2.1.2 Discrete Mathematics with Computational Objects
2.2 The Four Pillars of Computation Theory
2.2.1 Pillar S: STATE
2.2.2 Pillar E: ENCODING
2.2.3 Pillar N: NONDETERMINISM
2.2.4 Pillar P: PRESENTATION/SPECIFICATION
2.2.5 Summing Up
2.3 A Map of the Book by Chapter
2.4 Ways of Using this Book
2.4.1 As a Text for a “Classical” Theory Course
2.4.2 As a Primary Text: “Big Ideas in Computation”
2.4.3 As a Supplemental Text: “Theoretical Aspects of–”
2.5 Tools for Using the Book
Part II Pillar S: STATE
Chapter 3 Pure State-Based Computational Models
3.1 Online Automata and Their Languages
3.1.1 Basics of the OA Model
3.1.2 Preparing to Understand the Notion State
3.1.3 A Myhill-Nerode-like Theorem for OAs
3.2 Finite Automata and Regular Languages
3.2.1 Overview and History
3.2.2 Perspectives on Finite Automata
3.2.3 Why FAs Get Confused: a Consequence of Finiteness
Chapter 4 The Myhill-Nerode Theorem: Implications and Applications
4.1 The Myhill-Nerode Theorem for FAs
4.1.1 The Theorem: States Are Equivalence Classes
4.1.2 What Do ≡L- Equivalence Classes Look Like?
4.2 Sample Applications of the Myhill-Nerode Theorem
4.2.1 Proving that Languages Are Not Regular
4.2.2 On Minimizing Finite Automata
4.2.3 Two-Way (Offline) Finite Automata
4.2.4 ⊕ Finite Automata with Probabilistic Transitions
4.2.5 ⊕ State as a Memory-Constraining Resource
Chapter 5 Online Turing Machines and the Implications of Online Computing
5.1 Online Turing Machines: Realizations of Infinite OAs
5.1.1 OTMs with Abstract Storage Devices
5.1.2 OTMs with Linear Tapes for Storage
5.2 The Nature of Online Computing
5.2.1 Online TMs with Multiple Complex Tapes
5.2.2 An Information-Retrieval Problem as a Language
5.2.3 The Impact of Tape Structure on Memory Locality
5.2.4 Tape Dimensionality and the Time Complexity of LDB
Chapter 6 Pumping: Computational Pigeonholes in Finitary Systems
6.1 Introduction and Synopsis
6.2 Pumping in Algebraic Settings
6.3 Pumping in Regular Languages
6.3.1 Pumping in General Regular Languages
6.3.2 Pumping in Regular Tally Languages
6.4 Pumping in a Robotic Setting: a Mobile FA on a Mesh
6.4.1 The Mesh Mn and Its Subdivisions
6.4.2 The Mobile Finite Automaton (MFA) Model
6.4.3 An Inherent Limitation on Solo Autonomous MFAs
Chapter 7 Mobility in Computing: An FA Navigates a Mesh
7.1 Introduction and Synopsis
7.2 MFAs That Compute in Read-Only Mode
7.2.1 How an MFA Can Exploit the Structure of Its Host Mesh
7.2.2 Solo MFAs Scalably Recognize Non-Regular Languages
7.3 MFAs as Object-Transporting Robots
7.3.1 Reversing M’s Top-Row Pattern to Its Bottom Row
7.3.2 ⊕ Rotating M’s Top-Row Pattern to Its Bottom Row
7.3.3 Algorithms that Circumnavigate M’s “Walls”
Chapter 8 The Power of Cooperation: Teams of MFAs on a Mesh
8.1 Basics of MFA Teams
8.2 Strictly Coupled MFAs: Parallelism with No Added Power
8.3 Synchronized Computing: A 2-MFA Recognizes {a^k b^k}
8.4 Queued Computing: MFAs Proceed Through a Pipeline
8.4.1 The “Standard” Form of Pipelining
8.4.2 Streaming a Pipeline/Queue of Agents
8.5 Ushered Computing: Two MFAs Sweep a Mesh-Quadrant
8.6 Sentry-Enabled Computing: MFAs Identify Home Wedges
Part III Pillar E: ENCODING
Chapter 9 Countability and Uncountability: The Precursors of ENCODING
9.1 Encoding Functions and Proofs of Countability
9.2 Diagonalization: Proofs of Uncountability
9.3 Where Has (Un)Countability Led Us?
Chapter 10 Computability Theory
10.1 Introduction and History
10.1.1 Formalizing Mathematical Reasoning
10.1.2 Abstract Computational Models: the Church-Turing Thesis
10.1.3 Thinking About Thinking About Computation
10.2 Preliminaries
10.2.1 Computational Problems as Formal Languages
10.2.2 Functions and Partial Functions
10.2.3 Self-Referential Programs: Interpreters and Compilers
10.3 The Halting Problem: The “Oldest” Unsolvable Problem
10.3.1 The Halting Problem Is Semisolvable but Not Solvable
10.3.2 Why We Care About the Halting Problem—An Example
10.4 Mapping Reducibility
10.4.1 Basic Properties of m-Reducibility
10.4.2 The s-m-n Theorem: An Invaluable Source of Encodings
10.5 The Rice-Myhill-Shapiro Theorem
10.6 Complete—or “Hardest”—Semidecidable Problems
10.7 Some Important Limitations of Computability
Chapter 11 A Church-Turing Zoo of Computational Models
11.1 The Church-Turing Thesis and Universal Models
11.2 Universality in Simplified OTMs
11.2.1 An OTM with a One-Ended Worktape
11.2.2 An OTM with Two Stacks Instead of a Worktape
11.2.3 An OTM with a FIFO Queue Instead of a Worktape
11.2.4 An OTM with a “Paper” Worktape
11.2.5 ⊕ An OTM with Registers Instead of a Worktape
11.2.6 ⊕ A Mobile FA on a Semi-Infinite Mesh
11.3 Enhanced OTMs that Are No More Powerful than OTMs
11.3.1 An OTM Which Has Several Linear Worktapes
11.3.2 An OTM Having Multidimensional Worktapes
11.3.3 An OTM Having a “Random-Access” Worktape
11.4 ⊕ Models Outside the Classical Mold
11.4.1 Cellular Automata and Kindred Models
11.4.2 TMs as Volunteers; Simulation by Dovetailing
11.5 Learning from the Zoo
Chapter 12 Pairing Functions as Encoding Mechanisms
12.1 PFs as Storage Mappings for Extendible Arrays/Tables
12.1.1 Insights on PFs via the Cauchy-Cantor Diagonal PF
12.1.2 PFs for Extendible Fixed-Aspect-Ratio Arrays
12.1.3 The Issue of PF Compactness
12.1.4 ⊕⊕ Extendible Storage Mappings via Hashing
12.2 Pairing Functions and Volunteer Computing
12.2.1 Basic Questions About Additive PFs
12.2.2 ⊕ APFs that Have Desirable Computational Properties
Part IV Pillar N: NONDETERMINISM
Chapter 13 Nondeterminism as Unbounded Parallelism
13.1 Nondeterministic Online Automata
13.2 A Formal Use of Nondeterminism’s Implied Parallelism
13.3 An Overview of Nondeterminism in Computation Theory
Chapter 14 Nondeterministic Finite Automata
14.1 How Nondeterminism Impacts FA Behavior
14.1.1 NFAs Are No More Powerful than DFAs
14.1.2 Does the Subset Construction Waste DFA States?
14.2 An Application: the Kleene-Myhill Theorem
14.2.1 NFAs with Autonomous Moves
14.2.2 The Kleene-Myhill Theorem
Chapter 15 Nondeterminism as Unbounded Search
15.1 Introduction
15.2 Nondeterministic Turing Machines
15.2.1 The NTM Model
15.2.2 An Unbounded Search: an OTM Simulates an NTM
15.3 Unbounded Search as Guess-then-Verify
15.4 Unbounded Search as Guess-plus-Verify
15.4.1 Homomorphisms on Formal Languages
15.4.2 ⊕ Homomorphisms and Regular Languages
Chapter 16 Complexity Theory
16.1 Introduction
16.2 Time and Space Complexity
16.2.1 On Measuring Time Complexity
16.2.2 On Measuring Space Complexity
16.3 Reducibility, Hardness, and Completeness
16.3.1 A General Look at Resource-Bounded Computation
16.3.2 Efficient Mapping Reducibility
16.3.3 Hard Problems; Complete Problems
16.3.4 An NP-Complete Version of the Halting Problem
16.3.5 The Cook-Levin Theorem: The NP-Completeness of SAT
16.4 Nondeterminism and Space Complexity
16.4.1 Simulating Nondeterminism Space-Efficiently
16.4.2 Looking Beyond Savitch’s Theorem
Part V Pillar P: PRESENTATION/SPECIFICATION
Chapter 17 The Elements of Formal Language Theory
17.1 Early History of Computational Language Research
17.1.1 The Birth of Sophisticated Programming Languages
17.2 Elaborating on the Elements of Formal Languages
17.2.1 Language Generation via Formal Grammars
17.2.2 Closure Properties of Interest
17.2.3 Decision Properties of Interest
17.3 Finite Automata and Regular Languages
17.3.1 Mechanisms for Generating Regular Languages
17.3.2 Closure Properties of the Regular Languages
17.3.3 Decision Properties Concerning Regular Languages
17.4 Context-Free Languages: Their Grammars and Automata
17.4.1 Mechanisms for Generating the Context-Free Languages
17.4.2 Closure Properties of the Context-Free Languages
17.4.3 Decision Properties of the Context-Free Languages
Appendix A A Chapter-Long Text on Discrete Mathematics
A.1 Sets and Their Operations
A.2 Binary Relations
A.2.1 The Formal Notion of Binary Relation
A.2.2 Equivalence Relations
A.3 Functions
A.3.1 What Is a Function?
A.3.2 Special Categories of Functions
A.3.3 Finite Functions and Pigeonholes
A.4 Formal Languages
A.4.1 The Notion of Language in Computation Theory
A.4.2 Languages as Metaphors for Computational Problems
A.5 Graphs and Trees
A.5.1 Basic Definitions
A.5.2 Two Recurring Families of Graphs
A.6 Useful Quantitative Notions
A.6.1 Two Useful Arithmetic Operations
A.6.2 Asymptotics: Big-O, Big-Ω, and Big-Θ notation
Appendix B Selected Exercises, by Chapter
B.1 Exercises for Appendix A
B.2 Exercises for Chapter 2
B.3 Exercises for Chapter 3
B.4 Exercises for Chapter 4
B.5 Exercises for Chapter 5
B.6 Exercises for Chapter 6
B.7 Exercises for Chapter 7
B.8 Exercises for Chapter 8
B.9 Exercises for Chapter 9
B.10 Exercises for Chapter 10
B.11 Exercises for Chapter 11
B.12 Exercises for Chapter 12
B.13 Exercises for Chapters 13 and 14
B.14 Exercises for Chapter 15
B.15 Exercises for Chapter 16
B.16 Exercises for Chapter 17
Acronyms, Terms, and Notation
References
Index