Jump to ratings and reviews
Rate this book

Automata, Computability and Complexity: Theory and Applications

Rate this book
The theoretical underpinnings of computing form a standard part of almost every computer science curriculum. But the classic treatment of this material isolates it from the myriad ways in which the theory influences the design of modern hardware and software systems. The goal of this book is to change that. The book is organized into a core set of chapters (that cover the standard material suggested by the title), followed by a set of appendix chapters that highlight application areas including programming language design, compilers, software verification, networks, security, natural language processing, artificial intelligence, game playing, and computational biology. The core material includes discussions of finite state machines, Markov models, hidden Markov models (HMMs), regular expressions, context-free grammars, pushdown automata, Chomsky and Greibach normal forms, context-free parsing, pumping theorems for regular and context-free languages, closure theorems and decision procedures for regular and context-free languages, Turing machines, nondeterminism, decidability and undecidability, the Church-Turing thesis, reduction proofs, Post Correspondence problem, tiling problems, the undecidability of first-order logic, asymptotic dominance, time and space complexity, the Cook-Levin theorem, NP-completeness, Savitch's Theorem, time and space hierarchy theorems, randomized algorithms and heuristic search. Throughout the discussion of these topics there are pointers into the application chapters. So, for example, the chapter that describes reduction proofs of undecidability has a link to the security chapter, which shows a reduction proof of the undecidability of the safety of a simple protection framework.

1120 pages, Hardcover

First published September 28, 2007

24 people are currently reading
334 people want to read

About the author

Elaine A. Rich

1 book1 follower

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
21 (33%)
4 stars
29 (46%)
3 stars
8 (12%)
2 stars
1 (1%)
1 star
3 (4%)
Displaying 1 - 9 of 9 reviews
Profile Image for Riley Gavigan.
1 review
December 12, 2023
a very useful reference, particularly for turing machines, D, SD, -SD, and related topics in the second half of the book
Profile Image for Rod Hilton.
152 reviews3,116 followers
December 12, 2012
Elaine Rich's Automata, Computability, and Complexity book is, to me, the CLRS of automata theory. CLRS never goes terribly deep into it's algorithms, but it provides an extremely wide breadth of material backed by solid explanations and clear prose.

While the Sipser book probably remains my favorite book on Theory and Automata, Rich's book definitely covers more, and definitely covers it at a slower pace, making sure not to lose students. Sipser's book is excellent as long as you can follow along, but if something comes along that doesn't make sense to you, the book offers you no assistance. Rich, on the other hand, takes more time to explain things to make sure they are clear. As a result of this slower pace and wider variety of material, Rich's book is certainly larger and more intimidating.

I think Rich's book makes for a better desk reference than a tutorial (like CLRS), though I have to note that Rich's writing style is excellent and clear, so it doesn't make for a poor tutorial text at all. Rich covers lots of complexity-related topics that Sipser barely mentions as well, so this book makes a great reference for basic complexity theory.

One complaint is that it, like Sipser and most other Theory and Automata books, introduces FSM and PDA before Turing machines. I acknowledge that this is more or less the standard order for academica, but I strongly feel that introducing TMs and computability/noncomputability first helps frame an understanding of regular languages and context-free languages that makes them more approachable and interesting. I can't really fault this book for doing what everyone else does, but I felt I had to mention it.

All in all, this is an excellent, expertly-written desk reference for Automata/Theory, and I highly recommend it to anyone interested in CS theory.
Profile Image for Nick Luchsinger.
10 reviews6 followers
May 21, 2014
I'm completely biased, because I took an automata class from Elaine Rich and tutored for the class for a couple years as well, but I really enjoyed this book and found it to be pretty well-balanced between formal rigor and practical readability. I can't really compare to the leading automata/computability/complexity books because I haven't read them.
Profile Image for Tom Naessens.
4 reviews10 followers
June 11, 2013
Very good & readable book; lots of explanation which aren't too hard to understand or too trivial.
1 review2 followers
Read
July 5, 2017
i have to teach student from this book. I am a lecture. It is perscribed book in vtu syllabus .
Displaying 1 - 9 of 9 reviews

Can't find what you're looking for?

Get help and learn more about the design.