Context-Sensitive and Turing Machines
What Is a Context-Sensitive Grammar (CSG)?
Context-Sensitive Grammars are more powerful than context-free grammars (CFGs). Their rules allow multiple symbols on the left-hand side, restricted by context.
For example: αAβ → αγβ (A transforms to γ only when surrounded by α and β).
A Context-Sensitive Grammar can generate more complex patterns than CFGs, and these patterns are recognized by Linear Bounded Automata (LBA). An LBA is like a Turing Machine but with limited memory (it can only use memory proportional to the input length)
Example of a Context-Sensitive Language:
L = { aⁿbⁿcⁿ | n ≥ 1 }
In this language, the number of a’s must match the number of b’s and c’s. A CFG can’t handle this, but a context-sensitive grammar can.
Turing Machines: The Ultimate Power
A Turing Machine (TM) is the most powerful model of computation. It can simulate any other machine (including PDAs and LBAs) and is the foundation of computation theory.
A Turing Machine consists of:
- An infinite tape (like memory) divided into cells
- A head that reads and writes on the tape
- A state register to keep track of the machine’s state
- A transition function that determines the machine’s next action (move left/right, write a symbol, change state)