Objective
To provide basic understanding of theory of automata, formal languages, turing machines and computational complexity
Syllabus
- Introduction
- Set, relation, function, Proof techniques.
- Alphabets, language, regular expression.
- Finite Automata
- Deterministic Finite Automata.
- Non-Deterministic Finite Automata.
- Equivalence of regular language and finite automata.
- Regular language, properties of regular language.
- Pumping lemma for regular language.
- Decision algorithms for regular languages.
- Context free language
- Context free grammar.
- Derivative trees, simplification of context free grammar.
- Chomsky normal form.
- Push down automata.
- Equivalence of context free language and push down automata.
- Pumping lemma for context free language.
- Properties of context free language.
- Decision algorithms for context free language.
- Turing machine
- Definition of Turing machine, notation for Turing machine.
- Computing with Turing machine.
- Extensions of Turing machine.
- Unrestricted grammar.
- Recursive function theory.
- Undecidability
- The Church-Turing thesis.
- Halting Problem, Universal Turing machine.
- Undecidable problems about Turing machines, grammars.
- Properties of Recursive, Recursively enumerable languages.
- Computational Complexity
- Class P, Class NP, NP-complete problems.