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 ratingsLogic for Problem Solving, Revisited Rating: 5 out of 5 stars5/5Graph Theory Rating: 0 out of 5 stars0 ratingsData Structures II Essentials Rating: 0 out of 5 stars0 ratingsMCS-013: Discrete Mathematics Rating: 0 out of 5 stars0 ratingsDesign And Analysis Of Algorithm Rating: 0 out of 5 stars0 ratingsEssential Algorithms: A Practical Approach to Computer Algorithms Rating: 5 out of 5 stars5/5Beginning Data Structures Using C Rating: 4 out of 5 stars4/5Basic Abstract Algebra: For Graduate Students and Advanced Undergraduates Rating: 4 out of 5 stars4/5Counterexamples in Analysis Rating: 4 out of 5 stars4/5Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science Rating: 4 out of 5 stars4/5Introduction to Formal Languages Rating: 2 out of 5 stars2/5Theory of Automata Rating: 0 out of 5 stars0 ratingsA Concept of Limits Rating: 4 out of 5 stars4/5Introduction to Abstract Analysis Rating: 0 out of 5 stars0 ratingsBoolean Algebra Rating: 3 out of 5 stars3/5History of the Theory of Numbers, Volume II: Diophantine Analysis Rating: 0 out of 5 stars0 ratingsTopics in Quaternion Linear Algebra Rating: 5 out of 5 stars5/5Algorithms and Complexity Rating: 5 out of 5 stars5/5Fundamental Concepts of Mathematics Rating: 4 out of 5 stars4/5Complex Binary Number System: Algorithms and Circuits Rating: 0 out of 5 stars0 ratingsIntroduction to Graph Theory Rating: 4 out of 5 stars4/5Automated Theorem Proving: A Logical Basis Rating: 0 out of 5 stars0 ratingsHandbook of Mathematical Logic Rating: 4 out of 5 stars4/5Mathematical Logic Rating: 4 out of 5 stars4/5The Lambda Calculus: Its Syntax and Semantics Rating: 5 out of 5 stars5/5Logic, Automata, and Algorithms Rating: 0 out of 5 stars0 ratingsKronecker Products and Matrix Calculus with Applications Rating: 0 out of 5 stars0 ratingsTheories of Probability: An Examination of Foundations Rating: 5 out of 5 stars5/5
Computers For You
The Insider's Guide to Technical Writing Rating: 0 out of 5 stars0 ratingsMastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5CompTIA Security+ Get Certified Get Ahead: SY0-701 Study Guide Rating: 5 out of 5 stars5/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates 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/5Deep Search: How to Explore the Internet More Effectively Rating: 5 out of 5 stars5/5How to Create Cpn Numbers the Right way: A Step by Step Guide to Creating cpn Numbers Legally Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5CompTIA IT Fundamentals (ITF+) Study Guide: Exam FC0-U61 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 ratingsElon Musk Rating: 4 out of 5 stars4/5Procreate for Beginners: Introduction to Procreate for Drawing and Illustrating on the iPad Rating: 0 out of 5 stars0 ratingsRemote/WebCam Notarization : Basic Understanding Rating: 3 out of 5 stars3/5CompTIA Security+ Practice Questions Rating: 2 out of 5 stars2/5Network+ Study Guide & Practice Exams Rating: 4 out of 5 stars4/5Ultimate Guide to Mastering Command Blocks!: Minecraft Keys to Unlocking Secret Commands Rating: 5 out of 5 stars5/5Mindhacker: 60 Tips, Tricks, and Games to Take Your Mind to the Next Level Rating: 4 out of 5 stars4/5The Professional Voiceover Handbook: Voiceover training, #1 Rating: 5 out of 5 stars5/5Slenderman: Online Obsession, Mental Illness, and the Violent Crime of Two Midwestern Girls Rating: 4 out of 5 stars4/5The Invisible Rainbow: A History of Electricity and Life Rating: 4 out of 5 stars4/5Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Rating: 4 out of 5 stars4/5
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