Module 4 PDA - Turing
Module 4 PDA - Turing
06/23/2025 1
Hierarchy of Languages
Recursively Enumerable Language
(Language for Turing Machine)
Regular Language
(Language for Finite
Automata)
06/23/2025 2
Push Down Automata(PDA)
It is a Finite Automata with STACK
06/23/2025 6
Non-deterministic PDA Definition
It is defined by seven tuples:
M=(Q,Σ, ┌, ,q0,z0,F)
Where, Q Set of States
Σ Set of input
┌ Finite set of stack symbols
q0Initial State
z0 ϵ ┌ Stack Start Symbol
F ϵ Q Set of Final States
: Q X (Σ ᴜ {ϵ} ) X ┌ Set of Finite subsets of Q X ┌ *
06/23/2025 7
Transitions
• Transition Function accepts three parameters namely state, input symbol
and stack symbol and returns a new state after changing the top of the stack
δ(state, input symbol, stack symbol)=(next state, stack symbol)
06/23/2025 21
A Turing
Tape Machine
...... ......
Read-Write head
Control Unit
06/23/2025 22
The Tape
No boundaries -- infinite length
...... ......
Read-Write head
Read-Write head
1. Reads a symbol
2. Writes a symbol
3. Moves Left or Right
06/23/2025 24
Example:
Time 0
...... a b a c ......
Time 1
...... a b k c ......
1. Reads a
2. Writes k
06/23/2025
3. Moves Left 25
Time 1
...... a b k c ......
Time 2
...... a f k c ......
1. Reads b
2. Writes f
06/23/2025
3. Moves Right 26
The Input String
Input string Blank symbol
...... a b a c ......
head
q1 a b, L q2
Move Right
q1 a b, R q2
06/23/2025 28
Example:
Time 1
...... a b a c ......
q1
current state
q1 a b, R q2
06/23/2025 29
Time
...... a b1 a c ......
q1
Time 2
...... a b b c ......
q2
q1 a b, R q2
06/23/2025 30
Exampl
e: Time 1
...... a b a c ......
q1
Time 2
...... a b b c ......
q2
q1 a b, L q2
06/23/2025 31
Example:
Time 1
...... a b a c ......
q1
Time 2
...... a b a c g ......
q2
q1 g, R q2
06/23/2025 32
Standard Turing Machine Definition
It is defined by seven tuples:
M=(Q,Σ,,,q0,B,F)
Where, Q Set of States
Σ Set of inputs
Finite set of symbols called tape alphabets
q0Initial State
B ϵ Special Symbol called Blank Character
F ϵ Q Set of Final States
:Q X Q X X {L, R}
06/23/2025 33
Turing Machine:
Input Tape
alphabet alphabet
States
M (Q, , , , q0 , , F )
Transition Accept
function states
Initial blank
06/23/2025 state 34
Turing Machine Example 1 n n
Turing machine for the language {a b }
n 1
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
06/23/2025
x x, R 35
Basic Idea:
Match a’s with b’s:
Store String on Tape with head at its start
Repeat:
replace leftmost a with x
find leftmost b and replace it with y
Until there are no more a’s or b’s
q0
q0
06/23/2025 37
Time 1 x a b b
q1
a x, R
q0 q1
06/23/2025 38
Time 2 x a b b
q1
a a, R
a x, R
q0 q1
06/23/2025 39
a a, R
a x, R b y, L
q0 q1 q2
06/23/2025 40
Time 3 x a y b
q2
a a, R a a, L
a x, R b y, L
qq00 q1 q2
06/23/2025 41
Time 4 x a y b
𝑞0
a a, R a a, L
a x, R b y, L
q0 q1 q2
06/23/2025
x x, R 42
Time 5 x 𝑥 y b
𝑞1
a a, R a a, L
a x, R b y, L
q0 q1 q2
06/23/2025
x x, R 43
Time 6 x x y b
q1
y y, R
a a, R a a, L
a x, R b y, L
q0 q1 q2
06/23/2025
x x, R 44
Time 7 x x y 𝑦
𝑞2
y y, R
a a, R a a, L
a x, R b y, L
q0 q1 q2
06/23/2025
x x, R 45
Time 8 x x y y
q2
y y, R y y, L
a a, R a a, L
a x, R b y, L
q0 q1 q2
06/23/2025
x x, R 46
Time 9 x x y y
𝑞0
y y, R y y, L
a a, R a a, L
a x, R b y, L
q0 q1 q2
06/23/2025
x x, R 47
Time 10 x x y y
𝑞3
y y, R y y, L
a a, R a a, L
y y, R a x, R b y, L
q3 q0 q1 q2
06/23/2025
x x, R 48
Time 11 x x y y
q3
y y, R y y, L
y y, R a a, R a a, L
y y, R a x, R b y, L
q3 q0 q1 q2
06/23/2025
x x, R 49
Time 12 x x y y
𝑞4
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
06/23/2025
x x, R 50
Time 13 x x y y
q4
Halt & Accept
q4 y y, R y y, L
y y, R a a, R a a, L
, L
y y, R a x, R b y, L
q3 q0 q1 q2
06/23/2025
x x, R 51
TM Tuples:
Q={q0,q1,q2,q3,q4}
Σ={a, b}
Ꞅ={ , a, b, x, y}
q0= Initial State
= Black Character
F= q4-> Halting State/Accepting
State
ꝺ Transition Fucntion
06/23/2025 52
Transition Table:
Σ a b x y
Q
->q0 (q1,x,R) - - (q3,y,R) -
q3 - - - (q3,y,R) (q4,,L)
*q4 - - - - -
06/23/2025 53
Observation:
If we modify the
n n
machine for the language {a b }
06/23/2025 54
Turing Machine Example 2
Design a Turing machine for {a nb nc n }
the language n 1
06/23/2025 55
Basic Idea:
Match a’s with b’s and c’s:
Store String on Tape with head at its start
Repeat:
replace leftmost a with x
find leftmost b and replace it with y
find leftmost c and replace it with z
Until there are no more a’s or b’s or c’s
q0
q0
06/23/2025 57
Time 1 x a b b c c
q1
a x, R
q0 q1
06/23/2025 58
Time 2 x a b b c c
q1
a a, R
a x, R
q0 q1
06/23/2025 59
Time 3 x a y b c c
q2
a a, R
a x, R b y, R
q0 q1 q2
06/23/2025 60
Time 4 x a y b c c
q2
a a, R b b, R
a x, R b y, R
q0 q1 q2
06/23/2025 61
Time 5 x a y b z c
q3
a a, R b b, R
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025 62
Time 6 x a y b z c
q3
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025 63
Time 7 x a y b z c
q3
y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025 64
Time 8 x a y b z c
q3
a a, L
y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025 65
Time 9 x a y b z c
q0
a a, L
y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 66
Time 10 x x y b z c
q1
a a, L
y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 67
Time 11 x x y b z c
q1
a a, L
y y, R y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 68
Time 12 x x y y z c
q2
a a, L
y y, R y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 69
Time 13 x x y y z c
q2
a a, L
y y, R z z, R y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 70
Time 14 x x y y z z
q3
a a, L
y y, R z z, R y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 71
Time 15 x x y y z z
q3
z z, L
a a, L
y y, R z z, R y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 72
Time 16 x x y y z z
q3
z z, L
a a, L
y y, R z z, R y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 73
Time 17 x x y y z z
q3
z z, L
a a, L
y y, R z z, R y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 74
Time 18 x x y y z z
q0
z z, L
a a, L
y y, R z z, R y y, L
a a, R b b, R b b, L
a x, R b y, R c z, L q
q0 q1 q2 3
06/23/2025
x x, R 75
Time 19 x x y y z z
q4
z z, L
a a, L
y y, R z z, R y y, L
a a, R b b, R b b, L
y y, R a x, R b y, R c z, L q
q4 q0 q1 q2 3
06/23/2025
x x, R 76
Time 20 x x y y z z
q4
z z, L
a a, L
y y, R z z, R y y, L
y y, R a a, R b b, R b b, L
y y, R a x, R b y, R c z, L q
q4 q0 q1 q2 3
06/23/2025
x x, R 77
Time 21 x x y y z z
q4
z z, L
a a, L
z z, R y y, R z z, R y y, L
y y, R a a, R b b, R b b, L
y y, R a x, R b y, R c z, L q
q4 q0 q1 q2 3
06/23/2025
x x, R 78
Time 22 x x y y z z
q4
z z, L
a a, L
z z, R y y, R z z, R y y, L
y y, R a a, R b b, R b b, L
y y, R a x, R b y, R c z, L q
q4 q0 q1 q2 3
06/23/2025
x x, R 79
Time 23 x x y y z z
q5
06/23/2025
x x, R 80
TM Tuples:
Q={q0,q1,q2,q3,q4,q5}
Σ={a, b, c}
Ꞅ={ , a, b, c, x, y, z}
q0= Initial State
= Blank Character
F= q5-> Halting State/Accepting
State
ꝺ Transition Function
06/23/2025 81
Transition Table:
Σ a b c x y z
Q
q4 (q4,y,R) (q4,z,R)
(q4, ,L)
*q5 - - - - - - -
06/23/2025 82