01
Introduction to Theory of Computation
Chapter 1 • Beginner
50 min
Introduction to Theory of Computation
Theory of Computation studies what problems can be solved by computers and how efficiently.
Automata
Automaton is an abstract model of computation.
Types:
- Finite Automata (FA)
- Pushdown Automata (PDA)
- Turing Machine (TM)
Languages
Language is a set of strings over an alphabet.
Alphabet (Σ): Finite set of symbols
String: Sequence of symbols from alphabet
Language (L): Set of strings
Example:
- Alphabet: {0, 1}
- Language: {ε, 0, 1, 00, 01, 10, 11, ...}
Grammars
Grammar generates strings in a language.
Grammar G = (V, T, P, S):
- V: Variables (non-terminals)
- T: Terminals
- P: Production rules
- S: Start symbol
Chomsky Hierarchy
Type 0: Unrestricted Grammar
- Turing Machine
- Recursively enumerable languages
Type 1: Context-Sensitive Grammar
- Linear Bounded Automaton
- Context-sensitive languages
Type 2: Context-Free Grammar
- Pushdown Automaton
- Context-free languages
Type 3: Regular Grammar
- Finite Automaton
- Regular languages
GATE CS Weightage
Theory of Computation typically accounts for:
- 8-12 marks out of 100 in GATE CS
- Theoretical subject
- Requires understanding of automata and languages
Important Topics for GATE CS
- Finite Automata (High Priority)
- DFA, NFA
- Regular expressions
- Context-Free Grammars (High Priority)
- CFG, PDA
- Parsing
- Turing Machines (Medium Priority)
- Decidability
- Computability
- Regular Languages (High Priority)
- Closure properties
- Pumping lemma
- Context-Free Languages (High Priority)
- Closure properties
- Pumping lemma