Open In App

Automata Tutorial

Last Updated : 20 Aug, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Save
Share
Report
News Follow

Automata theory is a branch of the theory of computation. It deals with the study of abstract machines and their capacities for computation. An abstract machine is called the automata. It includes the design and analysis of automata, which are mathematical models that can perform computations on strings of symbols according to a set of rules.

Theory of computation is the branch of computer science that studies the nature and ranges of computation. It includes analysis and design of algorithms computation systems, formal languages, automata theory, compatibility theory, and complexity theory.

In this Automata Tutorial, you’ll learn all the basic to advanced topics like Regular languages and finite automata, Context free Grammar and Context-free language, turning machines, etc.

Recent Articles on Theory Of Computation

Automata – Introduction

  1. Introduction of Theory of Computation
  2. Chomsky Hierarchy
  3. Applications of various Automata

Regular Expression and Finite Automata

  1. Finite Automata Introduction
  2. Arden’s Theorem and Challenging Applications | Set 2
  3. L-graphs and what they represent
  4. Hypothesis (language regularity) and algorithm (L-graph to NFA)
  5. Regular Expressions,Regular Grammar and Regular Languages
  6. How to identify if a language is regular or not
  7. Arden’s Theorem
  8. Finite Automata from Regular Expressions
  9. Star Height of Regular Expression and Regular Language
  10. Generating regular expression from finite automata
  11. Designing Deterministic Finite Automata (Set 1)
  12. Designing Deterministic Finite Automata (Set 2)
  13. DFA for Strings not ending with “THE”
  14. DFA of a string with at least two 0’s and at least two 1’s
  15. DFA for accepting the language L = { anbm | n+m=even }
  16. DFA machines accepting odd number of 0’s or/and even number of 1’s
  17. DFA of a string in which 2nd symbol from RHS is ‘a’
  18. Union process in DFA
  19. Concatenation process in DFA
  20. DFA in LEX code which accepts even number of zeros and even number of ones.
  21. NFA to DFA Conversion
  22. Program to Implement NFA with epsilon move to DFA Conversion
  23. Minimization of DFA
  24. Reversal process in DFA
  25. Complementation process in DFA
  26. Kleene’s Theorem Part-1
  27. MEALY and MOORE Machines
  28. Difference between Mealy machine and Moore machine

>> Practice problems on finite automata
>> Practice problems on finite automata | Set 2
>> Quiz on Regular Languages and Finite Automata

CFG (Context Free Grammar)

  1. Relationship between grammar and language
  2. Simplifying Context Free Grammars
  3. Closure Properties of Context Free Languages(CFL)
  4. Union & Intersection of Regular languages with CFL
  5. Converting Context Free Grammar to Chomsky Normal Form
  6. Converting Context Free Grammar to Greibach Normal Form
  7. Pumping Lemma
  8. Check if the language is Context Free or Not
  9. Ambiguity in Context Free Grammar
  10. Operator grammar and precedence parser
  11. Context-sensitive Grammar (CSG) and Language (CSL)

PDA (Pushdown Automata)

  1. Pushdown Automata
  2. Pushdown Automata Acceptance by Final State
  3. Construct Pushdown Automata for given languages
  4. Construct Pushdown Automata for all length palindrome
  5. Detailed Study of PushDown Automata
  6. NPDA for accepting the language L = {an bm cn| m,n>=1}
  7. NPDA for accepting the language L = {an bn cm | m,n>=1}
  8. NPDA for accepting the language L = {anbn | n>=1}
  9. NPDA for accepting the language L = {am b(2m) | m>=1}
  10. NPDA for accepting the language L = {am bn cp dq| m+n=p+q ; m,n,p,q>=1}
  11. Construct Pushdown automata for L = {0n1m2m3n | m,n ? 0}
  12. Construct Pushdown automata for L = {0n1m2(n+m) | m,n ? 0}
  13. NPDA for accepting the language L = {ambnc(n+m) | m,n ? 1}
  14. NPDA for accepting the language L = {amb(n+m)cn| m,n ? 1}
  15. NPDA for accepting the language L = {a2mb3m | m ? 1}
  16. NPDA for accepting the language L = {amb(2m+1) | m ? 1}
  17. NPDA for accepting the language L = {aibjckdl | i==k or j==l,i>=1,j>=1}
  18. Construct Pushdown automata for L = {a(2*m)c(4*n)dnbm | m,n ? 0}
  19. Construct Pushdown automata for L = {0n1m2(n+m) | m,n ? 0}
  20. NPDA for L = {0i1j2k | i==j or j==k ; i , j , k >= 1}
  21. NPDA for accepting the language L = {anb(2n) | n>=1} U {anbn | n>=1}
  22. NPDA for the language L ={w?{a,b}*| w contains equal no. of a’s and b’s}

>> Quiz on Context Free Languages and Pushdown Automata

Turing Machine

  1. Turing Machine
  2. Turing Machine for addition
  3. Turing machine for subtraction | Set 1
  4. Turing machine for multiplication
  5. Turing machine for copying data
  6. Construct a Turing Machine for language L = {0n1n2n | n?1}
  7. Construct a Turing Machine for language L = {wwr | w ? {0, 1}}
  8. Construct a Turing Machine for language L = {ww | w ? {0,1}}
  9. Construct Turing machine for L = {anbma(n+m) | n,m?1}
  10. Construct a Turing machine for L = {aibjck | i*j = k; i, j, k ? 1}
  11. Turing machine for 1’s and 2’s complement
  12. Recursive and Recursive Enumerable Languages
  13. Turing Machine for subtraction | Set 2
  14. Halting Problem
  15. Theory of Computation | Applications of various Automata
  16. Turing Machine as Comparator

>> Quiz on Turing Machines and Recursively Enumerable Sets

Decidability

  1. Decidable and undecidable problems
  2. Decidability
  3. Undecidability and Reducibility
  4. NP-Completeness | Set 1 (Introduction)
  5. Proof that Hamiltonian Path is NP-Complete
  6. Proof that vertex cover is NP complete
  7. Computable and non-computable problems

>> Quiz on Undecidability

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



Similar Reads

Article Tags :
three90RightbarBannerImg