You are on page 1of 84

Bi Ging Mn hc: OTOMAT V NGN NG HNH THC

TS. Nguyn Vn nh, Khoa CNTT

Li ni u
Ngn ng l phng tin giao tip, s giao tip c th hiu l giao tip gia con
ngi vi nhau, giao tip gia ngi vi my, hay giao tip gia my vi my. Ngn ng
con ngi c th giao tip vi nhau c gi l ngn ng t nhin, chng hn nh ting Anh,
ting Nga, ting Vit l cc ngn ng t nhin. Cc quy tc c php ca ngn ng t nhin
ni chung rt phc tp nhng cc yu cu nghim ngt v ng ngha th li thiu cht ch,
chng hn cng mt t hay cng mt cu ta c th hiu chng theo nhng ngha khc nhau
ty theo tng ng cnh c th. Con ngi mun giao tip vi my tnh tt nhin cng thng
qua ngn ng. c s giao tip gia ngi vi my hay gia my vi nhau, cn phi c mt
ngn ng vi cc quy tc c php cht ch hn so vi cc ngn ng t nhin, ni cch khc,
vi mt t hay mt cu th ng ngha ca chng phi l duy nht m khng ph thuc vo
ng cnh. Nhng ngn ng nh th c gi l ngn ng hnh thc. Con ngi mun my
tnh thc hin cng vic, phi vit cc yu cu a cho my bng ngn ng my hiu c.
Vic vit cc yu cu nh th gi l lp trnh. Ngn ng dng lp trnh c gi l ngn
ng lp trnh. Cc ngn ng lp trnh u l cc ngn ng hnh thc.
C ngn ng hnh thc ln ngn ng t nhin u c th xem nh nhng tp cc t,
tc l cc xu hu hn cc phn t ca mt b ch ci c s no . V mt truyn thng, l
thuyt ngn ng hnh thc lin quan n cc c t c php ca ngn ng nhiu hn l n
nhng vn ng ngha. Mt c t v c php ca mt ngn ng c hu hn t, t nht v
nguyn tc, c th c cho bng cch lit k cc t. iu khng th p dng i vi cc
ngn ng c v hn t. Nhim v chnh ca l thuyt ngn ng hnh thc l nghin cu cc
cch c t hu hn ca cc ngn ng v hn.
L thuyt tnh ton cng nh ca nhiu ngnh khc nhau ca n, chng hn mt m
hc, c lin quan mt thit vi l thuyt ngn ng. Cc tp vo v ra ca mt thit b tnh ton
c th c xem nh cc ngn ng v ni mt cch su sc hn th cc m hnh tnh ton c
th c ng nht vi cc lp cc c t ngn ng theo ngha m trong bi ging ny chng
ta s nu chnh xc hn. Chng hn, cc my Turing c th c ng nht vi cc vn phm
cu trc cu, cc otomat hu hn c th ng nht vi cc vn phm chnh quy.
Mn hc otomat v ngn ng hnh thc nhm trang b cho sinh vin cc nm cui ca
ngnh Tin hc cc khi nim v ngn ng hnh thc, cc otomat, my TuringTrn c s ,
sinh vin c th hiu su hn cu trc cc ngn ng lp trnh, cc chng trnh dch cng nh
bn cht ca thut ton v phc tp tnh ton ca chng.
Trong khi cha c iu kin bin son mt gio trnh cho mn hc ny, chng ti tm
thi cung cp cho sinh vin ngnh Tin hc tp bi ging ny, lm ti liu tham kho v hc
tp. Do thi gian bin son c hn nn chc rng tp bi ging ny cn nhiu thiu st, rt
mong nhn c nhng kin ng gp ca cc em sinh vin v ng nghip.

Chng 1
VN PHM V NGN NG HNH THC

Trong chng ny, chng ta cp n mt s khi nim v kt qu c bn lin quan


n vn phm v ngn ng hnh thc.
1. Cc khi nim c bn v ngn ng hnh thc
1.1 Bng ch ci
1.2 T
1.3 Ngn ng
2. Cc php ton trn cc t
2.1 Php nhn ghp
2.2 Php ly t ngc
2.3 Php chia t
3. Cc php ton trn ngn ng
3.1 Php hp
3.2 Php giao
3.3 Php ly phn b
3.4 Php nhn ghp
3.5 Php lp
3.6 Php ly ngn ng ngc
3.7 Php chia ngn ng
4. Vn phm v ngn ng sinh bi vn phm
4.1 nh ngha vn phm
4.2 Ngn ng sinh bi vn pham
4.3 Phn loi vn phm theo Chomsky
5. Cc tnh cht ca vn phm v ngn ng
5.1 Tnh cht ca vn phm v dn xut
5.2 Tnh ng ca lp ngn ng sinh bi vn phm

1. Cc khi nim c bn v ngn ng hnh thc


1.1 Bng ch ci
nh ngha 1.1 Tp khc rng gm hu hn hay v hn cc k hiu c gi l bng ch
ci. Mi phn t a c gi l mt ch ci hay mt k hiu.
Th d 1.1 Di y l cc bng ch ci:
1. = {a, b, c, , x, y, z}
2. = {, , , , , , , , , , , , , , , , ,, },
3. = {0, 1},
4. W = {if, then, else, a, b, c, d, e, f, +, , , /, =, }.
1.2 T
nh ngha 1.2 Gi s c bng ch ci = {a1, a2, , am }, mt dy cc ch ci = ai1 ai2
ait, vi aij (1 j t) c gi l mt t hay mt xu trn bng ch ci .
Tng s v tr ca cc k hiu xut hin trong xu c gi l di ca t v k hiu l
| |.
Nh vy, mt t trn bng ch ci l mt xu hu hn gm mt s ln hn hay bng khng
cc ch ci ca , trong mt ch ci c th xut hin nhiu ln.
Xu khng c ch ci no c gi l t rng v c k hiu l . R rng t rng l t
thuc mi bng ch ci.
Hai t = a1a2an v = b1b2bm c gi l bng nhau, v c k hiu l = , nu n =
m v ai = bi vi mi i = 1, 2, , n.
Nu l mt t trn bng ch ci , v th cng l t trn bng ch ci .
Tp mi t trn bng ch ci c k hiu l * , cn tp mi t khc rng trn bng ch
ci c k hiu l +. Nh vy + = * \ {} v * = + {}. D thy rng cc
tp * v + l v hn.
V cu trc i s th * l mt v nhm t do sinh bi vi n v l t rng , cn
+ l mt na nhm t do sinh bi . C th chng minh c rng cc tp * v + l v hn
m c.
Th d 1.2
1. Ta c , 0, 01, 101, 1010, 110011 l cc t trn bng ch ci = {0,1}
2. Cc xu , beautiful, happy, holiday l cc t trn bng ch ci = {a, b, c, , z}.

1.3 Ngn ng
nh ngha 1.3 Cho bng ch ci , mt tp con L * c gi l mt ngn ng hnh thc
(hay ngn ng) trn bng ch ci .
Tp rng, k hiu , l mt ngn ng khng gm mt t no v c gi l ngn ng rng.
Vy ngn ng rng l ngn ng trn mi bng ch ci.
Ch rng ngn ng rng: L = l khc vi ngn ng ch gm mt t rng: L = {}.
Th d 1.3
1. * l ngn ng gm tt c cc t trn cn + l ngn ng gm tt c cc t khc t trng
trn .
2. L = { , 0, 1, 01, 10, 00, 11, 011,100} l mt ngn ng trn bng ch ci = {0, 1}.
3. L = {a, b, c, aa, ab, ac, abc } l ngn ng trn bng ch ci = {a, b, c}.
4. L1 = {, a, b, abb, aab, aaa, bbb, abab}, L2 = {anbn | n N} l hai ngn ng trn bng ch
= {a, b}, L1 l ngn ng hu hn trong khi L2 l ngn ng v hn. Mi t thuc ngn
ng L2 c s ch ci a bng s ch ci b vi a v b khng xen k, a nm pha tri v b
pha phi ca t

2. Cc php ton trn cc t


Cc php ton di y thc hin trn cc t trn cng mt bng ch ci , to nn cc t
mi cng thuc cng mt bng ch ci.
2.1 Php nhn ghp
nh ngha 2.1 Tch ghp (hay nhn ghp) ca hai t = a1a2am v t = b1b2bn trn
bng ch ci , l t = a1a2amb1b2bn trn bng ch ci .
K hiu php nhn ghp l = . (hay = ).
Nhn xt: T nh ngha 2.1, ta thy:

T rng l phn t n v i vi php nhn ghp, tc l: = = ng vi mi t .

Php nhn ghp c tnh kt hp, ngha l vi mi t , , , ta c () = ().

K hiu n, vi n l s t nhin, c dng theo ngha quen thuc:

khi n = 0 ,

= khi n = 1,
n 1
khi n > 1 .

i vi php nhn ghp th hm di c mt s tnh cht hnh thc ca lgarit: vi mi


t , v mi s t nhin n, th:
|| = || + ||, v
|n| = n||.
V r rng l vi phn t n v, tc l t rng , th | | = 0.

Chng minh cc kt qu trn l kh d dng, xin dnh cho sinh vin nh l bi tp.
Mt vi khi nim lin quan

i vi cc t , t1, , t2 trn bng ch ci m = t1t2 th * * ( * khng phi l mt


k hiu ca ) gi l mt v tr ca trn .

Xu c gi l mt t con trong nu tn ti t nht mt v tr ca trong .

Nu t1 = , tc l = t2 th c gi l tin t (phn u) ca t , nu t2 = , tc l
= t1 th c gi l hu t (phn cui) ca t . D thy rng t rng l phn u,
phn cui v l t con ca mt t bt k trn bng ch ci .

Trng hp | | = 1, tc l ch gm 1 k hiu, chng hn = b , th *b* c gi l


mt v tr ca b trong t , cng gi l mt im trong .

S v tr ca k hiu a trong t c k hiu l Ia(), hay ||a hoc n gin hn l |a.

Th d 2.1
1. Trn bng ch ci W = {if, then, else, a, b, c, d, e, f, +, , , /, =, }, ta c cc t = if
a+b=c then cd=e v = else c/d=f , cn l t: if a+b=c then cd=e else c/d=f.
2. Cho = {a, b, c}, khi : T = abcbcb cha 2 v tr ca bcb, l a*bcb*cb v
abc*bcb*, = bcb l mt t con ca . T cha mt v tr ca k hiu a, l
*a*bcbcb.
3. T = 010111001 trn bng ch ci {0, 1} c di 9, trong 0101 l tin t v 11001
l hu t ca .
2.2 Php ly t ngc
nh ngha 2.2 Gi s c t khc rng = a1a2 am trn bng ch ci , khi t am am-1
a2 a1 c gi l t ngc (hay t soi gng) ca t , v c k hiu l R , hay ^ .
Khi = ta quy c R = .
Nhn xt: D thy rng php ly t ngc c cc tnh cht sau:

(R)R = .

()R = R R

| R | = | |.

Chng minh cc kt qu trn l kh d dng, xin dnh cho sinh vin nh l bi tp.
Th d 2.2
1. Cho cc t = 100110 v = aabb trn bng ch ci {0,1,a,b}, theo nh ngha ta c:
R = 011001 v (R)R = (011001)R = 100110 = .
R = bbaa v (R)R = (bbaa)R = aabb = .
2. Cho cc t happy v oto trn bng ch ci = {a, b, c, x, y, z}, khi ta c:
(happy)R = yppah v (oto)R = oto.
Ngoi ra ta c: | (happy)R | = | yppah| = | happy | = 3.
2.3 Php chia t
L php ton ngt b phn u hay phn cui ca mt t. Ta c cc nh ngha sau:
nh ngha 2.3 Php chia tri ca t cho t (hay thng bn tri ca v ) cho kt qu

l phn cn li ca t sau khi ngt b phn u trong t , v c k hiu l \ .


nh ngha 2.4 Php chia phi ca t cho t (hay thng bn phi ca v ) cho kt

qu l phn cn li ca t sau khi ngt b phn cui trong t , v c k hiu l / .


Nhn xt: D thy rng cc php chia t c tnh cht sau:

Trong php chia tri ca t cho t th phi l tin t ca t , tng t, trong php
chia phi t cho t th phi l hu t ca t .

\ = / = .

Nu = . th

(\ )R = R / R .

\ = /

= .
\

= , cn / =

/ )R = R \ R.

Chng minh cc kt qu trn l kh d dng, xin dnh cho sinh vin nh l bi tp.
Th d 2.3 Cho cc t = abcaabbcc, = abc, = bcc trn bng ch ci = {a, b, c}, khi
ta c

1. \ = aabbcc v / = abcaab.

2. (\ )R = (aabbcc)R = ccbbaa =

ccbbaacba

/ cba = R / R

3. Cc php ton trn ngn ng.


Cc h ngn ng c th thng c c trng mt cch tin li qua cc php ton xc nh
trn ngn ng, h gm cc ngn ng nhn c bng vic t hp t mt s ngn ng cho
trc bi mt s php ton no . V mi ngn ng l mt tp hp nn ta c cc php ton
i s tp hp nh l php giao, php hp, php hiu, php ly b trn cc ngn ng. Chng
hn, vi L1 v L2 l hai ngn ng trn bng ch ci th ta cng c cc ngn ng mi sau y
trn bng ch ci : L1 L2, L1 L2, L1.L2, * \ L1.
Di y chng ta s trnh by cc php ton trn ngn ng
3.1 Php hp
nh ngha 3.1 Hp ca hai ngn ng L1 v L2 trn bng ch ci , k hiu L1 L2, l mt
ngn ng trn bng ch ci , l tp t:
L = { * | L1 hoc L2 }
nh ngha php hp c th m rng cho mt s hu hn cc ngn ng, tc l hp ca cc
ngn ng L1, L2, , Ln trn bng ch ci , l tp t:
n

UL

= { * | Li , vi i no , 1 i n }

i =1

Nhn xt: D dng thy rng php hp cc ngn ng c cc tnh cht sau:

Php hp hai ngn ng c tnh giao hon: L1 L2 = L2 L1.

Php hp cc ngn ng c tnh kt hp: (L1 L2) L3 = L1 ( L2 L3).

Vi mi ngn ng L trn th: L = L = L v L * = *.

Chng minh cc kt qu trn l kh d dng, xin dnh cho sinh vin nh l bi tp.
3.2 Php giao
nh ngha 3.2 Giao ca hai ngn ng L1 v L2 trn bng ch ci , k hiu L1 L2 , l mt
ngn ng trn bng ch ci , l tp t:
L = { * | L1 v L2 }
nh ngha php giao c th m rng cho mt s hu hn cc ngn ng, tc l giao ca cc
ngn ng L1, L2, , Ln trn bng ch ci , l tp t:
n

IL

= { * | Li , vi mi i, 1 i n }

i =1

Nhn xt: D dng thy rng, php giao cc ngn ng c tnh cht sau:

Php giao hai ngn ng c tnh giao hon: L1 L2 = L2 L1.

Php giao cc ngn ng c tnh kt hp: (L1 L2) L3 = L1 ( L2 L3).

Php giao cc ngn ng c tnh phn phi i vi php hp:


(L1 L2) L3 = (L1 L3 ) ( L2 L3).
(L1 L2) L3 = (L1 L3 ) ( L2 L3).

Vi mi ngn ng L trn th: L = L = v L * = L.

Chng minh cc kt qu trn l kh d dng, xin dnh cho sinh vin nh l bi tp.
3.3 Php ly phn b
nh ngha 3.3 Ngn ng phn b ca ngn ng L trn bng ch ci , k hiu CL (hay
n gin l CL, nu khng gy nhm ln), l mt ngn ng trn bng ch ci , l tp t:
CL = { * | L }
Nhn xt: D dng thy rng php ly phn b cc ngn ng c cc tnh cht sau:

C { } = + , C + = {}.

C = * , C * = .

C(CL1 CL2) = L1 L2.

Chng minh cc kt qu trn l kh d dng, xin dnh cho sinh vin nh l bi tp.
Th d 3.1
1. Cho ngn ng L1 = {, 0, 01}, L2 = {, 01, 10} trn bng ch ci = {0, 1}, khi ta c:
L1 L2 = {, 0, 01, 10},
L1 L2 = {, 01}.
2. Cho ngn ng L = { *, vi | | l mt s chn }, khi ta c:
CL = { + , vi | | l mt s l}.
3.4 Php nhn ghp
nh ngha 3.4 Cho hai ngn ng L1 trn bng ch 1 v L2 trn bng ch 2. Nhn ghp
hay tch ca hai ngn ng L1 v L2 l mt ngn ng trn bng ch 1 2, k hiu L1L2,
uc xc nh bi:
L1L2 = { | L1 v L2}.
Nhn xt: D dng nhn thy php nhn ghp (tch) cc ngn ng c cc tnh cht sau:

Php nhn ghp c tnh kt hp: vi mi ngn ng L1, L2 v L3, ta c:


(L1L2)L3 = L1(L2L3).

L = L = , {}L = L{} = L,

Php nhn ghp c tnh phn phi i vi php hp, ngha l


L1(L2 L3) = L1L2 L1L3, (L2 L3)L1 = L2L1 L3L1.

c bit: Php nhn ghp khng c tnh phn phi i vi php giao. Php hp, php giao
khng c tnh phn phi i vi php nhn ghp (xem th d 3.2). Tc l vi mi ngn
ng L1, L2 v L3, th:
L1(L2 L3) (L1L2) (L1L3) v
L1 (L2L3) (L1 L2)(L1 L3),
L1 (L2L3) (L1 L2)(L1 L3).

Th d 3.2 y l mt phn v d ch ra rng php nhn ghp khng c tnh phn phi i
vi php giao. Php hp, php giao khng c tnh phn phi i vi php nhn ghp.
Xt cc ngn ng L1 = {0, 01}, L2 = {01, 10}, L3 = {0} trn bng ch ci = {0, 1}.
1. C th kim tra c rng php nhn ghp khng c tnh phn phi i vi php giao:
Ta c: L2 L3 = , do :
L1(L2 L3) = ,
Mt khc, ta c L1L2 = {001, 010, 0101, 0110} v L1L3 = {00, 010}, do :
(L1L2) (L1L3) = {010}.
Vy L1(L2 L3) (L1L2) (L1L3), tc l php nhn ghp khng c tnh phn phi i vi
php giao.
2. Kim tra tnh phn phi ca php hp, php giao i vi php nhn ghp:
Ta c: L2L3 = {010, 100}, do :
L1 (L2L3) = {0, 01, 010, 100},
Mt khc ta cng c L1 L2 = {0, 01, 10} v L1 L3 = {0, 01}, do :
(L1 L2)(L1 L3) = {00, 001, 010, 0101, 100, 1001}.
Vy L1 (L2L3) (L1 L2)(L1 L3), tc l php hp khng c tnh phn phi i vi
php nhn ghp.
Tng t, i vi php giao, ta c:
L2L3 = {010, 100}, do :
L1 (L2L3) = .
Mt khc L1 L2 = {01}, L1 L3 = {0}, do :
(L1 L2)(L1 L3) = {010}.
Vy L1 (L2L3) (L1 L2)(L1 L3). Tc l php giao khng c tnh phn phi i vi
php nhn ghp.

V php ghp ngn ng c tnh kt hp nn k hiu Ln c dng vi mi ngn ng L v s


t nhin n theo ngha quen thuc sau:

{ } khi n = 0,

L = L khi n = 1,
n -1
L L khi n > 1.
n

3.5 Php lp
nh ngha 3.5 Cho ngn ng L trn bng ch ci , khi :

Tp t {} L L2 Ln =

U Ln

c gi l ngn ng lp ca ngn ng L

n =0

(hay bao ng ghp ca ngn ng L), k hiu L*.


Vy ngn ng lp ca L l hp ca mi lu tha ca L:

L =

U Ln .

n =0

Tp t L L2 Ln =

U Ln

c gi l ngn ng lp ct ca ngn ng L, k

n =1

hiu L+,

Vy ngn ng lp ct ca L l hp ca mi lu tha dng ca L: L =

U Ln .
n =1

Th d 3.3
1. Xt ngn ng L = {0, 1} trn bng ch = {0, 1}. Ta c:
L2 = {00, 01, 10, 11}, tp hp cc xu nh phn di 2;
L3 = {000, 001, 010, 011, 100, 101, 110, 111}, tp hp cc xu nh phn di 3.
Tng t, Ln l tp hp cc xu nh phn di n.
V vy, L* l tp hp tt c cc xu nh phn.
2. Xt hai ngn ng trn bng ch = {a}:
L1 = {a2n | n 1},
L2 = {a5n+3 | n 0}.
Khi , ta c L1 = {a2}+, L2 = {a5}*{a3}.
3.6 Php ly ngn ng ngc
nh ngha 3.6 Cho ngn ng L trn bng ch ci , khi ngn ng ngc ca L l mt
ngn ng trn bng ch ci , c k hiu l LR hay L^, l tp t:
LR = { * / R L}

10

Nhn xt: D dng thy rng php ly ngn ng ngc c cc tnh cht sau:

(LR)R = L.

{} R = { }.

()R = .

Chng minh cc kt qu trn l kh d dng, xin dnh cho sinh vin nh l bi tp.
Th d 3.4 Cho L = {, ab, abc, cbaa} l mt ngn ng trn bng ch ci = {a, b, c}, khi
LR = {, ba, cba, aabc} l ngn ng ngc ca L.
3.7 Php chia ngn ng
nh ngha 3.7 Cho ngn ng X v Y trn bng ch ci , khi thng bn tri ca ngn
X
ng X cho ngn ng Y l mt ngn ng trn , c k hiu l Y \ , l tp t:
Y

\ X = {z * / x X, y Y m x = yz}

nh ngha 3.8 Cho ngn ng X v Y trn bng ch ci , khi thng bn phi ca ngn
ng X cho ngn ng Y l mt ngn ng trn , c k hiu l X /Y , l tp t:
X

/ Y = {z * / x X, y Y m x = zy}

Nhn xt: D dng thy rng php chia ngn ng c cc tnh cht sau:
L

{} \

= L/ {} = L
=

L\

L\

(Y \ X )R = XR / Y R , ( X / Y )R = YR.\ XR.

/ = L
/L = *

/L = +

Chng minh cc kt qu trn l kh d dng, xin dnh cho sinh vin nh l bi tp.
Th d 3.5 Cho X = {a, b, abc, cab, bcaa} v Y = {, c, ab} l cc ngn ng trn bng ch
ci = {a, b, c}, khi :
X

1.

Y\

2.

3.

X\

4.

5.

X\

= { , bc, caa}

6.

Y\

= {, c, ab}

= {a, b, abc, cab, bcaa, ab, c}

/ Y = {a, b, abc, cab, bcaa, ab, c}


Y

= {b}

/ X = {a}

11

4. Vn phm v ngn ng sinh bi vn phm


M u
Ta c th hnh dung mt vn phm nh mt thit b t ng m n c kh nng sinh
ra mt tp hp cc t trn mt bng ch ci cho trc. Mi t c sinh ra sau mt s hu
hn bc thc hin cc quy tc ca vn phm.
Vic xc nh mt ngn ng trn bng ch ci cho trc c th c thc hin bng
mt trong cc cch thc sau:
Cch 1. i vi mi t thuc ngn ng cho, ta c th chn mt quy cch hot ng ca
thit b t ng sau mt s hu hn bc lm vic n dng v sinh ra chnh t .
Cch 2. Thit b t ng c kh nng ln lt sinh ra tt c cc t trong ngn ng cho.
Cch 3. Vi mi t cho trc, thit b t ng c th cho bit t c thuc ngn ng
cho hay khng.
Trong l thuyt vn phm, ngi ta chng minh c rng ba cch thc trn l tng
ng nhau hay vn phm lm vic theo cc cch trn l tng ng nhau. V vy, y ta
quan tm n cch th nht, tc l ta xt vn phm nh l mt thit b t ng sinh ra cc
t. V l m ngi ta cn gi cc thit b t ng l vn phm sinh.
Vic sinh ra cc t c th c thc hin bng nhiu cch khc nhau. Cc t c th c sinh
ra bi cc vn phm, bi cc Otomat, bi cc my hnh thc nh my Turing, y ta
cp n cch ca CHOMSKY a ra vo nhng nm 1956-1957.
4.1. nh ngha vn phm
nh ngha 4.1 Vn phm G l mt b sp th t gm 4 thnh phn:
G = < , , S, P >,
trong :
+ l mt bng ch ci, gi l bng ch ci c bn (hay bng ch ci kt thc), mi phn t
ca n c gi l mt k hiu kt thc hay k hiu c bn;
+ l mt bng ch ci, = , gi l bng k hiu ph (hay bng ch ci khng kt
thc), mi phn t ca n c gi l mt k hiu khng kt thc hay k hiu ph.
+ S c gi l k hiu xut pht hay tin ;
+ P l tp hp cc quy tc sinh c dng , c gi l v tri v c gi l v phi
ca quy tc ny, vi , ( )* v trong cha t nht mt k hiu khng kt thc.
P = { | = A, vi A , , , ( )* }

12

Chng hn, vi = {0,1}, = {S, A, B} th cc quy tc S 0S1A, 0AB 1A1B, A ,


l cc quy tc hp l v v tri lun cha t nht 1 k hiu ph thuc . Nhng cc quy tc
dng 0 A, 01 0B, l cc quy tc khng hp l.
Th d 4.1 Cc b bn sau l cc vn phm:
1. G1 = <{0, 1}, {S}, S, {S0S1, S}>,
2. G2 = <{a, b}, {S, A}, S, {SAb, AaAb, A}>,
3. G3 = <{a, b, c}, {S, A, B, C}, S, {SABC, AaA, BbB, CcC, Aa, Bb, Cc}>
4. G4 = <, , S, P>, trong :
= {ti, anh, ch, n, ung, cm, ph, sa, caf},
= {<cu>, <chng>, <vng>, <ngt1>, <ngt2>, <danht1>, <danht2>},
S = <cu>,
P = {<cu><chng><vng>, <chng>ti, <chng>anh, <chng>ch,
<vng><ngt1><danht1>, <vng><ngt2><danht2>, <ngt1>n,
<ngt2>ung, <danht1>cm, <danht1>ph, <danht2>sa,
<danht2>caf}.
Ch : Nu cc quy tc c v tri ging nhau c th vit gn li: hai quy tc , c
th c vit l | . Chng hn, nh trong vn phm G1 th d 4.1, ta c th vit hai
quy tc ca n di dng S0S1 | .
4.2 Ngn ng sinh bi vn phm
nh ngha 4.2 Cho vn phm G = < , , S, P > v , ( )*. Ta ni c suy dn
trc tip t trong G, k hiu G hay ngn gn l (nu khng s nhm ln), nu
tn ti quy tc P v , ( )* sao cho = , = .
iu ny c ngha l nu nhn v tri ca quy tc nh l t con th ta thay
bng c t mi .
nh ngha 4.3 Cho vn phm G = < , , S, P > v , ( )*. Ta ni c suy dn
t trong G, k hiu G hay ngn gn l (nu khng s nhm ln), nu = hoc
tn ti mt dy D = 0, 1,, k( )* sao cho 0 = , k = v i-1 i, vi i = 1, 2,..., k.
Dy D = 0, 1, , k c gi l mt dn xut ca t trong G v s k c gi
l di ca dn xut ny. Nu 0 = S v k * th dy D gi l dn xut y .
Nu i c suy dn trc tip t i-1 bng vic p dng mt quy tc p no trong G
th ta ni quy tc p c p dng bc th i.
nh ngha 4.4 Cho vn phm G = < , , S, P >. T * c gi l sinh bi vn phm
G nu tn ti suy dn S . Ngn ng sinh bi vn phm G, k hiu L(G), l tp hp tt c
cc t sinh bi vn phm G:
L(G) = {* | S G }.

13

nh ngha 4.5 Hai vn phm G1 = < 1, 1, S1, P1 > v G2 = < 2, 2, S2, P2 > c gi l
tng ng nu L(G1) = L(G2).
Th d 4.2
1.

Xt vn phm G1 trong th d 4.1. T = 00001111 c suy dn t S bng dy dn


xut di 5: S 0S1 00S11 000S111 0000S1111 00001111 (c th vit ngn
gn l = 0414).
Bng vic s dng n ln (n 0) quy tc 1 ri quy tc 2, ta c: S 0n1n.
Do L(G1) = {0n1n | n 0}.

2.

Xt vn phm G2 trong th d 4.1. S dng quy tc 1, ri n ln (n 0) quy tc 2, sau


quy tc 3 kt thc, ta c: S Ab anAbnb anbn+1.
Do L(G2) = {anbn+1 | n 0}.

3.

Xt vn phm G3 trong th d 4.1. S dng quy tc 1, ri m -1 ln (m 1) quy tc 2, n-1


ln (n 1) quy tc 3, k-1 ln (k 1) quy tc 4 (cc quy tc c th xen k), sau kt thc
bi cc quy tc 5, 6, 7, ta c: S ABC amAbnBckC ambnck.
Do L(G3) = {ambnck | m 1, n 1, k 1}.

4.

D dng thy rng: L(G4) = {ti n cm, anh n cm, ch n cm, ti n ph, anh n ph,
ch n ph, ti ung sa, anh ung sa, ch ung sa, ti ung caf, anh ung caf, ch
ung caf}.

Ta c th biu din vic dn xut t <cu> n mt t trong L(G4), chng hn ti n cm


bng mt cy gi l cy dn xut hay cy phn tch c php nh di y. Tt nhin, theo
quan im phn tch c php thc t, vic xem xt cc quy tc theo hng ngc li l t phi
qua tri. iu c ngha l cy di y c x l t di ln trn ch khng phi l t
trn xung di. (H.1).

H. 2.1 Cy dn xut cho v d 4.2

14

Th d 4.3 Cho hai vn phm G3 = <, {S}, S, P3>, G4 = <, {S}, S, P4>, trong :
= {0, 1, 2, 3, 4, 5 ,6, 7, 8, 9},
P3 = {S1| 2| 3| 4| 5| 6| 7| 8| 9| S0| S1| S2| S3| S4| S5| S6| S7| S8| S9},
P4 = {S0| 1| 2| 3| 4| 5| 6| 7| 8| 9| 1S| 2S| 3S| 4S| 5S| 6S| 7S| 8S| 9S}.
D thy rng L(G3) = {n | n 1}. Tht vy, s dng k-1 ln (k 1) cc quy tc trong nhm
10 quy tc cui ca G3, ri mt quy tc trong nhm 9 quy tc u tin ca n, ta c:
S Si1 Si2i1 Sik-1i2i1 Sikik-1i2i1, (vi i1, i2, , ik ).
trong , i1, i2, , ik-1 0 v ik 1. Do , L(G3) = {n | n 1}.
Lp lun nh trn, ta nhn c L(G4) = {n | n 0}. V vy, G3 v G4 khng tng ng
nhau.
4.3 Phn loi vn phm theo Chomsky
Da vo c im ca tp quy tc m ngi ta chia cc vn phm thnh cc nhm khc nhau.
Noam Chomsky (Institute Professor, Massachusetts Institute of Technology. Born December 7, 1928
Philadelphia, Pennsylvania, USA) phn loi vn phm thnh bn nhm:

Nhm 0: Vn phm khng hn ch (hay vn phm ng cu, vn phm tng qut),

Nhm 1: Vn phm cm ng cnh,

Nhm 2: Vn phm phi ng cnh,

Nhm 3: Vn phm chnh quy.

Di y l cc nh ngha cho cc nhm vn phm ni trn.


nh ngha 4.6 Vn phm G = < , , S, P > m khng c mt rng buc no i vi cc
quy tc ca n c gi l vn phm tng qut hay vn phm khng hn ch.
Nh vy, cc quy tc trong vn phm nhm 0 c dng: , vi = A, A , , ,
( )*. Cc quy tc ca vn phm nhm 0 c gi l quy tc khng hn ch. Ngn
ng do vn phm nhm 0 sinh ra c gi l ngn ng tng qut.
nh ngha 4.7 Vn phm G = < , , S, P > m cc quy tc ca n u c dng: , vi
= A, A , , , ( )*, v | | | |, c gi l vn phm nhm 1hay vn
phm cm ng cnh.
Cc quy tc trong vn phm nh m 1 c gi l quy tc cm ng cnh. Ngn ng do vn
phm cm ng cnh sinh ra c gi l ngn ng cm ng cnh.
Cc vn phm m cc quy tc ca chng c dng trn, ng thi cha thm quy tc rng
S, cng c xp vo lp vn phm nhm 1.
Th d 4.4 Cho vn phm G = <{a, b, c}, {S, A, B, C}, S, P>, trong :
P = {SaSAC, SabC, CABA, BABC, BCAC, bAbb, Cc}.

15

Khi G l vn phm cm ng cnh.


S dng n-1 ln (n 1) quy tc 1, ri quy tc 2, k n s dng lin tip cc quy tc 3, 4, 5
( i ch A v C), sau s dng n-1 ln quy tc 6 v n ln quy tc 7, ta c:
S an-1S(AC)n-1 anbC(AC)n-1 anbAn-1Cn anbncn.
T suy ra L(G) = {anbncn | n 1}.
nh ngha 4.8 Vn phm G = < , , S, P > m cc quy tc ca n c dng A, trong
A, ( )*, c gi l vn phm nhm 2.hay vn phm phi ng cnh.
Nh vy, cc quy tc trong vn phm phi ng cnh c v tri ch cha mt k hiu
ph cn v phi l ty , v c gi l quy tc phi ng cnh. Ngn ng do vn phm phi
ng cnh sinh ra c gi l ngn ng phi ng cnh.
Th d 4.5
1. Cho vn phm G1 = <{a, b}, {S, A}, S, P>, trong :
P = {SSa, SAa, AaAb, Aab}.
Khi G1 l vn phm phi ng cnh.
S dng m-1 ln (m 1) quy tc 1, ri quy tc 2, sau s dng n-1 ln (n 1) quy tc
3, cui cng l quy tc 4, ta c:
S Sam-1 Aaam-1 an-1Abn-1am anbnam.
T suy ra L(G1) = {anbnam | n 1, m 1}.
2. Cho vn phm G2 = <{0, 1}, {S}, S, {SSS, S0S1, S1S0, S}>.
G2 l vn phm phi ng cnh. T cc quy tc ca G2, ta c L(G2) ={, 01, 10, 0011, 1100,
1001, 111000, } hay L(G2)={{0, 1}* | s cc ch s 0 v 1 trong l bng nhau}.
3. Cho vn phm G3 = <{a, b}, {S}, S, P3>, vi P3 = {S, SaSa, SbSb, Saa,
Sbb}.
G3 l vn phm phi ng cnh v n sinh ra ngn ng phi ng cnh L(G3) = {R | {a,
b}*} c cc t c di chn v c cc k hiu i xng nhau t hai u ca t. Chng
hn cc t abba, bbaabb, ababbaba l thuc L(G3).
nh ngha 4.9 Vn phm G = < , , S, P > m cc quy tc ca n ch c dng AaB,
Aa (hoc ch c dng ABa, Aa ), trong A, B, a, c gi l vn phm nhm 3
hay vn phm chnh quy.
Cc vn phm m cc quy tc ca chng c dng trn, ng thi cha thm quy tc rng S
cng c gi l vn phm chnh quy (hay cn gi l vn phm chnh quy suy rng).
Cc quy tc trong vn phm chnh quy c gi l quy tc chnh quy.
phm chnh quy sinh ra c gi l ngn ng chnh quy.

16

Ngn ng do vn

Th d 4.6
1. Cho vn phm: G1 = <{1}, {S, A, B}, S, P1 >, vi P1 = {S, S1A, A1B, B1A,
A1}.
Khi , G1 l vn phm chnh quy v L(G1) = {12n | n 0}. Tht vy, s dng quy tc 1,
ta c S 12n, ( = 12n, vi n = 0), s dng quy tc 2, ri n-1 ln (n 1) lin tip cp quy
tc 3 v 4, cui cng l quy tc 5, ta c:
S 1A 11B 111A 1(12n-2)A 1(12n-2)1 = 12n.
2. Cho vn phm G2 = <{0, 1}, {S, A}, S, P2 >, P2 = {S0A, A0A, A1A, A0}>.
Khi , G1 l vn phm chnh quy v L(G2) = {00 | {0, 1}*}. Tht vy, s dng quy
tc 1, ri mt s h hn ln tu , c th xen k cc quy tc 2 v 3, cui cng l quy tc
4, ta c: S 0A 0A 00.
Nhn xt: T cc nh ngha trn, ta thy lp vn phm khng hn ch l rng nht, n cha
ng cc vn phm cm ng cnh, lp vn phm cm ng cnh cha cc vn phm phi ng
cnh v lp vn phm phi ng cnh cha cc vn phm chnh quy.
Ngn ng hnh thc c gi l ngn ng tng qut (hay cm ng cnh, phi ng cnh,
chnh quy) nu tn ti vn phm loi tng ng sinh ra n. V vy, i vi cc lp ngn ng,
nu k hiu L0, L1, L2, L3 ln lt l cc lp ngn ng tng qut, cm ng cnh, phi ng cnh
v chnh quy th ta c bao hm thc:
L3 L2 L1 L0.
Hnh v di y cho mt s so snh v ln ca cc lp ngn ng theo phn loi ca
Chomsky, cho thy lp ngn ng chnh quy L3 l nh nht, n b cha thc s trong lp ngn
ng phi ng cnh L2, lp ngn ng phi ng cnh li b cha thc s trong lp ngn ng cm
ng cnh L1 v cui cng lp ngn ng tng qut L0 (ngn ng ng cu) l rng nht.

L3

L2

L1

ng cu

L0

H. 2.2 So snh cc lp ngn ng


Ta cng thy v mt cu trc ng php th cc quy tc ca cc vn phm phi ng cnh v vn
phm chnh quy l n gin hn c v chng c nhiu ng dng trong vic thit k cc ngn
ng lp trnh v trong nghin cu v chng trnh dch V vy, trong cc phn tip theo
chng ta dnh thm s quan tm ti hai lp vn phm .

17

Th d 4.7 Cho bng ch ci = {a1, a2, , an}.


Chng minh rng cc ngn ng: L1 = { = a1a2 an}, L2 = +, L3 = *, L = l cc ngn
ng chnh quy trn bng ch .
Tht vy, ta c th xy dng cc vn phm chnh quy sinh cc ngn ng trn:
G1 = <, {S, A1, , An-1}, S, {Sa1A1, A1a2A2, , An-2an-1An-1, An-1an}>.
D thy G1 l vn phm chnh quy, v L1 = L(G1).
G2 = <, {S}, S, {SaS, Sa | a}>, d thy G2 l vn phm chnh quy, v L2 =
L(G2).
G3 = <, {S, A}, S, {S, Sa, SaA, AaA, Aa | a}>, d thy G3 l vn phm
chnh quy, v L3 = L(G3).
G4 = <, {S}, S, {SaS | a}>, d thy G4 l vn phm chnh quy, v n lm vic
khng bao gi dng, tc l khng c * sinh bi G4, vy G4 sinh ra ngn ng .

5. Cc tnh cht ca vn phm v ngn ng sinh bi vn phm


5.1 Mt s tnh cht ca vn phm v dn xut
Trong phn ny, chng ta s trnh by mt s tnh cht quan trng ca cc dn xut v cc vn
phm.
nh l 5.1 Vi mi vn phm G = < , , S, P >, lun tn ti mt vn phm G = < , ,
S, P > tng ng vi vn phm G, tc l L(G) = L(G).
Chng minh:
Gi s c vn phm G = < , , S, P >, ta xy dng vn phm G = < , , S, P >, trong
:
+ = , v vi mi a , ta b xung mt k hiu a v gi l i ngu ca a, t
= { a | a }
+ = ,
+ S = S,
+ P = P1 P2 , vi P1 = { a a | a }, P2 = { | P }, v l cc xu
v c thay cc k hiu thuc bng cc k hiu i ngu ca n. D thy rng L(G)
= L(G), tht vy ta s chng minh hai bao hm thc:
a./ Chng minh L(G) L(G): Ly bt k L(G), khi ta c SG, tc l ta c mt dy
suy dn trc tip trong G: S = 0G 1G G k = , vi dy suy dn ny, ta thay mi
quy tc trong cc suy dn i G i+1, ( 0 i k-1), bi cc quy tc tng ng trong P1 v P2,
ta nhn c dy cc suy dn trong G: S = 0G 1 G G m = , do ta c
SG , tc l L(G). Vy L(G) L(G).

18

b./ Chng minh L(G) L(G): Ly bt k L(G), khi ta c SG, tc l ta c mt dy


suy dn trong G: S = 0G 1 G G k = , trong cc suy dn iG i+1, ( 0 i
k-1), ta thay mi k hiu a bi cc k hiu tng ng a 1, khi mi quy tc u
thuc P, ta nhn c dy cc suy dn trc tip trong G: S = 0G 1G G k = , ta c
SG, tc l L(G). Vy L(G) L(G).
Th d 5.1 Cho vn phm G1 = <{a, b}, {S}, S, {SaSb, Sab}>, ta c th xy dng G2
tng ng vi G1 nh sau:
G2 = <{a, b}, {S, A, B}, S, {SASB, Aa, Bb, SAB}>.
D dng c c L(G1) = L(G2) = {anbn | n 1}, hay G1 v G2 l tng ng.
Vi mi vn phm G, ta c th thay th cc quy tc c cha k hiu xut pht v phi,
nhn c mt vn phm tng ng, nh b sau:
B 5.1 Cho vn phm G = < , , S, P >. Khi nu tn ti trong P quy tc cha k hiu
xut pht S v phi th tn ti vn phm G tng ng vi G m cc quy tc ca n
khng cha k hiu xut pht v phi.
Chng minh:
Ly S , xt vn phm G = <, {S}, S, P>, trong P = P {S | S
P}. R rng trong P khng cha quy tc no c S v phi. Ta chng minh L(G) = L(G).
a./ Ly L(G): Khi ta c SG , gi s dy dn xut trong G ca l S 1
. V SG nn c SP, do SP v v P P nn ta c SG G. Vy
SG hay L(G), vy L(G) L(G).
b./ Ly L(G): Khi ta c SG, gi s ta c dy dn xut trong G l SG G.
V SG nn S P, do tn ti S P. Mt khc, trong khng cha S nn cc
suy dn trc tip trong G ch s dng cc quy tc ca P. Vy ta c S G hay L(G),
vy L(G) L(G).
Vi mi vn phm G, ta c th thay th cc quy tc c cha k hiu c bn v tri, nhn
c mt vn phm tng ng khng cha cc k hiu c bn v tri cc quy tc, nh b
sau:
B 5.2 Cho vn phm G = < , , S, P > ty , lun lun c th xy dng vn phm G
tng ng vi G m cc quy tc ca n khng cha k hiu c bn v tri.
Chng minh:
Gi s c vn phm G = < , , S, P > ty , vi mi l hiu c bn a xut hin trong v tri
ca mt quy tc no , ta b xung mt k hiu a v gi l i ngu ca a,
t = { a | a , a xut hin v tri quy tc no },
P1 = { a a | a , a },

19

P2 = { | P }, v l cc xu v c thay cc k hiu a
(m xut hin v tri mt quy tc no ) , bng cc k hiu i ngu a ca n.
Xy dng vn phm G = < , , S, P >, vi:
= ,
= ,
S = S,
P = P1 P2
Vn phm G s l vn pham tng ng vi vn phm G (theo nh l 5.1), hn na, theo
cch xy dng th trong tt c cc v tri ca G s khng cha k hiu c bn.
Vy b c chng minh.
Ta a ra hai khi nim v dn xut:
nh ngha 5.1 Cho vn phm G = < , , S, P > v hai dy dn xut D = 0, 1, , k v
D = 0, 1, , m trong vn phm G. Ta ni hai dn xut trn l ng lc nu 0 = 0
v k = m.
nh ngha 5.2 Cho vn phm G = < , , S, P > v dn xut D = 0, 1, , k trong vn
phm G. Ta ni dn xut D l khng lp nu khng tn ti cp (i, j) vi i j m i = j.
nh l 5.2 Vi mi dn xut trong vn phm G ty , lun lun tn ti mt dn xut khng
lp v ng lc vi n.
Chng minh: Gi s D = 0, 1, , i-1, i, i+1,, m, xt cc trng hp sau:
a/. Trong D khng c mt cp (i, j) vi i j m i = j, khi D chnh l dn xut khng
lp v ng lc vi chnh n.
b/. Trong D c mt cp (i, j) vi i j m i = j, khi ta xt dn xut D = 0, 1, , i1, j, j+1,, m. R rng y l dn xut khng lp v ng lc vi D, v D nhn c
bng cch b i mt on i, i+1, , j-1 l on c im u v im cui trng nhau, do
dn xut D l ng lc vi D. Nu trong D vn cn nhng cp i= j nh vy, ta s lp
li qu trnh trn cho n khi mi xu trong D l khc nhau tng i mt, ta s nhn c mt
dn xut mi khng lp v ng lc vi dn xut ban u.
5.2 Tnh ng ca lp ngn ng sinh bi vn phm
Gi s L1 v L2 l hai ngn ng bt k c sinh bi vn phm, v o l mt php
ton no trn lp cc ngn ng (php hp, php giao, php nhn ghp, php ly ngn ng
b). Nu L1 o L2 l ngn ng cng c sinh bi mt vn phm th ta ni lp ngn ng do
vn phm sinh ra ng i vi php ton o . Lp ngn ng sinh bi vn phm l ng i vi
hu ht cc php ton trn ngn ng m ta hc trong 3, di y ta ch xt tnh ng i
vi mt s php ton quan trng nht.

20

nh l 5.3 Lp ngn ng sinh bi vn phm l ng i vi php hp (), php giao () v


php nhn ghp ngn ng (.)
Chng minh:
Trc ht, ta s chng minh lp ngn ng sinh bi vn phm l ng i vi php hp, vic
chng minh tnh ng ca lp ngn ng sinh bi vn phm i vi cc php giao v php
nhn ngn ng l hon ton tng t.
Gi s L1, L2 l cc ngn ng c sinh bi vn phm G1= <1, 1, S1, P1>, G2 = <2, 2, S2,
P2>, tc l L1 = L(G1), L2 = L(G2). Ta chng minh tn ti vn phm G sao cho L(G) = L1 L2.
Xy dng vn phm G sinh ra ngn ng L1 L2 nh sau: G = <, , S, P>, vi:
= 1 2
= 12 {S}
P = P1 P2 {SS1, SS2}
Ta s chng minh L(G) = L1 L2 bng cch chng minh hai bao hm thc:
a./ Chng minh L(G) L1 L2: Gi s L(G), khi tn ti mt suy dn trong vn
phm G: S G , trong * = (1 2)*. Do cch xy dng tp quy tc P, nn trong
suy dn S , c hai kh nng:
+ hoc SG S1G1 , vy l kt qu ca suy dn S1 trong G1, do L(G1). (a)
+ hoc SG S2G2 , vy l kt qu ca suy dn S2 trong G2, do L(G2). (b)
T (a) v (b), ta thy L1 L2, hay L(G) L1 L2
b./ Chng minh L1L2 L(G): Gi s L1L2, khi ta cng c hai kh nng: L1
hoc L2 :
+ Nu L1 = L(G1), khi ta c suy dn S1G1 trong G1, do ta cng c suy dn S G
S1 G1 l mt suy dn trong G (v theo cch xy dng G, mi quy tc v mi k hiu trong
G1 cng u thuc G), nh vy L(G).
+ Nu L2 = L(G2), khi ta c suy dn S2G2 trong G2, do ta cng c suy dn S G
S2 G2 l mt suy dn trong G (v theo cch xy dng G, mi quy tc v mi k hiu trong
G2 cng u thuc G), nh vy L(G).
Vy ta lun lun c L(G), do : L1L2 L(G).
Tc l ta chng minh c rng L(G) = L1 L2.
Tng t, chng minh tnh ng ca lp ngn ng sinh bi vn phm i vi php nhn
ghp ngn ng, ta xy dng vn phm G = <, , S, P> sao cho L(G) = L(G1). L(G2) nh sau:
= 1 2
= 12 {S}
P = P1 P2 {SS1S2}.
Khi L(G) = L(G1).L(G2)

21

chng minh tnh ng ca lp ngn ng sinh bi vn phm i vi php giao, ta xy dng


vn phm G = <, , S, P> sao cho L(G) = L(G1) L(G2) nh sau:
= 1 2
= 12 1 2 {S} , trong : 1 = { a | a 1 } l tp cc k hiu i ngu ca
cc k hiu trong 1, cn 2 = { b | b 2 } l tp cc k hiu i ngu ca 2.
P = P1 P2 {SS1S2} P P, trong P1 l tp cc quy tc nhn c t P1, m
mi k hiu a 1 u c thay bi k hiu i ngu tng ng ca n a 1, P2 l tp
cc quy tc trong P2, m mi k hiu b 2 u c thay bi k hiu i ngu tng
ng ca n b 2, v:
P = { a b b a | a 1, b 2 },
P = { a a a | a 12 }.
Khi ta s c L(G) = L(G1) L(G2).
nh l c chng minh.
Ch :
1/. Ngi ta chng minh c rng: Lp ngn ng sinh bi vn phm cng ng i vi cc
php ton trn ngn ng: php lp, lp ct, php chia tri v chia phi.
2/. Nhng lp ngn ng sinh bi vn phm khng ng i vi php tr v php ly phn b
ngn ng.
H qu 5.1 Nu L1 v L2 l hai ngn ng chnh quy (hay phi ng cnh, cm ng cnh) th
L1L2 cng l ngn ng chnh quy (hay phi ng cnh, cm ng cnh).
Th d 5.2 Cho hai ngn ng L1 = {ancb2n | n 0} v L2 = {a2ncbn | n 0} trn bng ch =
{a, b, c}, c th thy rng L1 v L2 ln lc c sinh bi cc vn phm sau y:
G1 = <, {S1, A, B}, S1, {S1AS1B, S1c, Aa, Bbb}>,
G2 = <, {S2, C, D}, S2, {S2CS2D, S2c, Caa, Db}>.
Tht vy, trong G1, s dng n ln (n 0) quy tc 1, sau s dng n ln quy tc 3, n ln quy
tc 4 v quy tc 2, ta c:
S1G1 AnS1Bn G1 anc(bb)n = ancb2n.
Tng t, trong G2 ta c S2G2 a2ncbn. (n 0)
R rng G1, G2 l hai vn phm phi ng cnh, do cc ngn ng L(G1) v L(G2) cng l cc
ngn ng phi ng cnh, do theo h qu 5.1 th hp ca chng L = L1 L2 = { ancb2n,
a2ncbn | n 0} cng l ngn ng phi ng cnh.
H qu 5.2 Nu L1 v L2 l hai ngn ng chnh quy (hay phi ng cnh, cm ng cnh) th
L1L2 cng l ngn ng chnh quy (hay phi ng cnh, cm ng cnh).
Nh h qu ny, ta d dng nhn bit mt ngn ng l chnh quy (phi ng cnh, cm ng cnh).

22

Th d 5.3
1. Cho hai ngn ng L1= {anbn | n 1} v L2={cn | n 1}. D dng thy rng L1 = L(G1) v
L2 = L(G2), trong :
G1 = <{a, b}, {S1}, S1, {S1aS1b, S1ab}>, l vn phm phi ng cnh.
G2 = <{c}, {S2}, S2, {S2cS2, S2c}> l vn phm chnh quy (v ng nhin cng l
vn phm phi ng cnh).
Khi theo h qu 5.2, ta s c L1L2 = {anbncm | n 1, m 1} l ngn ng phi ng cnh.
2. Cho hai ngn ng chnh quy L3 = {ban | n 0} v L4 = {bna | n 0}. Ta c ngay L3 =
L(G3), L4 = L(G4), trong G3 v G4 l hai vn phm chnh quy:
G3 = <{a, b}, {S1, A}, S1, {S1b, S1bA, AaA, Aa}>,
G4 = <{a, b}, {S2}, S2, {S2bS2, S2a}>.
Khi theo h qu 5.2, ta s c L3L4 = {banbma | n 0, m 0} l ngn ng chnh quy.
i vi php lp ca cc ngn ng, ta c th chng minh c kt qu sau:
H qu 5.3 Nu L l ngn ng chnh quy th lp L* ca L cng l ngn ng chnh quy. Ni
mt cch khc, lp cc ngn ng chnh quy ng i vi php ton lp.
Cui cng, do ngn ng hu hn l hp hu hn ca cc ngn ng mt t, nn t th d 4.7
(ngn ng mt t l chnh quy) v t h qu 5.1 (hp hu hn ca cc ngn ng chnh quy l
chnh quy), ta c h qu sau:
H qu 5.4 Mi ngn ng hu hn u l ngn ng chnh quy.
Th d 5.4 Cho ngn ng hu hn L = {0, 01, 011, 0111}, khi theo h qu trn, L l ngn
ng chnh quy.
Mt khc, c th xy dng vn phm chnh quy G = <{0, 1}, {S, A, B, C}, S, P>, vi P =
{S0, S0A, A1, A1B, B1, B1C, C1}.
D dng thy rng L(G) = L.

23

Bi tp chng 1
1. Cho bng ch ci = {0, 1}, hy vit 10 t u tin ca ngn ng * di dng lit k cc
t theo th t di tng dn, trong cc xu c cng di th theo th t t in.
2. Tm cch biu din hu hn cho cc ngn ng v hn sau y:
a/. L1= { , ab, aabb, aaabbb, }.
b/. L2 = {, 0, 1, 00, 01, 11, 000,001, 010, 011, 100, 101, 110, 111,}
Vit vn phm sinh ngn ng L1, L2. L1, L2 l ngn ng loi no theo phn loi
Chomsky?
3. Hy m t ngn ng L2 = {a } + {b}+ trn bng ch ci = {a, b}, vit biu din hu hn
cho L2. Xy dng vn phm sinh ngn ng L2, phn loi L2 theo Chomsky.
4. Cho cc ngn ng X = {, abc}v Y = {abc}trn bng ch ci = {a, b, c}, tm cc ngn
ng:
a/. X2 , Y2, X.Y, Y.X
b/.

X\

, X / X, Y \ X, X / Y.

c/.

Y\

Y Y

, / Y, X \ Y, Y / X.

5. Cho cc vn phm:
a/. G = < , , S, P > vi tp quy tc sinh
P = { S ABC, AB iADj, Dij iDj, DiC BiC, iB Bi, AB , C } vi i,j
{a, b}.
b/. G = < , , S, P > vi tp quy tc sinh:
P = {S SS, S aSb, S bSa, S ab, S ba}.
c/. G = < , , S, R > vi tp quy tc sinh:
P = {S aS, S a | vi a = {a1, a2, an}}.
Hi:
1/. Hy phn loi cc vn phm trn theo dy phn loi ca Chomsky.
2/. Vit li tng vn phm theo dng y trong nh ngha vn phm.
3/. Tm cc ngn ng do cc vn phm trn sinh ra.
6. Cho ngn ng L = {R | {0, 1}*, R l nh gng (t ngc) ca }. Xy dng
vn phm phi ng cnh G sinh ngn ng L.
7. Cho ngn ng L = {anbncm | n, m 1 }. Xy dng vn phm phi ng cnh G sinh ngn
ng L.
9. Cho vn phm phi ng cnh G vi tp quy tc sinh l:

24

P = {S aSa, S aa | a = {a1, a2, , an}}. Tm ngn ng do vn phm G sinh


ra, hy ch ra dn xut y ca xu = a3a2a3a1a2a2a1a3a2a3 trong vn phm ni trn.
10. Cho ngn ng L = {bR | * = { a1, a2, , ak, b}*, R l t ngc ca }. Xy
dng vn phm phi ng cnh G sinh ngn ng L.
11. Cho cc vn phm:
a/. G1 vi tp quy tc P1 = {S aS, S Sb, S aSb, S c}
b/. G2 vi tp quy tc P2 = {S SS, S a, S b},
c/. G3 vi tp quy tc P3 = {S aA, S bB, A Sa, B Sb, S c},
d/. G4 vi tp quy tc P4 = {S AB, A Sc, A a, B dB, B b},
e/. G5 vi tp quy tc P5 = {S SaS, S b},
f/. G6 vi tp quy tc P6 = {S aSS, S b},
g/. G7 vi tp quy tc P7 = {S AA, A aAa, A bAb, A c}.
Hi:

1/. Hy phn loi 7 vn phm trn theo nhm 0, 1, 2, 3 ca Chomsky.


2/. Tm cc ngn ng ng vi cc vn phm trn, l cc ngn ng loi g?

12. Cho bng ch ci = {a, b}, vit cc vn phm sinh cc ngn ng:
L4 = { , vi || l mt s chn },
L5 = { , vi || l mt s l}.
Phn loi L4 v L5 theo Chomsky.
13. Hy xc nh xem cc vn phm di y sinh ra cc ngn ng no?
a/. G1 = <{0, 1}, {S, A}, S, {S0A, A1S, S}>.
b/. G2 = <{a, b}, {S}, S, {SSaS, Sb}>.
c/. G3 = <{a, b, c}, {S}, S, {Saca, Sbcb, SaSa, SbSb}>.
d/. G4 = <{0, 1, 2, , 9}, {S, A}, S, {SSA | A, A0|1|2|3|4|5|6|7|8|9}>.
14. Hy xy dng cc vn phm sinh ra cc ngn ng di y:
a/. L6 = {{a}* , v || mod 3 = 0}. (x mod y l phn d ca php chia s nguyn x
cho s nguyn y, cn gi l php chia ly phn d-modulo)
b/. L7 = {a2n+1 | n 0}.
c/. L8 = {ambn | n 0, m n}.
15. Hy xy dng cc vn phm chnh quy sinh ra cc ngn ng di y trn bng ch =
{0, 1}:
a/. L9 = {01 | *}.
b/. L10 = {1}*{010}{0}*

25

c/. L11 = {010}* {1100}*


d/. L12 = {ambnck | m 0, n 0, k 0}
e/. L13 = {(baa)m(aab)n | m 1, n 1}.
16. Mt xu trn bng ch ci c gi l xu hnh thp nu R = . Hy chng minh
rng:
a/. l mt xu hnh thp,
b/. Vi mi a th a l mt xu hnh thp,
c/. Nu l mt xu hnh thp th vi mi a ta c aa cng l mt xu hnh thp.
17. Cho vn phm cm ng cnh G = <{a, b, c}, {S, A, B, C}, S, P>, trong :
P = {SaSAC, SabC, CABA, BABC, BCAC, bAbb, Cc}.
1/. Hy xy dng vn phm G1 = <1, 1, S1, P1> tng ng vi vn pham G m
mi v tri ca cc quy tc ca G1 khng cha k hiu c bn.
G1 l vn phm thuc nhm no?
2/. Hy xy dng vn phm G2 = <2, 2, S2, P2> tng ng vi vn pham G m
mi v phi ca cc quy tc ca G2 khng cha k hiu xut pht.
G2 l vn phm thuc nhm no?
18. Cho hai vn phm:

G1 = < {a, b}, {S1 }, S1, {S1 aS1b | a}>, v:


G2 = <{a}, {S2 }, S2, {S2 aS2 | a}.

Theo phng php chng minh trong nh l 5.5:


1/. Hy xy dng vn phm G3 = <3, 3, S3, P3> sao cho L(G3) = L(G1) L(G2).
2/. Hy xy dng vn phm G4 = <4, 4, S4, P4> sao cho L(G4) = L(G1).L(G2).
3/. Hy xy dng vn phm G4 = <5, 5, S5, P5> sao cho L(G5) = L(G1) L(G2).

26

Chng 2
OTOMAT HU HN V NGN NG CHNH QUY

Trong chng ny, chng ta s nghin cu mt m hnh my tru tng on


nhn ngn ng, l cc otomat hu hn. Chng ta s thy rng lp ngn ng c on
nhn bi otomat hu hn kh n gin, chnh l lp ngn ng chnh quy do vn phm
chnh quy sinh ra. Chng ny gm cc ni dung ch yu sau:
1. Otomat hu hn n nh
1.1 Otomat hu hn n nh
1.2 Biu din otomat hu hn n nh
1.3 Ngn ng c on nhn bi otomat n nh
2. Otomat hu hn khng n nh
2.1 Otomat hu hn khng n inh
2.2 Ngn ng on nhn bi otomat khng n nh
2.3 n nh ha cc otomat
2.4 S tng ng gia cc otomat n nh v khng n nh
3. Ngn ng chnh quy v biu thc chnh quy
3.1 Ngn ng chnh quy v biu thc chnh quy
3.2 S lin h gia otomat hu hn v ngn ng chnh quy
4. iu kin cn ca ngn ng chnh quy
4.1 Otomat ti tiu
4.2 iu kin cn ca ngn ng chnh quy

27

1. Otomat hu hn n nh
M u
Mt otomat hu hn l mt m hnh tnh ton thc s hu hn. Mi ci lin quan n
n u c kch thc hu hn c nh v khng th m rng trong sut qu trnh tnh ton.
Cc loi otomat khc c nghin cu sau ny c t nht mt b nh v hn v tim nng. S
phn bit gia cc loi otomat khc nhau ch yu da trn vic thng tin c th c a vo
b nh nh th no.
Mt otomat hu hn lm vic theo thi gian ri rc nh tt c cc m hnh tnh ton khc.
Nh vy, ta c th ni v thi im k tip khi c t hot ng ca mt otomat hu hn.
Trng hp n gin nht l thit b khng c b nh m mi thi im, thng tin ra ch
ph thuc vo thng tin vo lc . Cc thit b nh vy l m hnh ca cc mch t hp.
Tuy nhin, ni chung, thng tin ra sn sinh bi mt otomat hu hn ph thuc vo c thng
tin vo hin ti ln cc thng tin vo trc . Nh vy otomat c kh nng (vi mt phm vi
no ) ghi nh cc thng tin vo trong qu kh ca n. Mt cch chi tit hn, iu c
ngha nh sau.
Mi otomat c mt s hu hn trng thi c lu b nh trong. Ti mi thi im i, n
mt trong cc trng thi , chng hn qi. Trng thi qi+1 thi im sau c xc nh bi qi
v thng tin vo ai cho thi im i. Thng tin ra thi im i c xc nh bi trng thi qi
(hay bi c ai v qi).
1.1 Otomat hu hn n nh
nh ngha 1.1 Mt otomat hu hn n nh (Deterministic Finite Automata-DFA) l mt
b nm:
A = <Q, , , q0, F>,
trong :
+ Q l mt tp hu hn khc rng, c gi l tp cc trng thi;
+ l mt bng ch ci, c gi l bng ch vo;
+ : D Q, l mt nh x t D vo Q, trong D Q , c gi l hm chuyn trng
thi (hay hm chuyn);
+ q0 Q, c gi l trng thi khi u;
+ F Q c gi l tp cc trng thi kt thc.
Trong trng hp D = Q , ta ni A l otomat y . Sau ny ta s thy rng mi
otomat hu hn u a v c otomat hu hn y tng ng.
Hot ng ca otomat hu hn n nh A = <Q, , , q0, F> khi cho xu vo =
a1a2 an c th c m t nh sau:

28

Khi bt u lm vic, otomat trng thi khi u q0 v u c ang nhn vo c


k hiu a1. Tip theo otomat chuyn t trng thi q0 di tc ng ca k hiu vo a1 v trng
thi mi (q0, a1) = q1Q v u c chuyn sang phi mt , tc l nhn vo c k hiu a2.
Sau otomat A c th li tip tc chuyn t trng thi q1 nh hm chuyn v trng thi
mi q2 = (q1, a2) Q. Qu trnh s tip tc cho ti khi gp mt trong cc tnh hung sau:
Otomat A c ht xu vo v (qn-1,an) = qn F, ta ni rng A on nhn xu .
Hoc otomat A c ht xu vo v (qn-1,an) = qn F, ta ni A khng on nhn xu .
Hoc khi otomat A c n aj , (j n) v hm (qj-1, aj) khng xc nh, ta cng ni A
khng on nhn xu .

H. 3.1. M t qu trnh on nhn xu ca otomat A


1.2 Biu din otomat hu hn n nh
Hm chuyn trng thi l mt b phn quan trng ca mt otomat hu hn n nh.
Cho mt otomat thc cht l cho hm chuyn trng thi ca n, c th cho di dng bng
chuyn hoc cho di dng th chuyn.
Cho otomat bng bng chuyn
Cho tmt A = <Q, , , q0, F>, vi Q = {q0, q1, q2, , qm } l tp trng thi, v bng ch
ci = {a1, a2, , an}, khi hm chuyn c th cho bi bng sau; trong dng i ct j ca
bng l trng nu (qi, aj) D, tc l (qi,aj) khng xc nh.
Trng
thi
q0
q1
q2

qm

a1
(q0, a1)
(q1, a1)
(q2,a1)
(qm, a1)

K hiu vo
a2

an
(q0, a2)
(q0, a2)
(q1, a2)
(q1, a2)
(q2, a2)
(q2, a2)

(qm, a2)
(qm, a2)

H. 3.2. Bng chuyn trng thi ca otomat A


Cho bng chuyn trng thi, v ch r tp trng thi kt thc F, ta s xc nh c otomat A
Cho otomat bng th chuyn
Cho otomat A = <Q, , , q0, F>. Hm chuyn c th cho bng mt a th c hng, c
khuyn G sau y, c gi l th chuyn ca otomat A. Tp nh ca G c gn nhn

29

bi cc phn t thuc Q, cn cc cung c gn nhn bi cc phn t thuc , tc l nu a


v t trng thi q chuyn sang trng thi p theo cng thc (q, a) = p th s c mt cung t
nh q ti nh p c gn nhn a.
nh vo ca th chuyn l nh ng vi trng thi ban u q0. Cc nh s c
khoanh bi cc vng trn, ti nh q0 c mi tn i vo, ring nh vi trng thi kt thc
c phn bit bi vng trn m, hoc hnh vung
Ni chung, vi vic cho th chuyn l hon ton xc nh c otomat A.
Th d 1.1 Cho hai otomat hu hn n nh:
1/. A1 = <{q0, q1, q2}, {a, b}, , q0, {q2}>,
Vi (q0, a) = q0, (q0, b) = q1, (q1, a) = q0, (q1, b) = q2, (q2, a) = q2, (q2, b) = q2.
Ta c bng chuyn trng thi v th chuyn trng thi ca otomat A1 nh sau:

H. 3.3 Bng chuyn trng thi ca A1

H. 3.4 th chuyn trng thi ca A1


Dy trng thi ca otomat A1 trong qu trnh on nhn xu vo = ababbab l:

H. 3.5 Qu trnh on nhn xu = ababbab ca A1


Nh vy, xu c on nhn bi otomat A1.
2/. A2 = <{q0, q1, q2, q3}, {0, 1}, , q0, {q0}>,
trong (q0, 0) = q2, (q0, 1) = q1, (q1, 0) = q3, (q1, 1) = q0, (q2, 0) = q0, (q2, 1) = q3,
(q3, 0) = q1, (q3, 1) = q2.

30

Ta c bng chuyn trng thi v th chuyn trng thi ca otomat A2 c cho trong hnh
3.6 v 3.7:

H. 3.6 Bng chuyn trng thi ca A2

H. 3.7 th chuyn trng thi ca A1


Dy trng thi ca otomat A2 trong qu trnh on nhn xu vo = 1010100 l:

H. 3.8 Qu trnh on nhn xu vo = 1010100


Nh vy, otomat A2 khng chp nhn xu .
Ta c th m t qu trnh on nhn xu vo ca otomat hu hn n nh y A bng
thut ton m phng sau:
Input :
Mt xu , kt thc bi k hiu kt thc file l eof.
Mt otomat hu hn n nh y A vi trng thi u q0 v tp trng thi kt
thc l F.
Output:
- Tr li ng nu A on nhn xu .
- Tr li Sai nu A khng on nhn xu .

31

Thut ton:
Begin
S:= q0;
C:= k hiu tip theo;
While C < > eof do
begin
S:= (S, C);
C:= k hiu tip theo;
end;
if S in F return (True)
else return (False);
End.
1.3 Ngn ng c on nhn bi otomat n nh
m t hnh thc qu trnh on nhn mt t (xu vo), ngi ta a vo nh x m rng
t D Q * vo Q nh trong nh ngha sau:
nh ngha 1.2 Cho otomat hu hn n nh A = <Q, , , q0, F>. M rng ca l mt
nh x t D Q * vo Q c xc nh nh sau:
1/. (q, ) = q, qQ,
2/. (q, a) = ((q, ), a), a, qQ, * sao cho (q, ) c xc nh.
Ch rng, nh x ch khc nh x khi k hiu vo l , hoc l mt xu k hiu vo ,
do iu kin 2/. trn Q , ta c th ng nht vi . Nu khng cn phn bit, t y v
sau ta vit thay cho , v c hiu l nh x trn min Q , l nh x trn min Q *
nh ngha 1.3 Cho otomat hu hn n nh A = <Q, , , q0, F>, v mt xu *. Ta ni:
+ c on nhn bi A nu (q0, ) F;
+ Ngn ng c on nhn bi otomat A v k hiu l T(A), l tp t:
T(A) = {* | (q0, )F}
Lu rng trong th chuyn ca A, * c on nhn bi A khi v ch khi l xu
ca cc nhn ng vi mt ng i t nh q0 n mt trong cc nh kt thc. C th, nu
= a1a2an th ng i l (q0, q1, , qk) vi cung (qi-1, qi) c nhn ai (vi 1 i k) v qk F.
Nh vy, T(A) l tp hp tt c xu ghi trn cc ng i t q0 n cc nh kt thc.

32

nh ngha 1.4 Hai otomat hu hn A = <Q, , , q0, F> v A= <Q, , , q0, F> c gi
l tng ng nu T(A) = T(A).
Th d 1.2 Cho otomat hu hn: A3 = <{q0, q1, q2, q3, q4},{0, 1}, , q0, {q1, q2, q4}> vi
(q0,0) = q0, (q0,1) = q1, (q1,0) = q3, (q1,1) = q2, (q2,0) = q2, (q2,1) = q2, (q3,1) = q3,
(q4,0) = q2, (q4,1) = q3.
th chuyn ca A3 l:

H. 3.9 th chuyn ca otomat A3


Trc ht, ta nhn thy rng khng c ng i t q0 n nh kt thc q4, tc l s khng c
t no c on nhn bi A3 vi nh kt thc q4. Ngoi ra, cng khng c mt ng i
no t q0 n nh mt nh kt thc m i qua q3. Nh vy, ta c th b i nh q3 v q4 m
khng nh hng n vic on nhn cc t ca otomat A3. Do otomat A3 tng ng
vi otomat A4 sau:
A4 = <{q0, q1, q2}, {0, 1}, , q0, {q1, q2}>,
trong (q0,0) = q0, (q0,1) = q1, (q1,1) = q2, (q2,0) = q2, (q2,1) = q2.
th chuyn ca A4 c cho trong hnh 3.10::

H. 3.10 th chuyn ca otomat A4


Cc ng i t q0 n nh kt thc q1 ng vi cc xu 0n1, n 0. Cc ng i t q0
n nh kt thc q2 ng vi cc xu 0n11, n 0, {0, 1}*. Vy ngn ng c on nhn
bi cc otomat trn l:
T(A3) = T(A4) = {0n1, 0n11 / n 0, {0, 1}*}.
B 1.1 Cho otomat hu hn n nh A = <Q, , , q0, F>. Khi 1, 2 *, qQ
sao cho (q, 12) xc nh, ta c:
(q, 12) = ((q, 1), 2)

33

(1)

Chng minh: Ta chng minh ng thc trn bng quy np theo di ca 2.


+ Khi |2| = 1 hay 2 = a, a , ta c (q, 1a) = ((q, 1),a). ng thc (1) ng.
+ Gi s ng thc (1) ng vi mi 2 c di |2| n. Ta cn chng minh n cng ng
vi 2 c di |2| = n + 1. t 2 = 2a, vi 2 *, |2| = n, a . Ta c (q, 12)
= (q, 12a) = ((q, 12), a) = (((q, 1), 2), a) = ((q, 1), 2a) = ((q, 1), 2).
Do ng thc (1) ng vi 2 c di n + 1.
B c chng minh.
Ch : Vi otomat hu hn n nh A = <Q, , , q0, F> bt k, ta lun c th xy dng mt
otomat hu hn n nh y A tng ng vi A.
Tht vy, ly SQ (do SF), t Q= Q{S} v : Q x Q xc nh bi:
qQ, a, (q, a) = (q, a) nu (q, a) c xc nh, (q, a) = S nu (q, a) khng
c xc nh v (S, a) = S. Khi A l otomat hu hn n nh y m T(A) =
T(A).
Ta thng chn S = , v khng cn b xung S vo Q.

2. Otomat hu hn khng n nh
2.1 Otomat hu hn khng n nh
nh ngha 2.1 Mt otomat hu hn khng n nh (Nondeterministic Finite AutomataNFA) l mt b nm:
A = <Q, , , q0, F>
trong Q, , q0, F nh trong nh ngha 1.1 v : Q 2Q, y 2Q (hay P(Q), l k hiu
tp hp cc tp con ca Q) gi l nh x chuyn.
R rng y nh x l mt hm a tr (hm khng n nh), v vy otomat A trong nh
ngha trn y c gi l khng n nh.
Trong trng hp (q, a) xc nh q Q, a , ta ni tmt A l y .
Nu (q, a) = {p1, p2, , pk} th ta ni rng otomat A trng thi q gp k hiu a th
c th chuyn n mt trong cc trng thi p1, p2, , pk. Nu (q, a) = {p} th trng thi q
gp k hiu a, otomat A ch chuyn n mt trng thi duy nht p. Nu (q, a) kh ng xc
nh (ta thng vit (q, a) = ) th trng thi q gp k hiu a, otomat A khng th chuyn
n trng thi no, cng tng t nh vi otomat hu hn n nh.
Nh vy, ta thy rng mt otomat hu hn n nh l mt trng hp c bit ca
mt otomat hu hn khng n nh. Hot ng ca otomat hu hn khng n nh A =
<Q, , , q0, F> khi cho xu vo = a1a2 an c th c m t nh sau:

34

Khi bt u lm vic, otomat trng thi u q0 v u c ang nhn vo c k


hiu a1. T trng thi q0, di tc ng ca k hiu vo a1, (q0, a1) = {p1,, pk}, otomat xc
nh cc trng thi c th tip theo l p1, , pk v u c chuyn sang phi mt , tc l nhn
vo c k hiu a2. Tip tc vi mi pi (1 i k) v k hiu tip theo l a2, cc trng thi tip
theo c th n c l (p1, a2)(pk, a2). Qu trnh s tip tc cho ti khi gp mt
trong cc tnh hung sau:
+ Trong trng hp tp trng thi tip theo sau khi c aj no l rng hoc sau khi c k
hiu an l Q m QF = , ta ni rng A khng on nhn .
+ Trng hp tp trng thi tip theo sau khi c k hiu an l Q m QF , ta ni rng
otomat A on nhn .
Mt otomat hu hn khng n nh c th biu din di dng bng chuyn hoc
th chuyn nh trong trng hp otomat hu hn n nh. Nu (q, a) = {p1, p2, , pk} th
trong th chuyn c k cung t q sang p1, , pk c ghi cng mt nhn a.
Th d 2.1 Cho otomat hu hn khng n nh:
A = <{q0, q1, q2, q3, q4}, {0, 1}, , q0, {q2, q4}>,
Vi (q0,0) = {q0,q3}, (q0, 1) = {q0,q1}, (q1, 0) = , (q1, 1) = {q2}, (q2, 0) = {q2},
(q2, 1) = {q2}, (q3, 0) = {q4}, (q3,1) = , (q4, 0) = {q4}, (q4, 1) = {q4}.
Bng chuyn trng thi v th chuyn trng thi ca otomat A cho trong hnh 3.11 v 3.12:

H. 3.11 Bng chuyn ca otomat khng n nh A

H. 3.12 th chuyn ca otomat khng n nh A

35

2.2 Ngn ng c on nhn bi otomat hu hn khng n nh


nh ngha 2.2 Cho otomat hu hn khng n nh A = <Q, , , q0, F>. M rng ca l
nh x t tp Q * vo 2Q c xc nh nh sau:
1) (q, ) = {q}, q Q,
2) (q, a) =

' ( p, ) , qQ, a, * sao cho (q, ) c xc nh.


U

p ( q , a )

Ta c (q, a) = (q , a) =

p = (q, a), q Q, a, tc l trn Q ta


U ' ( p, ) = U

p ( q , a )

p ( q , a )

c th ng nht vi . V vy, cng nh trng hp otomat hu hn n nh, ta c th s


dng k hiu thay cho v c hiu l nh x trn min Q , l nh x trn Q *.
nh ngha 2.3 Cho otomat hu hn khng n nh A = <Q, , , q0, F>, * v L l
mt ngn ng trn . Ta ni:
c on nhn bi A nu (q0, ) F ;
L c on nhn bi A nu L = {* | (q0, ) F } v k hiu L l T(A).
Th d 2.2 Cho otomat hu hn khng n nh:
A = <{q0, q1, q2}, {a, b}, , q0, {q2}>,
trong (q0, a) = {q0}, (q0, b) = {q0, q1}, (q1, a) = {q1}, (q1, b) = {q1, q2},
(q2, a) = {q2}, (q2, b) = {q2}.
Bng chuyn v th chuyn ca otomat A c cho trong hnh 3.13 v 3.14:

H. 3.13 Bng chuyn ca otomat A trong th d 2.2

H. 3.14 th chuyn ca otomat A trong th d 2.2


C th kim tra c rng t = anbn T(A), tuy nhin otomat A khng on nhn ngn ng
L = { anbn | n 1}.
Ngn ng c on nhn bi otomat A l:
T(A) = {1b2b3 | 1, 2, 3{a, b}*}.

36

2.3 n nh ha cc otomat
Trc ht ta cn nhc li rng hai tmt hu hn A v A(n nh hay khng n nh)
c gi l tng ng nu chng cng on nhn mt ngn ng, tc l T(A) = T(A).
Gi s A = <Q, , , q0, F> l mt otomat khng n nh, khi ta c th xy dng otomat
n nh v y M tng ng vi otomat A (theo ngha cng on nhn mt ngn
ng). Vic xy dng M c thc hin theo thut ton sau y, c gi l thut ton n
nh ha otomat.
Thut ton n nh ha:
Input: Otomat hu hn khng n nh A = <Q, , , q0, F>
Output: Otomat hu hn n nh M = <Q, , , s0, F>
Phng php:
Bc 1: Xy dng hm hai bin T: 2Q 2Q tha mn cc iu kin:
1/. q Q, a th T(q, a) = {q Q | q = (q, a) }
2/. B Q m (q, a) = B, a th T(B, a) =

U T ( p, a )
pB

Bc 2: Xc nh tp trng thi mi Q = {s0, s1, , sk | k 2| Q | -1}:


1/. t s0 = {q0}, s1 = {q1}, si = {qi} {q0}, {q1}, , {qi} Q,
2/. t si+1 = B1, si+2 = B2, B1, B2 Q m (qj, a) = Bj.
3/. Nu otomat A l khng y , t sk = v thm vo hm chuyn cc gi tr
(sk, a) = sk a otomat M l otomat y .
4/. Trng thi khi u ca otomat M l s0.
5/. Tp trng thi kt thc ca otomat M l F = {s Q | s F }.
Bc 3: Xc nh hm chuyn : Q Q ca otomat M:
s Q, a th (s, a) = T(s, a)
Vic chng minh T(A) = T(M) l kh d dng, dnh cho sinh vin nh l bi tp.
Th d 2.3
Cho otomat A = <{p0, p1, p2}, {a, b, c}, , p0, {p1, p2}> vi hm chuyn cho bi bng sau:

37

H. 3.15 Bng chuyn ca otomat A trong th d 2.3


Hy xy dng otomat M = <Q, {a, b, c}, , s0, F> n nh v y , tng ng vi
otomat A.
1/. Xy dng hm T: 2Q 2Q
+ T(p0, a) = {p1}, T(p0, b) = {p1, p2}, T(p0, c) = {p2},
+ T(p1, a) = {p2}, T(p1, b) = , T(p1, c) = {p0, p2},
+ T(p2, a) = {p1}, T(p2, b) = {p1}, T(p2, c) = {p2},
+ T({p1, p2}, a) = T(p1,a) T(p2,a) = {p2} {p1} = {p1, p2}, T({p1, p2}, b) =
{p1}, T({p1, p2}, c) = {p0, p2} {p2} = {p0, p2},

{p1} =

+ T({p0, p2}, a) = {p1}, T({p0, p2}, b) = {p1, p2}, T({p0, p2}, c) = {p2}
2/. t s0 = {p0}, s1 = {p1}, s2 = {p2}, s3 = {p1, p2}, s4 = {p0, p2}, s5 = ta c:
+ Tp trng thi mi Q = {s0, s1, s2, s3, s4, s5}.
+ Trng thi khi u ca M l s0,
+ Tp trng thi kt mi: F = {s1, s2, s3, s4}.
3/. Hm chuyn mi : Q Q c xc nh nh sau:

H. 3.16 Bng chuyn ca otomat n nh M trong th d 2.3


R rng otomat M = <{s0, s1, s2, s3, s4, s5}, {a, b, c}, , s0, {s1, s2, s3, s4}> vi hm chuyn
cho bi bng trn l otomat hu hn n nh v y . C th thy rng otomat M l tng
ng vi otomat A.

38

Th d 2.4 Cho otomat khng n nh: A = <{q0, q1}, {a, b}, , q0, {q1}>,
trong (q0, a) = {q0}, (q0, b) = {q0, q1}, (q1, a) = {q0, q1}, (q1, b) = .
th chuyn ca A l:

H. 3.17 th chuyn ca otomat A trong th d 2.4


Ta xy dng otomat M = <Q, {a, b}, , t0, F> tng ng vi A theo thut ton n nh
ha, ta c:
+ Q = {t0, t1, t2, t3}, vi t0 = {q0}, t1 = {q1}, t2 = {q0, q1}, t 3 = .
+ (t0, a) = t0, (t0, b) = t2, (t1, a) = t2, (t1, b) = t3, (t2, a) = {q0}{q0, q1} = t2, (t2, b) =
{q0, q1} = t2, (t3, a) = t3, (t3, b) = t3.
Ta c bng chuyn ca M:

H. 3.18 Bng chuyn ca otomat n nh M trong th d 2.4


+ Do t1 F = {q1} , t2 F ={q1} nn F = {t1, t2}.
R rng otomat M l n nh v c th chuyn nh sau:

H. 3.19 th chuyn ca otomat M trong th d 2.4

39

Nhn vo bng chuyn v th chuyn ca M, ta thy ngay rng khng c ng i no t t0


n c nh kt thc t1, v vy otomat M s tng ng vi otomat M c th chuyn
nh sau:

H. 3.19 th chuyn ca otomat M trong th d 2.4


v ta c T(A) = T(M) = T(M) = {anb | n 0, {a, b}*}.
2.4 S tng ng gia otomat n nh v otomat khng n nh
C nh l di y s cho ta thy s tng ng gia otomat hu hn n nh v khng
n nh.
nh l 2.1 Nu ngn ng L c on nhn bi mt otomat hu hn khng n nh th tn
ti mt otomat hu hn n nh on nhn L.
Vic chng minh nh l ny c suy t thut ton n nh ha cc otomat.
nh l 2.2 Lp ngn ng c sinh bi otomat hu hn n nh l trng vi lp ngn ng
c sinh bi otomat hu hn khng n nh.
Chng minh: Ta gi LN l lp ngn ng sinh bi cc otomat hu hn khng n nh, LD l
lp ngn ng sinh bi cc otomat hu hn n nh, ta cn chng minh LN = LD. Ta s
chng minh hai bao hm thc:
LN LD. Gi s L l mt ngn ng ty thuc lp LN, tc l tn ti mt otomat
khng n nh A on nhn L, tc l ta c T(A) = L. Theo nh l 2.1, tn ti mt otomat
n nh M sao cho L = T(M), vy L thuc lp LD, hay LN LD.
LD LN. Gi s L l mt ngn ng ty thuc lp LD, tc l tn ti mt otomat n
nh M on nhn L, ta c T(M) = L. Tuy nhin, ta lun lun c th xem hm chuyn n
nh (q, a) = p Q trong otomat n nh nh l mt trng hp n gin ca hm chuyn
khng n nh (q, a) = {p} 2Q trong otomat khng n nh. Nh vy, mt otomat n
nh c th c xem l mt trng hp c bit ca otomat khng n nh. V v th, ngn
ng L ni trn c th xem l c on nhn bi otomat khng n nh. Do LD LN.
T ta c LD = LN.
nh l c chng minh.

40

3. Ngn ng chnh quy v biu thc chnh quy


Trong chng trc, ta nh ngha cc ngn ng chnh quy thng qua cc vn
phm chnh quy. Trong phn ny, ta s nh ngha cc ngn ng chnh quy trc tip t cc
khi nim v ngn ng, ta cng s ch ra rng cc nh ngha ny l tng ng. ng thi
vi cc ngn ng chnh quy, chng ta a ra cc khi nim v biu thc chnh quy, l cng c
biu din cc ngn ng chnh quy.
3.1 Ngn ng chnh quy v biu thc chnh quy
nh ngha 3.1 Cho bng ch ci = {a1, a2, , an}, khi ngn ng chnh quy (regular
languages) c nh ngha quy nh sau:
1/. Cc ngn ng v {ai} ( i = 1, 2, , n) c gi l cc ngn ng chnh quy trn
bng ch ci .
2/. Nu R v S l hai ngn ng chnh quy trn bng ch ci th R S; R.S; R+ (hay
S+) l cc ngn ng chnh quy trn bng ch ci .
3/. Khng c cc ngn ng chnh quy no khc trn bng ch ci ngoi cc ngn
ng chnh quy c nh ngha nh trn.
C th thy rng nh nggha 3.1 trn y l tng ng vi nh ngha ngn ng chnh quy
thng qua cc vn phm chnh quy. Tht vy, c th ch ra cc vn phm chnh quy sinh ra
cc ngn ng v ngn ng {a} (xem th d 4.7, 4, Ch. 1). Ngoi ra, trong chng 1 cng
ch ra rng lp cc ngn ng chnh quy l ng i vi cc php ton hp, nhn ghp v
lp trn cc ngn ng. Nh vy lp ngn ng chnh quy c nh ngha theo nh ngha trn
y l trng vi lp ngn ng chnh quy c nh ngha theo vn phm.
Nh vy, t nh ngha 3.1, ta c nh l sau:
nh l 3.1 Mi ngn ng chnh quy trn bng ch ci u nhn c t cc ngn ng hu
hn bng cch p dng mt s hu hn ln cc php ton hp, nhn ghp v php lp.
Ch :
1/. Cc vn phm chnh quy khng cha cc quy tc sinh t rng (cn gi l cc quy tc
rng, l cc quy tc c dng A , vi A l k hiu ph), v vy cc ngn ng chnh quy
cng khng cha t rng .
2/. Ngn ng chnh quy suy rng l cc ngn ng chnh quy c cha t rng , vn phm
chnh quy c cha quy tc rng c gi l vn phm chnh quy suy rng
din t cc ngn ng chnh quy, ta a vo khi nim biu thc chnh quy, c nh
ngha nh sau:
nh ngha 3.2 Cho bng ch ci = {a1, a2, , an}, khi biu thc chnh quy (regular
expresions) c nh ngha quy nh sau:
1/. v a (vi a ) l cc biu thc chnh quy trn bng ch ci biu din ngn ng
v ngn ng {a}

41

2/. Nu r v s l hai biu thc chnh quy biu din cc ngn ng chnh quy R v S trn
bng ch ci th:

r + s l biu thc chnh quy trn bng ch ci biu din ngn ng R S

r.s l biu thc chnh quy trn bng ch ci biu din ngn ng R.S

r+ (hay s+) l biu thc chnh quy trn bng ch ci biu din ngn ng R+ (hay S+)

3/. Khng c cc biu thc chnh quy no khc trn bng ch ci ngoi cc biu thc
chnh quy c nh ngha nh trn.
T nh ngha ngn ng chnh quy v biu thc chnh quy, ta c cc kt qu sau v cc ngn
ng chnh quy:
nh l 3.2 Mt ngn ng trn bng ch ci l chnh quy khi v ch khi n c biu din
c bng mt biu thc chnh quy.
Ch :
1/. Biu thc chnh quy suy rng chp nhn l biu thc chnh quy biu din ngn ng {},
v chp nhn php ton lp (*), tc l nu r l biu thc chnh quy biu din ngn ng chnh
quy R th r* l biu thc chnh quy suy rng biu din ngn ng chnh quy suy rng R*.
Trong hu ht cc trng hp, khi khng cn phn bit, ta dng khi nim biu thc chnh
quy chung cho c biu thc chnh quy v biu thc chnh quy suy rng
2/. Trong cc biu thc chnh quy ta c th b qua cc du ngoc v quy c th t cc php
ton l php lp, php nhn ghp v cui cng l cc php hp.
Nu r, s, t l cc biu thc chnh quy th ta c cc kt qu sau:

r+s = s+r,

(r+s)+t = r+(s+t),

r+r = r,

(rs)t = r(st),

r(s+t) = rs+rt, (s+t)r = sr+tr,

* = ,

(r*)* = r*, (r+) + = r+

C th chng minh cc kt qu trn bng cch ch ra rng hai biu thc chnh quy hai v ca
mi ng thc u biu din cng mt ngn ng chnh quy. Xin dnh vic chng minh ny
cho sinh vin nh l bi tp.
Th d 3.1 Xc nh ngn ng chnh quy c biu din bi biu thc r = (01*+02)1.
Ta c:
r = (01*+02)1 = 01*1+021,
vy ngn ng chnh quy biu din bi r l:
L (r) = L(01*1+021) = L(01*1) L(021) = {01n , 021 | n 1}

42

3.2 S lin h gia otomat hu hn v ngn ng chnh quy


Trong chng trc ta thy rng vi mi ngn ng chnh quy u tn ti mt vn phm
chnh quy sinh ra n, v ngc li ngn ng sinh bi vn phm chnh quy l ngn ng chnh
quy.
Trong phn ny, ta s thy c mt s lin h tng t nh vy gia otomat hu hn v ngn
ng chnh quy
nh l 3.3 Nu L l mt ngn ng chnh quy th tn ti mt otomat hu hn khng n nh
A on nhn L, tc l L = T(A).
Chng minh: Gi s L l ngn ng bi vn pham chnh quy G = <, , S, P>, tc l L =
L(G). Xt otomat hu hn khng n nh A = < Q, , , q0, F>, trong :
+ Q = {E}, vi E l k hiu mi v E ,
+ q0 = S;
+ F = {E} nu quy tc S P v F = {E, S} nu S P,
+ A, a ta t (A, a) = {B | AaBP}{E | Aa P} v (E, a) =
Ta chng minh L = T(A).
1/. Ly L:
nu = : trong vn phm G c quy tc S P, do SF. Trong trng hp ny
(S, )={S} nn T(A).

nu = a1a2 an : Ta c suy dn S a1A1 a1a2A2 a1a2an-1An-1 a1an-1an

Do tn ti dy quy tc Sa1A1, A1a2A2, , An-1an trong P. T nh ngha ca , ta c


A1 (S, a1), A2 (A1, a2), , An-1 (An-2, an-1), E (An-1, an). Nh vy, E (S, a1a2
an) hay T(A). Vy L T(A)
2/. Ly T(A):

nu = : (S, )F hay SF, vy c quy tc S P, do L(G)

nu = a1a2 an : (S, )F vi hay E (S, ), do tn ti cc


trng thi A1, A2, , An-1 sao cho A1 (S, a1), A2(A1, a2),, An-1 (An-2, an-1),
E(An-1, an). T ta c Sa1A1, A1a2A2, , An-1anP hay trong G c mt suy dn l
S a1A1 a1a2A2 a1a2an-1An-1 a1an-1an = . V vy L. Hay T(A) L
Vy ta chng minh L = T(A), tc l tn ti mt otomat hu hn khng n nh on
nhn L.
Th d 3.2 Cho ngn ng L = {abnab | n0, {a, b}*}. Ta c L = L(G) trong G = <{a,
b}, {S, A, B}, S, {SaS, SbS, SaA, AbA, AaB, Bb}> l vn phm chnh quy.
Xy dng otomat hu hn khng n nh A = <{S, A, B, E}, {a, b}, , S, {E}>, trong
(S, a) = {S, A}, (S, b) = {S}, (A, a) = {B}, (A, b) = {A}, (B, a) = , (B, b) = {E}, (E,
a) = , (E, b) = . th chuyn ca A c cho trong hnh 3.20:

43

H. 3.20 th chuyn ca otomat A trong th d 3.2


Theo nh l trn, otomat A on nhn ngn ng chnh quy L, tht vy ta c:
T(A) = {abnab | n 0, {a, b}*} = L
nh l 3.4 Nu L l ngn ng c on nhn bi mt otomat hu hn n nh th L l
mt ngn ng chnh quy.
Chng minh: Gi s L = T(M), vi M = <Q, , , q0, F> l mt otomat hu hn n nh. Xt
vn phm G = <, Q, q0, P>, trong P = {qap | (q, a) = p} {qa | (q, a) = pF}. Khi
G l mt vn phm chnh quy.

Ta chng minh L(G) = L, vi gi thit L.

1/. Ly = a1a2 an L(G), , trong G tn ti suy dn q0 hay q0 a1q1 a1a2q2


a1a2an-1qn-1 a1an-1an = .
Do q0a1q1, q1a2q2, , qn-1an-1qn-1, qn-1an P hay ta c
p1 = (q0, a1), p2 = (q1, a2), , qn-1 = (qn-2, an-1), qnF
tc l (q0, ) = qn F hay T(A) = L
2/. Ly = a1a2 an L, , khi tn ti dy trng thi q1, q2, , qn sao cho (q0, a1) =
p1, (q1, a2) = q2, , (qn-2, an-1) = qn-1, (qn-1, an) = qnF. Do trong G c cc quy tc
q0a1q1, q1a2q2, , qn-1an-1qn-1, qn-1an P, ta c suy dn trong G: q0 a1q1 a1a2q2
a1a2an-1qn-1 a1an-1an = hay L(G).
Trong trng hp L, ta xy dng G tng ng vi G trong k hiu xut
pht khng xut hin trong bt k v phi ca quy tc no, ng thi thm vo G quy tc
q0 nhn c vn phm chnh quy G sao cho L(G) = L(G) {}. Vy ta lun c
L(G) = L. Vy nh l c chng minh.
Th d 3.3 Cho otomat hu hn n nh A = <{q0, q1, q2}, {0, 1}, , q0, {q2}>, trong
(q0, 0) = q1, (q1, 0) = q2, (q1, 1) = q0, (q2, 1) = q0. th chuyn ca A l:

H. 3.21 th chuyn ca otomat A trong th d 3.3


D thy rng T(A) = {00 | {01, 001}*} l ngn ng chnh quy.

44

Kt lun T cc nh l trn ta c kt lun v s lin h gia otomat hu hn v ngn ng


chnh quy nh sau:
1/. Gi D l lp cc ngn ng c on nhn bi otomat hu hn n nh, N l lp cc
ngn ng c on nhn bi otomat hu hn khng n nh v R l lp cc ngn ng
chnh quy.
nh l 2.1 cho bit D = N.
nh l 3.3 cho bit R N.
nh l 3.4 cho bit D R
Vy D = N = R.
2/. Ngn ng L l chnh quy khi v ch khi:
a/. Tn ti mt biu thc chnh quy biu din L,
b/. Tn ti mt vn phm chnh quy sinh ngn ng L,
c/. Tn ti mt otomat hu hn on nhn L
Th d 3.4 Vi ngn ng chnh quy L = {01n, 021 | n 1}, ta c:

Biu thc chnh quy biu din L (xem th d 3.2) l:


r = 01*1+021

Vn phm chnh quy sinh ngn ng L:


G = <{0, 1, 2}, {S, A, B, C}, S, {S0A, A1A, A1, S0B, B2C, C1}>

Otomat hu hn A on nhn L c th chuyn l:

H. 3.22 th chuyn ca otomat A trong th d 3.4

4. iu kin cn ca ngn ng chnh quy


Khi mt ngn ng c on nhn bi otomat hu hn, hoc c sinh bi mt vn
phm chnh quy, hoc c xc nh bi mt biu thc chnh quy th n l ngn ng chnh
quy. Nh vy vic chng minh mt ngn ng l chnh quy l kh d dng bng cch ch ra
rng n c xc nh bng mt trong nhng cch trn. Tuy nhin, khng nh mt ngn
ng L khng phi l ngn ng chnh quy th li khng h n gin. D ta khng xy dng

45

c otomat hu hn, vn phm chnh quy hay biu thc chnh quy xc nh L, nhng ta
vn khng th kt lun c ngn ng ny khng phi l ngn ng chnh quy, bi v ta khng
th khng nh c rng khng tn ti nhng vn phm chnh quy hay nhng otomat hu
hn sinh ra L. Nh vy, cn c mt tiu chun cn c vo c th kt lun mt ngn ng
khng phi l ngn ng chnh quy, tiu chun l iu kin cn ca ngn ng chnh quy.
4.1 Otomat ti tiu
Cng mt ngn ng chnh quy L, c th c nhiu otomat hu hn on nhn n. Tuy
nhin, trong s , trc ht chng ta quan tm n cc otomat c s trng thi t nht cng
on nhn ngn ng L.
nh ngha 4.1 Otomat c s trng thi t nht trong cc otomat hu hn cng on nhn
ngn ng L c gi l otomat ti tiu ca ngn ng L.
Nhn xt: D thy rng vi mi ngn ng L, otomat ti tiu ca n c th khng duy nht.
Th d 4.1 Gi s ta c otomat M = <Q, {a, b}, , t0, F>, vi
+ Q = {t0, t1, t2, t3}, vi t0 = {q0}, t1 = {q1}, t2 = {q0, q1}, t 3 = .
+ (t0, a) = t0, (t0, b) = t2, (t1, a) = t2, (t1, b) = t3, (t2, a) = t2, (t2, b) = t2, (t3, a) = t3, (t3,
b) = t3.
+ F = {t1, t2}.
otomat M l n nh, c 4 trng thi v c th chuyn nh sau:

H. 3.23 th chuyn ca otomat M trong th d 4.1


D thy rng otomat M on nhn ngn ng:
L = T(M) = {anb | n0, {a, b}*}.
Nhn vo th chuyn ca M, ta thy ngay rng khng c ng i no t t0 n c nh
kt thc t1, v vy otomat M s tng ng vi otomat M c th chuyn nh sau:

H. 3.24 th chuyn ca otomat ti tiu M trong th d 4.1

46

R rng l otomat M cng on nhn ngn ng L = T(M) = {anb | n0, {a, b}*}, M ch
c hai trng thi v l otomat ti tiu ca ngn ng L = {anb | n0, {a, b}*}.
4.2 iu kin cn ca ngn ng chnh quy
nh l 4.1 Nu L l ngn ng chnh quy th tn ti s nguyn dng n sao cho vi mi
L m | | n u c th phn tch c di dng = uvw, (vi |v| 1 hay v ) m vi
mi ch s i = 0, 1. 2, ta c uviw L
Chng minh: V L l mt ngn ng chnh quy, khi tn ti mt otomat hu hn on nhn
n. Gi s L = T(A) , vi A = <Q, , , q0, F> l mt otomat ti tiu c n trng thi, tc l |Q|
= n. Ta chng minh n l s t nhin cn tm.
Gi s = a1a2am L vi m n. Khi ta c (q0, ) F, tc l q0, q1, qm Q sao
cho (qi-1, ai) = qi, 1 i m v qm F. Do m n nn trong dy q0, q1, , qm c t nht hai
trng thi trng nhau, gi s l qi = qk, i < k n, (vi k l s nh nht m ta c qi = qk)
t u = a1ai, v = ai+1ak, w = ak+1am. Ta c = uvw, |v| = |ai+1ak| 1 (do i<k).
Ngoi ra ta c:

(q0, u) = qi = qk = (q0, uv),

theo b 1.1:

(q0, u) = (q0, uv) = ((q0, u), v) = ((q0, uv), v) = (q0, uv2),

Tng t, ta c:

(q0, u) = (q0, uv2) = ((q0, u), v2) = ((q0, uv), v2) = (q0, uv3),

tip tc ta c:

(q0, u) = (q0, uvi), iN.

Cui cng ta c:

(q0, uviw) = ((q0, uvi), w) = ((q0, uv), w) = (q0, uvw) F.

Vy uviw L, i = 0, 1, 2, .
nh l c chng minh.
H qu 4.1 Cho A l otomat hu hn n nh c n trng thi v L l ngn ng c on
nhn bi A. Khi L khi v ch khi L sao || < n.
Chng minh: iu kin l hin nhin. By gi cho L . Gi s mi t trong L u c
di n. Gi l t c di nh nht trong L, m || n. Theo nh l 4.1, ta c = uvw,
trong |v| 1 v vi mi i = 0, 1, 2, ta c uviw L. Vi i = 0, uwL m |uw| < || . iu
ny mu thun vi tnh nh nht ca ||. Vy tn ti L sao cho || < n.
H qu 4.2 Tn ti mt ngn ng phi ng cnh m khng c on nhn bi bt k mt
otomat hu hn n nh no.
Chng minh: Xt ngn ng L = {anbn | n 1} trn bng ch = {a, b}. Ta c L = L(G), trong
G = <, {S}, S, {SaSb, Sab}> l vn phm phi ng cnh. Gi s L = T(A) vi A =
<Q, , , q0, F> l mt otomat hu hn n nh. Vi n ln, = anbn c || |Q|. Theo
nh l 1.1, ta c th biu din anbn = uvw, trong |v| 1, uviwL, i = 0, 1, 2, Ta hy tp
trung phn tch t v v vi:
Nu v ch cha a (|v|a >0 v |v|b = 0) th vi i ln |uvi w |a > | uvi w|b.
Nu v ch cha b (|v|b >0 v |v|a = 0) th vi i ln | uvi w |b > |uvi w|a

47

Nu |v|a >0 v |v|b > 0 th vi i = 2 ta c v = (ab)2 = abab, tc l a v b xen k nhau


trong uviw, khi uviw khng th c dng anbn.
C ba trng hp u mu thun vi uviwL. Vy khng tn ti mt otomat hu hn n
nh no on nhn L, tc l L khng phi l mt ngn ng chnh quy.
H qu ny l mt ng dng iu kin cn ca ngn ng chnh quy, chng minh
mt ngn ng khng phi l chnh quy nu n khng tha mn iu kin cn ny.
H qu trn cho thy rng tn ti mt ngn ng phi ng cnh m khng phi l ngn
ng chnh quy, tc l lp cc ngn ng chnh quy l tp con thc s ca lp cc ngn ng phi
ng cnh.

48

Bi tp chng 2
1. Hy xy dng cc otomat hu hn c th chuyn sau v xc nh cc ngn ng c
on nhn bi chng.

a)

q0

q1

q2

1
b)

q0

a
a

1
q1

0
q3
1

2. Hy xy dng cc otomat hu hn n nh on nhn cc ngn ng sau:


a) L = {anbm | n1, m1}.
b) L = {(01)n, (010)n | n0}.
c) L = {(aab)n(baa)m | n1, m1}.
3. Hy xy dng cc otomat hu hn n nh on nhn cc ngn ng sau:
a) L1 = {{0, 1}* | bt u ng 3 ch s 0}.
b) L2 = {{0, 1}* | khng bt u bi hai ch s 1 lin tip}.
4. Hy xy dng cc otomat hu hn on nhn cc ngn ng phn b ca cc ngn ng L1
v L2 trong bi tp 3.
Ch : Otomat huu han n nh v y th phn b ca n la otomat i kt thnh khng
kt v ngc li.
5. Hy xy dng cc otomat hu hn khng n nh on nhn cc ngn ng sau:
a) L = {1aba2 | 1, 2{a, b}*}.
b) L = {{0, 1}* | bt u bng lu tha dng ca 101}.
c) L = {(1111)n | {0, 1}*, n0}.
6. Hy thnh lp cc vn phm chnh quy sinh ra cc ngn ng m c on nhn bi cc
otomat hu hn khng n nh sau:
a) A = <{q0, q1, q2, q3, q4}, {a, b}, , q0, {q2, q4}>, trong :
(q0, a) = {q0, q1}, (q0, b) = {q0, q1}, (q1, a) = , (q1, b) = {q2}, (q2, a) = {q2}, (q2, b) =
{q2}, (q3, a) = {q4}, (q3, b) = , (q4, a) = {q4}, (q4, b) = {q4}.
b) A = <{q0, q1}, {0, 1}, , q0, {q1}>, trong :
(q0, 0) = {q0, q1}, (q0, 1) = {q1}, (q1, 0) = , (q1, 1) = {q0, q1}.

49

7. Hy xy dng cc otomat hu hn n nh on nhn cc ngn ng m c sinh bi cc


vn phm chnh quy sau:
a) G = <{a, b, c}, {S, A, B, C, D}, S, {SaB, SaC, BaA, CbD,
DbC, DbA, AcA, Ac}>.
b) G = <{0, 1}, {S, A, B, C, D, E}, S,{S, S1A, B0C, B0D, A1B, B1D,
D0E, C1B, C0A, E1A, D1E, E0B, A0D, E1, C1}>.
8. Hy xy dng cc otomat hu hn n nh on nhn cc ngn ng c biu din bi
cc biu thc chnh quy sau:
a) bba(a+b)*.
b) (a+b)*bab.
c) (bb+a)*
d) (aa+b)*.
e) (bb+a)*(aa+b)*.
9. Cho tomat A = (S, , s1, , F), vi tp trng thi S = {s1, s2, s3, s4}, bng ch ci = { a,
b}, F = {s4}, v hm chuyn trng thi cho bi bng sau:

s1

s2

{ s2, s4}

s3

{ s3, s4}

s3

s4
s3

s4

a. Vit th chuyn ca tomat A.


b. Tm otomat M n nh v y tng ng vi otomat A
c. Vit th chuyn ca tomat M
10. Cho otomat A = (S, , s1, , F), vi tp trng thi S = {s1, s2, s3}, = { a, b, c}, F = {s3},
v hm chuyn trng thi cho bi bng sau:

s1

s2

s3

s2

s3

{s1, s2}

s3

s1

s3

s1

a. Vit th chuyn ca otomat A.


b. Tm otomat M = (Q, , q1, f, P ),n nh v u , tng ng vi otomat A
c. Vit th chuyn ca otomat M.

50

Chng 3
OTOMAT Y XUNG V NGN NG PHI NG CNH
M u
i vi cc lp vn phm c phn loi theo Chomsky, lp vn phm phi ng cnh
c vai tr quan trng nht trong vic ng dng xy dng cc ngn ng lp trnh v cc
chng trnh dch.
Trong qu trnh dch t chng trnh ngun ra chng trnh ch, ngi ta s dng cu
trc c php ca vn phm phi ng cnh phn tch cc xu vo. Cu trc c php ca mt
xu vo c xc nh t dy cc quy tc suy t xu . Da vo dy cc quy tc , b phn
tch c php ca chng trnh dch s cho bit xu vo ang xt c thuc vo xu do vn
phm phi ng cnh sinh ra hay khng. Ni cch khc l vi xu vo v mt vn phm phi
ng cnh G, cn tr li cu hi: L(G) hay khng? Nu c th hy tm cch biu din
bng vn phm, tc l tm cc quy tc sinh ca vn phm G sinh ra xu .
Trong chng ny, chng ta s nghin cu su hn v ngn ng phi ng cnh cng
vi nhng c ch sinh lp ngn ng ny, l cc vn phm phi ng cnh v cc otomat
c b nh y xung (pushdown otomata). Chng ny gm cc ni dung ch yu sau:
1. Vn phm phi ng cnh v cy suy dn ca n.
1.1 Cy suy dn y trong vn phm phi ng cnh
1.2 Rt gn cc vn phm phi ng cnh
2. Dng chun Chomsky
2.1 Vn phm chun Chomsky
2.2 a vn phm phi ng cnh v dng chun Chomsky
3. Otomat y xung
3.1 M t otomat y xung
3.2 nh ngha otomat y xung
3.3 Ngn ng c on nhn bi otomat y xung

51

1. Vn phm phi ng cnh v cy suy dn ca n


1.1 Cy suy dn y trong vn phm phi ng cnh
nh ngha 1.1 Cho vn phm phi ng cnh G = <, , S, P>. Cy suy dn y trong vn
phm G l mt th hu hn c hng, khng c chu trnh v tho mn bn iu kin sau:
1. Mi nh ca cy c gn mt nhn l cc k hiu trong tp
Gc ca cy c gn nhn l S.

{}.

2. Mi nh trong c gn nhn l mt k hiu no trong .


3. Mi nh ngoi (l ca cy) c gn nhn l mt k hiu trong tp .
4. Nu nh m c gn nhn l A , cn cc nh n1, n2, , nk l cc con ca nh
m theo th t t tri sang phi v c gn nhn B1, B2, , Bk tng ng th AB1B2Bk
l mt quy tc trong P ca vn phm G.
B

Nu c tt c nhn cc l theo th t t tri sang phi, ta s nhn c mt t no


. T s l mt phn t trong L(G) v c gi l kt qu ca cy suy dn trong G.
Th d 1.1 Cho cc vn phm phi ng cnh:

G1 = <{a, b, c, +, , (, )},{S, A}, S,{SS+S | AA | a | b | c, A(S+S) | a | b|c}>

Cy suy dn ca t b+(a+c)b trong G1 l:

H. 4.1 Cy suy dn ca t = b+(a+c)b trong G1

G2 = <{a, b}, {S, A}, S, {SSa | Aa, AaAb | ab}>,

Cy suy dn ca t = anbnam trong G2 c cho trong hnh 4.2 di y:

52

H. 4.2 Cy suy dn ca t = anbnam trong G2

G3 = <{={a1, a2, , an}, {S}, S, {SaSa, Saa | a}>.

Cy suy dn ca t R = a1a2anana2a1 trong G3 l:

H. 4.3 Cy suy dn ca t R = a1a2anana2a1 trong G3


nh l 1.1 Cho G = <, , S, P> l vn phm phi ng cnh v * \ {}. Khi L(G)
khi v ch khi tn ti mt cy suy dn y trong G c kt qu l .
Chng minh: Do nn ta c th gi thit rng S P. By gi vi mi A, t GA =
<, , A, P>, ta c GA l vn phm phi ng cnh. Ta s chng t rng L(GA) khi v ch
khi tn ti mt cy suy dn trong GA c kt qu l .

53

Gi s l kt qu ca mt cy suy dn trong GA v n l s k hiu khng kt thc


trong cy. Bng quy np theo n, ta s ch ra rng L(GA).
Nu tng s k hiu khng kt thc trong cy l 1, k hiu ny phi l A v l gc ca
cy, do cc con ca A phi l cc nh c gn bi cc k hiu kt thc, chng hn b1, b2,
, bk. Theo nh ngha ca cy suy dn, ta c Ab1b2bk hay A .
Gi s mnh ng vi mi cy suy dn c s k hiu khng kt thc l n1. Xt
mt cy suy dn trong GA c kt qu l v trong cy c n k hiu khng kt thc. Gi cc
con ca A theo th t t tri sang phi l B1, B2, , Bk. Nu cc nh ny u l l th cy
gc A ch c mt nh c k hiu khng kt thc. Gi s trong cc nh ny c cc nh trong
l C1, C2, , Cm. Xt cc cy con m gc ca n l C1, C2, ,Cm. Gi i l kt qu ca cy
suy dn gc Ci. Theo gi thit quy np, iL(Gi). V tp cc quy tc trong GCi cha trong tp
cc quy tc trong GA nn ta c cc suy dn trong GA l C1 1, C2 2, , Cm m. S
dng cc suy dn ny v quy tc AB1B2Bk, ta nhn c:
B

A B1B2Bk 1C12C2 mCmm+1 1122 mmm+1.


B

Do kt qu ca cy suy dn trong GA l nn = 1122 mmm+1 hay L(GA).


o li, ta cn chng minh rng nu c suy dn A ( ) trong GA th c th xy
dng mt cy suy dn trong GA c kt qu l . Mnh ny c chng minh bng quy np
theo di ca suy dn.
Trc ht, nu A = b1b2 bk (suy dn mt bc) th c th xy dng mt cy c
gc l A v cc con t tri sang phi ln lt c gn cac nhn l b1, b2, , bk.
Gi s mnh ng vi mi suy dn c di khng ln hn n. Cho suy dn trong GA l
A c di n+1. Gi s quy tc u tin trong suy dn ny l AB1B2Bk v C1, C2,
, Cm l cc k hiu khng kt thc trong cc Bi (1 i k), c ngha l B1B2Bk = 1C12C2
mCmm+1, y Ci i c di khng vt qu n. Theo gi thit quy np, tn ti cc
cy Ti ca GCi m kt qu ca n l i v do ta c th xy dng trong GA cy suy dn c
kt qu l nh sau:
B

H. 4.4 Cy suy dn c kt qu l
nh ngha 1.2 Cho vn phm phi ng cnh G = <, , S, P>. Ta ni vn phm G l nhp
nhng hay a ngha nu tn ti mt xu l kt qu ca hai cy suy dn khc nhau trong G.

54

Trong trng hp ngc li, ta ni G l khng nhp nhng hay n ngha.


Mt vn phm phi ng cnh c gi l nhp nhng vnh cu nu khng tn ti vn
phm phi ng cnh n ngha no tng ng vi n.
Ngn ng do vn phm G sinh ra gi l ngn ng nhp nhng nu G l vn phm nhp
nhng.
Th d 1.2 Vn phm phi ng cnh sau l nhp nhng:
G = <{a, b, +, }, {S}, S, {SS+S, SSS, Sa, Sb}>,
v xu = b+ab+a c hai suy dn tri khc nhau trong G c cho trong hnh 4.5:

H. 4.5 Hai cy suy dn khc nhau cho t = b+ab+a


Cng vi vn phm G trn, vn phm
G = <{a, b, +, }, {S, A}, S, {SA, SA+S, AAA, Aa, Ab}>
l n ngha v L(G) = L(G).
1.2 Rt gn cc vn phm phi ng cnh
Trong mt vn phm phi ng cnh c th c nhiu yu t tha, chng hn c nhng k hiu
khng h tham gia vo qu trnh sinh cc ngn ng, hoc c nhng quy tc dng AB ch
lm mt thi gian trong qu trnh hnh thnh cc xu ca ngn ng. V l cn loi b
nhng yu t d tha khng c ch trong vic sinh ngn ng, sao cho vic loi b khng
lm nh hng ti qu trnh sinh ngn ng. iu c ngha l ch cn gi li cc k hiu v
cc quy tc c ch trong vn phm G m chng thc s l cn thit trong qu trnh sinh ngn
ng m thi.
nh ngha 1.3 Cho vn phm phi ng cnh G = <, , S, P>. X c gi l k hiu c ch
nu tn ti suy dn S X , trong , ()*, X v *.

55

Nu k hiu X khng tho mn iu kin trn th X c gi l k hiu tha.


Nh vy X l k hiu tha nu:
1/. T X khng th dn ra mt xu *. K hiu X c tnh cht nh th c gi l
k hiu v sinh.
2/. T k hiu xut pht S khng th dn c mt xu no c cha k hiu X. Khi
ta ni k hiu X l k hiu khng n c.
Nh vy mt k hiu l tha nu n hoc l k hiu v sinh hoc l k hiu khng n
c.
B 1.1 (loi k hiu v sinh) Cho vn phm phi ng cnh G = <, , S, P> vi L(G) .
Khi tn ti vn phm phi ng cnh G= <, , S, P> tng ng vi G sao cho A
c mt xu * A .
Chng minh: T tp quy tc P ca G, ta xy dng nh sau:
+ Nu trong P c quy tc dng A vi A, * th kt np A vo .
+ Nu AX1X2Xn l quy tc trong P m Xi hoc Xi l bin c kt np vo th
ta kt np A vo .
C tip tc xt cc quy tc trong P, ta s xy dng cc k hiu cho tp . V P l hu
hn nn qu trnh s c dng li sau mt s hu hn bc. Khi ta xy dng c tp .
Ta xy dng tip tp quy tc P gm cc quy tc trong P m cc k hiu c mt trong
u thuc tp .
B 1.2 (loi k hiu khng n c) Cho vn phm phi ng cnh G = <, , S, P>. Khi
tn ti vn phm phi ng cnh G = <, , S, P> tng ng vi G sao cho X
c , ()* cho S X.
Chng minh: Xy dng tp v nh sau:
a k hiu S vo . Nu mt k hiu A c kt np vo v A, y
()* th ta kt np cc k hiu ph trong vo , cn cc k hiu kt thc trong
th kt np vo .
Th tc kt np trn s ngng khi khng cn b sung thm c bt k k hiu no
na vo cc tp v .
Tp quy tc P c xy dng nh sau:
P bao gm mi quy tc trong P m cha cc k hiu thuc tp . Vi cch xy
dng , ta c L(G) = L(G), trong G ch gm cc k hiu n c.
T hai b trn ta c:

56

nh l 1.2 Mi ngn ng phi ng cnh khc rng u c th c sinh ra t mt vn phm


phi ng cnh khng c k hiu tha.
nh ngha 1.4 Cho vn phm phi ng cnh G = <, , S, P>. Quy tc trong P c dng
AB, y A, B, c gi l quy tc n hay php i tn.
Quy tc n c tc dng lm ko di qu trnh sinh ra ngn ng, v vy ta s tm cch
loi quy tc n m khng lm nh hng ti qu trnh sinh ra ngn ng ca vn phm
cho.
Lu rng quy tc Aa, vi A v a khng phi l quy tc n.
nh l 1.3 i vi mi vn phm phi ng cnh m trong tp cc quy tc ca n c quy tc
n th tn ti mt vn phm phi ng cnh tng ng vi n m trong tp cc quy tc ca
n khng cha quy tc n.
Chng minh: Gi s G = <, , S, P> l vn phm phi ng cnh c cha quy tc n (v
khng cha k hiu tha). Ta xy dng vn phm phi ng cnh G = <, , S, P> tng
ng vi G v khng cha quy tc n.
a tt c cc quy tc khng n ca P vo P. Nu trong P c quy tc AB, vi A,
B, th tn ti suy dn S A B , y , ()*, * do gm cc k
hiu khng tha.
Vy thay cho AB, ta a vo P quy tc SA v A u l cc quy tc khng
n nhng chc nng sinh ngn ng tng ng vi quy tc AB.
Th d 1.3 Vn phm phi ng cnh
G = <{a, +, }, {S, A, B}, S, {SS+A, SA, AAB, AB, Ba}>
tng ng vi vn phm phi ng cnh sau khng cn cc quy tc n:
G = <{a, +, }, {S, A, B}, S, {SS+A, AAB, Ba, SAB, Aa, Sa}>.
nh ngha 1.5 Cho vn phm phi ng cnh G = <, , S, P>, nu trong P c quy tc A,
A , th ta ni G c -quy tc.
Ch rng nu L(G) khng cha t rng th c th loi ht cc -quy tc trong P
c mt vn phm mi tng ng vi G; cn nu trong L(G) c cha t rng , th khng
th loi ht cc -quy tc khi G (t nht trong G phi cha quy tc S).
Cc -quy tc cng lm vn phm phi ng cnh tr nn cng knh, thiu chnh xc.
nh l di y cho php loi b cc -quy tc trong vn phm phi ng cnh c mt
vn phm mi tng ng, ch sai khc mt t rng.
nh l 1.4 Cho vn phm phi ng cnh G = <, , S, P>, gi s L = L(G). Khi tn ti
mt vn phm phi ng cnh G = <, , S, P> khng cha cc -quy tc sao cho L(G) =
L(G) \ {}

57

Chng minh: Theo nh l 1.2, ta lun gi thit vn phm G l khng cha cc k hiu tha.
Ta s xy dng vn phm G khng cha cc quy tc rng theo cc bc sau:
1/. Tm tt c cc k hiu trit tiu (nullable symbol) theo th tc:

Nu A P th A l k hiu trit tiu

Nu B P m l mt xu gm ton k hiu trit tiu th B l k hiu trit tiu

Lp li cc bc trn cho n khi khng tm thm c k hiu trit tiu no na.


2/. Xy dng tp quy tc P

Loi tt c cc quy tc rng trong P (c dng A),

Tp quy tc mi P c xc nh nh sau: Nu AX1X2Xn P, Xi ()*, th


a vo P tt c cc quy tc dng A 1 2 n (*) sao cho:
a/. Nu Xi khng phi k hiu trit tiu th i = Xi, (gi nguyn Xi)
b/. Vi cc Xi l k hiu trit tiu th mi ln thay mt tp con ca cc k hiu trit
tiu ny bi cc k hiu rng c mt quy tc mi.
c/. Khng thay tt c cc i bi cc k hiu rng, d mi Xi u l k hiu trit tiu.

Th d 1.4 Cho vn phm phi ng cnh G = <{a, b}, {I, A, B}, I, P > vi tp quy tc P =
{IAB, AaA, A, BbB, B}. Hy xy dng vn phm G khng c cc -quy tc,
khng c cc k hiu tha, sao cho L(G) = L(G) \ { }.
+ D thy G l khng c cc k hiu tha
+ Cc k hiu trit tiu l A v B.
+ Tp quy tc P = { IAB, IA, IB, AaA, Aa, BbB, Bb }.
Vy ta c G = <{a, b}, {I, A, B}, I, P > l vn phm khng cha cc -quy tc. D dng
nhn thy L(G) = {an, bm, aibj | m, n , i, j 1}, cn L(G) = {an, bm, aibj | m, n , i, j 0}.

2. Dng chun Chomsky


2.1 Vn phm chun ca Chomsky
nh ngha 2.1 Vn phm phi ng cnh G = <, , S, P> c gi l vn phm dng
chun Chomsky, nu mi quy tc u c dng ABC hoc Aa, vi A, B, C , a .
Nh vy, c th nhn xt rng cc vn phm dng chun Chomsky s khng c cc quy tc
thuc cc loi sau:
a/. Cc -quy tc (cc quy tc rng),
b/. Cc quy tc n, dng AB, A, B ,
c/. Cc quy tc m v phi c c k hiu chnh v k hiu ph.
d/. Cc quy tc c v phi nhiu hn hai k hiu,

58

Ta s chng t rng c th a mt vn phm phi ng cnh bt k v vn phm dng chun


Chomsky.
2.2 a vn phm phi ng cnh v dng chun Chomsky
nh l 2.1 i vi vn phm phi ng cnh ty G = <, , S, P>, lun tn ti mt vn
phm phi ng cnh dng chun Chomsky G = <, , S, P> tng ng vi n, tc l
L(G) = L(G).
Chng minh: Theo cc nh l 1.2, 1.3 v 1.4 phn trn, ta c th gi thit vn phm G l
khng cha cc k hiu tha, khng cha cc -qui tc v khng cha cc qui tc n.
xy dng vn phm mi G dng chun Chomsky, ta ch cn loi b cc quy tc m v phi
c cha c k hiu chnh v k hiu ph hoc cc quy tc m v phi nhiu hn hai k hiu.
Vic loi b cc quy tc khng hp l ny tin hnh theo hai bc sau:
Bc 1: Vi cc quy tc v phi c cha c k hiu chnh v k hiu ph, tc l cc quy tc
(1)
c dng: AX1 X2 Xm , vi Xi ,
Xt tt c cc Xi trong quy tc (1), nu Xi th gi nguyn Xi, nu Xi = a , ta thm vo
k hiu ph Aa, thay Xi trong quy tc (1) bi Aa, v thm vo quy tc Aaa. Lp li qu trnh
trn vi tt c cc Xi trong quy tc (1), quy tc (1) tr thnh : AY1 Y2 Ym , vi Yi l cc
k hiu ph (Yi = Xi nu Xi , Yi = Ai nu Xi = a ).
Sau bc 1, ta nhn c vn phm G1 = <, 1, S, P1> vi 1 v P1 nhn c t v P sau
khi thm vo cc k hi h mi v cc quy tc mi nh trn. R rng L(G1) = L(G) m G1
khng cha cc quy tc m v phi c c k hiu chnh v k hiu ph.
Bc 2: By gi trong G1 cn loi b cc quy tc m v phi c di ln hn 2, gm ton
k hiu ph, l cc quy tc dng: AY1Y2 Ym , vi m>2, Yi 1
(2)
Ta thm m-2 k hiu ph Z1, Z2, Zm-2 vo tp 1, v thm vo m-2 quy tc sau y:
AY1Z1; Z1Y2Z2; Z2Y3Z3; ; Zm-2Ym-1Ym.
Ta nhn c vn phm mi G2 < , 2, S, P2> khng cha cc quy tc c v phi nhiu hn
2 k hiu, khng cha cc quy tc v phi gm c k hiu chnh v k hiu ph. D dng ch
ra rng L(G2) = L(G1) = L(G), vy G2 chnh l vn phm G dng chun Chomsky cn tm.
Th d 2.1 Cho vn phm phi ng cnh G = <{a, b}, {S, A, B}, S, P>, vi tp quy tc P =
{SA, SABA, AaA, Aa, AB, BbB, Bb}. Hy xy dng vn phm dng
chun Chomsky tng ng vi G.
p dng nh l 1.3, ta c th loi ht cc quy tc n trong G, c vn phm tng
ng m khng cha quy tc n G1 = <{a, b}, {S, A, B}, S, P1>, vi P1 = {SABA,
SaA, Sa, SbB, Sb, AaA, Aa, AbB, Ab, BbB, Bb}.
By gi p dng nh l 3.1 cho vn phm G1, ta thay tt c cc quy tc m v phi c cha
c k hiu chnh v k hiu ph:
+ Vi cc quy tc SaA, AaA ta thay a bi Aa, thm Aa vo tp k hiu ph mi 2, thm
quy tc Aaa vo tp quy tc mi P2.

59

+ Vi cc quy tc SbB, AbB, BbB ta thay b bi Ab, thm Ab vo tp k hiu ph mi


2, thm quy tc Abb vo tp quy tc mi P2.
Ta nhn c G2 = <{a, b}, {S, A, B, Aa, Ab}, S, P2>, vi P2 = {SABA, SAaA, Sa,
SAbB, Sb, AAaA, Aa, AAbB, Ab, BAbB, Bb} khng c quy tc no m v
phi c c k hiu chnh v k hiu ph, v r rng G2 ~ G1~ G.
+ Vi G2, ta gim di v phi cc quy tc c hn hai k hiu: thay quy tc SABA bi hai
quy tc SAC, CBA, v thm C vo tp k hiu ph. Cui cng, ta c vn phm G3 =
<{a, b}, {S, A, B, Aa, Ab, C}, S, P3>, vi P3 = {SAC, CBA, SAaA, Sa, SAbB,
Sb, AAaA, Aa, AAbB, Ab, BAbB, Bb}.
Vn phm G3 ~ G2 ~ G1 ~ G, m G3 l dng chun Chomsky.
3. Otomat y xung
Nh ta bit, lp cc ngn ng chnh quy do vn phm chnh quy sinh ra cng trng
vi lp cc ngn ng c on nhn bi otomat hu hn (n nh hoc khng n nh).
Tng t, ta s thy trong phn ny l lp cc ngn ng phi ng cnh do cc vn
phm phi ng cnh sinh ra s trng vi lp cc ngn ng c on nhn bi otomat y
xung khng n nh (Nondeteministic Pushdown Automata).
ng lu , ch c lp otomat y xung khng n nh mi c th on nhn ht
lp ngn ng phi ng cnh. Cn otomat y xung n nh ch c kh nng on nhn c
lp con thc s ca lp ngn ng phi ng cnh m thi. Tuy vy, lp ngn ng c on
nhn bi lp cc otomat y xung n nh l kh rng, n bao gm phn ln cc ngn ng
lp trnh hin nay. y, ta ch cp ti cc otomat y xung khng n nh. (thng k
hiu l NPA, hay gn hn l PA v cng c hiu l cc otomat dy xung khng n nh.
Khi cn ch r cc otomat y xung n nh ta s k hiu l DPA-Deteministic Pushdown
Automata).
3.1 M t otomat y xung
Otomat y xung cng nh otomat hu hn c b iu khin l tp hu hn cc trng
thi. u c ca otomat cho php c ln lt cc k hiu trn bng vo t tri sang phi.
Ngoi ra, otomat y xung cn c thm bng lm vic (ngn xp hay stack), nh c n m
b nh ca otomat y xung c tng ln so vi kh nng nh ca otomat hu hn. Ngn
xp c t chc theo nguyn tc k hiu vo sau th ra trc (LIFO), ging nh np n.
Khi a k hiu vo ngn xp th k hiu c tr thnh k hiu u ca ngn xp. Khi
ngn xp c th k hiu l k hiu trn cng v khi k hiu c xong th n s b loi
khi ngn xp. Mt ngn xp nh vy cn c gi l mt danh sch y xung.
Mt otomat y xung bao gm mt bng vo, mt b nh Stack v mt b iu khin nh
hnh 4.6 di y:

60

H. 4.6 M hnh lm vic ca mt otomat y xung.


Cn c vo trng thi hin ti ca b iu khin, k hiu vo m u c ang quan st v k
hiu trn cng ca ngn xp, otomat y xung s chuyn sang mt trng thi mi no v
ng thi u c c th c chuyn sang bn phi. Nu u c chuyn sang bn phi
th ta gi qu trnh trn l mt bc chuyn. Ngc li, nu k hiu vo khng nh hng ti
bc chuyn th ta gi l bc chuyn nhm mt v trong bc chuyn u c vn
ng yn ti ch. Thc cht ca bc chuyn nhm mt l s tm ngng quan st bng vo
chn chnh li ngn xp.
C hai cch on nhn xu vo ca otomat y xung:
Cch 1: Xu vo c c xong v otomat y xung chuyn c v mt trng thi kt thc
no .
Cch 2: Xu vo c c xong v ngn xp tr thnh rng.
Sau ny ta s ch ra hai cch on nhn trn l tng ng.
Th d 3.1 Cho vn phm phi ng cnh:
G = <{0, 1, c}, {S}, S, {S0S0, S1S1, Sc}>.
D dng thy rng L(G) = {cR | {0, 1}*} (R l xu vit cc k hiu ca xu theo mt
th t ngc li). Chng hn, i vi xu = 010011 th xu cR = 010011c110010 s c
dn xut sau y: (S, 0S0, 01S10, 010S010, 0100S0010, 01001S10010, 010011S110010,
010011c110010).
Mt khc xu cR c th c on nhn bi otomat y xung nh sau:
Trc ht t xu x = cR ln bng vo. u c dch chuyn t tri sang phi. Ban
u ngn xp rng. Otomat y xung c hai trng thi p, q trong p l trng thi u. Khi
trng thi u p, u c c k hiu trn bng vo l 0 hoc 1 v n a k hiu vo ngn
xp. Trng thi ca otomat y xung lc vn l p. u c dch chuyn sang bn phi
mt v c k hiu trn mi ny. Nu k hiu ny l 0 hoc 1 th otomat y xung a
k hiu vo ngn xp, trng thi ca otomat vn l p v u c li c chuyn sang phi
mt .

61

Qu trnh vn tip tc cho ti khi u c gp k hiu c. Khi otomat s chuyn


trng thi p sang trng thi q v u c chuyn sang phi mt . Ti thi im ny ngn xp
xut hin xu . K hiu bn phi nht ca nm trn cng ca ngn xp, cn trng thi ca
otomat l q. u c ang ch bn phi k hiu c. Nu k hiu ca ny bng k hiu ca
trn cng ca ngn xp th otomat y xung loi k hiu trn cng ra khi ngn xp, k hiu
di n li ln v tr trn cng ca ngn xp, otomat y xung chuyn u c sang phi mt
, cn trng thi vn l q. Qu trnh c tip tc v c hai kh nng xy ra:
1/. Otomat y xung c ht xu x v ngn xp tr thnh rng th otomat dng li v
on nhn c xu x = cR.
2/. Cc k hiu ngn xp cha b loi ht th u c gp k hiu trn xu vo khc
vi k hiu trn cng ca ngn xp. Trong trng hp ny otomat y xung khng on
nhn xu x.
Nh c ngn xp m otomat y xung c kh nng nh c na u ca xu x =
c vi c di tu v sau n so snh dn vi na cui R ca x. Otomat hu hn
khng c kh nng ny.
R

By gi ta nh ngha mt cch hnh thc otomat y xung nh sau:


3.2 nh ngha otomat y xung
nh ngha 3.1 Mt otomat y xung l mt b by:
M = <Q, , , , q0, z0, F>,
trong ,
+ l tp hu hn khc rng cc k hiu, gi l bng ch ci vo, mi k hiu
trong gi l k hiu vo;
+ Q l mt tp hu hn, khc rng cc trng thi sao cho Q = ;
+ l tp hu hn khc rng cc k hiu, gi l bng ch ci ngn xp, m cc k
hiu ca n gi l cc k hiu ca ngn xp;
+ z0 l k hiu c bit, gi l k hiu y ca ngn xp (cn gi l k hiu
u tin ca danh sch y xung);
+ q0 Q gi l trng thi khi u;
+ F Q gi l tp cc trng thi kt thc;
+ : Q({}) 2(Q *) gi l hm chuyn ca M, 2(Q *) l tp cc tp con ca Q*.
nh ngha 3.2 Mt ng thc dng:
(q, a, z) = {<q1, 1>, <q2, 2>, , <qm, m>},
trong q, qi Q, a , z , i *, (i = 1, , m) c gi l mt bc chuyn ca
otomat y xung M. N ang trng thi q, c k hiu a bng vo v z l k hiu nh

62

ngn xp. Khi n chuyn sang trng thi qi, thay k hiu z nh ngn xp bi xu i, (i =
1, , m), ng thi chuyn u c sang bn phi mt . Quy c rng khi a i vo ngn
xp, k hiu bn tri nht ca i s nm phn di, cn k hiu bn phi nht ca i s nm
trn cng ca ngn xp.
Mt ng thc dng:
(q, , z) = {<q1, 1>, <q2, 2>, , <qm, m>}
din t mt bc chuyn nhm mt ca otomat y xung M: Otomat trng thi q, k
hiu z nh ngn xp. Khi otomat y xung chuyn trng thi q v qi v thay z
nh ngn xp bi xu i (1 i m), cn u c th khng dch chuyn.
Nh vy, mt thi im, tnh hung tc thi ca otomat y xung xc nh bi ba yu t
sau:
Xu * trong ngn xp (vi quy c l k hiu bn tri nht ca nm y ngn xp).
Trng thi qQ.
Phn xu vo x* cha c c n trn bng vo (vi quy c k hiu bn tri nht ca
x l k hiu s c c tip).
Ta c nh ngha cho mi tnh hung tc thi ca PDA nh sau:
nh ngha 3.3 Cho otomat y xung M = <Q, , , , q0, z0, F>. Mt hnh trng ca
otomat M l mt b ba K = <q, , >, trong qQ, *, *.
Gi s = a1a2ak *, = x1x2xm *. Di tc ng ca nh x chuyn trng
thi , otomat M c th chuyn t hnh trng ny sang hnh trng khc theo nguyn tc sau:
1/. Nu <p, >(q, a1, xm) th hnh trng <q, a1a2ak, x1x2xm> c th chuyn sang hnh
trng <p, a2ak, x1x2xm-1 > v k hiu:
<q, a1a2ak, x1x2xm > <p, a2ak, x1x2xm-1 >.
2/. Nu <p, > (q, , xm ) th hnh trng <q, a1a2ak, x1x2xm > c th chuyn sang hnh
trng <p, a1a2ak, x1x2xm-1 > v k hiu:
<q, a1a2ak, x1x2xm > <p, a1a2ak, x1x2xm-1 >.
3.3 Ngn ng c on nhn bi otomat y xung
nh ngha 3.4 Cho otomat y xung M = <Q, , , , q0, z0, F> v *. Ta ni rng
otomat M on nhn t theo tp trng thi kt thc nu tn ti mt dy hu hn cc hnh
trng K0, K1, , Kn sao cho:
1/. K0 = <q0, , z0>, gi l hnh trng u;

63

2/. Kn = <p, , >, pF, gi l hnh trng kt thc;


3/. K0 K1 K2 Kn.
K hiu T(M) = {* | c on nhn bi M theo tp trng thi kt thc}.
T(M) c gi l ngn ng c on nhn bi otomat y xung M theo tp trng thi kt
thc.
nh ngha 3.5 Cho otomat y xung M = <Q, , , , q0, z0, F> v *. Ta ni rng
otomat M on nhn t theo ngn xp rng nu tn ti mt dy hu hn cc hnh trng K0,
K1, , Kn sao cho:
1/. K0 = <q0, , z0>, gi l hnh trng u;
2/. Kn = <p, , >, p ty thuc Q, gi l hnh trng kt thc;
3/. K0 K1 K2 Kn.
K hiu N(M) = {* | c on nhn bi M theo ngn xp rng}, c gi l ngn ng
c on nhn bi otomat y xung M theo ngn xp rng.
Th d 3.2 Cho otomat y xung M = <{q0, q1, q2}, {a, b}, {z0, z1}, , q0, z0, {q2}>, trong
(q0, , z0) = {<q0, >}, (q0, a, z0) = {<q1, z0z1>}, (q1, a, z1) = {<q1, z1z1>}, (q1, b, z1) =
{<q2, >}, (q2, b, z1) = {<q2, >}, (q2, , z0) = {<q0, >} ( y, nh ca cc b ba khc qua
c hiu l ).
Xt cc t = aabb v = abaab. Ta c:
<q0, aabb, z0> <q1, abb, z0z1> <q1, bb, z0z1z1> <q2, b, z0z1> <q2, , z0> <q0, , >.
<q0, abaab, z0> <q1, baab, z0z1> <q2, aab, z0>.
Do N(M), N(M), T(M).
Tng qut, ta c th chng minh c rng N(M) = T(M) = {anbn | n0}.
Th d 3.3 Cho otomat y xung M = <{q0, q1}, {0, 1}, {z0, z1, z2}, , q0, z0>, trong (q0,
0, z0) = {<q0, z0z1>}, (q0, 0, z1) = {<q0, z1z1>, <q1, >},
(q0, 0, z2) = {<q0, z2z1>}, (q0, 1, z0) = {<q0, z0z2>}, (q0, 1, z1) = {<q0, z1z2>},
(q0, 1, z2) = {<q0, z2z2>, <q1, >}, (q1, 0, z1) = {<q1, >},
(q1, 1, z2) = {<q0, z2z2>, <q1, >}, (q0, , z0) = {<q1, >}, (q1, , z0) = {<q1, >}.
Xt = 110011, ta c th v cy biu din cc kh nng bin i ca cc hnh
trngtong hnh 4.7.
ng in m l dy dch chuyn t hnh trng u <q0, , z0> n hnh trng cui <q1, , >
theo ngn xp rng.

64

H. 4.7 Cy biu din cc kh nng bin i ca cc hnh trng trong th d 3.3


Ch Cng nh i vi otomat hu hn, ta c th m t otomat y xung bng th
chuyn. l mt a th c hng, c khuyn G vi tp nh ca G l Q. Vi a{},
p, qQ, z, *, nu <p, >(q, a, z) th s c mt cung t q ti p c gn nhn l (a,
z/).
Chng hn, th chuyn ca otomat y xung M trong Th d 3.2 l:

H. 4.8 th chuyn ca otomat y xung trong th d 3.2


nh l 3.1 Cho L l mt ngn ng phi ng cnh. Khi tn ti mt otomat y xung M
on nhn L theo tp trng thi kt thc.
Chng minh: Gi s G = <, , S, P> l vn phm phi ng cnh sinh ra ngn ng L. Ta xy
dng otomat y xung M = <Q, , , , q0, z0, F> on nhn L vi:
+ Q = {q0, q1, q2} l tp cc trng thi,
+ ={%} l tp cc k hiu ngn xp, k hiu % l khng thuc ,
+ z0 = S l k hiu u ca ngn xp,

65

+ q0Q l trng thi u,


+ F = {q2} l tp cc trng thi kt thc,
+ Hm chuyn : Q x ({}) x P(Q x *) c nh ngha qua cc biu thc sau:
1/. (q1, , z) = {<q1, R> | z P, z, *}.
2/. (q1, a, a) = {<q1, >}, vi mi a.
3/. (q1, , %) = {<q2, %>}.
4/. (q0, , S) = {<q1, %S>}.
Ta s chng minh L(G) = T(M).
Gi s L(G). Khi tn ti dy suy dn y trong G l:
D = (S, u1z1v1, u1u2z2v2, , u1un-1zn-1vn-1, u1u2un = ), y zi, ui, vi
(1in-1) v un*.
Da vo cc quy tc ca G s dng trong dy suy dn y D ca xu , otomat y
xung M on nhn theo nguyn tc sau:
p dng hm chuyn xy dng trn, trong cc biu thc 4, 1, 2 ta c:
<q0, , z0> <q1, , %S> <q1, u1u2un, %v1Rz1u1R> <q1, u2u3un, %v1Rz1>.
Gi s cc quy tc tip theo (sau quy tc Su1z1v1) trong D l zixi P (i = 1, 2, ,
n-2) vi zi, xi sao cho xivi=ui+1zi+1vi+1. Khi M sau thi im thc hin quy tc
Su1z1v1 n c hnh trng <q1, u2u3un, %v1Rz1>. Hnh trng ca M khi p dng quy tc
zixi bin i nh sau:
<q1, u2u3un, %v1Rz1> <q1, u3un, %v1Rx1R> =
<q1, u3un, %v2Rz2 u2R> <q1, u3un, %v2Rz2> <q1, un, %vn-1Rzn-1>.
Trong D, s dng quy tc zn-1xn-1P vi xn-1vn-1= un, ta c:
<q1, un, %vn-1Rzn-1> <q1, un, %vn-1Rxn-1R> <q1, , %> <q2, , %>.
T ta c dy suy dn cc hnh trng trong M: <q0, , z0> <q2, , %> m q2F
nn M on nhn c xu theo tp trng thi kt thc.
Th d 3.4 Cho vn phm phi ng cnh
G=<{a, b}, {S, A}, S, {Sa, SbSA, Ab, SbA, AaS}>.

66

Theo chng minh ca nh l 3.1, ta c th xy dng otomat y xung on nhn L(G) nh


sau:
M = <{q0, q1, q2}, {a, b}, {a, b, S, A, %}, , q0, S, {q2}>, trong (q1, , S) = {<q1, a>, <q1,
Asb>, <q1, Ab>}, (q1, , A) = {<q1, b>,<q1, Sa>}, (q1, a, a) = {<q1, >}, (q1, b, b) = {<q1,
>}, (q1, , %) = {<q2, %>},(q0, , S) = {<q1, %S>}.
nh l 3.2 Cho otomat y xung M. Khi tn ti otomat y xung M sao cho N(M) =
T(M).
Chng minh: Gi s M = <Q, , , , q0, z0, F> l otomat y xung no . Ta xy dng
otomat y xung M = <Q, , , , q0, z0, F> sao cho (M) = T(M).
Mun vy ta a thm vo k hiu trng thi mi q1, q2 Q v k hiu ngn xp mi
% v t:
= , Q = Q{q1, q2}, = {%}, q0=q1, z0= %, F = ,
: Q x ({}) x P(Q x *) c nh ngha nh sau:
1/. (q1, , %) = {<q0, %z0>},
2/. (q, x, z) = (q, x, z) vi x, qQ, z ,
3/. (q, , z) = (q, , z) nu qQ \ F, z v (q, , z) = (q, , z)
{<q2,>} nu q F, z ,
4/. (q, , %) = {<q2, >} vi q F,
5/. (q2, , z) = {<q2, >} vi z {%}.
By gi ta ch ra N(M) = T(M).
Gi s w N(M). Khi theo cch lm vic ca M th ta c mt dy cc hnh trng sau:
<q0, w, z0> = <q1, w, %> K1 K2 Kt = <q, , >,
vi t 2, Ki = <qi, wi, zi>, wi*, qiQ, zi* (i = 1, 2, , t).
Theo cch xy dng ca M th
K1 = <q0, w, %z0>, Kt = <q2, , > v wN(M). T i < t sao cho Ki = <qi, , %zi> <q2,
, %zi+1>, y qi F, zi, zi+1 * v Kj = <qj, wj, %zj> <qj+1, wj+1, %zj+1>, y wj
*, qj Q, zj *, (1 j i). Cng nh Kj = <q2, , %zi>, y zj * (1<j<t). T <q0,
w, z0> <qi, , %zi> v do qi F suy ra wT(M).
Tm li ta c bao hm thc N(M) T(M). Bao hm thc ngc li T(M) N(M) c suy
trc tip t cch xy dng M t M.
nh l 3.3 Cho M l mt otomat y xung. Khi tn ti mt vn phm phi ng cnh G
sao cho L(G) = N(M).

67

Chng minh: Gi s M = <Q, , , , q0, z0, F> l mt otomat y xung. Theo nh l 3.2, ta
cn ch ra c vn phm phi ng cnh G = <, , S, P> sao cho L(G) = N(M). Khng mt tnh
cht tng qut, gi s N(M). Ta xy dng vn phm G trn nh sau:
+ = {S}{[q1, z, q2] | q1, q2Q, z},
+ P = P1P2P3, y P1 = {S[q0, z, q] | qQ, z},
P2 = {[t1, z, t2]x[t3, zn, qn-1][qn-1, zn-1, qn-2][q2, z2, q1][q1, z1, t2] | n 1, qiQ, (1 i n), t1,
t2, t3 Q, x {}, <t3, z1z2zn> (t1, x, z)},
P3 = {[t1, z, t2]x | <t2, > (t1, x, z) vi z, t1, t2Q, x{}}.
Ngi ta ch ra c vi G nh ngha nh trn l vn phm phi ng cnh m L(G) =
N(M).
Nu ta gi gi P1, P2, P3 ln lt l lp cc ngn ng phi ng cnh, lp cc ngn ng c
on nhn bi otomat y xung theo tp trng thi kt thc, lp cc ngn ng c on
nhn bi otomat y xung theo ngn xp rng, ta c:

P1 P2 (theo nh l 3.1),

P2 P3 (theo nh l 3.2),

P3 P1 (theo nh l 3.3).

V vy, P1 = P2 = P 3 , tc l lp cc ngn ng phi ng cnh l trng vi lp cc


ngn ng c on nhn bi cc otomat y xung theo tp trng thi kt hay theo ngn xp
rng.

68

Bi tp chng 3
1. Cho vn phm phi ng cnh: G = <{x, +, , (, )}, {S, A, B}, S, {SA | S+A, AAB | B,
Bx | (S)}>, v = (x+xx)(x+xxx). Hy tm mt suy dn t S ca v v cy suy dn
y c kt qu l .
2. Chng t cc vn phm phi ng cnh sau l nhp nhng:
a/. G = <{a, b}, {S, A}, S, {SA, AAbA, Aa}>.
b/. G = <{a, b}, {S, A, B}, S, {SA, ABb, AAb, BBb, Aa, Bb}>.
3. Xy dng cc vn phm phi ng cnh khng c k hiu tha, tng ng vi cc vn
phm sau y:
a/. G1 = <1, 1, I, P1> vi P1 = {IABC, AB, Ba, Bb, Icab}
b/. G2 = <2, 2, I, P2> vi P2 = {IB, BC, Cc, IACI, Iab}
c/. G3 = <3, 3, I, P3> vi P3 = {IAB, Ba, BC, Ib}
4. Xy dng cc vn phm phi ng cnh khng c k hiu tha, khng c -quy tc, tng
ng vi cc vn phm sau y:
a/. G1 = <1, 1, I, P1> vi P1 = {IaIb, IaABb, AB, B, Ac}
b/. G2 = <2, 2, I, P2> vi P2 = {IaIbI, IbIaI, I}
5. Xy dng cc vn phm dng chun Chomsky tng ng vi cc vn phm phi ng
cnh sau y:
a/. G1 = <{a, +, *},{I, A, B}, I, P1> vi P1 = {II+A, IA, AA*B, AB, Ba}
b/. G2 = <{a, b, +, *}, {I, A, B, C}, I, P2> vi P2 = {IA+B, AB*C, AB, Ba, BC,
Cb }
c/. G3 = <{0, 1}, {I, B, C, D}, I, P3> vi P3 = {IB, IC, B0B, B1B, B011, C0D,
C1C, C, D0C, D1D}
6. Hy xy dng cc otomat y xung on nhn cc ngn ng phi ng cnh c sinh bi
cc vn phm sau:
a/. G1 = <{a, b}, {S}, S, {SaSb, Sab}>.
b/. G2 = <{a, b}, {S, A, B}, S, {SAB, AaAa, BbBb, Aa, Bb}>.
7. Hy xy dng cc otomat y xung on nhn cc ngn ng sau:
a) L = {anb2n | n0}.
b) L = {cR | {0,1}*, k hiu R ch xu ngc ca xu }

69

Chng 4
MY TURING

M u
Khi thit k v ci t mt phn mm tin hc cho mt vn no , ta cn phi a
ra phng php gii quyt m thc cht l thut ton gii quyt vn ny. R rng rng,
nu khng tm c mt phng php gii quyt th khng th lp trnh c. Chnh v th,
thut ton l khi nim nn tng ca hu ht cc lnh vc ca tin hc. Ta c th hiu khi
nim thut ton nh sau. Nu cho trc mt bi ton th mt cch gii bi ton c phn
nh ra thnh mt s hu hn bc, c kt thc cui cng v t c kt qu mong mun gi
l thut ton.
V mt lch s, trong nhng nm 30 ca th k trc, khi khoa hc v cng ngh pht
trin, nhn loi nu ra nhiu bi ton m khng tm thy li gii. C ngha l khng tm
c thut ton gii chng. Ngi ta phi tm cch nh ngha chnh xc khi nim
thut ton. Nm 1936, A. Turing a ra mt cng c rt tt m t thut ton m ngy
nay ngi ta gi l my Turing. ghi nh cng lao ny, Hi Tin hc M (ACM) t ra
gii thng Turing trong tin hc. Cho n nay, gii thng Turing l gii thng tin hc ln
nht th gii. Tip theo Turing, mt s nh khoa hc khc a ra cc cng c chnh xc
ho khi nim thut ton. l cc khi nim hm quy, thut ton Marcop, vn phm sinh
ca N. Chomsky. Nhng khi nim ny l c s pht trin ca vic nghin cu v ng dng
thut ton. Mt khc chnh nh cc khi nim ny, ngi ta cng xc nh c nhng bi
ton khng th gii c bng thut ton.
A. Turing xut khi nim my Turing nhm chnh xc ho khi nim thut ton.
Thc t chng t rng my Turing l mt cng c rt tt m t thut ton. Tri qua
nhiu thp nin, l thuyt v my Turing pht trin khng ngng bi s ng gp cng sc
ca nhiu nh khoa hc, trong c nhng cng trnh nn tng ca Hartmanis, Lewis,
Stearns, Minsky, Blum, Hopcroft, Ullman.
Thc cht, my Turing l mt m hnh my. N phn r ton b qu trnh hot ng ra
thnh cc bc thao tc rt n gin. Bn thn my Turing l mt m hnh khi qut v n
gin c th m hnh ho mt qu trnh tnh ton bt k.
My Turing c th xem l mt my vi b nh ngoi c dung lng c xem nh v
hn. Trong b nh ngoi, cc gi tr c b tr sao cho c th truy cp, c v sa i c.
Ta c th xem my Turing nh l mt my on nhn mt ngn ng gi l ngn ng
m c quy. ng thi c s dng m t mt lp hm quan trng, gi l cc hm
c th tnh c. Chng ny cng m t mt my Turing ph dng m n c th bt chc
hot ng ca tt c cc my Turing khc. T ta i n khi nim bi ton khng gii c
bng thut ton.

70

1. My Turing v lp cc hm c th tnh c
1.1 My Turing
nh ngha 1.1 : My Turing n nh l mt b by
M = <Q, , , , s0, B, F>,
trong ,
+ Q l tp hu hn khc rng, gi l tp cc trng thi;
+ l mt bng ch ci, gi l bng ch vo hay bng ch trong;
+ l mt bng ch ci, , gi l bng ch ngoi hay tp cc k hiu c th ghi c ln
bng;
+ : D Q {R, L}, vi D Q x v R, L Q , gi l nh x chuyn;
+ s0 Q, gi l trng thi khi u;
+ B \ , gi l k hiu trng;
+ F Q, gi l tp cc trng thi kt thc.
Trong trng hp min gi tr ca l P(Q {R, L}) th my Turing c gi l
khng n nh v lp cc ngn ng c on nhn bi my Turing n nh v khng n
nh s trng nhau. Ngoi ra, c nhiu dng my Turing; chng hn, my Turing vi bng v
hn mt u hoc bng v hn hai u. y, ta ch xt lp cc my Turing n nh vi
bng v hn hai u.
nh ngha 1.2 Cho my Turing M = <Q, , , , s0, B, F>. B ba <, s, a>,
trong
*
, , s Q, a, khng c bt u v khng c kt thc bi B, c gi l
mt hnh trng ca M. a c gi l t ng vi hnh trng cho.
B ba <, s0, a>, trong a, *, c gi l hnh trng u (c t ng vi n
l a).
nh ngha 1.3 Cho my Turing M = <Q, , , , s0, B, F>. Ta ni hnh trng = <, s, a>
chuyn n hnh trng ca M, k hiu M hay n gin l , nu tho mn mt
trong cc iu sau:
1/. (s, a) = < q, b, R>:
a/. = c1 , c, 1*:

<b, q, c1>, nu b {B}*,

c
q

71

<, q, c1>, nu b {B}*,

s
b/. = :
= <, s, a> < b, q, B >, nu b{B}*,

= <, s, a> < , q, B >, nu b{B}*,

2/. (s, a) = < q, b, L >:


a/. = 1d , d , 1 *:

< 1, q, db >, nu db {B}*,

< 1, q, B >, nu db {B}*,

72

b/. = :

= <, s, a> < , q, Bb >, nu Bb {B}*,

= < , s, a > < , q, B>, nu Bb {B}*,

Dy hnh trng i (1 i n) ca my Turing M sao cho i i+1 (1 i n-1) c gi


l qu trnh tnh ton trong M, k hiu 1 M n hay n gin l 1 n.
Cc hnh trng khng th chuyn n hnh trng mi c gi l hnh trng cui. Qu
trnh tnh ton c bt u bi hnh trng u v kt thc bi hnh trng cui c gi l mt
qu trnh tnh ton hon chnh.
1.2 Ngn ng c on nhn bi my Turing
nh ngha 1.4 Cho my Turing M = <Q, , , , s0, B, F> v *. Ta ni M on nhn
nu tn ti qu trnh tnh ton hon chnh < , s0, > < , q, a > vi q F. Tp hp cc
t c on nhn bi my Turing M c gi l ngn ng c on nhn bi M, k hiu
T(M).
Ngn ng c on nhn bi my Turing cn c gi l ngn ng quy m
c (Recursively Enumerable). Ngn ng c on nhn bi my Turing m n s dng
sau mt s hu hn bc i vi mi t vo c gi l ngn ng quy. T nh ngha suy
ra rng mi ngn ng quy u l ngn ng m c quy.
Ch : S hot ng ca my Turing c th hin nh x chuyn. nh x ny c th c
m t bng bng hoc th chuyn.
Bng gm cc ct c nh du bng cc k hiu ca v cc dng c nh du
bng cc trng thi. Nu (s, a) = <q, b, c>, vi a, b, s, qQ, C{R, L} th b ba <b, C, q>
c ghi vo ng vi dng s ct a.

73

th chuyn l mt a th c hng, c khuyn G vi tp nh ca G l Q. Vi a,


b, s, qQ, C{R, L}, nu (s, a) = <q, b, c> th c mt cung t s n q vi nhn l
<a/b, C>.
Th d 1.1 Cho my Turing:
M = <{s0, s1, s2, s3, s4, s5, s6}, {0, 1}, {B, 0, 1, X}, , s0, B, {s0}>,
trong
(s0, 0) = <s1, X, R>, (s0, 1) = <s2, X, R>, (s1, 0) = <s1, 0, R>,
(s1, 1) = <s1, 1, R>, (s1, B) = <s3, B, L>, (s2, 0) = <s2, 0, R>,
(s2, 1) = <s2, 1, R>, (s2, B) = <s4, B, L>, (s3, 0) = <s5, B, L>,
(s4, 1) = <s6, B, L>, (s5, 0) = <s5, 0, L>, (s5, 1) = <s5, 1, L>,
(s5, X) = <s0, X, R>, (s6, 0) = <s6, 0, L>, (s6, 1) = <s6, 1, L>,
(s6, X) = <s0, X, R>.
nh x chuyn c th cho bng bng sau:

th chuyn ca M l:

Ta hy xem my Turing M hot ng nh th no i vi cc t 001 v 1001.

74

i vi t 001, ta c dy hnh trng:


<, s0, 001> <X, s1, 01> <X0, s1, 1> <X01, s1, B> <X0, s3, 1>.
R rng <X0, s3, 1> hnh trng cui, nhng s3 khng phi l trng thi kt thc, do
M khng on nhn t 001.
i vi t 1001, ta c dy hnh trng:
<, s0, 1001> <X, s2, 001> <X0, s2, 01> <X00, s2, 1> <X001, s2, B>
<X00, s4, 1> <X0, s6, 0> <X, s6, 00> <B, s6, X00> <X, s0,00>
<XX, s1, 0> <XX0, s1, B> <XX, s3, 0> <X, s5, X> <XX, s0, B>.
Do <XX, s0, B> l hnh trng cui v s0 l trng thi kt thc nn t 1001 c on
nhn bi my Turing M.
T th chuyn d dng thy rng M hot ng vi xu vo nh sau: M c xu
t tri sang phi. Bt u t trng thi s0, thay k hiu c bi k hiu X, ng thi nu k
hiu va c l 0 th chuyn sang trng thi s1 v nu ngc li th chuyn sang trng thi s2.
Ti cc trng thi s1 hoc s2, my M chuyn u c qua phi m khng thay i k hiu
c c cho n khi gp k hiu B. T s1 my chuyn sang s3 v t s2 my chuyn sang s4.
T s3 nu gp 0 th xo 0 v sang s5, t s4 nu gp 1 th xo 1 v sang s6. y, ta cn lu
rng xo 0 trong trng hp xut pht t s0, my thay 0 bi X v xo 1 trong trng hp xut
pht t s0, my thay 1 bi X. Ti cc trng thi s5 v s6, my dch chuyn qua tri m khng
lm thay i cc k hiu trn bng cho n khi gp k hiu X, my quay tr li s0 v tip tc
qu trnh trn cho n khi my dng cc trng hp sau:

My trng thi s3 gp 1 hoc trng thi s4 gp 0. Trong trng hp ny r rng ban


u khng c dng R v my khng on nhn t ny.

My trng thi s0 v gp k hiu B. iu ny c ngha l cc k hiu 0, 1 trn bng


c thay bng X hoc B. iu ny ch xy ra khi xu vo c dng R. Vy
T(M)={R | {0, 1}*}.

nh ngha 1.5 Cho my Turing M = <Q, , , , s0, B, F>. Hm c xc nh bi my


Turing M l hm:

l mt qu trnh tnh ton hon chnh


khi < , s0 , a ' > < ' , q, b ' ' >

f M ( ) = y a ' = , ' b ' ' = ;


Khng xc nh khi khng tn ti qu trnh nh vy.

Th d 1.2 Cho hm f() = B ({0, 1}*). Ta xy dng my Turing M xc nh hm f


nh sau:
M = <{s0, s1, s2, s3, s4, s5, s6, s7, s8}, {0, 1}, {0, 1, X, Y, B}, , s0, B, >,
trong nh x chuyn c ch ra trong th chuyn di y:

75

M hot ng nh sau: k hiu u tin ca c thay bi X hoc l Y tu thuc vo


k hiu l 0 hay 1, sau u c/ghi chuyn sang phi tm k hiu B, thay k hiu B
tip theo bng 0 hoc 1 tu thuc trc ghi x hay Y. Sau chy ngc li tm k
hiu X hay Y v thay n bi 0 hoc 1 tng ng v li chuyn sang phi. Nu k hiu ny l
B th tnh ton kt thc, ngc li th lp li qu trnh trn. D dng thy rng, sau mi vng
thc hin mt k hiu ca c ghi sang bn phi v khi qu trnh tnh ton kt thc trn
bng l B hay fM = B.
nh ngha 1.6 Cho hm f: D N, vi N l tp s t nhin, D Nm v m l mt s nguyn
dng. y, vi mi s t nhin n, k hiu n =1n+1. Ta ni hm f c th tnh c bng
my Turing nu tn ti my Turing M xc nh hm sau:

B f ( x1 , x 2 ,..., xm ) nu f(x1, x2, , xm) tn ti v

<, s0, B n1 B n 2 n m 1 B n m > <, q, B f ( x1 , x 2 ,..., x m )

h(B n1 B n 2 n m1 B n m )=
l qu trnh tnh ton hon chnh;

Khng xc nh nu f(x1, x2, , xm) khng tn ti.


Th d 1.3 Cho hm f(n1, n2) = n1+n2. Ta xy dng my Turing M vi th chuyn nh sau:

s0

s1
<B/B,R>

s2
<B/1,R>

<1/1,R>

s3
<B/B,L>

<1/1,R>

<1/B,L>

s4

s5
<1/1,L>
<1/1,L>

i vi my Turing M, vi hnh trng u l <, s0, B n1 B n 2 > ch c cc qu trnh tnh ton


hon chnh vi hnh trng kt thc <, s5, B n1 + n 2 >. Do f l hm c th tnh c bng
my Turing.

76

n2 n1

nu n2 n1;
Khng xc nh nu ngc li.

Th d 1.4 Cho hm f(n1, n2)=

My Turing M c th chuyn di y vi hnh trng u <, s0, B n1 B n 2 > v trong


trng hp xc nh, hnh trng cui l <, s7, B n 2 n1 > s xc nh hm f.

0 khi n2 n1 ;
Khi hm f c th tnh c bng my
1 khi n2 < n1 .

Th d 1.5 Cho hm f(n1, n2)=

Turing M c th chuyn di y. Hnh trng u l <, s0, B n1 B n 2 >, hnh trng cui l
s l <, s12, B1> trong trng hp n2 n1 v <, s12, B11> trong trng hp n1 > n2.

77

Th d 1.6 Chng ta a ra mt ngn ng chng trnh thch hp cho vic m t hot ng


ca my Turing. Ngn ng ny da trn cc ch th c s sau:
k: print A,
k: move right,
k: move left,
k: if A then go to h,
k: stop,
y, k v h l cc s t nhin k hiu dng ch th, cn A l mt k hiu trn bng.
Chng trnh l mt dy ch th. Vic thc hin chng trnh thng thng l theo th
t t nhin ca cch vit tr khi gp lnh if A then go to h (nu k hiu hin hnh trn bng l
A th nhy n thc hin lnh c nhn h). Sau y l chng trnh m t hot ng ca mt
my Turing thc hin php ton nhn hai:
1: print B,
2: move left,
3: if 1 then go to 2,
4: print 1,
5: move left,
6: if 1 then go to 5,
7: print 1,
8: move right,
9: if 1 then go to 1,
10: stop,
Cc my Turing v cc hm c th tnh c bng my Turing ng vai tr quan trng
trong l thuyt thut ton. C s cho vic xy dng mt s l thuyt thut ton t my Turing
l nh Church sau y.
nh Church: Lp cc hm c th tnh c bng thut ton trng vi lp cc hm c th
tnh c bng my Turring.

2. My Turing ph dng
M u
My Turing ph dng l mt my Turing c th bt chc s hot ng ca bt k
my Turring no. My Turing ph dng U c th c hiu nh sau: vi mt cch m ho
thch hp nh x chuyn trng thi ca my Turing bt k v t trn bng ch vo. Vi t
m ho ny, my Turing ph dng U dng khi v ch khi my Turing M dng vi t . Ta

78

c th xem my Turing ph dng nh l m hnh ton hc ca my tnh in t ngy nay. Cc


my ny thc hin cng vic bng cch m ho chng trnh theo ngn ng bn trong c
gi l ngn ng my.
Tp cc k hiu ghi ln bng l hu hn nn ta c th k hiu chng nh sau: S0=B,
S1, S2, , Sm v c th m ho bng b cc ch s 1. Chng hn, B1, S111, S2111, ,
Sm1m+1.
Tng t, tp cc trng thi l hu hn v ta cng c th m ho chng: q01, q111,
q2111, , qn1n+1.
Cui cng hai k hiu L v R cng c th m ho: L1, R11.
By gi m ho nh x chuyn trng thi ca my Turing, ta s dng bng biu
din nh x ny. Trong bng, cc ct c k hiu bi cc k hiu c th ghi ln bng, cc
dng c k hiu bi cc trng thi. Tip theo lit k cc phn t ca bng theo dng cng
vi cc ch s dng v ct tng ng ca chng, th t l cc phn t ca dng 1, dng 2,
t tri sang phi. Chng hn, trn mt dng xut hin b <qi, Sj, Sk, C, qh> c ngha l (qi,
Sj) = <qh, Sk, C>. Gia cc dy m ca cc b nm <qi, Sj, Sk, C, qh> c chn hai ch s 0 v
gia m cc k hiu trong cng mt b nm c chn bi mt ch s 0. My Turing M c
m ho nh vy k hiu l [M].
Ta chp nhn m khng chng minh y l vi my Turing M bt k tn ti mt
my Turing tng ng ch c mt trng thi kt thc, v vy ta c th xem q0 l trng thi
u v q1 l trng thi kt thc duy nht ca my Turing M.
Th d 2.1 Cho my Turing M vi nh x chuyn c cho bi bng sau:

q0

S1

<S1, R, q1>

<S1, R, q0>

q1

<S1, L, q2>

q2

<S1, L, q2>

Cc phn t ca bng c sp xp thnh dy di y:


<q0, B, S1, R, q1>, <q0, S1, S1, R, q0>, <q1, S1, S1, L, q2>, <q2, S1, S1, L, q2>.
Dy ny s c m ho di dng xu nh phn:
[M] = 10101101101100101101101101001101101101011100111011011010111.
Nu trn bng vo c =S1S1BS1 th m tng ng ca n l:
[] = 1101101011.
2.1. Hot ng ca my Turing ph dng
By gi gi s my Turing M c n trng thi v bng ch ghi ln bng c m k hiu,

79

thm vo cc k hiu, cc trng thi v nh x chuyn ca M c m ho nh ni


trn. M hnh ho hot ng ca my Turing M bng mt my Turing ph dng U c th m
t khi qut nh sau: Trc ht [M] v [] cn phi c ghi ln bng ca my Turing ph
dng U theo quy cch sau y. K hiu X c ghi ln bng chia bng thnh hai na v hn.
Na bng bn phi c dnh ra ba on k nhau k t v tr k hiu ngay sau X: on u
tin c gi l Buffer gm n+m+2 v tr k hiu v tt c c nhn k hiu 0; on tip
theo c gi l vng m ho ca M, bt u bi k hiu Y, tip sau Y l [M] v c kt
thc bi ba ch s 0; on sau cng c gi l on m ca , bt u bi k hiu Z v tip
theo l []. Hnh nh ca bng lc u l nh sau:

Buffer

M ho M

M ho

Buffer phc v cho vic ghi nhn hnh trng ca M trong tng bc. Ta c th sao
chp vo vng ny trng thi bn trong v m ho ca k hiu ang c. K hiu Y thng
ng trc b nm xc nh trng thi hin hnh ca M, k hiu hin hnh trn bng, hng
chuyn ng ca u c trn bng. Z nh du k hiu ang c trn bng ca M.
Qu trnh tnh ton trong U m phng hot ng ca my Turing M vi xu vo
c chia ra cc pha thch hp vi vic dch chuyn cc hnh trng ca M.
Mt giai on (pha) hot ng ca my Turing ph dng U c th tm tt nh sau.
u tin sao chp vo Buffer mt khi cc k hiu 1 nm ngay sau Y (gi l khi Y), sau
ghi vo cui khi va c chp mt k hiu X, tip theo xo k hiu Y, chy sang phi tm
k hiu Z v sao chp khi k hiu 1 ngay sau Z (gi l khi Z) vo Buffer ngay sau k hiu
X ri ghi li k hiu Y trc [M]. Nh vy sau giai on ny trong Bufffer cha m ca trng
thi v k hiu hin hnh ca my Turing M. Bc tip theo, my Turing ph dng U so snh
hai khi k hiu 1 lin tip nhau sau Y vi ni dung Buffer. Nu trng nhau th tm c b
nm cn tm. Nu ngc li th tm n m ho ca b nm tip theo sau Y v li tip tc so
snh. Trong trng hp gia cc b nm m t M khng tm thy b no thch hp th U
dng. Ngc li, nu tm c b nm cn tm th xo ni dung buffer ri chuyn Y n trc
phn t th ba trong b nm . i ni dung ca khi sau Z bi ni dung ca khi sau Y v
chuyn Y n trc phn t th t ca b nm. Sau khi c xong phn t th t m n xc
nh hng chuyn ng ca u c/ghi ca M v U chuyn k hiu Y n sau phn t trc
phn t th nm. Tu thuc vo ni dung ca khi th t (mt k hiu 1 hay hai k hiu 1) U
chuyn Z qua phi hay qua tri mt khi. Nu Z lc u nm tn cng tri ca bng ghi v
M cn dch chuyn sang phi th U y m ca t sang phi v ghi m ho ca k hiu trng
vo sau Z. Nu Z nm tn cng phi ca bng v cn chuyn sang phi, khi U ghi m ca
k hiu trng vo cui t. Khi hon thnh cc cng vic trn khi k hiu 1 ng sau Y, k
hiu trng thi hin hnh ca M, cn khi sau Z xc nh k hiu M cn c tip theo. Nh
vy, giai on tip theo ca vic m phng bc tip theo ca M c th bt u.
Cc giai on hot ng ca my Turing ph dng U m hnh ho hot ng tng
bc ca my Turing M nh d ch trn. Ngoi ra, U cn thc hin cng vic sau y. u
tin U thay tt c cc k hiu 0 trn ba on ca bng vo bng cc khong trng, cui cng

80

vic, khi M dng my U cn kim tra liu trng thi cui ca M c phi l trng thi kt thc
hay khng.
Cc pha ca mt my Turing ph dng U c chia thnh chn phn, vi th
chuyn trng thi ph hp cho vic m t my, c cho trong hnh di y:

Phn 1: Thay cc k hiu 0 bi k hiu B v u c/ghi chuyn n trc Y.


Phn 2: Sao chp m ca trng thi hin hnh vo buffer.
Phn 3: Sao chp m ca k hiu cn c trn bng ca M vo buffer.
Phn 4: t X v Y vo trc buffer v trc k hiu ca [M].
Phn 5: Tm b nm c m ca trng thi v k hiu trn bng trng vi buffer.

81

Phn 6: Xo buffer.
Phn 7: Thay m k hiu c bng m k hiu mi ca M.
Phn 8: y Z sang phi hay sang tri mt khi m m k hiu ca khi s c c
trong pha tip theo. Nu cn th ghi m mt khong trng vo phi hoc tri t trn bng ca
M.
Phn 9: My Turing ph dng U dng trng thi kt thc khi v ch khi M dng trng
thi kt thc. ng thi trong vng m ho ca t trn bng s cha m ca t ng ra cn li
trn bng ca M, cn m ca trng thi cui ca M c th thy trn buffer.

3. Vn khng gii c bng thut ton


3.1 M u:
Trong ton hc thng gp vn cn xc nh liu mt phn t ca mt lp v hn
no c mt s tnh cht cho hay khng. Chng hn, ta c th hi liu hai s t nhin cho
trc c nguyn t cng nhau hay khng, hoc l mt my Turing c dng sau mt s hu
hn bc hay khng, Cc vn trn c gi l vn thut ton v c th quy v vn
l liu mt t trn bng ch no c thuc vo mt ngn ng hnh thc cho hay khng.
Mt bi ton c gi l khng gii c bng thut ton nu khng tn ti mt my
Turing no sau mt s hu hn bc xc nh c liu mt s m ho c th no ca bi
ton c thuc ngn ng hnh thc cho hay khng. Trong trng hp ngc li th bi ton
c gi l gii c bng thut ton. Nh vy, mt vn gii c bng thut ton nu v
ch nu ngn ng hnh thc m t n l quy.
Sau y ta s nghin cu mt vi tnh cht ca ngn ng quy v quy m c.
Vic chng minh cc tnh cht ny kh phc tp nn ta khng i su vo chi tit.
3.2. nh l 3.1 Phn b ca mt ngn ng quy l ngn ng quy.
Chng minh: Gi s L l mt ngn ng quy trn bng ch . iu ny c ngha l tn ti
mt my Turing M m vi t * tu n dng sau mt s hu hn bc v T(M) = L.
Thay tp trng thi kt thc ca M bng phn b ca n, ta c mt my Turing mi M.
Di tc ng cng mt t, M dng vi trng thi kt thc khi v ch khi di tc ng ca
t M dng vi trng thi khng kt thc. iu ny dn n T(M) = L . Do M dng sau
mt s hu hn bc vi mi t vo nn T(M) = L cng l ngn ng quy.
3.3. nh l 3.2 Nu L l ngn ng quy m c trn bng ch v phn b L ca n
cng l quy m c th L l quy.

82

Chng minh: Gi s M1, M2 l cc my Turing sao cho T(M1) = L v T(M2) = L . Ta cn xy


dng my Turing M m n m hnh ho ng thi s hot ng ca M1, M2. iu ta cn c
l di tc ng ca t , my Turing M ngng hot ng khi v ch khi M1 hoc M2 on
nhn t . Ta mun M1 dng vi trng thi kt thc, cn M2 dng vi trng thi khng kt
thc. Vic xy dng ny l c th thc hin c v vi mi t my Turing M sau mt s
hu hn bc s dng. Nu * th L hoc L . Nu L th M2 s on nhn sau
mt s hu hn bc. T nu M1 khng dng sau mt s hu hn bc th M phi hon
thnh cng vic ca mnh trong thi gian hu hn. Nh vy T(M1) = L l quy.
3.4. nh l 3.3 Tn ti mt ngn ng quy m c nhng khng quy.
Chng minh: Xt ngn ng T(U) c on nhn bi my Turing U. Khi T(U) l quy
m c.
Gi s T(U) l quy. iu ny c ngha l tn ti mt my Turing M (khng i hi
l trng vi U) sao cho T(M) = T(U) v s dng sau mt s hu hn bc di tc ng ca
mi t trn bng ch vo. Ta xy dng my Turing M nh sau:
Gi s l mt t trn bng ch vo ca M. Trc ht M cho m [] ca , ng
thi trn c s sp xp cc t trn bng ch vo tm ch s i ca (s th t ca trong dy
l i). Tip theo ng vi cc ch s i, my Turing M thit lp s m t m ca my Turing th
i trong dy cc my Turing M1, M2, Cui cng M thit lp s m t chun ca t i v Mi,
<Mii>. M bt chc s hot ng ca my Turing M vi t <Mii> m theo gi thit n tn
ti, on nhn ngn ng T(U) v dng sau mt s hu hn bc i vi mi t trn bng ch
vo. Nu M kt thc s hot ng vi trng thi khng kt thc th khi M chuyn sang
mt trng thi kt thc ring v dng. Nu M dng trng thi kt thc th M bt u bt
chc s hot ng ca my Turing m n khng dng vi mi t ca bng ch vo.
R rng rng my Turing M on nhn t = i khi v ch khi khng on nhn
<Mii>. Ta bit rng T(M) = T(U) ={<Mi> | T(Mi)}. ng thi mi my Turing u c
mt trong dy M1, M2, v do M cng nm trong dy ny, c ngha l tn ti mt s t
nhin h sao cho M= Mh.
By gi ta xem my Turing M1 hot ng nh th no vi t 1. Ta nhn c
1T(M) khi v ch khi 1T(M1). iu ny mu thun vi gi thit. Vy T(U) khng
quy.
H qu 3.1 Tn ti mt ngn ng hnh thc nhng khng quy m c.
Chng minh: Nh trong chng minh ca nh l 4.3.4, T(U) l quy m c nhng
khng quy. Do theo nh l 4.3.3, phn b ca T(U) l khng quy m c.

83

3.5. nh l 3.4 Mt ngn ng hnh thc l loi 0 khi v ch khi n l quy m c. iu


ny c ngha l lp ngn ng hnh thc loi 0 chnh l lp ngn ng quy m c.
Ch : Nh vo nh l 4.3.4, ta thy rng c nhng ngn ng quy m c nhng
khng quy. Vi vic m ho thch hp, ta ch ra rng nhiu vn khng gii quyt c
bng thut ton. Ta s kho st mt s vn lin quan n lp cc ngn ng quy m
c. Chng hn nh mt ngn ng quy m c c rng hay khng, c hu hn hay
khng, c chnh quy hay khng, c l phi ng cnh hay khng v c l cm ng cnh hay
khng, Tt c cc ngn ng c tnh cht ny hnh thnh ln mt lp con ca lp cc ngn
ng quy m c. Khi ta kho st mt ngn ng c hay khng mt tnh cht cho th
thc t ta cn gii quyt vn ngn ng ny c thuc hay khng lp con cho ca lp cc
ngn ng quy m c.
Ta ni rng mt tnh cht ca cc ngn ng quy m c l tm thng nu hoc
mi ngn ng quy m c u c tnh cht ny hoc ngc li mi ngn ng quy
m c khng c tnh cht ny. iu ny c ngha l lp con cc ngn ng xc nh bi
tnh cht ny hoc bng rng hoc bng chnh lp cc ngn ng quy m c. Nh vy
cc tnh cht: mt ngn ng cho c rng hay khng, c hu hn hay khng, c chnh quy
hay khng, l khng tm thng. C nhng ngn ng quy m c c nhng tnh cht
trn v c nhng ngn ng quy m c khng c tnh cht trn.
T nh l 4.3.3, ta bit rng mun xc nh bng thut ton vic thc hin mt tnh
cht no th vn ny c gii quyt bng thut ton khi v ch khi vic ph nh ca
tnh cht ny cng c gii quyt bng thut ton.
3.6. nh l 3.5 Cho trc mt tnh cht khng tm thng ca lp cc ngn ng quy m
c. Khi vn xc nh rng mt ngn ng c tnh cht ny hay khng l khng gii
quyt c bng thut ton.
H qu 3.2 Vic xc nh rng mt ngn ng quy m c c l:
a) Rng,
b) Hu hn,
c) Chnh quy,
d) Phi ng cnh,
e) Cm ng cnh,
f) quy
hay khng l vn khng gii c bng thut ton.

84

You might also like