
Explore automata theory and its mathematical models—finite automata, pushdown, linear bounded, and Turing machines—alongside computability and complexity notions like decidable versus undecidable problems and time-space limits.
Explore how unsigned numbers are modeled with transition diagrams and regular expressions, covering integers, floating point forms, optional signs, decimal points, and exponential parts.
Convert a DFA to a regular expression using the state elimination method by removing intermediate states and updating transitions with star, union, and concatenation, considering starting and final states.
Study how a mealy machine, a type of finite state machine, outputs signals based on AB sequences, and learn its DFA representations, transition diagrams, tables, and six-tuple notation.
The aim of this course “Introduction to Automata Theory, Languages and Computation” is to give a detailed working explanation regarding each Mathematical model, its corresponding languages, and their provable equivalence. “Theory of Computation” has three major subdivisions namely
1) Automata Theory
2) Computability Theory
3) Complexity Theory
The automata theory deals with some Mathematical models that perform some operations automatically like programming machines. There are four main Mathematical models namely, Finite Automata(FA), Push Down Automata(PDA), Linear Bound Automata(LBA), and Turing Machine(TM). Each Mathematical model differs based on its memory units as FA has no external memory unit, PDA has stack as a memory unit, LBA has finite length tape as a memory unit and TM has infinite tape as a memory unit.
Based on the limitations in the memory unit each model solves a limited set of problems only. The set of problems solved by each model is grouped as languages accepted by the model. The problems solved by Finite Automata are called Regular Language and its corresponding language representation is called Regular Grammar. The language accepted by Push Down Automata is called Context Free Language, the language accepted by Linear Bound Automata is called Context Sensitive Language, and the language accepted by Turing Machine is called Un-Restricted language since Turing machines have unlimited memory and random access to the memory unit.
Turing machines can be equated to modern computers, it can solve any problem that is solvable by computers. Computability theory deals with verifying whether the problem is solvable or not and If it is solvable complexity theory deals with the algorithmic complexity of problems that are solvable by Turing Machine.
This course mainly deals with automata theory (Mathematical Models) and its languages.