Professional Documents
Culture Documents
6899 Ly Thuyet Ngon Ngu Hinh T
6899 Ly Thuyet Ngon Ngu Hinh T
i hc hu
trng i hc khoa hc
nguyn gia nh
L THUYT
NGN NG HNH THC
V TMAT
1
q1
q0
1
q2
q3
1
hu 2004
LI NI U
My chc nm gn y, chng ta chng kin s pht trin mnh lit
trong cc lnh vc nghin cu ton hc lin quan n my tnh v tin hc. S pht
trin phi thng ca cc my tnh v nhng thay i su sc trong phng php
lun khoa hc m ra nhng chn tri mi cho ton hc vi mt tc khng
th snh c trong sut lch s lu di ca ton hc. Nhng pht trin a dng
ca ton hc trc tip to ra thu ban u ca my tnh v tin hc v cc tin
b trong tin hc dn n s pht trin rt mnh m mt s ngnh ton hc.
V vy, ton hc ng vai tr trung tm trong cc c s ca tin hc. C th
k ra mt s lnh vc nghin cu ng ch trong mi quan h ny. Tht l th v
khi nhn thy rng cc lnh vc ny cng phn nh s pht trin lch s ca tin
hc.
1. L thuyt kinh in v tnh ton bt u bng cng trnh ca Gdel, Tarski,
Church, Post, Turing v Kleene chim v tr trung tm.
2. Trong l thuyt tmat v ngn ng hnh thc kinh in, cc khi nim c bn
l tmat, vn phm v ngn ng, vi cc cng trnh sng gi ca Axel Thue,
Chomsky, Post.
Ngoi hai lnh vc trn, nhiu lnh vc quan trng khc thuc v cc c s
ton hc ca tin hc; chng hn, l thuyt phc tp, ng ngha v l thuyt v
tnh ng n ca cc ngn ng lp trnh, l thuyt mt m, l thuyt cc cu trc
d liu v l thuyt cc c s d liu.
L thuyt ngn ng hnh thc v tmat ng mt vai tr rt quan trng
trong cc c s ton hc ca tin hc. Ngn ng hnh thc c s dng trong vic
xy dng cc ngn ng lp trnh, l thuyt v cc chng trnh dch. Cc ngn
ng hnh thc to thnh mt cng c m t i vi cc m hnh tnh ton c cho
dng thng tin vo-ra ln kiu thao tc. L thuyt ngn ng hnh thc, chnh v
thc cht ca n l mt lnh vc khoa hc lin ngnh; nhu cu m t hnh thc
vn phm c pht sinh trong nhiu ngnh khoa hc khc nhau t ngn ng hc
n sinh vt hc. Do nhng kha cnh thch hp ca l thuyt ngn ng hnh
thc s c tm quan trng quyt nh trong cc gio trnh v L thuyt ngn ng
hnh thc v tmat.
Ngoi ra, mt trong cc vn c bn ca l thuyt tnh ton l cc bi
ton no c cc thut ton gii. S pht trin c tnh cht nn tng ca lgic
ton trong nhng nm 30 ca th k 20 ch ra vic tn ti cc bi ton khng
gii c, l cc bi ton m khng th c mt thut ton no gii c chng.
1
Cn phi c mt m hnh tnh ton thit lp tnh khng gii c. M hnh tnh
ton l my Turing, n c a ra t trc khi cc my tnh in t ra i
kh lu. Cc my Turing lp thnh m hnh tnh ton tng qut c dng rng
ri nht.
Gio trnh ny nhm trnh by v vn phm hnh thc v cc tmat cng
nh my Turing, l nhng cng c sinh ngn ng, ng thi cp n cc tnh
cht ca ngn ng chnh quy, ngn ng phi ng cnh, ngn ng quy v ngn
ng quy m c. Ngoi ra, gio trnh cng gii thiu s lc v trnh bin
dch, mt phn quan trng ca hc phn Chng trnh dch, hc phn gn b cht
ch vi L thuyt ngn ng hnh thc v tmat. Mt phn rt quan trng trong l
thuyt thut ton l lp cc ngn ng (hay bi ton) P v NP cng nh lp cc
ngn ng NP-y c gii thiu trong phn ph lc.
Ni dung ca ti liu ny c b tr trong 5 chng, khng k li ni u,
mc lc, ti liu tham kho v phn ph lc:
Chng I: Trnh by v cc khi nim c bn ca ngn ng, cu trc ca vn
phm sinh ra ngn ng v s phn cp Chomsky ca ngn ng.
Chng II: Trnh by v ngn ng chnh quy, trong c cc cng c sinh ra
ngn ng chnh quy l vn phm chnh quy, tmat hu hn (n nh v khng
n nh) v biu thc chnh quy.
Chng III: i su v ngn ng phi ng cnh v tmat y xung l cng c
on nhn ngn ng phi ng cnh.
Chng IV: Gii thiu v my Turing v vn khng gii c ca thut ton.
Chng V: Trnh by s lc v cc qu trnh ca s bin dch ca cc ngn ng,
c bit l ngn ng lp trnh.
y l mt ti liu tham kho, hc tp cho sinh vin, hc vin cao hc v
nghin cu sinh cc chuyn ngnh Ton-Tin, Cng ngh thng tin, Tin hc v
nhng ai quan tm v vn phm, ngn ng hnh thc v tmat.
Chng ti xin chn thnh cm n cc ng nghip ng vin v gp
cho cng vic vit gio trnh L thuyt ngn ng hnh thc v tmat ny v li
cm n c bit xin dnh cho Thy L Mnh Thnh v ng nghip Nguyn
Hong Sn v s cung cp mt s ti liu quan trng v ng vin kp thi to
nim hng phn tc gi ging dy v vit gio trnh cho hc phn L thuyt
ngn ng hnh thc v tmat.
Tc gi mong nhn c s ch gio ca cc ng nghip v c gi v
nhng thiu st kh trnh khi ca cun sch.
Trng ng nm Gip Thn (2004)
Nguyn Gia nh
2
MC LC
Li ni u ............................................................................................................ 1
Mc lc .................................................................................................................. 2
Chng I: Nhp mn v vn phm v ngn ng hnh thc ........................ 4
1.1. Khi nim ngn ng........................................................................................ 4
1.2. Vn phm v ngn ng sinh bi vn phm..................................................... 8
1.3. Mt s tnh cht ca ngn ng ....................................................................... 15
Bi tp Chng I ................................................................................................... 19
Chng II: tmat hu hn v ngn ng chnh quy ..................................... 20
2.1. tmat hu hn .............................................................................................. 20
2.2. Quan h gia tmat hu hn v ngn ng chnh quy .................................. 28
2.3. Biu thc chnh quy ....................................................................................... 32
2.4. Cc tiu ho tmat hu hn ......................................................................... 34
Bi tp Chng II.................................................................................................. 41
Chng III: tmat y xung v ngn ng phi ng cnh ........................... 43
3.1. Vn phm phi ng cnh v cy suy dn ca n ............................................. 43
3.2. tmat y xung .......................................................................................... 51
Bi tp Chng III ................................................................................................ 59
Chng IV: My Turing .................................................................................... 60
4.1. My Turing v lp cc hm c th tnh c ................................................ 61
4.2. My Turing ph dng..................................................................................... 68
4.3. Vn khng gii c bng thut ton........................................................ 72
Bi tp Chng IV ................................................................................................ 75
Chng V: Gii thiu v trnh bin dch .......................................................... 76
5.1. Ngn ng lp trnh ......................................................................................... 76
5.2. Trnh bin dch ............................................................................................... 80
5.3. Cc mi lin quan vi trnh bin dch ............................................................ 87
5.4. Nhm cc giai on ca trnh bin dch......................................................... 91
Ph lc: Cc lp P v NP v lp cc bi ton NP-y ............................... 93
Ti liu tham kho..............................................................................................105
CHNG I:
NHP MN V VN PHM
V NGN NG HNH THC
1.1. KHI NIM NGN NG.
1.1.1. M u:
T ngn xa con ngi mun giao tip vi nhau phi dng ngn ng. 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. Con ngi
mun giao tip vi my tnh tt nhin cng thng qua ngn ng. 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 ta gi l lp trnh. Ngn ng dng lp
trnh c gi l ngn ng lp trnh.
C ngn ng lp trnh 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 . Khi
nim ngn ng c a vo trong mc ny rt tng qut. Chc chn bao hm c
ngn ng lp trnh ln t nhin, v c mi ngn ng v ngha m ta c th ngh
n. 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 c s ca 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 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 sau ny s nu chnh xc hn. Chng hn, cc my
Turing c th c ng nht vi cc vn phm cu trc cu v cc tmat hu
hn c th ng nht vi cc vn phm chnh quy.
1.1.2. nh ngha: Mt bng ch ci l mt tp hu hn khc rng. Cc phn t
ca mt bng ch ci c gi l cc ch ci hay cc k hiu.
Th d 1: Di y l cc bng ch ci:
= {a, b, c, , z},
U = {, , , , , , , , , , , , , , , , ,, },
V = {0, 1}, W = {if, then, else, a, b, c, d, e, f, +, , , /, =, }.
4
n = khi n = 1,
n1
khi n > 1.
Th d 2: , 0, 01, 101, 1010, 110011 l cc t trn bng ch ci V = {0,1}.
beautiful l mt t trn bng ch ci = {a, b, c, , z}.
Trn bng ch ci W = {if, then, else, a, b, c, d, e, f, +, , , /, =, }, nu
l t if a+b=c then cd=e v l t else c/d=f th l t:
if a + b = c then c d = e else c / d = f.
1.1.4. nh ngha: di ca mt t , k hiu || hay d(), l s cc ch c
mt trong . Theo nh ngha, ||=0.
Hm di c mt s tnh cht hnh thc ca lgarit: vi mi t , v
mi s t nhin n,
|| = || + ||, |n| = n||.
o ca mt t c c bng cch vit cc ch ci theo th t ngc li;
nu =a1a2an l mt t trn bng ch th o R ca n l t trn bng ch :
R = an a2a1.
T c gi l mt t con hay mt nhn t ca t nu c cc t u v v sao
cho =uv. Ngoi ra, nu u= (t.. v=) th c gi l t con u hay tin t
(t.. t con cui hay hu t) ca .
Th d 3: T =010111001 trn bng ch ci {0, 1} c di 9, trong 0101 l
tin t v 11001 l hu t ca .
Ln = L khi n = 1,
n -1
L L khi n > 1.
Lp hay bao ng ghp ca ngn ng L, k hiu L*, c nh ngha l hp
ca mi lu tha ca L:
L* =
U Ln .
n =0
L =
U Ln .
n =1
<chng>
ti
<vng>
<ngt1>
<danht1>
cm
12
2) Cho vn phm G2 = <{0, 1}, {S}, S, {SSS, S0S1, S1S0, S}. Khi ,
G2 khng l vn phm phi ng cnh v c quy tc S m S li xut hin v
phi ca mt quy tc khc. Theo B 1.2.6, G2 tng ng vi vn phm
G2 = <{0, 1}, {S, S}, S, P>,
P = {SSS, S0S1, S1S0, S, SSS, S0S1, S1S0, S}.
y, G2 cng khng l phi ng cnh. Tuy nhin, vn phm G2 sau l phi ng
cnh m tng ng vi vn phm G2, nn cng tng ng vi vn phm G1.
G2 = <{0, 1}, {S, S}, S, P>,
P = {SSS, S0S1, S1S0, S01, S10, SSS, S0S1, S1S0,
S01, S10, S}.
T cc quy tc ca G2, ta c c:
L(G2)=L(G2)=L(G2)={{0, 1}* | s cc ch s 0 v 1 trong l bng nhau}.
1.2.10. nh ngha: Vn phm G = < , , S, P > m cc quy tc ca n c
dng AaB, Aa, trong A, B, a, , c gi l vn phm chnh quy
hay l vn phm nhm 3.
Cc vn phm m cc quy tc ca chng c dng trn, ng thi cha thm
quy tc S, min sao k hiu u S khng xut hin v phi ca bt k quy
tc no cng c xp vo lp vn phm nhm 3.
Th d 12: 1) Cho vn phm:
G1 = <{1}, {S, A, B}, S, {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, 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, {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 hu hn tu c th xen k cc quy tc 2
v 3, cui cng l quy tc 4, ta c:
S 0A 0A 00.
1.2.11. nh ngha: T cc nh ngha trn, ta thy lp vn phm tng qut 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. H thng cc lp vn phm ny c gi l s phn cp
Chomsky.
Ngn ng hnh thc c gi l ngn ng tng qut (t.. cm ng cnh, phi
ng cnh, chnh quy) nu tn ti vn phm tng qut (t.. cm ng cnh, phi ng
cnh, chnh quy) sinh ra n. V vy, i vi cc lp ngn ng, ta c bao hm thc:
13
14
G
a) L(G): Ta c S vi v SP. Khng mt tnh cht tng qut, ta
c th gi thit k hiu u S khng xut hin v phi ca bt k quy tc no
trong P. Gi s dy dn xut ca c s dng n-1 quy tc ca P dng AaS. Khi
ta c:
17
18
BI TP CHNG I:
1. Tm cc ngn ng L1, L2, L3 sao cho:
a) (L1L2)* L1*L2*.
b) (L1 L2)* L1* L2*.
c) (L1 L2)* L1* L2*.
d) L1(L2* L3*) (L1L2*) (L1L3*).
2. Cho L1, L2, L3 l cc ngn ng trn bng ch . Chng minh rng:
a) L1(L2 L3) = L1L2 L1L3, (L2 L3)L1 = L2L1 L3L1.
b) (L1*L2*)* = (L1 L2)*.
3. Hy xc nh xem cc vn phm di y sinh ra cc ngn ng no?
a) G = <{0, 1}, {S, A}, S, {S0A, A1S, S}>.
b) G = <{a, b}, {S}, S, {SSaS, Sb}>.
c) G = <{a, b, c}, {S}, S, {Saca, Sbcb, SaSa, SbSb}>.
d) G = <{0, 1, 2, , 9}, {S, A}, S, {SSA | A, A0|1|2|3|4|5|6|7|8|9}>.
4. Hy thnh lp cc vn phm sinh ra cc ngn ng di y:
a) L = {{a}* | || mod 3=0}.
b) L = {a2n+1 | n 0}.
c) L = {{a, b}* | na()>nb()} (nx() l s ch ci x c mt trong }.
d) L = {ambn | n 0, m n}.
5. Hy xy dng cc vn phm chnh quy sinh ra cc ngn ng di y trn
bng ch ={0, 1}:
a) L = {01 | *}.
b) L = {* | trong cha ng mt ch s 1}.
c) L = {* | trong ch cha mt s l ch s 0}.
d) L = {* | khng kt thc bng hai ch s 1}.
6. Hy tm vn phm phi ng cnh sinh ra ngn ng sau:
L = {anbm | n 0, m 0, nm}.
7. Hy xy dng cc vn phm chnh quy sinh ra cc ngn ng di y:
a) L = {(baa)m(aab)n | m 1, n 1}.
b) L = {1}*{010}{0}*.
c) L = {010}* {1100}*.
d) L = {ambnck | m 0, n 0, k 0}.
8. Chng minh rng lp ngn ng sinh bi vn phm l ng i vi php giao.
19
CHNG II:
TMAT HU HN
V NGN NG CHNH QUY
2.1. TMAT HU HN.
2.1.1. M u:
Mt tmat 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 tmat khc c nghin cu sau ny c t nht mt
b nh v hn v tim nng. S phn bit gia cc loi tmat khc nhau ch yu
da trn vic thng tin c th c a vo b nh nh th no.
Mt tmat hu hn lm vic theo thi gian ri rc nh tt c cc m hnh
tnh ton ch yu. Nh vy, ta c th ni v thi im k tip khi c t hot
ng ca mt tmat 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 tmat hu hn ph
thuc vo c thng tin vo hin ti ln cc thng tin vo trc . Nh vy tmat
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.
tmat c mt s hu hn trng thi 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).
2.1.2. nh ngha: Mt tmat hu hn n nh hay mt DFA (Deteministic
Finite Automata) 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, c gi l bng ch vo;
Q, trong DQ x , c gi l nh x chuyn;
: D
q0Q, c gi l trng thi u;
F Q, c gi l tp cc trng thi kt thc.
Trong trng hp D=Q x , ta ni A l y . V sau ta s thy rng mi
tmat hu hn u a v c tmat hu hn y tng ng.
20
q1
q2
qn-2
qn-1
qn
qm
K hiu vo
a1
a2
... an
(q1,a1) (q1,a2) (q1,a2)
(q2,a1) (q2,a2) (q2,a2)
(q3,a1) (q3,a2) (q3,a2)
...
(qm,a1) (qm,a2) (qm,a2)
21
K hiu vo
a
b
q0
q1
q0
q2
q2
q2
Trng
thi
q0
q1
q2
q3
K hiu vo
0
1
q2
q1
q3
q0
q0
q3
q1
q2
q0
q1
q0
q1
q2
q2F.
q2
q0
q3
q2
q0
q1
q1F.
q3
q0
a
b
q1
q2
b
q0
0
q1
1
0
q2
0
1
q3
1
22
q0
q1
0
1
0
1
q2
0
q3
q4
q0
q1
q2
25
q3
q0
q0
q0
q0
q1
q3
q3
q1
q4
q4
0
1
q0
q1
q2
1
q3
1
q4
27
p '( q , )
q0
b
q1
q2
b
q0
q1
t0
t2
b
t1
t
b
29
t0
t2
b
S
b
q0
q1
q2
q1
0
q0
1
0
q4
q3
32
q0
q5
q7
V vy, biu thc chnh quy cho biu din ngn ng c on nhn bi
tmat hu hn c th chuyn l:
q2
q6
q1
q0
0
1
q4
q5
1
q3
q7
Bng quy np theo k, tn ti mt biu thc chnh quy biu din ngn ng
, i, j=0, 1, , m.
Gi s F={ qi1 , qi2 , ..., qik }. Khi L=T(A)= R0mi1 R0mi2 ... R0mik (nu tn
m
ti j sao cho ij=0 th thnh phn th j ca hp l ( R00
) . Do tn ti biu thc
chnh quy biu din ngn ng L.
Th d 9: Cho tmat hu hn khng n nh A c th chuyn l:
q0
1
q1
1
0
0
) = ( R00
R01
( R110 ) R100 ) .
Theo chng minh ca nh l 2.3.3, ta c: T(A)= ( R00
T th chuyn ta thy rng:
0
.
Biu thc chnh quy 1* biu din R00
*
0
Biu thc chnh quy 1 1 biu din R01 .
Biu thc chnh quy 1*01 biu din R110 .
Biu thc chnh quy 1*0 biu din R100 .
Vy T(A) biu din bi biu thc chnh quy (1*+1*1(1*01)1*0)*=(1*+11*0)*.
q1
q2
q3
1
1
q0
0
q4
q5
0
1
q6
0
[]
[0]
[00]
1
0
[000]
q1
q2
q3
a
a
a
q0
q4
q5
b
q6
q7
b
a
K0={q0},K1={q0, q4, q6},K2={q0, q4, q6, q2, q5, q7}, K4=K3={q0, q4, q6, q2, q5, q7,q3}.
Trn c s Bc 1, ta nh du cc cp trng thi sau:
(q0, q2), (q0, q3), (q0, q5), (q0, q6), (q0, q7), (q4, q2), (q4, q3), (q4, q5), (q4, q6), (q4, q7).
V (q0, a)=q4, (q4, a)=q2 v (q4, q2) c nh du nn ta nh du (q0, q4).
Tng t nh vy i vi cc cp khc. Kt qu c c trong bng sau:
q7
q6
q5
q4 *
*
*
q3 *
q2
*
q0 *
*
*
*
*
*
Cc trng thi n c chia thnh cc lp tng ng sau:
[q0] = {q0}, [q2] = {q2, q3, q5, q6, q7}, [q4] = {q4}.
Vy tmat hu hn n nh ti tiu on nhn L=T(A) l:
M = <{[q0], [q2], [q4]}, {a, b}, , [q0], {[q2]}>,
trong , ([q0], a)=[(q0, a)]=[q4], ([q0], b)=[(q0, b)]=[q2],
([q2], a)=[(q2, a)]=[q2], ([q2], b)=[(q2, b)]=[q2],
([q4], a)=[(q4, a)]=[q2], ([q4], b)=[(q4, b)]=[q2].
th chuyn ca M l:
[q4]
[q0]
a
b
[q2]
a
40
BI TP CHNG II:
1. Hy xy dng cc tmat hu hn c th chuyn sau v xc nh cc ngn
ng c on nhn bi chng.
0
a)
q0
q1
q2
b)
q0
a
a
0
q3
1
q1
c)
q1
b
a
q0
a
a
q2
(q0, 0)={q0, q1}, (q0, 1)={q1}, (q1, 0)=, (q1, 1)={q0, q1}.
6. Hy xy dng cc tmat 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}>.
7. Cho k l mt s nguyn dng v Lk = {{1}* | d()=nk, n=1, 2, }. Chng
minh rng Lk c th c biu din bi mt biu thc chnh quy. Hy cho cc
tmat hu hn n nh on nhn L2, L3, L5.
8. Cho L = {0n1n | n0}. Hy xc nh cc lp tng ng theo quan h RL v t
suy ra L khng l ngn ng chnh quy.
9. Hy thay cc biu thc chnh quy sau bng biu thc tng ng, n gin
hn, trong khng cha php cng:
a) E = 00+0011*+1*1001*.
b) E = 100*100*+1100*+100*1+11.
10. Hy xy dng cc tmat 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)*(aa+b)*.
d) (+1+11)(01)*.
e) (0+1)(0+1)(0+1)*.
11. Hy cc tiu ho tmat hu hn n nh sau:
A = <{q0, q1, q2, q3, q4, q5, q6, q7, q8, q9}, {0, 1}, , q0, {q7, q9}>,
trong : (q0, 0)=q1, (q0, 1)=q3, (q1, 0)=q7, (q1, 1)=q1, (q2, 0)=q0, (q2, 1)=q5,
(q3, 0)=q5, (q3, 1)=q9, (q4, 0)=q1, (q4, 1)=q7, (q5, 0)=q8, (q5, 1)=q4,
(q6, 0)=q3, (q6, 1)=q8, (q7, 0)=q8, (q7, 1)=q7, (q8, 0)=q7, (q8, 1)=q8,
(q9, 0)=q8, (q9, 1)=q9.
42
CHNG III:
TMAT Y XUNG
V NGN NG PHI NG CNH
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 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, hi xem 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 .
43
S
S
m ln
a
a
S
a
A
a
n ln
A
a
44
S
a1
a1
a2
a2
S
S
an-1
an
an-1
an
S
A
then
for
if
if
do
then
S
A
else
then
else
for
do
if
then
45
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:
A B1B2Bk 1C12C2 mCmm+1 1122 mmm+1.
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 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 (1ik),
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:
S
. C1
1
. C2
2
2
Cm .
m+1
.
m
S
S
S
S
S
a
47
48
T
T
50
3.2.1. M u:
Mt tmat y xung bao gm mt bng vo, mt ngn xp v mt b iu
khin nh hnh di y:
x1
x2
xn-1
xn
Bng vo
q
Ngn
xp
B iu khin
t tri sang phi. Ngoi ra, tmat y xung cn c thm bng lm vic (ngn
xp) hay stack, nh c n m b nh ca tmat y xung c tng ln so vi
kh nng nh ca tmat hu hn. Ngn xp c t chc theo nguyn tc k hiu
vo sau th ra trc, 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.
Cn c vo trng thi hin ti ca b iu khin, k hiu vo m u c
ang quan st v k hiu u ca ngn xp, tmat 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 tmat y xung:
Cch 1: Xu vo c c xong v tmat 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 4: 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 tmat 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. tmat 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 tmat 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 tmat y xung a k hiu vo ngn xp, trng
thi ca tmat vn l p v u c li c chuyn sang phi mt .
Qu trnh vn tip tc cho ti khi u c gp k hiu c. Khi tmat 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
52
54
<q0, 1, z0z2z2z2>
<q0, 1, z0z2z2z1z1z2>
<q0, , z0z2z2z1z1z2z2>
<q1, , z0z2z2z1z1>
<q0, , z0z2z2z2z2>
<q1, 1, z0z2>
<q0, , z0z2z2>
<q0, , z0z2z2>
<q1, , z0>
<q1, , >
55
q1
<a, z0/z0z1>
q0
<, z0/>
<b, z1/>
<, z0/>
q2
<b, z1/>
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, , %>.
<q2, , %>
T ta c dy suy dn cc hnh trng trong M: <q0, w, z0>
m q2F nn M on nhn c xu w theo tp trng thi kt thc.
Th d 7: Cho vn phm phi ng cnh
G=<{a, b}, {S, A}, S, {Sa, SbSA, Ab, SbA, AaS}>.
Theo chng minh ca nh l 3.2.7, ta c th xy dng tmat 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>}.
3.2.8. nh l: Cho tmat y xung M. Khi tn ti tmat y xung M sao
cho N(M)=T(M).
Chng minh: Gi s M=<Q, , , , q0, z0, F> l tmat y xung no . Ta
xy dng tmat y xung M=<Q, , , , q0, z0, F> sao cho N(M)=T(M).
Mun vy ta a thm vo k hiu trng thi mi q1, q2Q 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 qF, z,
4) (q, , %)={<q2, >} vi qF,
5) (q2, , z)={<q2, >} vi z{%}.
By gi ta ch ra N(M)=T(M).
Gi s wN(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 t2, 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).
57
T i<t sao cho Ki=<qi, , %zi> <q2, , %zi+1>, y qiF, zi, zi+1* v
<qj+1, wj+1, %zj+1>, y wj*, qjQ, zj* (1ji). Cng
Kj=<qj, wj, %zj>
nh Kj=<q2, , %zi>, y zj* (1<j<t). T <q0, w, z0> <qi, , %zi> v do
qiF 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.
3.2.9. nh l: Cho M l mt tmat y xung. Khi tn ti mt vn phm phi
ng cnh G sao cho L(G)=N(M).
Chng minh: Gi s M=<Q, , , , q0, z0, F> l mt tmat y xung. Theo
nh l 3.2.8, 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] | n1, qiQ
(1in), t1, t2, t3Q, 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).
Lu rng gi P1, P2, P3 ln lt l lp cc ngn ng phi ng cnh, lp cc
ngn ng c on nhn bi tmat y xung theo tp trng thi kt thc, lp
cc ngn ng c on nhn bi tmat y xung theo ngn xp rng, ta c:
P1 P2 (theo nh l 3.2.7),
P2 P3 (theo nh l 3.2.8),
P3 P1 (theo nh l 3.2.9).
V vy, P1=P2=P3.
58
BI TP CHNG III:
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 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}>.
c) G = <{a, b, c, +, }, {S, A}, S, {SS+S | AA | a | b | c, AS+S | a | b | c}>.
3. Hy chng minh cc ngn ng sau y khng phi l phi ng cnh:
a) L = {a2n | n0}.
b) L = {ap | p l mt s nguyn t}.
4. Hy cho tmat y xung on nhn cc ngn ng sau:
a) L = {anb2n | n0}.
b) L = {a2ncbn | n0}.
c) L = {{0, 1}* | n0()>n1()}.
5. V th chuyn ca tmat y xung c cho di y v xc nh ngn
ng c on nhn bi n.
M = <{q0, q1}, {a, b, c}, {z0, z1, z2}, , q0, z0, },
trong (q0, a, z0)={<q0, z0z1>}, (q0, a, z1)={<q0, z1z1>},
(q0, a, z2)={<q0, z0z1>}, (q0, b, z0)={<q0, z0z1>},
(q0, b, z1)={<q0, z1z2>}, (q0, b, z2)={<q0, z2z2>},
(q0, c, z0)={<q0, z0>}, (q0, c, z1)={<q1, z1>},
(q0, c, z2)={<q1, z2>}, (q1, b, z2)={<q1, >},
(q1, a, z1)={<q1, >}, (q1, , z0)={<q1, >}.
6. Hy xy dng cc tmat y xung on nhn cc ngn ng phi ng cnh
c sinh bi cc vn phm sau:
a) G = <{a, b}, {S}, S, {SaSb, Sab}>.
b) G = <{a, b}, {S, A, B}, S, {SAB, AaAa, BbBb, Aa, Bb}>.
c) G = <{a, b, c}, {S, A, B, C}, S, {SABC, AaA | a, BbB | b, CcC | c}>.
d) G = <{a, b, c}, {S, A, B}, S, {SAB, AaAb, BBc, Aab, Bc}>.
59
CHNG IV:
MY TURING
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
60
c
q
61
c
q
b) =:
+ =<, s, a>
a
+ =<, s, a>
B
b) =:
+ =<, s, a>
a
B
q
s
62
+ =<, s, a>
B
i+1 (1in-1)
Dy hnh trng i (1in) ca my Turing M sao cho i
M
c gi l qu trnh tnh ton trong M, k hiu 1 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.
4.1.4. nh ngha: 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 qF. 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 quy
m c.
4.1.5. 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.
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: 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>.
63
<B, L, s3>
<B, L, s4>
0
<X, R, s1>
<0, R, s1>
<0, R, s2>
<B, L, s5>
<0, L, s5>
<0, L, s6>
1
<X, R, s2>
<1, R, s1>
<1, R, s2>
<B, L, s6>
<1, L, s5>
<1, L, s6>
<X, R, s0>
<X, R, s0>
th chuyn ca M l:
<1/B,L>
<1/1,L>
s4
<B/B,L>
s6
<1/1,R>
s2
<0/0,L>
<0/0,R>
<X/X,R>
<X/X,R>
<1/1,L>
<1/X,R>
<0/X,R>
s0
s5
<1/1,R>
s1
<0/0,L>
<0/0,R>
<0/B,L>
<B/B,L>
s3
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}*}.
4.1.6. nh ngha: Cho my Turing M = <Q, , , , s0, B, F>. Hm c xc
nh bi my Turing M l hm:
khi < , s 0 , a ' > < ' , q, b ' ' > l mt qu trnh tnh ton hon chnh
<1/1,R>
s3
<1/1,R>
<B/B,R>
<0/0,R>
<B/1,L>
s4
<1/Y,R>
s8
<B/B,R>
s7
<0/0,L>
<B/B,L>
s0
<X/0,R>
<Y/1,R>
s6
<0/0,L>
<0/X,R>
s1
<1/1,L>
<0/0,R>
<1/1,R>
<B/B,L>
<1/1,L>
<B/B,R>
s2
s5
<1/1,L>
<0/0,L>
<B/0,L>
<0/0,R>
<1/1,R>
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.
4.1.7. nh ngha: Cho hm f: D
N, vi N l tp s t nhin, DNm 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 (n1 , n2 ,..., nm ) nu f(n1, n2, , nm) tn ti v
<B/B,R>
s1
<B/1,R>
<1/1,R>
s2
<B/B,L>
<1/B,L>
s3
<1/B,L>
s4
s5
<1/1,L>
<1/1,R>
<B/B,R>
s1
<1/B,R>
<X/B,R>
s2
<B/B,R>
<1/X,R>
s6
<1/1,L>
s7
<B/B,R>
<B/B,L>
<1/1,L>
s5
s3
<B/B,R>
<1/B,L>
s4
<B/B,R>
66
<1/1,R>
0 khi n2 n1 ;
Khi hm f c th tnh c bng
Th d 5: Cho hm f(n1, n2)=
1 khi n2 < n1 .
my 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 n2n1 v <, s12, B11> trong
trng hp n1>n2.
<X/X,R>
<X/B,L
<X/B,L
s3
<1/X,R
<X/X,L
<B/B,L
<B/B,L
s9
s10
<B/1,L
s11
<B/B,R
<1/1,R
s4
<B/B,L
<B/1,L
s2
<1/1,R
s12
<1/1,L
<1/X,R
s5
<X/X,R
s1
<B/B,R
<B/1,L
<B/B,L
s6
<X/X,L
<B/B,R
s7
<X/B,R
<B/B,R
s8
<X/B,R
<1/B,R
s0
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.
B
<S1, R, q1>
S1
<S1, R, q0>
<S1, L, q2>
<S1, L, q2>
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
69
<B/B,L>
<B/B,L>
<1/1,L>
<1/1,R>
<B/X,R>
<B/B,R>
<Z/Z,R> Sao chp
khi X vo
Buffer
Y vo Buffer
<1/1,R>
<0/B,R>
<Y/Y,R>
<B/1,L>
<1/1,L>
<B/B,L>
<1/1,L>
<Z/Z,L>
<B/Z,L>
<1/1,L>
<B/Z,R>
<1/1,R>
<Y/Y,L>
<Z/B,R>
<1/1,L>
<B/B,R> <B/B,L>
<1/1,R>
<Z/B,L>
<B/B,R>
<X/B,R>
<B/Y,R>
<X/X,R>
<B/B,L>
<B/Y,L>
<1/1,L>
So snh khi
X vi khi Y
Trng
Khng trng
<X/X,R>
<1/1,L>
<1/1,R>
<1/1,R>
<1/1,R>
<B/Y,R>
<B/B,R>
<1/1,L>
<B/Y,L> <B/B,R>
<B/Z,L>
<1/1,L>
y m ca bng
<B/B,L>
qua phi hai v tr
k hiu
<X/B,R>
<B/Y,R>
<B/X,R>
<1/1,R>
<1/1,R>
<1/1,R>
<B/B,R>
<1/1,R>
<1/1,R>
<B/B,R>
<B/B,R>
<1/1,R>
<Y/B,R>
<1/1,R>
<Y/B,R>
Thay khi Z
bng khi Y
<1/1,R>
<B/Y,R>
71
<B/Y,L>
<X/X,R>
<X/X,R>
<1/1,R>
<B/B,R>
<Y/B,R>
<1/1,R>
<1/1,L>
<B/B,L>
<1/1,R>
<1/1,R>
<Y/B,R>
74
BI TP CHNG IV:
1. Hy xy dng mt my Turring M sao cho T(M)={anbncn | n1}.
2. Cho my Turing M = <{s0, s1, s2, s3, s4}, {0, 1}, {0, 1, X, Y, B}, , s0, B, {s4}>,
trong :
(s0, 0)=<s1, X, R>, (s0, Y)=<s3, Y, R>, (s1, 0)=<s1, 0, R>,
(s1, 1)=<s2, Y, L>, (s1, Y)=<s1, Y, R>, (s2, 0)=<s2, 0, L>,
(s2, X)=<s0, X, R>, (s2, Y)=<s2, Y, L>, (s3, Y)=<s3, Y, R>,
(s3, B)=<s4, B, R>.
a) Hy v th chuyn ca M.
b) Hy trnh by cc qu trnh tnh ton hon chnh ca my M xut pht t cc
hnh trng u sau: <, s0, 000111>, <, s0, 00111>, <, s0, 0101>, <, s0, 00011>.
c) Hy xc nh ngn ng T(M).
3. Chng t rng cc hm di y c th c xc nh bng my Turing.
a) f ( ) =
B...43
B , {1}+ .
1B42
n ln
b) f ( ) = B R , {0,1}+ .
c) f (B ), {0,1}+ .
d) f (1n B1m ) = 1nm , n, m 0 .
e) f (1n ) = (0011) n .
1 khi = R ,
f) f ( ) =
0 khi R ; {0,1} .
4. Chng t rng cc hm di y c th tnh c bng my Turing.
a) f(n1)=3n1.
b) f(n1)=n1+3.
c) f(n1, n2)=n1n2.
d) f(n1, n2)=|n1n2|.
n n2 khi n1 n2 ,
e) f(n1, n2)= 1
0 khi n1 < n2 .
0 khi n1 = n2 ,
f) f(n1, n2)=
1 khi n1 n2 .
5. Cho f1, f2, , fn l cc hm m bin v g l hm n bin. Chng minh rng nu cc
hm trn u c th tnh c bng my Turing th hm
h(x1, x2, xm)=g(f1(x1, x2, xm), f2(x1, x2, xm), , fn(x1, x2, xm))
75
76
CHNG V:
Trnh
bin dch
Chng trnh
ch
My tnh
thc thi
Kt qu
Trnh
thng dch
Kt qu
D liu
Mt s trnh thng dch lm vic nh sau: phn tch tng pht biu v thc
thi lun.
Hin nay trnh thng dch a phn p dng k thut ca trnh bin dch l
bin dch chng trnh ngun sang dng m trung gian. T m trung gian s c
thc thi bng trnh thng dch.
c t ngn ng lp trnh: c t ngn ng lp trnh, ti thiu ta cn nh
ngha:
1. Tp cc k hiu cn dng trong cc chng trnh hp l.
2. Tp cc chng trnh hp l.
3. Ngha ca tng chng trnh hp l.
Vic nh ngha tp cc k hiu ca mt ngn ng tht d dng, ta ch cn
lit k chng. Song nh ngha tp chng trnh, gi l hp l th qu l mt cng
vic kh khn hn nhiu. Bi v tht l kh xc nh th no l mt chng
trnh hp l.
Khi c t ngn ng lp trnh, ta thng nh ngha lp cc chng trnh
bng tp cc lut vn phm, ta c th to nn c nhng chng trnh cn nghi vn
v tnh hp l.
Chng hn, trong Fortran cho php pht biu sau: L GOTO L l hp l. Mc
d nu pht biu ny m c thc hin th s l vng lp v tn, khng gii quyt
c g c. V th chng trnh m ta coi l hp l phi c hiu trong ngha hp.
Kh khn th ba cng l vn kh nht ca c t ngn ng l vic nh
ngha ngha ca mt chng trnh hp l. C ba phng php xc nh ngha
ca chng trnh hp l.
Phng php th nht l nh ngha bng php nh x: nh x mi chng
trnh vo mt cu trong ngn ng m ngha ca n ta hiu c.
Phng php th hai, xc nh ngha ca chng trnh bng mt my l
tng (idealized machine). Ngha ca chng trnh c th c c t trong ngn
77
<noun phrasse>
<verb phrasse>
<adjective>
<noun>
<verb>
the
pig
is
<phrase>
<preposition>
in
78
<noun phrase>
<adjective>
<noun>
the
pen
<expression>
<term>
<term>
<term>
<factor>
<factor>
<identifier>
<identifier>
<identifier>
<factor>
82
Token
Lexeme
Cc thng tin khc
id
COST
bin thc
id
PRICE
bin thc
id
TAX
bin thc
Num
65
hng s nguyn
Bng danh biu
Nu b phn tch t vng nhn tip cc chui k t ca chng trnh nhp,
nhn dng token, th bng danh biu cng thng xuyn c truy xut. Hnh
vi truy xut nhm hai mc ch: nu danh biu va c nhn dng c lu
cha trong bng danh biu th phn th hai ca token l d liu s c cp nht
bng ch s ca danh biu trong bng danh biu.
Th d 5: Vi pht biu trong Th d 3, COST c ch s l 1 trong bng danh biu,
COST li xut hin trong chui nhp sau:
y:=COST2.0
Chui xut ra ca b phn tch t vng l:
id5:=id1num6 (id, 5):=(id, 1)(num, 6)
Trong trng hp ny COST khng ct vo bng danh biu na, nhng b phn
tch t vng s y ra token (id, 1), 1 l v tr COST c ct trong bng danh
biu trc .
Bng danh biu thng xuyn c truy xut thm hoc truy xut cc
token, do phi tho mn hai iu kin:
1. Thc hin nhanh cc thao tc thm token, hoc cc thng tin ca token.
2. C kh nng truy xut nhanh cc thng tin ca mt token.
tip tc qu trnh dch hay khng. Tt nhin, nu mt trnh bin dch m ngay khi
pht hin li u tin dng chng trnh th khng hu hiu.
Trong giai on phn tch t vng v c php thng xut hin nhiu li do
trnh bin dch pht hin. Trong lc phn tch t vng, li c pht hin khi phn
cn li trn bng nhp khng th to nn token. Li xy ra khi b phn tch c php
khng th xy dng cu trc c php cho chui token cho trc. Li cng c th
c pht hin trong qu trnh phn tch ng ngha, khi trnh bin dch kim tra
kiu d liu ca hai ton hng thuc mt php ton khng ph hp. Chng hn,
mt ton hng thuc kiu dy, cng vi mt ton hng l tn ca chng trnh con.
5.2.5. Phn tch c php (Syntactic analysis parsing):
Chui xut ra t b phn tch t vng l cc token c dng (loi token, d
liu), s l chui nhp vo b phn tch c php. B phn tch c php ch xt
thnh phn th nht ca token l loi token.
S phn tch c php l mt qu trnh, trong qu trnh ny chui cc token s
c kim tra xem c th c biu din bng cu trc c php ca ngn ng lp
trnh cho trc hay khng? Nu tn ti mt cu trc c php cho chui nhp th cu
trc c sinh ra chnh l kt qu ca qu trnh phn tch c php. giai on
sinh m, cu trc c php s c xem xt t sinh ra m cho chui k t ca
chng trnh ngun.
Th d 6: Vi pht biu trong Th d 3, kt qu ca qu trnh phn tch t vng:
COST:=(PRICE+TAX)65 Phn tch t vng id1:=(id2+id3)num4
v kt qu ca qu trnh phn tch c php l:
id1:=(id2+id3)num4 Phn tch c php
n3
id1
id2
:=
n2
n1
id3
num4
c php cho chui nhp. Khi cy c php c xy dng xong th qu trnh phn
tch c php ca chui nhp cng kt thc thnh cng. Ngc li, nu b phn tch
c php p dng tt c cc lut sinh hin c, nhng khng th xy dng c cy
c php ca chui nhp cho trc th b phn tch c php s ra thng bo rng
chui nhp khng c vit ng c php ca ngn ng lp trnh. Nhn vo cy c
php trn vi cc nhn ca cc nt n1, n2, n3 ta thy c trnh t thc hin:
(1) n1 l nt miu t php ton:
id2 + id3 (PRICE+TAX)
(2) n2 miu t php ton:
n1 num4 (kt qu (1) 65)
(3) l php ton:
id1 := n2 (tc l gn kt qu ca php (1) 65 vo bin COST)
Ta thy rng du ( v ) khng hin din trn cy c php, song vic thc
hin php ton n1: id2 + id3 trc php nhn vi num4 chng t s c mt ca
chng.
id2
PRICE
:=
n2
n1
intoreal (65)
id3
65.0
85
TAX
5.3.1. B tin x l:
B tin x l s to ra chui nhp vo trnh bin dch. B tin x l thc
hin cc chc nng sau:
1. X l macro (macro processing). B tin x l c th cho php ngi s dng
nh ngha cc macro. Macro c hiu l cch vit ngn gn cho cu trc di hn.
2. Chm tp tin (file inclusion). B tin x l c th nht cc tp tin vo chng
trnh vn bn. Chng hn, tin x l ngn ng C s nht ni dung ca tp tin
<global.h> vo thay th cho pht biu # include <global.h> khi n x l mt tp tin
c cha pht biu trn.
3. B x l ho hp (Rational processor). B tin x l loi ny s to nn s ho
hp gia ngn ng c in vi nhng cu trc iu khin, cu trc d liu hin i
hn.. Chng hn, b tin x l gip cho ngi s dng c th dng cc pht biu
c cu trc nh while, if trong ngn ng lp trnh, m t bn thn ngn ng
khng c cc pht biu trn. Thc t cc pht biu while, if chnh l cc macro, khi
ngi s dng vit mt chng trnh trong ngn ng c in c dng ti hai loi
pht biu c cu trc trn v cn bin dch ra ngn ng my th b tin x l s lm
87
cho tt c cc danh biu trong bng danh biu. Quay li (5), ta thy ch th 1 v 3
th 8 bit sau cng l a ch tng i ca danh biu a, b. Gi s L=00001111, a
ch tuyt i ca a, b l 00001111, 00010011. Ba ch th (5) c vit li di dng
m my tuyt i:
0001010000001111
0011011000000010
(6)
0010010000010011
B tin x l
Chng trnh ngun
Trnh bin dch
Chng trnh i tng trong m hp ng
Trnh bin dch hp ng
Chng trnh trong m my kh nh v
Th vin h thng,
cc tp tin i tng
B ct/lin kt-son tho
kh nh v a ch
Chng trnh trong m my vi a ch tuyt i
90
M kh nh v phi lu gi thng tin trong bng danh biu cho danh biu v
tn cc th tc. V ta khng th bit c ton b chng trnh trong dng m kh
nh v s c cha u trong b nh trong khi n cn b nh ngoi, do
ton b bng danh biu phi c lu gi y nh l mt phn ca chng trnh
trong m kh nh v.
bng trong 5.3.3, ta thy: khi c mt tp tin c thc thi, n tham chiu
n b th v tr nh ca b + a ch bt u vng d liu ca tp tin (6), c ct
trong b nh trong.
5.4.2. Cc chuyn:
Thng thng mt s giai on c th hin thc trong mt chuyn. Chng
hn, phn tch t vng, phn tch c php, phn tch ng ngha v sinh m trung
gian c th c gom li, hin thc trong mt chuyn. Nu nh vy th chui token
c nhn dng s c dch thng sang m trung gian. Ni chi tit hn, ta s thy
vai tr b phn tch c php l bao trm, n trng coi ton b hot ng ca
chuyn. N c nhim v phi pht hin cu trc vn phm ca cc token a n
cho n. N li phi bit lc no cn ly tip token v n s gi b phn tch t
vng nhn dng token k tip. Khi pht hin xong mt cu trc vn phm, b
91
phn tch c php s gi b sinh m trung gian, thc hin phn tch ng ngha
v to m trung gian.
92
PH LC:
CC LP P V NP
V LP CC BI TON NP-Y
C nhng bi ton thc t m cho n nay vn cha xy dng c thut
ton hiu qu gii ( l thut ton c phc tp tnh ton l a thc) v chng
minh c mc kh thc cht ca n. Trong s cc bi ton nh vy, c th k
ra cc bi ton ni ting sau: Bi ton ngi du lch, Bi ton chu trnh Hamilton,
Bi ton t mu th, Bi ton tm ng i n di nht ca th. Ta c th
quy li cho vic thit k v phn tch thut ton hay l thuyt phc tp hay
khng? Liu trn thc t c thut ton hiu qu gii quyt cc bi ton ny
khng?
Trong phn ny, ta s c mt kt qu ni ting: mi thut ton hiu qu
gii mt trong s cc bi ton va k trn s cng cho ta thut ton hiu qu gii
tt c cc bi ton cn li. Ta cha bit nhng bi ton ny l d hay kh gii,
nhng ta bit rng tt c chng c phc tp nh nhau. ngha thc t quan
trng ca cc bi ton ny l m bo rng mi mt bi ton ny l i tng ca
nhng c gng tm thut ton hiu qu gii.
1. LP P V LP NP.
1.1. nh ngha: Cho M l mt my Turing. Hm T(n) c gi l phc tp
tnh ton ca M nu vi mi xu vo c di n th u tn ti mt dy hnh
trng c nhiu nht l T(n) bc on nhn ( y T(n) l mt s nguyn
dng). Nu c mt xu no c di n m my Turing khng dng th i vi
n , T(n) khng xc nh.
1.2. nh ngha: Lp P l lp cc ngn ng c on nhn bi my Turing n
nh v phc tp tnh ton l a thc.
C th pht biu mt cch khc l: mt bi ton c coi l thuc lp P nu
tn ti mt thut ton a thc gii n. Ngi ta ni rng nhng bi ton thuc
lp P l d.
1.3. Ch : Theo quan im ton hc, lp P l rt t nhin. iu ny thy c t
vic n l bt bin cao i vi m hnh tnh ton c dng. Chng hn, cc my
Turing M1 vi nhiu bng l nhanh hn cc my Turing thng thng, tc l
phc tp tnh ton ca chng nhn cc gi tr nh hn. Tuy nhin, nu phc tp
tnh ton ca mt my Turing M1 nh vy b chn trn bi mt a thc T1(n), ta c
th xy dng mt my Turing thng thng M vi gii hn thi gian a thc T(n)
93
sS
x j N , j = 1, n.
1.6. nh l: Nu bi ton nhn bit lin hp ca mt bi ton ti u ho t hp
cho l kh th bi ton ti u ho t hp cng l kh.
nh l 1.6 ch ra rng bi ton ti u ho t hp t nht l kh nh bi
ton nhn bit lin hp. Trong thc t ngi ta lun lun c th chng minh rng
bi ton nhn bit (chng hn bi ton ngi du lch) khng phi l d hn bi
ton ti u ho t hp m n lin hp.
1.7. Nhn xt: K hiu NP c trng cho lp cc bi ton m ta s nghin cu
by gi tr nn nh l lng gt. Vn l n khng phi thuc cc bi ton
khng phi l a thc nh ngi ta tng.
Gi s rng ta bit cu tr li ca mt bi ton nhn bit l NG. Nu ta
c th chia s s tin chc ca ta cho mt ngi siu quan st bng thi gian a
thc th bi ton thuc lp NP, ngay c khi ta khng bit tm bng thi gian a thc
mt nghim s m i vi n cu tr li l NG. Ngi ta ch i hi rng nu
nghim s c xut th ngi ta c th th li bng thi gian a thc rng cu
tr li tng ng l NG.
95
96
2. LP NP-Y .
i vi phn ln cc bi ton thuc lp NP, ngi ta khng ni c l
chng c th gii c hay khng bng mt thut ton a thc. Ch bit rng ngi
ta cha tm c mt thut ton a thc gii chng.
chng minh P=NP, ta phi chng t rng trong lp NP tt c cc bi ton
c th gii vi thi gian a thc bng cc thut ton n nh.. chng minh
PNP, ta phi ch ra mt bi ton trong NP m khng th gii c mt cch tin
nh vi thi gian a thc. Cch gii quyt hin nay l xy dng lp cc bi ton
tng ng.
2.1. nh ngha: Mt ngn ng L c gi l NP-kh nu vi mi ngn ng L
trong NP, ta c L P L.
Ngn ng L c gi l NP-y nu n l NP-kh v LNP.
2.2. Ch : Cc ngn ng NP-y c th hnh dung nh i din cho cc bi
ton kh nht trong NP. Hn na, gii quyt vn c P=NP khng, ch cn
quyt nh xem mt ngn ng NP-y L no c thuc P hay khng. Tht
vy, xt mt ngn ng L nh vy. Nu L khng thuc P th r rng PNP. Nu L
thuc P th nh ngha ca tnh NP-y v Mnh 1.11 chng t rng mi
ngn ng thuc NP cng thuc P. Nhng iu c ngha l P=NP.
Ta c th xy dng cho mi bi ton trong lp NP mt thut ton lm vic
trong thi gian a thc min l ta bit mt thut ton (n nh) trong gii hn thi
gian a thc i vi mt bi ton NP-y no . (Hin thi ta ni v cc bi
ton thay cho cc ngn ng nhc nh rng c th thay i qua li gia cc khi
nim ny). Nh vy, mt khi chng ta c c mt thut ton trong gii hn thi
gian a thc cho mt trong s rt nhiu bi ton NP-y , ta s c c thut
ton trong gii hn thi gian a thc cho mi bi ton trong lp NP! Do nhng n
lc cc k ln dnh cho d nh ci tin cc thut ton c bit cho mt s
97
= 1 ... m v = 1 ... n ,
bo m c ln u khng cha cng mt mnh hai ln (bng cch b i
nhng xut hin khng cn thit) v quay v Bc 1. wffpc ban u l tho c
nu hay l tho c.
Nu mi v cha ng mt k hiu ch, ta thay bng wffpc
' ' ' = ( 1 1 ) ... ( 1 n ) ... ( m n ) ,
loi b nhng xut hin b lp li ca cng mt mnh v quay v Bc 1. ban
u l tho c nu l tho c.
n y ta kt thc vic m t thut ton. Chng ta c th d dng kim
nghim rng phng php ny c hiu lc. Mt s gii thch c cho trn.
iu ct yu l s lng bin thc s gim trc mi ln quay v Bc 1.
Xt cc t c dng:
0 # 1 # # k
trn b ch ci {1, 2, #} sao cho k1, mi l mt t khng rng trn b ch ci
{1, 2} v hn na, 0 bng tng ca mt s khc no khi cc t c xem
nh l cc s nguyn 2-adic. Ta k hiu KNAPSACK l ngn ng gm mi t nh
vy.
2.4. nh l: Ngn ng 2-CONSAT thuc lp P.
100
104
105