Formal Languages And Automata Theory
By Ajit Singh
()
About this ebook
n the first few chapters, the book presents the necessary basic material for the study of automata theories. Examples of topics included are: regular languages and Kleene's Theorem; minimal automata and syntactic monoids; the relationship between context-free languages and pushdown automata; and Turing machines and decidability. This book facilitates students a more informal writing style while providing the most accessible coverage of automata theory, solid treatment on constructing proofs, many figures and diagrams to help convey ideas, and sidebars to highlight related material. Each chapter offers an abundance of exercises for hands-on learning.
Ajit Singh
Ajit Singh is equally interested in fiction and non-fiction and has written many books in English, Hindi, and Urdu. He has performed in Haryana, published his prose and verse in India and Pakistan, and participated in an international online poetry symposium organized by Bazm-e-Urdu, Qatar.He lives in a village, teaches science, and comes from a farming family. His father served as a major in the Parachute Regiment of the Indian Army.Ajit plays cricket, football, volleyball, basketball, badminton, and chess. He loves harmonium and flute, sings folk songs, and also enjoys gardening in his spare time. His nickname is "Badal," which means "cloud" in English.
Read more from Ajit Singh
5 G Technologies Rating: 5 out of 5 stars5/5Natural Language Processing Rating: 0 out of 5 stars0 ratingsNumpy Simply In Depth Rating: 5 out of 5 stars5/5Internet of Things & Wireless Sensor Network Rating: 0 out of 5 stars0 ratingsThe Internet of Things: System and Applications Rating: 0 out of 5 stars0 ratingsAgile & Scrum Methodologies Rating: 0 out of 5 stars0 ratings
Related to Formal Languages And Automata Theory
Related ebooks
Theory of Computation Rating: 0 out of 5 stars0 ratingsIntroduction to Formal Languages Rating: 2 out of 5 stars2/5Graph Theory Rating: 0 out of 5 stars0 ratingsData Structures II Essentials Rating: 0 out of 5 stars0 ratingsEssential Algorithms: A Practical Approach to Computer Algorithms Rating: 5 out of 5 stars5/5Design And Analysis Of Algorithm Rating: 0 out of 5 stars0 ratingsLogic for Problem Solving, Revisited Rating: 5 out of 5 stars5/5Beginning Data Structures Using C Rating: 4 out of 5 stars4/5Matrix Representations of Groups Rating: 0 out of 5 stars0 ratingsNonlinear Optimization Rating: 5 out of 5 stars5/5Basic Abstract Algebra: For Graduate Students and Advanced Undergraduates Rating: 4 out of 5 stars4/5Elementary Matrix Algebra Rating: 3 out of 5 stars3/5Distributed Algorithms Rating: 3 out of 5 stars3/5Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science Rating: 4 out of 5 stars4/5Theory of Automata Rating: 0 out of 5 stars0 ratingsGraph Theory Rating: 5 out of 5 stars5/5Kronecker Products and Matrix Calculus with Applications Rating: 0 out of 5 stars0 ratingsComputer Mathematics for Programmers Rating: 4 out of 5 stars4/5Boolean Algebra Rating: 3 out of 5 stars3/5Introduction to Graph Theory Rating: 4 out of 5 stars4/5First Course in Mathematical Logic Rating: 3 out of 5 stars3/5Introductory Discrete Mathematics Rating: 4 out of 5 stars4/5Set Theory and Logic Rating: 4 out of 5 stars4/5Fixed Point Theory and Graph Theory: Foundations and Integrative Approaches Rating: 5 out of 5 stars5/5History of the Theory of Numbers, Volume II: Diophantine Analysis Rating: 0 out of 5 stars0 ratingsAdvanced Trigonometry Rating: 2 out of 5 stars2/5Discrete Mathematics with Applications Rating: 3 out of 5 stars3/5The Green Book of Mathematical Problems Rating: 5 out of 5 stars5/5Boolean Algebra and Its Applications Rating: 4 out of 5 stars4/5
Computers For You
Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 5 out of 5 stars5/5Procreate for Beginners: Introduction to Procreate for Drawing and Illustrating on the iPad Rating: 0 out of 5 stars0 ratingsThe ChatGPT Millionaire Handbook: Make Money Online With the Power of AI Technology Rating: 0 out of 5 stars0 ratingsSQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5AWS Certified Cloud Practitioner All-in-One Exam Guide (Exam CLF-C01) Rating: 5 out of 5 stars5/5Quantum Computing For Dummies Rating: 0 out of 5 stars0 ratingsStorytelling with Data: Let's Practice! Rating: 4 out of 5 stars4/5Artificial Intelligence: The Complete Beginner’s Guide to the Future of A.I. Rating: 4 out of 5 stars4/5The Mega Box: The Ultimate Guide to the Best Free Resources on the Internet Rating: 4 out of 5 stars4/5CompTIA Security+ Get Certified Get Ahead: SY0-701 Study Guide Rating: 5 out of 5 stars5/5Deep Search: How to Explore the Internet More Effectively Rating: 5 out of 5 stars5/5101 Awesome Builds: Minecraft® Secrets from the World's Greatest Crafters Rating: 4 out of 5 stars4/5Ultimate Guide to Mastering Command Blocks!: Minecraft Keys to Unlocking Secret Commands Rating: 5 out of 5 stars5/5Tor and the Dark Art of Anonymity Rating: 5 out of 5 stars5/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Elon Musk Rating: 4 out of 5 stars4/5Master Builder Roblox: The Essential Guide Rating: 4 out of 5 stars4/5GarageBand Basics: The Complete Guide to GarageBand: Music Rating: 0 out of 5 stars0 ratingsPractical Lock Picking: A Physical Penetration Tester's Training Guide Rating: 5 out of 5 stars5/5CompTIA Security+ Practice Questions Rating: 2 out of 5 stars2/5AP® Computer Science Principles Crash Course Rating: 0 out of 5 stars0 ratingsLearning the Chess Openings Rating: 5 out of 5 stars5/5The Professional Voiceover Handbook: Voiceover training, #1 Rating: 5 out of 5 stars5/5CompTIA IT Fundamentals (ITF+) Study Guide: Exam FC0-U61 Rating: 0 out of 5 stars0 ratings
Reviews for Formal Languages And Automata Theory
0 ratings0 reviews
Book preview
Formal Languages And Automata Theory - Ajit Singh
Copyrighted Material
Formal Languages And Automata Theory
Copyright © 2019 by Ajit Singh, All Rights Reserved.
No part of this publication may be reproduced, stored in a retrieval system or transmitted, in any form or by any means� electronic, mechanical, photocopying, recording or otherwise� without prior written permission from the author, except for the inclusion of brief quotations in a review.
For information about this title or to order other books and/or electronic media, contact the publisher:
Ajit Singh
ajit_singh24@yahoo.com
http://www.ajitvoice.in
Published by Ajit Singh at Smashwords.
Library of Congress Control Number: (N/A)
ISBN: A/F
Cover and Interior design: Ajit Singh.
Smashwords Edition, License Notes
This ebook is licensed for your personal enjoyment only. This ebook may not be re-sold or given away to other people. If you would like to share this book with another person, please purchase an additional copy for each recipient. If you’re reading this book and did not purchase it, or it was not purchased for your use only, then please return to your favorite ebook retailer and purchase your own copy. Thank you for respecting the hard work of this author.
Preface
This book is the culmination of my fascination for the subject of computation and its applications. It has been designed for students of computer science at the graduate/postgraduate level and is logically conceived, self-contained, well-organised and user-friendly.
Expressing everything clearly, concisely and correctly requires a certain degree of formalization. I assume basic knowledge of discrete mathematics, only. In particular, it may be helpful if the reader has a basic understanding of what constitutes a proof of a mathematical assertion. All the remaining material is introduced in the text. Fundamental concepts are exemplified, too. I am strongly convinced that a solid compromise between formal correctness and intuitive ideas may help both the students and instructors to enjoy the wealth of insight this book is aiming to present.
Main emphasis is put on the interaction of theory and practice in informatics. Theory must deal with problems of practical importance and practical informatics needs a solid foundation to develop its full potential. Therefore, two thirds of the book are devoted to formal languages and automata theory.
Formal languages are indispensable for applied computer science, since one meets them everywhere. Thus, i cover grammars (formalizing the generation), automata (formalizing the acceptance) and their interaction for regular and context-free languages.
The remaining third formalizes the intuitive notion of algorithm by introducing partial recursive functions and Turing machines. We show the equivalence of these two models and prove the existence of a universal Turing machine. That is, there is one computing device that can perform every possible computation. Finally, i show that there are problems which cannot be solved at all by any computer. Here i start with the halting problem, continue with Post's correspondence problem, and apply the theory developed to obtain a rather complete picture concerning problems arising naturally in formal language theory.
The book contains an in-depth coverage of all the topics related to the theory of computation as mentioned in the syllabuses of B.E., M.C.A. and M.Sc. (Computer Science) of various universities. Sufficient amount of theoretical inputs supported by a number of illustrations are included for those who take deep interest in the subject. In the first few chapters, the book presents the necessary basic material for the study of automata theories. Examples of topics included are: regular languages and Kleene's Theorem; minimal automata and syntactic monoids; the relationship between context-free languages and pushdown automata; and Turing machines and decidability. This book facilitates students a more informal writing style while providing the most accessible coverage of automata theory, solid treatment on constructing proofs, many figures and diagrams to help convey ideas, and sidebars to highlight related material. Each chapter offers an abundance of exercises for hands-on learning.
Dedication
This is for you,
Mother & Father......
Acknowledgement
To my Mother and Father, it's impossible to thank you adequately for everything you've done, from loving me unconditionally to raising me in a stable household, where you instilled traditional values and taught me to celebrate and embrace life.
And to my brother Er Ranbir Singh thanks for all of the consistent support of growing up, and for your continued cooperation and encouragement.
A special thank you to my daughter Samiksha Singh, for showing me that anything is possible with faith, hard work and determination.
I would like to conclude the acknowledgement with the most important: I thank Prof. Dr. Bal Gangadhar Prasad, Ex HOD, Department of Mathematics, Patna University for his consistent support throughout the long writing times.
I did my best to produce an error-free book and to mention the source of every piece of information.
Contents
Mathematical Preliminaries: Set Functions and Relations:
Finite Automata and Regular Expressions
Basic Concepts of Finite State Systems
Deterministic and Non-Deterministic Finite Automata
Finite Automata with e-moves
Regular Expressions
Minimization of Finite Automata
Mealy and Moore Machines
Two-Way Finite Automata
Regular sets & Regular Grammars
Basic Definitions of Formal Languages and Grammars
Regular Sets and Regular Grammars
Closure Properties of Regular Sets
Pumping Lemma for Regular Sets
Decision Algorithm for Regular Sets
Minimization of Finite Automata
Context Free Grammars and Languages
Context Free Grammars and Languages
Derivation Trees
Simplification of Context Free Grammars
Normal Forms
Pumping Lemma for CFL
Closure properties of CFLs
Decision Algorithm for CFL
Push down Automata and Deterministic CFL
Informal Description
Definitions
Push-Down Automata and Context free Languages
Parsing and Push-Down Automata
Universal Turing Machines and Undecidability
Design and Techniques for Construction of Turing Machines
Multi-tape Turing Machine
Simulating one tape TM with multi-tape TM
Non-Deterministic Turing Machine
Church-Turing Thesis
Universal Turing Machine
Undecidability
Intractability
Complexity Classes P/NP/NP-Complete
Relationship between classes of languages
Undecidability of PCP
Halting Problem
Chapter 1 - Mathematical Preliminaries: Set Functions and Relations
Sets
A set is a collection of well defined objects. Usually the element of a set has common properties. e.g. all the student who enroll for a course theory of computation
make up a set.
Examples
The set of even positive integer less than 20 can be expressed by
E= {4,6,8,10,12,14,16,18}
Or
E= {x|x is even and 4
Finite and Infinite Sets
A set is finite if it contains finite number of elements. And infinite otherwise. The empty set has no element and is denoted by ɸ.
Cardinality of set
It is a number of element in a set. The cardinality of set E is
|E|=8.
Subset
A set A is subset of a set B if each element of A is also element of B and is denoted A ⊆ B.
Throughout this book, we will assume that you know the following mathematical concepts:
1. A set is a collection of well-defined objects. Examples are (i) the set of all Dutch Olympic Gold Medallists, (ii) the set of all pubs in Ottawa, and (iii) the set of all even natural numbers.
2. The set of natural numbers is N = {1, 2, 3, . . .}.
3. The set of integers is Z = {. . . , −3, −2, −1, 0, 1, 2, 3, . . .}.
4. The set of rational numbers is Q = {m/n : m ∈ Z, n ∈ Z, n 6= 0}.
5. The set of real numbers is denoted by R.
6. If A and B are sets, then A is a subset of B, written as A ⊆ B, if every element of A is also an element of B. For example, the set of even natural numbers is a subset of the set of all natural numbers. Every set A is a subset of itself, i.e., A ⊆ A. The empty set is a subset of every set A, i.e., ∅ ⊆ A.
7. If B is a set, then the power set P(B) of B is defined to be the set of all subsets of B:
P(B) = {A : A ⊆ B}.
Observe that ∅ ∈ P(B) and B ∈ P(B).
Set operations
1. Union
The union of two set has elements, the elements of one of the two sets and possibly both. Union is denoted by A U B.
2. Intersection
The intersection of two sets os the collection of all elements of the two sets which are common and is
denoted by A⋂B.
3. Differences
The difference of two sets A and B, denoted by A - B, is the set of all elements that are in the set A
but not in the set B.
4. Cartesian product of A and B is defined as
A × B = {(x, y) : x ∈ A and y ∈ B},
5. Complement of A is defined as