Professional Documents
Culture Documents
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
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
khi n = 0 ,
= khi n = 1,
n 1
khi n > 1 .
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
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 .
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
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
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:
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:
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 * = .
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:
L = L = , {}L = L{} = L,
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.
{ } 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
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+,
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}
= {b}
/ X = {a}
11
12
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.
2.
3.
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}.
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:
15
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
17
18
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
21
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
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
26
Chng 2
OTOMAT HU HN V 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
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)
29
30
Ta c bng chuyn trng thi v th chuyn trng thi ca otomat A2 c cho trong hnh
3.6 v 3.7:
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:
33
(1)
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
35
p ( q , a )
Ta c (q, a) = (q , a) =
p ( q , a )
p ( q , a )
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
37
{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:
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:
39
40
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+ (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),
* = ,
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
43
44
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:
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:
theo b 1.1:
Tng t, ta c:
(q0, u) = (q0, uv2) = ((q0, u), v2) = ((q0, uv), v2) = (q0, uv3),
tip tc ta c:
Cui cng ta c:
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
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
49
s1
s2
{ s2, s4}
s3
{ s3, s4}
s3
s4
s3
s4
s1
s2
s3
s2
s3
{s1, s2}
s3
s1
s3
s1
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
{}.
52
53
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
55
56
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:
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}.
58
59
60
61
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
64
65
66
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).
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*:
c
q
71
s
b/. = :
= <, s, a> < b, q, B >, nu b{B}*,
72
b/. = :
73
th chuyn ca M l:
74
75
h(B n1 B n 2 n m1 B n m )=
l qu trnh tnh ton hon chnh;
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>
76
n2 n1
nu n2 n1;
Khng xc nh nu ngc li.
0 khi n2 n1 ;
Khi hm f c th tnh c bng my
1 khi n2 < n1 .
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
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
q0
S1
<S1, R, q1>
<S1, R, q0>
q1
<S1, L, q2>
q2
<S1, L, q2>
79
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:
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.
82
83
84