Professional Documents
Culture Documents
a, b, c ....... , z
Cancel
2
1
3
Validate
Transfer
Pays
Cancels
S–
0
Start state
OR Start
S0
S+n
Final state
OR
Sn
S1
1
0
S0
S1 S0 S0 S2
S4
1
S2 0
S4 S3
0
a a b b
S0 S1 S2 S3 S4
S0 S4 a, b
S1 , S2 , S 3
a
q0 q1
q1 q2
q2 q2
Q, , , q0, F
q0 q0 q0 Q
a b a b a b a Input tape
Tape reader
reading the input
symbol
Finite control
q w
q , w
q,
0
Start
q0 q1
0
Finite Automata
q1
0
S2
0
S0 1
0
1 S1
1
S1 S2
S2
S1
S2
S2
S2
S 0 | 1011
1S 1 | 011
10 S 2 | 11
101 S 1 | 1
1011 S 1 |
S1 |
|
|
S0 S2 S1
S1 S2 S1
S2 S2 S1
S0
S2 S1
S0 S2
0
S1
1
S0 1
1
0 S2
q0 1 q1 1 q2 1 q3
1
q0 q1
q1 q2
q2 q3
q3 q1
q3
q0
q1
q2
q3
q1
q2
q3
S0
S1
S2
S0 S1 S2 S0
(2,5,8)
(2,5,8) (0,3,6,9)
S S2
(1 (1,4,7)
,4
(0,3,6,9) ,7
)
(2,5,8)
(1,4,7)
S0 S1
(2,5,8) (0,3,6,9)
(0,3,6,9)
(1,4,7)
From
start 3 6
go to state S0
3 6
from S0 to S0
36
S1
S0
S1
0
0
S S0
1 1
1
0
S0
S1 S2 1
S1
S2 0
S0 S1 S2
S2
S1 S2 S1 S0
0
q01 q1
q0 0
1 1 1 1
0
q0 q3 q2
0
q1
q2
q3
q0 q1 q3
q1 q0 q2
q2 q3 q1
q3 q2 q0
1 0
Start q0 0 q1 0 q2
q2
Start
0 1 0 0 1 1 0 0
q0 q1 q0 q1 q2 q0 q0 q1 q2
0 1 1
q0 q1 q2
0
q3 1 0
0,1 q3 Dead
state
b b
q0 a q1 a q2 a q3
S0
S1
S2
b
a a b
S0 S1 S2
b
a
Start C A T
q0 q1 q2 q3
H,A,R,I,O,T
C A T
Start
q0 H,R,I,O,T q1 q2 q3
C
C,H,A,R,I,O,T
C
H,A,R,I,O
1
0 0
Start 1
q0 q1 q2
a,b
q 1 , abbb q 2 , bbb
q 3 , bb
q4,b
q5 ,
q 1 , ababa q 2 , b ba
q 3 , ba
q4,b
q5 , a
q 1,
0 1
S0 S1
0
1
S2
S1 S0
S2
S1
S0
S1
S1
S0
S2
S2
S0 S1 S2
S1 S0 S1
S2
b b b
a a
q0 q1 q2
q3
a,b
q0 q1 q0
q1 q2 q1
q2 q3 q2
q3 q3 q3
S0 1 S1
0 1
1n 1
S0 S1
S0 S0 S1
S1 S1
S0 , 0 0 1 1 1 S 0 , 0111
S 0 , 111
S 1 , 11
S1 , 1
S1 ,
S1
q0 q1
a b
q0 q1 q2
q 0 , ab q 1, b
q0,
q0
q 0 , ab q 1, b
q2,
q2
1-9
q0 q1
0
0-9
a
a,b
q0 b q1 a,b q2
q0
q2
q2 q2
n
L b | n 0
0 1
q0 1 q1 0 q2
1
0 1
0
q0 1 q1 1 q2
q1 1 q1
0
0
0
b a
b
q0 a q1 q2 b q3
H,A,R,I,O,T
C
C A T
qO
0
q1 q2 q3
H, R, I, O, T C
C,H,A,R,I,O,T
H, A, R, I, O
q0 q1 q0 q0 q0 q0 q0 q0
q1 q1 q0 q2 q0 q0 q0 q0
q2 q1 q0 q0 q0 q0 q0 q3
q3 q3 q3 q3 q3 q3 q3 q3
a a
q0 q1 q2
b
b
q4
b q5
1 1
q0 0 q1 1 q2
0 0 0 0
1 1 1
q0 q1 q2 q3
1
q0
0q 0
01q 1
010q 1
0100q 0
01001q 2
010011q 3
0100110q 3
0
q0 q1
1 1 1 1
0
q3 q2
q0 0 q1 0 q2
1 1 1
q3 0
1 0
q4
0 1 1 1
1 0
1 0
0 q0 q1 q0 q1
q0 q1
0 0
q 0 q1 q 2 q3
q0
q1
q2
q3
q0
q0 q0 q1 q2 q3
q1 q2 q3 q0 q1
q2 q0 q1 q2 q3
q3 q2 q3 q0 q1
{3,7}
{0,4,8}
{1,5,9}
{3,7}
q0 {2,6} q1
{0,4,8}
{3,7}
{1,5,9}
{2,6}
0 1
1 0
q0 q1 q2
1
q0
q1
q2
q3
q0
0 2 2
1
q0 q1 q3
1
2 1
2 q2 1
1
0,1
q0 0 q1 0 q2 0 q3
q1
0 0
q0 q3
1 1
q2
0
a
a,b
q0 b q1 b q2
a b
q0 q1 q2
a a
0
1
1 0
0000 0001 0010 0011
0 1 1
0 1
0
1 0111,
0 1 0100 0101 0110 1011, a, b
0 1101
0
1
0 1 1
0
b a
q0 a q1
b
a
q2
q, a q, b
1, ab 1, abaab
a,b
a a,b
1 2 3
a,b
a
5 4
1, ab
1, abaab
0
1 0
1 0 1 0,1
q0 q1 q2 q3
q4 1
q5 q6 0,1
0
0,1 1
q0 1 q1 0 q2
1
0 1 2
q0 0, q1 1, q2
q0
q 0 or q 1
q1 q2
q1 q2
Q, , , q0, F
Q, , , q0, F
Q
q0
q0
a b c
Start q0 q1 q2
a
q0 q0 q1
q1 q1 q2
q2 q2
q0 | q 0 , abbcc
| q 0 , bbcc
| (q 0 , bbcc)
| q 1 , bbcc
| q 1 , bcc
| q 1 , cc
| q 1 , cc
| q 2 , cc
| q2, c
| q2,
q,
a b c
q0 q1 q2
q0 q 0 , q 1, q 2
q1 q 1, q 2 q1 q2
q1
q2 q2
qi
q, a - closure q, , a
q - closure q
0 1 2
q0 q1 q2
q0 q 0 , q 1, q 2
q1 q 1, q 2
q2 q2
q0
q2 q1 q2
(q 0 , 0) q0, ,0
- closure q 0 , 0
q 0 , q 1, q 2 , 0
q0, 0 q 1, 0 q2, 0
q0
q0 q 0 , q 1, q 2
(q 0 , 1) q0, ,1
q 0 , q 1, q 2 , 1
q0, 1 q 1, 1 q2, 1
q1
q1
(q 0 , 1) q 1, q 2
(q 1 , 0) q 1, ,0
- closure q 1 , 0
q 1, q 2 , 0
q 1, 0 q2, 0
(q 1 , 1) q 1, ,1
- closure q 1 , 1
q 1, q 2 , 1
q 1, 1 q2, 1
q1
q1
q 1, q 2
(q 2 , 0) q2, ,0
- closure q 2 , 0
q2
(q 2 , 1) q2, ,1
- closure q 2 , 1
q2
(q 2 , 1)
(q 0 , 2) q0, ,2
- closure q 0 , 2
q 0 , q 1, q 2 , 2
q0, 2 q 1, 2 q2, 2
q2
q2
q2
(q 1 , 2) q 1, ,2
- closure q 1 , 2
q 1, q 2 , 2
q 1, 2 q2, 2
q2
q2
(q 2 , 2) q2, ,2
- closure q 2 , 2
q2
q2
q2
q0, 0 q 0 , q 1, q 2
q0, 1 q 1, q 2
q0, 2 q2
q 1, 0
q 1, 1 q 1, q 2
q 1, 2 q2
q2, 0
q2, 1
q2, 2 q2
q0 q 0, q1, q 2 q1, q 2 q2
q1 q1, q 2 q2
q2 q2
0 1
0,1
q0 q1
0,1,2
1,2
q2
q0 q1 q2 q0
q1 q2 q2
a
q0 q1 q2
q0, q1 q2
q0 q0
q1 q 1, q 2
q2 q2
- closure - closure q 0 , a
- closure q0,a
- closure q 1
q 1, q 2
- closure - closure q 0 , b
- closure q0, b
q 1, - closure q 1, ,a
- closure - closure q 1 , a
- closure q 1, q 2 a
- closure q 1, q2,a
- closure
q 1, b - closure q 1, ,b
- closure - closure q 1 , b
- closure q 1, q 2 b
- closure q 1, b q2, b
- closure q2
- closure q 2
q2
- closure - closure q 2 , a
- closure q2 a
- closure
- closure - closure q 2 , b
- closure q2 b
- closure q 2
q2
a
q0 q1, q 2
q1 q2
q2 q2
q1 q2 b
q1 q2
a b
q2 q0 q1 q2
1
B
0 0
qA0 D
1
C
0
0
1
0, 1
A B
0,1
0 0
1
0 C D
[q 1 , q 2 , q 3 , ......... q i ]
q 1, a q2,a qi,a
q 1 , q 2 , ...... q k
q 1 , q 2 , ...... q k
q 1 , q 2 , ...... q k q 1 , q 2 , ...... q n
q 1 , q 2 , ...... q n
q 1 , q 2 , ...... q n
q0 q 0, q1 q0
q1 q2 q1
q2 q3 q3
q3
q0 q0 q1
q0 q0 q1
q0 q0
q0 q0
q0 q1
q0 q1 q0 q1
q0 q1 q2
q0 q1 q2
q0 q1 q2
q0 q1 q0 q1
q0 q1
q0 q1
q0 q1 q2
q0 q 0, q1 q0
q 0, q1 q 0 , q1 , q 2 q 0 , q1
q 0, q1 , q 2 q 0 , q1 , q 2 , q 3 q 0 , q1 , q 3
q0 q1 q2
q0 q1 q2 q3 q0 q1 q3
q0 q1 q2 q0 q1 q2
q0 q1 q2 q3
q0 q1 q2 q3
q0 q1 q2 q3
q0 q 0, q1 q0
q1 q2 q1
q2 q3 q3
q3 q2
q 0, q1 q 0, q1 , q 2 q 0, q1
q 0, q1 , q 2 q 0, q1 , q 2 q 3 q 0, q1 , q3
q 0, q1 , q3 q 0, q1 , q 2 q 0, q1 , q 2
q 0, q1 , q 2 q 3 q 0, q1 , q 2 q 3 q 0, q1 , q 2 q 3
F
0 0
[p] [p,q] [p,q,r]
1 1 1
1
Part I
1 0
[p,r,s] [p,q,s] [p,r]
0 0
0
[p,q,r,s]
0
q
1
[p,s] 1
0,1
0
r s 0,1
Part II
0 0,1 0,1
0
1
q0 q1 q2
1
q0 q0 q1
q1 {q 1 , q 2 } q1
q2 {q 2 } {q 1 , q 2 }
[q 0 ], 0 {q 0 }
[q 0
[q 0 ], 1 {q 1 }
[q 1
[q 1 ], 0 {q 1 , q 2 }
[q 1 , q 2
[q 1 ], 1 {q 1 } [q 1 ]
[q 2 ], 0 {q 2 }
[q 2 ]
[q 2 ], 1 {q 1 , q 2 }
[q 1 , q 2 ]
[q 1 , q 2 ]
[q 1 , q 2 ], 0 [q 1 ], 0 [q 2 ], 0
{q 1 , q 2 } {q 2 }
{q 1 , q 2 }
[q 1 , q 2 ]
[q 1 , q 2 ], 1 [q 1 ], 1 [q 2 ], 1
{q 1 } {q 1 , q 2 }
[q 1 , q 2 ]
[q 1 , q 2 ] q2
[q 0 ] [q 0 ] [q 1]
[q 1] [q 1, q 2 ] [q 1]
[q 2 ] [q 2 ] [q 1, q 2 ]
[q 1, q 2 ] [q 1, q 2 ] [q 1, q 2 ]
0 1
0
q0 1 q1 q2
0 Can be
1 eliminated
0,1
[q1,q2]
q0 q0
q0
q1
q1
q2 q1
q0 q0
q0
q1
q1
[q 1 , q 2 ]
0 1 0
1 0 1 q4
q0 q2 q3
0
0
q1
0 1 0
1 0 1 q4
q0 q2 q3
1 0 0
0, 1
0 1 1
q0 q1 q2 q3
1 0
0, 1
0 1 1
q0 q1 q2 q3
0
1 0
0 1
[p] [p,q] [p,r]
1
0
[p,q,r]
0,1
(P, 0) P, Q [P, Q]
(P, 1)
(Q, 0)
(Q, 1)
(R, 0)
(R, 1)
(S, 0)
(S, 1)
[P, Q], 0)
[P, Q], 1)
[P, Q, R], 0)
[P, Q, R), 1)
[P, Q, R, S], 0)
[P, Q, R, S), 1)
[R, Q], 0)
[R, Q), 1)
[R, Q, S], 0)
[R, Q, S), 1)
[R, S], 0)
[R, S), 1)
[Q, S], 0)
[Q, S), 1)
States/ 0 1
p {p, q} {q}
q {r} {r}
r – {r}
p
p
p q], 0
p q],
p q, r], 0
p q, r],1
q r], 0
q r],1
State
0 0
p [p,q] [p,q,r]
1
1
q
[q,r]
q {q 0 , q 1 }
q {q 1 }
q
q {q 0 , q 1 } q0 {q 0 , q1} {q1}
{q 0 , q 1 } q1 {q 0 , q1}
([q 0 , q 1 ], 0) [q 0 , q 1 ]
([q 0 , q 1 ], 1) [q 0 , q 1 ]
0,1
0
q0 [q0,q1]
[q 0 ] [q 0 ,q1 ] [q1 ]
1
[q 0 ,q1 ] [q 0 ,q1 ] [q 0 ,q1 ] 1
[q1 ] [q 0 ,q1 ] q1
b a
Start
q0 q1 q2
a
a
a
a a a
q 1, q 2
a
a b
A B A
B B A
b a
a
A B
0 1 2
q0 q1 q2
0
1
A B
C
0
1
1
A B
2
2
C
0
1 1
A B
2
2
q 1, q 2
q1
0
Start q0 q3 1 q4
1
q2
0
A B
1
0
Start
A B
1
1
C
0
C
B 1
0
1
A
E
0
D
(A, 0)
(A, 0)
(A, 1)
(A, 1)
(B, 0)
(B, 0)
(B, 1)
(C, 0)
(C, 0)
(C, 1)
(C, 1)
(D, 0)
(D, 1)
(D, 1)
(E, 0)
(E, 0)
(E, 1)
Q 01 , Q 02 Q 01
Q 02 Q – Q 01
QK
i
QK
i
a
b
b
Start b a
q0 q3 q4 q5
b
b a a
a a a
b
q1 q2 q7 a q6
b b
q0 q1 q0
q1 q0 q2
q2 q3 q1
q3 q3 q0
q4 q3 q5
q5 q6 q4
q6 q5 q6
q7 q6 q3
[q 0 , q 6 ] [q1 , q5 ] [q 0 , q 6 ]
[q1 , q5 ] [q 0 , q 6 ] [q 2 , q 4 ]
[q 2 , q 4 ] [q 3 ] [q1 , q5 ]
[q 3 ] [q 3 ] [q 0 , q 6 ]
[q 7 ] [q 0 , q 6 ] [q 3 ]
b b
[q0,q6] q3 q7
a
a a a
b
[q1,q5] [q2,q4]
b
1
Start 0
q0/1 q1/1
1
0
1
q2/0
0
0/0
Start 1/0
q0 q1
0/1
1/1
1/0
q2 0/0
0
0
q1/1
Start q0/0 1 0
1 q2/0
Current Next state
Output
state 0 1
q0 q1 q2 0
q1 q1 q2 1
q2 q1 q2 0
q 0 , q 1, q 2
Start 1 0 1
q0/C q1/C q2/C q3/A
q4/C 0 q5/B
0
0 0
Start 1 0 1
q0/C q1/C q2/C q3/A
1
1
q4/C 0 q5/B
1
0
0/C
0/C 1/A
q0 1/C 0/C q2
q1
1/C
0/B
q3
1/C
0/0 0/1
q0 1/1
q1
1/0
1/0 1/1
Start 0/1
q0 q1
0/0
q4/4 0
2 q2/2
q3/3
0
2
Start
q0/0 q1/1
1
0
2 0 2
1
2 1
q2/2 q3/3
1
0
0
1
q4/4
1/0
0/0
2/0
Start
q0 q1
1/1
0/3
2/2 2/1
0/1
1/4
2/3
q2 q3
1/2
0/2 0/4
1/3
q4
2/4
E
q1/E
E I,U
A E E
I I U
Start
q0/A q2/I q4/U
A
A I U
A U
O I
O
O
q3/O
A
O
A/A
I/I
Start E/E
q0 q1
A/A, E/E
O/O O/O U/U
U/U
I/U
0
1
Start
q0/0 q1/1
0 0
q2/2
1
1/ODD 0/ODD
0/EVEN
q0 q1
1/EVEN
0/Z
0/Z 0/Z
0/Y
q4 q5
1/Z
0
0 0
1 0 1
q0/Z qq
1/Z
1 q2/Z q3/X
1 1
1
0
q4/Z q5/Y
0/1
1/0
q1 q2
/1
1/1 1,1 0/1
0/
q4 0/0 q3
1/1
q1 q4
0
q3
q1/1 1 q2/0 q 2/1
q2
1 0,1 0,1
0 0
q2 q2
q2
0 1
q3 q3 q3 q4/1 q3/0 q 3/1 1
1011
Read from LSB
q2/1
0
1
q0/0 q1/1 0 1
1
q3/0
0 1 Output ()
Q
q0 q0 q1 0
q1 q2 q0 1
q2 q1 q2 2
0
1 0
q0/0 q1/1 q2/2
1 0
1
Input 0 Input 1
Q State O/P State O/P
q0 q0 0 q1 1
q1 q2 2 q0 0
q2 q1 1 q2 2
0/0
1/1 0/2
q0 q1 q2
1/0 1/1
0/2
b
b
q0/0 q1/1
a
a
Input a Input b
Q State O/P State O/P
q0 q0 0 q1 1
q1 q0 0 q1 1
a/0 b/1
b/1
q0 q1
a/0
a b b a
q0 q0 q1 q1 q0
a b b
q0 q1 q1 q1 q0
0 0
q1/0 q2/0
1
0 1
q3/1
0/0
0/0
q1 q2
1/0
0/0 1/1
q3
1/1
0
1
q0/0 q1/1
0 1 1
0
q3/0 1 q2/0
q q, 0))
q0 q 0 , 0))
q
(q 0 , 0)
q0 q 0 ,1))
q
q0
0/1
q0 1/1 q1
0/0
q3 1/0 q2
0/0
0/A 0/B
1/B
q0 q1
1/A
q0 A
= [q0, A]
I/P 0 1 Output
State
[q0 , A] [q0 , A] [q1 , B] A
[q0 , B] [q0 , A] [q1 , B] B
[q1 , A] [q1 , B] [q0 , A] A
[q1 , B] [q1 , B] [q0 , A] B
0
1 0
[q0,A]/A [q1,B]/B
1
0 1 1 0
[q0,B]/B [q1,A]/A
q1 0/Y
0/N
q0 1/N 0/N
1/N
q2
1/Y
I/P 0 1 Output
State
[q0 , N] [q1 , N] [q2 , N] N
0 1 Output
State
[q0 , N] [q1 , N] [q2 , N] N
[q0 , Y] [q1 , N] [q2 , N] Y
[q1 , N] [q1 , Y] [q2 , N] N
[q1 , Y] [q1 , Y] [q2 , N] Y
[q2 , N] [q1 , N] [q2 , Y] N
[q2 , Y] [q1 , N] [q2 , Y] Y
0/1
q1 1/0 q2
0/1 0,1/1
q1/1 1 q2/0
1
0 0,1
q3/0 q'2 /1
1
0 0,1
q4/1
q3/1
1
q 0 , 0) ( (q 0 , 0)) (q 1 )
q 0 , 1) ( (q 0 , 1)) (q 2 )
q 1 , 0) ( (q 1 , 0)) (q 3 )
q 1 , 1) ( (q 1 , 1)) (q 2 )
q 2 , 0) ( (q 2 , 0)) (q 2 )
q 2 , 1) ( (q 2 , 1)) (q 1 )
q 3 , 0) ( (q 3 , 0)) (q 0 )
q 3 , 1) ( (q 3 , 1)) (q 3 )
q0 q1 q2
q1 q3 q2
q2 q2 q1
q3 q0 q3
0/1
q1
0/0 0/1
q0 q3
1/0 1/1
1/1
q2 1/1
0/1
a/0
b/0 a/1
s0 s1
b/1
S0 S0
S1 S1 S1
b
a
S0/0 S1/0
b
b a a
S0/1 S1/1
b
a
S0 S1
b/1
[S0, 0] / 0 [S1, 0] / 0
b a
b
a
[S0, 1] / 1 [S1, 1] / 1 a
b
Vending Open
Coin Coins Release
machine
sensor 10 mechanism
FSM
or
5
10
q0 5 q1 5 q2 5 q3
10
l l o t
allot
a o n e
alone
n t ant
i m a l
animal
a t bat
b
d
bad
g
bag
, ,
TM
L1 L2
L1 L2
L*1
L+ L
R a
L+
2 3
L L L L L L
b
b c
L1 L2
L1
L2
L1 L2
L1
L1
L2
a a a
3 rd 2nd 1st
a b*
L
L
L L
L1 L L1 L
L L
L1 {b 2 , b 5 , b 8 , b 11 , b 14 . . .}
L1 {b 2 , b 5 , b 8 , b 11 , ...}
L2 {a 2n 1| n 0}
L2 {a 2n 1
| n 0}
a (aa)
0* (0* 10* 1) * 0*
(b * a b * a b*)
a *(bbb)* a *
00 (0 1)*
1 (0 1)* 00
b * (aaa)* b *
(x y) yx (x y) x y
yy (x y)
b ab ab
(a c) b
(a b)
(a ba ba )
(a + b) (ab ba bb)
a b a b a n bn
a b a n bn
a n bn
R R R
R R
R
R
(R R
RR R
(P Q) (P Q ) (P Q )
R* ( R) R) R * R*
(R ) R
R R
(PQ) P P (QP)
R R R R R
QP
QP
Q QP P
Q( P P)
QP R R R
QP
QP
Q QP RP 2
Q QP (Q RP) P 2
Q QP QP 2 RP 3
Q QP QP 2 .... QP i RP i 1
Q( P P2 .... P i ) RP i 1
Q( P P2 .... Pi ) RP i 1
Q( P P2 ... Pi RP i 1
P
QP RP i 1
RP i 1
RP i 1
QP *
QP
(1 00 * 1) (1 00 * 1) (0 10 * 1)* (0 10 * 1) 0 * 1 (0 10 * 1)*
R* R where R 0 10 * 1
0 * 1* * 0 1 *
r s r t
b
b
P1
P1 P1
P1 P1 P1 P1
P1
P2 P3 (011)
P2 P3
(P2 P3 ) (P Q ) (P Q)
1 (011) (1 (011) )
(rs r) r r (sr r)
r1 (rs r) r
r2 r (sr r)
(rs r) r r (sr + r)
s (rs s) r rr s (rr s)
r1 s(rs s) r
r2 rr s (rr s)
s (rs s) r rr s (rr s)
(r s) r s
r1 (r s)
r2 r s
(r s) r s
L
L
L L
L
L L L
L
*
S (S* )*
r1 r1 r1 r 2 r 2 r1
r1 r1 r1 r1 + (r 2 r 3 ) (r1 r 2 ) (r1 r 3 )
r1 a, r2 b, r3 ab
r1
r1
r1 r
r2 r
r1 r
r
r1 (r2 r 3 )
(r1 r2 (r1 r 3
(PQ) * P P (QP) *
a* b b b a* = a* b b b a* *
P P P P
Q Q
RE to FA
conversion
Start a
q0 q0 q1 q0
q2 M2 f2
r r1 r2 r1 r2
Start
q1 M1 f1 q2 M2 f2
r r1 r2
r r1
Start
q0 q1 M1 f1 f0
q2 a q3
Start a
q0 q1 q6 q7 q8
b
q4 b q5
q9
b
q10
q0 q 1, q 2 , q 4 , q7
A, a q 1, q 2 , q 4 , q7 , a
q 3, q8
q 1, q 2 , q 3 , q 4 , q 6 , q7 , q 8
A, a
A, b q 1, q 2 , q 4 , q7 , b
q5 q 1, q 2 , q 4 , q5 q 6 q7
A, a
B, a q 1, q 2 , q 3 , q 4 , q 6 , q7 , q 8 , a
q 3,q8
B, a
B, b q 1, q 2 , q 3 , q 4 , q 6 , q7 , q 8 b
q5 , q 9
q 1, q 2 , q 4 , q5 , q 6 , q7 , q 9
B, b
C, a q 1, q 2 , q 4 , q5 , q 6 , q7 , , a
q 3,q8
C, a
c, b q 1, q 2 , q 4 , q5 , q 6 , q7 b
q5
C, b
D, a q 1, q 2 , q 4 , q5 , q 6 , q7 q 9 a
q 3,q8
D, a
D, b q 1, q 2 , q 4 , q5 , q 6 , q7 q 9 b
q 5 , q 10
q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , q 10
D, b
E, a q 1 , q 2 , q 4 , q 5 , q 6 , q 7 q 10 a
q 3,q8
E, a
E, b q 1 , q 2 , q 4 , q 5 , q 6 , q 7 q 10 b
q5
E, b
I/P a b
State
A B C
B B D
C B C
D B E
E B C
b
C
b
b a
b
a b
A B D E
a
a a
b
a b
A B D E
a
b
a a
P Q P
q0 q1 q2 q3 q4 q5 q6 q7 q8
q9
q0
q2 P q3
q0 q1 q6 q7
q4 Q q5
P
q0
q2 R q3 S q4
q0 q1 q7 q8 q9 R q10 S q11
q5 q6
R
q0 R q1 S q2
q0 RR*S
q1
R
q0 R q1 S q2
R
q0
q0 R q1 R
q2 S
10 (0 11) 0* 1
10+(0+11)01
q0 qf
10
q0 qf
(0
+1
1)
0
1
q1
0
1
q0 qf
(0+11)
01
q2
q1
1 0
q0 qf
(0+11)
1
q2
1
q0 q1
0
1
0 q2 qf
1 1
q3
q0 q3 { q1, q2 }
q1 qf
q2 q3
q3 q3 qf
qf
[q0 ] [q3 ] [q1, q2
[q1] [q f ]
[q ] [q ]
[q ] [q ] [q f ]
[q1, q2 [q f ] [q3 ]
[q f ]
q7 q8 2 q9 q10
0 1 2
0 1 2
q0 q1 q2 q3
0
q0
1
2
0
0, 1
q0 0 q1 1 q2 0 q3
1
1
q4 0 q5
0
1
1
q0 q1
1
q2 1 q3 0 q4 q5
1
0
0
q1/1
Start q0/0 1 0
1 q2/0
Current Next state
Output
state 0 1
q0 q1 q2 0
q1 q1 q2 1
q2 q1 q2 0
q 0 , q 1, q 2
0/1
q0
1/0
Mealy machine
01 [((10)* + 111)* + 0]* 1
q0 qf
((10)* + 111)
0 1 1
q0 q1 q2 qf
0 1 1
q2 q1 q2 qf
0
0 1
1
(1+ 10)
1
q0 q1
1 0 + 01
q2 0 q3
1 1
1
q0 q1 q2
0
1
0 0
0
q3 q4 q5
1
q0 1(01+10)* qf
q0 1(01+10)*+0(11+10)* qf 0(11+10)*
qf
0
q0 1 q1 q2
1
0 1 0
1
q5 q4 q3
1,0
(0 1) * 1 (0 1)
0
q2 q3
q0 q1 q6 q7 q8
1 1
q4 q5
q9
q10
0 1
q11
(q 0 ) {q 0 }
(q 1 ) {q 1 , q 2 , q 4 }
(q 2 ) {q 2 }
(q 3 ) {q 3 , q 6 , q 1 , q 2 , q 4 , q 7 , q 8 }
(q 4 ) {q 4 }
(q 5 ) {q 5 , q 6 , q 1 , q 2 , q 4 , q 7 , q 8 }
(q 6 ) {q 6 , q 7 , q 8 , q 1 , q 2 , q 4 }
(q 7 ) {q 7 , q 8 }
(q 8 ) {q 8 }
(q 9 ) {q 9 }
(q 10 ) {q 10 }
(q 11 ) {q 11 }
1
0,1
q0 0 q1 0 q2 0 q3
q1
0 0
q0 q3
1 1
q2
0
a b q15 a q16
q17 b
q1 q2 q3 q4
b a q b a
q5 q6 q7 q8 18 q19 q20 q21
(ab) *
a
q0 q1
a * b*
q0
(ab) * a * b*
(a b) * (a b) * (a b) *
(a b) * (a b) * (a b) *
(0+1)*(00+11+10)
q0 qf
q0 (0+1)* q1 (00+11+10) qf
0,1
q0 1 q1 1,0 qf
0 0
q2
q0 1(01+10)* + 0(11+10)* qf
1 (01+10)*
q0
qf
0 (11+10)*
0 q2
q0 1 q1 1
0
0
1 1
q5 q4 q3
1,0
DFA to RE
conversion
q0 a q1 a q2
a aaa
q0 aa q2 q0
aaa
2
0 0
q0 q1 q2
1 1
02 0
q0 q2
1 21
0
0 1
0,1
q1 1 q2 0 q3 1 q4
q0
q5
0 1
0,1
q0 q1 1 q2 0 q3 1 q4
q5
q4
0 1
q0 q1 1 q2 0 q3
q5
q3
0 1
q0 q1 1 q2
00
+0
q5
q2
0 + 11*00
q0 q1
+ 11*( + 0)
q5
q1
1 1 0,1
q0 0 q1 0 q2 0 q3
1
1 1 0,1
q0 0 q1 0 q2 0 q3
1 1
q0 0 q1 0 q2
1 + 01 1
q0 0 q1 0 q2
1 + 01 + 001
q0 0 q1 0 q2
q0 1 q1 1 q2 0 q3
0 1
q0 1 q1 1 q2 0 q3
0 1
[0 (10) 1 ]
q1
q2 q 3 q4 qn qj
ji qj qi
qi
qi ji qj
qi
qi ji qj
a b
Start b q2 a q3
q1
q1 q1
q1 q1 q1
q2 q1 b q2 b
q1
q1 q1
q1 q1
q1
q1 *
q1
q1 q2
q2 q1 b q2 b
q2 q2
q2
q2
R
q2 b
q2
q2 *b b
Start q1
1
1
0 q2
1
q3 0
q1 q1 q3
q2 q 21 q3 1 q1 1
q3 q2
q1
q2 q2 q2 q1
q2 q2 q1
q2 q1 P
q2 q1
q1
q1 q1 q3
q1 q2
q1 q1
q1 q1
q1
q1 0 1 1 01 * 00 *
q1
q1 0,1
1
q0
0
q2 0,1
q0
q2 q2 q2 1 q0
q0 q2
q2 q2
q2 q2
q2 q2
a,b
Start q0 q1
a,b
q0 q1 q1 b
q1 q0
q0
q0 q1
q0
q1 b q1
q1 q1
q1
q1 b b *
0 1
1
q0 q1
0
0 0
q0
q0 q00 q20 q30 q3 q2
1
q1 q 01 q 11 q 31
1
q2 q 10
q3 q 21
q2
q3 q 1 01
q1 q 01 q 11 (q 1 01) 1
q1 q 01 q 11 q 1 011
q1 q 1 (1 011) q0 1
R R P Q
q1 q 0 1 (1 011) R Q RP R QP
q0
q0 q00 q20 q30
q00 (q 1 0) 0 (q 1 01)0
q0 q00 q 1 (00 010)
q00 q 0 1 (1 011) (00 010)
q0 q 0 (0 1 (1 011) (00 010))
q0
q3 q 1 01
q 0 1 (1 011) 01
q3 (0 1(1 011) (00 010)) 1 (1 011) 01
q3 q3
q3 q1 q2
1 1
q2 1 q 3
q1
q1
q1 = q1 (01 + 10) +
R R P Q
q q 21 q
q 1 01 q
q
q R R
1 0
0 1
0
A B C
1
A = A 1 + B11 +
RP Q
B11+ )1 *
(B 11 )
B = B ( 0 + 111* 0 + 10 ) + 1* 0
R P Q
1 0,1
q1 0 q2
q1 q1
q2 q1 q2
q1 = q1, 1 +
R R P Q
q1 QP
q1
q2 = 1* 0 + q2 (0+ 1)
R Q R P
q2
q q
2
0
q1
1
q0 0
1
q2
0,1
q0 q1 q2
q1 q 0 +q 1
q2 q q0
q0 q1 q0 q1
q0 q1 q0 q0 q1 q1
+q 1 q0
R Q R P
q0 [ +q 1
q1 q0 q1
q1 +q 1 q1
(1(0 +1)) * q1 q1
R Q R P
q1 (1(0 +1)) *
q0
q0 +q 1
q1
q 1(0 +1)) *
q 0 q1
i 0
v i
M Q, , , q 0 , F
1, 2, 3,.... m , m n
q0 q1 q2 q 3 qi qi
aj+1....ak
ai.....aj ak+1....am
q0 qj = qk qm
qm q1 q2 q 3 qm 1, 2 , ... j k 1 k 2 ...... m
q0 qm qj
j 1 .... k
q j q k+1 qm
q k q k+1 qm
qm
2
L bi
2
b1
2
b2
2
bn n2
n2
|v| n
uvi w
n2
1 | v | n
n2 1 | uvw | n n2
n2 1 |uvw| n2 n n 1
2
n2 1 |uvw| n 1
2
n2 |uvw| n 1
2
bi
0 2n
2n uvi w
uvi w
p 1
0n 1n 1
xy ny
L
a mbn m n
a mbn m n
i j
z = 0 0 0 1 1 1
u v w
w an b
an b an b
2n 2 n
x iz L
xy i z
ak
am b an b
n k
{a, b} *
xy i z
xz L
y
xy
xy i z
0m 1n 0m n
m n m n
0 1 0
x y z
xy i z
0m 1n 1n 0m n
0 m 1 2n 0 m n L
xy
m–k k n–p p m+n
w = 0 0 1 1 0
x y z
0m k (0 k 1 n p) (0 k 1 n p) 1p 0m n
0m k 0 2k 1 2n 2p 1p 0m n
0m k 1 2n p 0m n L
xy i z L
ab ab ba ba
n n n n
a b ab ba ba
u 1 w
L1 L2 L1 L2
L1 L2 L1 L (R 1 )
L2 L (R 2 ) L1 L2 L (R 1 R2 ) L1 L2
L1
M (Q, , , q 0 , F) L1
M' (Q, , , q 0 , Q F) M
M'
M'
L1 M'
L1 L2 L1 L2
L1 M1
L1 (Q 1 , , 1, q 1 , F1 ) L2
M2 (Q 2 , , 2 , q 2 , F2 )
L1 L2
M (Q, , , q, F)
Q1 Q2
F1 F2 M1 M2
L1 L2
L1 L2
L1 L2
L 1 and L 2 L1 L2
L1 L2 L1 L2
L1 M (Q, q 0 , F)
L1 L1 M (Q, , , q 0 , Q F)
M
L 1 and L 2
L 1 L(R 1 ) L2 L (R 2 ) L1 L2
L (R 1 + R 2 ) . L1 L2 L1 L2
wR L (w R ) (L(w)) R
w wR
( )R ( )R
L(w R )
w1 w2
(w 1 ) R (w) R
w1 w2
w1
w2
wR
1
wR
2
wR
1
wR
2
L1 L1 L(R *1 )
L1
L1 L2 L1 L2
L1 L2 L1 L(R 1 )
L2 L(R 2 ) L1 L 2 L(R 1 R 2 )
h
0 1 a bb
q0 q1 q2 q0 q1 q2
i.e.
a
0 h(L)
L
a bb
q0 q1 q2
a
–1
h (L)
a, b
letter/digit
q0 letter q1
TM
Noun Verb
Sita Sings
G =(V, T, P, S)
l
l l l l l
a
L n bn where n 1
L wcwT
a a
a b a
a b c b a
madam
read read
It is the same !
a a
ab ba
abaab
abaaba
abaaba
a aa a a
aa aa a a
aa aaba
aa a aab a a
aa a aabab
A aa
one occurrence
anything
of double
a
ab
ab
abaa
abaab
abaab
abaab
0, 1
1
a n bn
a xb y | x y
bR2 | b
Can be represented
by the non
terminal
A B
0i 1j 2k | j i k
0 i 1 j 2k
i i k p k
L = 0 1 1 1 2
This will be
greater than
i+k
i i p k k
L= 0 1 1 1 2
define
rule using define rule
define using
rule using B
C
NT A
0i 1j 2k | i j
0i 1j 2k | j k
L1 0i 1j 2 j
L2 0i 1j 2 k
0i 1j 2 j 2 k
2n
a b
S A B
a b
b b a
qf
C
a
qf
a b
S A B
a b
b a
b a
C
b a
a b
S A B
a aa b b b
0 m 1n 0 m n m, n 0 0 a 1b 2 c a–c b
0m 1n 0m n
am bn | n m
S
A
B
a,b
S T
a,b
L {a n b m|n m}
{a n b m c k|n m or m k}
a n b m c k|n m
a n b m c k|m k
A b|
Ab
a a
ab ba
abaab
abaaba
abaaba
am b n cn cm
a n a m bmc n
{0 i 1 j 0 k j i k }
{0 i 1 j 2 k j k}
0i 1j 2k | i j k}
0 j 0k 1j 2k
0k 0 j 1j 2k
0X 2 | 0 2
0X 1 |
S ABC
A 0A1|
B 1B |1
C 1 C0 |
Derivation of 0111100
S
A B
C
0 A 1 1
1 C 0
1 C 0
b b
S
b S b
a
S
b b
S
b S b
a a
S We have chosen S aSa
S is chosen
S
a B
a B B
b S b S
b A
b A
a
a
E E
E E
E + E *
Or
id E + E
E * E id
id id id id
i c t S e S
b i c t S a
b i c t S
b a
S
i c t S
b i c t S
i c t S e S
b
b a a
S S
A A A A
b A b A A b b A
A b A b b A A b
b a a a
(a) (b)
S
A A
b A A b
b A
a
b A
a
(c)
S S
X Y Z a a Y b b
b a
a a b a b b
E E E E
+ *
id E + E id
E * E
id id
id id
E F
E E
F _ E E _ F
a E _ F E _ F a
F a F b
b a
E F | F
{ab, baba, abbbaa} L (G)
S S
b A b A
b A A b A A
a S a a b A A
b A a a
s s
a A b a b
b s
b s
S a S|
S a Sb S.
S S
aS a S b S
a S
SbS
(a) (b)
S a S|X S |
X aXXb|
S
X S
a b
X X
S
a B
a B B
a B Bb S
a S b b A
b A a
a
S S
a B a B
a B B a B B
b S b b b S
b A a B
a b
E
E * E
( E ( ( E (
E + E E + E
I I I I
I 1 I 1 I 1 b
I 0 b a
I 1
E E
E + E E * E
I + I
E * E E E
a I I I I a
a a a a
Parse tree 1 Parse tree 2
Reduced grammar
ap
ap
S aA
A aaA
Dab Ea
EaC d
S aA
A aA a
D ab Ea
E a
Y
X 1 X 2 X 3 ..... X n
A X 1 X 2 X 3 .... X n
S A 0C1
A B 01 10
C CD
S A B
C
S 01 10
S AS B
A aAS
B SbS A bb
ASB
aAS
SbS aAS bb
ASB AB AS SB
aAS aA a
SbS aAS bb Sb bS b aA aS bb
P1
P1
P1
P1
P1 P2
P1 P2
P2
P2 P3
P2 P3 P3
P2 P3
P1
P1 P2
P2 P3
P3
P4 P5
P4 P5
P4 P5
P4 P4
P1
P1 P2
P2 P3
P3
P4 P4
P4
A1
A1
A1
A2
A2
A2
A1
A1
A2
A2
R1
R1
R2
R1 R2
R3
R3
R4 R3
R4
R1 R3
R1 R3
R1 R2 R4
R4 R3
R1 R3
R2
R1 R3
R1
R1
R2
R2
R1
R2 R3
R3
R 2R 3
R2
R1 R1
R4
R1 R4
R1
R2
R1
R2 R3
R2
R1 R4
R1
R2
R3
R4
R1
R1
R2
R2
R2
R3
R3
R2
R3
R1 R2 R3
R2
R3
R1
R2
R3
R1 R2
R1
R2
R1 R2
R1
R2
[S S]
A CA| becomes
A CA | 011| 1
B DB | becomes
B DB | 01
S AB
A CA
A 011 A XY
X 0
Y ZZ
Z 1
B DB
B XZ
is in GNF
is not in GNF
A 1, A 2 , A 3
Ai A jA k
Ai A jA k
A A
A A|
A
S abSb
NT t (set of NT)
S abSb S XY
X AB
Y SB
A a
B b
S aa S AA
S XY A1 A2A3
X AB A2 A4A5
Y SB A3 A 1A 5
A a A4 a
B b A5 b
Ai, Aj Ai < Aj
A1 A2A3
A2 A4A5
A5 b
A1
A 3 A1 A 5
A3 A2 A3A5 A1 A2A3
A3 A4A5A3A5
Ai A jA k
A1 A 2A 3
A2 A 4A 5
A3 A 4 A 5 A 3A 5
A4 a
A5 b
A2 A3 A4
A1 A 2A 3
A2 aA 5
A3 aA 5 A 3 A 5
A4 a
A5 b
A1 A 2A 3
A2
A1 aA 5 A 3
A1 aA 5 A 3
A2 aA 5
A3 aA 5 A 3 A 5
A4 a
A5 b
S ABA|BA|AB|AA|A|B
A aA|a
B bB|b
S A|B
S ABA|BA|AB|AA|aA|a|bB|b
A aA|a
B bB|b
S ABA|BA|AB|AA
Ai Aj,Ak
S ABA S aA BA|aBA
S BA S bBA|bA
S AB S aAB|aB
S AA S aAA|aA
S aABA|aBA|bBA|bA|aAB|aB|aAA|aA
S aA|a|bB|b
A aA|a
B bB|b
S AA|0
A SS|1
S AA|0 A1 A 2 A 2|0
A SS|1 A2 A 1 A 1|1
A1 A2 A2
Ai and Aj with i < j This is allowed.
A2 A1 A1 | 1
Ai and Aj with i > j This is not allowed.
A1
A2 A 2 A 2 A 1|0A 1|1
A2 A2A2A1 | 0A1 | 1
A A | A A|
A A|
A2 A2A2A1 | 0A1 | 1
1 2
A A 2 A 1 A |A 2 A 1
A2
A1
A1 A 2 A 2|0
A2
A1 0A 1 A A 2|1A A 2|0A 1 A 2|1A 2|0
A1 A2
A A
A A 2 A 1 A |A 2 A 1
A2
A 0A 1 A A 1 A |1A A 1 A |0A 1 A 1 A |1A 1 A
A 0A1A A 1|1A A 1|0A 1 A 1|1A 1
A 1, A 2 , A 3
A1 A2 A3
A1 A 2A 3
A2 A 3 A 1|b
A3 A 1 A 2|a
A1 A 2A 3
A2 A 3 A 1|b
Ai A jA k
A3 A 1 A 2|a
A3
A3 A 1 A 2|a
A3 A 2 A 3 A 2|a A1 A 2A 3
A3 A 3 A 1 A 3 A 2|bA 3 A 2|a A2 A 3 A 1|b
A3 A3A1A3A2 | bA3A2 | a
left recursion
A A | A A|
A A|
A3 bA 3 A 2 A |aA
A A 1 A 3 A 2 A |A 1 A 3 A 2
A3 A3A1A3A2 | bA3A2 | a
1 2
A3
A2
A2 A 3 A 1|b
A2 bA 3 A 2 A A 1|aA A 1|b
A2
A1
A1 A 2A 3
A1 bA 3 A 2 A A 1 A 3|aA A 1 A 3|bA 3
A1
A
A A 1 A 3 A 2 A |A 1 A 3 A 2
A bA 3 A 2 A A 1 A 3 A 3 A 2 A |aA A 1 A 3 A 1 A 3 A 2 A
|bA 3 A 3 A 2 A |bA 3 A 2 A A 1 A 3 A 3 A 2|aA A 1 A 3 A 3 A 2|bA 3 A 3 A 2
A
A1 bA 3 A 2 A A 1 A 3|aA A 1 A 3|bA 3
A2 bA 3 A 2 A A 1|aA A 1|b
A3 bA 3 A 2 A |aA
A bA 3 A 2 A A 1 A 3 A 3 A 2 A |aA A 1 A 3 A 1 A 3 A 2 A
bA 3 A 3 A 2 A |bA 3 A 2 A A 1 A 3 A 3 A 2|aA A 1 A 3 A 3 A 2|bA 3 A 3 A 2
w w
p qi r si t
2i 1
S
2i 1
n 2k w A
k 1
w 2
B C
w w w w
b
2i 1
w B A
Path
b a
A, B, C A BC
B b ,A
w 2i 1
w 2i 1 n
a i b j c k|i j k
p qi r si t
w
w p q 0r s0 t
an b n cn
pq i rs i t
pq i rs i t
q0 s0
w = aa bb cc
pqrst
a 2 bc
pq i rs i t
w = aa bb cc
pqrst
a2 b 3 c3 L
w = aa bbb ccc
p qq r ss t
L 1L 2
a
a
a
an b n
n
a n b cn
utable languages
Comp
t sensitive languag
ntex es
Co
t f r e e l anguag
tex
on Regular
e
C
language
V ij
S
id = E T
E + E
;
F id
id
Types of parser
Top-down Bottom-up
parser parser
SLR LALR LR
parser parser parser
aSb|bSa
a|b|
|
TM
Input tape a a b b $
Finite
control
Stack
q0 q0
Z0
a1 a2 a3 a4 a5 a1 a2 a3 a4 a5
Current
input
Current S1 Z1 S2 X1
state Current
stack Z2 X2
symbol
Z3 Move Z1
Z4 Z2
Z3
2 S1
Z1 S2
Current stack top
Push x onto
the stack
Read input Change the
on the tape state from
q0 to q1
(a) Push operation
(q0,x, y) = (q1, )
Change Pop
the the stack
Read input state from
on tape q0 to q1
Current stack
top
(b) Pop operation
L an b n | n 1
(q 0 , a , Z 0 ) (q 0 , aZ 0 )
(q 0 , a , a ) (q 0 , a a )
(q 0 , b, a ) (q 1 , )
(q 1 , b, a ) (q 1 , )
(q 1 , , Z 0 ) (q 2 , )
q0 q2
(q 0 , aaabbb, Z 0 ) (q 0 , aabbb, aZ 0 )
(q 0 , abbb, aaZ 0 )
(q 0 , bbb, aaaZ 0 )
(q 1 , bb, aaZ 0 )
(q 1 , b, aZ 0 )
q1 Z0
(q 2
a n b2n
(q 0 , a , Z 0 ) (q 0 , a a Z 0 )
(q 0 , a , a ) (q 0 , a a a )
q0 q1
(q 0 , b, a ) q1
q1
(q 1 , b, a ) q1
(q 1 , , Z0 ) q2
{q 0 , q 1 , q 2 }, { a , b}, { a , Z 0 }, q 0 , Z 0 , {q 2 }
(q 0 , a , Z 0 ) (q 0 , aaZ 0 )
(q 0 , a , a ) (q 0 , aaa )
(q 0 , b, a ) q1
(q 1 , b, ) q1
(q 1 , , Z0 ) q2
M q 0 , q 1 , q 2 , a, b, c , a, b, Z 0
q0 , Z0 , q2
R1 q 0 , a, Z 0 q0 , a Z0
R2 q 0 , b, Z 0 q0 , b Z0
R3 q 0 , a, a q0, a a
R4 q 0 , b, a q0, b a
R5 q 0 , a, b q0, a b
R6 q 0 , b, b q0, b b
R7 q 0 , c, Z 0 q 1, Z0
R8 q 0 , c, a q 1, a
R9 q 0 , c, b q 1, b
R 10 q 1 , a, a q1
R 11 q 1 , b, b q1
R 12 q1 Z0 q2 , Z0
a, a/
b, b/
q0 q1 q2
c, Z0/Z0 , Z0/Z0
c, a/a
a, Z0/aZ0 c, b/b
b, Z0/bZ0
a, a/aa
b, a/ba
a, b/ab
b, b/bb
R1 R 12
(q 0 , bbacabb, Z 0 ) (q 0 , b acabb, bZ 0 )
(q 0 , acabb, bbZ 0 )
(q 0 , cabb, abbZ 0 )
(q 1 , abb, a bbZ 0 )
(q 1 , bb, bbZ 0 )
(q 1 , b, bZ 0 )
(q 1 , , Z 0 )
(q 2 , Z 0 )
q0 q1
(q 0 , aababb, Z 0 ) (q 0 , ababb, aZ 0 )
(q 0 , babb, aaZ 0 )
(q 0 , abb, aZ 0 )
(q 0 , bb, aaZ 0 )
(q 0 , b, aZ 0 )
q0 Z0
(q 1
n a(w) n b(w)
(q 0 , a , Z 0 ) (q 0 , aZ 0 )
(q 0 , b, Z 0 ) (q 0 , bZ 0 )
(q 0 , a , a ) (q 0 , aa )
(q 0 , b, b) (q 0 , bb)
(q 0 , a , b) (q 0 , )
(q 0 , b, a ) q0
(q 0 , , a ) q f , a)
{q 0 , q f }, { , b}, { , b, Z 0 }, , q 0 , Z 0 , {q f }
(q 0 , aababab, Z 0 ) (q 0 , ababab, aZ 0 )
(q 0 , babab, aZ 0 )
(q 0 , abab, aZ 0 )
(q 0 , bab, aaZ 0 )
(q 0 , ab, aZ 0 )
(q 0 , b, aaZ 0 )
(q 0 , , aZ 0 )
(q f , a )
(q 0 , a , Z 0 ) (q 0 , aZ 0 )
(q 0 , b, Z 0 ) (q 0 , bZ 0 )
(q 0 , a , a ) (q 0 , aa )
(q 0 , b, b) (q 0 , bb)
(q 0 , b, a ) q0
(q 0 , a , b) q0
(q 0 , , b) q f , b)
(q 0 , abbab, Z 0 ) (q 0 , bbab, aZ 0 )
(q 0 , bab, Z 0 )
(q 0 , ab, bZ 0 )
(q 0 , b, Z 0 )
(q 0 , , bZ 0 )
(q f , b)
q0
(q 0 , (, Z 0 ) (q 1 , ( Z 0 )
(q 0 , [, Z 0 ) (q 1 , [ Z 0 )
(q 0 , {, Z 0 ) (q 1 , { Z 0 )
q 1 , (, ( q 1, ( (
q 1 , [, [ q 1, [ [
q 1 , {, { q 1, { {
q 1 , (, [ q 1, ( [
q 1 , (, { q 1, ( {
q 1 , [,( q 1 , [(
q 1 , {,( q 1 , {(
q 1 , {, [ q 1, { [
q 1, [ , { q 1, [ {
q 1 , ), ( (q 1 , )
q 1 , ], [ (q 1 , )
q 1 , }, { (q 1 , )
Z0
q0
(q 1 , , Z 0 ) (q 0 , Z 0 )
(q 0 , (, Z 0 ) (q 1 , ( Z 0 )
(q 0 , [, Z 0 ) (q 1 , [ Z 0 )
(q 0 , {, Z 0 ) (q 1 , { Z 0 )
(q 1 , (, ( ) (q 1 , (( )
(q 1 , [, [ ) (q 1 , [ [ )
(q 1 , {, { ) (q 1 , { { )
(q 1 , (, [ ) (q 1 , ( [ )
(q 1 , (, { ) (q 1 , ( { )
(q 1 , [, ( ) (q 1 , [( )
(q 1 , {, ( ) (q 1 , {( )
(q 1 , {, [ ) (q 1 , { [ )
(q 1 , [, { ) (q 1 , [ { )
(q 1 , ), ( ) (q 1 , )
(q 1 , ], [ ) (q 1 , )
(q 1 , }, { ) (q 1 , )
(q 1 , , Z 0 ) (q 0 , )
{ q 0 , q 1 }, { (, [, {, ), ] , } }, { [, (, {, Z 0 }, q 0 , Z 0 ,{q 0 }
q 0 , ( { } [ ] ), Z 0 q 1 , { } [ ] , (Z 0 )
q 1 , } [ ] , { (Z 0 )
q 1 , [ ] , (Z 0 )
q 1 , ] , [ (Z 0 )
(q 1 , ), (Z 0 )
q 1, Z0
(q 0 , Z 0 )
L a m b m c n | m, n 1
(q 0 , a , z 0 ) (q 0 , a Z 0 )
(q 0 , a , a ) (q 0 , aa )
(q 0 , b, a ) (q 1 , )
(q 1 , b, a ) (q 1 , )
(q 1 , c, 0) (q 1 , Z 0 )
(q 1 , , 0) (q 2 , Z 0 )
(q 0 , aabbccc , Z 0 ) (q 0 , abbccc , aZ 0 )
(q 0 , bbccc , aaZ 0 )
(q 1 , bccc , aZ 0 )
(q 1 , ccc , Z 0 )
(q 1 , cc , Z 0 )
(q 1 , c , Z 0 )
(q 1 , , Z0 )
(q 2 , Z 0 )
Start
b a b
READ POP READ
c
a
PUSH a
c
READ READ
ACCEPT
L 0 n 1m 0 n | m, n 1
0011100 Pushing 0
0
0
0011100 Pushing 0
0
0
0011100 Skip 1
0
0011100 0
0 Skip 1
0011100 0
0 Skip 1
0011100 0 Pop 0
0011100 Pop 0
0011100 ACCEPT
(q 0 , 0, Z 0 ) (q 0 , 0 Z 0 )
(q 0 , 0, 0) (q 0 , 00)
(q 0 , 1, 0) (q 1 ,0)
(q 0 , 1, 0) (q 1 , 0)
(q 1 , 0, 0) (q 1 , )
(q 0 , , Z 0 ) (q 2 , Z 0 )
(q 0 , 0011100, Z 0 ) (q 0 , 011100, 0Z 0 )
(q 0 , 11100, 00Z 0 )
(q 0 , 1100, 00Z 0 )
(q 1 , 100, 00Z 0 )
(q 1 , 00, 00Z 0 )
(q 1 , 0, 0Z 0 )
(q 1 , , Z0 )
(q 2 , Z 0 )
q0 , a, Z 0 )
q1, a, Z 0 )
q0 , , Z 0 )
q1, b, Z 0 )
q0 , a, )
q0 , a, )
q0 , , )
q1, a, )
q1, a, )
q0 , , )
q 1, , ) BB
q0 , , )
bbaaa a b b a a a, 0
a b b a a a, 0
a b b a a a, 0
a b b a a, 0
a b b a a, 0
abb , 0
abbaa , 0
L ai b j ck| i j or j k
(q, P),(q, Q),(q, R),(q, T),(q, M)
A) (q, aA),( , )
B (q, bB),( , b)
C (q, cC),( , c)
P (q, AD),( , ADC)
(q, aDb),( , )
Q (q, DB),( , DBC)
R (q, BE),( , ABE)
E (q, bEc),( , )
(q, , ),( , AEC)
a (q, )
b, b (q, )
c c (q, )
a, Z0 / aZ0
Pushing b, Z0 / bZ0
symbols
a, a / aa
onto Popping
a, b / ab
stack b, b / symbol
b, a / ba
b, b / bb a, a / from the
stack
q0 q1 q2
, Z0 / Z0 , Z0 / Z0
a, a / a
b, a / a Acceptance
b, b / b move
a, b / b
Reading
middle a or b
q 0 , a, Z 0 )
q 1 , a, Z 0 ) q0
q 0 , a, )
q 1 , a, A ) AA
q 0 , , A)
q0, , )
(q 0 , aaaaaabbb, Z 0 ) q 1 , aaaaabbb, Z 0
(q 0 , aaaa bbb, AZ 0 )
(q 1 , aaa bbb, AZ 0 )
(q 0 , aa bbb, AAZ 0 )
(q 1 , abbb, AAZ 0 )
(q 0 , bbb, AAAZ 0 )
(q 0 , bb, AAZ 0 )
(q 0 , b, AZ 0 )
(q 0 , , Z 0 )
(Q, , , , q 0 , Z 0 , F)
{w | (q 0 , w, Z 0 ) (p, , )}
(Q, , , , q 0 , Z 0 , F)
{w | (q 0 , w, Z 0 ) (p, , )}
N(P1 ) P1 P2 L (P2 )
L (P1 ) P1 P2
N(P2 )
P2 P1
P2 Q q0, qf X0 , q 0 , X 0 , {q f
q X q0 , Z0 X0
q a Z q, a, z
q X qf
P2 P1
P1 P1
P2 qf
P2 P1
P2 Q q0, qf X0 , q0 , X0 ,
q X q0 , Z0 X0
q a Z q, a, Z
q (q Z) Z X q F
d X
P2 P1
P1
P1 P2
P2 P1 P2
P2
L ai b j ck | i j k
(q 0 , a, Z 0 ) ( 1 , AZ 0 )
(q 1 , a, A) ( 1 , AA) no 'a' is present
j k Pushing A
(q 0 , b, Z 0 ) (q 2 , AZ 0 ) b c is a string.
onto the stack
(q 1 , b, A) (q 2 , AA)
(q , b, A) (q 2 , AA)
2
(q 2 , c, A)=(q 3 , )
(q 3 , c, A) = (q 3 , )
q 3, , 0 q3
q 0 , a, Z 0 q 1, A Z0 )
q 1 , a, A q 1 , A A)
q 0 , b, Z 0 q2 , A Z0 )
q 1 , b, A q 2 , A A)
q 2 , b, q2,A )
q 2 , c, A q 3, )
q 3 , c, A q 3, )
q 3, , 0 q0, )
q0 , Z0 , F
q Z0
q S
q 4 q
q + q
q * q
(q 0 , a, Z 0 ) = (q 1 , aZ 0 )
Push
(q 1 , a, a) = (q 1 , aa)
(q 1 , a, a) = (q 2 )
(q 2 , a, a) = (q 3 ) POP
(q 2 , , Z 0 ) = (q 3 )
(q 3 , , Z 0 ) = (q 3 )
q0 qn [q 0 Z q n ]
(q i , a , Z 0 ) (q i+1 , Z 1 Z 2 )
(q i Z 0 q i k) a (q i Z 1 q m ) (q m Z 2 q i k)
qi, qm Z0 , Z1, Z2
(q i , a , Z 0 ) (q i+ 1 , ) (q i Z 0 q i 1) a
q 0 Z0 q 0
q 0 Z 0 q1
(q 0 , a, Z 0 ) (q 0 , aZ 0 )
q 0 Z0 q 0 a (q 0 , a, q 0 q 0 Z 0 q 0
q 0 Z0 q 0 a (q 0 a, q 1 q 1 Z 0 q 0
q 0 Z 0 q1 a (q 0 a, q 0 q 0 Z 0 q 1
q 0 Z 0 q1 a (q 0 a, q 1 q 1 Z 0 q 1
(q 0 , a, a) (q 0 a a)
q 0 a, q 0 a (q 0 a, q 0 q 0 a, q 0
(q 0 a, q 0 a (q 0 a, q 1 q 1 a, q 0
(q 0 a, q 1 a (q 0 a, q 0 q 0 a, q 1
q 0 a, q 1 a (q 0 a, q 1 q 1 a, q 1
(q 0 , b, a) (q1 , )
(q 0 a, q 1
(q 1 b, a) (q1 , )
(q 1 a, q 1
(q 0 , , Z 0 ) (q1 , )
(q 0 q1
q 0 Z0 q 0
q0 Z0 q1
Conversion
q0 a q0
q1 a q1
q1 Z0 q0
q1 Z0 q1
q1 a q0
q1 a q1
(q0 , 1, Z0 ) { q0 , XZ0 )
(q0 , 1, X) (q0 , XX)
(q0 , 0, X) (q1 , X)
(q 0 , e, Z 0 ) (q 0 , e)
(q1 , 1, X) (q 1 , e)
(q0 , 1, Z0 ) (q0 , Z0 )
q 0 Z0 q 0
q0 q1
(q 0 , 1, Z 0 ) (q 0 , XZ 0 )
q 0 Z0 q 0 1(q 0 X, q 0 q 0 Z 0 q 0
q 0 Z0 q 0 1(q 0 X, q 0 q 0 Z 0 q 0
q 0 Z 0 q1 1(q 0 X, q 0 q 0 Z 0 q 1
q 0 Z 0 q1 1(q 0 X, q 1 q 1 Z 0 q 1
(q 0 , 1, X) (q 0 X X)
q 0 X, q 0 1 (q 0 X, q 0 q 0 X, q 0
(q 0 X, q 0 1 (q 0 X, q 1 q 1 X, q 0
(q 0 X, q 1 1 (q 0 X, q 0 q 0 X, q 1
q 0 X, q 1 1 (q 0 X, q 1 q 1 X, q 1
q 0 0, X) = (q 1 X)
(q 0 X, q 0 0 (q 0 X, q 0
(q 0 X, q 1 0 (q 0 X, q 1
(q 0 , , Z 0 ) = (q 0 , )
(q 0 q0
(q1 , 1, X) = (q1 , )
(q 1 X, q 1
(q 0 , 1, Z 0 ) = (q 0 , Z 0 )
(q 0 q0 q 0 Z0 q 0
(q 0 Z 0 q 1 1 (q 0 Z 0 q 1
(q 0 , Z 0 , q 0 )
(q 0 , Z 0 , q1 )
(q 0 , X, q 0 ) CFG rules
(q 0 , X, q1 )
(q1 , Z 0 , q 0 )
(q1 , Z 0 , q1 )
(q1 , X, q 0 )
(q1 , X, q1 )
({q 0 , q 1 }, {0,1}, {X, Z 0 }, q 0 , Z 0 , d, f)
(q0 , 0, Z0 ) (q0 , XZ0 ) (q0 , 0, X) (q0 , XX)
(q0 , 1, X) (q1 , ) (q1 , 1, X) (q1 , )
(q 1 , , X) (q1 , ) (q1 , , Z0 ) (q1 , )
(q 0 , Z 0 , q 0 )
(q 0 , Z 0 , q 1 )
(q 0 , 0, Z 0 ) (q 0 , X Z 0 )
(q 0 , Z 0 , q 0 ) 0 (q 0 , X, q 0 ) (q 0 , Z 0 , q 0 )
(q 0 , Z 0 , q 0 ) 0 (q 0 , X, q 1 ) (q 1 , Z 0 , q 0 )
(q 0 , Z 0 , q 1 ) 0 (q 0 , X, q 0 ) (q 0 , Z 0 , q 1 )
(q 0 , Z 0 , q 1 ) 0 (q 0 , X, q 1 ) (q 1 , Z 0 , q 1 )
(q 0 ,0, X) (q 0 , X X)
(q 0 , X, q 0 ) 0 (q 0 , X, q 0 ) (q 0 , X, q 0 )
(q 0 , X, q 0 ) 0 (q 0 , X, q 1 ) (q 1 , X, q 0 )
(q 0 , X, q 1 ) 0 (q 0 , X, q 0 ) (q 0 , X, q 1 )
(q 0 , X, q 1 ) 0 (q 0 , X, q 1 ) (q 1 , X, q 1 )
(q 0 ,1, X) (q1 , )
(q 0 , X, q 1 )
(q 1 ,1, X) (q 1 , )
(q 1 , X, q 1 )
(q 1 , , X) (q 1 , )
(q 1 , X, q 1 )
(q 1 , , Z 0 ) (q 1 , )
(q 1 , Z 0 , q 1 )
(q1 , Z 0 , q 0 )
(q 0 , Z 0 , q1 )
(q 0 , X, q 0 )
The
(q 0 , X, q1 )
CFG will be
(q1 , Z 0 , q 0 )
(q1 , X, q 0 )
(q1 Z 0 q1 )
(q1 X q1 )
a n b m a n |n, m 1
(q 0 , a, Z 0 ) (q 0 , a, Z 0 )
(q 0 , a, a) (q 0 , aa)
(q 0 , b, a) (q 1 , a)
(q 1 , b, a) (q 1 , a)
(q 1 , a, a) (q 1 , )
(q 1 , , Z 0 ) (q 2 , )
q A
q a, a
B S
S 0BB
B
B
B
B
B
B
0
S, A
(q, 0S1),(q, A)
A (q, 1 0),(q, ),( ,
0, 0 (q,
, (q,
q S
q q
q q
b a,b
a
a
Start 1 2 3
b
b a(ba) a(a b)
q S
q X
q Y
q Z
CFL
DCFL
Regular ww
R
language
n
(ab)
n n
a b
Finite
control
PDA New
FA
Accept
Input of or reject
the form AND
LR PDA
Stack
FA
TM
nput tape
nput tape
a b A A B b a
Tape head
Finite
control
q0 q1 R
q0
q1
q0 (a,A,R)
q3 Start (a,A,R)
q0 q1
q2 q3
(,,R)
(b,B,R)
q3 q3
# 1 1 1 1 1 $
B B B B 1 1 B
B 1 1 1 B B B
Finite
control
a b a c a b a
a b a c a b a * * a c * * a
Read a Mark it
and mark it if it is
same as
* b a c a b a marked
* * a c * * a
* b a c a b a
* * a c * * a
* b a c a b a
* * a c * * a
* b a c a b a
* * a c * * a
It is
same as a
* * * c * *
marked one
* b a c * b a
* * * c * * a
* b a c * b a
* * * c * * *
* b a c * b a
* * * c * * *
* b a c * b a
* * * c * * *
* * a c * b a
* * * c * * *
Mark it
* * a c * b a * * * c * * *
* * a c * b a
* * a c * b a
1 1 $ 1 1 1
a b
1 1 $ 1 1 1 1 1 1 1 1 1
a b Answer
(1,1,R)
(X,X,R) (,1,L)
(1,1,L)
(Y,Y (1,1,L)
,R)
q8 (,,L) q5
(1,1,L)
(X,1,L) ($,$,L)
HALT q7 q6 (Y,1,L)
(X,1,L)
0 0
q0 1 q1
(0,0,R) (1,1,R)
Start q1 (0,0,R)
(,,L) (1,1,R)
HALT
q1
q1
q1
(0,1,R)
(1,1,R)
(0,0,R)
(0,0,R)
(0,0,R)
(0,0,L) (,,R) q6
(1,0,L) (,,R)
q4
HALT
q1
q0
q0
q1
q2
q3
q6
1
q0 q1
1
0 0 0 0
1
q3 q2
HALT
(,,R)
(1,1,R)
Start q0 q1
(1,1,R)
(1,1,R)
q3 q2
(1,1,R)
n bn
aa
a
(B,B,R)
(a,a,R)
(B,B,L)
(a,a,L)
Start (a,A,R) (b,B,L)
q0 q1 q2
(B,B,R)
(A,A,R)
q3 (B,B,R)
(,,L)
HALT
aa q1
a a q1
a q2
a q0
a q1
q2
q0
q3
a
a a b b c c
(B,B,R) (C,C,R)
(a,a,R) (b,b,R) (b,b,L)
(a,a,L)
Start (a,A,R) (b,B,R) (C,C,L) (B,B,L)
q0 q1 q2 q3 (C,C,L)
(B,B,R)
(A,A,R)
q4 (B,B,R)
(C,C,R)
(,,R)
HALT
aa a q0 q1
a q1 q2
a q2 q3
a a q3
a a
q1 q2
q3
q0 q4
q4
n b n cn
a a a a a
a a a
a a a
a a a a
a a a
a a
a a
a a
a a
a a
a a
a a
a a
a a
(a,a,R)
(b,b,R)
(*,*,R)
Start
q0 HALT
(,,L)
(*,*,R)
(b,b,L)
q4 q5 q6 (a,a,L)
(b,*,R) (,,L) (b,,L)
( ,a,R)
(b,b,R)
(*,*,R)
(0,0,R)
(1,1,R)
(*,*,S)
Start
q0 HALT
(*,*,S)
q4 q5 q6 (0,0,L)
(,,L) (1,1,L)
(1,*,R) (1,,L)
(0,0,R)
(1,1,R)
(*,*,R)
1 1 1 1 $ 1 1 1
HALT
($,,R)
q5
(1,1,R)
(,,R)
(1,$,R)
(1,1,R)
q0 q1 , 1, R
q1 q1 , 1, R q 2 , 1, R
q2
(1,1,R) (1,1,R)
(1,,R)
q4
(,,R)
HALT
a
f a b c
1 1 1 – 1 1
(,,S)
HALT
(1,1,R)
(*,*,R)
(*,*,L) (1,*,R)
L 0n n, m 0
(0,0,R) (1,1,R)
q0 (0,0,R) (0,1,L) q2
q1
(,,R)
(,,R) (,,R)
HALT
L x 0,1} x end in 00
1 0
q0 0 0 q2
q1
1
1
(0,0,R)
(1,1,R)
(1,1,R)
(1,1,R)
(0,0,R) (1,1,R)
(0,0,R)
(1,0,R)
,,R q4
HALT (1,1,R)
{ a i b j i j}
(Y,Y,R) (Y,Y,R)
(a,a,R) (b,b,R) (Y,Y,L) b,b,L
(a,a,L)
q5
(X,X,R) (a,a,L)
q0 q1
q1 q1 q2
q2 q2 q2 q3
q3 q4 q3
q4 q5 q4
q5 q5 q0
(,*,R
(,(,R *,*,L
*,*,R
),*,L
(,,S)
HALT
q0 q1 , (, R q 2 , *, L q 0 , *, R
q1 q1 , (, R q 2 , *, L
q2 q 2 , *, R q 2 , *, L
(B,B,R) (C,C,R)
(1,1,R) (2,2,R) (2,2,L)
(1,1,L)
Start (1,A,R) (2,B,R) (3,C,L) (B,B,L)
q0 q1 q2 q3 (C,C,L)
(B,B,R)
(A,A,R)
q4 (B,B,R)
(C,C,R)
(,,R)
HALT
(a, b, R) , , R
(a, b, R) HALT
0,1,R
0,1,R)
q0 q1
,,
R)
(1,0,R) HALT
,1,R)
,R)
1,0,R)
q2 ,
1,0,R)
(0,0,R)
(1,1,R) (0,0,R) (1,1,R)
(1,1,R) (,,R)
HALT
(a,a,R)
q0
(b,b,R)
q1
(b,b,R)
q2 ,,R
HALT
(a,a,R)
(a,a,R)
q0
(a,a,R)
q1
(b,b,R)
q2
(b,b,R)
q3 ,,R)
HALT
{0 2n }
{0 2n } q0 q1
0
(0,0,R)
q0 q1
(0,0,R)
(1,1,R)
(,,R)
(1,1,R)
(,,R)
HALT
1 1 1
q0 0 q1 0 q2 0 q3
1
0
(1,1,R)
(0,0,R)
(,,R)
HALT
{ a n bc n n 1}
(A,a,R)
a (C,C,R) (C,C,L)
a
(A,A,R) (B,b,R)
b (C,C,L)
c (B,b,L)
b
q0 q1 q2 q3
(A,a,L)
a
(B,b,R)
b
(A,A,R)
q4 (C,C,R)
,,R
HALT
0 1 1 0 1 1
M1
M1 Q1, 1, 1, 1, q 1 , B, F1
M2
M2 Q2 , 2, 2, 2, S 1 , B, F2
a5 a4 a3 a2 a1 a0
(a)
# a5 a4 a3 a2 a1 a0
(b)
L q 0 , q 1, q 2 , q 3, q 4 , q 5
M2
M1
a5 a4 a3 a2 a1 a0
M2
(a3,a3,L)
HALT q7 q6 q5
(,,S) (a5,a5,L) (a4,a4,L)
q7
# a5 a4 a3 a2 a1 a0
M1
(a3,a3,L)
HALT S6 S5 S4
(#,#,S) (a5,a5,L) (a4,a4,L)
b a a b
a a a
aa a
a a
(,,R)
A,A,R
B,B,R
(b,b,L)
(a,A,R) (b,B,L) (a,a,L)
Start q0 q1 q2 (A,A,L)
(B,B,L)
(,,S)
(b,B,R) (a,A,L)
q3
HALT
(b,b,R)
(A,A,R)
(B,B,R)
a a a
a
a
a a
(0,0,R)
(0,0,L)
(1,1,R)
(0,1,L)
Start (,,L) (1,1,L) (1,0,L)
q0 q1 q2
(,,S)
HALT
(,*,R
(,(,R *,*,L
*,*,R
),*,L
(,,S)
HALT
q0 q1, (, R q2, *, L q0 , *, R
q1 q1, (, R q2, *, L
q2 q2, *, R q2, *, L
(*,*,L)
(0,0,R)
(*,*,R) (1,1,R)
(*,*,L)
(*,*,S)
(*,*,R) (0,0,R)
(1,1,R)
(*,*,L)
q0 q 0 , 0, R q 0 , 1, R q2 , , L
q1 q 5 , *, R q 2 , *, R q1 , *, L
q2 q 2 , *, R q3 , , R
q3 q 3 , 0, R q 3 , 1, R q 4 , 1, L
q4 q 4 , 0, L q 4 , 1, L q1 , *, L q4 , , L
q5 q 5 , *, R q6 , , R
q6 q 6 , 0, R q 6 , 1, R q 7 , 0, L
q7 q 7 , 0, L q 7 , 0, L q1 , *, L q7 , , L
(A,A,R)
(,,L)
(1,1,L)
q5 (A,1,L)
(,,L)
HALT
q0
q1
q1 to q2
(0,A,R)
(A,A,L)
(1,1,R) ,,L)
q0 q1 q2
(1,,L)
q3
,,L)
HALT
(0, 0, R) (2, 2, R) (2, 2, R)
(2, 2, R) (1, 1, R)
(2, 2, R) (1, 1, R)
q2
(1,1,R)
Thus TM halts
1 1 1 1 1 1 1 successfully
(1,0,L) (0,0,L)
(0,1,L)
S0 S1
(1,1,R)
B,B,L
HALT
0 0 0 1 0 0 1
m n
(0,,R)
(1,,R) (1,,R)
Halt q11 q10
(0,0,R)
,,R)
q9
(,,R) (0,0,L)
(1,1,R)
(0,0,R)
(1,1,L)
(0,X,R) (,0,L)
q2 q3 q4 (0,0,L)
(X,X,R)
(1,1,R)
q5 q6
(X,0,L)
{0 n 1n 0 n | n 1}
(B,B,R)
(A,A,R)
q4 (B,B,R)
(C,C,R)
(,,R)
HALT
a ba b
a a
q0 b q1 b q2
(a,a,R) (a,a,R)
1 1 1 1 # 1 1
m n
B,B,L
(#,#,R) (A,A,R)
B,B,L
(B,B,R)
,,L #,E,L
q10
B,B,L
(1,1,R)
(0,0,R)
(0,0,R)
(1,1,R) ,,L
q0 q1 q2
1,,L
0,,L
q3 0,0,L
1,1,L
,0,R
HALT
(b,b,R)
(A,,R)
(a,a,R) (b,b,L)
(B,B,R) (a,a,L)
(b,B,R)
q5 ,b,L q6
(,,L)
(A,A,L)/(B,B,L)
abab
ab ab
ab ab
ab ab
ab aB
ab aB b
ab aB b
ab aB b
ab A B b
ab A B b a
ab A B b a
ab A B b a
aB A B b a
aB A B b a
aB A B b ab
aB A B b ab
A B A B b ab
A B A B b ab a
A B A B b ab a
A B A B b ab a
ab ab b ab a
a,A,R a,a,L
q0 q1 HALT
a,B,L
q2
Finite control
nput
M w
Tape
0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 ........
State
Finite
control
nput tape 1
nput tape 2
When
T halts for t
M1
(t,dT) ACCEPT halt
When T does
not halt for t
T halts for
M2 input t = dT
dT Loops
Copy T (dT, dT) Modified M1
(Input) Halts
T does not
halt for t = dT
M2 halts for
M2 input dM2
dM2 Loop
(input) Halt
M2 dose not
halt for input dM2
Yes
Input string Accept and halt
Turing machine
No
Reject and halt
Infinite loop
Yes
Input string q0 qf
Turing machine
No
Reject and halt
w Accept
TM
nput string Reject
w Accept
TM
nput string Loops for ever
Partial recursive functions
Primitive recursive
functions
< a a a b b b >
an b n cn | n 1
< a a b b c c >
Finite
control
(B,B,R)
(C,C,R)
(B,B,R) (>,>,L)
q5 HALT
a,a,L
B,B,L
(B,B,R) b,b,L
(a,a,R) (b,b,R) C,C,L
(A,A,R)
a n b n c n|n 1
an b n cn n 1
TM
T(M 2 T(M 1
S2 T(M 2 T(M l
L r L G
L r L G
x 1 , x 2 .... x k y 1 , y 2 , y 3 ... y k
S1 a i S 1x i
S1 ai xi
S2 ai S 2 yi
S2 ai yi
a in a in – 1 ... a i1 x i1 x i2 ... x in
a in a in – 1 ... a i1 y i1 y i2 ... y in
Non-recursively enumerable language
TM
M1 Accept Accept
Input w
[Binary string]
M2 Accept Reject
Complemented TM
L1 L2 L1 L2
L1 L2
L1
L2
L1 L2 M1 L1
M1
L1 L2
M1
w M1 Accept Accept
(Input string)
No Accept
M2
Start Reject
M
M1 M2 M2
M2 L1 L2
L1 L2
L1 L2
Accept
Accept
WL M1 Reject M2
Reject
M1 L1 M2 L2
L1 L2
M
Yes No
Yes
w M1 No M2 Yes No
w1 w2 w1 w3 w3 w4
x1 x2 x1 x3 x3 x4
10 10 10 01 01 1 Read from
left to right
c g(n)
f(n)
n0 n
F(n) O(g(n))
n0 n0
n0
f(n) c g(n)
n2
n2
n2 (1)2
( 2
n2
n
2 3
65536 n
32768
16384
2
n
8192
4096
2048
1024
n log2 n
512
256
n
128
64
32
16 log2 n
1 2 4 8 16 32 64 128
Computational complexity problems
P - class NP - class
NP - complete NP - hard
1
a 1 b 2 c
2 2 1
2 1
3 1 1 2
f e d
2 3 3 3
3
g 3 h 3 i
5
1
a 1 b c
a b
1 1
1
1 1 2
f e d
a 1 b c
1
i
a b c 1
1
a 1 b c
1
d
e 1
1 1 2
f e d
g 3 h i
3
a b
6
5
7
1
8 4 9
c d
2
3
e
NP - Problems
P Problems
NP complete
P class problems
problems
NP
NP hard
problems
NP
P NP - complete
P
T
Every problem in NP
CIRCUIT - SAT
CNF - SAT
3 - SAT
VERTEX COVER
KNAPSACK TSP
1 1 0
1
1
1
0
1
0
1 0 1
AND NOT OR
a b ain amid aout bin bmid bout
x X.
q0
q ACCEPT
q REJECT
q ACCEPT q REJECT
Length n
Tape head
q ACCEPT
q REJECT
j th
q ACCEPT
Q i, q 1 , Q i, q 2 , ... , Q i, q k
q 1 , q 2 , ...q k Q.
Q i, q r , Q i, q t
Q p n , q ACCEPT
q ACCEPT
a g e b h
1
B
0 0
qA0 D
1
C
0
L L *
G V , T , P , S
a
a b
a a
a xb y | x y
{ a n b 2n | n 1}
L an b n n 1
0, 1