Introduction to Formal Languages, Automata Theory and Computation by Kamala Krithivasan: A Book Review
If you are looking for a comprehensive and clear introduction to the basic models of computability, such as grammars, finite state automata, pushdown automata, Turing machines, decidability, complexity theory, and some recent trends and applications in DNA computing and membrane computing, you might want to check out the book Introduction to Formal Languages, Automata Theory and Computation by Kamala Krithivasan.
Kamala Krithivasan is a professor of computer science and engineering at IIT Madras, and has been teaching courses on automata theory and computation for over four decades. She has also authored several research papers and books on the subject, and has received many awards and honors for her contributions to the field.
The book is divided into 16 chapters, covering the theoretical concepts in a concise and rigorous manner, with an in-depth coverage of formal grammar and basic automata types. The book also examines the underlying theory and principles of computation and is highly suitable for undergraduate courses in computer science and information technology. An overview of the recent trends and applications in the field is introduced at the appropriate places to stimulate the interest of active learners.
The book is well-organized and well-written, with plenty of examples, exercises, diagrams, tables, and references. The book also provides solutions to selected exercises at the end of each chapter. The book is available in both print and digital formats, and can be accessed online for free from various sources[^1^] [^2^].
If you are interested in learning more about formal languages, automata theory and computation, or want to refresh your knowledge on the topic, you might want to give this book a try. It is a valuable resource for students, teachers, researchers, and practitioners alike.
One of the main features of the book is that it covers both the classical and the modern aspects of automata theory and computation. The book starts with the preliminaries of sets, relations, functions, logic, and proofs, and then introduces the concepts of grammars, languages, and automata. The book then explores the properties and limitations of different types of automata and grammars, such as regular, context-free, context-sensitive, and recursively enumerable. The book also discusses the notions of decidability, undecidability, reducibility, and completeness, and shows how they relate to various problems in computation.
The book then moves on to the topics of time and space complexity, and introduces the classes of P, NP, NP-complete, NP-hard, co-NP, PSPACE, L, NL, and NC. The book also explains the concepts of polynomial-time hierarchy, alternation, interactive proofs, probabilistic computation, parallel computation, and circuit complexity. The book also presents some examples of intractable problems and some techniques for coping with them.
The last part of the book deals with some recent trends and applications of automata theory and computation in emerging fields such as bioinformatics and nanotechnology. The book introduces the models of DNA computing and membrane computing, and shows how they can be used to solve some computational problems. The book also discusses some new models of computation such as quantum computing and cellular automata. 0efd9a6b88