Synopses & Reviews
A well-written and accessible introduction to the most important features of formal languages and automata theory. It focuses on the key concepts, illustrating potentially intimidating material through diagrams and pictorial representations, and this edition includes new and expanded coverage of topics such as: reduction and simplification of material on Turing machines; complexity and O notation; propositional logic and first order predicate logic. Aimed primarily at computer scientists rather than mathematicians, algorithms and proofs are presented informally through examples, and there are numerous exercises (many with solutions) and an extensive glossary.
Review
From the reviews: "The book is accessible to students with limited mathematical training ... . The text is illustrated with nice pictures; there are many exercises and some of them have sketchy solutions grouped in a special section. The book also includes comments on further readings and a good index." (Cristian S. Calude, Zentralblatt MATH, Vol. 1041 (16), 2004)
Synopsis
1.1 Overview This chapter briefly describes: what this book is about what this book tries to do what this book tries not to do a useful feature of the book: the exercises. 1.2 What This Book Is About This book is about three key topics of computer science, namely computable lan guages, abstract machines, and logic. Computable languages are related to what are usually known as "formal lan guages." I avoid using the latter phrase here because later on in the book I distin guish between formal languages and computable languages. In fact, computable languages are a special type of formal languages that can be processed, in ways considered in this book, by computers, or rather abstract machines that represent computers. Abstract machines are formal computing devices that we use to investigate prop erties of real computing devices. The term that is sometimes used to describe abstract machines is automata, but that sounds too much like real machines, in particular the type of machines we call robots. The logic part of the book considers using different types of formal logic to represent things and reason about them. The logics we consider all play a very important role in computing. They are Boolean logic, propositional logic, and first order predicate logic (FOPL)."
Synopsis
Includes bibliographical references (p. 341-324) and index.
Table of Contents
* Introduction Part I - Languages and Machines * Elements of Formal Languages * Syntax, Semantics and Ambiguity * Regular Languages and Finite State Recognisers * Context-Free Languages and Pushdown Recognisers * Important Features of Regular and Context-Free Languages * Phrase Structure Languages and Turing Machines Part II - Machines and Computation * Finite State Transducers * Turing Machines as Computers * Turing's Thesis and the Universality of the Turing Machine * Computability, Solvability and the Halting Problem * Dimensions of Computation Part III - Computation and Logic * Boolean and Propositional Logic * First Order Predicate Logic * Logic and Computation * Solutions to Selected Exercises * Further Reading Index