Pearson New International Edition
Author: John E. Hopcroft,Rajeev Motwani,Jeffrey D. Ullman
Category: Computational complexity
This classic book on formal languages, automata theory, and computational complexity has been updated to present theoretical concepts in a concise and straightforward manner with the increase of hands-on, practical applications. This new edition comes with Gradiance, an online assessment tool developed for computer science. Please note, Gradiance is no longer available with this book, as we no longer support this product.
Author: Michael Sipser
Publisher: Cengage Learning
Now you can clearly present even the most complex computational theory topics to your students with Sipser's distinct, market-leading INTRODUCTION TO THE THEORY OF COMPUTATION, 3E. The number one choice for today's computational theory course, this highly anticipated revision retains the unmatched clarity and thorough coverage that make it a leading text for upper-level undergraduate and introductory graduate students. This edition continues author Michael Sipser's well-known, approachable style with timely revisions, additional exercises, and more memorable examples in key areas. A new first-of-its-kind theoretical treatment of deterministic context-free languages is ideal for a better understanding of parsing and LR(k) grammars. This edition's refined presentation ensures a trusted accuracy and clarity that make the challenging study of computational theory accessible and intuitive to students while maintaining the subject's rigor and formalism. Readers gain a solid understanding of the fundamental mathematical properties of computer hardware, software, and applications with a blend of practical and philosophical coverage and mathematical treatments, including advanced theorems and proofs. INTRODUCTION TO THE THEORY OF COMPUTATION, 3E's comprehensive coverage makes this an ideal ongoing reference tool for those studying theoretical computing. Important Notice: Media content referenced within the product description or the product text may not be available in the ebook version.
Author: Peter Linz
Publisher: Jones & Bartlett Publishers
Data Structures & Theory of Computation
Author: Ding-Zhu Du,Ker-I Ko
Publisher: John Wiley & Sons
Automata and natural language theory are topics lying at the heart of computer science. Both are linked to computational complexity and together, these disciplines help define the parameters of what constitutes a computer, the structure of programs, which problems are solvable by computers, and a range of other crucial aspects of the practice of computer science. In this important volume, two respected authors/editors in the field offer accessible, practice-oriented coverage of these issues with an emphasis on refining core problem solving skills.
Author: Dexter C. Kozen
These are my lecture notes from CS381/481: Automata and Computability Theory, a one-semester senior-level course I have taught at Cornell Uni versity for many years. I took this course myself in thc fall of 1974 as a first-year Ph.D. student at Cornell from Juris Hartmanis and have been in love with the subject ever sin,:e. The course is required for computer science majors at Cornell. It exists in two forms: CS481, an honors version; and CS381, a somewhat gentler paced version. The syllabus is roughly the same, but CS481 go es deeper into thc subject, covers more material, and is taught at a more abstract level. Students are encouraged to start off in one or the other, then switch within the first few weeks if they find the other version more suitaLle to their level of mathematical skill. The purpose of t.hc course is twofold: to introduce computer science students to the rieh heritage of models and abstractions that have arisen over the years; and to dew!c'p the capacity to form abstractions of their own and reason in terms of them.
Author: Shyamalendu Kandar
Publisher: Pearson Education India
Formal languages and automata theory is the study of abstract machines and how these can be used for solving problems. The book has a simple and exhaustive approach to topics like automata theory, formal languages and theory of computation. These descriptions are followed by numerous relevant examples related to the topic. A brief introductory chapter on compilers explaining its relation to theory of computation is also given.
Author: Rajeev Motwani,Prabhakar Raghavan
Publisher: Cambridge University Press
For many applications a randomized algorithm is either the simplest algorithm available, or the fastest, or both. This tutorial presents the basic concepts in the design and analysis of randomized algorithms. The first part of the book presents tools from probability theory and probabilistic analysis that are recurrent in algorithmic applications. Algorithmic examples are given to illustrate the use of each tool in a concrete setting. In the second part of the book, each of the seven chapters focuses on one important area of application of randomized algorithms: data structures; geometric algorithms; graph algorithms; number theory; enumeration; parallel algorithms; and on-line algorithms. A comprehensive and representative selection of the algorithms in these areas is also given. This book should prove invaluable as a reference for researchers and professional programmers, as well as for students.
Author: John C. Martin
Category: Computable functions
Introduction to Languages and the Theory of Computation helps students make the connection between the practice of computing and an understanding of the profound ideas that defines it. The book's organization and the author's ability to explain complex topics clearly make this introduction to the theory of computation an excellent resource for a broad range of upper level students. The author has learned through many years of teaching that the best way to present theoretical concepts is to take advantage of the precision and clarity of mathematical language. In a way that is accessible to students still learning this language, he presents the necessary mathematical tools gently and gradually which provides discussion and examples that make the language intelligible.
Automata, Languages and Computation
Author: K. L. P. Mishra,N. CHANDRASEKARAN
Publisher: PHI Learning Pvt. Ltd.
This Third Edition, in response to the enthusiastic reception given by academia and students to the previous edition, offers a cohesive presentation of all aspects of theoretical computer science, namely automata, formal languages, computability, and complexity. Besides, it includes coverage of mathematical preliminaries. NEW TO THIS EDITION • Expanded sections on pigeonhole principle and the principle of induction (both in Chapter 2) • A rigorous proof of Kleene’s theorem (Chapter 5) • Major changes in the chapter on Turing machines (TMs) – A new section on high-level description of TMs – Techniques for the construction of TMs – Multitape TM and nondeterministic TM • A new chapter (Chapter 10) on decidability and recursively enumerable languages • A new chapter (Chapter 12) on complexity theory and NP-complete problems • A section on quantum computation in Chapter 12. • KEY FEATURES • Objective-type questions in each chapter—with answers provided at the end of the book. • Eighty-three additional solved examples—added as Supplementary Examples in each chapter. • Detailed solutions at the end of the book to chapter-end exercises. The book is designed to meet the needs of the undergraduate and postgraduate students of computer science and engineering as well as those of the students offering courses in computer applications.
Fundamentals of Theoretical Computer Science
Author: Martin D. Davis,Elaine J. Weyuker
Publisher: Academic Press
Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science provides an introduction to the various aspects of theoretical computer science. Theoretical computer science is the mathematical study of models of computation. This text is composed of five parts encompassing 17 chapters, and begins with an introduction to the use of proofs in mathematics and the development of computability theory in the context of an extremely simple abstract programming language. The succeeding parts demonstrate the performance of abstract programming language using a macro expansion technique, along with presentations of the regular and context-free languages. Other parts deal with the aspects of logic that are important for computer science and the important theory of computational complexity, as well as the theory of NP-completeness. The closing part introduces the advanced recursion and polynomial-time computability theories, including the priority constructions for recursively enumerable Turing degrees. This book is intended primarily for undergraduate and graduate mathematics students.
Author: Mark V. Lawson
Publisher: CRC Press
Interest in finite automata theory continues to grow, not only because of its applications in computer science, but also because of more recent applications in mathematics, particularly group theory and symbolic dynamics. The subject itself lies on the boundaries of mathematics and computer science, and with a balanced approach that does justice to both aspects, this book provides a well-motivated introduction to the mathematical theory of finite automata. The first half of Finite Automata focuses on the computer science side of the theory and culminates in Kleene's Theorem, which the author proves in a variety of ways to suit both computer scientists and mathematicians. In the second half, the focus shifts to the mathematical side of the theory and constructing an algebraic approach to languages. Here the author proves two main results: Schützenberger's Theorem on star-free languages and the variety theorem of Eilenberg and Schützenberger. Accessible even to students with only a basic knowledge of discrete mathematics, this treatment develops the underlying algebra gently but rigorously, and nearly 200 exercises reinforce the concepts. Whether your students' interests lie in computer science or mathematics, the well organized and flexible presentation of Finite Automata provides a route to understanding that you can tailor to their particular tastes and abilities.
A Hands-On Introduction
Author: R. D. Tennent
Publisher: Cambridge University Press
An innovative hands-on introduction to techniques for specifying the behaviour of software components.
Author: Graham Hutton
Publisher: Cambridge University Press
Haskell is a purely functional language that allows programmers to rapidly develop clear, concise, and correct software. The language has grown in popularity in recent years, both in teaching and in industry. This book is based on the author's experience of teaching Haskell for more than twenty years. All concepts are explained from first principles and no programming experience is required, making this book accessible to a broad spectrum of readers. While Part I focuses on basic concepts, Part II introduces the reader to more advanced topics. This new edition has been extensively updated and expanded to include recent and more advanced features of Haskell, new examples and exercises, selected solutions, and freely downloadable lecture slides and example code. The presentation is clean and simple, while also being fully compliant with the latest version of the language, including recent changes concerning applicative, monadic, foldable, and traversable types.