FLAT NOTES and Solved Tricky Questions UNIT – I: Finite Automata Why Study Automata Theory? The Central Concepts of Automata Theory, Automation, Finite Automation, Transition Systems, Acceptance of a String by a Finite Automation, DFA, Design of DFAs, NFA, Design of NFA, Equivalence of DFA and NFA, Conversion of NFA into DFA, Finite Automata with E-Transition, Minimization of Finite Automata, Mealy and Moore Machines, Applications and Limitation of Finite Automata. UNIT – II: Regular Expressions Regular Expressions, Regular Sets, Identity Rules, Equivalence of two Regular Expressions, Manipulations of Regular Expressions, Finite Automata, and Regular Expressions, Inter Conversion, Equivalence between Finite Automata and Regular Expressions, Pumping Lemma, Closers Properties, Applications of Regular Expressions, Finite Automata and Regular Grammars, Regular Expressions and Regular Grammars. UNIT – III: Context Free Grammars Formal Languages, Grammars, Classification of Grammars, Chomsky Hierarchy Theorem, Context Free Grammar, Leftmost and Rightmost Derivations, Parse Trees, Ambiguous Grammars, Simplification of Context Free Grammars-Elimination of Useless Symbols, EProductions and Unit Productions, Normal Forms for Context Free Grammars-Chomsky Normal Form and Greibach Normal Form, Pumping Lemma, Closure Properties, Applications of Context Free Grammars. UNIT – IV: Pushdown Automata Pushdown Automata, Definition, Model, Graphical Notation, Instantaneous Description Language Acceptance of pushdown Automata, Design of Pushdown Automata, Deterministic and Non – Deterministic Pushdown Automata, Equivalence of Pushdown Automata and Context Free Grammars Conversion, Two Stack Pushdown Automata, Application of Pushdown Automata. UNIT – V: Turning Machine Turing Machine, Definition, Model, Representation of Turing Machines-Instantaneous Descriptions, Transition Tables and Transition Diagrams, Language of a Turing Machine, Design of Turing Machines, Techniques for Turing Machine Construction, Types of Turing Machines, Church’s Thesis, Universal Turing Machine, Restricted Turing Machine. UNIT – VI: Computability Decidable and Un-decidable Problems, Halting Problem of Turing Machines, Post’s Correspondence Problem, Modified Post’s Correspondence Problem, Classes of P and NP, NP-Hard and NP-Complete Problems.
UNIT – I: Finite Automata Why Study Automata Theory? The Central Concepts of Automata Theory, Automation, Finite Automation, Transition Systems, Acceptance of a String by a Finite Automation, DFA, Design of DFAs, NFA, Design of NFA, Equivalence of DFA and NFA, Conversion of NFA into DFA, Finite Automata with E-Transition, Minimization of Finite Automata, Mealy and Moore Machines, Applications and Limitation of Finite Automata. Why we have to study Formal Language and Automata Theory? In computer science,Every working process in universe can be represented by means of model.The model can be theoretical or mathematical.Mathematical model can be termed as solvable problem. Automata theory is the study of abstract mathematical model and problems which it is able to solve,which mainly deals with the logic of computation with respect to simple machines, referred to as automata. Finite automata, Pushdown automata,Linear bounded automata and turing machines are the model for study. A formal language is an abstraction of the general programming languages and it is necessary to interpret an abstract mathematical model or automata.Formal languages are used among others as the basis for defining the grammar of programming languages and formalized versions of subsets of natural languages in which the words of the language represent concepts that are associated with particular meanings or semantics. Automata theory and formal languages are the base of current compilers, regular expressions, parsers, web-scrapers, natural language processing (NLP), state machines based on markov chains etc. What is automation? Automation is the technology by which a process or procedure is performed with minimum human assistance. Example :-Automated hiring tools can read through applications at amazing speeds, searching for specific keywords to quickly identify the best candidates from thousands of applications. According to CareerBuilder, 71% of employers said automated applicant tracking software helped improve the candidate experience. Automated hiring and recruitment tools such as Mya, Smashfly, and BreezyHR use AI to significantly reduce the time to hire and accelerate the screening process. What is finite automata(Finite state machine)? A finite automaton (FA) is a simple idealized machine used to recognize patterns within input taken from some character set (or alphabet) C. The job of an FA is to accept or reject an input depending on whether the pattern defined by the FA occurs in the input.
or A Finite State Machine is a model of computation based on a hypothetical machine made of one or more states. Only one single state of this machine can be active at the same time. It means the machine has to transition from one state to another in to perform different actions. or A Finite State Machine is any device storing the state of something at a given time. The state will change based on inputs, providing the resulting output for the implemented changes. Finite State Machines come from a branch of Computer Science called “automata theory”. The family of data structure belonging to this domain also includes the Turing Machine. The important points here are the following: We have a fixed set of states that the machine can be in The machine can only be in one state at a time A sequence of inputs is sent to the machine Every state has a set of transitions and every transition is associated with an input and pointing to a state Representation of Finite state automata: Finite state machine can be represented in two ways. 1.state diagram 2.state transition table State diagram: FSM models the behaviour of a system by representing it in different states it can be in and the transition between each state. A state is simply a specific action. Example for action is waiting for button 1 is to be pressed, or rotating the dc motor to any direction etc. State diagram consists of a set of states (represented by circles) and transitions (represented by arrows connecting states). One state is designated as the initial state, via an arrow pointing to a state. And states can be designated as final states, via a doubled circle. State transition tables: A state transition table follows every state and input. Inputs are usually placed on the left, and separated from the outputs, which are on the right. How to design FSM: To design any FSM machine first we have to identify the set of states,state transition on each input and output. Example:Design a FSM for traffic Light States: Red, Yellow, Green
Transitions: After a given time, Red will change to Green, Green to Yellow, and Yellow to Red The light is initially red then after certain time it becomes green or yellow based on some input signal. Considering the input signal t, the transition diagram for traffic signal will be as shown in fig: Here the transition is based on two input parameter 1 and 0. If t = 1 then it jumps to the next state or continue in the same state for t = 0. Transition table for above example is Input input input state 0 1 red red green green green yello w yellow yello red w that is on input 0 state of red does not change on input 1 on Red goes to Green 0 on Green goes to Green o input 1 on Green goes to Yellow 0 on Yellow goes to Yellow 1 on Yellow goes to Red Components or elements of Finite State Automata(FSM): 1.input tape 2.reading head 3.finite control. Fig shows the diagramitical representation Finite state automata:-