Professional Documents
Culture Documents
Theory of Computation
® TM
ISBN 978-93-332-0207-7
TECHNICAL
PUBLICATIONS
An Up-Thrust for Knowledge 9 789 333 20 207 7
(i)
Check out : www.eduengineering.net For all subject Notes
Theory of Computation
Semester - VIII (IT) (Elective - III)
Semester - V (CSE)
This edition is for sale in India only. Sale and Purchase of this book outside of India is
unauthorized by the publisher.
Published
®
by : TM
Amit Residency, Office No.1, 412, Shaniwar Peth, Pune - 411030, M.S. INDIA
TECHNICAL Ph.: +91-020-24495496/97, Telefax : +91-020-24495497
PUBLICATIONS Email : orders@technicalpublications.org Website : www.technicalpublications.org
ISBN 978-93-332-0207-7
AU 13
Check out : www.eduengineering.net For all subject Notes
Check out : www.eduengineering.net For all subject Notes
Check out : www.eduengineering.net For all subject Notes
Check out : www.eduengineering.net For all subject Notes
Check out : www.eduengineering.net For all subject Notes
Check out : www.eduengineering.net For all subject Notes
Check out : www.eduengineering.net For all subject Notes
TM
TM
TM
2
2
a
2
b
a
b
a2
b2
a
b
2
TM
TM
n n ( n 1)
i 2
i0
n n 1 1 1 1 2
2 2 2
k k 1
2
1 2 3 ... k k 1
k k 1
k 1
2
k k 1 2 k 1
2
k 1 k 2
2
k 1 k 1 1
2
TM
n n n 1 2n 1
12 2 2 3 2 .... n 2 i2
6
i 1
1(1 1)(2.1 1) 6
6 6
k k(k 1)(2k 1)
i2 6
i1
k 1 (k 1)(k 1 1)(2(k 1) 1)
1 2 2 2 3 2 ........... (k 1) 2 i2 6
i1
1 2 2 2 3 2 ......... k 2 (k 1) 2
TM
k(2k 1) 6k 6 2k 2 k 6k 6
(k 1) (k 1)
6 6
2k 2 7 k 6 (k 1) (2k 2 4 k 3k 6)
(k 1)
6 6
n(3n 1)
1 4 7 ....... (3n 2)
2
(3.1 2)
1(3.1 1) 2
1
2 2
k(3k 1)
1 4 7 ....... (3k 2)
2
3k 2 k 6k 2 3k 2 5k 2
2 2
TM
2n n 3 n 10
2 10 (10) 3
2K K3
2 K 1
2 2K
3
1
1 2
K
10
3
1
1 2 K
K
2K K 3 2K K3
3
1
1 K3
K
3
K 1
K3
K
K 1 3
K 3
K3
K 1 3
TM
2K 1 K 1 3
2n n 3 n 10
2n n
2n
21
2n n 0
2K
2K K
2K K
2K K
1
2K K 1
2 K 2 K 1
2K K t
(K t) 2 K 1
1
2K K 1 2n n
TM
n 0 4 2n 1 3n 2
4 21 1 3 1 2
4 3 33
91 which is 13 7
4 2n 1 3 n 2
4 2 k 1 3 k 2
4 2 k 1 1 3 k 1 2
4 2 k 1 2 3k 2 1
TM
4 2 4 2k 1 4 2 3 k 2 – 3 k 2 3 1 3 k 2
4 2 4 2 k 1 3 k 2 3 k 2 – 4 2 3
4 2 13m 3 k 2 – 13
13 4 2 m – 3 k 2
n
i 3 {n ( n 1) 2} 2
(1) 3
2 2
1 (1 1) 2
2 2
2
k(k 1)
1 3 2 3 3 3 ... k 3
2
2
k(k 1)
1 3 2 3 3 3 ... k 3
2
TM
1 3 2 3 3 3 ... k 3 (k 1) 3
2
(k + 1)(k 2)
2
2
k(k 1) 3 k 2 (k 1) 2
(k 1) 3 (k 1) 3
2 4
k 2 (k 1) 2 4 (k 1) 3
4
k 2 (k 2 2k 1) 4 (k 3 3k 2 3k 1)
4
k 2 (k 2 2k 1) 4k 3 12k 2 12k 4
4
k 4 2k 3 k 2 4 k 3 12k 2 12k 4
4
k 4 6k 3 13k 2 12k 4
4
2
(k 1)(k 2)
2
(k 1) 2 (k 2) 2
4
(k 2 2k 1)(k 2 4k 4)
4
k 4 4k 3 4k 2 2k 3 8k 2 8k k 2 4k 4
4
k 4 6k 3 13k 2 12k 4
4
TM
a A
0, 1, 2, 3, 4
a, e, i, o, u
, 1, 2, 3, 1, 2, 1, 3, 3, 2, 2, 3, 1, 2, 3
TM
A
A
A B a, b a A and b B
A1 A2
TM
a
a a
a
a a a a
a a
a
TM
a a a
a a
a a a a
0 1 2
a , b .......
1 2 3
2 3
a , b ........
*
TM
V1
E4 E1
V4 V2
E3 E2
V3
TM
V1
E4 E1
V4 V2
E3 E2
V3
n=4
n=3 V1
n=1 n=2 V1
V1 V1 V2 V2 V3
e=0 e=1 V2 V3
e=3 V4
e=6
TM
Computer
10
9 11
12
8 7
13
TM
e– k
a, b, c ....... z
TM
, 0, 00, 000, .....
TM
y
{a nb n n 1} {a m b n n 0}
TM
Q, , , q 0 , F
q0 q0 q0 Q
TM
a b a b a b a Input tape
Tape reader
reading the input
symbol
Finite
control
q w
| q , w
|* ( q, )
Finite Automata
TM
S–
0
Start state
OR Start
S0
S+
n
Final state
Sn
F K
S1
S0 1
0
S1 S0
S0 S2
S4 S2 1
0
S4 S3
0
a a b b
S0 S1 S2 S3 S4
TM
S0 S4 a, b
S1 , S2 , S 3
q0 q1
q1 q2
q2 q2
a
a
S0 S2
S0 ' a' b
S2 S0
S1 S1
TM
,
Z 0, 1
1 0 1
S1 S2 S3 S4
0
S2
0
S0 1
0
S1 1 S1
S2
1
0 S 2 1000
01 S 1 000
TM
010 S 2 00
0100 S 2 0
01000 S 2
1S 1 011
10S 2 11
101S 1 1
1011S 1
S1
S0 S2 S1
S1 S2 S1
S2 S2 S1
S0
S2 S1
S0 S2
0
1 0
A B C
1
1
TM
0
S1
1
S0 1
1
S1
0 S2
S2 S1 0
q0 q1 q2 q3
TM
q0 q1
q1 q2
q2 q3
q3 q1
q3
q0
1 q 1 11111
11 q 2 1111
111 q 3 111
1111 q 1 11
11111 q 2 1
111111 q 3
(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 S0 S1
S1
(2,5,8) (0,3,6,9)
S2 (0,3,6,9)
(1,4,7)
TM
S0 , S1 S2 S0
From
start 3 6
go to state S0
3 6
from S0 to S0
36
1 S 1 21
input ends and we are in
12 S 0 1 final state S0
121 S 1
0
S S0
0, 1
1 1
1
S0 0
S1 S2 S1 S2 1
0 1 0
S0 S1 S2
S2
1 0 0 1
S1 S2 S1 S0
TM
0
q0 q1
0
1 1 1 1
0
q3 q2
q0
q0
q1
q2
q3
q0 q1 q3
q1 q0 q2
q2 q3 q1
q3 q2 q0
1 0
Start q0 0 q1 0 q2
TM
Start
0 1 0 0 1 1 0 0
q2 q0 q1 q0 q1 q2 q0 q0 q1 q2
q0
q0 q2 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
1
q0 q1
1
0 0 0 0
1
q2 q3
1
b b
aaa aaaaaa aaa
a q0
a
q1
a
q2
a
q3
TM
a a b
S0 S1 S2
b
S0 a
S1
S2
a a
0 0
1,0
q0 1 q1 0 q2 1 q4
1
0
q3
1
0 0
1,0
q0 1 q1 0 q2 1 q4
1
0
q3
TM
a, b
q0 a q1 b q2 b q3
b a
Start a b b
q0 q1 q2 q3
a
b a
1
0 0
Start 1
q0 q1 q2
a,b
TM
q 1 , abbb | q 2 , bbb
| q 3 , bb
| q 4 , b
| q 5 ,
q 1 , ababa | q 2 , baba
| q , aba
3
| q 4 , ba
5
| q , a
| q ,
1
W W 0 , 1
q0 1 q1 1 q2 1 q3
0 0 0 0, 1
Start 1 1 1
q0 q1 q2 q3
Q , , q 0 , F
q0 , q1, q2 , q 3
0, 1
q0 , q1, q2
TM
||
¦ ¦
S14 S15 return (operator, OR)
& &
S12 S13 return (operator, AND)
< =
S0 S1 S2 return (operator, LE)
Other
S3 return (operator, LT)
! Other
=
S4 S5 return (operator, EQ)
> =
S9 S6 S7 return (operator, GE)
= Other Other
S16 return S8 return (operator, GT)
(operator, NOT)
{a , b}
b b b
a a
q0 q1 q2
q3
a,b
TM
q0 q1 q0
q1 q2 q1
q2 q3 q2
q3 q3 q3
0, 1
0 0 0 0
q0 1 q1 1 q2 1 q3
{a , b}
( ab) n n 0
n
( ab) n 1
a
q0 q1
q 0 , ab | q 1 , b a b
q0 q1 q2
| q 0 ,
a
q0
TM
q 0 , ab | q 1 , b
| q 2 ,
q2
1-9
q0 q1
0
0-9
a
a,b
q0 b q1 a,b q2
q0
q2
q2 q2
L an b | n 0
1 1
0
q0 0 q1 0 q2
TM
a
q0 q1
a
b b b b
a
q3 q2
a
q0 1 q1 1 q2 1 q3
1 1
q4
q0 1 1 q2 1 q3
q1
1 1
q4
TM
{ a , b },
L { b m a b n : m , n 0} .
b + ab +
b b
q0 b q1 a q2 b q3
b a
q0 a q1
b
a
q2
q0
q1 q2
q0
q0 q1
a
Input b b a
Path q 0 q0 q1
Input b b a
Path q 0 q0 q2
Input b b a
Path q 0 q1 q1
TM
q0
FQ
L1
L2 a n bn
L1
0,1 0,1
0
Start 0 1 0 1
q0 q1 q2 q3 q4
q0
q1
0q 0 | 010101
00q 0 | 010101
TM
000q 1 | 10101
0001 q 2 | 01 01
00010q 3 | 101
000101q 4 | 01
0001010 q 4 | 1
00010101q 4 |
00010101 q4
L2
L2 a
q1
Start
q0
b
q2
q1 q2
q0
q 0 , q 1 , q 2 , q 3 , 0, 1 , , q 0 , q 3
q 0 , 0 q 0 , q 1
TM
q 0 , 1 0,1
q 0 , q 2
Start
q 1 , 0 q 3 q0 0 q1
q 2 , 0 q 2 , q 3
1 0
q 2 , 1 q 3
q 3 , 0 q 3 0,1
q2 q3
q 3 , 1 q 3
0,1
0
q0 q0 q1
q1 q3 q0
q2 q0 q3
q3 q1 q2
0
1
q 0 |
q0 q1
1q 1 |
1 0
| q 3 0 0
1
| q 2 q2 q3
| q 3
1
| q 1
| q 0
q 0 |
q 1 |
TM
q0
q1
q0
q1
M q 1 , q 2 , q 3 , , q 1 , q 3
q 1 , 0 q 2 , q 3 q 1 , 1 q 1
q 2 , 0 q 1 , q 2 q 2 , 1
q 3 , 0 q 2 q 3 , 1 q 1 , q 2
q1 q2, q3 q1
q2 q1, q2
q3 q2 q1, q2
1
0
q1 0 q2
0
1 0 0,1
q3
{a , b}
TM
a,b
a a,b a,b
q0 q1 q2 q3
q0
q0 q1
{0, 1}
0,1
q0 0 q1 1 q2
a a
q0 q1 q2
a,b
a
q 0 , q 1 , q 2 , , q 0 , q 2
Start a a
q0 q1 q2
q 0 , a a a | q 0 , a a
| q 1 , a
| q 2 ,
TM
q 0 , a a a | q 0 , a a
| q 0 , a
| q 1 ,
{0, 1}
1 1
q0 q1 q2
1 1 0 0
q0 q1 q2 q3 q4
0,1 0,1
Start 1 1 0 0
q0 q1 q2 q3 q4
q0 q 0 , q1 q0
q1 q2
q2 q3
q3 q4
q4 q4 q4
TM
q 0 , 111000 | q 0 , 1100
| q 0 , 100
| q 1 , 00
q1
q 0 , 11100 | q 0 , 1100
| q 1 , 100
| q 2 , 00
| q 3 , 0
| q 4 ,
q4
a , b
a,b a, b
q0 a q1 a q2 b q3 b q4
{0, 1}
1 1
q0 0 q1 0 q2
1 0
TM
0,1
q0 1 q1 1 q2 q3
0,1
TM
0 1 2
q0 0, q1 1, q2
q0
1
q0 q1
q0 q1
q1
q0 q2
q1 q2
Q, , , q 0 , F
Q, , , q 0 , F
Q
q0
q0
TM
a b c
Start q0 q1 q2
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
| q 2 , c
| q 2 ,
q,
TM
a b c
q0 q1 q2
q 0 q 0 , q 1 , q 2
q 1 q 1 , q 2 q1 q2
q1
q 2 q 2
TM
Fib(4) = 3
Fib(3) = 2 + Fib(2) = 1
1 1 0
Fib(1) + Fib(0)
1 0
TM
q0
q0 0 q1 0 q2
, , q 0 , F
q0
0
1 0
A B C
1 1
q0 1 q1 0 q2 1 q3
TM
b b b b a,b
q0 a q1 a q2 a q3 a q4
Dead
state
0
q0 q1
0
0,1 *
TM
1 1, 0
q0 0 q1 0 q2 0 q3
1 1 1 1 1
q0 0 q1 0 q2 0 q3 0 q4
0 1
q0 1 q1 1 q2 0 q3 0, 1
0 1
0, 1
q0 1 q1 1 q2 0 q3
0, 1
TM
letter | digit
q0 letter q1
0,1 0' s
1 0, 1
q0 0 q1 0 q2
q0 q 0 Q
F Q
.
TM
q0
1
0
q0 0 q1 1 q2 0 q3 1 q4
1 0
TM
TM
a a a
L1 L2
L1 L2
L1 L2
L*1
a
a aa aaa aaaa
a
a
L+ L
a R a
a aa aaa aaaa
L+
a
a a
a
TM
a aa aaa
a
a
a
a aa aaa
a
a aa a a a a a a
a a
(a b)
0, 1
TM
1 0 1 * 0
a a
a a
a a a a a aa aaa
a a
a , b , c
a a
a
a
a , b , c
a b c
L1 L2
TM
L1
L2
L1 L2
L1
L1
L2
a a a
3 rd 2nd 1st
a a a a
a aaa a a aaa
a , b
a a a
a , b
a a a
a a
a
TM
0 1 * 0 0 1 * 1 0 1 * 0 1 * 1 0 1 * 0 0 1 *
0
{0}
1
b * aaa * b * *
aaa
a
a , b
a
aaa a a a a a a
a a a
TM
{a , b}
a aa a aa
a
a
a
a
a
(0 1 0 1 )
NFA NFA
with without DFA
q i qi Q
TM
Q, , , q 0 , F
M Q, , , q 0 , F
F F q 0
M
q 0 , q 0
q 0 , q 0
q 0 , a q 0 , a
q 0 , wa q 0 , w , a
q 0 , w q 0 , w
q 0 , wa
q 0 , w
q 0 , wa
q 0 , wa q 0 , wa
q, a - closure q, , a
q , - closure q
TM
q 0
qi
qi
(q i , a)
q i , a
0 1 2
q0 q1 q2
q 0 q 0 , q 1 , q 2
q 1 q 1 , q 2
q 2 q 2
q 0
q2 q1 q2
q 0 , q 1 , q 2 , 0
q 0 , 0 q 1 , 0 q 2 , 0
q 0
q 0 q 0 , q 1 , q 2
(q 0 , 1) q 0 , , 1
q 0 , q 1 , q 2 , 1
q 0 , 1 q 1 , 1 q 2 , 1
q 1
q 1
(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 q 2 , 0
q 0 , q 1 , q 2 , 2
q 0 , 2 q 1 , 2 q 2 , 2
q 2
q 2
q 2
(q 1 , 2) q 1 , , 2
- closure q 1 , 2
q 1 , q 2 , 2
q 1 , 2 q 2 , 2
q 2
q 2
(q 2 , 2) q 2 , , 2
- closure q 2 , 2
q 2 , 2
q 2
q 2
TM
q 0 , 0 q 0 , q 1 , q 2 q 0 , 1 q 1 , q 2 q 0 , 2 q 2
q 1 , 0 q 1 , 1 q 1 , q 2 q 1 , 2 q 2
q 2 , 0 q 2 , 1 q 2 , 2 q 2
q1 q1, q 2 q2
q2 q2
0 1
0,1
q0 q1
q0 q1 q2
q 0 q 1 0,1,2
1,2
q 2 q2
q2
a
4 5
Start a b
0 1 2 3 8 9
6 7
b
TM
- closure
- closure
- closure
- closure
- closure
- closure
- closure
- closure
- closure
- closure
0, a
- closure 0, , a
- closure - closure ( 0), a
- closure 0, a
- closure 1
1
0, b
- closure 0, , b
- closure - closure 0 , b
- closure 0, b
- closure
1, a
- closure 1, , a
- closure - closure 1 , a
TM
1, b
- closure 1, , b
- closure - closure 1 , b
- closure 1, b
- closure
2 3 4 6 9
2, a
- closure 2, , a
- closure - closure 2 , a
- closure 2, 3, 4, 6, 9 , a
- closure 2, a 3, a 4, a 6, a 9, a
- closure 5
- closure 5
2, b
- closure 2, , b
- closure - closure 2 , b
- closure 2, 3, 4, 6, 9 , b
- closure 2, b 3, b 4, b 6, b 9, b
- closure 7
- closure 7
3, a
- closure 3, , a
- closure - closure 3 , a
- closure 3, 4, 6 , a
- closure 3, a 4, a 6, a
TM
- closure 5
- closure 5
3, b
- closure 3, , b
- closure - closure 3 , b
- closure 3, 4, 6 , b
- closure 3, b 4, b 6, b
- closure 7
- closure 7
4, a
- closure 4, , a
- closure - closure 4 , a
- closure 4, a
- closure 5
4, b
- closure 4, , b
- closure - closure 4 , b
- closure 4, b
- closure
5, a
- closure 5, , a
- closure - closure 5 , a
- closure 3, 4, 5, 6, 8, 9 , a
- closure 3, a 4, a 5, a
6, a 8, a 9, a
- closure 5
- closure 5
5, b
- closure 5, , b
TM
- closure 3, b 4, b 5, b
6, b 8, b 9, b
- closure 7
- closure 7
6, a
- closure 6, , a
- closure - closure 6 , a
- closure 6, a
- closure
6, b
- closure 6, , b
- closure - closure 6 , b
- closure 6, b
- closure 7
7, a
- closure 7, , a
- closure - closure 7 , a
- closure 3, 4, 6, 7, 8, 9 , a
- closure 3, a 4, a 6, a 7 , a
8, a 9, a
- closure 5
- closure 5
7, b
- closure 7, , b
- closure - closure 7 , b
- closure 3, 4, 6, 7, 8, 9 , b
- closure 3, b 4, b 6, b 7 , b
TM
8, b 9, b
- closure 7
- closure 7
8, a
- closure 8, , a
- closure - closure 8 , a
- closure 3, 4, 6, 8, 9 , a
- closure 3, a 4, a 6, a 8, a 9, a
- closure 5
- closure 5
8, b
- closure 8, , b
- closure - closure 8 , b
- closure 3, 4, 6, 8, 9 , b
- closure 3, b 4, b 6, b 8, b 9, b
- closure 7
- closure 7
9, a
- closure 9, , a
- closure - closure 9 , a
- closure 9, a
- closure
9, b
- closure 9, , b
- closure - closure 9 , b
- closure 9, b
- closure
TM
a
q0 q1 q2
q0, q1 q2
q 0 q 0
q 1 q 1 , q 2
q 2 q 2
q 0 , a
- closure q 0 , , a
- closure - closure q 0 , a
- closure q 0 , a
- closure q 1
q 1 , q 2
TM
q 0 , b
- closure q 0 , , b
- closure - closure q 0 , b
- closure q 0 , b
q 1 , a
- closure q 1 , , a
- closure - closure q 1 , a
- closure q 1 , q 2 , a
- closure q 1 , a q 2 , a
- closure
q 1 , b
- closure q 1 , , b
- closure - closure q 1 , b
- closure q 1 , q 2 , b
- closure q 1 , b q 2 , b
- closure q 2
- closure q 2
q 2
q 2 , a
- closure q 2 , , a
- closure - closure q 2 , a
- closure q 2 , a
- closure
q 2 , b
- closure q 2 , , b
- closure - closure q 2 , b
- closure q 2 , b
- closure q 2
q 2
TM
q0 q1, q 2
q1 q 2
q2 q 2
q1 q2 b
q1 q2 a b
q0 q1 q2
q2
b a
q0 q1 q2
0
a
- closure
- closure (q 0 ) {q 0 , q 1 , q 2 }
- closure (q 1 ) {q 1 , q 2 }
- closure (q 2 ) {q 2 }
(q 0 , a)
- closure ( (q 0 , ), a)
- closure ( - closure (q 0 ), a)
- closure ( (q 0 , q 1 , q 2 ), a)
- closure (q 0 , a) (q 1 , a) (q 2 , a)
- closure ( q 1 q 1 )
- closure (q 1 )
{q 1 , q 2 }
TM
(q 0 , b)
- closure ( (q 0 , ), b)
- closure ( - closure (q 0 ), b)
- closure ( (q 0 , q 1 , q 2 ), b)
- closure (q 0 , b) (q 1 , b) (q 2 , b)
- closure (q 0 q 0 )
- closure (q 0 )
{q 0 , q 1 , q 2 }
(q 1 , a)
- closure ( (q 1 , ), a)
- closure ( - closure (q 1 ), a)
- closure ({q 1 , q 2 }, a)
- closure (q 1 , a) (q 2 , a)
- closure (q 1 q 1 )
- closure (q 1 )
{q 1 , q 2 }
(q 1 , b)
- closure ( (q 1 , ), b)
- closure ( - closure (q 1 ), b)
- closure ( (q 1 , q 2 ), b)
- closure (q 1 , b) (q 2 , b)
- closure ( q 0 )
{q 0 , q 1 , q 2 }
(q 2 , a)
- closure ( (q 2 , ), a)
- closure ( - closure (q 2 ), a)
- closure (q 2 , a)
- closure (q 1 )
{q 1 , q 2 }
(q 2 , b)
- closure ( (q 2 , ), b)
- closure ( - closure (q 2 ), b)
- closure (q 2 , b)
- closure (q 0 )
{q 0 , q 1 , q 2 }
TM
q0 {q 1, q 2} {q 0, q 1, q 2}
q1 {q 1, q 2} {q 0, q 1, q 2}
q2 {q 1, q 2} {q 0, q 1, q 2}
0 1
q0 q1
TM
q0 {q 0, q 1} {q 1}
q1 {q 1}
0 1
q0 0,1 q1
TM
Q, , , q 0 , F M
M Q , , , q 0 , F
M M Q 2Q
F
Q q 1 , q 2 , q 3 , ... q i
q 0 , q 1 , q 2,...... 1 2 qi
q , q , ... Q
q0 q 0 q 0 .
q 1 , q 2 , q 3 , ... q i , a p 1 , p 2 , p 3 , ... p j
q 1 , q 2 , q 3 , .... q i , a p 1 , p 2 , p 3 , ... p j
q 1 , q 2 , q 3 , ... q i
a
p 1 , p 2 , ... p j
q 1 , q 2 , q 3 , .... q i , a a
p 1 , p 2 , ... p j
q 1 , q 2 , q 3 , ... q i p 1 , p 2 , ... p j
q 0 , x q 1 , q 2 , ... q i
q 0 , x q 1 , q 2 , q 3 , ... q i
q 0 q 0
q 0 , x a q 0 , x , a
q 0 , x p 1 , p 2 , ... p j
q 0 , x p 1 , p 2 , p 3 , ... p j
p 1 , p 2 , ... p j , a r1 , r2 , .... rk
q 0 , x a r1 , r2 , .... rk
M
Q , , , q 0 , F
M Q , , , q 0 , F M
M
Q
[q 1 , q 2 , q 3 , ......... q i ] Q
q 1 , q 2 , ....... q i , a q 1 , a q 2 , a ........ q i , a
q 1 , q 2 , ...... q k
q 1 , q 2 , ...... q k Q
q 1 , q 2 , ...... q k . q 1 , q 2 , ...... q n Q
Q
q 1 , q 2 , ...... q n Q
1 , q 2 , ...... q n
q
F
{ q 0 , q 1}, { a , b }, , q 0 , { q 1}
TM
q0 { q0 , q1 } { q1 }
q1 { q0 , q1 }
M Q , , q 0 , F
q 0 , 0 q 0 , q 1 q 0 , 0 q 0 , q 1
q0 q 0 .
q 0 , 0 q0 q 0, q1 q1 q 0, 1
q1 , 0 q1 q 0, q1 q1, 1
q 0 , q 1 , q 0 , q 1
q 0 , q 1 .
q 0 , q 1, 0 q 0 , 0 q 1 , 0
q 0 , q 1
q 0 , q 1
q 0 , q 1 , 0 q 0 , q 1
q 0 , q 1, 1 q 0 , 1 q 1 , 1
q 1 q 0 , q 1
q 0 , q 1
q 0 , q 1 , 1 q 0 , q 1
q1 q1
q 1 q 0 , q 1
q 1 , q 0 , q 1
TM
0 0
[q0] [q0,q1]
1 1
q0 q 0, q1 q1
1
q1 q 0, q1
[q1]
q 0, q1 q 0, q1 q 0, q1
0
0,1
q 0 A C
q 1 1
1
q 0 , q 1
B
TM
TM
F
TM
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
q1 0 q2
1
0
q0
1 1
0 q3 q4
q0 q 0, q1 q 0, q 3
q1 q 2
q2
q3 q 4
q4
TM
q 0 , 0 q 0 , q 1
q 0 , 0 q 0 , q 1
q 0 , 1 q 0 , q 3
q 0 , q 1
q 0 , q 1 , 0 q 0 ,0 q 1 , 0
q 0 , q 1 q 2
q 0 , q 1 , 0 q 0 , q 1 , q 2
q 0 , q 1 , 1 q 0 , 1 q 1 , 1
q 0 , q 3
q 0 , q 3
q 0 , q 1 , 1 q 0 , q 3
q 0 , q 3 q 0 , 1
q 0 , q 3 , 0 q 0 , 0 q 3 , 0
q 0 , q 1
q 0 , q 1
q 0 , q 3 , 0 [q 0 , q 1 ]
q 0 , q 3 , 1 q 0 , 1 q 3 , 1
q 0 , q 3 q 4
q 0 , q 3 , q 4
q 0, q 3 , 1 [q 0, q 3 , q 4 ]
q 1 , 0 [q 2 ]
q 1 , 1
q 2 , 0
q 2 , 1
TM
q 3 , 0
q 3 , 1 [q 4 ]
q 4 , 0
q 4 , 1
q 0 , q 1 , q 2 , 0 q 0 , 0 q 1 , 0 q 2 , 0
q 0 , q 1 q 2
q 0 , q 1 , q 2
q 0 , q 1 , q 2 , 0 [q 0 , q 1 , q 2 ]
q 0 , q 1 , q 2 , 1 q 0 ,1 q 1 , 1 q 2 , 1
q 0 , q 3
q 0 , q 3
q 0 , q 1 , q 2 , 1 [q 0 , q 3 ]
q 0 , q 3 , q 4 , 0 q 0 , 0 q 3 , 0 q 4 , 0
q 0 , q 1
q 0 , q 3 , q 4 , 0 [q 0 , q 1 ]
q 0 , q 3 , q 4 , 1 q 0 , 1 q 3 , 1 q 4 , 1
q 0 , q 3 q 4
q 0 , q 3 , q 4
[q 0 , q 3 , q 4 ] , 1 [q 0 , q 3 , q 4 ]
[q1] [q2 ]
[q 2 ]
TM
[q 3 ] [q 4 ]
[q 4 ]
[q 0 , q1 ] [q 0 , q1 , q 2 ] [q 0 , q 3 ]
[q 0 , q 3 ] [q 0 , q1 ] [q 0 , q 3 , q 4 ]
[q 0 , q1 , q 2 ] [q 0 , q1 , q 2 ] [q 0 , q 3 ]
[q 0 , q 3 , q 4 ] [q 0 , q1 ] [q 0 , q 3 , q 4 ]
[q 2 ], [q 4 ], [q 0 , q 1 , q 2 ] [q 0 , q 3 , q 4 ]
Disconnected
part
q1
q0
1 0
1 0
[q0,q3] 0 [q0,q1]
q2
1 0 1
1
q3
0
[q0,q3,q4] [q0,q1,q2] 1
1
q4
q0
1 0
q 1, q 2 , q 3 q4 1
[q0,q3] [q0,q1]
0
1 0 1
[q0,q3,q4] [q0,q1,q2]
1
0
0
TM
0
q1
0 0
Start
q0 1 0 1 q3
0
q2 0
q0 q1 , q 2
q1 q1 , q 2
q2 q1 , q 3
q3 q1 , q 2
q 0 , 0 q 1 , q 2
[q 0 ], 0 [q 1 , q 2 ]
[q 1 , q 2 ]
[q 0 ]
[q 0 ], 1
q 1 , 0 q 1 , q 2
[q 1 ], 0 [q 1 , q 2 ]
[q 1 ], 1
[q 2 ], 0
q 2 , 1 q 1 , q 3
[q 2 ], 1 [q 1 , q 3 ] [q 1 , q 3 ]
TM
[q 3 ], 0 [q 1 , q 2 ]
[q 3 ], 1
[q 1 , q 2 ] [q 1 , q 3 ].
q 1 , q 2
q 1 , q 2
[q 1 , q 2 ], 0 [q 1 , q 2 ]
q 1 , q 3
q 1 , q 3
[q 1 , q 2 ], 1 [q 1 , q 3 ]
q 1 , q 2 q 1 , q 2
q 1 , q 2
[q 1 , q 3 ], 0 [q 1 , q 2 ]
[q 1 , q 3 ], 1
TM
q 0 q1, q 2
q1 q1, q 2
q 2 q1,q 3
q 3 q1, q 2
0 q1
[q1,q2]
0
0
q0
0 1 q3
[q1,q3]
q2
0
q 1, q 2 , q 3
[q1,q2]
0
q0
0 1
q0 q1 [q1,q3]
q1
[q 1 , q 3 ] [q 1 , q 2 ]
TM
0 1
Start q0 0 q1 1 q2
- closure q 0 q 0
q 0 , q 1
' A , 1 - closure q 0 , 1
' B , 0 - closure q 0 , q 1 , 0
- closure q 0 , 0 q 1 , 0
- closure q 0 , q 1
q 0 , q 1
' B , 1 - closure q 0 , q 1 , 1
- closure q 0 , 1 q 1 , 1
- closure q 2
q 2
1
' C , 1 - closure q 2 , 1
q 2 C
TM
([p], a)
([p], b)
([q], a)
([q], b)
([r], a)
([r], b)
([p, q], a)
([p, q], b)
([p, q, r], a)
([p, q, r], b)
TM
a
b
[p] [p,q]
b b a b
a
[p,q,r] [p,r]
a
0,1
q0 0 q1 1 q2
Input 0 1
States
q0 {q0, q1} {q0}
q1 {q2}
q2
TM
'
Input
States 0 1
1 0
0
[q0] [q0, q1]
1 1
[q0, q2]
0
This part
1 can be
[q1] [q2] neglected.
TM
1 0
0
[q0] [q0, q1]
1
1
0
[q0, q2]
q0 q 0, q1 q0
q1 q2 q1
q2 q3 q3
q3 q2
q 0 , 0 q 0 , q 1
q 0 , 0 q 0 , q 1
q 0 , 1 q 0
q 0 , 1 q 0
q 0 , q 1 .
q 0 , q 1 , q 2
q 0 q 0, q1 q 0
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
q 0 , q 1 , q 2
q 0 , q 1 , q 2 , q 3 q 0 , q 1 , q 3 ,
q 0 , q 1 , q 2 , 0 q 0 , 0 q 1 , 0 q 2 , 0
q 0 , q 1 q 2 q 3
q 0 , q 1 , q 2 , q 3
q 0 , q 1 , q 2 , q 3
q 0 q 0, q1 q 0
q1 q 2 q1
q 2 q 3 q 3
q 3 q 2
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
TM
0,1
1 0,1 0,1
q0 q1 q2 qf
Input 0 1
States
q0 q0 {q0 ,q1}
q1 q2 q2
q2 qf qf
qf _ _
TM
Input 0 1
State
[q0] [q0] [q0, q1]
* [qf] – –
a , b
a, b
a b a
q0 q1 q2 q3
TM
q0 q 0 , q1 q0
q1 q2
q2 q3
q3
q 0 , a q 0 , q 1 q 0 , q 1
q 0 , b q 0
q 1 , a
q 1 , b q 2
q 2 , a q 3
q 2 , b
q 3 , a
q 3 , b
q 0 , q 1 , a q 0 , q 1 i. e. q 0 , q 1
q 0 , q 1 , b q 0 , q 2 = q 0 , q 2
q 0 , q 2 , a q 0 , q 1 , q 3 q 0 , q 1 , q 3
q 0 , q 2 , b q 0
q 0 , q 1 , q 3 , a q 0 , q 1
q 0 , q 1 , q 3 , b q 0 , q 2
TM
b a
a
q0 [q0,q1]
q 0 q 0 , q1 q 0
b
q1 q 2
q 2 q 3 a
a
q 3
[q0,q1,q3] [q0,q2]
q 0 , q1 q 0 , q1 q 0 , q 2
q 0 , q 2 q 0 , q1 , q 3 q0 b
q 0 , q1 , q 3 q 0 , q1 q 0 , q 2
q 1, q 2 q3
M a , b , c , d, 0,1 , a b , d
b , d b
b , c
(0 1) 01
0,1
q0 0 q1 1 q2
TM
q0 { q 0 , q1 } { q0 }
q1 { q2 }
q2
Q, , , q 0 , F
MD Q D , , D , q 0 , FD
- closure q 0 p1 , p2 , p 3 , pn p 1 , p 2 , p 3 , pn
p 1 , p 2 , p 3 , pn Q D
p 1 , p 2 , p 3 , p n
D [p 1 , p 2 , p n ], a - closure p 1 , a p 2 , a p n , a
n
- closure d p i , a
i 1
p 1 , p 2 , p 3 , pn Q D
pi
TM
b a
Start
q0 q1 q2
a
q 0 q 0 , q 1 , q 2
q 1 q 1 , q 2
q 2 q 2
q 0 q 0 , q 1 , q 2
( A , a) (( A , a))
(( q 0 , q 1 , q 2 ), a)
( q 0 , a) ( q 1 , a) ( q 2 , a)
q 1
q 1 , q 2
( A , b) (( A , b))
(( q 0 , q 1 , q 2 ), b )
(q 0 , b) ( q 1 , b) ( q 2 , b)
q 0
q 0 , q 1 , q 2
( A , a)
( A , b)
q 1 , q 2
( B , a) ( ( q 1 , q 2 ), a )
TM
q 1
q 1 , q 2
( B , b) (( q 1 , q 2 ), b )
(q 1 , b) ( q 2 , b)
q 0
q 0 , q 1 , q 2
b a
a b
a
A B A A B
b
B B A
0 1 2
q0 q1 q2
(q 0 ) q 0 , q 1 , q 2
(q 1) q 1 , q 2
(q 2 ) q 2
(q 0 ) q 0 , q 1 , q 2
, 0 (( q 0 , q 1 , q 2 ), 0)
( q 0 , 0) ( q 1 , 0) ( q 2 , 0)
q 0
q 0 , q 1 , q 2
, 1 (( q 0 , q 1 , q 2 ), 1)
( q 0 ,1) ( q 1 ,1) ( q 2 ,1)
TM
q 1
q 1 , q 2
, 2 (( q 0 , q 1 , q 2 ), 2)
( q 0 , 2) ( q 1 , 2) ( q 2 , 2)
q 2
q 2
( A , 0)
( A ,1)
0
( A , 2)
1
A B
( B , 0) ( q 1 , q 2 ) , 0 C
( q 1 , 0) ( q 2 , 0)
( B , 1) ( q 1 , q 2 ) , 1
( q 1 ,1) ( q 2 ,1)
q 1
q 1 , q 2
( B , 2) ( q 1 , q 2 ) , 2
( q 1 , 2) ( q 2 , 2) 0
1
q 2
1
A B
q 2
2
2
( B , 0)
C
( B , 1)
( B , 2)
TM
( C, 0) ( q 2 , 0)
0
1
( C, 1) ( q 2 , 1) A B 1
2
2
C
( C, 2) ( q 2 , 2)
2
q 0 , q 1 , q 2 q 1, q 2
q 2
c
, b, c
p , q , r p q
a
, c
A , a - closure A , a b
- closure p , q , r , a
r
- closure p, a q , a r , a
c
- closure p
- closure p
TM
p , q , r
A , b - closure A , b
- closure p , q , r, b
- closure p , b q , b r , b
- closure q r
- closure q - closure r
q r
q , r
A , c - closure A , c
- closure p, q , r , c
- closure p, c q , c r , c
- closure q , r q r
- closure q , r
- closure q - closure r
q , r
B , a - closure B , a
- closure q , r , a
- closure q , a r , a
- closure p
- closure p
p , q , r
B , b - closure B , b
- closure q , r , b
- closure q , b r , b
- closure r
- closure r
TM
B , b r
B , c - closure B , c
- closure q , r , c
- closure q , c r , c
- closure q r
q , r
C , a - closure C, a
- closure r , a
C, b - closure C, b
- closure r , b
C, b
C, c - closure C, c
- closure r , c
- closure r
a c
b, c
A B
a
b
Input
a b c
State
A A B B C
B A C B c
C C
TM
p
a a
b
p q
A, a - closure A, a c b
- closure p, a c
r
- closure p
a
A, b - closure A, b
- closure p, b
- closure q
A, b
(A, c) - closure ( (A, c))
- closure ( (p, c))
- closure (r) = {q, r}
TM
- closure
- closure (p) - closure (q)
B, c
p, q q, r
TM
(C, a)
C, b - closure C, b
- closure q, r , b
- closure q, b r, b
- closure r
- closure
(C, b)
C, c - closure C, c
- closure q, r , c
- closure q, c r, c
- closure p
- closure
(C, c)
(D, a)
D, b - closure D, b
- closure p, q, r , b
- closure p, b q, b r, b
- closure q r
TM
- closure q, r
- closure (q) - closure r
(D, b)
D, c - closure D, c
- closure p, q, r , c
- closure p, c q, c r, c
- closure r p
- closure (r) - closure p
q, r p
(D, c)
a c
A C
b
c
b c a
b
B D
a
a,b,c
TM
- closure p 0 0
A, 0 - closure A,0 1
- closure p
p 1
A, 0
A, 1 - closure A,1
- closure p,1 r
- closure q 0
p, q
A, 1
A, 1
B, 0 - closure B,0
- closure p, q ,0
- closure p,0 q,0
- closure p, q
- closure p - closure q
p, q
B, 0
B, 1 - closure p, q ,1
TM
p, q p, q, r
p, q, r
B, 1
C, 0 - closure p, q, r ,0
- closure p,0 q,0 r,0
- closure p q r
- closure p - closure q - closure r
p p, q p, q, r
p, q, r
C, 0
C, 1 - closure p, q, r ,1
- closure p,1 q,1 r,1
- closure q r,
- closure q - closure r
p, q p, q, r
p, q, r
C, 1
0 1
0 0 0, 1
A A B
1 1
A B C
B B C
C C C
TM
q2 0 q3
0 0
q0 q1 q6 q7 q8 q9
q4 1 q5
- closure q 0 q 0 , q 1 , q 2 , q 4 , q 7
A,0 - closure q 0 , q 1 , q 2 , q 4 , q 7 ,0
- closure q 3 , q 8
- closure q 3 - closure q 8
q 3 , q 6 , q 1 , q 2 , q 4 , q 7 q 8
q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8
A, 0
A, 1 - closure q 0 , q 1 , q 2 , q 4 , q 7 ,1
- closure q 5
q 5 , q 6 , q 1 , q 2 , q 4 , q 7
q 1 , q 2 , q 4 , q 5 , q 6 , q 7
A, 1
B, 0 - closure q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 ,0
- closure q 3 , q 8 , q 9
q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 , q 9
TM
B, 0
B, 1 - closure q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 ,1
- closure q 5
B, 1
C, 0 - closure q 1 , q 2 , q 4 , q 5 , q 6 , q 7 ,0
- closure q 3 , q 8
C, 0
C, 1 - closure q 1 , q 2 , q 4 , q 5 , q 6 , q 7 ,1
- closure q 5
C, 1
D, 0 - closure q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 ,0
- closure q 3 , q 8 , q 9
D, 0 0
A B
D, 1 - closure q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 , q 9 ,1
1
- closure q 5 1 0
0
D, 1
C D 0
1
NFA closure
letter
5 6
letter
1 2 3 4 7 10
digit
8 9
{ 1}
( A, letter) closure ((1, letter)
TM
closure ( 2)
{2, 3, 4 , 5, 8, 10}
(A, letter)
( A, digit) closure ((1, digit))
(A digit)
(B, letter) closure ((2, 3, 4, 5, 8, 10), letter)
closure ( 6)
{ 6, 7, 4, 5, 8, 10}
{ 4, 5, 6, 7, 8, 10}
(B, letter)
(B, digit) closure ((2, 3, 4, 5, 8, 10), digit)
closure (9)
{ 9, 7, 4, 5, 8, 10}
{ 4, 5, 7, 8, 9, 10}
(B, digit)
(C, letter) closure ((4, 5, 6, 7 , 8, 10), letter)
closure ( 6)
(C, letter)
(C, digit) closure ((4, 5, 6, 7 , 8, 10), digit)
closure ( 9)
(C, digit)
(D, letter) closure ((4, 5, 7 , 8, 9, 10), letter)
closure ( 6)
(D, letter)
(D, digit) closure ((4, 5, 7 , 8, 9, 10), digit)
TM
closure ( 9)
(D, digit)
letter
A B
letter
t
gi
di
digit
letter
D C
letter
digit
letter / digit
letter
A B
TM
( q 1 , x) ( q 2 , x)
x
0 0 Q 01 , Q 02 Q 01
Q 02 Q – Q 01
K 1 K QK
i K q1
q2 QK
i ( q 1 , a) ( q 2 , a)
( q 1 , a) ( q 2 , a)
K
QK
i
QK
i K K 1
n n n 1
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
TM
q0 q1 q0
q1 q0 q2
q2 q3 q1
q3 q3 q0
q4 q3 q5
q5 q6 q4
q6 q5 q6
q7 q6 q3
q3 Q 01 Q 02
Q 01 q 3 q 3
Q 02 Q Q 01
q 0 , q 1, q 2 , q 4 , q5 , q 6 , q7
0 {{q 3 }, {q 0 , q 1 , q 2 , q 4 , q 5 , q 6 , q 7 }}
1
q0 q2
q0 q1 q0
q2 q3 q1
q0 q2 q1 q3 q1 q3
q0 q4
q0 q1 q0
q4 q3 q5
q0 q4 q1 q3
q0 q4 q0 q7
q0 q7 q0 q 1 q5 q6
TM
Q 1 q 3
Q 2 q 0 , q 1 , q 5 , q 6
q2 q4
Q 3 q 2 , q 4
q3 q2 q4 q2
q4 q1 q5 q1 q5 q2 q4
Q 02 q7
Q 4 q 7
1 {q 3 }, {q 0 , q 1 , q 5 , q 6 }, {q 2 , q 4 }, {q 7 }
2
Q 21 q 3
q0 q6
a b
q0 q1 q0
q6 q5 q6
q0 q1 q5
a b a b
q0 q1 q0 q0 q1 q0
q1 q0 q2 q5 q6 q4
Q 22 {q 0 , q 6 }
q1 q5
TM
Q 23 {q 1 , q 5 } a b
q1 q0 q2
q2 q4
Q 24 {q 2 , q 4 } q5 q6 q4
Q 52 {q 7 }
Lie in Lie in
one set. one set.
2 {q 3 }, {q 0 , q 6 }, {q 1 , q 5 }, {q 2 , q 4 }, {q 7 }
3
Q 13 {q 3 }
q0 q6
Q 23 {q 0 , q 6 }
q1 q5
Q 33 {q 1 , q 5 }
q2 q4
Q 43 {q 2 , q 4 }
Q 53 {q 7 }
3 {q 3 }, {q 0 , q 6 }, {q 1 , q 5 }, {q 2 , q 4 }, {q 7 }
3 2 2
[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 ]
TM
b b
[q0,q6] q3 q7
a
a a a
b
[q1,q5] [q2,q4]
b
Start q0 0 1 q3
0
0
q1 1 q2 1
1
0 0
q5
1
q6 1
1 0
1
0
q4 0 q7
q0 q1 q5
q1 q6 q2
q2 q0 q2
q3 q2 q6
q4 q7 q5
q5 q2 q6
TM
q6 q6 q4
q7 q6 q2
Q 01
Q 01 { q 2}
Q 02 Q 01
{q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 7 }
0 {q 2 } {q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 7 }
1
{q 2 } Q 1 {q 2 }
0 {q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 7 }
q0
Input Input
0 0 1
State 1 State
q0 q1 q5 q0 q1 q5
q1 q6 q2 q3 q2 q6
0 0
Here q5 Q 2 and q2 Q 1 .
Here q1 Q02 and q2 Q01 .
Hence they are not 1-equivalent.
Hence they are not 1-equivalent.
Input Input
0 1 0 1
State State
q0 q1 q5 q0 q1 q5
q5 q2 q6 q7 q6 q2
q0 q 3 , q5 q7
q0 q4, q6
TM
Input Input
0 1 0 1
State State
q0 q1 q5 q0 q1 q5
q4 q7 q5 q6 q6 q4
Same states
Both Q02 Both Q02
{q 0 , q 4 , q 6 }
1 Input
0 1
State
Q 2 {q 0 , q 4 , q 6 }
q1 q6 q2
{q 1 , q 3 , q 5 , q 7 } q3 q2 q6
q1 q 3 q5
q6 Q02 and q2 Q01 .
q7
Both are not 1-equivalent.
q1 q7
{q 1 , q 7 }
Q 3 {q 1 , q 7 }
Input Input
0 1 0 1
State State
q1 q6 q2 q1 q6 q2
q5 q2 q6 q7 q6 q2
q6 Q02
q6 Q02 and q2 Q01 . q2 Q01
Both are 1-equivalent.
Both are not 1-equivalent. Both are 1-equivalent.
q3 q5
Q 4 {q 3 , q 5 }
TM
Input
1 {q 2 }, {q 0 , q 4 , q 6 }, {q 1 , q 7 }, {q 3 , q 5 } State
0 1
2 q3 q2 q6
1 {q 0 , q 4 , q 6 }
q5 q2 q6
q0 q4 q6
q0 q4 q0, q6
Clearly both the states
q3 q5 are 1-equivalent.
q1 q7
2 {q 2 }, {q 0 , q 4 }, {q 6 }, {q 1 , q 7 }, {q 3 , q 5 }
Input Input
0 1 0 1
State State
q0 q1 q5 q0 q1 q5
q4 q7 q5 q6 q6 q4
q0 q4
q1 q7
q3 q5
2 3 2
[q 2 ], [q 0 , q 4 ], [q 6 ], [q 1 , q 7 ], [q 3 , q 5 ]
q 0 [q 0 , q 4 ]
F [q 2 ]
TM
[q 0, q 4 ] [q1, q7 ] [q3, q5 ]
[q6 ] [q6 ] [q 0, q 4 ]
q0 q4 q1 q7 q 3 q5
Start 0 1
[q0,q4] [q2]
0 1
1
0 [q1,q7]
0
[q3,q5] 1 0
[q6]
TM
0 1
Start 0 1 0
A B C D
1
0
1
0 1
0
1 1 0
E F G H
1
0
TM
A B C D E F G
C X X
D X
E X
F X
G X
H X
A B C D E F G
B X
C X X
D X X X
E X X X
F X X X X
G X X X X X X
H X X X X X X
A B C D E F G
TM
0 1
A B D
B G C
C A C
D C G
G G A
(p, w) (q, w)
(p, w) (q, w)
TM
(G, 0) (G, 1)
(H, 0) (H, 1)
(E, 0) (E, 1)
(H, 0) (H, 1)
TM
(E, 0) (E, 1)
(G, 0) (G, 1)
(E, 0) (E, 1)
(F, 0) (F, 1)
(D, 0) (D, 1)
(H, 0) (H, 1)
(D, 0) (D, 1)
(G, 0) (G, 1)
(D, 0) (D, 1)
TM
(F, 0) (F, 1)
(D, 0) (D, 1)
(E, 0) (E, 1)
(B, 0) (B, 1)
(G, 0) (G, 1)
(B, 0) (B, 1)
(F, 0) F, 1
(B, 0) (B, 1)
(E, 0) (E, 1)
(B, 0) (B, 1)
(D, 0) (D, 1)
(A, 0) (A, 1)
(H, 0) (H, 1)
(A, 0) (A, 1)
(G, 0) (G, 1)
TM
(A, 0) (A, 1)
(E, 0) (E, 1)
(A, 0) (A, 1)
(B, 0) (B, 1)
TM
q1
1
0 0 0
1
q0 q3 q4 0,1
1 0 1
q3
q0 q1 q3
q1 q2 q4
q2 q1 q4
q3 q2 q4
q4 q4 q4
Q 01 Q 02 q4
Q 01 {q 4 }
Q 02 Q Q 01 {q 0 , q 1 , q 2 , q 3 }
{q 4 }, {q 0 , q 1 , q 2 , q 3 }
TM
q0 q1 q1 q2
q1 q2 Q 02 q0 q1
q 3, q4 q 3 Q 02 q 4 Q 01
q0 q2 q0 q2
q1 q0 q2 q3 q4 q 3 Q 02
q 4 Q 01 q0 q2 q0
q3
Q 1 {q 4 }
Q 2 {q 0 }
Q 3 {q 1 , q 2 , q 3 }
1 {q 4 }, {q 0 }, {q 1 , q 2 , q 3 }
{q 1 , q 2 , q 3 } q1 q2 q2 q1
q4 q1 q3
{q 2 , q 3 }
2 {q 4 }, {q 0 }, {q 1}, {q 2 , q 3 }
3 {q 0 }, {q 2 }, {q 4 }, {q 1 , q 3 }
0,1
q0 q1
0 1
q0 q1 q1 0
q2 q4
q1 q2 q4
1
q2 q1 q4
0,1
q4 q4 q4
TM
Can be
Can be Regular
converted
converted expression
to
Deterministic
NFA with
finite
moves
automatas
Can be Can be
converted NFA without converted
moves
to
a a
Start a
q0 q0 q1 q0
r r1 r2 r1 r2
TM
M 1 Q 1 , 1 , 1 , f1
M2 Q 2 , 2 , 2 , f2
M 1 L r1 r1
M1 M 2 r2
Q1 M1
Q2 M2
Q1 Q2 Q1 Q2
q0 f0
Q 1 Q 2 q 0 , f0 , 1 2 , q 0 f0
q 0 , q 1 , q 2
a 1 a Q 1 f1 a 1
a a Q 2 f2 a 2
f1 , f2 , f0
q1 M1 f1
Start
q0 f0
q2 M2 f2
q0 f0
q1 q2
q1
M1
f1 f0 q2
M2 f2 f0 M 1 L M 2
M1 M2
r1 r2 r1 r2 M1 M2
M 1 r1 M 2 r2
Q 1 Q 2 , 1 2 , q 1, f2
TM
a a
Q 1 f1 1 Start
q1 M1 f1 q2 M2 f2
f1 , q 2
a a
Q2 a 1
q1 a f1
f1 q2 f2 q2
f2
a
a M 1 M 2
M 1 M 2
r1* r1
M1 L M 1 L r1
1 0 , f0 , 1 , q 0 , f0
Q q
q 0 , f1 , q 1 , f0
a a
Q 1 f1 a 1
Start
q0 q1 M1 f1 f0
M1
q0 q1
q0 f0
f1 q1 f1 f0
a aa aaa a
M 1 *
b ba *
TM
a r1 r2
r1
r2 a
r1
Start b
q1 q2
r1
r2 a r3 r4 r3
r4 a
Start b
r3 q3 q4
r4 r3
Start a
q5 q6 q7 q8
r4
r2 r2 r 3 r4
Start b a
q3 q4 q5 q6 q7 q8
r2
r1 r2 a
b
q1 q2
Start
q0 q9
b a
q3 q4 q5 q6 q7 q8
TM
( 0 1) ( 00 11)
r1 r2
0
q2 q3
q0 q1 q6 q7
1
q4 q5
0 0
q8 q9 q10 q11
q15
1 1
q12 q13 q14
TM
q15
q11
1 q14
0q10
1 q13
0
q12
q9
q8
q7
q6
q3
q5
1
0
q2
q4
q1
q0
Start
TM
q1 a q2 q8 a q9
b
q0 q5 q6 q7 q12
b b
q3 q4 q10 q11
q13
q14 q16
a b
q15 q17
q18
0
0 00 *
Start 0
q1 q2
r1 r2
r1
r2 00 *
Start 0 0
q3 q4 q5 q6 q7
Start q0 q1 0 q2 q3 0
q4 q5 q6 q7
TM
01 2 * 1
r1
r1 r2 r 3 Start 0 1
q1 q2 q3
r1 r2 r3
r2
r3
Start 2
q4 q5 q6 q7 Start 1
q8 q9
0 1
q1 q2 q3
Start 1
q0 q8 q9 q10
2
q4 q5 q6 q7
1 0
q0 q1 q2
TM
0
q5 q6
q3 q4 q7 q10
1
q8 q9
0 1 q13
q11 q12
1 q3 0 q4
q0 q1 q2 q3
q0 q1 1 q2 q3 0 q4
q7
0
q5 q6
TM
1
0
q14
q13
q12
q11
q10
q7
q9
1
0
q6
q8
0
1q5
q4
q3
q2
q1
q0
Start
TM
q1 1 q2 q3 1 q4
q0
q7 q12
0 0 1
q6 q7 q8 q9 q10 q11
0
q13
0 1
q2 q3 q4 q5
0
q0 q1 q6 q13 q14 q15 q16 q17
0 0 1
q7 q8 q9 q10 q11 q12
TM
q1 b q2
q0 q5 q6 b q7 q8 a q9 q10
q3 q4 a
a
q11
(q 0 ) q 0 , q 1, q 3 , q 6
(q 1 ) q1
(q 2 ) {q 2 , q 5 , q 0 , q 1 , q 3 , q 6 } {q 0 , q 1 , q 2 , q 3 , q 5 , q 6 }
(q 3 ) q3
(q 0 ) {q 0 , q 1 , q 3 , q 6 }
{ (q 0 , q 1 , q 3 , q 6 ), a}
{ (q 0 , a) (q 1 , a) (q 3 , a) (q 6 , a)}
{ q 4 }
{q 4 }
{q 0 , q 1 , q 3 , q 4 , q 5 , q 6 }
{ (q 0 , q 1 , q 3 , q 6 ), b}
{ (q 0 , b) (q 1 , b) (q 3 , b) (q 6 , b)}
{ q 2 q 7 }
{q 2 } {q 7 }
{q 0 , q 1 , q 2 , q 3 , q 5 , q 6 } {q 7 , q 8 }
{q 0 , q 1 , q 2 , q 3 , q 5 , q 6 , q 7 , q 8 }
TM
{ (q 0 , q 1 , q 3 , q 4 , q 5 , q 6 ), a}
{(q 0 , a) (q 1 , a) (q 3 , a) (q 4 , a) (q 5 , a) (q 6 , a)}
{ q 4 }
{q 4 }
{ (q 0 , q 1 , q 3 , q 4 , q 5 , q 6 ), b}
{ (q 0 , b) (q 1 , b) (q 3 , b) (q 4 , b) (q 5 , b) (q 6 , b)}
{ q 2 q 7 }
{q 2 } {q 7 }
{ (q 0 , q 1 , q 2 , q 3 , q 5 , q 6 , q 7 , q 8 ), a}
{ (q 0 , a) (q 1 , a) (q 2 , a) (q 3 , a)
(q 5 , a) (q 6 , a) (q 7 , a) (q 8 , a)}
{ q 4 q 9 }
{q 4 } {q 9 }
{q 0 , q 1 , q 3 , q 4 , q 5 , q 6 } {q 9 , q 10 }
{q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 9 , q 10 }
{ (q 0 , q 1 , q 2 , q 3 , q 5 , q 6 , q 7 , q 8 ) , b}
{ (q 0 , b) (q 1 , b) (q 2 , b) (q 3 , b),
(q 5 , b) (q 6 , b) (q 7 , b) (q 8 , b)}
{ q 2 q 7 }
{q 2 } {q 7 }
TM
{{q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 9 , q 10 }, a}
{ (q 0 , a) (q 1 , a) (q 3 , a) (q 4 , a) (q 5 , a)
(q 6 , a) (q 9 , a) (q 10 , a)}
{ q 4 q 11}
{q 4 } {q 11}
{q 0 , q 1 , q 3 , q 4 , q 5 , q 6 } {q 11}
{q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 11}
{ (q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 9 , q 10 ), b }
(q 0 , b) (q 1 , b) (q 3 , b) (q 4 , b) (q 5 , b)
(q 6 , b) (q 9 , b) (q 10 , b)}
{ q 2 q 7 }
{q 2 } {q 7 }
{ (q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 11 ), a}
{ (q 0 , a) (q 1 , a) (q 3 , a)
(q 4 , a) (q 5 , a) (q 6 , a) (q 11 , a)}
{ q 4 }
{ (q 0 , q 1 , q 3 , q 4 , q 5 , q 6 , q 11 ), b}
{ (q 0 , b) (q 1 , b) (q 3 , b) (q 4 , b)
(q 5 , b) (q 6 , b) (q 11 , b)
{ q 2 q 7 }
{q 2 } {q 7 }
TM
b b
A C
a b a
b
E a D
( a|b) ab
q2 a q3
q0 q1 q6 q7 a q8 b q9
q4 b q5
closure (q 0 ) {q 0 , q 1 , q 2 , q 4 , q 7 }
A a closure ( (q 0 , q 1 , q 2 , q 4 , q 7 ), a)
closure (q 3 , q 8 )
{q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 }
TM
A a
A a
A b closure ( (q 0 , q 1 , q 2 , q 4 , q 7 ), b)
closure (q 5 )
{q 1 , q 2 , q 4 , q 5 , q 6 , q 7 }
A b
B a closure ( (q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 ), a)
closure (q 3 , q 8 )
B a
B b closure ( (q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 ), b)
closure (q 5 , q 9 )
{q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , q 9 }
B b
C a) closure ( (q 1 , q 2 , q 4 , q 5 , q 6 , q 7 ), a)
closure (q 3 , q 8 )
C a)
C b) closure ( (q 1 , q 2 , q 4 , q 5 , q 6 , q 7 ), b)
closure (q 5 )
C b)
D a) closure ( (q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , q 9 ), a)
closure (q 3 , q 8 )
D a)
D b) closure ( (q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , q 9 ), b)
closure (q 5 , q 9 )
D b)
TM
a
i/p
a b a
State A B
A B C
b a b
a
B B D
C B C C D b
D B D
b
a
b
i/p a
a b A B
State
A B A b
a
B B D
D
D B D
b
10 ( 0 11) 0 * 1
TM
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
TM
q0 q3 { q1, q2 }
q1 qf
q2 q3
q3 q3 qf
qf
[q1] [q f ]
[q 2 ] [q 3 ]
[q 3 ] [q 3 ] [q f ]
[q f ]
(a + b) a
(a + b) a + b
q0 q1 q0 q1
TM
a,b
a
(a + b) a
q0 q1 q2
q0 q1
b
b
( 0 1) ( 00 11)( 0 1)
( 0 1) ( 00 11) ( 0 1)
q1 0 q2
(00+11) (0+1)*
q0 q3 q6 q7 qf
1
q4 q5
q1 0 q2 q8 0 q9
(00+11)
q0 q5 q6 q7 q12 q13
1 1
q3 q4 q10 q11
TM
0,1 0,1
q0 00+11 q1
0,1 0,1
0,1 0,1 0 0
q0 q1 qf
q0 00 q1
1 1
q0
Input
0 1
State
A A B
B C B
C A B
0
1
1 0
A B C
1
0
1
0
0*1
A B C
1
0
0*11*
A B C
1
0
TM
+
0*1 0(10)*0
+
0*1 0(10)*
A B A
0 * 1 0 10 * 0 *
x y x x y *
x, y
x, y x
q0 q1 q2
q 0 | xxyx
x q 1| xyx
x x q 2 | y x
x x y q 2 | x
x x y x q 2 |
a b a b * aa
(a+b)(a+b)*a a
q0 q1
(a+b) (a+b)* a a
q0 q1 q2 q3 q4
a, b
q0 a, b q1 a q2 a q3
TM
q 0 , a q 1
q 0 , b q 1 q0 q1 q1
q 1 , a q 1 , q 2 q1 q1,q2 q1
q 1 , b q 1 q2 q3
q 2 , a q 3 q3
q 2 , b
q 3 , a b b
q 3 , b a, b a
q0 q1 [q1,q2]
q 1 , q 2 , a q 1 , q 2 , q 3
q 1 , q 2 , b q 1 a
b
q 1 , q 2 , q 3 , a q 1 , q 2 , q 3
q1,q2,q3
q 1 , q 2 , q 3 , b q 1
a
a | b *
q2 a q3
Start a
q0 q1 q6 q7 q8
b
q4 b q5
q9
b
q10
(q 0 ) q 1 , q 2 , q 4 , q 7
A, a q 1 , q 2 , q 4 , q 7 , a
q 3 , q 8
TM
q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8
A, a
A, b q 1 , q 2 , q 4 , q 7 , b
q 5 q 1 , q 2 , q 4 , q 5 , q 6 , q 7
A, b
B, a q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 , a
q 3 , q 8
B, a
B, b q 1 , q 2 , q 3 , q 4 , q 6 , q 7 , q 8 , b
q 5 , q 9
q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , q 9
B, b
C, a q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , , a
q 3 , q 8
C, a
C, b q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , b
q 5
C, b
D, a q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , q 9 , a
q 3 , q 8
D, a
D, b q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , 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 , q 8
E, a
E, b q 1 , q 2 , q 4 , q 5 , q 6 , q 7 , q 10 b
TM
q 5
E, b
I/P a b b
State
A B C C
b
B B D b a
b
C B C a b
A B D E
D B E a
a a
E B C
b
a b
A B D E
a
b
a a
0
0
q0 0 q1 1 qf
0* (01) (0/111)*
q0 qf
111
0
0
q0 0 q1 1 qf 1 q2
1
1
q3
TM
Input 0 1
State
q0 q0, q1
q1 qf
q2 q3
q3 qf
qf qf q2
*
Input 0 1
State
q0 q0,q1
q1 qf
q2 q3
q3 qf
q0,q1 q0,q1 qf
0
q0 0 q0,q1
q2
1 0
qf
1
1
q3
TM
( ab a) .
q2 a q3 b q4
q0 q1 q7 q8
q5 q6
a
q0 a q1
0,1 0,1
q0 0 q1 1 q2 0 q3 1 q4
TM
q 1 , q 2 , .... q n , , q 1 , F
rikj q i , x q j qi qj
rikj
ri0j
| q i , q j
if i j
| q i , q j i j
rikj
rikj ri0j
ri0j q i , a q j ri0j
a a
a
rikj
rikj r r * r r
k 1
ik
k 1
kk
k 1
kj
k 1
ij
rinj
q j 1 , q j 2 , q j p
TM
Start 0
q1 q2
ri j
r11
qi qj
i j qi qj r12
0 r21
r11
0 r22
r11
qi qj
0
r11
0
r12 q1 q2
0
r12
0
r21 q2 q1 ij
0
r22 q2 q2
r * r
1 k 1 k 1 k 1 k 1
r11 rikj ri k ri j
kk kj
1
r11 0
r11 r110 * r110 r110
*
1
r11
TM
1
r12 * 0 0
0 0
1 1 0 r0 * r0 r0
r21 r21 r21 11 11 21
*
1 1 0 r0 * r0 r0
r22 r22 r21 11 12 22
* 0
2
r12 q2
q1
2
r12 r121 r221 * r221 r121
0 * 0
00
2
r12
1
Start 0
q1 q2
rijk
k 1
rik r * r r
k 1
kk
k 1
kj
k 1
ij
TM
r11
r12
r21
r22 1
r11
1
r11 0
r11 r110 * r110 r110
*
1
r11
r12
1
r12 0
r11 r110 * r120 r120
0 0
1
r12
r21 1
r21 0 r
r21 11 * r110 r21
0
1
r21
r22 1
r22 r21 r11 * r12
0 r0
22
* 0 1 1
q1 q2
2
r12 1
r12
1
r22 1
* r22 1
r12
0 1 * 1 0
2
r12 01 * 0
TM
1 0,1
1
1 2
r11 1
r11 0
r11 0
r11 (r11 ) r11
0
1
r11
r12 1
r12 0
r12 0
(r11 0 0
) (r11 ) r12
1
r12
r21 1
r21 0
r21 0
r21 (r11 ) r11
0
1
r21
r22 1
r22 0
r22 0
r21 0 0
( r11 ) r12
2
r12
2 1 1 1 1
r12 r12 r12 ( r22 ) r22
TM
1 0,1
0
1 2
1
r11 0
r11 (r11 ) r11
0 0
r11
1
r11
1 0 0 0 0
r12 r12 (r11 ) (r11 ) r12
1
r12
1
r21 0
r21 0
r21 (r11 ) r11
0
1
r21
TM
1
r22 0
r22 0
r21 (r11 ) r12
0
2
r12
2 1 1 1
r12 r12 r12 (r22 ) r22
q1 0 q2 1 q3
0 0,1
0
r11
0
r12
0
r13
0
r21
TM
0
r22
0
r23
0
r 32
0
r 31
0
r 33
1 0 0 0 0
r11 r11 r11 (r11 ) r11
1
r11
1
r12 0
r12 0 0 0
r11 (r11 ) r12
1
r13 0
r13 0 0 0
r11 (r11 ) r13
1 0 0 0 0
r21 r21 (r11 ) r11 + r11
1
r22 0
r22 0 0 0
+ r21 (r11 ) r21
1
r22
1
r23 0
r23 0 0 0
+ r21 (r11 ) r13
1
r23
1 0 0 0 0
r 31 r 31 + r 31 (r11 ) r11
1
r 31
1 0 0 0 0
r 32 r 32 + r 31 (r11 ) r12
1
r 32
1
r 33 0
r 33 0
+ r 31 0 0
(r11 ) r13
1
r 33
2 1 1 1 1
r11 r11 r12 (r22 ) r21
2
r11
TM
2 1 1 1 1
r12 r12 r12 (r22 ) r22
2
r12
2 1 1 1 1
r13 r13 r12 (r22 ) r23
2
r13
2 1 1 1 1
r21 r21 r22 (r22 ) r21
2 1 1 1 1
r22 r22 r22 (r22 ) r22
2 1 1 1 1
r23 r23 r22 (r22 ) r23
2
r23
2 1 1 1 1
r 31 r 31 r 32 (r22 ) r21
2
r 31
TM
2 1 1 1 1
r 32 r 32 r 32 (r22 ) r22
2 1 1 1 1
r 33 r 33 r 32 (r22 ) r23
2
r 33
3 2 2 2 2
r12 r12 r13 (r 33 ) r 32
q1
q 2 , q 3 , q 4 , ... q n qj
ji qj qi
qi
qi ji q j
qi
qi ji q j
TM
a b
Start b q2 a q3
q1
q1 q 1 a
q1 a q1 q1
q2 q1 bq2 b
q1
q1 q1 a
q1 q1 a
q1 a
q1 a *
q1 a
q1 q2
q2 q1 bq2 b
q2 a q2
q2 a
q2 a
R
q2 a b
q2
q 2 a * b a
TM
Start q1
1
1
0 q2
1
q3 0
q1 q 1 0 q 3 0
q2 q 21 q 3 1 q 1 1
q3 q20
q1
q2 q 2 1 q 2 01 q 1 1
q2 q 2 1 01 q 1 1
q2 q1 P 1 01
q2 q 1 1 1 01 *
q1
q1 q 1 0 q 3 0 q 1 0 q 2 00 q 1 0 q 1 1 1 01 * 00
q1 q 1 0 1 1 01 * 00
q1
0 11 01 * 00
q1 0 p 1 01 * 00*
q1 0 1 1 01 * 00*
0 1 0,1
Start 1 0 q3
q1 q2
TM
q1 q 1 0
q2 q11 q2 1
q3 q 2 0 q 3 0 1
q1 q2 q1 q2
q1
q1 q1 0
q1 0 *
q1
q2
q2 0*1 q 2 1
q2 0 * 1 1 *
q1 q2
1 1 1* 1
0
q1 q2
0 1 0
q3 q4 0,1
1
q1 q 2 1 q 3 0
q2 q1 0
q3 q11
q4 q 2 0 q 3 1 q 4 0 1
q1
q1 q 2 1 q 3 0
TM
q1 q 1 01 q 1 10
q1 q 1 01 10
q1 01 10 *
q1 01 10 * q1 01 10
01 10 *
q1 q1
Start q0 0,1
q0
q0 q 0 0 q 01
q0 q 0 0 1
0 1 *
q0 0 1 *
q0 q0
0 1 *
, 0, 00, 1, 11, 10, ....
q2 a,b
b
q0
a
q3
a,b
q0
q3 q 3 aq 3 bq0 a
q0 q3
q3 q3 a a
TM
q3 q3 a a
q3 a a a a q3
a,b
Start q0 q1
a,b
q0 q 1 a q 1 b
q1 q0 a
q0
q0 a q 1
q0 q1
q1 a b q 1 a
q1 a a q1 a
q1 a a a
q1 a a b a b *
0,1
Start 0,1 q1 q2
q0
0,1
q2
q0
TM
0,1
1 0+1 0+1
A B C D
A (0 + 1) +
R P Q
( 0 1) * ( 0 1) *
TM
0
1
1 0
q1 q2 q3
1
0
TM
0 1
1
q0 q1
0
0 0
q3 q2
1
q0
q0 q00 q20 q 30
q1 q 0 1 q 11 q 3 1
q2 q 10
q3 q 21
q2
q3 q 1 01
q1 q 0 1 q 1 1 (q 1 01) 1
q1 q 0 1 q 1 1 q 1 011
TM
q1 q 1 (1 011) q 0 1
R R P Q
q1 q 0 1 (1 011) R Q RP R QP
q0
q0 q00 q20 q 30
q 0 0 (q 1 0) 0 (q 1 01)0
q0 q 0 0 q 1 (00 010)
q0 ( 0 1 (1 011) ( 00 010))
q3 q 1 01
q 0 1 (1 011) 01
q3 q3
a a
q1 b q2 q3
b
q1 = q1 a +
R R P Q
TM
q2 = q2 a + a* b
R R P
Q
TM
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 *
TM
QP *
Q Q P* 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
1
Q QP QP 2 .... QP i RP i
Q ( P P 2 .... P i ) RP i 1
Q ( P P 2 .... P i ) RP i 1
1
Q ( P P 2 ... P i RP i
P*
QP * RP i 1
RP i 1
RP i 1
QP *
QP *
TM
1 00 * 1 1 00 * 10 10 * 1 * 0 10 * 1 0 * 1 0 10 * 1 *
1 00 * 1 1 00 * 1 0 10 * 1 * 0 10 * 1
1 00 * 1
1 00 * 1 0 10 * 1 * 0 10 * 1
R*R where R 010*1
1 00 * 1 0 10 * 1 *
1 00 * 1 0 10 * 1 *
00 * 1 0 10 * 1 *
00* 0 *
0 * 1 0 10 * 1 *
0 * 1 ** 0 1 *
0 * 1 * *
, 0, 00, 1, 11, 111, 01, 10, ...
0 1 *
, 0, 00, 1, 11, 111, 01, 10, ....
TM
a b * a * b *
a a a a a a a
a a aa aa a
a a a a
a a a a a a
r s * r * s *
r s t r s r t
)* ) * ]*
)*
TM
)*
)* )* )*
)*
)* b*
)* b*
b* )* b*
1 * ( 011) * (1 * ( 011) * ) *
1 * ( 011) * P1
P1 P1*
P1 1 * ( 011) *
(1 * ( 011) * ) *
P2 P3 (011)
*
P2* P3*
(P2 P3 ) * (P * Q * ) * (P Q) *
(1 011) *
TM
( aa*)b + (a aa * a) b
( a ) b (a a ) b *
a *b a b*
(b ab * aa * b aa * ab * ) (a * b a b * )
a * (b ab * )
a *b a *a b*
a * b a+b*
a * (b ab * ) a *b a b*
(a b) * aa (a b) * aaa (a b) *
TM
i 0 v i
M Q, , , q 0 , F
a 1 , a 2 , a 3 , .... a m , m n
q 0 , q 1 , q 2 , q 3 , ... q i q i
aj+1....ak
ai.....aj ak+1....am
qm q 1 , q 2 , q 3 , ... q m q0 qj = qk qm
a 1 , a 2 , ... a j a k 1 a k 2 ...... a m
q0
qm qj
a j 1 .... a k
q 0 , a 1 , a j a k 1 ... a m
q 0 , q 1 , ... q j , a k 1 .... a m
q j , q k+1 ... q m
q k , q k+1 ... q m
qm
L b i | i 1
2
L 0i / i is an integer ; i 1
2
2
L bi
TM
2
b1 12
2
b2 22
2
bn n2
n2
|v| n
uvi w
n2
1 | v | n
n 2 1 | u v w | n n 2
n 2 1 | u v w | n 2 n n 1
n 2 1 | u v w | n 1 2
n 2 | u v w | n 1 2
2
bi
TM
L 0 2n| n 1
0 2n
2n u v i w
L a p | p is a prime
aP
uvi w
TM
P1
L 0n 1n 1 | n 0
0 n 1 n 1
TM
ab ab ba ba
n n n n
a b ab ba ba
u 1 w
TM
L
L
L
00 1 222
u v w
TM
00 1 222
u v w
2 2
1n 11
2 2
1n 12
2
1n
1 v n
1 v n
TM
2
1n
2
12
TM
a,b
q0 a,b q1
W= a a a b b
x
y z
TM
W= a a a b b
x z
y
w = aaabb
z
x y
TM
w = 0 0 010000
x y z
w = 0 0 1 1 0000
x y z
w =0 0 1 0 0 0
x y z
TM
TM
L1 L2 L1 L2
L1 L2 L 1 L (R 1 )
L 2 L (R 2 ) L 1 L 2 L (R 1 R 2 ) L1 L2
L1
M (Q, , , q 0 , F) L1
M' (Q, , , q 0 , Q F) M'
M'
M'
L1 M'
L1 L2 L1 L2
TM
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
1 2
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 ) L 2 L (R2 )
L 1 L 2 L (R 1 + R2 ). L1 L2
L1 L2
wR L (w R ) (L(w)) R
w wR
() R ( ) R
L(w R )
w1w2
(w 1 ) R (w) R
TM
w1 w2
w1
w2
wR
1
wR
2
wR
1
wR
2
L1 L 1 L(R *1 )
L1
L1 L2 L1 L2
L1 L2 L 1 L(R 1 )
L 2 L(R 2 ) L 1 L 2 L(R 1 R 2 )
*
h a 1 h a 2 ... h a n
h w : w L
a , b
TM
*
L ,
h 1 L w w L
Q , , , q 0 , F
TM
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)
TM
0 1 0,1
1 0
A B C
TM
L1
L1
1 1
2 2
q1 M1 f1
Start q0 f0
q2 M2 f2
2
TM
L { a 2n | n 1}
|z| n
|v| 1 uv i w
L
M
a b
q0 a q1 b q2
Start q0 q1
f1 f0
a, b
TM
a, b a a, b
q0 a q1 b q2
Input
a b
State
q0 {q0, q1} {q0}
q2 {q2} {q2}
0,1
0 1, 0
0
q0 1 q1 0 q2 1 q4
1
0
q3
1
0 1, 0
0
q0 1 q1 0 q2 1 q4
1
0
q3
1
TM
a, b, c, d.
a
q0 q1 q2 q3 q4 c q5 d q6
10,11
1 0, 1
q1 0 q2 0 q3
TM
1 0, 1
q1 0 q2 0 q3
0n1n
0 0n
z L L 0n
|z|
u viw
|uvvw|
z a, b
b * a b * a b * a *
( 0 1)*
, 0, 1, 00, 11, 01, 10, 111, ....
Any number of 0' s and 1' s including null string
TM
0 n 1 n
0 p|p - is a prime number
*
a zA Z a zA Z 0 9
0 9
0,1 *
0, 1
q0 0, 1 q1
0 1 *1 0 * 0 1 *
TM
1 0 11 *
a / b *
,
a, b, aa, bb, ab, ba, ....
Any number of a' s and / or b' s including null string
0 1 * 00
a,b
q0 a* b* qf a,b
q0 q1
L1
TM
0,1
q0 0 q1 1 q2
0,1
0 1
q0 q1 q2
TM
1 0
Start 0 1
{q0} {q0,q1} {q0,q2}
0 1 2
q0 q1
q2
0,1 2
Start
q0 q2
0,1,2
Start
q0
TM
a b c
q0 q1 q2
0 1 2
q0 q1 q2
1 0 0,1
q0 0 q2 1 q1
2 3 6
1
b
a
4 5 7
TM
q,
0 1
q0 1 q1
r s* r * s *
r s *
, r, rr, s, ss, rs, sr,... , r, rr, rrr, s, ss, sss, ...
, any combination of r and s , any combination of only r or any combination of only s
( 0 1 ) ( 0 1)
1 11 .
TM
a b|c
q0 q1 a q2 q3 b q4
{0n 12n|n 0}
W L {0 n 1 2n }
0 011 11
x y z
xy i z L
xy i z
02 12 01 14 L
TM
(b|c)
TM
TM
TM
A , ,
TM
G = (V, T, P, S)
TM
aA a
a 1 , a 2 , a 3 , .... a m
a1 a2
a2 a 3
a m 1 a m
*
a1 am
G
a
a
a a
a
a
TM
aaaaa
a
aa
aaa
aaaa
aaaaa
aaaaa
aaaaa
a a aa aaa
S aSb
S a b
a a
a
a
aa
aaa
a aaaa
a
L a n b n where n 1
TM
0 1 *
0 1 *
a
a a
a
a a a
a a a
a
a a
a a a
L w cwT w a , b *
aa aa a a a a
a a
L wcwT a
a a a
a a
a a a
b a
a a
b c
b a
a a
TM
a , b
madam
read read
a
a It is the same !
a
a a
a
a a a a
a a a b a a b a
a a a a a b a a b a
a aa a a b a a b a
a aa a a b a a b a
0 1 * 000 0 1 *
TM
a a
a a
a
a
a
a a a a a
aa a a a a
aa a
a a b
aa a a
a a b a
aa a a b
a a b
a
a a
a
a
a
a
a
TM
a
aa
aa
aa
aa a
aa a
aa a
aa a a
aa a a
a
aa
aa
aa a
aa a
a
A aa
a
a a
TM
one occurrence
anything
of double a
aa
a
a
a aa
a a aa a
a
abaa
a
abaa
a aa a b aa
aa
a aa a b aa
b
a aa a b aa
b
a aa a b aa
b
0, 1
1 10 1 * 0
0 0 1 *
L a n b 2n n1
a n bn
a a
TM
a x b y | x y
bR2 | b
Can be represented
by the non
terminal
A B
TM
0 i 1 j 2 k | j i k
j
0i 1 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
TM
0 i 1 j 2 k | i j
i j k
L= 0 1 2
A B
0 i 1 j 2 k | j k
j
L1 0i 1 2j
j
L2 0i 1 2k
TM
q0 b q1 b q2
a i b j c k|i j or jk
R1| R2
R1 aAbbBC| aaAbBC
R2 AbBccC| AbbBcC
aA|
bB|
cC|
a n b m a m b n|n, m 1
TM
0m1n|1 m n
S, A
0,1
{ a n|n is odd }
TM
b b
S
b S b
a
b b
S
b S b
TM
a a
S We have chosen S aSa
S is chosen
a
a a
a
aa a a
S
a a
a a a a B
aa
a B B
aa
aa a a b S b S
aa a b A
b A
aa a
a
aa a a a a
*
a
a
TM
S1 S3
Sn
S2
*
*
* S1 S3
SK
S2
T1 S3
TK
T2
*
ai Si Si S i ai Si
* *
TM
a a
a a
a a a a
*
A
*
A
lm
A1 A2 ••••• An
*
w1 w2
•••••
wn
Ai
A i w i.
TM
*
lm
*
Ai Ai An
lm
Ai
*
lm
Ai
Ai Ai
lm lm lm
Ai
lm lm
lm
lm
lm
TM
b A
a S
a B
a B B
b S
b A b S
a b A
TM
TM
( T
)
,
T S
S a
( T )
,
T S
S ( T )
( T ) ,
T S
, a
T S S
S a
TM
B
S, A, B, C, D, E
,–,*,/, a, b, c, d, e – S
S
D
* S S
/ S S
+ S S E
c E E
E E
d e
a b
E D (E ) E E E E E E E E / E
D 0 1 2 3|...9
1+ 2 3.
TM
E E
E E
E + E or *
+
1 E * E E E 3
2 3 1 2
*
TM
E E
E E
E + E *
Or
id E + E
E * E id
id id id id
TM
S S
iCtSeS
e S
ibtSeS i C t S
ibtiCtSeS
ibtibtSeS a
i C t S
ibtibtaeS
ibtibtaea b
b a
(a) (b)
S S
i C t S e S i c t S
b i C t Sa b i c t S
b i C t S b i c t S e S
b a b a a
TM
S S
S b S S b S
S b S a a S b S
a a a a
S S
a S b S a S b S
b S a S a S b S
(a) Parse tree 1 (b) Parse tree 2
S a|abSb|aAb , A bS|aAAb
TM
S S
a b a b
b S A
a A b b S
S a b
S
b
b
a a
(a) Tree 1 (a) Tree 2
0 B
0 B B
1 S 1
1 A
0 S
1 A
TM
S
S
A a B
a a B
a b
(a) Parse tree 1 (b) Parse tree 2
Reduced grammar
TM
*
a p
*
a p
TM
a aa aaa
a
TM
V , , R , S
S aA
A a aA
D ab Ea
E aC d
TM
S aA
A aA a
D ab Ea
Ea
TM
TM
Y
TM
a a
a a
aa
a a aa
TM
a a a
aa
a aa a a
a aa a a
TM
a
a
a
a a
a a
TM
*
X 1 X 2 X 3 ..... X n
X 1 X 2 X 3 .... X n
TM
TM
TM
TM
TM
aaaa
aaaa
a
P1
P1
P1
P1
P1 P2
P1 P2
P2
P2 P3
P2 P3 P3
P2 P3
P1
P1 P2
P2 P3
P3
TM
P4 P5
P4 P5
P4 P5
P4 P4
P1
P1 P2
P2 P3
P3
P4 P4
P4
a
a
a a a
a
a
a
TM
A1
A1
both are in CNF
A1
A2
A2
A2
A1
A1
a
A2
A2
a
TM
G V , T , P , S
a
a a
a a
R1 a
R1 a
R2
R2
a
a
R1
R2 R3
R3
R2 R 3
a
R2
a
TM
R1 R1 a
R4
R1 R4
R1
R2
R1
R2 R 3
R2
R1 R4
R1 a
R2
R3
R4
A BP
P CD
TM
B YQ
Q c
C RA
R g
D TA
T d
R1 R2
R1
R2
R1 R2
R1
R2
TM
~ S|[S S ]|p|q
[S S]
TM
B
TM
A bAB , B BAa
A bAB | bA | bB | b
B BAa | Ba |Aa | a
A bAB A PQ
P b
Q AB
A bA A PA
A bB A PB
A b
B BAa B RS
R BA
S a
B Ba B BS
B Aa B AS
A a
S AB aB , A aab| B bbA
TM
S AB
S aB S PB
P a
A aab S QR
Q PP
R b
S B
S bbA S TA
T RR
B bbA B TA
T RR
TM
TM
S aAD , A aB|baB , B b , D d
G1
G1 ({S , A , B}, {a , b}, {S ASB| , A aAS|a , B SbS|A|bb }, S )
NT NT NT
NT terminal
S AB|ASB
A aA|aAs|a
B Sb|bS|b|aA|aAS|a|bb
TM
S AB
S ASB S AP
P SB
A aA A QA
Q a
A aAS A QR
R AS
A a
B Sb B ST
T b
B bs B TS
B b
B aA B QA
B aAS B QR
B a
B bb B TT
TM
G L (G) – { }
aAb|
aDa|bDb|
TM
is in GNF
is not in GNF
A 1, A 2 , A 3
TM
A i A jA k
A i A jA k
A A|
A A |
A |
S abSb
S aa
NT t (set of NT)
S abSb S XY
X AB
Y SB
A a
Bb
S aa S AA
S XY A 1 A 2 A3
X AB A 2 A 4 A 5
Y SB A3 A 1 A 5
TM
A a A4 a
B b A5 b
Ai,Aj Ai<Aj
A1 A2A3
A2 A4A5
A5 b
A1
A3 A1 A5
A3 A2 A3A5 A1 A2A3
A3 A4A5A3A5
A i A jA k
A 1 A 2A 3
A 2 A 4A 5
A 3 A 4A 5A 3A 5
A4 a
A5 b
A2 A 3 A4
A 1 A 2A 3
A 2 aA 5
A 3 aA 5 A 3 A 5
A4 a
A5 b
TM
A 1 A 2A 3
A2
A 1 aA 5 A 3
A 1 aA 5 A 3
A 2 aA 5
A 3 aA 5 A 3 A 5
A4 a
A5 b
S ABA
A aA|
B bB|
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
A i,A j,A k
TM
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 A 1 A 2 A 2|0
A SS|1 A 2 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
A 2 A 2 A 2 A 1|0A 1|1
TM
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
A 1 A 2 A 2|0
A2
A 1 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
S AB , A BS|b , B SA|a
A 1, A 2 , A 3
A1 A2 A 3
A 1 A 2A 3
A 2 A 3 A 1|b
A 3 A 1 A 2|a
A 1 A 2A 3
A 2 A 3 A 1|b
A i A jA k
A 3 A 1 A 2|a
A 3
A 3 A 1 A 2|a
A 3 A 2 A 3 A 2|a A 1 A 2A 3
A 3 A 3 A 1 A 3 A 2|bA 3 A 2|a A 2 A 3 A 1|b
A3 A3A1A3A2 | bA3A2 | a
left recursion
A A| A A |
A A |
A 3 bA 3 A 2 A |aA
A3 A3A1A3A2 | bA3A2 | a
1 2
TM
A A 1 A 3 A 2 A |A 1 A 3 A 2
A 3
A2
A 2 A 3 A 1|b
A 2 bA 3 A 2 A A 1|aA A 1|b
A2
A1
A 1 A 2A 3
A 1 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
A 1 bA 3 A 2 A A 1 A 3|aA A 1 A 3|bA 3
A 2 bA 3 A 2 A A 1|aA A 1|b
A 3 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
TM
S AB
A1 XR1 S aAYB
R1 AY Yb
Xa S bAXB
Yb Xa
A YR2 S aB
R2 AX A aAY
Aa A bAX
B YR3 Aa
R3 YA B bYA
B XR4 B aXB
R4 XB B aAYB
B AB B bAXB
B aB
TM
TM
A 1, A 2 , A 3 A4
A 1 A 2 A 3|A 4 A 4
A 4 b|A 1 A 4
A2
A 3
Ai Aj
A4 A1 A4
A4 A1 A4
Replace this by
A2 A3 or A4 A4
TM
A1 A2 A 3
A4 A2 A3 A4
Replace this by
b
A 4 bA3 A 4
A4 A1 A4
Replace this by
A4 A4
A4 A4 A4 A4
A 1 A 2 A 3|A 4 A 4
A 4 A 4 A 4 A 4|bA 3 A 4|b
A2
A 3
A4 A4 A4 A4 b A3 A4 b
A | 1| 2
1 A | 2 A
A A'|
A 4 bA 3 A 4 A'|bA'
A A 4 A 4 A |A 4 A 4
TM
A4
A bA 3 A 4 A A 4 A |bA A 4 A |bA 3 A 4 A A 4|bA A 4
A 1 A 2 A 3|A 4 A 4
A 4 bA 3 A 4 A |bA
A bA 3 A 4 A A 4 A |bA A 4 A |bA 3 A 4 A A 4|bA A 4
A2
A 3
A1
A 1 A 2 A 3|A 4 A 4
A1 A2 A 3
A 1 bA3
A1 A4 A4
A 1 bA3 A 4 A A 4|bA A 4
A 1 bA 3|bA 3 A 4 A A 4|bA A 4
A 1 bA 3 A 4 A |bA
A bA 3 A 4 A A 4 A |bA A 4 A |bA 3 A 4 A A 4|bA A 4
A2
A 3
TM
id = E T
E + E
;
F id
id
Types of parser
Top down
Bottom up
parser
parser
SLR LALR LR
parser parser parser
TM
*
* S
a S
*
A
a
S b A
a b a
TM
E * E
E E*E E + E id
E+E*E
id + E * E
id + id * E
id + id * id id id
E + E
E E+E id E * E
id + E * E
id + id * E
id + id * id
id id
TM
*
S 0B | 1A , A 0 | 0S | 1AA, B 1| 1S | 0BB.
TM
S
0 B
1 S
1 A
0
S
a B
B
a
B
b S
a
B B
b A
b S
b
a
a B
{a, b, (, ), , . . .
TM
*
S S
S a S S
b
S b S S b S S a
a S b S a a a
a a
S aSb aAb
A bAa
A ba.
a m b n a n b m m , n 1
M w
G
TM
M w S M S M
G2 G1 G2
M
S M
G1 G1
S w S w
G G1
V, T, P, S
S, A, B
a, b
S SS (S )|(S )| S (S )S |
TM
S S
S S S ( S ) S
( S )
( ) ( S )
S
a n n
ba |n 0
a n ba m|n, m 1
TM
b S b
b S b
TM
Rule A B is replaced by
bAY
A bAb and then converted
TM
a, b
G V, T, P, S
S
a, b
S aSa bSb
Va , Ta , Pa , S a Ga
TM
S aB | bA A a | aS | bAA B b| bS | aBB
{ S 0S0|1 S1| }
S
TM
(a, b).
(a b) c
E E|E E|(E)|id
E E
E c
(E) c
(E E) c
(E b) c
(a b) c
id id id
E E
E * E E + E
E + E id id E * E
id id id id
TM
TM
TM
TM
b
Input tape a a b b $
Finite
control
Stack
q0 q0
Z0
TM
Connecting edge
{a , b}
b a b
q0 q1
q0
q1
Start
b a
Read 1 Read 2 ACCEPT
a
PDA
TM
0 0 1
q0 q1 q2 q3
q0 q3
START
0 0 1
READ READ READ READ ACCEPT
1 1 0
REJECT REJECT REJECT
TM
q0
q1
PUSH POP
q2
a n bn n 1
START
b a b
READ POP READ
a
PUSH a
REJECT a
POP REJECT
a
n 5
ACCEPT
aaaaa
a a
a
a
a
a a
a n bn
TM
a
a
a
a a
b
b
b
START
( (
READ POP
(
PUSH ( (
POP REJECT
ACCEPT
TM
( ( ( ( ( (
( Push (
Read
( ( ( ( ( (
(
( Push (
Read
( ( ( ( ( (
( Pop
( (
Read
( ( ( ( ( (
(
Push (
(
Read
( ( ( ( ( (
( Pop (
(
Read
( ( ( ( ( ( Pop (
a n bn
a2 S1
Z1 S2
TM
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
L a n bn | 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
TM
(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 )
| ( q 1 , , Z 0 )
| (q 2 , )
{ a n b 2n | n 1}
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) ( q 1 , )
q1
(q 1 , b, a) ( q 1 , )
(q 1 , , Z 0 ) ( q 2 , )
(q 0 , a, Z 0 ) (q 0 , aaZ 0 )
TM
(q 0 , a, a) (q 0 , aaa)
(q 0 , b, a) ( q 1 , )
(q 1 , b, a) ( q 1 , )
(q 1 , , Z 0 ) ( q 2 , )
R1 q 0 , a , Z 0 q 0 , a Z 0
R2 q 0 , b, Z 0 q 0 , b Z 0
R3 q 0 , a , a q 0 , a a
R4 q 0 , b, a q 0 , b a
R5 q 0 , a , b q 0 , a b
R6 q 0 , b, b q 0 , b b
R7 q 0 , c, Z 0 q 1 , Z 0
R8 q 0 , c , a q 1 , a
R9 q 0 , c, b q 1 , b R 10 q 1 , a , a q 1 ,
R 11 q 1 , b , b q 1 ,
R 12 q 1 , , Z 0 q 2 , Z 0
TM
a,a/
b,b/
R1 R 12
(q 0 , bbacabb, Z 0 ) | (q 0 , bacabb, bZ 0 ) q0 q1 q2
c,Z0/Z0 ,Z0/Z0
| (q 0 , acabb, bbZ 0 ) c,a/a
a,Z0/aZ0 c,b/b
| (q 0 , cabb, abbZ 0 )
b,Z0/bZ0
| (q 1 , abb, a bbZ 0 ) a,a/aa
b,a/ba
| (q 1 , bb, bbZ 0 ) a,b/ab
b,b/bb
| (q 1 , b, bZ 0 )
| (q 1 , , Z 0 )
| (q 2 , Z 0 )
wCw R | w (a b) * wR
(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) (q 0 , )
(q 0 , , Z 0 ) (q 1 , Z 0 )
q0 q1
(q 0 , aababb, Z 0 ) | (q 0 , ababb, aZ 0 )
| (q 0 , babb, aaZ 0 )
TM
| (q 0 , abb, aZ 0 )
| (q 0 , bb, aaZ 0 )
| (q 0 , b, aZ 0 )
| ( q 0 , , Z 0 )
| (q 1 , Z 0 )
(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) ( q 0 , )
(q 0 , , a) (q f , a)
(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 )
TM
| (q 0 , b, aaZ 0 )
| (q 0 , , aZ 0 )
| (q f , a)
n a ( w) n b ( w)
w ( a b)
(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) ( q 0 , )
(q 0 , a, b) ( q 0 , )
(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)
TM
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 )
TM
(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 , Z 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 , , Z 0
(q 0 , Z 0 )
L a m b m c n | m, n 1
TM
(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, Z 0 ) (q 1 , Z 0 )
(q 1 , , Z 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 , , Z 0 )
| (q 2 , Z 0 )
L 0 n 1 m 0 n | m, n 1
(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 1 , 1, 0) (q 1 , 0)
(q 1 , 0, 0) (q 1 , )
(q 0 , , Z 0 ) (q 2 , Z 0 )
TM
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 , 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 , , Z 0 )
| (q 2 , Z 0 )
,
TM
|
|
|
|
|
Z 0 |
|
|
|
|
|
TM
|
|
|
|
|
|
|
(Q, , , , q 0 , Z 0 , F)
(p, , )}
{w | (q 0 , w, Z 0 ) |
L wwr {ww R | w is in (0 1) }
ww R
TM
ww R
(q 0 , ww R , Z 0 ) |
(q , w R , w R Z ) | (q , w R , w R Z )
0 0 1 0
(q , , Z ) | (p, , Z )
| 1 0 0
q1 q1 wR wR
ww R
(q 1 , , Z 0 ) | (p, , Z 0 )
q1 Z0
q1 Z0
(q 1 , w R , w R Z 0 )
(q 0 , x, ) | (q 1 , , ) ww R
ww R
(q 0 , x, ) | (q 1 , x, )
(q 0 , , ) | (q 1 , , )
a 1 , a 2 , ... a n
(q 0 , x, ) | (q 1 , x, ) q1
(q , , )
(q 1 , x, )|
1
(q 0 , a 1 , a 2 ... a n , ) | (q 0 , a 2 ... a n , a 1 )
(q 1 , a n a 1 ) | (q 1 , , )
a1 an a 2 .... a n 1 yy R
ww R
L wwr
TM
(Q, , , , q 0 , Z 0 , F)
(p, , )}
{w | (q 0 , w, Z 0 ) |
L wwr
ww R
(q 0 , ww R , Z 0 ) |
(q 0 , w R , w R Z 0 ) | (q 1 , w R , w R Z 0 )
| (q 1 , , Z 0 ) | (q 2 , )
L wwr
N(P1 ) P1 P2 L (P2 )
L (P1 ) P1 P2
N(P2 )
N(P1 ) P1 (Q, , , , q 0 , Z 0 )
L(P2 )
X0 P2
P2 X0 P1
, X0/
, X0/
,X0/Z0X0 Indicates
p0 q0 P2 p2 acceptance
by final state
, X0/
, X0/
P1
TM
p0 Z0
q0 P2 P2 P1 P1 P2
X0 p2
P2 P1 P2
(p 0 , w, X 0 ) | (q 0 , w, Z 0 , X 0 ) | (p, , X 0 ) | (p 2 , , )
P2 P2
P2
L (P1 ) P2 N(P2 )
P2 X0 P2 s
P1 P2
Indicates
, any/ acceptance by
empty stack
q
, X0/Z0X0
p0 q0 P1 p
, any/
, any/
, any/
P2
p0 s P1
P1 P2 s
P2 (Q {p 0 , p}, , , {X 0 }, N , p 0 , X 0 }
P1
N N
N (p 0 , , X 0 ) = {(q 0 , Z 0 , X 0 )} P1
P1
N (q, a , Y) F (q, a , Y)
F
P2 P1
qF Y
X0 N (q, , Y) = (p, )
TM
P1 P2
P1
P1 P2
P2
L(P1 )
N
(q 0 , w, Z 0 ) | ( q, , )
P1
P1 P2 X0
P2 P2
(p 0 , w, Z 0 ) | (q 0 , w, Z 0 X 0 ) | (q, , X 0 ) | (p, , )
P1 P1 P2
P2 P2
P2
P2 X0
P2 X0 P1
P2 P1
P2
N (p 0 , , X 0 ) | (q 0 , Z 0 X 0 )
P2
(p 0 , w, X 0 ) | (q 0 , w, Z 0 X 0 ) | (q, , X 0 ) | (p, , )
P2 P2 P2
P1 P1 X0
(q 0 , w, Z 0 ) | (q, , )
P1
P1 P1
TM
p0
P1 P2
{ 0n1n|n 1}
TM
(q 0 , 0, Z 0 ) ( q 0 , 0Z 0 )
(q 0 , 0, 0) ( q 0 , 00)
(q 0 ,1, 0) ( q 1 , )
(q 1 ,1, 0) ( q 1 , )
( q 1 , , Z 0 ) ( q 2 , )
q0 q2
(q 0 , 0011, Z 0 ) | (q 0 , 011, 0Z 0 )
| (q 0 , 11, 00Z 0 )
| (q 1 ,1,0Z 0 )
| (q 1 , , Z 0 )
| (q 2 , )
a , b
a a a aa a a aa aa
TM
a a b b a a
Part 1 Part 2
a a b b a a
Part 1 is
b pushed in
now we a
are reading a
it !
(reading Part 2)
a a b b a a b
a
a
a a a a a
b b
a
a a b b a a
a a b b a a
TM
Start
a
a a
POP
a
PUSH READ READ POP
POP
b
PUSH b b
b ACCEPT
a, b
a, b
START a
POP
a
a X
PUSH READ READ POP ACCEPT
b
b POP
PUSH
(Q, , , , q 0 , Z 0 , F)
q0
Z0
TM
(q, a, X)
(q, a, X) a (q, , X)
{w| w ( a b) n a ( w) n b ( w)}
(q 0 , a , Z 0 ) (q 0 , a Z 0 )
(q 0 , b , Z 0 ) (q 0 , b Z 0 )
( q 0 , a , a) ( q 0 , a a)
( q 0 , b , b) ( q 0 , b b)
( q 0 , a , b) ( q 0 , )
( q 0 , b , a) ( q 0 , )
( q 0 , , a) ( q f , a)
a,Z0/aZ0
b,Z0/bZ0 ,a/a
q0 qf
b,b/bb non
determinism
a,a/aa
b,a/
a,a/aa
(q 0 , a, Z 0 ) (q f , a Z 0 ) b,Z0/bZ0 a,Z0/aZ0
a,Z0/aZ0 b,a/
(q 0 , b, Z 0 ) (q 0 , b Z 0 )
q0 qf
(q 0 , b, b) (q 0 , b b)
(q 0 , a, b) (q 0 , ) b,Z0/Z0
b,b/bb
(q f , a, Z 0 ) (q f , a Z 0 ) a,b/
(q f , a, a) (q f , a a)
(q f , b, a) (q f , )
(q f , b, Z 0 ) (q 0 , Z 0 )
(q f , , a) (q f , )
TM
a n bn n 1
(q 0 , a, Z 0 ) (q 1 , a Z 0 )
(q 1 , b, a) (q 2 , )
(q 2 , b, a) (q 2 , )
(q 2 , , Z 0 ) (q 2 , )
a,a/aa b,a/
a,Z0/aZ0 b,a/
(q 0 , aabb, Z 0 ) | (q 1 , abb, aZ 0 ) q0 q1 q2
| (q 1 , bb, aaZ 0 )
,Z0/
| (q 2 , b, aZ 0 )
| (q 2 , , Z 0 )
| (q 2 , )
{L a n b n n 1} DCFL
CFL
Regular ww
R
language
n
(ab)
ww R|w (a, b) n n
a b
TM
{L wcw r|w (0 1) }
001 C100
x y
{0}
Start
PUSH S POP
POP
PUSH B
PUSH A
a
a
a
S
b POP READ
POP READ ACCEPT
TM
S AB
A CD
B b
C a
D a
Start
PUSH S POP
S
PUSH B
PUSH A
POP
PUSH D
PUSH C
D
POP
B C
b
READ READ READ
a a
TM
Start b a
READ READ
PUSH S a
B
C
D
POP READ
S
A READ
PUSH B PUSH D
ACCEPT
PUSH A PUSH C
aa
aa
aa
aa
aa
aa
aa
aa
aa
aa
a a a
a a
a a a
a a
a a b
a a b
a a b
TM
(q, , Z 0 ) (q, S Z 0 )
(q, , Z 0 ) (q, S Z 0 )
(q, aab, S) |
| (q, aab, CAB)
| (q, ab, DB)
| (q, b , B)
| (q, )
0 1 *
TM
0 1
A B S
PUSH
POP READ ACCEPT
S
S S
PUSH S PUSH S
PUSH A PUSH B
(q, , Z 0 ) (q, SZ 0 )
(q, w, S)
(q, w, S)
(q, , S) ( q , )
TM
(q, 0, A) ( q , )
(q, 1, B) ( q , )
(q, , Z 0 ) (q, S, Z 0 )
a n bn n 1
S AR1
S AR2
R1 SR2
R2 b
A a
TM
b
a
START
RE
A
R2
RE
AD
A
R1
R1
R1
AR1
R1
R2
R2
S R2
R2 R2
R2R2
A R2R2
R2R2
R2R2
R2
TM
R2
(q, , Z 0 ) (q, SZ 0 )
(q, w, S) (q, AR 1 )
(q, w, S) (q, AR 2 )
(q, w, R 1 ) (q, SR 2 )
(q, b, R 2 ) (q, )
(q, a, A) (q, )
(q, , Z 0 ) | (q, SZ 0 )
| (q, aabb, AR 1 )
| (q, abb, R 1 )
| (q, abb, SR 2 )
| (q, abb, AR 2 R 2 )
| (q, bb, R 2 R 2 )
| (q, b, R 2 )
| (q, )
TM
|
|
|
|
TM
a m bn cm , n, m 1
(q 0 , a , Z 0 ) q , aZ 0 )
( q 0 , a , a) q , aa)
( q 0 , b , a) q , a)
( q 1 , b , a) q , a)
( q 1 , c, a ) q , )
(q 1 , , Z 0 ) q , Z 0 )
S aAA
A aS| bS| a
( q 1 , a , S) q AA )
( q 1 , a , A ) q , S)
( q 1 , b , A ) q 1 , S
( q 1 , a , A ) q 1 ,
( q 1 , , Z 0 ) q 1 ,
( q 1, abaaaa , S) | q , baaaa , AA )
| q , aaaa , SA )
| q , aaa , A AA )
| q , aa , A A )
| q , a , A )
| q , , Z 0 )
| q , )
S aSbb aab.
TM
q , a , S) q , SBB)
q , a , S) q , AB)
q , a , A ) q , )
q , b , B) q , )
q , , z 0 ) q , )
(q, , S) {(q, cCD), (q, dTC), (q, )}
(q, , C) {(q, aTD), (q, c)}
(q, , T) {(q, cDC), (q, cST), (q, a)}
(q, , D) {(q, dC), (q, d)}
(q, c, c) {(q, )}
(q, d, d) {(q, )}
(q, a, a) {(q, )}
TM
(q, , S) |– |–
|– |–
|– |–
|– |– (q, dd, dD)
|– |–
|–
ab n cdn|n 0
q 0 , a, z 0 q 1 , z 0
q 1 , b, z 0 q 2 , bz 0
q 2 , b, b q 2 , bb
q 2 , c, b q 3 , b
q 3 , d, b q 3 ,
q 3 , , z 0 q 3 , z 0
TM
S 0S1 / A ; A 1A 0 / S /
q, , S | q, 0101, S
| q, 101, S1
| q, 101, 1A01
| q, 01, A01
| q, 01, 01
| q, 1, 1
| q,
I|E E|E E|(E)
(q, , E) {(q, I), (q, E E), (q, E E), (q, (E)}
(q, , I) {(q, a), (q, b), (q, Ia), (q, Ib), (q, I 0 ), (q, I 1 )}
(q, a, a) {(q, )}
(q, b, b) {(q, )}
(q, , E) | (q, a , E)
| (q, a , I)
| (q, a , a)
| (q, , )
TM
lm lm
i i
P
i i i
i
n ,
q 0 Z0 q n
V, T, P, S
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 1 Z 1 q m ) (q m Z 2 q i k)
qi k, qm Z0 , Z1 , Z2
TM
(q i , a, Z 0 ) (q i + 1 , ) (q i Z 0 q i 1 ) a
(q 0 , 0, Z) (q 0 , AZ)
(q i , a, Z 0 ) (q i 1 , Z 1 Z 2 ) (q i Z 0 q i k ) a (q i 1 Z 1 q m ) (q m Z 2 q i k )
qi q0 q i 1 q 0 Z1 Z2
(q 0 , 0, Z) (q 0 , AZ)
(q 0 Z q 0 ) 0(q 0 A q 0 ) (q 0 Z q 0 ) | 0(q 0 A q 1 ) (q 1 Z q 0 )
(q 0 Z q 1 ) 0(q 0 A q 0 ) (q 0 Z q 1 ) | 0(q 0 A q 1 ) (q 1 Z q 1 )
(q 0 , 1, A) (q 0 , AA)
(q 0 A q 0 ) 1(q 0 A q 0 ) (q 0 A q 0 ) 1(q 0 A q 1 ) (q 1 A q 0 )
(q 0 A q 1 ) 1(q 0 A q 0 ) (q 0 A q 1 ) 1(q 0 A q 1 ) (q 1 A q 1 )
(q 0 , 0, A) (q 1 , )
(q i a, Z 0 ) (q i+ 1 , )
(q i Z 0 q i+1 )
(q 0 A q 1 )
S [q 0 , Z 0 , q 0 ] S [q 0 , Z, q 1 ]
(q 0 Z q 0 ) 0(q 0 A q 0 ) (q 0 Z q 0 ) 0(q 0 A q 1 ) (q 1 Z q 0 )
TM
(q 0 Z q 1 ) 0(q 0 A q 0 ) (q 0 Z q 1 ) 0(q 0 A q 1 ) (q 1 Z q 1 )
(q 0 A q 0 ) 1(q 0 A q 0 ) (q 0 A q 0 ) 1(q 0 A q 1 ) (q 1 A q 0 )
(q 0 A q 1 ) 1(q 0 A q 0 ) (q 0 A q 1 ) 1(q 0 A q 1 ) (q 1 A q 1 )
(q 0 A q 1 )
{q 1}
[q 0 Z q n ] (q 0 Z q 1)
[q 0 Z q 0 ]
[q 0 Z q 1 ]
(q 0 , 0, Z) (q 0 , A Z)
(q 0 Z q 0 ) 0(q 0 A q 0 ) (q 0 Z q 0 ) 0(q 0 A q 1 ) (q 1 Z q 0 )
(q 0 Z q 1 ) 0(q 0 A q 0 ) (q 0 Z q 1 ) 0(q 0 A q 1 ) (q 1 Z q 1 )
(q 0 , 0, A) (q 0 , AA)
(q 0 A q 0 ) 0(q 0 A q 0 ) (q 0 A q 0 ) 0(q 0 A q 1 ) (q 1 A q 0 )
(q 0 A q 1 ) 0(q 0 A q 0 ) (q 0 A q 1 ) 0(q 0 A q 1 ) (q 1 A q 1 )
(q 0 , 1, A) (q 1 , )
(q 0 A q 1 )
(q 1 , 1, A) (q 1 , )
(q 1 A q 1 )
(q 1 , , A) (q 1 , )
TM
(q 1 A q 1 )
(q 1 , , Z) (q 1 , )
(q 1 Z q 1 )
1. (q 0 , a , Z 0 ) {(q 0 , a Z 0 )}
2. (q 0 , a , a) {(q 0 , aa)}
3. (q 0 , b, a) {(q 1 , a)}
4. (q 1 , b, a) {(q 1 , a)}
5. (q 1 , a , a) {(q 1 , )}
6. (q 1 , , Z 0 ) {(q 1 , )}
|
TM
TM
TM
TM
w | w|
p q i r si t
S
w
2 i1
a
2 i1 20 1
' a'
|w
n 2 k | w| |w 2 k 1
w w w w 2 i1
w
a
B b, A A
*
a B C
|w 2 i 1 3 22 b B A
Path
| w| 2 i 1 n b a
a nbm a n bn m|m, n 0
a nbma n bn m
a n b m a n b n b m
a nbma n bn bm L
z L
n m n n m
a. . . a b . . . b a. . . a b . . . b b . . . b
p qrs t
pq i rs i t L
zL
TM
n m n n m
a. . . a b . . . b a. . . a b . . . b b . . . b
pqrs t
pq i rs i t pq 2 rs 2 t
n m n n m
a. . . a b . . . b a. . . a b . . . b b...b
p qrst
pq i rs i t pq 2 rs 2 t
a nbma n bn m
L a i b j c k | i j and i k
w
a
p qi r si t
a w
0 0
w pq rs t a
a nbn cn|n 0
TM
w L
a n b n cn
n n n
a. . . a b . . . b c . . . c
n n n
a. . . a b . . . b c . . . c
p qrs t
pq i rs i t L i 0
n n n
a. . . a b . . . b c . . . c
p q 0 rs 0 t
r
a n b n – m – kcn a n b n cn
w L
n n n
a. . . a b . . . b c . . . c
pqrs t
pq i rs i t L
n m k n n
a. . . a b . . . b c . . . c
pq 2 rs 2 t
a n m k b n c n L
{ a n b n cn}
TM
a n2|n 1
2
an
n n
a...... a
pq i r s i t L
pq 2 r s 2 t
n2 – m m
a...... a a...... a
pq i r s i t
n 2 – m t m
a..... a a..... a
|n 2 – m t m|
n2 – mt m n2
n2 – m m
a..... a a..... a
pq i r s i t
n 2 – m– t m
a..... a a..... a
TM
|n 2 – t|
n2 – t n2
aib j c k : i j k
i j k
Z= a . . . ab . . . bc . . . c
p i i
q rs t
i j+m k
Z= a . . . ab . . . bc . . . c
i j k
Z= a . . . ab . . . bc . . . c
p i i
q rs t
a i (ab) m b j m c k a i b j c k L
TM
L a m b m 1 c m 2 |m 0
a m b m 1 cm 2
pq i rs i t
pq 2 rs 2 t
m m 1 n m 2
a m+n b m 1 c m 2 L
pq 0 rs 0 t
m n m 1 m 2
TM
TM
L 1L 2
TM
L1
L1
TM
L 1
L 1 L 2
( L 1 L 2 L 1 L 2
L 1 L 2
L1 L2 G1 G2
G 1 L 1 G 2 L2 G 1 {V 1 , , P1 , S 1} P1
P1 {
TM
S 1 A 1 S 1 A 1|B 1 SB 1|
A1
B1
V 1 {S 1 , A 1 , B 1} S1
G 2 {V 2 , , P2 , S 2 } V 2 {S 2 , A 2 , B 2 } S2
P2
P2 {
S 2 aA 2 A 2|bB 2 B 2
A2
B2
L L1 L2 G L.
{V, , P, S}
{S 1 , S 2 , A 1 , A 2 , B 1 , B 2 }
P1 P2
S 1|S 2
S 1 A 1 S 1 A 1|B 1 SB 1|
A1
B1
S 2 aA 2 A 2| bB 2 B 2
A2
B2
L1 L2
L 1 {0 n 1 n 2 i|n 1, i 1} L 2 {0 n 1 n 2 n|n 1}
L1 L2
L1 L2
TM
a i b j c k | i j or j k
S a ABC
a A |
bB | b
q 1 , a , S q 1 , ABC
q 1 , a , A q 1 , A
q 1 , , A q 1 ,
q 1 , b, B q 1 , B
q 1 , b, B q 1 ,
q 1 , c, C q 1 , C
q 1 , c, C q 1 ,
q 1 , , Z 0 q 1 ,
a bbccc
q 1 , abbccc, S | q 1 , bbccc, ABC
| q 1 , bbccc, B C
| q 1 , bccc, BC
| q 1 , c cc, C
| q 1 , cc, C
| q 1 , c, C
| q 1 , , Z 0
| q 1 ,
L a i b j c k |i j or j k
TM
L a i b j c k | i j or j k
S S1 | S2
S a AbZ
a Ab |
cZ | c
S a PbQc
aP|
bQc | bc
S1 aABZ
S a AbZ
B b
A a Ab A aAB
A A
S2 aPBQT
S a PbQc
T c
aP|
bQc Q bQT
bc Q bT
S S1 | S2
S a ABZ
a AB
TM
aPBQT
aP|
q , , S q , S1
q , , S q , S2
q , a , S1 q , ABZ
q , b, B q ,
q , a , A q , AB
q , , A q ,
q , c, Z q , Z
q , c, Z q ,
q , a , S2 q , PBQT
q , c, T q ,
q , a , P q ,
q , , P q ,
q , b, Q q , T
q , , Z 0 q ,
q , , S q , aabbc, S1
q , aabbc, S1 | q , abbc, ABZ
| q , abbc, aABBZ
| q , bbc, ABBZ
| q , bbc, BBZ
| q , bbc, bBZ
| q , bc, BZ
TM
| q , bc, bZ
| q , c, Z
| q , c, c
| q , , Z 0
| q ,
S, q 0 Z 0 q 0 , q 0 aq 0 , q 0 bq 0
0, 1
q 0 Z 0 q 0
q 0 , 0, Z 0 q 0 , aZ 0
q 0 Z 0 q 0 0 q 0 aq 0 q 0 Z 0 q 0
q 0 , 1, Z 0 q 0 , bZ 0
q 0 Z 0 q 0 1 q 0 b q 0 q 0 Z 0 q 0
q 0 , 0, a q 0 , aa
q 0 a q 0 0 q 0 a q 0 q 0 a q 0
TM
q 0 , 1, b q 0 , bb
q 0 b q 0 1 q 0 b q 0 q 0 b q 0
q 0 , 0, b q 0 ,
q 0 b q 0
q 0 , 1, a q 0 ,
q 0 a q 0
q 0 , , Z 0 q 0 ,
q 0 Z 0 q 0
S aSb|A, A bSa|S|
q 0 , a, S q 0 , SB
q 0 , b, S q 0 , SA
q 0 , a, S q 0 , B
q 0 , b, S q 0 , A
q 0 , a, A q 0 ,
q 0 , b, B q 0 ,
TM
q0 q0
Z0
, , ,
,
, , ,
TM
,
TM
L {a n b n| n 1}
L {a m b n|m 1, n 1}
q , a , S) q , BS)
q , a , S) q , B)
q , b , B) q , )
q , , Z 0 ) q , )
TM
w |w|
p qi r si t
{ a mb mc m, m 0 }
a m bm c m
uv i wx i y
a m bm c m
uv i w xi y
a n bm c m
a m bn c m a m bm c n a n bm c n
a m b m cm , m 0
a n bn
TM
TM
TM
TM
TM
Q, , , , q 0 , or B, F
q 0 , a q 1 , A, L
a q0
q1 a
q0 q0
TM
a b c
Input tape
Input tape
a b A A B b a
Tape head
Finite
control
q 0 , 0, 1 q 1 , 1, , R
q0
q1
a , b
TM
q0 (a,A,R)
Start (a,A,R)
q3 q0 q1
q3 q3
# 1 1 1 1 1 $
B B B B 1 1 B
B 1 1 1 B B B
Finite
control
M Q , , , , q 0 , B , F
L w c w|w a b
TM
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
TM
a 1 1 $ 1 1 1
a b
a
TM
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)
TM
0 0 0 1 0 0 1
m n
(0,,R)
(1,,R) (1,,R)
HALT q11 q10
(0,0,R)
,,R)
q9
(0,0,L)
(,,R)
(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)
TM
TM
TM
a , b
a a
a b a
a a
a a
(a,a,R) (b,b,R) (a,a,R)
Start q1 q2 q3
(,,S)
HALT
a a
q1
a b a
a a
a a
q1 q2
a b a
q3 , , S
a a a
TM
a
q1 , a, R
q1 q 2 , b, R
q2 q 3 , a, R
q3
0, 1
0 0
q0 1 q1
(0,0,R) (1,1,R)
Start q1 (0,0,R)
(,,L) (1,1,R)
HALT
q1
TM
q1
q1
(1,1,R) (0,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
TM
q2
q3
q6
0, 1
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)
L a n bn n 1
a a
a n bn
TM
aa
a
a
a
a
a
a
(B,B,R)
a (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
TM
aa q1
a a q1
a
a q2
a q0
a q1
q2
q0
q3
a
L a n b n c n|n 0
a n bn a n
a a b b c c
TM
(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)
(,,R) (B,B,R)
q4
(C,C,R)
(,,R)
HALT
a a
aa a q0 q1
a
a q1 q2
a
a q2 q3
a
a a q3
a a
a
q1 q2
TM
q3
q0 q4
q4
a 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
TM
a a *
a a
a a
a a *
a a
a *
a a
a a
*
*
*
TM
(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)
0, 1
(*,*,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)
TM
*
*
*
{ a , b} .
TM
(,,R)
(a,a,R), (b,b,R)
(a,a,L),
(a,,R) (,,L) (a,,L) (b,b,L)
q1 q2 q3
q0 (,,L)
(,,
L)
HALT
(,,L) (a,a,L),
(,,L) (b,b,L)
q4 q5 q6
(b,,R) (b,,L)
(a,a,R), (b,b,R)
(,,R)
a
b
b
b
TM
a
.
a
q0
1 1 1 1 $ 1 1 1
HALT
($,,R)
q5
(1,1,R)
(,,R)
(1,$,R)
TM
f n n 1
1
TM
(1,1,R)
q0 q1 , 1, R
q1 q1 , 1, R q 2 , 1, R
q2
TM
(1,1,R) (1,1,R)
(1,,R)
q4
(,,R)
HALT
a a b
f a b c
1 1 1 – 1 1
TM
*
*
*
(,,S)
HALT
(1,1,R) (*,*,R)
(*,*,L) (1,*,R)
f ( x, y) x * y
x y
0 10 1
TM
X Y
0x
0010001BB...
B010001BB...
B010001BB
B010001BB..
B01X001BB...
B01X 001BB...
B01X001BB...
B01X001BB...
B01X0010B...
B01X0010B...
B01X0010B...
B01X0010B...
B01X0010B...
TM
B01XX010B...
B01XX010B...
B01XX010B...
B01XX010BB...
B01XX0100B...
B01XX0100B...
B01XX0100B...
B01XX0100B...
B01XX0100B
B01XXX100B...
B01XXX1000B...
B010001000B...
B010001000B...
BB10001000B...
BB10001000000B...
BBB0001000000B
BBBBBB1000000B
BBBBBBB000000B B0xy
0 x t 10 y 10(t 1)y 0 x t 1 0 y 1 0 ty
TM
(0,0,L)
(B,B,R)
q0 q9
(0,B,R)
(1,1,R)
(0,0,R) (1,1,L)
(0,0,L)
q1 (1,1,R) q2 (0,X,R) q3 (B,0,L) q4 (0,0,L)
(0,0,R) (X,X,R)
(1,1,L)
(X,0,L)
(B,B,R)
(1,B,R) (1,B,R)
HALT q11 q10
(0,B,R)
x y 0x10y
L 0n1n / n 1
0 1 1 0 1 1
TM
M Q, , , , q 0 , B, F
q0
M1
M1 Q 1 , 1 , 1 , 1 , q 1 , B, F1
M2
M2 Q 2 , 2 , 2 , 2 , S 1 , B, F2
a5 a4 a3 a2 a1 a0
(a)
# a5 a4 a3 a2 a1 a0
(b)
M2
M1
L q 0 , q 1 , q 2 , q 3 , q 4 , q 5 a5 a4 a3 a2 a1 a0
M2
Start (a0,a0,L) (a1,a1,L) (a2,a2,L)
q1 q2 q3 q4
(a3,a3,L)
HALT q7 q6 q5
(,,S) (a5,a5,L) (a4,a4,L)
TM
q 7 ,
# a5 a4 a3 a2 a1 a0
M1
(a3,a3,L)
HALT S6 S5 S4
(#,#,S) (a5,a5,L) (a4,a4,L)
a , b
b a a b
a
a
a
a a a
aa a
a
a
a
TM
a
a a
(,,R)
(B,B,R)
(A,A,R)
(A,A,R)
(B,B,R)
(a,a,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)
TM
a a a
a
a
a
a a
a
TM
(0,0,R)
(1,1,R) (0,0,L)
(0,1,L)
Start (,,L) (1,1,L) (1,0,L)
q0 q1 q2
(,,S)
HALT
*
* *
TM
* * *
* *
* * *
* * * *
****
****
(,*,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
TM
*
* *
*
** *
** *
*** *
*** *
**** *
**** *
*****
****** *
****** *
TM
(*,*,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 q5 , *, R q 2 , *, R q1 , *, L
q2 q 2 , *, R q 3 , , 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 q5 , *, R q 6 , , 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
TM
(A,A,R)
(,,L)
(1,1,L)
(A,1,L)
(,,L)
HALT
q0
q1
q1 to q 2
TM
TM
(0,A,R)
(A,A,L)
(1,1,R) ,,L)
q0 q1 q2
(1,,L)
q3
,,L)
HALT
TM
(2, 2, R) (1, 1, R)
(2, 2, R) (1, 1, R)
q2
(0, 0, R)
(1, 1, R)
(, , N) Is the number on
q0 track 2 greater than 1
and less than number on track 1
No Yes
HALT and Remainder > 0
fail Divide number on
Remainder = 0 track 1 by number
HALT and on track 2
SUCCESS
TM
(1,1,R)
Start (,1,R) (,1,R) (,1,R)
q0 q1 q2 HALT
Thus TM halts
1 1 1 1 1 1 1 successfully
TM
0 0 1 0 0 0 1 ... 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0
(A, 0, R)
(, , L)
HALT
(0, 0, R) (0, 0, R)
(1, 1, L)
(0, 0, R) (0, 0, R)
(, 0, L)
(A, A, R) q5 (0, 0, L)
(1, 1, L)
(1, 1, L) (1, 1, L) (B, B, R)
q8 q7 q6
(0, 0, L)
(0, 0, L) (B, 0, L)
0
0
TM
0
B
0
0
1
0
0
0
0
1 1 1 ...
1 1 1 1 1 1 ...
n n
TM
(A, A, R)
(1, 1, R) (1, 1, R) (1, 1, L) Copying
(1, 1, L) n to
(1, A, R) (, , R) (, 1, L) (, , L) make
q0 q1 q2 q3 q4
nn
(, , L)
q5
(A, 1, R)
q6
(1, 1, R) (B, 1, L) (1, 1, L)
(, , R)
(, , L) (, , L) (A, 1, R)
q11 q12
q7
(, , R)
(1, B, R)
Performing
q8 HALT the
(1, 1, R)
(B, B, R) multiplication
(, , R) nn
q9 (1, 1, R)
(, 1, L)
(, , L)
q10 (1, 1, L)
(B, B, R) (C, C, R)
(0, 0, R) (1, 1, R) (1, 1, L)
(0, 0, L)
(B, B, L)
(0, A, R) (1, B, R) (0, C, L)
q0 q1 q2 q3 (C, C, L)
(B, B, R) (A, A, R)
q4 (B, B, R)
, , R) (C, C, R)
, , R
HALT
TM
a b b
(b, ,,L
B,R
)
q5 (B,B,L)
(a,A,R)
(b,b,R)
a b b
B b
B b B
B b a b
b B a
TM
A b
a
Input Accept/Reject
Finite
control
head 1 head n
head 2
tape
TM
Finite
control
Input tape 1
Input tape 2
TM
When
T halts for t
M1
(t,dT) ACCEPT halt
When T does
not halt for t
TM
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
TM
an b n
n
an b cn
utable languages
Comp
t sensitive languag
ntex es
Co
t f r e e l angu
tex ag
on Regular
e
C
language
TM
Q, , , , q 0 , or B, F
q 0 , a q 1 , A, L
a q0
q1 a
q0 q0
TM
Finite
control
Input tape 1
Input tape 2
TM
, ,
TM
(0, 0, R)
(1, 1, R) (1, 1, R)
Start (0, 0, R) (, 0, R)
q0 q1 HALT
TM
Finite
control
Input tape 1
Input tape 2
TM
B 1 1 B B ...
{a, b}
(a, a, R)
(b, b, R)
(a, a, R) , , R
q0 q1 HALT
L n mod 2
0, 0, R
q0 q1
0, 0, R
, , R)
HALT
TM
(1, 1, R)
(0, 0, R)
(0, 0, R)
q0 q1
(1, 1, R)
, , R)
HALT
TM
0 0 0 1 0 0 1
m n
(0,,R)
(1,,R) (1,,R)
Halt q11 q10
(0,0,R)
,,R)
q9
(0,0,L)
(,,R)
TM
(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)
TM
TM
a b A A B b a
Tape head
Finite control
(a, A, R)
(a, A, R)
q0 q1
(, , R)
(b, B, R) , R) (, , R)
,A
(a
q2 q3
(, , R)
(b, B, R)
TM
# 1 1 1 1 1 $ 1 1 B 1 1 1 B
Finite control
Finite control
# 1 1 1 1 1 $
B B B B 1 1 B
B 1 1 1 B B B
TM
.
a a a a
Input tape
a a a a
(a, , R) (, a, L)
q4
, , R (a, a, R) (, , L) , , L
q0 q1 q2 q3 HALT
(a, a, R)
TM
q0,q1, q2
q2
q3
q4
q2
q3
q4
q2
q3
q4
q2
q3
TM
q4
q2, q3
1n | n 4
(1,1,R)
(,,R)
HALT q5
(1,0,R)
(0,1,R)
(0,1,R)
TM
(1, 1, R)
TM
TM
TM
TM
TM
TM
TM
Primitive recursive
functions
TM
TM
TM
Recursive
language
Accept Reject
Turing
machine M Reject Accept
TM
TM
M1 Accept Accept
input w
[Binary string]
M2 Accept Reject
Complemented TM
TM
Finite control
Input
M w
Tape
0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 ........
State
TM
w Yes Accept
Hypothetical TM
M for L'u No Reject
L u
L u TM M' for Ld
TM
M
M
M
M
M
M
M
M
M M
M
M M
M
M
M
P P
P
L p
TM
TM
P - class NP - class
NP - complete NP - hard
TM
(1) (2)
V1 V1
1 1
V2 V2
2
V5
V1
8 1
V6 V2
2 3
13 V1 V1
(3) (4)
12 2 8 1 8 1
V6 V2 V6 V2
12 2 3 2 3
V5 V3
7
9
10
V4
V5 V3 V5 V3
7 7
V4 V4
Weight = 21
a 1 b 2 c
2 2 1
2 1
3 1 1 2
f d
e
2 3 3 3
3
g 3 h 3 i
TM
a b
1
1
a 1 b c
1
a b c
1
d
e
1
a 1 b c
1 1 2
f e d
i
1
a 1 b c
1 1 2
f e d
g 3 h i
TM
3
a b
6
5
7
1
8 4 9
c d
2
3
TM
NP - Problems
P-Problems
TM
NP-complete
P class problems
problems
NP
NP-hard
problems
NP
P NP - complete
TM
Every problem in NP
CIRCUIT - SAT
CNF - SAT
3 - SAT
VERTEX COVER
KNAPSACK TSP
TM
a g e b f h
a g e b f h
TM
1 1 0
1
1
1
0
1
0
1 0 1
TM
AND NOT OR
w1 w2 w1 w3 w3 w4
Read from
1 0 1 010 010 11 left to right
x1 x2 x1 x3 x3 x4
Read from
10 10 10 01 01 1 left to right
TM
0, 1
TM
{(w 1 , x 1 ), (w 2 , x 2 ), ... (w k , x k )
w 1 w i1 w i2 ... w im x 1 x i1 x i2 ... x im
(w 1 , x 1 )
wi xi
w1 w2 w 3 x1 x2 x 3
w1 x1
w 1 , w 2 , ... w k
B = x 1 , x 2 , ... x k
z 0 , z 1 , ... z k 1
yi wi wi zi xi
xi
TM
wi xi yi Zi
y0 y1 z0 z1
yi zi yi Zi
y k 1 zk 1 y k 1 $ zk 1 $
yi zi
i 1 , i 2 , ... i m
w 1 w i1 w i2 ... w im x 1 x i1 x i2 ... x im
y 1 y i1 y i2 ... y im z i z i1 z i2 ... z im
y1 y2 y 3 z1 z2 z 3
TM
y0 y1 z0 z1
y 0 y i1 y i2 ... y im z 0 z i1 z i2 ... z im
1 1 1 0 0 1 1 1 1 11 0 01 1 1
y0 y2 y3 z0 z2 z3
yk 1 $
zk 1 $
y 0 y i1 y i2 ... y im y k 1 z 0 z i1 z i2 ... z im z k 1
0, i 1 , i 2 , ... i m , k 1
0, i 1 , i 2 , ... i m i k 1
i 1 , i 2 , ... i m
yi zi
TM
yi zi
yi zi
TM
TM
w M1 Accept Accept
(Input string)
No Accept
M2
Start Reject
M
w Accept
TM
Input string Reject
w Accept
TM
Input string Loops for ever
TM
Accept
W TM Accept
Reject W TM
Loops for ever
TM
TM
( 0 1) w L(M)
Accept
w TM
Reject
2n – 1.
TM
11
f (x 1 , x 2 , ... , x n, y)
h ( x, y , f( x, y ) fadd ( x, y 1) S ( fadd ( x, y ) )
S ( 33 ( x, y , fadd ( x, y )))
11 , 33
Lu Lu
Lu
TM
w
TM
Lu
Lu
Lu
Lu
Lu
Lu
Lu
Finite control
Input
M w
Tape 00010001000
State 0
Lu j
1 2 3 4
1 0 1 1 0
i 2 1 1 0 0
3 0 0 1 0
4 0 0 0 1
Diagonal
TM
L1
L2
L1 L2
1 L 1 2 L 2
L1 L2
TM
{x 1 , x 2 , ...}
(n 2 )
TM
L1 L2 M1 M2 M1
M2
L1 L2
M1 M1
M2 Yes
Yes
M2
Start Yes
w M1 M2
w L1 L2 No
No
L1 L2 M
Yes
M1
w Yes
wL1 or L2 Yes
M2
M
L 1 and L 2
TM
M1 or M2
L 1 or L 2 M1
M2
M1
M1 M2
Accepts
M1 Yes
M1 M2 w
L or L' Accepts
M2 No
M
w Accept
M1 M2 Accept
L1 L2
Reject
Reject
M
TM
TM
TM
S aB bA ,
A a aS bAA ,
B b bS aBB.
(0 1) .
S aAA , A aS bS a.
Lu ?
TM
(ab a) .
NFA closure
letter
5 6
letter
1 2 3 4 7 10
digit
8 9
{ 0i 2 i 1}
.
E D (E) E E E E E E E E / E
D 0 1 2 ...9
1 + 2 3.
TM
{0n 1n n 1}.
{a nb n cn n 1}.
{0n1n n 1}.
TM
{ a , b}.
n( n 1)( 2n 1)
nx 1 x 2 6
.
TM
0 1
0 1 0
Start A B C D
0 1
1
0
1
1 1 0
E F G H
1 0
TM
{ a , b} { ww R|w }
{ aib j c k i j k}
{ a , b}.
TM
{ a , b},
{b ab n : m, n 0}.
m
({ q 0 , q 1}, { a , b }, , q 0 , { q 1})
q0 { q 0, q 1 } { q1}
q1 { q 0, q 1 }
TM
{ a n|n is odd }
TM
a b|c
{0n 1 2 n|n 0}
(b c)
(a b) c
E E E E (E ) id
(a b) ab
n
i 3 {n ( n 1) 2} 2
G
L (G) – {}
TM
aAb|
aDa|bDb|
I|E E|E E|(E )
TM