SlideShare a Scribd company logo
1 of 195
Download to read offline
L600T AM KHOA HOC VA CONG NGHE VIET NAM
i w ^ A C H D A I HOC VA SAU D A I HOC
• • • • •
LE CONG THANH
NHA XUAT BAN KHOA HOC TU" NHIEN VA CONG NGHE
L
LE CONG THANH
Bien muc tren xuat ban pham cua Thu vien Quoc gia Viet Nam
Le Cong Thanh
Ly thuyet do phiic tap ciia tinh loan : Sach chuyen khao / Le
Cong Thanh. - H. : Khoa hoc Tu nhien va Cong nghe, 2013. - 372tr.
: hinh ve ; 24cm
Thiimuc: tr. 259-362
ISBN 9786049131158
1. Toantin 2. Li thuyet tinh toan 3. Sach chuyen khao
004.01 - de 14
KTF0003p-CIP
V I E N H A N L A M K H O A H O C V A C O N G N G H E V I E T N A M
B O S A C H D A I H O C V A S A U D A I H O C
H O I DONG BIEN TAP
Chu t[ch HQI dong:
G S . T S K H . N G U Y E N D I N H C O N G
Cac uy vien:
1. GS. TSKH. Ngo Viet Trung,
2. GS. TS. Nguyen Dai Hung,
3. GS. TSKH.TnnVanSung,
4. GS. TS. Le Tran Binh.
'i'f
I
( i f 
I
Lo'i gioi thieu
Vien Khoa hoc va Cong nghe Viet Nam la ca quan nghien
cuu khoa hoc tu nhien va cong nghe da ngdnh Ian nhdt cd nuac,
CO thi mgnh trong nghien cuu ca bdn, nghien cuu va phdt triin
cong nghe, dieu tra tdi nguyen thien nhien va moi truang Viet
Nam. Vien tap trung mot doi ngU cdn bo nghien cuu c6 trinh do
cao, ca sa vat chdt ky thudt hi^n dgi ddp ung cdc yeu cdu vi
nghien cuu va thuc nghiem cua nhieu ngdnh khoa hoc tu nhien va
cong nghe.
Trong gdn 40 nam xdy dimg vd phdt trien, nhieu cong trinh
va kit qua nghien cuu cd gid tri cua Vien da ra dai phuc vu ddc
luc cho su nghiep xdy dung vd bdo v^ To quoc. De tong hap vd
giai thieu c6 he thong a trinh do cao cdc cong trinh vd ket qud
nghien cuu tai ban doc trong nuac vd quoc te, Vien Khoa hoc vd
Cong nghe Viet Nam quyet dinh xudt bdn bo sdch chuyen khdo.
Bo sdch tap trung vdo bdn iTnh vuc sau:
- ling dung vd phdt trien cong nghe cao;
- Tdi nguyen thien nhien vd mdi truang Viet Nam;
- Bien vd cong nghe bien;
- Gido trinh dgi hQC vd sau dgi hoc.
Tdc gid cm cdc chuyen khdo la nhung nhd khoa hoc ddu
ngdnh cua Vien hogc cdc cong tdc vien da timg hop tdc nghien cuu.
Vien Khoa hoc vd Cong nghe Viet Nam xin trdn trong giai
thi^u tai cdc quy doc gid bo sdch ndy vd hy vong bo sdch chuyen
khdo se Id tdi lieu tham khdo bo ich, c6 gid tri phuc vu cho cong
tdc nghien cuu khoa hoc, ung dung cong nghe, ddo tgo dgi hoc vd
sau dgi hgc.
HOI D6NG BIEN TAP
Ldi tifa
Ly thuyet do philc tap tinh toan diroc hinh thanh do nhu can cua
boat dong thirc ti6n va duoc phat tridn manh me trong khoang bon
miroi nam qua. Ly thuyet nay nghien ciiu tinh hieu qua cua cac mo
hinh tinh toan va cua thuat toan noi rieng, nhSm phan chia cac bai
toan theo do phiic tap cua thuat toan giai chung thanh nhiing Idp
phutc tap khac nhau, va qua do tao nen mot hinh anh khai quat ve
tinh phiic tap cua cac bai toan noi chung.
Ly thuyet do philc tap tinh toan, dac biet nhiing kgt qua khao
sat ve moi quan he giiia cac 16p phiic tap va ve ban chat cua mot
so Idp quan trong, cho ta nhiing hidu biet t6ng quat ve van de phiic
tap va hudng dan ta each xii ly diing dan trong triidng hop cu thg.
Noi rieng, nhiing higu biet nhu vay giup ta ly giai vi sao c6 su
khac biet giiia "giai ducc ve mat ly thuyet" va "giai diioc mot each
thuc te" doi vdi nhieu bai toan kho ma ta gap phai.
Mat khac, ly thuyet do phiic tap tinh toan cung cap cho ta cac
y niem cung nhu nhfrng khia canh don gian va trang nha cua cac
qua trinh tinh toan va cua thuat toan noi rieng. Nhiing hiiu biet
sau sic vg qua trinh tinh toan cua thuat toan giiip ta phan tich
va danh gia mot each chuin xac do phiic tap ciia thuat toan. Han
niia, nhiing hi6u biet ay c6 thg goi md cho ta hudng cai tign hoac
tim kiem thuat toan tot hon.
Nhu vay, ly thuyet do phiic tap tinh toan khong chi cho ta mot
each nhin thong nhat ve van de phiic tap cua cac bai toan ma con
giiip ta tim ra hudng giai quyet hop ly khi xem xet nhiing bai to^n
cu thg. Dg thay dudc ly thuyet nky hap dan the nao, xin hay tim
higu no mot each ki luOng.
iv Ldi tua
Duong nhien, t i m hieu ki bat ci3 chu de m6i nao cung viec
lam kho, nhung no trd nen d§ dang va thu vi hon ngu nhu chu de
ay duoc trinh bay mot each thoa dang. Muc tieu hang dau cua tac
gia khi viet cuon sach nay la muon bay to cho doc gia cac khi'a canh
thuc sir hijtng thu cua ly thuyet do phutc tap tinh toan, nhung khong
bi sa lay vao nhiing dieu qua nang ne va buon te. Muc tieu thii hai
la nham dap ling phan nao nhu cau cua doc gia muon tim hi6u noi
dung cd ban cua ly thuyet nay, trong boi canh tai lieu tieng Viet vg
linh vuc nay con rat khan hiem. Mong muon la vay, nhimg nhOlng
muc tieu nay kho c6 the dat dUdc tron ven. B5i vi, ly thuyet do
phiic tap tinh toan qua that la philc tap va dang diroc phat trign
manh me, cho nen mot vai hu6ng nghien cilu mdi nhuing ket qua
ly thu va nhieu ufng dung hieu qua cua no ciing kho c6 the duoc
trinh bay trong mot khuon kh5 han che.
V6i muc tieu kg trgn, tac gia c6 gSng lua chon nhflng chu de
thiet thuc va trinh bay rnot each ranh mach nhat c6 thg, nhSm
dam bao doc gia vdi mot so lirong kien thufc toi thigu van c6 thg
tim higu va nhanh chong di vao nhung vka de thdi su nhat cua ly
thuyet do phiic tap tinh toan. .. . , . ;
Noi dung cuon sach nay duoc chia thanh 6 chuong, trong do
Chuong 0 la chuong md dau nhSm g6u khai quat ve ly thuyet
do phiic tap tinh toan va trinh bay mot each tigp can thich hop cac
bai toan thuoc nhieu iTnh vUc khae nhau, tao tien de cho viec giai
cac bai toan ay tren ciing mot mo hinh tinh toan tSng quat, mo hinh
may Turing, cung nhu viec phan chung thanh nhUng Idp phiic tap.
Chuong 1 nghien ciiu may Turing va cac bien thg chinh cua no,
chii yeu la khao sat kha nSng doan nhan ngon ngu cua may, nhSim
ly giai tai sao may Turing duoc chon lam mo hinh tmh toan tSng
quat. Do may Turing duoc de xuat v6i muc dich chinh xac hoa
khai niem thuat toan, tao co sd dg c6 thg chiing minh "cac bai toan
khong giai duoc", cho ngn phan cuoi chuong nay gidi thieu mot vai
VI du don gian nhu nhung minh chiing ve cac bai toan khong giai
duoc de doc gia tham khao them. Hon nfla, noi dung ciia phan nay
tuy nam ngoai pham vi cua ly thuygt do phiic tap tinh toan, nhung
no chUa dung mot phuong phap ma ta can den 6 Chuong 4
Ldi tua V
cac Chuong 2 va 3 tign hanh khao sat do philc tap thdi gian va
do phUc tap khong gian cua thuat toan, thuc hien phan Idp cac bai
toan theo do phutc tap cua cac thuat toan giai chung. Mot s6 Idp
phiic tap bao gdm cac bai toan thuoc nhieu linh vuc khac nhau vdi
nhflng dac tinh thu vi duoc kham pha. NOi dung cua hai chuong
nay bao ham nhflng kgt qua cd ban ve do phflc tap tinh toan.
Trong ChUdng 4 thigt lap trat t u thdi gian va trat t u khong gian
doi vdi cac Idp phflc tap nham chflng to tinh nan giai cua nhigu bai
toan. Phan con lai ciia chfldng nay gidi thieu each tiep can mot van
d^ trung tarn va kha nan giai hien nay, van dg P = NP.
Chuong cuoi ciing, CliUdng 5, danh dg gidi thieu cac hudng
nghign cflu ma e6 kha nang mang lai nhflng giai phap tich cue doi
vdi cac van de nay sinh, dac biet trong hoat dong thuc tign.
Nhu tren da ngu, do khuon kho han che, mot so chu de ly thu
nhung khong dUOc dua vao cuon sach nay, nhu He bhng chiing xac
suat va Tinh toan luong tit hay Mat md hoc - mot linh vue flng
dung hieu qua cua ly thuyet do phflc tap tinh toan. Doe gia cd thg
tim higu nhflng chii de nay trong nhigu tai lieu hien ed, ehang han
nhflng tai lieu cd trong phan Tai lieu tham khao d cuoi sach nhu
[2, 10, 12, 31]. Nhflng tai lieu ay va hai tai lieu [11, 13] cung duoc
tac gia tham khao nhieu khi viet cuon sach nay. Tuy duoc xuat ban
kha sdm, nhung cuon sach [13] cung da chfla dung nhieu van dg cd
ban cua ly thuygt tinh toan va ciia ly thuygt do phflc tap tinh toan
noi rigng; cuon sach [11] chuygn ve tinh NP-day du, ngn cd phan
Phu luc - mot Danh sach bao gom hon ba tram bai toan NP-day
dii duoc biet dgn cho tdi thdi digm do. Danh sach nay hien nay v l n
duoc nhieu ngudi sfl dung.
B6n chuong dau cua cuon sach nay cd thg dung lam chuygn de
giang day cao hoc hoac sinh vign nhflng nam cuoi, chuygn nganh
toan hoc va tin hoc ly thuygt. Noi dung nay da duoc tac gia giang
day cho hoc vien cao hoc trong nhieu nam qua, tai Vien Toan hoc,
Vien han lam Khoa hoc va Cong nghe Viet Nam, va tai Dai hoc
Bach khoa Ha Noi. Do sach dudc viet vdi kha day du cac khai niem
can thiet va dudc dien dat tudng doi mach lac, nen nd cung cd the
bo ich cho nhflng ai muon bat dau tim higu ly thuygt nay.
vi Ldi tixa
' Tac gia chan thanh cam dn GS. Le Tuan Hoa da doc ki ban thao,
siia I5i vk cho nhflng y kien dong gop quy bau dg chinh siia noi dung
tot hon; GS. Ngo DSc Tan cung da doc, sijta I6i ban thao va iing ho
tac gia vigt cuon sach nay.
Mac dil tac gia da rat c6 gang khi viet, nhung cuon sach nay
khong thi tranh khoi thieu sot. Tac gia mong muon nhan duoc
nhung nhan xet va gop y cua dong nghiep va cua doc gia gan xa
ve cuon sach nay. Moi nhan xet v^ gop y xin dtroc giii vg dia chi:
leecthanhSgmail. com/.
Ha Noi, thang 8 nam 2013
Tac gia
Muc luc
L6i tiia iii
0 Md d§u 1
0.1 Cac thuat ngu: va khai niem 2
0.1.1 Tap hop 2
0.1.2 Ham 4
0.1.3 Bicn do tiem can cua ham 6
0.1.4 Logic Boole 8
0.1.5 Dothi 13
0.1.6 Ngon ngu: hinh thiic 18
0.2 Vc ly thuyet do phurc tap tinh toan 20
0.2.1 Vi tri trong Ly thuyet tinh toan 20
0.2.2 Sir ra ddi va phat trien 22
0.3 Cach tiep can cac bai toan 25
0.3.1 Bai toan tim kiem va bai toan quyet dinh . 27
0.3.2 Ngon ngfl bigu dign bai toan quygt dinh . . 29
0.3.3 Doan nhan ngon ngii 32
Bai tap 32
1 May Turing va Thuat toan 35
1.1 May Turing 36
1.1.1 Mo ta 36
1.1.2 Dinh nghia hinh thi'ic 42
1.1.3 Cac chute nang chinh cua may Turing . . . . 49
1.2 Mot vai bien thg ciia may Turing 58
1.2.1 May Turing nhieu bang 59
1.2.2 May Turing khong tat dinh 69
MUC LUC
1.3 Luan d6 Church-Turing va Thuat toan 77
L3.1 Thuat toan theo ngliia true giac 77
L3.2 Luan de Church-Turing va
Dinh nghia thuat toan 79
lA Mot vai bai toan khong giai duac 84
L4.1 Bai toan chap nhan 85
L4.2 Bai toan diing 99
L4.3 Bai toan taong i3ng Post 102
Bai tap 113
2 Do phufc tap thdi gian 117
2.1 Do phufc tap thdi gian cua cac loai may Turing . . . 118
2.1.1 Quy chuin ve thdi gian hoat dOng cua may . 118
2.1.2 Phan tich thuat toan 122
2.1.3 Quan he tlidi gian giiia cac loai may . . . . 132
2.2 May Turing tat dinh thdi gian da thufc 138
2.2.1 Thdi gian da thufc va Idp P 138
2.2.2 Thi du ve cac bai toan thuOc Idp P 142
2.3 May Turing khong tat dinh thdi gian da thufc . . . 153
2.3.1 Ldp NP va ngon ngfr kic^m chiing nhanh . . 154
2.3.2 Thi du vg cac bai toan thuoc ldp NP . . . . 161
2.3.3 V a n d e P = NP 166
2.4 Tinh NP-day du 168
2.4.1 Quy dan thdi gian da thi'rc 169
2.4.2 Ngon ngir NP-day du va ldp NPC 176
2.4.3 Dinh ly Cook-Levin ve tinh NP-day du . . . 178
2.4.4 Mot vai bai toan NP-day du 182
2.5 Cau true cua cac ldp NP va eo-NP 191
2.5.1 Ldp trung gian NPI giiia P va NPC 192
2.5.2 Quan he gifra ldp NP va ldp co-NP 195
Dm tap 201
3 D o phiJc tap khong gian 207
3.1 Do phiic tap khong gian cua cac may Turing . . . . 208
3.1.1 Do phvjfc tap khong gian eiia may Turing tat
dinh mot bang 208
MUC LUC , ix
3.1.2 Do phufc tap khong gian cua may Turing tat
dinh nhigu bang 215
3.1.3 Do phufc tap khong gian cua may Turing
khong tat dinh 222
3.2 Nhiing moi quan he co ban ve do phufc tap 224
3.2.1 Quan he giiia thdi gian va khong gian . . . . 225
3.2.2 Quan he giiia tat dinh va khong tat dinh . . 227
3.3 Do phiic tap khong gian da thiic 229
3.3.1 Cac ldp phufc tap PS va NPS 230
3.3.2 Tinh PS-day du 232
3.4 Do phiic tap khong gian loga 242
3.4.1 Cac ldp phiic tap LS va NLS 243
3.4.2 Tinh NLS-day du 245
3.4.3 Quan he giiia NLS va eo-NLS 251
Bai tap 255
4 T i n h nan giai 259
4.1 Trat t u cua cac ldp phufc tap 260
4.1.1 Trat tir khong gian 260
4.1.2 Trat t i i thdi gian 267
4.2 Phuong phap quan he hoa va van de P = NP . . . . 271
4.2.1 May Turing vdi t i i van 271
4.2.2 Han chl ciia phuong phap dudng cheo . . . 275
4.3 Maeh Boole doi vdi van de P = NP 278
4.3.1 Mach Boole doan nhan ngon ngii 279
4.3.2 Cach chiing minh khac cho Dinh ly Cook-Levin289
. Bai tap 292
5 C a c giai phap 295
5.1 Tinh toan kinh luan 296
5.1.1 Thdi gian va khong gian kinh luan 298
5.1.2 Vg trat t i i thdi gian da thiic 304
5.2 Tinh toan song song 305
5.2.1 Cac mach Boole dong bo 305
5.2.2 Ldp phiic tap NC 308
5.2.3 Tinh P-day du 311
X MUC LUC
5.3 Thuat toan xac suit 312
5.3.1 May Turing xac suat va Idp BPP 312
5.3.2 Tinh nguyen to 316
5.3.3 Cac chuong trinh phan nhanh 324
5.4 Thuat toan xap xi , 331
5.4.1 Bai toan tap bao quat nho nhat 333
5.4.2 Bai toan do thi con day du Idn nhat . . . . 336
5.5 Phan tich xac suat cac thuat toan 338
5.5.1 Hieu suit hau chac chan cua thuat toan . . 343
5.5.2 Do phirc tap thdi gian trung binh da thiic . 353
Bai tap 357
Tai lieu tham khao . ; ,
^ 359
Ky hieu va Tuf khoa 363
ChLfdng 0
McT dau
Trirdc khi muon tim higu ki mot chu de nao do, c6 le tot nhat k
hay xem xet mot each khai quat nhflng net ca ban cua chu de ay.
B6i vay, muc tieu tM nhat cua Chuong Md dau la gidi thieu sd
luoc ve ly thuygt do phutc tap tinh toan, bao gom: su ra ddi cua ly
thuyet nay, vi tri cung nhu moi tucing quan gifla no v6i cac chu de
khac trong ciing mot llnh vuc - ly thuyet tinh toan, va cuoi cung
la gidi thieu noi dung chinh cua ly thuyet do phirc tap tinh toan,
do la viec phan chia cac bai toan thanh cac Idp theo "dO phiic tap"
cua thuat toan giai chiing.
Dg CO the phan Idp d6i vdi cac bai toan thuoc nhigu linh vuc
khac nhau, ly thuyet do phutc tap tinh toan xem xet cac bai toan
theo mot thg thong nhat, nhd do dign dat chung bang ngon ngiJ
hinh thufc va tien hanh giai chung trgn cung mot mo hinh tinh toan.
Do do, myc tieu tM hai cua chuong nay la trinh bay each tiep can
cua ly thuyet do-phiic tap tinh toan doi vdi cac bai toan noi chung.
Trudc khi cu the hda cac muc tigu vtta ngu, giong nhu cac tai
lieu chuyen khao khac, ta hay bat dau bang viec gidi thieu mot so
thuat ngu: va khai niem toan co ban; dac biet la cac khai niem ve
ngon ngU hinh thitc, dd thi va logic Boole. Chung khong chi can thiet
cho viec cu thg hoa muc tigu de ra ma con duoc sii dung thudng
xuyen trong tai lieu nay.
2 Md dau
0.1 C a c thuat ngvt va khai niem
0.1.1 T a p hgfp
TSiP hop Ih mot khai niem co ban cua toan hoc vk khong t h i dinh
nghia duoc mot each chinh xac. Theo true quan, tap hdp (hay c6n
diroc goi tat la tap) bao gom cac doi tuong c6 thg thuoc mot hay
nhi^u chung loai khae nhau, chang han nhir cac eon so, cdc ky t u
va kg ca cac do vat, v.v... M5i doi tuong do duoc goi la phcin tH
hay la thanh vien cua tap hop. Cac tap hop thudng duge ky hieu
bdi cac chu: cai La tinh A,B,C,..., hoac hdi cac chii cai Hy Lap c6
nhir r, E, f),... Dg b i l u thi " x la phan tijf cua tap hop E " ta dung
ky hieu x G E (doc la " x thuoc E"). Trong trudng hop nguoc lai,
khi "y khong la phan t i i cua E", ta viet y ^ E ("y khong thuoc E").
Tap hop dugc thg hien bang nhieu each khae nhau. Caeh don
gian nhat la liet kg tat ca cac phan t i i cua tap hop ay roi dg vko
gifla hai'dau ngoac nhgn. T h i du,
E = {3,5,15,a,i,c,«}
la tap hop bao gom cac so 3,5,15, cac chii cai a, b, c va ky ttr [t-
Ta CO 3 e E va 5 6 E, con 35 ^ E, v.v...
Viee mo ta tap hop b^ng each liet kg tat ca cac phan tiJf cua no
doi khi khong don gian doi vdi nhiing tap hop bao gom nhieu phan
tijf, dac biet la tap v6 han - tap vdi vo so cac phan tii. Tuy nhign,
dg mO t a tap vo han, t a c6 t h i diing dau ba eham " . . . " vdi nghia
thong thudng la "cac phan tii con duoc tiep tuc liet kg mai mai".
Chang han, b^ng each nay ta dign ta tap cdc s6 tii nhien N va
tap cdc so nguyen Z nhu sau: <
N = { i , 2 , 3 , . . . }
Z = { . . . , - 2 , - 1 , 0 , 1 , 2 , ...}.
R l t tiee cdeh mo ta "true giae" tren chi dting doi vdi loai tap
hop dugc ggi la tQp dim dU0c trong ly thuyet tap hgp.
0.1 Cdc thuat ngU va khai niem 3
Mot each thong dung hon, tap hgp dugc dign ta bang each bilu
thi dac tinh cua cac phan tijt tao nen tap hgp iy, ta eo thg viet
{ X I X CO dac tinh nao do }. T h i du, tap cac so chinh phuong dugc
dign ta bdi { n  = vdi mot m nao do thuoc N }. Dg mo ta eac
tap philc tap hgn, ngudi ta con dung cac phep toan va cac each xay
dung khae. Do day khong phai la mot giao trinh ve ly thuygt tap
hgp, ngn chung toi se khong di sau vao cac khia canh do.
Nhan thg ta ky hieu tap cdc sd hitu ti va tap cdc s6 thiic
tuong ling la Q va R. Cac ky hieu Z+, Q+ va R+ dugc dung dg chi
cdc tap nhflng s6 khong am thuoc Z, Q va R tuong ling. Tap khong
ehiia phan t i i nao dugc ggi la tap rSng va dugc ky hieu la 0.
Hai tap hgp A R dugc coi la bang nhau, va dugc ky hieu la
A = R,neu chung gom cac phan tiJt nhu nhau. Trong trudng hgp
ngugc lai, chiing dugc coi la khdc nhau va dugc ky hieu h A ^ R.
Doi vdi hai tap hgp A vk R, ta. noi rang A la tap con cua R,
va ky hieu Ik A C B hoac R D A,neu m5i phan t i i cua A eung deu
la phan t i i cua R. Ta eon noi f&ng A la tap con thtXc sytcna. R,
ky higu la /I C ngu /I la tap eon cua R va khae R. Tap hdp
tdt ca cdc tap con cua R dugc ky hieu lkV{R).
Cho hai tap Avk R. Hdp cua AvkR, dugc ky hieu kAuR,k
tap bao gom tat ca eac phan t i i thuoc A hoac thuoc R. Giao cua
A va S, dugc ky hieu IkAOR, la tap bao gom cac phan t i i eung
thuOe A va thuoc R. Hieu cua Avk R, dugc ky hieu la >1 a
tap bao gom cac phan t i i thuoc A va khong thuoc R.
AUR AnR
H i n h 0.1 Hgp, giao va hieu cua hai tap hgp
4 Mci dau
Phdn bu (complement) cua tap hop A, duoc xac dinh trong mot
pham vi cu thg nao do, la tap hop bao gom nhiing phan tut trong
pham vi ay ma khong thuoc A, va duoc ky hieu la A" (khi khong
gay nham Ian, phan hu cua A con diTOc ky hieu la lA).
Tich De-cdc {Cartesian product)'cna. hai tap A va B, diroc ky
hieu la /I X /?, la tap hop bao gom tat ca cac cSp c6 thuf tir ma
thanh phan trirdc la phan t i i thuoc A con thanh phan sau la phan
tii thuoc R. Cu thg,
AxB = {{a,h)a € .4,5 e R).
Tuong tir, tich Descartes diroc dinh nghia cho nhigu tap hop. Trong
trirdng hop khi tat ca k tap deu bang nhau, ta viet
k
AXAX---XA = A'^.
0.1.2 Ham -'-^ • - - ' '-^^-'^
Ham la mot d6i tirong quan trong cua toan hoc, phan anh moi quan
he vao-ra tir tap hop nay den tap hop kia. Ham f til tap hop X
den tap hop Y, ta viet f:X —> y, la mot quy tac ma theo do m6i
phan tijf dau vao thuoc X tao ra nhiSu nhdt mot phan tiJt tuong ling
thuoc Y.
Theo ham f: X —^ K, khi phan t i i x € X c6 phan tut tuong
ling y eY,ta noi rang " ham / xac dinh tai x va nhan gia t r i y",
vh ta viet f{x) = y. Nguoc lai, khi phan tut x' nao do khong c6 gia
tri tuong ling nao, ta noi rang " ham / khong xac dinh tai x'" hay
don gian "/(x') khong xac dinh". Ky hieu f{x) con thg hien rang
X la bien cua ham /. K h i X = X i x • • • x X^, ham / duoc goi la
ham k-ngdi hay ham k bien.
Tap cac phan tut thuoc X ma tai do ham f:X —> Y x&c dinh,
tutc tap D = {x  e X mh f{x) xac dinh}, duoc goi la miin '
xac dinh (domain) cua /. Tap tat ca cac gia t r i cua ham /, tiic
i
0.1 Cac thuat ngii vd khdi niem 5
tap R = {y e Y,3x e X : f(x) = y}, duoc goi la m i i n gia,
tri (range) cua ham do. Ham / duoc goi la ham hoan toan xac
dinh, neu no xac dinh tai moi x 6 X, nghia la D = X . K h i R = Y,
ta noi rang / la ham len.
Vay la khi noi dgn "ham" ta can higu rang do la ham bo phan noi
chung va dan tri. Ham toan phan chi la mot tru5ng hop rieng, va
khi can thiet ta se nhan manh chi tiet nay. Hon nfla, tuy "don t r i "
la dac tinh cua ham nhung ngiroc lai, c6 the nhieu gia t r i khac nhau
cua bien dau vao duoc tirong ilng v6i ciing mot gia t r i dau ra.
Thi du, theo ham gia t r i tuyet doi cua s6 nguygn, /abs: Z — * Z ,
m5i so nguyen n dmc tirong ijtng vdi n, neu n la duong, va vdi - n ,
neu n la am. Theo ham cong hai so nguygn, /add : Z x Z — > Z ,
mOi cap cac so duoc tirong utng vdi tong cua nhiing so ay. Day
la cac ham toan phan. Theo ham /abs, hai so vdi dau. doi nguoc
nhau duoc tudng ling vdi ciing mot so, / a b s ( " ) = /abs(-^0 = "
doi vdi moi n > 0. Dua theo ham /add) rat nhieu gia t r i dau vao
khac nhau duoc tuong ling vdi ciing mOt gia t r i dau ra, chang han
/add(«, -•''0 = 0 doi vdi moi n > 0.
Nhu vay, ham /: X —> Y la mot mo hinh toan hoc dign dat
quan he vao-ra tiT tap X dgn tap Y, ma theo do mOi phan tut cua
X CO thg duoc tuong utng vdi khong qua mot phan t i i cua Y. Tuy
nhien, doi khi ta can xem xet mot moi quan he rong hon gifla tap
X va tap y , ma moi phan t i i cua tap X c6 kha nang duoc tUOng
iSng vdi nhieu phan tut cua tap Y. Trong trudng hop nay, dg dam
bao tinh ddn t r i cua ham, moi quan he nay duoc dign ta bdi ham
/': X —> V(Y), trong d6 V{Y) la tap tat ca cac tap con cua Y.
Cac moi quan he vdi nhiing dac thii rigng duoc thg hien bdi
cac ham thich hop. Chang han, vj tit (predicate) hay tinh chat
(property), lign quan den cac doi tUOng thuoc tap hop X nao do, la
mot ham tii tap X den tap cac gia t r i chan ly {DUNG, SAl}. Dg ti?n
dung, tap {DUNG, SAl} thudng dudc thay thg bdi tap {1,0} neu
khdng gay nham Ian.
6 M6 dau
Cung nhu doi vdi bat cuf mo hinh nao, mieu ta ham mot each
ro rang la rat can thiet. Ta c6 thg mo ta ham b^ng nhieu each khac
nhau. Chang han, khi ham / : X —> Y c6 mien xac dinh D huu
han va khong qua Idn, ta lap mot danh sach theo titng gia tri thuoc
D ma moi dong la mot cong thute dang f{x) = y vdi day du gia
tri cu the cua bi6n x va gia tri tudng utng y cua ham/, hoac lict ke
trong mot bang gom hai cot ma cot thil nhat Ian luot la eac gia tri
thuoc D duoc gan cho bien x va cot thiit hai la nhiJng gia tri tUdng
ling f{x). Tuy nhien, trong moi trudng hop, dii khong that cu th6
nhung lai ddn gian neu nhu ta mieu ta duoc ham bdi cong thiic
tong quat nho do. Thi du, ham cong hai so dtrqc mo ta hdi cong
thiirc fadd{"i',n) = in + n.
0.1.3 Bien do tiem can cua ham
Gia sit f vhg la cac ham tii N den R+. Nhieu khi can cua ham f{n)
duoc quan tarn xem xet chi vdi nhiing ii du Idn, tiic la vdi moi n
hit dau tit mot so HQ nao do. Ta noi do la can tiem can hay la bien
dg tiem can cua. hhin f {n). • • • •
• Can tren tiem can. Ta noi rang "/('O O-ldn cua (ji^iif va
ta viet /(n) = 0[f/(ri)], neu ton tai cac so tu nhien c va no sac cho,
doi vdi moi s6 tu nhien n > no,
/(") < cyiji).
Khi /(n) = 0[(j{;n)] ta noi rang g{;n) la can tren cua /(n), hay
chinh xac hdn, r/(/i) la can tren tiem can ciia f{ii).
Mot each true giae, /(n) = 0[y{n)6 nghia la ham /(n) nho
hon hoac b^ng ham r/(n) ngu ta bo qua nhiJng khac nhau khong co
ban giOa ehung, nhu cac thanh phan phu va he so eua thanh phan
ehinh; hay noi each khac, ham / tang cham hdn hoac bang ham g.
Thi du, gia sii /i(n) la ham 5n^ + Sn^ + 18n + 7. Khi do, bang
each chon thanh phan chinh 5n^ va bo he so 5 cua no, ta thu dUdc
/i(n) = 0[n^]. Dieu nay hoan toan thoa man dinh nghIa hinh thiic.
0.1 Cac thuat ngU va khdi niem 7
That vay, cho c = 6 va no = 7, ta co 5/)^ + 3n^ + 18/t + 7 < 6n^ doi
vdi moi n > 7. Hdn nila, J{n) = t>[n^] bdi vi n
*
* luon 16n hdn n^
va do do cung la can tren tiem can cua /i(n). The nhung, /i(n)
khong the la 0[n'^] bdi vi, vdi bat cii gia tri nao ta gan cho c va no,
yeu cau trong dinh nghIa vln khong duoc thoa man.
• Can diidi tiem can. Ta noi rang "(/(n) la can dtCdi tiem can
eua /(n)" va ta viet /(n) = n[y(n)], khi j{n) la can tren tiem can
eua g{n), tire la khi g{n) = 0f{n) .
Doi vdi ham /i(n) neu tren, ta co /i(n) = n[n^] va dudng nhien
= txtc va rt^ la nhiing can dudi tiem can eua /i(n).
Tuy nhien, n'' khong la can dudi tiem can cua /i(n).
• Can sat tiem can. Ta viet /(n) = e[(y(n)], neu /(n) = 0[g{n)
va /(n) = ^[g{n)]. Mot each tUdng diTdng, neu ton tai ba so diidng
ci, C2 va no S g{n) < f{ii) < C2g{n), doi vdi moi n > /lo-
Khi /(n) = Q[g{n)i ta noi rang "g{n) la can sat tiem can hay
la can chat tiem can eua /(/i)"- Trong trudng hop nay, cac ham
/(n) va g{n) co cap tang nhu nhau. , ,
R6 rang, cung doi vdi ham /i(/0 neu tren, la can sat tiem
can, tiic /i(n) ^ Q[ii^ •
• Khai niem o-be. Ta viet /(n) - o[g{n)] va n6i rang " / ( " ) 1^
o-be ciia g{iiyu
Noi each khac, f{n) = o[g{n)d nghIa rang, ddi vdi mOi s6 thue
c > 0, ton tai mot n, sao cho f{n) < cg{n) d6i vdi moi n > n,.
Cac khai niem O-ldn va 0-1)6 tao thanh mot cap tUdng d&ng.
Khai niem O-ldn the hien ham no khong Idn han mot each item can
so vdi ham kia, eon khai niem o-be the hien ham no nho han mot
each tiem can so vdi ham kia. Sxt khac nhau gifla hai khai mem
O-ldn va o-be gifmg nhu sU khac nhau giiia < va <.
8 M6 dau
0.1.4 Logic Boole
Logic Boole la mot he toan, do George Boole de xuat vao gifla
the ki XIX, dudc xay dirng xoay quanh hai gia t r i doi ngiroc nhau,
do la cac gia t r i chan ly DUNG va SAI (TRUE va FALSE). Hinh thanh
trong khung canh cua toan hoc Ung dung, ngay nay logic Boole diioc
coi la CO sd cua dien toan va thict kc may tinh.
Trudc khi trinh bay nhung kien thiic quan trong va can thiet,
ta hay lam quen vdi cac khai nicm co ban cua ly thuyet nay.
• Gia tri Boole. Cac gia t r i chan ly DUNG va SAI diroc goi la
cdc gid tri Boole {boolean values) va, nhir da neu tren, thudng
duoc bigu t h i b5i 1 va 0. Ta sut dung cac gia t r i Boole trong cac
boi canh hay trong cac tinh huong vdi hai kha nSng c6 the xay ra.
Chang han nhu khi ta can xcm xet cac sir kien: trdi c6 thg "tanh"
hoac "mua", mot menli de c6 thd "dung" hoac "sai", hay la mot cau
hoi CO thg duoc tra da "dung" hoac "sai", v.v...
• Bien Boole va cac phep toan Boole. Bien chi nhan cac gia
tri Boole duoc goi la bien Boole {Boolean variable). Nhu thudng
le, cac bien Boole cung dudc ky hieu bcii cac chO cai La tinh x , y, z,
hay x i , x - 2 , . . .
Tren cac bien Boole, thirc chat la tren cac gia t r i Boole, ta c6
thg thao tac cac phep toan vdi tinh sang tao dac biet, duoc goi la
cdc phep toan Boole {boolean operations). Phep toan Boole don
gian nhat la phep phu dinh {negation) hay la phep NOT, duoc
ky hieu bdi -.. Phu dinh cua mOt gia t r i Boole nay la gia t r i Boole
kia doi nguoc vdi no. Nhu vay, ta c6 -.0 = 1 va - i l = 0. Phep hoi
{conjunction) hay la phep A N D , duoc ky hieu bdi A . Hoi cua hai
bien Boole nhan gia t r i 1 neu ca hai bien cung lay gia t r i 1. Phep
tuyen {disjunction) hay la phep OR, duoc ky hieu bdi V . TuySn
cua hai biSn Boole nhan gia tri 1 neu it nhat mot trong hai bien ay
lay gia t r i 1. , , . . , „
0.1 Cdc thudt ngU vd khdi mem 9
Day l a b a phep t o a n c d sd cua logic Boole va duoc the hien d a y
dii n h u sau:
-,0 = 1 .: 0 A 0 = 0 0 V 0 = O
^ 1 = 0 ' 0 A 1 = 0 0 V 1 = 1
1 A 0 0 1 V 0 = 1
1 A 1 - 1 1 V 1 = 1
Ngoai ra, mot vai phep toan Boole khac cung thudng duoc sii
dung, do la phep tuyin loai {exclusive or) hay phep XOR, phep
suy diin {implication), va phep suy diin thuan nghich hay
b&ng nhau logic {equality), chung lan ludt dUdc ky hieu la 0 , —
>
va Gia sii x va y la hai bien Boole. K h i do, x © y = 0 neu va
chi neu x va y nhan nhung gia tri nhu nhau. Tiep theo, x —> y = 0
neu va chi neu .; - 1 va y = 0. Cuoi cung, x y = 0 n e u va chi
neu X va y nhan cac gia t r i khac nhau. Cu thg ta c6:
0 ® 0 = 0 0 ^ 0 = 1 0 ^ 0 = 1
0 © 1 = 1 0 ^ 1 - 1 0 ^ 1 = 0
1 © 0 = 1 • 1 - ^ 0 = 0 1 ^ 0 = 0
1 ® 1 = 0 1 - ^ 1 = 1 1 ^ 1 = 1
• Cong thufc Boole. Ta c6 thg siJt dung cac bien Boole va cac
phep toan Boole de tao nen cac cong thirc, duoc goi la cdc cony thvcc
Boole, nham bi6u thi nhung mcnh de ma ta thudng gap. Chang han,
gia sit X la mot bien Boole bigu thi meiih de "Ngay mai trdi tanh",
nghia la x nhan gia t r i 1 (trdi tanh) va gia t r i 0 (trdi mua). Gia sut
y la mot bien Boole bigu thi "Ngay mai chung toi chac chan sc di
Choi", tire la y nhan gia t r i 1 (chung toi di choi) va gia t r i 0 (chung
toi khong di c h o i ) . K h i do mcnh de "Neu ngay mai trdi tanh, t h i
chdng toi chac chan se di clidi" d u d c bigu t h i b d i cong t l n i c d o n
gian n h u x ^ y. Tiep theo, nhd cac phep toan Boole, ta c6 thg kgt
noi cac cong thilc Boole d d n gian vdi nhau dg thu d U d c cac cong
thilc Boole phirc hop, dap urng uliuiig ygu cau bigu thi cac m g n h de
Phurc tap h d n
10 Md dhu
D i n h nghia 0.1.1 Cong thvtc Boole {Boolean formula) du(fc
dinh nghia mot each de quy nhic sau:
1. MSi bien Boole Id mot cong thiic Boole;
2. Neu A vd B Id cac cong thxic Boole, thi
cung Id cac cong thiic Boole;
3. Khong c6 mot cong thiic Boole ndo khdc ngodi cac cong thiic
— thu duac theo cac quy tdc I vd2.
Can liru y rang, khi ket n6i cac cong thiic v6i nhau bdi cac phep
toan Boole, d6 khoi gay n h i m Ian ta c6 thg sijf dung them nhiing
cap cac dau ngoac tron "( , )".
• Sit ti^dng difdng cua cac cong thufc Boole. Gia sii P la mot
cong thiic Boole chuta n bien x i , x ^ , . . . , x^. K h i do vdi moi each gan
tri Boole 1 hoac 0 cho cac bien x, {i = 1,2,... , n ) , cong thiic P
cung se nhan mot trong hai gia t r i do. Nhu vay, cong thiic Boole P
xac dinh mot ham
P ( X 1 , X 2 , . . . , X „ ) : { 0 . 1 } " — ^ {0,1}.
D i n h nghia 0.1.2 Cong thiic Boole P dupe goi la hang dung
neu no dung, tiic nhan gid tri 1, vdi moi cdch gdn tri Boole cho cdc
bien cua no; P duac goi Id hang sai {hay con duac goi la mdu
thudn) neu no sai, tiic nhan gid tri 0, vdi moi cdch gdn tri Boole
cho cdc bien cua no; P duac goi la thoa diidc {satisfiable) neu c6
it nhdt mot cdch gdn tri ndo do cho cdc bien di no dung.
H^ng dung va mau thuan rat can thiet trong cac suy luan toan
hoc. Mot bu6c quan trong trong lap luan toan hoc la viec thay
the mOt menh de nay bang mot menh d6 khac vai cung cac gia t r i
0.1 Cdc thudt ngU vd khdi niem 11
chan ly. Cac menh de vdi cung cac gia t r i chan ly duoc coi la tuang
duang nhau. Khai niem nay dudc dinh nghia chinh xac nhu sau.
D i n h nghia 0.1.3 Cdc cong thiic Boole P vd Q dupe gpi Id
Mdng dvCdng {equivalent), vd dupe ky hieu Id P = Q, neu cong
thiic Boole P ^ Q la hdng dung.
Nhieu cong thiic Boole tuang dudng da dudc thiet lap va mot so
cong thiic tvd thanh cac luat logic. Nhd cac cong thiic tuang duang
ta CO the bien dSi nhflng cong thiic Boole phiic tap thanh nhfing
cong thiic tuang duang dan gian han theo mot nghia nao do.
Dudi day la mot vai luat logic tien ich:
1. Luat De Morgan
^ ( P V Q ) = ( - . P A - Q ) .
2. Luat phu dinh kep
- 1 - P = P
3. Luat suy diSn
p ^ g = - P V Q .
4. Luat suy dign thuan nghich
p ^ Q = ( p - g ) A ( g - - p ) .
5. Luat phan phoi ' ,
P A ( g v 7 ? ) = ( P A Q ) V ( P A P ) ,
py{QAR) = ( P V Q ) A ( P V 7 ? ) .
Nhd cac bigu thiic tuang duang nay, moi cong thiic Boole dgu
CO t h I b i l u dien dugc dudi dang dan gian han ma trong do chi can
Md dau
sil dung cac phep toan Boole co s6 A va V. Sau day la hai dang
biSu dien tuong duong quan trong cua cong thiic Boole, do la dang
hoi chudn tac CNF {conjunctive normal form) vh dang tuyin
chudn tac DNF {disjunctive normal form).
Gia sijt P ( x i , . . . , x„) la mot cong thiic Boole chiia cac bien
x i , . . . , x„. Dg don gian hoa viec dien ta cac dang chudn tSc cua
cong thurc nay, doi vcti moi bien Boole x- va u e {0,1}, ta se sijf
dung cac ky hieu sau day:
neu cr = 0,
neu (7 = 1
neu cr = 0, • I ' "
neu (7 = 1.
Khi do, bang each ap dung cac bi6u thiic tUdng duong neu tren, ta
de dang thu dixoc cac dang hOi va tuygn chuSn t i c ciia mot cong
thiic Boole.
'1 .... '
Dinh ly 0.1.4 Moi cong thvcc Boole P ( x i , . . . , x „ ) deu c6 cac
dang biiu diin sau day:
(i) Dfing tuyin chudn tdc
P ( x i , . . . , X n )
(ii) Dang hoi chudn tac
P ( x i , . . . , x „ )
= V ( 4 ' A . - - A x ^ " ) ;
P(<ji,..,<j„)=i
= /f V - . - V x ^ " ) .
P(<^l,-,<T„) = ()
0.1 Cac thuat ngU vd khdi niem 13
0.1.5 Do thi
Do thi la mOt mo hinh toan hoc dien ta mot each tudng minh nhfmg
moi quan he hai ngoi (mot chieu cung nhu hai chieu) giiia cac doi
tirong can duoc xem xet. Chinh vi vay, do thi dudc sii dung rong
rai trong r i t nhieu linh vuc khac nhau; cliSng han nhu: khoa hoc,
ky thuat, kinh te, xa hoi, v.v...
Mot each hinh thiic, do thi {graph) (hay chinh xac hon, dS thi
vd hiidng {undirected graph)) la mot cSp c6 thii txi G = {V, P),
trong do V la mot tap gom hiiu han cac phan t i i , con P la mot
tap nhflng cSp khong thii t u cac phan t i i khac nhau thuoc V, tilc
P C {{u, v} I u, V eV vk u / v]. Phan tijt cua V dugc goi la dinh
{vertex), con phan t i i {u, v} cua P dudc goi la canh {edge) va duac
ky hieu bcii uv. Nhu vay uu va vu la cac ky hieu cua cung mot canh.
Ngoai each dinh nghia nhu tren, do thi con duoc di6n ta mOt
each true giac tren mat phang nhu sau: Cac dinh do thi ducc bi6u
thi bdi cac vong tron nho hoac cac cham dam vdi "ten" cua dinh,
con moi canh dUdc thg hien hdi mot doan t h i n g hocic cong noi hai
vong tron tUdng ling. Hinh 0.2 bigu dien do thi hinh ngoi sao
Gi = {{vi,V2, U3, Vi, U s } , {viV3, ViVi, V2V4, V2V5, V s V r , } ) ,
va do thi
G2= {{a,b,c,d,e,f,g,h},{ub,ac,ad,bc,cd,ef,fg}).
® © ® ®
G2
Hinh 0.2 Cac bigu dien true giac ciia do thi Gi va G2
14 M6 dau
V6i iru di6m nhtr vay, bieu dien true giac cua do thi thirdng duoc
diing d6 di6n ta nhiing so do ve "mute do" quan he giiJa tdng cSp
doi tuong, bang eaeh gan cho m6i eanh, tile moi doan thSng hoac
cong noi tren, eae da lieu lien quan den m6i quan he do.
Thi du, ta diing do thi dg bigu dign he thong giao thong dirdng
bo giiia eac thanh pho bang each gan cho m6i dinh ten cua mot
thanh pho va noi hai dinh vdi nhau bdi mot doan t h i n g hoae eong,
bigu t h i tuyen quoc lO qua hai thanh pho tirong uTng. Tren m8i
doan ay duoe ghi ehii tgn quoc lo va ca khoang each khi ckn thiet.
Chang lian, Hinh 0.3 sau day dien ta eac tuyen quoc lo chinh noi
lien mot so thanh pho Idn 5 vdng Dong-Nam thii do Ha Noi (HN),
bao gom Hai Duong (HD), Hai Phong (HP), Nam Dinh (ND), Thai
Binh (TB), Phil Ly (PL), Ninh Binh (NB) va Thanh Hoa (TH).
H i n h 0.3 He thong quoc lo viing Dong-Nam Hk Noi
0.1 Cdc thuat ngU va khdi niem 15
Tiep theo, dg chi su phu thuoc vao do t h i G, tap dinh va tap
canh cua no duoc thg hien ro hon bdi V{G) va R{G) tuong ilng.
Lien quan den canh e = uu cua do tin G, tiic canh vdi cdc dinh
dau mut (endvertices) u va u, ta noi rang: Thvc nhdt, canh e noi
(join) dinh u vd'i dinh v; Thii hai, dinh (/ hoac/va dinh v lien thuoc
(incident) canh c. Hai dinh duoc goi la ke nhau {adjacent), hay la
Idng gieng (neighbour) cua nhau, neu cluing duoc noi v6i nhau bdi
mot canh, tiie lien thuoc ciing mot canh. Hai canh ciing c6 chung
mot dinh dau mut cung duoc goi la ke nhau. Do t h i G duoc goi
la day du (complete) ngu hai dinh bat ky cua no deu ke nhau.
Cho u la mOt dinh cua do thi G. Bac (degree) cua dinh u
trong G, ta ky hieu la degG(v) hay don gian la deg(v) khi khong
gay nham l l n , dudc dinh nghia bcii so tat ca cac lang gieng cua v
trong G. Dinh vdi bac 0 duoc goi la dinh cd lap {isolated vertex).
Bay gi5, ta noi rang do thi H = (W, F) la dd thi con (subgraph)
cua do thi G = (V, E), ta viet H C G, neu W CV va F C R. Trong
tru5ng hop, khi F chura tat ca cac canh ciia G ma ca hai dau mut
deu thuOc W, do thi H duoc goi la dd thi con cam sinh (induced
subgraph) bdi G tren W, va ta viet // = G[U^ .
Dmdng di (path) trong do thi G la mot day cac dinh doi mot
khac nhau (uo, u i , . . . , ujt), trong do dinh ke vdi dinh Ui doi
vdi m6i / = 1 , . . . . A;. Mot dirdng di nhu vay con duoc ky hieu la
P= UQUX ...Uk.TR noi rang trong do tin G, hai dinh w,, va Uk duac
ndi vdi nhau bdi dirdng di P, hay dirdng di P not hai dinh an va u^.
Thi du, trong do thi G2 tren Hinh 0.1, abed la dudng di noi a va d,
nhung acbd khong la dirdng di. Do dai (length) ciia dudng di P,
duoc ky hieu bdi /(P), la so cac canh ciia no, tiic l(P) = k. Trong
do t h i G i trgn Hinh 0.2, cac dinh va U2 duoc noi vdi nhau bdi
dudng di uxu^Ui do dai 2, va con bdi dudng di uiu^v^Ui do dai 3.
Do thi duoc goi la lien thong (connected) neu hai dinh bat ky
cua no deu duoc noi vdi nhau bdi dudng di nao do. Tren Hinh 0.2,
do thi G, lien thong, con do tin G2 khong lign thong.
16 M6 dau
Chu trlnh {cxjde) trong do t h i G la dudng di (uo, u i , • •., Uk)
do dai > 2 ma hai dinh dau mut UQ va ciing kg nhau trong G.
Noi each kliac, chu trlnh la mot "dudng di khep kin", nghia la
dirdng di vdi do dai > 2 ma hai dinh dau mut eua no ciing ditdc noi
true ticp vdi nhau bdi mOt canh, tutc 'aoUk- Chu trlnh Hamilton
{Hamiltonian cycle) trong mot d5 thi cho trudc la chu trinh chila
tat ea cac dinh cua do thi ay. Trcn Hinh 0.2, do thi G i la chu trlnh
Hamilton, con trong do t h i G2 c6 tat ca 3 chu trlnh: 1 chu trlnh
dang "hlnh vuong" ahcd, 2 chu trlnh dang "tam giac" ahc va acd.
Cay {tree) la mot do thi lien thong va khong c6 chu trlnh. Trong
cay thudng duoc chi dinh mot dinh dac bict (theo mot yeu cau nao
do) lam gdc {root). Dinh bac 1 khac vdi goc cay duoc goi la Id {leaf).
Riing {forest) la mOt do t h i gom mot hoac nhieu cay, tiic la mot
do t h i khong CO chu trlnh.
H i n h 0.4 Rirng gom 3 cay - r d n
Trong cac do thi da duoc xcm xet, ncu moi canh {u, u} duoc
tliay the bang mot cSp c6 thiJ t u (u, u) hohc/vk {u, u), thi ta c6 khai
niem "do thi c6 hudiig". Cap thuf t u {u, u) duoc goi la cung {arc) til
dinh a den dinh u, hay cung vdi di6m dau u va didm cu6i v. Theo
each bi£^u dien true giac, moi cung (u, v) thudng duoc bi6u t h i bdi
0.1 Cac thuat ngU va khdi niem 17
mot doan t h i n g hoac cong ciing vdi mui ten hudng theo chieu t i i
u den V. T h i du, Hlnh 0.5 sau day cho ta bifni dicn true giac mot
do thi CO hudng.
H i n h 0.5 Do thi CO hudng
Mot each hlnh thilc, do thi cd hvCdng {directed graph) la mot
cap CO till? t u G - (V; A), trong do V la tap dinh va .4 la tap
cung, tile tap con cua tap { ( u , ( ; ) / u , e V ] u v ) . Trong do t h i
CO hudng, mot dinh v c6 the la didm dau cua mOt so cung nay
va cung cd the la diem cuoi cua mot vai cung khac. V, doi vdi
dinh V trong do thi co hudng, ta can phaii bict "bac ra" va "bac vao"
cua no. Bac ra {outdejjree) ciia u, dudc ky hieu bdi oatd('(j{u), la
so tat ca cac cung vdi diem dau u; con bac vao {indegree) cua u,
duoc ky hieu bdi iiHk.(j[v). la so tat ca cac cung vdi diem cuoi u.
Cac khai niem khac cua do thi vd hudng (chang han nhu: dudng
di, chu trlnh, lien thong, cay, . . . ) cung duoc chuygn the cho do thi
CO hudng. T h i di.i. diidng di c6 htCdng [directed path) trong do
thi G la mot day cac dinh doi mot nhau khac nhau (uo, u i , . . . , ujt),
trong do dinh U i _ , dudc noi vdi dinh (/, bdi cung Ui) thuoc G ,
d6i vdi inpi / - .2....,k. Nhu vay, day la mot dudng d i c6 hudng
tii dinh un den dinh 11k- THI/ VlfNTINHBlNH THUAN
18 Mcl dau
H i n h 0.6 Cac cay con c6 hudng cua do thi G3
Do thi thudng dmc sut dung d6 mieu ta moi quan he gifra cac doi
tudng. Cac dinh c6 the la nhiing thanh pho va cac canh la nhflng
doan quoc 15 noi lien chiing, hoac cac dinh la nhiing tram dicn va
cac canh la nhiing day dan lien kct chiing. D6 dign ta mot each ro
rang, ta dan nhan cho cac dinh va/hoac cac canh ciia do thi, va ta
thu dUdc do thi duCdc dan nhan [labeled graph)^ nhu Hinh 0.3.
0.1.6 Ngon ngi? hinh thut • E
• B a n g chiJ. Xau cac ky tir, hdcic cac dac tinh noi chung, la
khoi (block) dong vai tro nhu mot ddn vi kicn thict cd ban trong
khoa hoc tinh toan. Bang chii diang dG xac dinh cac xau diidc lira
chon phii hdp nhu cau sii dung. Vcfi muc dicli khao sat khai quat,
ta dinh nghia hang chit (alphabet) mot each hinh thiic, do la mot
tap hiiu han khac rSng bat ky ma m6i phaii tut ciia no la mot ky ti/
{symbol). Bang chii thudng dudc ky hieu bdi chii cai Hy Lap c6,
nhu E, r va H; con cac ky t i i cua bang chii thudng duoc lict ke theo
mot thu: tit xac dinh. T h i du, cac tap sau day la cac bang chii:
r = {a, b, c, d, f, g, h, i , j , k, 1, m, n, o, p, q, r, s, t , u, v, w, x, y, z},
0.1 Cac thuat ngvc va khdi niem 19
• Tii. Tie (word), hay con duoc goi la xau (string), tren mot
bang chii cho trudc la mot day hiiu han cac ky t u cua bang chii ay,
diTdc viet lien nhau va khong can ngan each hdi cac dau phay nhu
thudng le. T h i du, bacca la mOt tit tren bang chii Ti = {a,b, c},
va 10100011 la mot t i i tren bang chii ^ = {0,1}.
Cho w = (710-2 . . . (Jn-ian la mot t i i tren bang chii E. Dp dai
(length) cua tit w, dUdc ky hieu bdi la so Ian xuat hien cua
cac ky t u trong w, tiic |u;| = n. T i i vdi do dai 0 dudc goi la ta
rSng (empty word) va dUdc ky hieu bdi e. Tit rdng duoc xem la
mot tir tren bat cii bang chii nao, dong vai tro nhu so 0 trong cac
he dem so. Ngtidc (reverse) cua tit w, duoc ky hieu bdi u ; ^ , la
tir nhan dUdc b^ing each viet cac ky t u ciia w theo thii t u nguoc,
tufc = (yn(^n- • •<72cri. Tir V la tie con (subword) cua w, ngu
cdc ky t u cua v xuat hien lien tiep trong w. Til con aia2- • - (^i, vdi
I < i <n, dudc goi la khuc dau (prefix) cua w.
Cho hai tir u = ui... Um va v = vi... Vn. Phep ghep (concate-
nation) u vdi V, ta ky hieu la uu, dUdc thuc hien b^ng each viet
them t i i v vao cuoi t i i tt, tiic uv = ui... Um'Ui... Vn- Trong trudng
A:
hop, khi tit u dude ghep k Ian vdi chinh no, ta viet mT'Tli = u'^.
• N g o n ngU. Gia suf E la mot bang chit. Ta ky hieu E+ la tap
tat cd cac tii khdc rang tren bang chii E, va dat:
E* = E+ U {e}, tiic tap tat cd cac tic tren E,
= {w I w e E*, w n}, tile tap tdt cd cac tii do dai n tren S.
Ngon nga (language), hay ngon ngU hinh thUc (formal lan-
guage), tren bang chU E la tap cac t i i tren E. Nhu vay, mot tap
con bat ky cua E* la mot ngon ngU tren E. Thi du, dudi day la cac
ngQn ngit tren bang chii {0,1} :
y4 = {0'l'|« = 0,1,2,...},
= {O'lO'l I = 1,2,...}.
20 M6 dau
De tien dung, cac ttf trong E* duoc liet ke theo thit tiX tH diin
quen thuoc, tren co sci thii t u cua cac ky t u trong E va dong thdi
theo do dM ciia ti. T h i du, doi v6i bang chu: E = {a, b, c}, ta c6
E* = {e, a, b, c, aa, ab, ac, ba, bb, be, ca, cb, cc, aaa, aab,... }.
0.2 Ve ly thuyet do phiJc tap tinh toan
0.2.1 Vi tri trong Ly thuyet tinh toan
Ta hay bat dau bang viec gidi thieu mot each so luoc ba linh vuc
trong tarn c6 tinh truygn thong cua Ly thuyet tinh toan (Theory
of Computation), do la: Ly thuySt otomat (Automata theory), Ly
thuyet ve kha ndng tinh toan (Computability theory) va Ly thuyet
do phtic tap tinh toan (Complexity theory). Ba linh vUc nay phoi
hop Cling nhau kham pha nhflng tiem nang va nhiJng han che chinh
cua tinh toan noi chung, ca tinh toan ly thuyet Ian tinh toan thuc te.
Van de nay dira ta quay trd lai v6i nhiJng nam 30 cua the ki X X ,
khi cac nha logic toan bat dau xem xet mot each than trong ve gidi
han cua tinh toan. Cac ket qua ly thuyet thu duoc trong khoa hoc
tinh toan, nhu viec de xuat mot s6 mo hinh ciia cac qua trinh tinh
toan va cua thuat toan noi rieng, va dac biet la viec chi ra mot so
bai toan khong giai duqe, da cho ta biet duqc phan nao noi dung
cua van de, til pham vi ly luan den quan niem thue tien. Den nay,
du khoa hoe va eong nghe ngay mot phat trign manh me, viec lam
sang to noi dung cua van de noi tren van eon rat gian nan.
Ba linh vuc nghien eiiu cua ly thuyet tinh toan tuy co noi dung
nghien ciiu rieng re, nhung chung co quan he mat thiet vdi nhau.
Ly thuyet otomat dg cap den viec xay dung cac mo hinh toan
hoc ve tmh toan. Muc tieu cua ly thuyet vi kha nang tinh toan
la phan chia cac bai toan thanh Idp cac bai toan giai duoc va Idp
cac bai toan khong giai duqc. Trong khi do, ly thuyet do phvCc
tap tinh toan phan chia cac bai toan giai duoc thanh cac Idp khae
nhau theo imic do kho khan khi giai clmng.
0.2 Ve ly thuyet do phitc tap tinh toan
21
Trong m6i linh vUc nghien ciiu, van d^ kham pha noi tren duqc
t h i hien theo nhUng khia canh phu hop vdi chute nSng cua tvfng
linh virc. D6 hinh dung duqc su anh hudng qua lai giiia ba linh vUc
trong su phat trign chung cua ly thuygt tinh toan, chung ta hay
quan sat vai tro cua moi linh vUc duqc thg hien nhu the nao trong
qua trinh giai quyet mot bai toan.
Bai toan can giai quyet co the la mot bai toan tong quat hoac
la mot bai toan cu thg duoe xem nhu mot trudng hop rigng cua bai
toan tCng quat. Di nhign, dieu mong muon la giai bai toan trong
trirdng hop t6ng quat. Ve ly thuygt, qua trinh giai bai toan bao gom
viec lap mo hinh toan hoc cho bai toan khi can thiet va, dua tren
mo hinh do, xay dung phuong phap giai hay cu the hon la thuat
toan giai. Tuy nhien, dg bai toan giai duqc mot each thuc te, viec
lap mo hinh toan hoc cho bai toan ciing nhu viec xay dung thuat
toan giai no dgu phai thieh hop vdi nhiing trang thiet bi tinh toan
hien co. Nhiing trang thiet bi nay co duqc la nhd cac thanh tUu ciia
eong nghg mang lai, ma co sd ly luan cua no dua tren nhiing kgt
qua nghien ciiu cua ly thuyet otomat.
Doi khi trong qua trinh giai bai toan, mac dii da rat co g^ng
nhung ta v t n khong thg tim duqc mOt thuat toan giai no. Kho khan
nay co thg do ban chat phiic tap cua bai toan chuf khong phai vi ta
kem coi. K h i n g dinh dieu nay, tiic la viec ehdng to khong co thuat
toan giai bai toan, la phan su ciia ly thuyet ve kha ndng tinh toan.
De lam duoe dieu do, can thiet phai co mot dinh nghia chinh xae
ve thuat toan thay the cho khai niem thuat toan theo nghia true
giac ma ta van thudng diing khi xay dung thuat toan giai mot bai
toan nao do. Bdi vi, khai niem true giac ve thuat toan khong t h i la
CO sd de ta CO thg chilng minh rang khong ton tai mot thuat toan
nao giai bai toan da cho. Dg dap ling nhu eau nay, mot vai khai
nigm hinh thiic ve thuat toan da duqc de xuat, va nhd do mot so
bai toan quan trong khong the giai duqc bang thuat toan da duqc
kham pha. Chang han nhu bai toan xac dinh mot menh de toan
22 M6 dau
hoc dung hay sai, bai toan tuong ilng Pots, bai toan thuf mudi cua
Hilbert va v.v... Kham pha nay khong chi la hien tuong phi thu5ng
ma no con thg hien ban chat chinh xac cua toan hoc.
Mat khac, ngay ca trong trudng hap ta da xay dung dudc thuat
toan giai bai toan, nhung tren thuc tc doi khi d6 nhan dtrdc mot
Idi giai thoa dang lai rat gian nan, du ta dUdc cung cap day du cac
trang thiet bi tien tien nhat. Nhil vay, giiJa "giai dUdc ve mat ly
thuyet" va "giai diTdc mot each thuc te" c6 mot sir khac biet dang
ke, trong do "giai dUdc mot each thuc te" la giai dudc tren may tinh
dien tijf trong pham vi kha nang ve thdi gian cung nhu ve bp nh6
ma may c6 the c6 dadc. Ly giai su khac biet nay la viec lam cua
ly thuyet do phic tap tinh toan.
0.2.2 Sy ra d5i va phat trien
Quay trd lai vdi nhung nam 40 va 50 cua the ki XX, tiep theo nhung
ket qua sau sac vg cac bai toan khong giai dUdc la sir tri§n khai
nhiing t u tudng ve cac mo hinh ly thuyet cua may tinh va cuoi cung
dan den sir ra d6i cua may tinh thuc tc. Day la mot bade tien quan
trong cua khoa hoc cong nghe.
Sau khi may tinh dien tut ra ddi, tucing rang vdi nhflng phudng
tien tinh toan hien dai nhir vay, viec thirc hien thuat toan d6 giai
tiep bai toan la mot viec lam ddn gian. Song, thuc te lai khong liic
nao cung nhu mong muon. Chang lian, khi thuc hien thuat toan
tren may tinh, nhicu bai toan giai dudc mot each d6 dang va cung
khong it bai toan rat kho giai, tham chi khong thg giai dudc, mac
dii v6 mat ly thuyet chung hoan toan giai dUdc bang nhieu thuat
toan khac nhau. Thi du, doi vdi bai toan sdp xep cac doi tUdng
theo mot thfl tU da dinh, ta cd thg giai bai toan vdi hang trieu doi
tUdng mot each nhanh chdng chi tren mot may tinh nho. Trong khi
do, doi vdi bai toan lap lich bieu cho mot trudng dai hoc thi van
de lai trd nen kha phflc tap. Viec bo t r i phong hoc cho cac Idp chi
can dam bao mOt yen cau thong thudng, sao cho khong cd hai Idp
0.2 Vi ly thuyet do phiic tap tinh toan 23
dUdc bo t r i vao ciing mot phong hoc tai cung mot thdi d i i m . D6 cd
dUdc mot thdi gian bigu cho mOt trudng dai hoc, gom khoang 100
Idp vdi mSt so thay co va mot luqng phong hoc nao do, cd khi ddi
hoi mOt thdi gian thuc hien tinh toan dgn hang the ky ngay tren
ca sieu may tinh. Vay la bai toan lap lich bigu khong the giai dudc
mot each thuc te.
Nhu vay, trong boat dong thuc tign ta thudng gap nhflng bai
toan dg va ca nhflng bai toan khd. Ngoai ra, mot bai toan cung cd
thg giai dudc bang nhieu thuat toan xau tot khac nhau, va ngay
vdi mot thuat toan thi cd the trong trudng hdp nay nd cho ta ket
qua nhanh con trong trudng hdp khac nd lai cho ket qua cham. Hdn
nfla, gifla giai dUdc ve mat ly thuyet va giai dUdc mOt each thuc te
doi vdi nhieu bai toan cung cd nhflng khac biet dang kg.
Nhflng dieu ndi trgn la hien tUdng kha pho bien. Viec kham pha
nguygn nhan dan den hien tUdng nhu vay se cd y nghia quan trong
ve mat ly thuyet va cd gia tri to Idn ve mat flng dung. Nguygn nhan
ay phai chang la do ban chat phflc tap cua bai toan, hay la do thuat
toan ma ta xay dung chua that hieu qua, va cung cd thg la do cac
trang thigt bi tinh toan chua that hien dai, ...
Lien quan den van dg nay, vao cuoi thap nign 60 cua thg ki X X
mot linh vuc nghign cflu dUdc hinh thanh, do la ly thuyet do phiic
tap tinh toan. Dua trgn nhflng kham pha ve su phu thuoc gifla
"kich cd" cua bai toan vdi thdi gian thuc hien thuat toan cung nhu
vdi dung ludng bo nhd ma may can sfl dung trong qua trinh tinh
toan, ly thuyet nay tien hanh xem xet "do phflc tap thdi gian" vh
"do phflc tap khong gian" cua thuat toan nhu nhflng ham phu thuoc
vao "kich Cd" cua bai toan. Nhd dd ta cd dUdc mot each nhin thong
nhat ve do phflc tap cua cac thuat toan.
Ra ddi va phat trign manh me khoang bon mUdi nam qua, ly
thuygt do phflc tap tinh toan tuy v l n chua cd duqc mot ly giai thoa
dang cho nhung hien tUdng phd bign ngu tren, nhung nd da cd mot
budc tign dang kg vdi nhieu ket qua phong phu cd y nghia nhat
24 Md dau
dinh ve ly thuyet cung nhir ling dung. Nhd tign hanh khao sat cAc
hhi toan trong mOt khuon kh5 chung, ly thuyet do phiJc tap tinh
toan cho ta nhUng hilu biet khai quat ve tinh phiic tap cua mot Idp
rong rai cac bai toan, dSng thdi cung goi md cho ta nhiing phuong
hudng giai quyet doi vdi cac bai toan cu thg ma ta gap phai.
Sau day ta hay khao sat mot vai khia canh cua linh vuc nghien
cilu hap dan nay.
Mot trong nhiing hudng sQi dong cua ly thuyet do phiic tap
tinh toan la nghien ciiu kham pha mot ludc do tao nha nham phan
loai cac bai toan theo "do phiic tap tinh toan" cua thuat toan giai
chung, mot luoc do tudng tu nhu bang tuan hoan cac nguyen to
hoa hoc duoc phan Idp theo tinh chat hoa hoc cua chiing. Qua lUdc
do ly tudng ay, ta c6 thg biet dudc bai toan nao de, bai toan nao
kho ma khong can phai giai chung. Day la mot hudng nghien ciiu
vdi mot tam nhin bao quat.
Trong trudng hop cu thg, khi duong dau vdi mot bai toan xem ra
la kho giai, ta c6 the xiJt ly theo mot vai each khac nhau. Cdch xit ly
tM nhdt, ta can tim higu xem khia canh nao cua bai toan la can
nguyen cua su kho giai, roi tim each khac phuc dg bai toan duoc
giai quyet dg dang hdn. Cdch xic ly thU hai, thay vi kho tim dUdc
Idi giai hoan hao cho bai toan, ta c6 thg chap nhan mot 15i giai it
hoan hao hon mign sao tim dUdc dg dang hdn; chang han, doi vdi
nhieu bai toan toi Uu ma khong thg giai dUdc mot each thuc te, viec
tim mot 16i giai gan dung dg dang hdn dang kg so vdi viec tim mOt
Idi giai chinh xac. Cdch xvc ly thi2 ha, ta c6 thg de xuat cac thuat
toan giai nhanh doi vdi "hau het" cac trudng hdp cua bai toan va
chi gap kho khan trong mot so it "trudng hdp xau"; hoac xay dung
cac thuat toan vdi "do phiic tap trung binh" viia phai. Cach xiJt ly
nhu vay thudng c6 y nghia ling dung, tuy thuoc vao doi hoi thuc te.
Cuoi cung, ta c6 thg nghi den cac kiiu tinh toan linh hoat hon theo
nghia nao do, chang han nhu tinh toan toan song song hay thuat
toan xac suat, va hy vong r^ng bai toan dUdc giai quyet tot hdn.
0.3 Cdch tiep can cac bai toan 25
0.3 Cach tiep can cac bai toan
Cac bai toan ma ta thudng gap thuoc rat nhieu linh vUc khac nhau
va CO nhang dang phan biet, nhung da phan la dang bai toan quyet
djnh hoac bai toan tim kiem, trong do noi rieng la dang bai toan
toi uu. Day la nhiing bai toan thuan tuy toan hoc va cung c6 thg
la nhiing bai toan thong dung nay sinh tii hoat dong thuc tien.
Cac bai toan do c6 thg dupe phat bigu chinh xac bang ngon ngii
toan hoc, nhung doi khi cung dUdc phat bigu theo mot ngon ngii tu
nhien dan da. Trong trudng hop khi bai toan chua duoc phat bilu
bang ngon ngii toan hoc, thi viec dau tign phai lam la dich bai toan
do sang mot ngii canh toan hoc thich hdp; chang han nhu trudng
hdp sau day.
Bai toan xep ba 16. Cho mot Id hang hod gSm cdc goi hang,
moi goi diu c6 khoi luang cung vdi gid tri cu the, vd cho mot chiec
ba Id. Hay chon tit Id nay mot so goi hang nao do vd xep day vao
ba 16, nhung khong duac qud, sao cho thu duac mot gid tri Idn nhdt
c6 thi.
Day la mot bai toan t6i Uu to hop quen thudc, dUdc ky hieu
la MAX-KNAPSACK va dudc phat bilu b^ng ngon ngii toan hpc
dudi dang tdng quat nhu sau:
MAX-KNAPSACK
DQ ki$n: Cho "hai day so nguyen dudng
S i , S 2 , . . . , S n , - 5
va
Y^u cdu: Tim mot tap con / C { 1 , 2 , n } sao cho
^ Si < 5 va E '^i —' "^ax-
26 Md dau |
Lap dudc mo hinh thich hop nhir vay cho hhi toan la mot budc
quan trong, nhung mdi chi la phln khdi dau cua qua trinh giai bai
toan. Trong viec hoan tat qua trinh giai, khau cd ban nhat la dtra
tren mo hinh toan hoc cua bai toan ta can de xuat mot phuong
phap giai, hay ly tu5ng hdn la xay dung mot thu tuc chat che xii
ly mot each hieu qua cac thong tin lien quan den m6i du kien bai
toan, d l tii do thu dudc nghiem tUdng utng vdi ttrng dii kien. Cuoi
cung, can tien hanh phan tich va danh gia hieu qua ciia each giai
bai toan cung nhu kha nang hien thuc hoa tren nhiing trang thigt
bi tinh toan hien c6.
Xay dung cac phudng phap hieu qua giai cac bai toan rieng re
nay sinh ttt thuc tign rat c6 y nghia doi vdi ilng dung. Dg c6 dUdc
nhiing kgt luan hay nhiing ket qua nghien ciiu mang tinh khai quat,
cdc bai toan can dUdc xem xet trong mot khuon kh6 chung. Cac
nghign ciiu nhu vay giup ta c6 mot each nhin thong nhat doi v6i
van d§" phiic tap cua cac bai toan, dong thdi cho ta nhiing hieu biet
khai quat va nhiing hudng dan can thiet trong cac tinh huong cu
thg, va vi the no khong chi c6 y nghia ly luan ma eon rat thiit thuc
cho ling dung. Viec nghien ciiu nay diidc gi5i han trong pham vi
cac bai toan quyet dinh, do ehiing eo mOt sl thg hien kha tu nhign
dudi dang ngon ngii hinh thiic rat thich hop cho viec phan tich va
xii ly thong tin hdi mot mo hinh tinh toan chung. Tuy nhien, viec
gidi han nhtr vay thuc chat khong gay ngn mot han che nao dang
k^, bdi thay vi can xem xet mot bai toan tim kiem hay bai toan
toi uu noi rigng, ta c6 t h l nghign ciiu bai toan quyet dinh khong
kh6 hon tuong ling vdi no, va tii nhiing ket qua nghien ciiu lign
quan den van de phiic tap cua bai toan quyet dinh, ta c6 thg di den
nhiing ket luan thich hop doi vdi bai toan da cho.
De cac bai toan thuoe nhieu linh vuc khae nhau c6 the duoe
xem xet trong mot khuon kh6 chung va dupe giai quyet trgn ciing
mSt mo hinh tinh toan, sau day ta hay tiing bude cu the hoa cac
digm CO ban trong each tiep can bai toan.
0.3 Cdch tiep can cac bdi toan 27
0.3.1 Bai toan tim kilm va bai toan quyet dinh
D6 xac lap sir tuong ling giiia bai toan tim kiem va bai toan quyet
dinh, trude tign ta can phan biet cac loai bai toan ma ta xem xet.
Nhan thay rang, mot bai toan c6 thg dupe phat bigu thanh
hai phan tach biet: phan Da kien vk phan Yeu cau. Doi vdi phan
Da kien, ta can xac dinh ro tap dii kien cua bai toan bao gom
nhiing dii kien cu thg nao. Con phan Yeu cau thudng c6 hai loai.
Loai thii nhat la mot Cau hoi ma doi vdi m6i dii kien bai toan
chi can trd Idi don gian la "dung" hoac "sai". Bai toan vdi cau hoi
nhu vay dupe gpi la bai toan guy it dinh {decision problem). Loai
thii hai la ygu cau Tim kiem nghiem doi vdi dii kien bat ky cho
triidc. Bai toan vdi ygu cau nhu vay c6 tgn gpi la bdi toan tim
kiim {search problem). Trong Idp cac bai toan tim kiem, cac bdi
todn toi Uu (optimization problems) eo mot vi tri quan trpng. Bdi
toan cite dai hoa (maximization problem) va bdi todn cue tiiu hoa
(minimization problem) la eac bai toan toi Uu vdi ygu cau tim kiem
nghiem chap nhan dupe vdi gia tri Idn nhat va nho nhat tuong ling.
Bai toan quygt dinh tUOng ling vdi bai toan tim kiem c6 the
dupe xac dinh dOn gian bang each thay Yeu cau: "Tim nghiem doi
vdi dii kien bat ky cho trude" bang Cau hoi: "Phai chang ton tai
nghiem doi vdi moi dii kien da cho?" Trong trudng hpp nay tap dfl
kien khong thay ddi. Thi du, bai toan "Hay tim chu trinh Hamilton
trong moi do thi cho trude" dupe tuong ling vdi bai toan quyet dinh
sau day:
HAMILTONIAN CYCLE
Da kien: Cho mot do thi G.
Cau hoi: Phai chang trong G c6 chu trinh Hamilton?
Tuy nhien, cac bai toan toi liu dupe tuong ling vdi cac bai toan
quyet dinh thich hpp hon. Bai toan quyet dinh tUOng ling vdi bai
28 M6 dau
to4n circ dai hoa (bai toan cttc t i l u hoa) duoc xac dinh nhir sau:
Tap da kien cua no duac xay dung bang each them vao mdi dH kien
cm bai toan toi m mot ranh gidi B tuy y, thuoc ciing mien xac
dinh gia t r i cua nghiem. Tiep theo, eau hoi duoc phat bigu rang,
doi vdi m5i du kien nhu vay, phdi chdng c6 mot nghiem chap nhan
duac vdi gia tri khong nho han B {khong Idn han B, tudng ijfng)?
Thi du, bai toan cue dai hoa M A X - K N A P S A C K duoc tuong ling
vdi bai toan quyet dinh sau day:
KNAPSACK • •
• • • • • • • '•'
DO kien: Cho hai day s6 nguyen duang
iwii n ;> ^' •^li ^2, S„, S
va
Cau hoi: Phai chang c6 mot tap con I C {l,2,...,'n} sao cho
E^^<S va . E ^ t > S ?
iei iei
Nhu vay, moi bai toan t i m kigm hay moi bai toi Uu noi rieng
deu CO the duoc tUOng ilng vdi mot bai toan quyet dinh ma thudng
la khong kho hon. Rieng doi vdi bai toan toi Uu,. do viee tinh toan
gia t r i cua nghiem bai toan toi uu la tUOng doi d6 dang, cho nen
bai toan quyet dinh tuong ling khong thg kho hon bai toan toi uu
ban dau. ' if*--
Cuoi eung, ta t i m each dac trung moi bai toan quyet dinh bdi
mot ngon ngu hinh thiic nao do, bang each ma hoa (tufc mieu ta)
tiing du: kien bai toan bdi mot tit tren bang chii thich hop va xac
dinh ngon ngu: tuong ling vdi bai toan ay. Viec ma hoa nay eo t h i
duoc thuc hien theo mot quy trinh ehung vdi mot vai rang buoc
can thiet. Sau day la mot quy trinh ma hoa thong dung mang tinh
nguygn t^c. . , ,
0.3 Cdch tiep can cdc bai toan 29
0.3.2 Ngon ngu* bieu diln bai toan quyet dinh
• T i n h sue t i c h . Theo le tu nhien, mot bai todn quyet dinh cung
thudng duoc di6n ta bang nhieu ngon ngu hinh thire khae nhau
theo nhung phep ma hoa khae nhau doi vdi cac dU kien bai toan.
Song, di dam bao yeu eau toi thigu ve tinh sue tich doi vdi ngon
ngii, viec ma hoa can thoa man cac ticu chuin sau day:
(ci) Tiit ma (xau bigu dien) cua moi dfl kien bai toan phai ngan
gon va khong dUdc "don them" nhUng thong tin khong
can thiet.
(C2) Cac so tham gia trong dfl kien bai toan can duoc bigu dign
dudi dang nhi phan hoac theo mot co s6 nao do Idn hon 1
(bdi VI dang bigu dign theo co s6 1 dai hon c3 ham mfl so vdi
bat ky dang bigu dien n^o theo cO so A; vdi > 2).
• Sd do m a hoa chu§n. Doi vdi tflng bai toan cu the ta dg dang
xay dung duoc mot phep ma hoa thich hop. Tuy nhign, viec dua ra
mot dinh nghia hinh thflc ve phep ma hoa la khong hg don gian.
Song, ve mat nguyen tac, cac phep ma hoa thich hop co thg duoc
xay dung dua trgn mOt scf dd md hoa chudn, ma theo do cac dfl
kien cua bai toan dugc bigu dien bdi cac "xau lien ket", tile "xau co
cau true", tren bang chfl chfla ^ = {0,1, - , [ , ] , ( , ) , , } vdi ky t u cu6i
Cling la dau phay " ,". Xau lien kit dugc dinh nghia mot each de
quy nhu sau:
(ci) Bigu dien nhi phan cua mot so nguygn k (mot xau bao gom
cac ky tU 0 va 1, co ky t u " - " d phia trudc ngu k la so am)
la, mot xau lien ket bieu thi so nguygn k.
(^2) Neu X la mot xau lign kgt bigu thi so nguygn k, thi [x] Ih mot
xau lign ket bieu thi "tgn" cua doi tugng mang so hieu k.
(ea) Neu </i, ^2, • •, ym la cac xau lign kgt bigu thi cac doi tugng
Yi,Y2,..., y„„ thi (yi, ^2, • •, 'Jm) la mot xau lien kgt bigu
thi day {Y,,Y2,...,YJ.
30 Ma dau
Dxta theo so do ma hoa nay, ta c6 the bieu dien cac du; kien bai
toan bdi cac xau lien ket tren mot bang chii: nao do chiia cac ky
tu thuoc bang chii ke tren. Di nhien, day la mot sd do nen no
chi mang tinh nguyen tac. D6 dap utng yeu cau ve tmh sue tich cua
ngon ngfl, trong t t o g trudng hop cu thg ta c6 thg b6 sung nhung
quy tac thich hdp can thiet, nhung v l n phai dam bao tinh chuan
xac cila viec bigu diin.
Dudi day la nhflng bieu dign cua mot vai doi tUdng quen thuoc
nhir: tap hap, ham, so hiiu t i va do thi. Ta se dung ky hieu k d6 chi
bieu diin nhi phdn cua so nguyen dirong k.
De b i i u dign mot tap hap Mu han X, dau tien ta sap xep cac
phan tit cua no theo trat t u nhu mot day X = { X i , X 2 , . . . , X„},
trong trudng hop chung chua c6 mot trat t u nhu vay. K h i do tap
X duoc b i l u dign bc)i mot xau lien ket (xi, X 2 , . . . , trong do Xj
la xau lien kgt bigu dign phan t i i X, tUdng iJng ciia day,  i < n.
Mot ham f : X Y dUdc bieu dien b6i mot xau lign ket
((:ci,yi)(x2,y2) • • • (x„, :(/„)), trong do Xi la xau lien ket bigu dien
phan tijf Xj G X va yt la xau lign ket bigu dien phan tur /(X^) e Y,
l < i < n.
Mot so hHu ti q = rn/n, trong do rn va n la cac so t u nhign
nguygn to ciing nhau, dUdc bigu dign bdi xau lien ket (m, /i), trong
do rii va h la bigu dign nhi phan cua cac so rn va n tiTdng ling.
Mot do thi CO hxldng G = {V, A) dildc bieu dien bdi mot xau
lign ket (x,y), ta ky hieu la (G) ^ (x,y), trong do x la xau lien
ket bigu dien tap dinh V va y la xau lign ket bieu dien tap cung
A cua do thi (m5i phan tilt ciia A la mot cap cac dinh thuoc V).
Cu thg, vdi V = {vuV2,..., Vn} va A = { u i , a2, -. •, " m } , trong do
cung Uj = 1 < j < "i, theo sd do ma hoa chuin ngu trgn
ta CO thg bigu dign do thi G nhu sau:
(G) = ( ( [ i ] , [ 2 ] , . . . ,[/i]),(([/:'i],[/t,]),(N,[M), •.. XlkmUKM-
Tuy nhign, dg dap Ung yeu cau ve tinh sue tich cua ngon ngii, do
thi G CO thg dudc bigu dign bdi mot xau don gian hon
(G) = i2,...,ntl(/^i,/i0(^-2,/i2)...(fc^,/i^)
tren bang chU gom sau ky tu { 0 , 1 , (, ,}, trong do xau trudc
ky tu t) bigu dign tap dinh va xau sau JJ bigu dign cac cung cua
do thi. Thi du, do thi hinh ngoi sao nam canh Gj vdi tap dinh
{vi,V2, V3, V4, Us} (Hinh 0.2) dudc bigu dign bdi xau lien ket
(Gi) = i,2,3,4,5«(i,3)(i,4)(2,4)(2,5)(3,5).
• Ngon ngiJ dac trtfng cua bai toan quygt dinh. Gia sijf 11
la mot bai toan quyet dinh vdi tap dU kien Dn va cau hoi Qn trgn
m5i dvi kien bai toan. Khi do Qn xac dinh mot tinh chat doi vdi
moi dii kien cua bai toan, tiJc mot ham tii tap Dn den tap cac gia
tri chan ly {DUNG, SAl} nhu sau: Doi vdi m5i dii kien d e Dn, ta
CO Quid) = DUNG khi cau hoi Qn trgn dii kien d dudc tra Idi la
"dung"; trong trudng hdp ngUdc lai. Quid) = SAL
Gia sijr e la mot phep ma hoa thich hdp n^G do doi vdi bai
toan n, ma theo d6 moi dU kien bai toan dUdc bigu dien bdi mot
xau lien kgt tren bang chfl E. Nhu vay, e anh xa cac dU kien bai
toan thanh cac xau thuoc £*. Dg ddn gian, khi khong can luu y
den phep ma hoa t, t;a ky hieu (d) = e{d) doi vdi mdi d e Dn-
Ta dinh nghia cac ngon ngU sau:
L{Du) = {{d)deDu},
L(n) = {{d)deDn ^ Qn{d) = DUNG}.
Ro rang ngon ngU L{U) dien dat noi dung cua bai toan IT, nen
duoc goi la ngon ngU dac trxing cua IT, hay ngon ngvC tuCdng
"^ng vdi bai toan U, va dUdc ky hieu ngan gon bdi chfl nghigng 77.
Ta CO
32 Md dau
0.3.3 D o a n nhan ngon ngu*
Cho n la mot bai toan quyet dinh, L{Du) 1^ ngon ngfl tren bang
chO: E bieu dign tap dii kien cua n , va /7 la ngon ngu: tircng urng vdi
bM toan IT. Gia sijt ton tai mot mo hinh tinh toan hinh thiic, m^
khi xiJt ly tren m6i xau thuoc L{Dn), hay thuoc E* noi chung, no
CO thg phan biet dirac xau nao thuoc 17 va xau nao khong; nghia
Ih, mo hinh tinh toan ay c6 kha nSng "nhan biet" hay "doan nhan"
ngon ngii 17. K h i do ta dg dang thu diioc Idi giai cua bai toan quyet
dinh n.
Nhu vay, thay cho viec xay dirng thuat toan giai bai toan quyet
dinh cho trildc ta c6 the tim kiem mot mo hinh tinh toan hinh thiic
liho do dg doan nhan ngon ngiJ tuong ling vdi bai toan ay. Mot
trong nhiing mo hinh nhu vay da duoc Alan Turing de xuat, va vi
the no duoc mang ten ong, do la may Turing.
May Turing la mot mo hinh tinh toan don gian nhung kha tSng
quat, CO kha nSng di6n ta mot each ro rang va t i mi hau het moi
qua trinh tmh toan. V i vay, may Turing duoc sii dung nhu mot cong
cu kha thuan tien trong viec khao sat cac qua trinh tinh toan noi
chung, va dac biet trong vi^c phan tich do phiic tap cua thuat toan.
B a i t a p
0.1 Hay dien ta mot each phi hinh thilc bang tieng Viet tiing tap
hop sau day:
a. { 1 , 3 , 5 , 7 , . . . } .
b. { . . . , - 4 , - 2 , 0 , 2 , 4 , . . . } .
c. { n I n = 2m doi vdi m6i m thuoc N}.
d. { n | n = 2rn doi v6i mot m nho 66 thuoc N, ; .
va n = 3k doi vdi mot k nho do thuQc N}.
Bai tap 33
0.2 Hay di6n ta mot each hinh thilc t t a g tap hop sau day:
a. Tap bao gom cac so 2, 4 va 6.
b. Tap bao gom tat ca cac so nguyen duong Idn hon 10.
c. Tap bao gom tat ca cac so t u nhien nho hon 10.
d. T^p bao gom tir aba.
e. Tap bao gom tijf rong.
f. Tap khong bao gom gi ca.
0.3 Cho A = {x,y} vk B = {x,y,z}. Hay tra Idi cac cau hoi
sau day:
• • • • • • . - . •'j , . . , •
a. A la tap con ciia B? ' • '
b. B la tap con cua A? '
c. /I n/? cu t h i la tap nao? • -
d. AU B cu the la tap nao?
e. A X B cn thg la tap nao?
f. ViA) cu thg la tap nao?
0.4 Neu ^ CO a phan tuf va B c6 b phan tut, thi A x B c6 bao
nhigu phan tut?
0.5 Neu C CO c phan tut, thi ho tat ca cac tap con cua C, tiic
V{C), CO, bao nhieu phan tut?
0.6 Hay cho bigt, trong so nhiing dieu sau day, digu nao dung vk
dieu nao sai?
n
a. 3n = 0
b. n^ = 0[n].
c. n ^ = 0 [ n l o g ^ n .
d. n log 71 = 0[n^
e. 3" = 2°t"l.
f. 22" = Of22"l.
34 M6 dau
0.7 Trong so nhiJng dieu sau day, dieu nao dung va dieu nao sai?
a. n = o[2n]. d. 1 = o[n].
b. 2n = o[n'^]. e. n = o[ogn .
c. 2" = o[3"]. . f. 1 = o[l/n .
0.8 Cong thiic Boole sau day la thoa duoc hay khong?
( x V y ) A ( x V y ) A ( x V y ) A ( x V y ) .
0.9 Xetd6thiv6hudngG = (y,/?),trongd6
V = {1,2,3,4} va E = { { 1 , 2 } , { 1 , 3 } , { 1 , 4 } , { 2 , 3 } , { 2 , 4 } }
la tap dinh va tap eanh tuong ling. Hay mo ta do thi nay
b^ng hinh ve. Cae dinh 1 va 4 eo bae la bao nhieu? Hay ehi
ra eae dudng di tiJt dinh 3 den dinh 4?
0.10 Gia sijf G la mot do thi. Clique trong G la tap cac dinh etia G
ma hai dinh bat ky deu kg nhau. Tap doc lap {independent
set), hay anti-clique, la tap eae dinh cua G ma hai dinh
bat ky deu khong ke nhau. Chiing minh rang moi do thi vdi
n dinh deu chiia hoac mot clique hoclc mot anti-clique vdi it
nhat I log2n dinh (Dinh ly Ramsey).
0.11 Xet bai toan tim udc so ehung Idn nhat cua hai so tu nhien.
a. Hay phat bigu bai toan quyet dinh tuong ling vdi bai
toan nay.
b. Sii dung bigu dien nhi phan cua cac so tU nhign, hay xac
dinh ngon ngu dac trung cua bai toan quyet dinh ay.
Chi:^crng 1
May Turing va Thuat toan
May Turing duoc de xuat vao nam 1936, theo nhu cau dinh nghia
chinh xac khai niem thuat toan ma trude do ehi duoc higu mdt
each true giae. Vdi nguyen tac hoat dong kha don gian, may Turing
khong ehi la mot khai niem chinh xac ve thuat toan duoc thiia nhan
rong rai nhat, ma con la mo hinh kha diing d^n cua hau het moi
qua trinh tinh toan. Ndi rieng, may Turing eung la mot mo hinh
cua may tinh thuc te, ma nhd do mot trong nhflng may tinh tu
dong dau tign duoc thiet ke va che tao thanh cong.
NOi dung chinh ciia chuong nay la gidi thieu ba dang cO ban
eiia may Turing (may Turing tat dinh mot bang, may Turing tat
dinh nhieu bang va may Turing khong tat dinh) va chiing minh
su tuong duong giua ehung. May Turing con duoc chiing minh la
tuong duong vdi nhung mo hinh tinh toan khae duoc de xuat cho
khai niem thuat toan. Digu do t h i hien kha nSng tinh toan to Idn
cua may Turing mot bang va ly giai vi sao may Turing duoc lua
chon dg dinh nghIa khai niem thuat toan.
Dii kha nang tinh toan eiia may Turing la rat to Idn nhung no
cung ed gidi han, do ed nhiJng bai toan khong thg giai duoc b^ng
may Turing. Day lai la mot dieu thu vi theo nghia rat thuc te. No
cho ta mot gidi han ve mat ly thuygt doi vdi tinh toan ndi ehung hay
mdt ranh gidi giiia giai duoc va khong giai dudc doi vdi bai toan.
36 May Turing va Thuat toan
1.1 May Turing
1.1.1 M6 ta
• C a u tao. May Turing {Turing machine), hay may Turing
tdt dinh mot bang ddn {single-tape deterministic Turing ma-
chine), la mot mo hinh xii ly tin t u dong, ma m6i du: lieu dau vao
duoc bigu di6n dudi dang mot tir tren bang chfl E nao do. Qua trinh
hoat dong cua may di6n ra trong thdi gian rdi rac t = 0 , 1 , 2 , . . .
May bao gom mot bo phan dieu khign, mot bang vo han ve phia
phai, va mOt dau doc-ghi ket noi bo phan dieu khien vdi bang.
Dau doc-ghi
0 0 0 0 1
Bo phan digu khign
H i n h 1.1 So do may Turing
o Bang (hay chinh xac la bang dan) dmc chia thanh cac 6 b^t
dau tCt trai qua phai, m5i o chiia mot ky t u thuoc bang chii T nao
do. Bang cha nay chiia E, mot ky t u dac biet 0 dUdc dung d6 biiu
thi 6 trong (blank), va c6 t h i chiia mot vai ky t u can thigt khac.
Tai thdi digm ban dau i = 0, du lieu dau vao {trie mot tiif thuoc E*)
duoc ghi trgn bang bat dau tH o dau tign, con lai la cac o trong.
o D&u doc-ghi tai moi thdi digm hoat dong cua may soi xet mot
6 tren bang, c6 nhiem vu doc ky t u d 6 do roi thong bao cho bo phan
dieu khien de dudc chi dan thay ky t u do hKng mot ky t u khac,
va sau do c6 t h i chuygn sang o ben canh 6 ben trai' hoac ben phai
1.1 May Turing 37
(tUdng duong vdi viec dich chuygn bang sang phai hoac sang trai
mOt 6). Tai thdi digm t = 0, dau doc-ghi soi xet o dau tien.
o Bo phan dieu khien c6 mot tap hiiu han cac trang thai Q, va
tai mdi thdi digm hoat dong no chi d mot trang thai. Tap Q chuta
ba trang thai dac biet q„, va q^, trong do q^ la trang thai cua
bo phan dieu khign tai thdi digm ^ = 0 ngn duoc goi la trang thdi
ban d&u {start state), q^ la trang thdi chap nhan {accept state)
va (/N trang thai bdc bo {reject state). Day la hai trang thai
khi may diTng hoat dong ngn con dUdc goi la trang thdi kit thuc
{final state). Co thg noi rang, bo phan dieu khign c6 nhiem vu dieu
hanh moi hoat dong cua may theo bang lenh dUdc cai dat san.
Bang lenh cud, may bao gom cac lenh dang gxHry, trong do q
va r la cac trang thai thuoc Q, x va y la cac ky t u thuoc F, con
H 6 { L , R , S}. Lenh qx{ry c6 noi dung nhir sau: Bo phan dieu
khign chuygn tir trang thai hien thdi q sang trang thai r, va dau
doc-ghi thay ky t u x ci 5 no dang nhin bang ky t u y rdi di chuygn
sang trai mot 6, sang phai mot o hay ddng yen tuy thuoc H = L,
H = R hay H = S. Bang lenh can duoc xac dinh mot each chuin
xac va dam bao muc dich tinh toan cua may.
• N g u y e n tSc hoat dong
.Vao thdi digm ban dau, trang thai cua bo phan dieu khign, viec nap
da lieu dau vao va vi t r i ciia dau doc-ghi duoc xac dinh theo quy
udc nhu da ngu tren. Qua trinh xil ly tin tren mSi dfl lieu dau who
duoc dien ra theo cac lenh cua may. Tai mdi thdi digm hoat dong,
khi bo phan dieu khign 5 trang thai q va dau doc-ghi doc duoc ky
tu X trgn bang, ngu may c6 lenh vdi khuc dau qx, thi may thuc
hien theo lenh do vdi noi dung noi trgn. Trong trudng hdp khong
CO lenh nao nhu vay, may diing hoat dong. Viec thuc hien mot lenh
cua may dUdc dien ra trong khoang thdi gian giiia hai thdi d i i m
ke tiep nhau, va dUdc goi la phep biin dSi {step), hay con dudc
goi la phep biin dSi cd ban, cua may. Ro rang, day la mot phep
bign ddi vao loai don gian nhat. Qua trinh duoc tiep dign cho den
38 May T u r i n g va T h u a t toan
k h i may c6 the di dgn nhflng quyet d i n h cuoi ciing d6i vdi du" Ucu
dau vao. Du: Ueu dau vao duoc chap nhan hay bdc ho t u y thuoc
vao su t h i may diitng cl trang t h a i hay 6 t r a n g t h a i q^ k h i qua
t r i n h xijt ly ket thuc. Trong t r u d n g hdp k h i khong den duoc t r a n g
t h a i kgt thuc, qua t r i n h t i n h toan cua may tren dau vao se khong
bao gid dirng. . . . :
M o i may T u r i n g duoc xay dirng deu n h ^ m thirc hien m o t muc
tieu nao do. Trong so cac thanh phan c i u tao cua may, bang lenh
dong vai tro quan trong trong viec thirc hien muc tieu da d i n h va
CO anh hudng rat Idn den hieu qua xijf ly t i n cua may. D6 tirng budc
t i m higu m o t each can ke ve may Turing, t a hay bat dau tir viec
xay dung m o t may T u r i n g don gian d6 d a m dUdng m o t nhiem v u
t a m thirdng nao do. •
V i d u 1.1.1 Hay xay dung m o t may T u r i n g Afi d i kigm t r a t i n h
can xilng cua cac t i t tren bang chi5 E cho trudc.
Til can xUng, hay diep til (paUndrome), la t i l se khong thay doi
k h i t a dao nguce t h i i tir cac ky t u cua no, tilc w = t h i d u n h u
tit madam. N h u vay, tijt rong va cac tiit gom m o t ky t i i la cac diep t i l .
Theo quy d i n h , may phai xijt ly m o i t i l thuOc E*. Hon nfla,
k h i t i n h toan tren t i l v^o w G E*, may Mi se dijtng 5 t r a n g t h i i
chap nhan neu w la diep tir va ditng 6 t r a n g t h a i bac bo q^ t r o n g
tritdng hdp ngudc lai. Trirde k h i xay dung may A/i, t a thiJt dat m i n h
vao dia v i cua may dg xem c6 each nao kigm t r a t i n h can xiing cua
m o t t i l vao bat ky to = a - i a 2 . . . cr„_icr„. Co le ddn gian nhat la Ian
ludt so sanh t i l n g cap cac ky t u d cac vi t r i doi xilng nhau, tiife cap
(cTj, c r n _ i + i ) vdi i = 1 , 2 , — Neu chung khac nhau t h i bac bo t i l
vao; trong t r u d n g hdp giong nhau, t a xoa chiing d i roi lap lai qua
t r i n h so sanh cho den k h i khong con ky t u nao hoac k h i chi con
mot ky t u , va k h i do t i l vao dudc chap nhan. K h a nang " k h i chi c6n
m o t ky t u " vita ngu tudng iJng vdi t i l vao can x i l n g do dai le, con
kha nang kia utng vdi t i t can xilng do dai chan, kg ca t i l rong.
i.l May Turing 39
Ta bat dau xay dung may A/j thco y tudng n h u vay, trong do
dieu dang l u u y la k h i tien hanh mot cong doan so sanh, may xoa
ky t u ben t r a i nhat (tUc thay no bang ky t u 0 ) va can n h d ky t u
do de so sanh vdi ky t u ben phai nhat. Viec nhd mot ky t u da xoa
CO tlig thuc hien dUdc nhd trang t h a i cua may. Vdi giai phap nay,
bang chU F va tap trang thai Q cua may A A c6 thg dudc d i n h nghia
nhu nhung tap sau day:
r = E u { 0 } ,
Cuoi Cling, doi vdi bang lenh cua may, d6 tien theo doi t a xae lap
va phan chia cac lenh t h a n h nhUng nhom theo chile nang n h u sau.
1. Xoa ky t u khac 0 bgn trai nhat trgn bang neu c6. D i chuygn
dau doc-ghi sang phai de t i m ky t u khac 0 ben phai nhat:
go^Ryf 0 , doi vdi moi x e E
qiyRqfy, doi vdi moi y G E
q^0Lq^0.
l a . K h i t i m dUdc ky t u n h u vay, so sanh no vdi ky t u vila
bi xoa. Neu chiing giong nhau t h i xoa ky t u viia t i m
dUdc va d i chuygn dau doc-ghi sang t r a i dg lap lai quy
t r i n h ; ngUdc lai, neu chung khac nhau, t h i bdc bo:
^fx-Lc/30
qsy^^qsv
qs^RqoQ;
q^zSq^z, doi vdi 2 e E ma z 7^ X .
l b . Neu khong t i m thay ky t u nao khac 0 t h i chap nhan:
chap nh^n diep tiT dO dki
2. Neu tren bang chi toan la ky t u trong 0 t h i chap nhan:
qQ<2)Sqy(Z). [[ d i a p niian digp tit dO dai ciian]]
•
40 May Turing va Thuat toan
Sau day ta hay quan sat qua trinh tinh toan cua may Turing
Ml doi vdi t i i vao abbcacacbba tren bang chiJ E = {a, b, c}:
a b b c a c a c b b a 0
T
0 b b c a c a c b b a 0
T
9?
0 b b c a c a c b b a 0
T
0 b b c a c a c b b a 0
T
0 b b c a c a c b b 0 0
93
• ' 0 0 0 0 0 0 0 0 0 0 0 0 ^
T , , , , , '
0 0 0 0 0 0 0 0 0 0 0 0 ^
T
0 0 0 0 0 0 0 0 0 0 0 0
T .
9l
0 0 0 0 0 0 0 0 0 0 0 0
T
92
0 0 0 0 0 0 0 0 0 0 0 0
t
H i n h 1.2 May hfy tinh toan va chSp nhan tit vao abbcacacbba
1.1 May Turing 41
Nhu vay, chiing ta da xay dung may Turing M^ vdi day du cac
chi tiet cau thanh cua no, dac biet la bang lenh, va xem xet cu the
qua trinh tinh toan cua may tren mQi t i l vao. Tuy nhien, dg de hinh
dung each thiic tinh toan cua may Turing noi chung, ta chi nen de
cap den nhiJng yeu to co ban mang tinh dac trung cua may, bo qua
nhiing yeu to phu trg, tuong t u nhu khi ta trinh bay mot thuat
toan. Vice liet ke cac lenh cua may Turing cung giong nhu viec lap
trinh doi vdi thuat toan. V i vay, trong trudng hop khong can phai
ncu ra day du cac chi tiet, may Turing sc duoc the hien bdi nhung
y^u to can thiet, du xac dinh each thiJc tinh toan cua may. Bang
each the hien nhu vay ta thu dUdc mot phep bieu dien don gian
hon doi vdi may Turing, dac biet la doi vdi nhiJng may phiic tap,
nhung van dam bao tinh chudn xac ciia no.
T h i du, may Turing Mi neu tren ki6m tra tinh can xiing doi vdi
cac t i l vao tren bang chii S, bang each di chuygn dau doc-ghi tir
trai qua phai roi quay ve phia trai de thuc hien mot quy trinh lap,
bao gom vice so sanh cac ky tU cua w d nhiJng vi t r i doi xurng. NCu
giong nhau thi xoa chiing di va lap lai quy trinh; ngUdc lai, bdc bo.
Ta CO the dien ta may hfi mot each don gian va chudn xac nhu sau:
A A ="Tren m6i tl vao G S*:
1. Thuc hien mOt quy trinh lap, xda ky t u khac 0 ben trai nhat
tren bang neu cd. Di chuyen dau doc-ghi sang phai d6 rim
kiem ky t u khac 0 ben phai nhat.
l a . K h i rim dudc ky t u nhu vay, so sanh no vdi ky t u vrfa
bi xoa. N6u clmiig giong nhau thi xda ky t u viia rim
dUdc va di chuy6n dau doc-ghi sang trai de lap lai quy
trinh; ngUdc lai, neu chiing khac nhau, thi bdc bo.
l b . Neu khong rim thay ky t u nao khac 0 thi chap nhan.
2. Khi bat dau mot quy trinh lap, ncu tren bang chi toan la ky
tu trong 0 thi chap nhan."
May Turing va Thuat toan
• Bo nhd cua may Turing |
Qua nhang khao sat tren day, dac biet la til Vi du 1.1.1 vrta neu,
ta nhan thay rang may Turing c6 hai bo nhd, do la bo nhd trong vk
bo nhd ngoai.
Tap trang thai cua may c6 mot vi tri quan trong trong qua trinh
tinh toan va dong vai tro nhu ho nhd trong. Dung luqng bo nhd
trong cua may Turing la hiJu han.
Bang cua may la ndi thuc hien viec xijt ly tin, va tren do luon
the hien ket qua xii ly ciia may tai moi thdi digm hoat dong, ke tiT
thdi digm ban dau den thdi digm ket thiic. Do vay, bang la hg nhd
ngoai cua may. Bo nhd nay c6 dung luong vo han ve tiem nang.
Day la di6m khac nhau cd ban giiia may Turing va otomat hflu han
- mot mo hinh truyen thong vg tinh toan.
Nhu vay, may Turing khong nhiing duoc phac thao vdi nhiing
net CO ban cua no ma con duqc minh hoa cu thg trong mot trudng
hop don gian. Tuy nhien, de thuc hien nhiing nhiem vu phiJc tap
ddi hoi phai xay dung cac may Turing rat Idn, ta can dign ta may
Turing mot each hinh thdc vdi day dii cac chi tiet cau thanh nhung
van dam bao tinh ngan gon can thiet. ^
1.1.2 Dinh nghia hinh thiJc
Trong viec xay dung may Turing, khau quan trong nhat la viec
xac dinh bang lenh. M6i lenh cua may Turing, ma noi dung cua no
da duoc neu ro d tren, hudng dan each thilc thuc hien mot phep
bien ddi co ban va ddng thdi tao tign dg cho phep bign ddi tiep
thco. Bang lenh ciia may thuc chat la mot thg hien cua mot ham,
duoc ky hieu la ^, tCf Q x T den Q x T x {L,R,S}. Cu thg, ddi
vdi mdi (r/, x) G Q x F, ham 6 xac dinh tai (g, x) va nhan gia tri
(r, y, H) e Q X r X {L, R, S}, tiJc 5{q, x) - (r, y, H), khi va chi khi
may co lenh qxWry. Nhu vay, mot each hinh thiJc may Turing cd ^
thg duoc dinh nghia nhu sau.
1.1 May Turing 43
Dinh nghia 1.1.1 May Turing (Turing machine) M la mot bo
bao gom bay thanh phdn,
A/ = (g,s,r,5,^„,9,,9j,
trong do
1. Q la tap hHu han cac trang thdi,
2. E Id bang chQ vdo hHu han, khong chila ky tit trong 0,
3. r la bang chU bQng hHu han, chUa E, 0 va co thi mot vai
ky tiX can thiet khac,
4. (
5 : g X r —^ Q X r X {L, R, S} /a ham chuyin,
5. £ Q la trang thdi ban dau,
6. Qy € Q la trang thdi chap nhan, vd
7. ^ Q Id trang thdi bdc bo, 7^ Qy
Qua trinh tinh toan cua may Turing M tren moi tiJt vao thuoc E*
dign ra theo cac quy tac duoc thg hien bdi ham chuyen 6, giong nhu
theo cac lenh ma ta da mo ta d phan tren. Tai moi thdi diem trong
qua trinh tinh toan, cac yeu to ve trang thai cija bo phan dieu
khign, ve noi dung trgn bang va ve vi tri cua dau doc-ghi tai thdi
digm do Cling nhau phan anh mot "hinh thai" cua may. Dieu nay
giup ta cd thg hinh dung mot each ro ngt viec tinh toan cua may 6
tiing thdi digm hoat dong, va dUdc dinh nghia mot each hinh thilc
nhu sau.
Dinh nghia 1.1.2 Hinh thdi (configuration) cua mdy Turing
M tai mot thdi diem ndo do trong qud trinh tinh todn Id mot tH
'^qv hay la mot bo {q, {u,v)), trong do vdo thdi diim ay bo phdn
dieu khiin cua M dang d trQ,ng thdi q, noi dung tren bdng la uv vdi
e r* con y e r+, va dau doc-ghi dang d 6 chita ky tie dau tien
cua V. Ndi chung, ta cd thi gia thiet rdng ky tie dau cua u cung nhu
tit cuSi cua V khdc ky tu trong 0, ngoai trit cdc trudng hap hade
^ Id tit rdng hoac v = 0.
44 May Turing va Thuat toan
Thi du, theo dinh nghia, tir x i X 2 . • • xt qyy2 - • • Vh la hinh thai |
cua may Turing tai thdi digm ma bo phan digu khien ciia may dang
6 trang thai q, noi dung tren bSng la xiX2 • • • XkUiy^ • • - Vh va dau
doc-ghi dang 5 o chuta ky ttt yi. Hinh ve dudi day thg hien may
Turing vdi hinh thai nhu vay.
0 • 1 0 ••• yh 0 ••• 0
Hinh 1.3 May Turing vdi hinh thai xi.. .Xkqyi • • • Vh
Trong so cac hinh thai cua may Turing ta can luu y t6i mot vai
hinh thai dac biet. Trudc tien, hinh thdi ban dau {start configu-
ration) cua may A f tren tit vao w la hlnh thai qow vdi npi dung la:
tai thdi digm ban dkn til vao w duoc ghi tren bang bat dau tii o
thii nhat, bo phan dieu khien cua A / 5 trang thai q^ va dau doc-ghi
soi xet 6 dau tien. Tiep den, hinh thdi chdp nhan {accepting
configuration) la hlnh thai cua may khi bo phan dieu khign 6 trang
thai q^. Cuoi ciing, hinh thdi bac bo {rejecting configuration) la
hinh thai ciia may khi bo phan digu khign d trang thai q^. Hinh
thai chap nhan va hinh thai bac bo la cac hinh thdi diing {halting
configuration) hay hinh thdi kit thuc {final configuration) cua
may Turing. T^ nhflng hlnh thai nay may khong thg chuygn sang
bat ky mot hinh thai nao khac. >
Quan sat su hoat dong cua may Turing trgn m5i til vao, ching
han nhtr trgn Hlnh 1.2, ta nhan thay r^ng qua trinh tinh toan cua
may la mot qua trinh may chuygn doi til hlnh thai nay sang hlnh
thai khac. Viec chuygn dSi hlnh thai giiia hai thdi digm ke tiep nhau
duac thuc hien nhd mot phep bien d6i. Nhan thiic nay duqc hinh '
thiJc hoa nhu sau.
1.1 May Turing 45
Dinh nghia 1.1.3 Cho M la mot may Turing vdi ham chuyin 5,
cho C va C la hai hlnh thdi cua may A/ tren mot tit vao nao do.
Ta noi fang may Turing M 6 hinh thdi C chuyin trUc tiip sang
hlnh thdi C, va ta viSt C ^ C hay chi dan gidn la C ^ C, neu
xay ra mot trong cdc hien tuong sau day:
1. C = uxqyv, C = uq'xzv va 6{q, y) = {q L),
2. C = uxqyv, C = uxzq'v va d{q, y) = {q, R),
3. C = uxqyu, C = uxq'zv va 6{q, y) = {q', z, S),
trong do x, y, z la cdc ky til thuoc T, va u, v Id cdc tii: thuoc T*. Tiep
theo, ta noi rdng mdy Turing M d hlnh thdi C chuyin {gidn tiep)
sang hlnh thdi C, va ta viSt C H - ^ C" hay C —> C, neu ton tg,i
mot day cdc hlnh thdi C i , C 2 , . . . , Cjt cua M vdi Ci = C vdCk = C
sao cho Ci (-> Cj+i doi vdi moi i, 1 < i < k — I.
Nhxl vay, qua trinh tinh toan cua may Turing tat dinh trgn tii
vao w CO thg diioc dign ta bdi mot dudng di c6 hudng tit hlnh thai
ban dau CQ = ^o"^ den hlnh thai kgt thtic Cf va di qua cac hinh
thdi Ci cua may:
Co i-> C i i - > • • • I—> C j I—> • • • I—> Cf,
hoac CO khi bdi mot dudng di vo han, neu qua trinh tinh toan ciia
may tren w khong diJng.
Vi du 1.1.2 Cho hai so tu nhign dudi dang nhi phan. Hay xay
dung mot may Turing A/2 de kigm tra xem lieu chiing c6 bang nhau
hay khong.
Dau tign ta can xac dinh bang chil vao E cua may Turing A/2.
Ta se diing dau thang (
1 dg ngan each nhflng biiu dign nhi phan cua
hai so tu nhign ma may A/2 can xem xet. Nhu vay E = {0,1, tj} va
do do dii lieu dau vao cua may Turing A/2 la mot ttt bat ky trgn
bang chu: S. Doi vdi nhiing tut vao khong chiia mot ky tu jj nao cung
46 May Turing va Thuat toan
nhtr nhuing ti bat dau b6i 0 hoac tl (do tCt vao thich hop phai chuia
ky t u t
J dg ngan each bigu di§n cua hai so t u nhien vh bigu dien nhi
phan cua m6i s6 t u nhien dgu bat dau boi ky t u l ) , may A/2 bac
bo chiing khong may kho khan. Khi xiJt ly cac tii vao con lai (chuta
it nhat mot ky t u Jl), may tien hanh so sanh khuc dau cua tit vao 6
phia trudc ky t u t
J thii nhat vdi khuc duoi ngay sau ky t u iy. Viec
so sanh duoc tien hanh bang each di ehuygn dich dac dau doc-ghi
dg thue hien mot qua trinh lap ma moi phep lap bao gom viec xoa
mot ky t u cua khilc dau noi trgn va so sanh no vdi ky t u tuong ling
cua khiic duoi. Ngu chung giong nhau thi thay ky tU tUOng Hug ty
hhng dau ®; ngUdc lai, bdc bo tl vao. Hon nfla, khi bat dau mot
phep lap, ngu may gap ngay dau tl thi tien hanh kigm tra cac ky
t u ngay sau do. Neu sau dau tl nay chi la nhiing ky t u (g) va 0, t h i
chap nhan; ngUdc lai, bdc bo.
Vdi y tucing ngu trgn, may Turing A/2 dg dang dugc xay dung
nhil sau:
Af2 = (Q,S,r,<5,^„,9„gJ,
trong do:
^ = {0,1,1},
r = {0,1,11,0,0}
vk hkm ehuygn
• 6:Qxr—vgxrx{L,R,s}
tiing budc dKOc xac dinh nham thue hien nhiing yeu cau eu the sau
day.
1. Bac bo til rQng va cac tit bat dau bdi ky t u 0 hoac tl:
S{qo,(Z>) = {q^,<2),S) 5(^0, O) = (9^, 0, S)
• . <^(go,ll) = ( 9 ^ , 0 , 8 ) .
1.1 May Turing
47
2. Bac bo cac tir vao bat dku bdi ky t u 1 khong chiia ky t u ft,
va dong thdi thuc hien phep lap dau tign:
^ ( ^ 0 , 1 ) - {ql0,R) = (^/N,0,S)
^(^1,0) = = ( ^ 3 , 0 , L )
SiqsA] = ( ^ 3 8,L)
S{ql0) = S{q3,0) = ( ^ 3 0,L)
Aq3,i) = {qs, 1,L).
3. Thue hien cac phep lap tiep theo: '
'^(^3,0) = (g;„0,R) 5{q',,l) = {q^„l,R)
S{qoA) = {ql(Z),R)
^(^/o,O) = (g?,0,R)
% J , 0 ) = . ( ^ J , 0 , R )
KqlJ)-iqllR)
6{q',, 0) = (^l-, 0, R)
siql») = (^2", IR)
6{ql 0 ) = {ql 0, R)
Hql^) = ( 7 3 , 0 , L )
&{qlO) = {q^,®,L)
(^(^3,0) = ( ( / 3 , 0 , L ) .
4. Bac bo tat ca cac tit vao khong thieh hop con lai:
4a. Cac tit vao ma khuc dau va klmc duoi sau dau tl thii nhat
CO cac ky t u tUdng ling khac nhau
<^(^2,O) = ( ^ „ 0 , S ) t5(V2",l) = ( ^ N , 0 , S )
'^(V2,«)-(^/K,0-^) % 5 , » ) = ( 7 N , 0 , S ) ;
4b. Cac ti vao mh khuc dau vk khuc duoi sau dau jj thil nhat
CO do dai khac nhau
(5(^4, 0)
« , 0 ) = (^N,0>S) 1) = (9N>1,S)
,tt)
^{(h,®) = ( g 4 , 0 , R ) -
5. Chap nhan:
<^(^4,0) = ('/v,0,S).
Bang each xay dirng nhil vay, khi tinh toan tren moi tiJ vao
u; G {0,1, tJ}*, may Turing A/a dtog d trang thai chap nhan neu
va chi neu uu = lu^lu vdi moi u e {0, l } * . Do do, khi kidm tra tiTng
cap s6 t i ; nhien duqc bieu dicn dudi dang nhi phan, may A/a diTng
d trang thai chap nhan neu va chi neu chiing bang nhau. •
Chu y 1.1.4 Theo dinh nghia, vice xay dung may Turing A /
nham thirc hien mOt muc dich nao do thildng doi hoi: K h i tinh
toan tren moi tir vao, may d t o g d trang thai chap nhan neu tit vao
thich hop v6i muc tieu do va may diTng d trang thai bac bo neu
tit vao khong thich hop. Tuy nhien, ta c6 the xay dung mot may
Turing hf dan gian hon bang each elii doi hoi may ditng d trang
thai chap nhan doi vdi nhiJng tit vao thich hop, con doi vdi nhiing
tit khong thich hdp, may c6 thg ditng 6 bat cii trang thai nao kiiac
vdi trang thai chap nhan. Ro rang hai may A / va A / ' la tuong duong
nhau theo nghia ciiung cung thirc hien mot muc dich de ra. Cu thg,
may A / ' diroc xay dung nhii sau.
Gia sijf may A^ duoc xac dinh nhu trong Dinh nghia 1.1.1. Bay
gid tren co s6 may A / , ta xay dung may Turing A / ' chi bao gom sau
1.1 May Turing
49
thanh phan,
A r = (g',E,r,c^-',.y,,<yj,
trong do Q' = Q  va ham chuyfin
( 5 ' : g ' x r - ^ Q ' x r x { L , R , S }
dUdc xac dinh dua theo ham chuyen 6 cua may Af nhu sau: Doi
vdi moi {qi,x) e Q' x F, neu 6{q^,x) = {qj,x'.U) vdi qj f q^ t h i
^'W, ^) = (^j' H), trong do H G { L , R, S}; trong trudng hop neu
<5(^fc, v) = (QN^V'^ H ) thi 6'{qk, tj) khong xac dinh.
Do S'{qk, y) khong xac dinh, nen may A T ditng 5 trang thai q^
va bac bo tit vao ma no dang xut ly. Tuy nhien, dieu nay khong c6
nghia qk la trang thai kct thiic. Bdi vi, khi x u ly tren mot tit vao
khac CO thg may A/' cung d trang thai qk nhung dau doc-ghi nhin
mot ky t u z khac y va 6'{qk, z) xac dinh, thi may A / ' ti6p tuc hoat
dong theo su chi dan do.
B^ng each xay dung nhu vay, may A / ' tuong dudng vdi may Af
va CO ham chuygn ddn gian hdn. Chang han, doi vdi may Turing
Af2 vdi ham chuy6n S duoc dinh nghia trong V i du 1.1.2, ta c6 t h i
xay dung mot may tUdng duong AA2 vdi ham chuyCn 6 ' , trong do
ham 5' duoc dinh nghia tren co sd danh sach bao gom tat ca cac
trudng hop xac dinh cua ham 6 , bang each loai bo nhung trudng
hop lien quan den trang thai bac bo q^.
Bdi vay, khi khong can den trang thai bac bo, ta co the xay
dung may Turing thco each don gian nay.
1-1.3 Cac chu-c nang chinh cua may Turing
Qua cac VI du neu tren ehung ta da thay duoc mot vai vice cu the
ma may Turing co kha nang thuc hien. Sau day chung ta se xem
^et nhung chUc nang ma may Turing co duoc. Do la doan nhan
ngon ngU va tinh cac ham, trong do vice doan nhan ngon ngU 1^
50 May Turing vk Thuat toan
rat quan trong. Bcli v i , doan nhan ngon ngu; la mot khau CO ban
trong qua trinh giai cac bai toan quyet dinh, nhu da duoc trinh bay
trong Phan 0.3.
Dg xac dinh mot each cu thg cac chiJc nang cua may Turing,
chiing ta hay tttng budc dinh nghia cac khai niem lien quan.
• M a y Turing doan nhan ngon ngi?
Trong Muc 1.1.2 ta da dinh nghia khai niem lien quan den cac hinh
thai ciia may Turing va xem xet di6u kien de may c6 the chuySn tCt
hinh thai nay sang hinh thai khac. Ngoai ra, ta cung da hinh dung
duoc khi nao may chap nhan hay bac bo tvi who. Sau day ta se dinh
nghia mot each hinh thiic khai niem nay.
D i n h nghia 1.1.5 Cho may Turing M vdi hang cM vdo E. Ta
not rhng may Turing hf chap nhan ddu vdo {accepts input) w,
neu qow uq^v, nghia la khi tinh toan tren tic vac w, may hf
chuyin tit hinh thai ban ddu den hinh thai chap nhan.
Tap cac tH vao ma may A/ chap nhan tao thanh ngon ngii chap
nhdn duac cua M, duoc goi la ngon ngvl cua may Turing {lan-
guage of a Turing machine) Af va dUde ky hieu bdi LM-
D i n h nghia 1.1.6 Ngon ngii L duac goi Id dodn nhan ditdc
theo Turing {Turing-recognizable), hay dan gidn la dodn nhan
dtCdc {recognizable),^ neu no la ngon ngU. chap nhan duac cua mot
may Turing ndo do, nghia la neu tSn tai mot may Turing hf sao
cho fj = fjM. Khi do ta noi rhng "may Turing hf dodn nhan ngon
ngU f.", hay "ngon ngU f^ duac dodn nhdn bdi may Turing hf".
Nhu vay, d6 chiing to rSng mot ngon ngu: f. nho do tren bang
chu; X la ngon ngu: doan nhan duoc, ta can xay dung mot may
Turing hf vdi bang chii vao E = X sao elio fj = Jj^.
'NgOn ngu: n^y c6n diryc gpi k ki dUdc de quy {recursively enumerable).
1.1 May Turing ^1
Quay t r d lai vdi cac vi du neu tren, may Afj trong V i du 1.1.1
la may Turing doan ngon ngu: bao gom tat ca cdc diep t i i tren bang
chfl S, tiic ngon ngii L j sau day:
fa = {w  e E * , u; = l y ^ } ,
trong do la tit nguoc cua w. Con may A/2 trong V i du 1.1.2 va
may A/2 trong Chu y 1.1.4 la cae may Turing ciing dodn nhan ngon
ngu: //2 duoc xae dinh nhu sau:
f^2 = {Miuue {0,1}*}.
Qua trinh tinh toan eua may Turing tren mot tiT v^o c6 the d i n
den mot trong ba kha nang sau day: May chap nhan, may bac bo,
hoac sau mot hoi tinh toan, may lap lai mot cong doan nko do giong
nhu mot "day thong long" {loop) va do do niy sinh hien tuong may
khong ditng.
Nhan thay rang qua trinh t m h toan tren moi tiif vko ciia cac
may Turing A/i, A/2 va A/^ neu tren deu d t n den kha nang chdp
nhan hoac bdc bo. Ta c6 thg de dang chi ra cac may Turing ma qua
trinh tinh toan tren mot s6 t i i vao khong bao gid diifng. T h i du, dtta
theo may A/2 ta c6 thg xay dung mot may Turing A/^' b^ng each
siia d5i doi chiit ham chuygn ciia no tai mot vai d i i m . Chang han,
ham chuySn ciia A/2 tai ba digm (94, x) vdi x = 0 , 1 , |j, nhu da duoc
xac dinh trong trudng hop 4b bdi
5{qi,x) = {q^,x,S),
nay duoc siia d6i thanh
S{q4,x) = {q3,x,L).
Ro rang, theo dinh nghia ve ngon ngii doan nhan duoc, may
^^2 cung doan nhan ngon ngii f^2, nhung no khong bao gid diing
khi x i i ly cac til vao dang lu^uv vdi u G { 0 , 1 } * va v e { 0 , 1 , ^}+.
52 May Turing vh Thuat toan
Tuy nhien, day khong phai la mOt su cai tien de thu duac mot may
Turing dep hon ma la ngtroc lai. 0 day, may Afj chi don thuSn Ih,
thi du vg mot may Turing tuy c6 kha nSng doan nhan mot ngon
ngu; cho triidc, nhung tren mot so ttf vao nao do qua trinh tinh toan
cii diin ra lien tiep va may khong thg di den quyet dinh chap nhan
hay bac bo.
Nhu vay, ngon ngu: L2 diioc doan nhan b5i cdc may Turing
dicng hh va M2. Ngoai ra, ngon ngu: con dUdc doan nhan bdi
may Turing khdng dilng M'^.
May Turing diing duoc goi la may quyet dinh {decider), bdi
vi no luon luon c6 kha nSng quyet dinh chap nhan hay bac bo doi
v6i moi tit vao ciia no.
D i n h nghia 1.1.7 Ngon ngU L duac goi la khang dinh dtCdc
{decidable), hay cu thi han la khang dinh duCdc theo Turing
{Turing-decidableY, neu no duac doan nhan bdi may quyet dinh M
nao do. Trong trudng hap ay, ta noi rdng "may Turing dilng M
khdng dinh ngon ngU L ", hay "ngon ngU L duac khang dinh bdi may
Turing dxing hf"; nguac lai, ngon ngU L duac goi la khdng khang
dinh duCdc {undecidable).
Nhu vay, moi ngon ngiJ khSng dinh duoc deu la ngon ngu: doan
nhan duoc. Tuy nhien, dieu nguoc lai khong phai bao gid cung
dung. Trong Phan 1.4 tiep theo, ta se chi ra mot vai ngon ngu: doan
nhan duoc nhung khong la nhQng ngon ngu: khSng dinh duoc. Dieu
do chiing to rang, Idp ngon ngC khing dinh duoc h mot Idp con
thuc su trong Idp ngon ngU doan nhan duoc.
Cac ngon ngu: In va L2 neu tren la cac ngon ngii khSng dinh
duoc, b5i vi Li duoc doan nhan bdi may quyet dinh Afi, con L 2
duoc doan nhan bdi cac may quyet dinh A [2 va A/j. Sau day ta se
xem xet them mot ngon ngU khang dinh duoc.
^Ngon ngQ nky cbn dirge gpi 1^ de quy (recursive).
1.1 May Turing
53
V i du 1.1.3 Cho ngon ngu:
L, = {0'Vi = ,2,...]. - •
Chilng minh rang la ngon ngU khang dinh duoc.
Ta can chiing to rang ton tai may Turing dUng hU doan nhan
ngon ngu: L^. That vay, may A/a duqc xay dung nhu sau:
A/3 = (g,{O,l},{O,l,0},(J,9„,9^,gJ,
trong do Q = {^0, ^ 1 , 9 2 , 9 3 , 9 4 , ^N) va ham chuyin 5 xac dinh
sao cho qua trinh tinh toan tren m6i tCt vko dupe di§n ra theo mOt
quy trinh lap ma noi dung moi phep lap bao gom: D i chuyen dich
dac dau doc-ghi t i i ky t u khac 0 dau tien den ky t u khac 0 cuoi
cUng tren bang va xoa cac ky t u ay, neu chiing tUdng ling la 0 va 1;
nguoc lai, bac bo. K h i thuc hien budc lap dau tien, may dong thdi
loai bo tCr rOng cung nhu nhUng tif vao ma bat dau bdi ky t u 1 vk
nhUng tCr vao ma sau ky t u 1 con xuat hien ky t u 0. K h i bat dau
mot phep lap tiep theo (may d trang thai q'^), khong kg phep lap
dau tign, neu bat gap 0 , tire bang con toan o trong, t h i chap nhan.
Vdi y tudng nhu vay, ham 5 duoc dinh nghia nhu sau.
1. Thuc hien budc lap dau tign va dong thdi bac bd nhUng
tiir vko khong thich hop, cu t h i :
la. Thuc hien budc lap dau tign
<^(9o 0) = ( 9 i , 0 , R ) 5{q2 0 ) = ( 9 3 , 0 , L )
^(91 0) = ( 9 i , 0 , R ) S{q3 1) = (94, 0 , L )
5(91 1) = ( 9 2 , 1 , R ) _ 6{q4 ,0) = ( 9 4 , 0 , L )
<^(92, 1) = ( 9 2 , 1 , R ) <^(94, 1) = ( 9 4 , 1 , L ) ;
lb. Bac bd tiir rdng
<^(9o,0) = ( 9 N , 0 , S ) ;
54
May Turing va Thuat toan
i
I c . Bkc bo nhang tif vho ma bat dku bang ky t i l 1 va nhiing j
tCt vao ma sau ky t u 1 con xuat hien ky t u 0
<^(9o,l) = ( ^ N , l , S ) 6{q2,0) = {q^,0,S).
2. Thuc hien cac bir6c lap tiep theo
S{q4, 0 ) = {q'o, 0 . R) ^ ( ^ 0 , 0) = 0 . R)-
3. Ket thuc:
3a. Bac bo nhiing tit vao c6 dang O'l^ di j > i > I
Siq'oA) = {%A.sy,
3b. Bac bo nhflng t i l vko c6 dang O'l^ vdi i > j > 0
'5(91,0) = ( ^ N , 0 , S ) ;
3c. Chap nhan nhiing t i i vao c6 dang 0*1' v6i i > 1
<5Uo-0) = ( 9 v , 0 , S ) .
•
• M a y T u r i n g t i n h cac h a m
Cho ham / : E* —> E*. (Khong mat tinh t6ng quat, doi v6i moi
ham f : X' —> V*, ta c6 th6 gia thiet rang X = Y hdi vi noi chung
/ la ham bo phan.) Ta hinh dung rang, may Turing tinh ham /
bang each x i i ly m5i t i i vao it; e E* sao cho, neu tai w ham / xac
dinh t h i may diing 6 trang thai chap nhan v^ noi dung trcn bang
la t i i f{w) e E*; ngiidc lai, may diing 6 trang thai bac bo.
Triidc khi dinh nghia mot each hinh thiic khai niem ham tinh
dtfoc, ta hay xem xet mot quan he ham diiOc xac dinh bdi may I
Turing cho trudc.
1.1 May Turing 55
Gia sii Af = {Q,T.,r,5,q^,q^,q^) Ih mQt may Turing. Ham
tuang ring vdi may Turing A M a ham tut E* vao F*, duoc ky hi?u la
va diidc dinh nghia nha sau:
p (^yj-^ _ I uq^v,
I khong xdc dinh, neu ngugc lai.
D i n h nghia 1.1.8 Ham f : E* — y E* dicac goi la tinh dtCdc
{computable), hay cy, thihan Id tinh dvCdc theo Turing {Turing-
computable), neu ton tai mot mdy Turing diing M sao cho ham
tuang ling vdi no FM trung vdi ham f, tUc FM — f theo nghia, doi
vdi moi to G E*, neu mot trong hai ham xdc dinh thi ham kia cung
xdc dinh vd chung nhan cung mot gid tri. Khi do ta noi ring "mdy
Turing diing M tinh ham f" hay "ham f tinh dU0c bdi mdy Turing
diing M". • '
Nhii vay, doi vdi may Turing M tinh ham /, tap E khong chi
1^ bang chii vao ma con la bang chU ra cua may. Hdn niia, khong
mat tinh t6ng quat, ta luon luon c6 thg gia thiet r^ng moi hinh thai
chap nhan cua may M deu c6 dang q^w' vdi w' - f{w) 6 E*. Dieu
nay de dang c6 diidc bang each, triidc khi dCtng 5 trang thai chap
nhan q^, may Turing ;U di chuyin dau doc-ghi den o chtia ky t i i
thii nhat cua w' roi mdi diing chinh thiic. Do do, doi vdi mgi dau
vko 6 E*, ta GO:
qow
M
f xdc dinh tai w vd nhan gid tri f{w).
V f d u 1.1.4 Cho ham / : {0,1}* {0,1}*, trong do
j.^ ^ fo'*^, n i u w = O'lO*^ vdi moi i . A; > 1,
kh6ng xdc dinh, neu ngiroe lai.
hiing minh rang / la ham tinh diidc.
56 May Turing va Thuat toan
That vay, d i tinh ham / ta c6 t h i xay dung mot may Turing
dirng Af theo y tudng sau day: Trirdc tien, loai bo cac til vao khong
CO dang O'lO'^ {i,k > 1) va ngSn each phan dii lieu dau vao vdi ket
qua tinh toan bdi dau tt; dong thdi, tien hanh chuyin xau O'^ sang
ben phai dau tj bang each Ian luot chuyin tiJtng ky tU mot (ky t u
nao chuyin di thi duac danh dau bdi <S>). Qua trinh chuyin xau
0*^ duoc di§n ra t Ian, moi Ian chuyin nhu vay mot ky tU 0 trong
xau 0' (ben trai ky tU 1) duoc xoa di. Qua trinh nay ket thiic khi
khong con ky tU 0 nao ben trai ky t u 1. Cuoi ciing, trudc khi ket
thtic qua trinh tinh toan, xoa cac ky tU bat dau tiir 1 cho den dau [t,
va khi do tren bang chi con lai dung ik ky tU 0.
Vdi y tudng neu tren, may Turing A f duoc xay dung hdi
M = {Q, {0, 1}, {0, 1,1 0, 0 } , 6, q,,qy,q^),
trong do g = {^o. 9o> 9i> ^2, • • •, 99, 9Y, 9N} ham chuyin 6 duqc
xac dinh nhu sau.
1. Bac bo cac til vao khong c6 dang O'lO*^; dong thdi, xoa ky tU
0 dau tien trong xau 0', danh dau (1 ngay sau cuoi tit v^o va
di chuyin dau doc-ghi ve o chufa ky tU dau tien trong xau O'^:
HQO,0) = (9N,0>S) S{q2A) = (9N.1.S)
S{qo, 1) = S{q2,0) = (93,0,R)
% o , 0 ) = ( 9 i , 0 , R ) 5(93,1) = (9N>1>S)
<^(9i,0) = ( 9 x , 0 , S ) % 3 , 0 ) = (93,0, R )
% i , 0 ) = (gi,o, R ) S{q3,0) = (g4,tt,L)
<^(9i,l) = (92,1,R) 5{q,,0) = (94,0,L)
<^(92,0) = ( 9 N , 0 , S ) 6{q,,l) = (95,1,R)
1.1 May Turing
57
2. Lan luot chuyin tUng ky t u 0 trong xau 0*= sang ben phai
dau jj (sau khi da xoa mot ky t u 0 trong xau 0'), ky t u nao
chuyin di thi duoc danh dau bdi (g):
2a. Chuyin ky t u 0 dau tien
%5,O) = (96,0,R) <5(96,tt) = (96,tt,R)
<5(96, 0) = (96, 0, R ) 6{qe, 0 ) = (94, 0, L )
2b. D i chuyin dau doc-ghi ve o ngay sau dau ® va chuyin
tLfng ky t u 0 tiep theo trong xau O'^ cho den het
<5(94,») = ( 9 4 j , L ) (5(94,0) = (95, ® , R )
2c. Ket thiic viec chuyin xau 0*^. D i chuyin dau doc-ghi sang
trai, khoi phuc lai xau O'^ d i lap lai qua trinh
«5(95,tt) = (97,«,L) <5(97,1) = (97,1,L)
<5(97,0) = (97,O,L) (5(97,0) = (g7,0,L)
3. Lap lai qua trinh chuyin xau 0*= cho den khi trong xau 0'
khong con ky tU nho (m5i lan lap lai t h i mot ky t u 0
S{qs, 0) = (98, 0, R )
M98,1) = (95,1,R)
(5(99,0) = ( 9 9 , 0 , R )
trong 0' duoc xoa di) :
<5(97;0) = ( 9 O , 0 , R )
(5(9^,0) = (98, 0 , R )
4. Ket thuc tinh toan:
<5(9'o,l) = ( 9 9 , 0 , R )
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf
Lý thuyết độ phức tạp tính toán.pdf

More Related Content

What's hot

Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.ssuser499fca
 
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGChương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGLe Nguyen Truong Giang
 
Nhận dạng mặt người bằng thuật toán PCA trên Matlab
Nhận dạng mặt người bằng thuật toán PCA trên MatlabNhận dạng mặt người bằng thuật toán PCA trên Matlab
Nhận dạng mặt người bằng thuật toán PCA trên Matlabhieu anh
 
Bài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngBài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngNguyễn Nam Phóng
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiUDCNTT
 
Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT NguynMinh294
 
Bao cao tom tat de tai tot nghiep
Bao cao tom tat de tai tot nghiepBao cao tom tat de tai tot nghiep
Bao cao tom tat de tai tot nghiepNguyễn Công Huy
 
[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử líHong Phuoc Nguyen
 
Đồ án UML-ASP quản lý phòng khám nha khoa
Đồ án UML-ASP quản lý phòng khám nha khoaĐồ án UML-ASP quản lý phòng khám nha khoa
Đồ án UML-ASP quản lý phòng khám nha khoaTrung Thành Nguyễn
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhCao Toa
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên nataliej4
 
Bo dieu-khien pid
Bo dieu-khien pidBo dieu-khien pid
Bo dieu-khien pidAlain Hua
 
BaoCaoFreeRTOS.pptx
BaoCaoFreeRTOS.pptxBaoCaoFreeRTOS.pptx
BaoCaoFreeRTOS.pptxHuynhPyN
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiTrung Thanh Nguyen
 
Phật giáo ở ấn độ
Phật giáo ở ấn độPhật giáo ở ấn độ
Phật giáo ở ấn độdaohang0301
 

What's hot (20)

Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.
 
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGChương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
 
Chuong03
Chuong03Chuong03
Chuong03
 
Nhận dạng mặt người bằng thuật toán PCA trên Matlab
Nhận dạng mặt người bằng thuật toán PCA trên MatlabNhận dạng mặt người bằng thuật toán PCA trên Matlab
Nhận dạng mặt người bằng thuật toán PCA trên Matlab
 
Giáo trình Điều khiển Tự động của Nguyễn Thế Hùng
Giáo trình Điều khiển Tự động của Nguyễn Thế HùngGiáo trình Điều khiển Tự động của Nguyễn Thế Hùng
Giáo trình Điều khiển Tự động của Nguyễn Thế Hùng
 
Bài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự độngBài giảng kỹ thuật điều khiển tự động
Bài giảng kỹ thuật điều khiển tự động
 
Tichchap
TichchapTichchap
Tichchap
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
 
Đề tài: Thiết kế và thi công cửa hàng giặt sấy tự phục vụ, HAY
Đề tài: Thiết kế và thi công cửa hàng giặt sấy tự phục vụ, HAYĐề tài: Thiết kế và thi công cửa hàng giặt sấy tự phục vụ, HAY
Đề tài: Thiết kế và thi công cửa hàng giặt sấy tự phục vụ, HAY
 
Đề tài: Ứng dụng PLC S7 – 1200 điều khiển, giám sát lò đốt bã mía
Đề tài: Ứng dụng PLC S7 – 1200 điều khiển, giám sát lò đốt bã míaĐề tài: Ứng dụng PLC S7 – 1200 điều khiển, giám sát lò đốt bã mía
Đề tài: Ứng dụng PLC S7 – 1200 điều khiển, giám sát lò đốt bã mía
 
Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT
 
Bao cao tom tat de tai tot nghiep
Bao cao tom tat de tai tot nghiepBao cao tom tat de tai tot nghiep
Bao cao tom tat de tai tot nghiep
 
[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí
 
Đồ án UML-ASP quản lý phòng khám nha khoa
Đồ án UML-ASP quản lý phòng khám nha khoaĐồ án UML-ASP quản lý phòng khám nha khoa
Đồ án UML-ASP quản lý phòng khám nha khoa
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
 
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
Đề Tài Thiết Kế Phần Mềm Quản Lý Sinh Viên
 
Bo dieu-khien pid
Bo dieu-khien pidBo dieu-khien pid
Bo dieu-khien pid
 
BaoCaoFreeRTOS.pptx
BaoCaoFreeRTOS.pptxBaoCaoFreeRTOS.pptx
BaoCaoFreeRTOS.pptx
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
 
Phật giáo ở ấn độ
Phật giáo ở ấn độPhật giáo ở ấn độ
Phật giáo ở ấn độ
 

More from Man_Ebook

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfMan_Ebook
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docMan_Ebook
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfMan_Ebook
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfMan_Ebook
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfMan_Ebook
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfMan_Ebook
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfMan_Ebook
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdfMan_Ebook
 

More from Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Lý thuyết độ phức tạp tính toán.pdf

  • 1. L600T AM KHOA HOC VA CONG NGHE VIET NAM i w ^ A C H D A I HOC VA SAU D A I HOC • • • • • LE CONG THANH NHA XUAT BAN KHOA HOC TU" NHIEN VA CONG NGHE
  • 3. Bien muc tren xuat ban pham cua Thu vien Quoc gia Viet Nam Le Cong Thanh Ly thuyet do phiic tap ciia tinh loan : Sach chuyen khao / Le Cong Thanh. - H. : Khoa hoc Tu nhien va Cong nghe, 2013. - 372tr. : hinh ve ; 24cm Thiimuc: tr. 259-362 ISBN 9786049131158 1. Toantin 2. Li thuyet tinh toan 3. Sach chuyen khao 004.01 - de 14 KTF0003p-CIP V I E N H A N L A M K H O A H O C V A C O N G N G H E V I E T N A M B O S A C H D A I H O C V A S A U D A I H O C H O I DONG BIEN TAP Chu t[ch HQI dong: G S . T S K H . N G U Y E N D I N H C O N G Cac uy vien: 1. GS. TSKH. Ngo Viet Trung, 2. GS. TS. Nguyen Dai Hung, 3. GS. TSKH.TnnVanSung, 4. GS. TS. Le Tran Binh.
  • 4. 'i'f I ( i f I Lo'i gioi thieu Vien Khoa hoc va Cong nghe Viet Nam la ca quan nghien cuu khoa hoc tu nhien va cong nghe da ngdnh Ian nhdt cd nuac, CO thi mgnh trong nghien cuu ca bdn, nghien cuu va phdt triin cong nghe, dieu tra tdi nguyen thien nhien va moi truang Viet Nam. Vien tap trung mot doi ngU cdn bo nghien cuu c6 trinh do cao, ca sa vat chdt ky thudt hi^n dgi ddp ung cdc yeu cdu vi nghien cuu va thuc nghiem cua nhieu ngdnh khoa hoc tu nhien va cong nghe. Trong gdn 40 nam xdy dimg vd phdt trien, nhieu cong trinh va kit qua nghien cuu cd gid tri cua Vien da ra dai phuc vu ddc luc cho su nghiep xdy dung vd bdo v^ To quoc. De tong hap vd giai thieu c6 he thong a trinh do cao cdc cong trinh vd ket qud nghien cuu tai ban doc trong nuac vd quoc te, Vien Khoa hoc vd Cong nghe Viet Nam quyet dinh xudt bdn bo sdch chuyen khdo. Bo sdch tap trung vdo bdn iTnh vuc sau: - ling dung vd phdt trien cong nghe cao; - Tdi nguyen thien nhien vd mdi truang Viet Nam; - Bien vd cong nghe bien; - Gido trinh dgi hQC vd sau dgi hoc. Tdc gid cm cdc chuyen khdo la nhung nhd khoa hoc ddu ngdnh cua Vien hogc cdc cong tdc vien da timg hop tdc nghien cuu. Vien Khoa hoc vd Cong nghe Viet Nam xin trdn trong giai thi^u tai cdc quy doc gid bo sdch ndy vd hy vong bo sdch chuyen khdo se Id tdi lieu tham khdo bo ich, c6 gid tri phuc vu cho cong tdc nghien cuu khoa hoc, ung dung cong nghe, ddo tgo dgi hoc vd sau dgi hgc. HOI D6NG BIEN TAP
  • 5. Ldi tifa Ly thuyet do philc tap tinh toan diroc hinh thanh do nhu can cua boat dong thirc ti6n va duoc phat tridn manh me trong khoang bon miroi nam qua. Ly thuyet nay nghien ciiu tinh hieu qua cua cac mo hinh tinh toan va cua thuat toan noi rieng, nhSm phan chia cac bai toan theo do phiic tap cua thuat toan giai chung thanh nhiing Idp phutc tap khac nhau, va qua do tao nen mot hinh anh khai quat ve tinh phiic tap cua cac bai toan noi chung. Ly thuyet do philc tap tinh toan, dac biet nhiing kgt qua khao sat ve moi quan he giiia cac 16p phiic tap va ve ban chat cua mot so Idp quan trong, cho ta nhiing hidu biet t6ng quat ve van de phiic tap va hudng dan ta each xii ly diing dan trong triidng hop cu thg. Noi rieng, nhiing higu biet nhu vay giup ta ly giai vi sao c6 su khac biet giiia "giai ducc ve mat ly thuyet" va "giai diioc mot each thuc te" doi vdi nhieu bai toan kho ma ta gap phai. Mat khac, ly thuyet do phiic tap tinh toan cung cap cho ta cac y niem cung nhu nhfrng khia canh don gian va trang nha cua cac qua trinh tinh toan va cua thuat toan noi rieng. Nhiing hiiu biet sau sic vg qua trinh tinh toan cua thuat toan giiip ta phan tich va danh gia mot each chuin xac do phiic tap ciia thuat toan. Han niia, nhiing hi6u biet ay c6 thg goi md cho ta hudng cai tign hoac tim kiem thuat toan tot hon. Nhu vay, ly thuyet do phiic tap tinh toan khong chi cho ta mot each nhin thong nhat ve van de phiic tap cua cac bai toan ma con giiip ta tim ra hudng giai quyet hop ly khi xem xet nhiing bai to^n cu thg. Dg thay dudc ly thuyet nky hap dan the nao, xin hay tim higu no mot each ki luOng.
  • 6. iv Ldi tua Duong nhien, t i m hieu ki bat ci3 chu de m6i nao cung viec lam kho, nhung no trd nen d§ dang va thu vi hon ngu nhu chu de ay duoc trinh bay mot each thoa dang. Muc tieu hang dau cua tac gia khi viet cuon sach nay la muon bay to cho doc gia cac khi'a canh thuc sir hijtng thu cua ly thuyet do phutc tap tinh toan, nhung khong bi sa lay vao nhiing dieu qua nang ne va buon te. Muc tieu thii hai la nham dap ling phan nao nhu cau cua doc gia muon tim hi6u noi dung cd ban cua ly thuyet nay, trong boi canh tai lieu tieng Viet vg linh vuc nay con rat khan hiem. Mong muon la vay, nhimg nhOlng muc tieu nay kho c6 the dat dUdc tron ven. B5i vi, ly thuyet do phiic tap tinh toan qua that la philc tap va dang diroc phat trign manh me, cho nen mot vai hu6ng nghien cilu mdi nhuing ket qua ly thu va nhieu ufng dung hieu qua cua no ciing kho c6 the duoc trinh bay trong mot khuon kh5 han che. V6i muc tieu kg trgn, tac gia c6 gSng lua chon nhflng chu de thiet thuc va trinh bay rnot each ranh mach nhat c6 thg, nhSm dam bao doc gia vdi mot so lirong kien thufc toi thigu van c6 thg tim higu va nhanh chong di vao nhung vka de thdi su nhat cua ly thuyet do phiic tap tinh toan. .. . , . ; Noi dung cuon sach nay duoc chia thanh 6 chuong, trong do Chuong 0 la chuong md dau nhSm g6u khai quat ve ly thuyet do phiic tap tinh toan va trinh bay mot each tigp can thich hop cac bai toan thuoc nhieu iTnh vUc khae nhau, tao tien de cho viec giai cac bai toan ay tren ciing mot mo hinh tinh toan tSng quat, mo hinh may Turing, cung nhu viec phan chung thanh nhUng Idp phiic tap. Chuong 1 nghien ciiu may Turing va cac bien thg chinh cua no, chii yeu la khao sat kha nSng doan nhan ngon ngu cua may, nhSim ly giai tai sao may Turing duoc chon lam mo hinh tmh toan tSng quat. Do may Turing duoc de xuat v6i muc dich chinh xac hoa khai niem thuat toan, tao co sd dg c6 thg chiing minh "cac bai toan khong giai duoc", cho ngn phan cuoi chuong nay gidi thieu mot vai VI du don gian nhu nhung minh chiing ve cac bai toan khong giai duoc de doc gia tham khao them. Hon nfla, noi dung ciia phan nay tuy nam ngoai pham vi cua ly thuygt do phiic tap tinh toan, nhung no chUa dung mot phuong phap ma ta can den 6 Chuong 4 Ldi tua V cac Chuong 2 va 3 tign hanh khao sat do philc tap thdi gian va do phUc tap khong gian cua thuat toan, thuc hien phan Idp cac bai toan theo do phutc tap cua cac thuat toan giai chung. Mot s6 Idp phiic tap bao gdm cac bai toan thuoc nhieu linh vuc khac nhau vdi nhflng dac tinh thu vi duoc kham pha. NOi dung cua hai chuong nay bao ham nhflng kgt qua cd ban ve do phflc tap tinh toan. Trong ChUdng 4 thigt lap trat t u thdi gian va trat t u khong gian doi vdi cac Idp phflc tap nham chflng to tinh nan giai cua nhigu bai toan. Phan con lai ciia chfldng nay gidi thieu each tiep can mot van d^ trung tarn va kha nan giai hien nay, van dg P = NP. Chuong cuoi ciing, CliUdng 5, danh dg gidi thieu cac hudng nghign cflu ma e6 kha nang mang lai nhflng giai phap tich cue doi vdi cac van de nay sinh, dac biet trong hoat dong thuc tign. Nhu tren da ngu, do khuon kho han che, mot so chu de ly thu nhung khong dUOc dua vao cuon sach nay, nhu He bhng chiing xac suat va Tinh toan luong tit hay Mat md hoc - mot linh vue flng dung hieu qua cua ly thuyet do phflc tap tinh toan. Doe gia cd thg tim higu nhflng chii de nay trong nhigu tai lieu hien ed, ehang han nhflng tai lieu cd trong phan Tai lieu tham khao d cuoi sach nhu [2, 10, 12, 31]. Nhflng tai lieu ay va hai tai lieu [11, 13] cung duoc tac gia tham khao nhieu khi viet cuon sach nay. Tuy duoc xuat ban kha sdm, nhung cuon sach [13] cung da chfla dung nhieu van dg cd ban cua ly thuygt tinh toan va ciia ly thuygt do phflc tap tinh toan noi rigng; cuon sach [11] chuygn ve tinh NP-day du, ngn cd phan Phu luc - mot Danh sach bao gom hon ba tram bai toan NP-day dii duoc biet dgn cho tdi thdi digm do. Danh sach nay hien nay v l n duoc nhieu ngudi sfl dung. B6n chuong dau cua cuon sach nay cd thg dung lam chuygn de giang day cao hoc hoac sinh vign nhflng nam cuoi, chuygn nganh toan hoc va tin hoc ly thuygt. Noi dung nay da duoc tac gia giang day cho hoc vien cao hoc trong nhieu nam qua, tai Vien Toan hoc, Vien han lam Khoa hoc va Cong nghe Viet Nam, va tai Dai hoc Bach khoa Ha Noi. Do sach dudc viet vdi kha day du cac khai niem can thiet va dudc dien dat tudng doi mach lac, nen nd cung cd the bo ich cho nhflng ai muon bat dau tim higu ly thuygt nay.
  • 7. vi Ldi tixa ' Tac gia chan thanh cam dn GS. Le Tuan Hoa da doc ki ban thao, siia I5i vk cho nhflng y kien dong gop quy bau dg chinh siia noi dung tot hon; GS. Ngo DSc Tan cung da doc, sijta I6i ban thao va iing ho tac gia vigt cuon sach nay. Mac dil tac gia da rat c6 gang khi viet, nhung cuon sach nay khong thi tranh khoi thieu sot. Tac gia mong muon nhan duoc nhung nhan xet va gop y cua dong nghiep va cua doc gia gan xa ve cuon sach nay. Moi nhan xet v^ gop y xin dtroc giii vg dia chi: leecthanhSgmail. com/. Ha Noi, thang 8 nam 2013 Tac gia Muc luc L6i tiia iii 0 Md d§u 1 0.1 Cac thuat ngu: va khai niem 2 0.1.1 Tap hop 2 0.1.2 Ham 4 0.1.3 Bicn do tiem can cua ham 6 0.1.4 Logic Boole 8 0.1.5 Dothi 13 0.1.6 Ngon ngu: hinh thiic 18 0.2 Vc ly thuyet do phurc tap tinh toan 20 0.2.1 Vi tri trong Ly thuyet tinh toan 20 0.2.2 Sir ra ddi va phat trien 22 0.3 Cach tiep can cac bai toan 25 0.3.1 Bai toan tim kiem va bai toan quyet dinh . 27 0.3.2 Ngon ngfl bigu dign bai toan quygt dinh . . 29 0.3.3 Doan nhan ngon ngii 32 Bai tap 32 1 May Turing va Thuat toan 35 1.1 May Turing 36 1.1.1 Mo ta 36 1.1.2 Dinh nghia hinh thi'ic 42 1.1.3 Cac chute nang chinh cua may Turing . . . . 49 1.2 Mot vai bien thg ciia may Turing 58 1.2.1 May Turing nhieu bang 59 1.2.2 May Turing khong tat dinh 69
  • 8. MUC LUC 1.3 Luan d6 Church-Turing va Thuat toan 77 L3.1 Thuat toan theo ngliia true giac 77 L3.2 Luan de Church-Turing va Dinh nghia thuat toan 79 lA Mot vai bai toan khong giai duac 84 L4.1 Bai toan chap nhan 85 L4.2 Bai toan diing 99 L4.3 Bai toan taong i3ng Post 102 Bai tap 113 2 Do phufc tap thdi gian 117 2.1 Do phufc tap thdi gian cua cac loai may Turing . . . 118 2.1.1 Quy chuin ve thdi gian hoat dOng cua may . 118 2.1.2 Phan tich thuat toan 122 2.1.3 Quan he tlidi gian giiia cac loai may . . . . 132 2.2 May Turing tat dinh thdi gian da thufc 138 2.2.1 Thdi gian da thufc va Idp P 138 2.2.2 Thi du ve cac bai toan thuOc Idp P 142 2.3 May Turing khong tat dinh thdi gian da thufc . . . 153 2.3.1 Ldp NP va ngon ngfr kic^m chiing nhanh . . 154 2.3.2 Thi du vg cac bai toan thuoc ldp NP . . . . 161 2.3.3 V a n d e P = NP 166 2.4 Tinh NP-day du 168 2.4.1 Quy dan thdi gian da thi'rc 169 2.4.2 Ngon ngir NP-day du va ldp NPC 176 2.4.3 Dinh ly Cook-Levin ve tinh NP-day du . . . 178 2.4.4 Mot vai bai toan NP-day du 182 2.5 Cau true cua cac ldp NP va eo-NP 191 2.5.1 Ldp trung gian NPI giiia P va NPC 192 2.5.2 Quan he gifra ldp NP va ldp co-NP 195 Dm tap 201 3 D o phiJc tap khong gian 207 3.1 Do phiic tap khong gian cua cac may Turing . . . . 208 3.1.1 Do phvjfc tap khong gian eiia may Turing tat dinh mot bang 208 MUC LUC , ix 3.1.2 Do phufc tap khong gian cua may Turing tat dinh nhigu bang 215 3.1.3 Do phufc tap khong gian cua may Turing khong tat dinh 222 3.2 Nhiing moi quan he co ban ve do phufc tap 224 3.2.1 Quan he giiia thdi gian va khong gian . . . . 225 3.2.2 Quan he giiia tat dinh va khong tat dinh . . 227 3.3 Do phiic tap khong gian da thiic 229 3.3.1 Cac ldp phufc tap PS va NPS 230 3.3.2 Tinh PS-day du 232 3.4 Do phiic tap khong gian loga 242 3.4.1 Cac ldp phiic tap LS va NLS 243 3.4.2 Tinh NLS-day du 245 3.4.3 Quan he giiia NLS va eo-NLS 251 Bai tap 255 4 T i n h nan giai 259 4.1 Trat t u cua cac ldp phufc tap 260 4.1.1 Trat tir khong gian 260 4.1.2 Trat t i i thdi gian 267 4.2 Phuong phap quan he hoa va van de P = NP . . . . 271 4.2.1 May Turing vdi t i i van 271 4.2.2 Han chl ciia phuong phap dudng cheo . . . 275 4.3 Maeh Boole doi vdi van de P = NP 278 4.3.1 Mach Boole doan nhan ngon ngii 279 4.3.2 Cach chiing minh khac cho Dinh ly Cook-Levin289 . Bai tap 292 5 C a c giai phap 295 5.1 Tinh toan kinh luan 296 5.1.1 Thdi gian va khong gian kinh luan 298 5.1.2 Vg trat t i i thdi gian da thiic 304 5.2 Tinh toan song song 305 5.2.1 Cac mach Boole dong bo 305 5.2.2 Ldp phiic tap NC 308 5.2.3 Tinh P-day du 311
  • 9. X MUC LUC 5.3 Thuat toan xac suit 312 5.3.1 May Turing xac suat va Idp BPP 312 5.3.2 Tinh nguyen to 316 5.3.3 Cac chuong trinh phan nhanh 324 5.4 Thuat toan xap xi , 331 5.4.1 Bai toan tap bao quat nho nhat 333 5.4.2 Bai toan do thi con day du Idn nhat . . . . 336 5.5 Phan tich xac suat cac thuat toan 338 5.5.1 Hieu suit hau chac chan cua thuat toan . . 343 5.5.2 Do phirc tap thdi gian trung binh da thiic . 353 Bai tap 357 Tai lieu tham khao . ; , ^ 359 Ky hieu va Tuf khoa 363 ChLfdng 0 McT dau Trirdc khi muon tim higu ki mot chu de nao do, c6 le tot nhat k hay xem xet mot each khai quat nhflng net ca ban cua chu de ay. B6i vay, muc tieu tM nhat cua Chuong Md dau la gidi thieu sd luoc ve ly thuygt do phutc tap tinh toan, bao gom: su ra ddi cua ly thuyet nay, vi tri cung nhu moi tucing quan gifla no v6i cac chu de khac trong ciing mot llnh vuc - ly thuyet tinh toan, va cuoi cung la gidi thieu noi dung chinh cua ly thuyet do phirc tap tinh toan, do la viec phan chia cac bai toan thanh cac Idp theo "dO phiic tap" cua thuat toan giai chiing. Dg CO the phan Idp d6i vdi cac bai toan thuoc nhigu linh vuc khac nhau, ly thuyet do phutc tap tinh toan xem xet cac bai toan theo mot thg thong nhat, nhd do dign dat chung bang ngon ngiJ hinh thufc va tien hanh giai chung trgn cung mot mo hinh tinh toan. Do do, myc tieu tM hai cua chuong nay la trinh bay each tiep can cua ly thuyet do-phiic tap tinh toan doi vdi cac bai toan noi chung. Trudc khi cu the hda cac muc tigu vtta ngu, giong nhu cac tai lieu chuyen khao khac, ta hay bat dau bang viec gidi thieu mot so thuat ngu: va khai niem toan co ban; dac biet la cac khai niem ve ngon ngU hinh thitc, dd thi va logic Boole. Chung khong chi can thiet cho viec cu thg hoa muc tigu de ra ma con duoc sii dung thudng xuyen trong tai lieu nay.
  • 10. 2 Md dau 0.1 C a c thuat ngvt va khai niem 0.1.1 T a p hgfp TSiP hop Ih mot khai niem co ban cua toan hoc vk khong t h i dinh nghia duoc mot each chinh xac. Theo true quan, tap hdp (hay c6n diroc goi tat la tap) bao gom cac doi tuong c6 thg thuoc mot hay nhi^u chung loai khae nhau, chang han nhir cac eon so, cdc ky t u va kg ca cac do vat, v.v... M5i doi tuong do duoc goi la phcin tH hay la thanh vien cua tap hop. Cac tap hop thudng duge ky hieu bdi cac chu: cai La tinh A,B,C,..., hoac hdi cac chii cai Hy Lap c6 nhir r, E, f),... Dg b i l u thi " x la phan tijf cua tap hop E " ta dung ky hieu x G E (doc la " x thuoc E"). Trong trudng hop nguoc lai, khi "y khong la phan t i i cua E", ta viet y ^ E ("y khong thuoc E"). Tap hop dugc thg hien bang nhieu each khae nhau. Caeh don gian nhat la liet kg tat ca cac phan t i i cua tap hop ay roi dg vko gifla hai'dau ngoac nhgn. T h i du, E = {3,5,15,a,i,c,«} la tap hop bao gom cac so 3,5,15, cac chii cai a, b, c va ky ttr [t- Ta CO 3 e E va 5 6 E, con 35 ^ E, v.v... Viee mo ta tap hop b^ng each liet kg tat ca cac phan tiJf cua no doi khi khong don gian doi vdi nhiing tap hop bao gom nhieu phan tijf, dac biet la tap v6 han - tap vdi vo so cac phan tii. Tuy nhign, dg mO t a tap vo han, t a c6 t h i diing dau ba eham " . . . " vdi nghia thong thudng la "cac phan tii con duoc tiep tuc liet kg mai mai". Chang han, b^ng each nay ta dign ta tap cdc s6 tii nhien N va tap cdc so nguyen Z nhu sau: < N = { i , 2 , 3 , . . . } Z = { . . . , - 2 , - 1 , 0 , 1 , 2 , ...}. R l t tiee cdeh mo ta "true giae" tren chi dting doi vdi loai tap hop dugc ggi la tQp dim dU0c trong ly thuyet tap hgp. 0.1 Cdc thuat ngU va khai niem 3 Mot each thong dung hon, tap hgp dugc dign ta bang each bilu thi dac tinh cua cac phan tijt tao nen tap hgp iy, ta eo thg viet { X I X CO dac tinh nao do }. T h i du, tap cac so chinh phuong dugc dign ta bdi { n = vdi mot m nao do thuoc N }. Dg mo ta eac tap philc tap hgn, ngudi ta con dung cac phep toan va cac each xay dung khae. Do day khong phai la mot giao trinh ve ly thuygt tap hgp, ngn chung toi se khong di sau vao cac khia canh do. Nhan thg ta ky hieu tap cdc sd hitu ti va tap cdc s6 thiic tuong ling la Q va R. Cac ky hieu Z+, Q+ va R+ dugc dung dg chi cdc tap nhflng s6 khong am thuoc Z, Q va R tuong ling. Tap khong ehiia phan t i i nao dugc ggi la tap rSng va dugc ky hieu la 0. Hai tap hgp A R dugc coi la bang nhau, va dugc ky hieu la A = R,neu chung gom cac phan tiJt nhu nhau. Trong trudng hgp ngugc lai, chiing dugc coi la khdc nhau va dugc ky hieu h A ^ R. Doi vdi hai tap hgp A vk R, ta. noi rang A la tap con cua R, va ky hieu Ik A C B hoac R D A,neu m5i phan t i i cua A eung deu la phan t i i cua R. Ta eon noi f&ng A la tap con thtXc sytcna. R, ky higu la /I C ngu /I la tap eon cua R va khae R. Tap hdp tdt ca cdc tap con cua R dugc ky hieu lkV{R). Cho hai tap Avk R. Hdp cua AvkR, dugc ky hieu kAuR,k tap bao gom tat ca eac phan t i i thuoc A hoac thuoc R. Giao cua A va S, dugc ky hieu IkAOR, la tap bao gom cac phan t i i eung thuOe A va thuoc R. Hieu cua Avk R, dugc ky hieu la >1 a tap bao gom cac phan t i i thuoc A va khong thuoc R. AUR AnR H i n h 0.1 Hgp, giao va hieu cua hai tap hgp
  • 11. 4 Mci dau Phdn bu (complement) cua tap hop A, duoc xac dinh trong mot pham vi cu thg nao do, la tap hop bao gom nhiing phan tut trong pham vi ay ma khong thuoc A, va duoc ky hieu la A" (khi khong gay nham Ian, phan hu cua A con diTOc ky hieu la lA). Tich De-cdc {Cartesian product)'cna. hai tap A va B, diroc ky hieu la /I X /?, la tap hop bao gom tat ca cac cSp c6 thuf tir ma thanh phan trirdc la phan t i i thuoc A con thanh phan sau la phan tii thuoc R. Cu thg, AxB = {{a,h)a € .4,5 e R). Tuong tir, tich Descartes diroc dinh nghia cho nhigu tap hop. Trong trirdng hop khi tat ca k tap deu bang nhau, ta viet k AXAX---XA = A'^. 0.1.2 Ham -'-^ • - - ' '-^^-'^ Ham la mot d6i tirong quan trong cua toan hoc, phan anh moi quan he vao-ra tir tap hop nay den tap hop kia. Ham f til tap hop X den tap hop Y, ta viet f:X —> y, la mot quy tac ma theo do m6i phan tijf dau vao thuoc X tao ra nhiSu nhdt mot phan tiJt tuong ling thuoc Y. Theo ham f: X —^ K, khi phan t i i x € X c6 phan tut tuong ling y eY,ta noi rang " ham / xac dinh tai x va nhan gia t r i y", vh ta viet f{x) = y. Nguoc lai, khi phan tut x' nao do khong c6 gia tri tuong ling nao, ta noi rang " ham / khong xac dinh tai x'" hay don gian "/(x') khong xac dinh". Ky hieu f{x) con thg hien rang X la bien cua ham /. K h i X = X i x • • • x X^, ham / duoc goi la ham k-ngdi hay ham k bien. Tap cac phan tut thuoc X ma tai do ham f:X —> Y x&c dinh, tutc tap D = {x e X mh f{x) xac dinh}, duoc goi la miin ' xac dinh (domain) cua /. Tap tat ca cac gia t r i cua ham /, tiic i 0.1 Cac thuat ngii vd khdi niem 5 tap R = {y e Y,3x e X : f(x) = y}, duoc goi la m i i n gia, tri (range) cua ham do. Ham / duoc goi la ham hoan toan xac dinh, neu no xac dinh tai moi x 6 X, nghia la D = X . K h i R = Y, ta noi rang / la ham len. Vay la khi noi dgn "ham" ta can higu rang do la ham bo phan noi chung va dan tri. Ham toan phan chi la mot tru5ng hop rieng, va khi can thiet ta se nhan manh chi tiet nay. Hon nfla, tuy "don t r i " la dac tinh cua ham nhung ngiroc lai, c6 the nhieu gia t r i khac nhau cua bien dau vao duoc tirong ilng v6i ciing mot gia t r i dau ra. Thi du, theo ham gia t r i tuyet doi cua s6 nguygn, /abs: Z — * Z , m5i so nguyen n dmc tirong ijtng vdi n, neu n la duong, va vdi - n , neu n la am. Theo ham cong hai so nguygn, /add : Z x Z — > Z , mOi cap cac so duoc tirong utng vdi tong cua nhiing so ay. Day la cac ham toan phan. Theo ham /abs, hai so vdi dau. doi nguoc nhau duoc tudng ling vdi ciing mot so, / a b s ( " ) = /abs(-^0 = " doi vdi moi n > 0. Dua theo ham /add) rat nhieu gia t r i dau vao khac nhau duoc tuong ling vdi ciing mOt gia t r i dau ra, chang han /add(«, -•''0 = 0 doi vdi moi n > 0. Nhu vay, ham /: X —> Y la mot mo hinh toan hoc dign dat quan he vao-ra tiT tap X dgn tap Y, ma theo do mOi phan tut cua X CO thg duoc tuong utng vdi khong qua mot phan t i i cua Y. Tuy nhien, doi khi ta can xem xet mot moi quan he rong hon gifla tap X va tap y , ma moi phan t i i cua tap X c6 kha nang duoc tUOng iSng vdi nhieu phan tut cua tap Y. Trong trudng hop nay, dg dam bao tinh ddn t r i cua ham, moi quan he nay duoc dign ta bdi ham /': X —> V(Y), trong d6 V{Y) la tap tat ca cac tap con cua Y. Cac moi quan he vdi nhiing dac thii rigng duoc thg hien bdi cac ham thich hop. Chang han, vj tit (predicate) hay tinh chat (property), lign quan den cac doi tUOng thuoc tap hop X nao do, la mot ham tii tap X den tap cac gia t r i chan ly {DUNG, SAl}. Dg ti?n dung, tap {DUNG, SAl} thudng dudc thay thg bdi tap {1,0} neu khdng gay nham Ian.
  • 12. 6 M6 dau Cung nhu doi vdi bat cuf mo hinh nao, mieu ta ham mot each ro rang la rat can thiet. Ta c6 thg mo ta ham b^ng nhieu each khac nhau. Chang han, khi ham / : X —> Y c6 mien xac dinh D huu han va khong qua Idn, ta lap mot danh sach theo titng gia tri thuoc D ma moi dong la mot cong thute dang f{x) = y vdi day du gia tri cu the cua bi6n x va gia tri tudng utng y cua ham/, hoac lict ke trong mot bang gom hai cot ma cot thil nhat Ian luot la eac gia tri thuoc D duoc gan cho bien x va cot thiit hai la nhiJng gia tri tUdng ling f{x). Tuy nhien, trong moi trudng hop, dii khong that cu th6 nhung lai ddn gian neu nhu ta mieu ta duoc ham bdi cong thiic tong quat nho do. Thi du, ham cong hai so dtrqc mo ta hdi cong thiirc fadd{"i',n) = in + n. 0.1.3 Bien do tiem can cua ham Gia sit f vhg la cac ham tii N den R+. Nhieu khi can cua ham f{n) duoc quan tarn xem xet chi vdi nhiing ii du Idn, tiic la vdi moi n hit dau tit mot so HQ nao do. Ta noi do la can tiem can hay la bien dg tiem can cua. hhin f {n). • • • • • Can tren tiem can. Ta noi rang "/('O O-ldn cua (ji^iif va ta viet /(n) = 0[f/(ri)], neu ton tai cac so tu nhien c va no sac cho, doi vdi moi s6 tu nhien n > no, /(") < cyiji). Khi /(n) = 0[(j{;n)] ta noi rang g{;n) la can tren cua /(n), hay chinh xac hdn, r/(/i) la can tren tiem can ciia f{ii). Mot each true giae, /(n) = 0[y{n)6 nghia la ham /(n) nho hon hoac b^ng ham r/(n) ngu ta bo qua nhiJng khac nhau khong co ban giOa ehung, nhu cac thanh phan phu va he so eua thanh phan ehinh; hay noi each khac, ham / tang cham hdn hoac bang ham g. Thi du, gia sii /i(n) la ham 5n^ + Sn^ + 18n + 7. Khi do, bang each chon thanh phan chinh 5n^ va bo he so 5 cua no, ta thu dUdc /i(n) = 0[n^]. Dieu nay hoan toan thoa man dinh nghIa hinh thiic. 0.1 Cac thuat ngU va khdi niem 7 That vay, cho c = 6 va no = 7, ta co 5/)^ + 3n^ + 18/t + 7 < 6n^ doi vdi moi n > 7. Hdn nila, J{n) = t>[n^] bdi vi n * * luon 16n hdn n^ va do do cung la can tren tiem can cua /i(n). The nhung, /i(n) khong the la 0[n'^] bdi vi, vdi bat cii gia tri nao ta gan cho c va no, yeu cau trong dinh nghIa vln khong duoc thoa man. • Can diidi tiem can. Ta noi rang "(/(n) la can dtCdi tiem can eua /(n)" va ta viet /(n) = n[y(n)], khi j{n) la can tren tiem can eua g{n), tire la khi g{n) = 0f{n) . Doi vdi ham /i(n) neu tren, ta co /i(n) = n[n^] va dudng nhien = txtc va rt^ la nhiing can dudi tiem can eua /i(n). Tuy nhien, n'' khong la can dudi tiem can cua /i(n). • Can sat tiem can. Ta viet /(n) = e[(y(n)], neu /(n) = 0[g{n) va /(n) = ^[g{n)]. Mot each tUdng diTdng, neu ton tai ba so diidng ci, C2 va no S g{n) < f{ii) < C2g{n), doi vdi moi n > /lo- Khi /(n) = Q[g{n)i ta noi rang "g{n) la can sat tiem can hay la can chat tiem can eua /(/i)"- Trong trudng hop nay, cac ham /(n) va g{n) co cap tang nhu nhau. , , R6 rang, cung doi vdi ham /i(/0 neu tren, la can sat tiem can, tiic /i(n) ^ Q[ii^ • • Khai niem o-be. Ta viet /(n) - o[g{n)] va n6i rang " / ( " ) 1^ o-be ciia g{iiyu Noi each khac, f{n) = o[g{n)d nghIa rang, ddi vdi mOi s6 thue c > 0, ton tai mot n, sao cho f{n) < cg{n) d6i vdi moi n > n,. Cac khai niem O-ldn va 0-1)6 tao thanh mot cap tUdng d&ng. Khai niem O-ldn the hien ham no khong Idn han mot each item can so vdi ham kia, eon khai niem o-be the hien ham no nho han mot each tiem can so vdi ham kia. Sxt khac nhau gifla hai khai mem O-ldn va o-be gifmg nhu sU khac nhau giiia < va <.
  • 13. 8 M6 dau 0.1.4 Logic Boole Logic Boole la mot he toan, do George Boole de xuat vao gifla the ki XIX, dudc xay dirng xoay quanh hai gia t r i doi ngiroc nhau, do la cac gia t r i chan ly DUNG va SAI (TRUE va FALSE). Hinh thanh trong khung canh cua toan hoc Ung dung, ngay nay logic Boole diioc coi la CO sd cua dien toan va thict kc may tinh. Trudc khi trinh bay nhung kien thiic quan trong va can thiet, ta hay lam quen vdi cac khai nicm co ban cua ly thuyet nay. • Gia tri Boole. Cac gia t r i chan ly DUNG va SAI diroc goi la cdc gid tri Boole {boolean values) va, nhir da neu tren, thudng duoc bigu t h i b5i 1 va 0. Ta sut dung cac gia t r i Boole trong cac boi canh hay trong cac tinh huong vdi hai kha nSng c6 the xay ra. Chang han nhu khi ta can xcm xet cac sir kien: trdi c6 thg "tanh" hoac "mua", mot menli de c6 thd "dung" hoac "sai", hay la mot cau hoi CO thg duoc tra da "dung" hoac "sai", v.v... • Bien Boole va cac phep toan Boole. Bien chi nhan cac gia tri Boole duoc goi la bien Boole {Boolean variable). Nhu thudng le, cac bien Boole cung dudc ky hieu bcii cac chO cai La tinh x , y, z, hay x i , x - 2 , . . . Tren cac bien Boole, thirc chat la tren cac gia t r i Boole, ta c6 thg thao tac cac phep toan vdi tinh sang tao dac biet, duoc goi la cdc phep toan Boole {boolean operations). Phep toan Boole don gian nhat la phep phu dinh {negation) hay la phep NOT, duoc ky hieu bdi -.. Phu dinh cua mOt gia t r i Boole nay la gia t r i Boole kia doi nguoc vdi no. Nhu vay, ta c6 -.0 = 1 va - i l = 0. Phep hoi {conjunction) hay la phep A N D , duoc ky hieu bdi A . Hoi cua hai bien Boole nhan gia t r i 1 neu ca hai bien cung lay gia t r i 1. Phep tuyen {disjunction) hay la phep OR, duoc ky hieu bdi V . TuySn cua hai biSn Boole nhan gia tri 1 neu it nhat mot trong hai bien ay lay gia t r i 1. , , . . , „ 0.1 Cdc thudt ngU vd khdi mem 9 Day l a b a phep t o a n c d sd cua logic Boole va duoc the hien d a y dii n h u sau: -,0 = 1 .: 0 A 0 = 0 0 V 0 = O ^ 1 = 0 ' 0 A 1 = 0 0 V 1 = 1 1 A 0 0 1 V 0 = 1 1 A 1 - 1 1 V 1 = 1 Ngoai ra, mot vai phep toan Boole khac cung thudng duoc sii dung, do la phep tuyin loai {exclusive or) hay phep XOR, phep suy diin {implication), va phep suy diin thuan nghich hay b&ng nhau logic {equality), chung lan ludt dUdc ky hieu la 0 , — > va Gia sii x va y la hai bien Boole. K h i do, x © y = 0 neu va chi neu x va y nhan nhung gia tri nhu nhau. Tiep theo, x —> y = 0 neu va chi neu .; - 1 va y = 0. Cuoi cung, x y = 0 n e u va chi neu X va y nhan cac gia t r i khac nhau. Cu thg ta c6: 0 ® 0 = 0 0 ^ 0 = 1 0 ^ 0 = 1 0 © 1 = 1 0 ^ 1 - 1 0 ^ 1 = 0 1 © 0 = 1 • 1 - ^ 0 = 0 1 ^ 0 = 0 1 ® 1 = 0 1 - ^ 1 = 1 1 ^ 1 = 1 • Cong thufc Boole. Ta c6 thg siJt dung cac bien Boole va cac phep toan Boole de tao nen cac cong thirc, duoc goi la cdc cony thvcc Boole, nham bi6u thi nhung mcnh de ma ta thudng gap. Chang han, gia sit X la mot bien Boole bigu thi meiih de "Ngay mai trdi tanh", nghia la x nhan gia t r i 1 (trdi tanh) va gia t r i 0 (trdi mua). Gia sut y la mot bien Boole bigu thi "Ngay mai chung toi chac chan sc di Choi", tire la y nhan gia t r i 1 (chung toi di choi) va gia t r i 0 (chung toi khong di c h o i ) . K h i do mcnh de "Neu ngay mai trdi tanh, t h i chdng toi chac chan se di clidi" d u d c bigu t h i b d i cong t l n i c d o n gian n h u x ^ y. Tiep theo, nhd cac phep toan Boole, ta c6 thg kgt noi cac cong thilc Boole d d n gian vdi nhau dg thu d U d c cac cong thilc Boole phirc hop, dap urng uliuiig ygu cau bigu thi cac m g n h de Phurc tap h d n
  • 14. 10 Md dhu D i n h nghia 0.1.1 Cong thvtc Boole {Boolean formula) du(fc dinh nghia mot each de quy nhic sau: 1. MSi bien Boole Id mot cong thiic Boole; 2. Neu A vd B Id cac cong thxic Boole, thi cung Id cac cong thiic Boole; 3. Khong c6 mot cong thiic Boole ndo khdc ngodi cac cong thiic — thu duac theo cac quy tdc I vd2. Can liru y rang, khi ket n6i cac cong thiic v6i nhau bdi cac phep toan Boole, d6 khoi gay n h i m Ian ta c6 thg sijf dung them nhiing cap cac dau ngoac tron "( , )". • Sit ti^dng difdng cua cac cong thufc Boole. Gia sii P la mot cong thiic Boole chuta n bien x i , x ^ , . . . , x^. K h i do vdi moi each gan tri Boole 1 hoac 0 cho cac bien x, {i = 1,2,... , n ) , cong thiic P cung se nhan mot trong hai gia t r i do. Nhu vay, cong thiic Boole P xac dinh mot ham P ( X 1 , X 2 , . . . , X „ ) : { 0 . 1 } " — ^ {0,1}. D i n h nghia 0.1.2 Cong thiic Boole P dupe goi la hang dung neu no dung, tiic nhan gid tri 1, vdi moi cdch gdn tri Boole cho cdc bien cua no; P duac goi Id hang sai {hay con duac goi la mdu thudn) neu no sai, tiic nhan gid tri 0, vdi moi cdch gdn tri Boole cho cdc bien cua no; P duac goi la thoa diidc {satisfiable) neu c6 it nhdt mot cdch gdn tri ndo do cho cdc bien di no dung. H^ng dung va mau thuan rat can thiet trong cac suy luan toan hoc. Mot bu6c quan trong trong lap luan toan hoc la viec thay the mOt menh de nay bang mot menh d6 khac vai cung cac gia t r i 0.1 Cdc thudt ngU vd khdi niem 11 chan ly. Cac menh de vdi cung cac gia t r i chan ly duoc coi la tuang duang nhau. Khai niem nay dudc dinh nghia chinh xac nhu sau. D i n h nghia 0.1.3 Cdc cong thiic Boole P vd Q dupe gpi Id Mdng dvCdng {equivalent), vd dupe ky hieu Id P = Q, neu cong thiic Boole P ^ Q la hdng dung. Nhieu cong thiic Boole tuang dudng da dudc thiet lap va mot so cong thiic tvd thanh cac luat logic. Nhd cac cong thiic tuang duang ta CO the bien dSi nhflng cong thiic Boole phiic tap thanh nhfing cong thiic tuang duang dan gian han theo mot nghia nao do. Dudi day la mot vai luat logic tien ich: 1. Luat De Morgan ^ ( P V Q ) = ( - . P A - Q ) . 2. Luat phu dinh kep - 1 - P = P 3. Luat suy diSn p ^ g = - P V Q . 4. Luat suy dign thuan nghich p ^ Q = ( p - g ) A ( g - - p ) . 5. Luat phan phoi ' , P A ( g v 7 ? ) = ( P A Q ) V ( P A P ) , py{QAR) = ( P V Q ) A ( P V 7 ? ) . Nhd cac bigu thiic tuang duang nay, moi cong thiic Boole dgu CO t h I b i l u dien dugc dudi dang dan gian han ma trong do chi can
  • 15. Md dau sil dung cac phep toan Boole co s6 A va V. Sau day la hai dang biSu dien tuong duong quan trong cua cong thiic Boole, do la dang hoi chudn tac CNF {conjunctive normal form) vh dang tuyin chudn tac DNF {disjunctive normal form). Gia sijt P ( x i , . . . , x„) la mot cong thiic Boole chiia cac bien x i , . . . , x„. Dg don gian hoa viec dien ta cac dang chudn tSc cua cong thurc nay, doi vcti moi bien Boole x- va u e {0,1}, ta se sijf dung cac ky hieu sau day: neu cr = 0, neu (7 = 1 neu cr = 0, • I ' " neu (7 = 1. Khi do, bang each ap dung cac bi6u thiic tUdng duong neu tren, ta de dang thu dixoc cac dang hOi va tuygn chuSn t i c ciia mot cong thiic Boole. '1 .... ' Dinh ly 0.1.4 Moi cong thvcc Boole P ( x i , . . . , x „ ) deu c6 cac dang biiu diin sau day: (i) Dfing tuyin chudn tdc P ( x i , . . . , X n ) (ii) Dang hoi chudn tac P ( x i , . . . , x „ ) = V ( 4 ' A . - - A x ^ " ) ; P(<ji,..,<j„)=i = /f V - . - V x ^ " ) . P(<^l,-,<T„) = () 0.1 Cac thuat ngU vd khdi niem 13 0.1.5 Do thi Do thi la mOt mo hinh toan hoc dien ta mot each tudng minh nhfmg moi quan he hai ngoi (mot chieu cung nhu hai chieu) giiia cac doi tirong can duoc xem xet. Chinh vi vay, do thi dudc sii dung rong rai trong r i t nhieu linh vuc khac nhau; cliSng han nhu: khoa hoc, ky thuat, kinh te, xa hoi, v.v... Mot each hinh thiic, do thi {graph) (hay chinh xac hon, dS thi vd hiidng {undirected graph)) la mot cSp c6 thii txi G = {V, P), trong do V la mot tap gom hiiu han cac phan t i i , con P la mot tap nhflng cSp khong thii t u cac phan t i i khac nhau thuoc V, tilc P C {{u, v} I u, V eV vk u / v]. Phan tijt cua V dugc goi la dinh {vertex), con phan t i i {u, v} cua P dudc goi la canh {edge) va duac ky hieu bcii uv. Nhu vay uu va vu la cac ky hieu cua cung mot canh. Ngoai each dinh nghia nhu tren, do thi con duoc di6n ta mOt each true giac tren mat phang nhu sau: Cac dinh do thi ducc bi6u thi bdi cac vong tron nho hoac cac cham dam vdi "ten" cua dinh, con moi canh dUdc thg hien hdi mot doan t h i n g hocic cong noi hai vong tron tUdng ling. Hinh 0.2 bigu dien do thi hinh ngoi sao Gi = {{vi,V2, U3, Vi, U s } , {viV3, ViVi, V2V4, V2V5, V s V r , } ) , va do thi G2= {{a,b,c,d,e,f,g,h},{ub,ac,ad,bc,cd,ef,fg}). ® © ® ® G2 Hinh 0.2 Cac bigu dien true giac ciia do thi Gi va G2
  • 16. 14 M6 dau V6i iru di6m nhtr vay, bieu dien true giac cua do thi thirdng duoc diing d6 di6n ta nhiing so do ve "mute do" quan he giiJa tdng cSp doi tuong, bang eaeh gan cho m6i eanh, tile moi doan thSng hoac cong noi tren, eae da lieu lien quan den m6i quan he do. Thi du, ta diing do thi dg bigu dign he thong giao thong dirdng bo giiia eac thanh pho bang each gan cho m6i dinh ten cua mot thanh pho va noi hai dinh vdi nhau bdi mot doan t h i n g hoae eong, bigu t h i tuyen quoc lO qua hai thanh pho tirong uTng. Tren m8i doan ay duoe ghi ehii tgn quoc lo va ca khoang each khi ckn thiet. Chang lian, Hinh 0.3 sau day dien ta eac tuyen quoc lo chinh noi lien mot so thanh pho Idn 5 vdng Dong-Nam thii do Ha Noi (HN), bao gom Hai Duong (HD), Hai Phong (HP), Nam Dinh (ND), Thai Binh (TB), Phil Ly (PL), Ninh Binh (NB) va Thanh Hoa (TH). H i n h 0.3 He thong quoc lo viing Dong-Nam Hk Noi 0.1 Cdc thuat ngU va khdi niem 15 Tiep theo, dg chi su phu thuoc vao do t h i G, tap dinh va tap canh cua no duoc thg hien ro hon bdi V{G) va R{G) tuong ilng. Lien quan den canh e = uu cua do tin G, tiic canh vdi cdc dinh dau mut (endvertices) u va u, ta noi rang: Thvc nhdt, canh e noi (join) dinh u vd'i dinh v; Thii hai, dinh (/ hoac/va dinh v lien thuoc (incident) canh c. Hai dinh duoc goi la ke nhau {adjacent), hay la Idng gieng (neighbour) cua nhau, neu cluing duoc noi v6i nhau bdi mot canh, tiie lien thuoc ciing mot canh. Hai canh ciing c6 chung mot dinh dau mut cung duoc goi la ke nhau. Do t h i G duoc goi la day du (complete) ngu hai dinh bat ky cua no deu ke nhau. Cho u la mOt dinh cua do thi G. Bac (degree) cua dinh u trong G, ta ky hieu la degG(v) hay don gian la deg(v) khi khong gay nham l l n , dudc dinh nghia bcii so tat ca cac lang gieng cua v trong G. Dinh vdi bac 0 duoc goi la dinh cd lap {isolated vertex). Bay gi5, ta noi rang do thi H = (W, F) la dd thi con (subgraph) cua do thi G = (V, E), ta viet H C G, neu W CV va F C R. Trong tru5ng hop, khi F chura tat ca cac canh ciia G ma ca hai dau mut deu thuOc W, do thi H duoc goi la dd thi con cam sinh (induced subgraph) bdi G tren W, va ta viet // = G[U^ . Dmdng di (path) trong do thi G la mot day cac dinh doi mot khac nhau (uo, u i , . . . , ujt), trong do dinh ke vdi dinh Ui doi vdi m6i / = 1 , . . . . A;. Mot dirdng di nhu vay con duoc ky hieu la P= UQUX ...Uk.TR noi rang trong do tin G, hai dinh w,, va Uk duac ndi vdi nhau bdi dirdng di P, hay dirdng di P not hai dinh an va u^. Thi du, trong do thi G2 tren Hinh 0.1, abed la dudng di noi a va d, nhung acbd khong la dirdng di. Do dai (length) ciia dudng di P, duoc ky hieu bdi /(P), la so cac canh ciia no, tiic l(P) = k. Trong do t h i G i trgn Hinh 0.2, cac dinh va U2 duoc noi vdi nhau bdi dudng di uxu^Ui do dai 2, va con bdi dudng di uiu^v^Ui do dai 3. Do thi duoc goi la lien thong (connected) neu hai dinh bat ky cua no deu duoc noi vdi nhau bdi dudng di nao do. Tren Hinh 0.2, do thi G, lien thong, con do tin G2 khong lign thong.
  • 17. 16 M6 dau Chu trlnh {cxjde) trong do t h i G la dudng di (uo, u i , • •., Uk) do dai > 2 ma hai dinh dau mut UQ va ciing kg nhau trong G. Noi each kliac, chu trlnh la mot "dudng di khep kin", nghia la dirdng di vdi do dai > 2 ma hai dinh dau mut eua no ciing ditdc noi true ticp vdi nhau bdi mOt canh, tutc 'aoUk- Chu trlnh Hamilton {Hamiltonian cycle) trong mot d5 thi cho trudc la chu trinh chila tat ea cac dinh cua do thi ay. Trcn Hinh 0.2, do thi G i la chu trlnh Hamilton, con trong do t h i G2 c6 tat ca 3 chu trlnh: 1 chu trlnh dang "hlnh vuong" ahcd, 2 chu trlnh dang "tam giac" ahc va acd. Cay {tree) la mot do thi lien thong va khong c6 chu trlnh. Trong cay thudng duoc chi dinh mot dinh dac bict (theo mot yeu cau nao do) lam gdc {root). Dinh bac 1 khac vdi goc cay duoc goi la Id {leaf). Riing {forest) la mOt do t h i gom mot hoac nhieu cay, tiic la mot do t h i khong CO chu trlnh. H i n h 0.4 Rirng gom 3 cay - r d n Trong cac do thi da duoc xcm xet, ncu moi canh {u, u} duoc tliay the bang mot cSp c6 thiJ t u (u, u) hohc/vk {u, u), thi ta c6 khai niem "do thi c6 hudiig". Cap thuf t u {u, u) duoc goi la cung {arc) til dinh a den dinh u, hay cung vdi di6m dau u va didm cu6i v. Theo each bi£^u dien true giac, moi cung (u, v) thudng duoc bi6u t h i bdi 0.1 Cac thuat ngU va khdi niem 17 mot doan t h i n g hoac cong ciing vdi mui ten hudng theo chieu t i i u den V. T h i du, Hlnh 0.5 sau day cho ta bifni dicn true giac mot do thi CO hudng. H i n h 0.5 Do thi CO hudng Mot each hlnh thilc, do thi cd hvCdng {directed graph) la mot cap CO till? t u G - (V; A), trong do V la tap dinh va .4 la tap cung, tile tap con cua tap { ( u , ( ; ) / u , e V ] u v ) . Trong do t h i CO hudng, mot dinh v c6 the la didm dau cua mOt so cung nay va cung cd the la diem cuoi cua mot vai cung khac. V, doi vdi dinh V trong do thi co hudng, ta can phaii bict "bac ra" va "bac vao" cua no. Bac ra {outdejjree) ciia u, dudc ky hieu bdi oatd('(j{u), la so tat ca cac cung vdi diem dau u; con bac vao {indegree) cua u, duoc ky hieu bdi iiHk.(j[v). la so tat ca cac cung vdi diem cuoi u. Cac khai niem khac cua do thi vd hudng (chang han nhu: dudng di, chu trlnh, lien thong, cay, . . . ) cung duoc chuygn the cho do thi CO hudng. T h i di.i. diidng di c6 htCdng [directed path) trong do thi G la mot day cac dinh doi mot nhau khac nhau (uo, u i , . . . , ujt), trong do dinh U i _ , dudc noi vdi dinh (/, bdi cung Ui) thuoc G , d6i vdi inpi / - .2....,k. Nhu vay, day la mot dudng d i c6 hudng tii dinh un den dinh 11k- THI/ VlfNTINHBlNH THUAN
  • 18. 18 Mcl dau H i n h 0.6 Cac cay con c6 hudng cua do thi G3 Do thi thudng dmc sut dung d6 mieu ta moi quan he gifra cac doi tudng. Cac dinh c6 the la nhiing thanh pho va cac canh la nhflng doan quoc 15 noi lien chiing, hoac cac dinh la nhiing tram dicn va cac canh la nhiing day dan lien kct chiing. D6 dign ta mot each ro rang, ta dan nhan cho cac dinh va/hoac cac canh ciia do thi, va ta thu dUdc do thi duCdc dan nhan [labeled graph)^ nhu Hinh 0.3. 0.1.6 Ngon ngi? hinh thut • E • B a n g chiJ. Xau cac ky tir, hdcic cac dac tinh noi chung, la khoi (block) dong vai tro nhu mot ddn vi kicn thict cd ban trong khoa hoc tinh toan. Bang chii diang dG xac dinh cac xau diidc lira chon phii hdp nhu cau sii dung. Vcfi muc dicli khao sat khai quat, ta dinh nghia hang chit (alphabet) mot each hinh thiic, do la mot tap hiiu han khac rSng bat ky ma m6i phaii tut ciia no la mot ky ti/ {symbol). Bang chii thudng dudc ky hieu bdi chii cai Hy Lap c6, nhu E, r va H; con cac ky t i i cua bang chii thudng duoc lict ke theo mot thu: tit xac dinh. T h i du, cac tap sau day la cac bang chii: r = {a, b, c, d, f, g, h, i , j , k, 1, m, n, o, p, q, r, s, t , u, v, w, x, y, z}, 0.1 Cac thuat ngvc va khdi niem 19 • Tii. Tie (word), hay con duoc goi la xau (string), tren mot bang chii cho trudc la mot day hiiu han cac ky t u cua bang chii ay, diTdc viet lien nhau va khong can ngan each hdi cac dau phay nhu thudng le. T h i du, bacca la mOt tit tren bang chii Ti = {a,b, c}, va 10100011 la mot t i i tren bang chii ^ = {0,1}. Cho w = (710-2 . . . (Jn-ian la mot t i i tren bang chii E. Dp dai (length) cua tit w, dUdc ky hieu bdi la so Ian xuat hien cua cac ky t u trong w, tiic |u;| = n. T i i vdi do dai 0 dudc goi la ta rSng (empty word) va dUdc ky hieu bdi e. Tit rdng duoc xem la mot tir tren bat cii bang chii nao, dong vai tro nhu so 0 trong cac he dem so. Ngtidc (reverse) cua tit w, duoc ky hieu bdi u ; ^ , la tir nhan dUdc b^ing each viet cac ky t u ciia w theo thii t u nguoc, tufc = (yn(^n- • •<72cri. Tir V la tie con (subword) cua w, ngu cdc ky t u cua v xuat hien lien tiep trong w. Til con aia2- • - (^i, vdi I < i <n, dudc goi la khuc dau (prefix) cua w. Cho hai tir u = ui... Um va v = vi... Vn. Phep ghep (concate- nation) u vdi V, ta ky hieu la uu, dUdc thuc hien b^ng each viet them t i i v vao cuoi t i i tt, tiic uv = ui... Um'Ui... Vn- Trong trudng A: hop, khi tit u dude ghep k Ian vdi chinh no, ta viet mT'Tli = u'^. • N g o n ngU. Gia suf E la mot bang chit. Ta ky hieu E+ la tap tat cd cac tii khdc rang tren bang chii E, va dat: E* = E+ U {e}, tiic tap tat cd cac tic tren E, = {w I w e E*, w n}, tile tap tdt cd cac tii do dai n tren S. Ngon nga (language), hay ngon ngU hinh thUc (formal lan- guage), tren bang chU E la tap cac t i i tren E. Nhu vay, mot tap con bat ky cua E* la mot ngon ngU tren E. Thi du, dudi day la cac ngQn ngit tren bang chii {0,1} : y4 = {0'l'|« = 0,1,2,...}, = {O'lO'l I = 1,2,...}.
  • 19. 20 M6 dau De tien dung, cac ttf trong E* duoc liet ke theo thit tiX tH diin quen thuoc, tren co sci thii t u cua cac ky t u trong E va dong thdi theo do dM ciia ti. T h i du, doi v6i bang chu: E = {a, b, c}, ta c6 E* = {e, a, b, c, aa, ab, ac, ba, bb, be, ca, cb, cc, aaa, aab,... }. 0.2 Ve ly thuyet do phiJc tap tinh toan 0.2.1 Vi tri trong Ly thuyet tinh toan Ta hay bat dau bang viec gidi thieu mot each so luoc ba linh vuc trong tarn c6 tinh truygn thong cua Ly thuyet tinh toan (Theory of Computation), do la: Ly thuySt otomat (Automata theory), Ly thuyet ve kha ndng tinh toan (Computability theory) va Ly thuyet do phtic tap tinh toan (Complexity theory). Ba linh vUc nay phoi hop Cling nhau kham pha nhflng tiem nang va nhiJng han che chinh cua tinh toan noi chung, ca tinh toan ly thuyet Ian tinh toan thuc te. Van de nay dira ta quay trd lai v6i nhiJng nam 30 cua the ki X X , khi cac nha logic toan bat dau xem xet mot each than trong ve gidi han cua tinh toan. Cac ket qua ly thuyet thu duoc trong khoa hoc tinh toan, nhu viec de xuat mot s6 mo hinh ciia cac qua trinh tinh toan va cua thuat toan noi rieng, va dac biet la viec chi ra mot so bai toan khong giai duqe, da cho ta biet duqc phan nao noi dung cua van de, til pham vi ly luan den quan niem thue tien. Den nay, du khoa hoe va eong nghe ngay mot phat trign manh me, viec lam sang to noi dung cua van de noi tren van eon rat gian nan. Ba linh vuc nghien eiiu cua ly thuyet tinh toan tuy co noi dung nghien ciiu rieng re, nhung chung co quan he mat thiet vdi nhau. Ly thuyet otomat dg cap den viec xay dung cac mo hinh toan hoc ve tmh toan. Muc tieu cua ly thuyet vi kha nang tinh toan la phan chia cac bai toan thanh Idp cac bai toan giai duoc va Idp cac bai toan khong giai duqc. Trong khi do, ly thuyet do phvCc tap tinh toan phan chia cac bai toan giai duoc thanh cac Idp khae nhau theo imic do kho khan khi giai clmng. 0.2 Ve ly thuyet do phitc tap tinh toan 21 Trong m6i linh vUc nghien ciiu, van d^ kham pha noi tren duqc t h i hien theo nhUng khia canh phu hop vdi chute nSng cua tvfng linh virc. D6 hinh dung duqc su anh hudng qua lai giiia ba linh vUc trong su phat trign chung cua ly thuygt tinh toan, chung ta hay quan sat vai tro cua moi linh vUc duqc thg hien nhu the nao trong qua trinh giai quyet mot bai toan. Bai toan can giai quyet co the la mot bai toan tong quat hoac la mot bai toan cu thg duoe xem nhu mot trudng hop rigng cua bai toan tCng quat. Di nhign, dieu mong muon la giai bai toan trong trirdng hop t6ng quat. Ve ly thuygt, qua trinh giai bai toan bao gom viec lap mo hinh toan hoc cho bai toan khi can thiet va, dua tren mo hinh do, xay dung phuong phap giai hay cu the hon la thuat toan giai. Tuy nhien, dg bai toan giai duqc mot each thuc te, viec lap mo hinh toan hoc cho bai toan ciing nhu viec xay dung thuat toan giai no dgu phai thieh hop vdi nhiing trang thiet bi tinh toan hien co. Nhiing trang thiet bi nay co duqc la nhd cac thanh tUu ciia eong nghg mang lai, ma co sd ly luan cua no dua tren nhiing kgt qua nghien ciiu cua ly thuyet otomat. Doi khi trong qua trinh giai bai toan, mac dii da rat co g^ng nhung ta v t n khong thg tim duqc mOt thuat toan giai no. Kho khan nay co thg do ban chat phiic tap cua bai toan chuf khong phai vi ta kem coi. K h i n g dinh dieu nay, tiic la viec ehdng to khong co thuat toan giai bai toan, la phan su ciia ly thuyet ve kha ndng tinh toan. De lam duoe dieu do, can thiet phai co mot dinh nghia chinh xae ve thuat toan thay the cho khai niem thuat toan theo nghia true giac ma ta van thudng diing khi xay dung thuat toan giai mot bai toan nao do. Bdi vi, khai niem true giac ve thuat toan khong t h i la CO sd de ta CO thg chilng minh rang khong ton tai mot thuat toan nao giai bai toan da cho. Dg dap ling nhu eau nay, mot vai khai nigm hinh thiic ve thuat toan da duqc de xuat, va nhd do mot so bai toan quan trong khong the giai duqc bang thuat toan da duqc kham pha. Chang han nhu bai toan xac dinh mot menh de toan
  • 20. 22 M6 dau hoc dung hay sai, bai toan tuong ilng Pots, bai toan thuf mudi cua Hilbert va v.v... Kham pha nay khong chi la hien tuong phi thu5ng ma no con thg hien ban chat chinh xac cua toan hoc. Mat khac, ngay ca trong trudng hap ta da xay dung dudc thuat toan giai bai toan, nhung tren thuc tc doi khi d6 nhan dtrdc mot Idi giai thoa dang lai rat gian nan, du ta dUdc cung cap day du cac trang thiet bi tien tien nhat. Nhil vay, giiJa "giai dUdc ve mat ly thuyet" va "giai diTdc mot each thuc te" c6 mot sir khac biet dang ke, trong do "giai dUdc mot each thuc te" la giai dudc tren may tinh dien tijf trong pham vi kha nang ve thdi gian cung nhu ve bp nh6 ma may c6 the c6 dadc. Ly giai su khac biet nay la viec lam cua ly thuyet do phic tap tinh toan. 0.2.2 Sy ra d5i va phat trien Quay trd lai vdi nhung nam 40 va 50 cua the ki XX, tiep theo nhung ket qua sau sac vg cac bai toan khong giai dUdc la sir tri§n khai nhiing t u tudng ve cac mo hinh ly thuyet cua may tinh va cuoi cung dan den sir ra d6i cua may tinh thuc tc. Day la mot bade tien quan trong cua khoa hoc cong nghe. Sau khi may tinh dien tut ra ddi, tucing rang vdi nhflng phudng tien tinh toan hien dai nhir vay, viec thirc hien thuat toan d6 giai tiep bai toan la mot viec lam ddn gian. Song, thuc te lai khong liic nao cung nhu mong muon. Chang lian, khi thuc hien thuat toan tren may tinh, nhicu bai toan giai dudc mot each d6 dang va cung khong it bai toan rat kho giai, tham chi khong thg giai dudc, mac dii v6 mat ly thuyet chung hoan toan giai dUdc bang nhieu thuat toan khac nhau. Thi du, doi vdi bai toan sdp xep cac doi tUdng theo mot thfl tU da dinh, ta cd thg giai bai toan vdi hang trieu doi tUdng mot each nhanh chdng chi tren mot may tinh nho. Trong khi do, doi vdi bai toan lap lich bieu cho mot trudng dai hoc thi van de lai trd nen kha phflc tap. Viec bo t r i phong hoc cho cac Idp chi can dam bao mOt yen cau thong thudng, sao cho khong cd hai Idp 0.2 Vi ly thuyet do phiic tap tinh toan 23 dUdc bo t r i vao ciing mot phong hoc tai cung mot thdi d i i m . D6 cd dUdc mot thdi gian bigu cho mOt trudng dai hoc, gom khoang 100 Idp vdi mSt so thay co va mot luqng phong hoc nao do, cd khi ddi hoi mOt thdi gian thuc hien tinh toan dgn hang the ky ngay tren ca sieu may tinh. Vay la bai toan lap lich bigu khong the giai dudc mot each thuc te. Nhu vay, trong boat dong thuc tign ta thudng gap nhflng bai toan dg va ca nhflng bai toan khd. Ngoai ra, mot bai toan cung cd thg giai dudc bang nhieu thuat toan xau tot khac nhau, va ngay vdi mot thuat toan thi cd the trong trudng hdp nay nd cho ta ket qua nhanh con trong trudng hdp khac nd lai cho ket qua cham. Hdn nfla, gifla giai dUdc ve mat ly thuyet va giai dUdc mOt each thuc te doi vdi nhieu bai toan cung cd nhflng khac biet dang kg. Nhflng dieu ndi trgn la hien tUdng kha pho bien. Viec kham pha nguygn nhan dan den hien tUdng nhu vay se cd y nghia quan trong ve mat ly thuyet va cd gia tri to Idn ve mat flng dung. Nguygn nhan ay phai chang la do ban chat phflc tap cua bai toan, hay la do thuat toan ma ta xay dung chua that hieu qua, va cung cd thg la do cac trang thigt bi tinh toan chua that hien dai, ... Lien quan den van dg nay, vao cuoi thap nign 60 cua thg ki X X mot linh vuc nghign cflu dUdc hinh thanh, do la ly thuyet do phiic tap tinh toan. Dua trgn nhflng kham pha ve su phu thuoc gifla "kich cd" cua bai toan vdi thdi gian thuc hien thuat toan cung nhu vdi dung ludng bo nhd ma may can sfl dung trong qua trinh tinh toan, ly thuyet nay tien hanh xem xet "do phflc tap thdi gian" vh "do phflc tap khong gian" cua thuat toan nhu nhflng ham phu thuoc vao "kich Cd" cua bai toan. Nhd dd ta cd dUdc mot each nhin thong nhat ve do phflc tap cua cac thuat toan. Ra ddi va phat trign manh me khoang bon mUdi nam qua, ly thuygt do phflc tap tinh toan tuy v l n chua cd duqc mot ly giai thoa dang cho nhung hien tUdng phd bign ngu tren, nhung nd da cd mot budc tign dang kg vdi nhieu ket qua phong phu cd y nghia nhat
  • 21. 24 Md dau dinh ve ly thuyet cung nhir ling dung. Nhd tign hanh khao sat cAc hhi toan trong mOt khuon kh5 chung, ly thuyet do phiJc tap tinh toan cho ta nhUng hilu biet khai quat ve tinh phiic tap cua mot Idp rong rai cac bai toan, dSng thdi cung goi md cho ta nhiing phuong hudng giai quyet doi vdi cac bai toan cu thg ma ta gap phai. Sau day ta hay khao sat mot vai khia canh cua linh vuc nghien cilu hap dan nay. Mot trong nhiing hudng sQi dong cua ly thuyet do phiic tap tinh toan la nghien ciiu kham pha mot ludc do tao nha nham phan loai cac bai toan theo "do phiic tap tinh toan" cua thuat toan giai chung, mot luoc do tudng tu nhu bang tuan hoan cac nguyen to hoa hoc duoc phan Idp theo tinh chat hoa hoc cua chiing. Qua lUdc do ly tudng ay, ta c6 thg biet dudc bai toan nao de, bai toan nao kho ma khong can phai giai chung. Day la mot hudng nghien ciiu vdi mot tam nhin bao quat. Trong trudng hop cu thg, khi duong dau vdi mot bai toan xem ra la kho giai, ta c6 the xiJt ly theo mot vai each khac nhau. Cdch xit ly tM nhdt, ta can tim higu xem khia canh nao cua bai toan la can nguyen cua su kho giai, roi tim each khac phuc dg bai toan duoc giai quyet dg dang hdn. Cdch xic ly thU hai, thay vi kho tim dUdc Idi giai hoan hao cho bai toan, ta c6 thg chap nhan mot 15i giai it hoan hao hon mign sao tim dUdc dg dang hdn; chang han, doi vdi nhieu bai toan toi Uu ma khong thg giai dUdc mot each thuc te, viec tim mot 16i giai gan dung dg dang hdn dang kg so vdi viec tim mOt Idi giai chinh xac. Cdch xvc ly thi2 ha, ta c6 thg de xuat cac thuat toan giai nhanh doi vdi "hau het" cac trudng hdp cua bai toan va chi gap kho khan trong mot so it "trudng hdp xau"; hoac xay dung cac thuat toan vdi "do phiic tap trung binh" viia phai. Cach xiJt ly nhu vay thudng c6 y nghia ling dung, tuy thuoc vao doi hoi thuc te. Cuoi cung, ta c6 thg nghi den cac kiiu tinh toan linh hoat hon theo nghia nao do, chang han nhu tinh toan toan song song hay thuat toan xac suat, va hy vong r^ng bai toan dUdc giai quyet tot hdn. 0.3 Cdch tiep can cac bai toan 25 0.3 Cach tiep can cac bai toan Cac bai toan ma ta thudng gap thuoc rat nhieu linh vUc khac nhau va CO nhang dang phan biet, nhung da phan la dang bai toan quyet djnh hoac bai toan tim kiem, trong do noi rieng la dang bai toan toi uu. Day la nhiing bai toan thuan tuy toan hoc va cung c6 thg la nhiing bai toan thong dung nay sinh tii hoat dong thuc tien. Cac bai toan do c6 thg dupe phat bigu chinh xac bang ngon ngii toan hoc, nhung doi khi cung dUdc phat bigu theo mot ngon ngii tu nhien dan da. Trong trudng hop khi bai toan chua duoc phat bilu bang ngon ngii toan hoc, thi viec dau tign phai lam la dich bai toan do sang mot ngii canh toan hoc thich hdp; chang han nhu trudng hdp sau day. Bai toan xep ba 16. Cho mot Id hang hod gSm cdc goi hang, moi goi diu c6 khoi luang cung vdi gid tri cu the, vd cho mot chiec ba Id. Hay chon tit Id nay mot so goi hang nao do vd xep day vao ba 16, nhung khong duac qud, sao cho thu duac mot gid tri Idn nhdt c6 thi. Day la mot bai toan t6i Uu to hop quen thudc, dUdc ky hieu la MAX-KNAPSACK va dudc phat bilu b^ng ngon ngii toan hpc dudi dang tdng quat nhu sau: MAX-KNAPSACK DQ ki$n: Cho "hai day so nguyen dudng S i , S 2 , . . . , S n , - 5 va Y^u cdu: Tim mot tap con / C { 1 , 2 , n } sao cho ^ Si < 5 va E '^i —' "^ax-
  • 22. 26 Md dau | Lap dudc mo hinh thich hop nhir vay cho hhi toan la mot budc quan trong, nhung mdi chi la phln khdi dau cua qua trinh giai bai toan. Trong viec hoan tat qua trinh giai, khau cd ban nhat la dtra tren mo hinh toan hoc cua bai toan ta can de xuat mot phuong phap giai, hay ly tu5ng hdn la xay dung mot thu tuc chat che xii ly mot each hieu qua cac thong tin lien quan den m6i du kien bai toan, d l tii do thu dudc nghiem tUdng utng vdi ttrng dii kien. Cuoi cung, can tien hanh phan tich va danh gia hieu qua ciia each giai bai toan cung nhu kha nang hien thuc hoa tren nhiing trang thigt bi tinh toan hien c6. Xay dung cac phudng phap hieu qua giai cac bai toan rieng re nay sinh ttt thuc tign rat c6 y nghia doi vdi ilng dung. Dg c6 dUdc nhiing kgt luan hay nhiing ket qua nghien ciiu mang tinh khai quat, cdc bai toan can dUdc xem xet trong mot khuon kh6 chung. Cac nghign ciiu nhu vay giup ta c6 mot each nhin thong nhat doi v6i van d§" phiic tap cua cac bai toan, dong thdi cho ta nhiing hieu biet khai quat va nhiing hudng dan can thiet trong cac tinh huong cu thg, va vi the no khong chi c6 y nghia ly luan ma eon rat thiit thuc cho ling dung. Viec nghien ciiu nay diidc gi5i han trong pham vi cac bai toan quyet dinh, do ehiing eo mOt sl thg hien kha tu nhign dudi dang ngon ngii hinh thiic rat thich hop cho viec phan tich va xii ly thong tin hdi mot mo hinh tinh toan chung. Tuy nhien, viec gidi han nhtr vay thuc chat khong gay ngn mot han che nao dang k^, bdi thay vi can xem xet mot bai toan tim kiem hay bai toan toi uu noi rigng, ta c6 t h l nghign ciiu bai toan quyet dinh khong kh6 hon tuong ling vdi no, va tii nhiing ket qua nghien ciiu lign quan den van de phiic tap cua bai toan quyet dinh, ta c6 thg di den nhiing ket luan thich hop doi vdi bai toan da cho. De cac bai toan thuoe nhieu linh vuc khae nhau c6 the duoe xem xet trong mot khuon kh6 chung va dupe giai quyet trgn ciing mSt mo hinh tinh toan, sau day ta hay tiing bude cu the hoa cac digm CO ban trong each tiep can bai toan. 0.3 Cdch tiep can cac bdi toan 27 0.3.1 Bai toan tim kilm va bai toan quyet dinh D6 xac lap sir tuong ling giiia bai toan tim kiem va bai toan quyet dinh, trude tign ta can phan biet cac loai bai toan ma ta xem xet. Nhan thay rang, mot bai toan c6 thg dupe phat bigu thanh hai phan tach biet: phan Da kien vk phan Yeu cau. Doi vdi phan Da kien, ta can xac dinh ro tap dii kien cua bai toan bao gom nhiing dii kien cu thg nao. Con phan Yeu cau thudng c6 hai loai. Loai thii nhat la mot Cau hoi ma doi vdi m6i dii kien bai toan chi can trd Idi don gian la "dung" hoac "sai". Bai toan vdi cau hoi nhu vay dupe gpi la bai toan guy it dinh {decision problem). Loai thii hai la ygu cau Tim kiem nghiem doi vdi dii kien bat ky cho triidc. Bai toan vdi ygu cau nhu vay c6 tgn gpi la bdi toan tim kiim {search problem). Trong Idp cac bai toan tim kiem, cac bdi todn toi Uu (optimization problems) eo mot vi tri quan trpng. Bdi toan cite dai hoa (maximization problem) va bdi todn cue tiiu hoa (minimization problem) la eac bai toan toi Uu vdi ygu cau tim kiem nghiem chap nhan dupe vdi gia tri Idn nhat va nho nhat tuong ling. Bai toan quygt dinh tUOng ling vdi bai toan tim kiem c6 the dupe xac dinh dOn gian bang each thay Yeu cau: "Tim nghiem doi vdi dii kien bat ky cho trude" bang Cau hoi: "Phai chang ton tai nghiem doi vdi moi dii kien da cho?" Trong trudng hpp nay tap dfl kien khong thay ddi. Thi du, bai toan "Hay tim chu trinh Hamilton trong moi do thi cho trude" dupe tuong ling vdi bai toan quyet dinh sau day: HAMILTONIAN CYCLE Da kien: Cho mot do thi G. Cau hoi: Phai chang trong G c6 chu trinh Hamilton? Tuy nhien, cac bai toan toi liu dupe tuong ling vdi cac bai toan quyet dinh thich hpp hon. Bai toan quyet dinh tUOng ling vdi bai
  • 23. 28 M6 dau to4n circ dai hoa (bai toan cttc t i l u hoa) duoc xac dinh nhir sau: Tap da kien cua no duac xay dung bang each them vao mdi dH kien cm bai toan toi m mot ranh gidi B tuy y, thuoc ciing mien xac dinh gia t r i cua nghiem. Tiep theo, eau hoi duoc phat bigu rang, doi vdi m5i du kien nhu vay, phdi chdng c6 mot nghiem chap nhan duac vdi gia tri khong nho han B {khong Idn han B, tudng ijfng)? Thi du, bai toan cue dai hoa M A X - K N A P S A C K duoc tuong ling vdi bai toan quyet dinh sau day: KNAPSACK • • • • • • • • • '•' DO kien: Cho hai day s6 nguyen duang iwii n ;> ^' •^li ^2, S„, S va Cau hoi: Phai chang c6 mot tap con I C {l,2,...,'n} sao cho E^^<S va . E ^ t > S ? iei iei Nhu vay, moi bai toan t i m kigm hay moi bai toi Uu noi rieng deu CO the duoc tUOng ilng vdi mot bai toan quyet dinh ma thudng la khong kho hon. Rieng doi vdi bai toan toi Uu,. do viee tinh toan gia t r i cua nghiem bai toan toi uu la tUOng doi d6 dang, cho nen bai toan quyet dinh tuong ling khong thg kho hon bai toan toi uu ban dau. ' if*-- Cuoi eung, ta t i m each dac trung moi bai toan quyet dinh bdi mot ngon ngu hinh thiic nao do, bang each ma hoa (tufc mieu ta) tiing du: kien bai toan bdi mot tit tren bang chii thich hop va xac dinh ngon ngu: tuong ling vdi bai toan ay. Viec ma hoa nay eo t h i duoc thuc hien theo mot quy trinh ehung vdi mot vai rang buoc can thiet. Sau day la mot quy trinh ma hoa thong dung mang tinh nguygn t^c. . , , 0.3 Cdch tiep can cdc bai toan 29 0.3.2 Ngon ngu* bieu diln bai toan quyet dinh • T i n h sue t i c h . Theo le tu nhien, mot bai todn quyet dinh cung thudng duoc di6n ta bang nhieu ngon ngu hinh thire khae nhau theo nhung phep ma hoa khae nhau doi vdi cac dU kien bai toan. Song, di dam bao yeu eau toi thigu ve tinh sue tich doi vdi ngon ngii, viec ma hoa can thoa man cac ticu chuin sau day: (ci) Tiit ma (xau bigu dien) cua moi dfl kien bai toan phai ngan gon va khong dUdc "don them" nhUng thong tin khong can thiet. (C2) Cac so tham gia trong dfl kien bai toan can duoc bigu dign dudi dang nhi phan hoac theo mot co s6 nao do Idn hon 1 (bdi VI dang bigu dign theo co s6 1 dai hon c3 ham mfl so vdi bat ky dang bigu dien n^o theo cO so A; vdi > 2). • Sd do m a hoa chu§n. Doi vdi tflng bai toan cu the ta dg dang xay dung duoc mot phep ma hoa thich hop. Tuy nhign, viec dua ra mot dinh nghia hinh thflc ve phep ma hoa la khong hg don gian. Song, ve mat nguyen tac, cac phep ma hoa thich hop co thg duoc xay dung dua trgn mOt scf dd md hoa chudn, ma theo do cac dfl kien cua bai toan dugc bigu dien bdi cac "xau lien ket", tile "xau co cau true", tren bang chfl chfla ^ = {0,1, - , [ , ] , ( , ) , , } vdi ky t u cu6i Cling la dau phay " ,". Xau lien kit dugc dinh nghia mot each de quy nhu sau: (ci) Bigu dien nhi phan cua mot so nguygn k (mot xau bao gom cac ky tU 0 va 1, co ky t u " - " d phia trudc ngu k la so am) la, mot xau lien ket bieu thi so nguygn k. (^2) Neu X la mot xau lign kgt bigu thi so nguygn k, thi [x] Ih mot xau lign ket bieu thi "tgn" cua doi tugng mang so hieu k. (ea) Neu </i, ^2, • •, ym la cac xau lign kgt bigu thi cac doi tugng Yi,Y2,..., y„„ thi (yi, ^2, • •, 'Jm) la mot xau lien kgt bigu thi day {Y,,Y2,...,YJ.
  • 24. 30 Ma dau Dxta theo so do ma hoa nay, ta c6 the bieu dien cac du; kien bai toan bdi cac xau lien ket tren mot bang chii: nao do chiia cac ky tu thuoc bang chii ke tren. Di nhien, day la mot sd do nen no chi mang tinh nguyen tac. D6 dap utng yeu cau ve tmh sue tich cua ngon ngfl, trong t t o g trudng hop cu thg ta c6 thg b6 sung nhung quy tac thich hdp can thiet, nhung v l n phai dam bao tinh chuan xac cila viec bigu diin. Dudi day la nhflng bieu dign cua mot vai doi tUdng quen thuoc nhir: tap hap, ham, so hiiu t i va do thi. Ta se dung ky hieu k d6 chi bieu diin nhi phdn cua so nguyen dirong k. De b i i u dign mot tap hap Mu han X, dau tien ta sap xep cac phan tit cua no theo trat t u nhu mot day X = { X i , X 2 , . . . , X„}, trong trudng hop chung chua c6 mot trat t u nhu vay. K h i do tap X duoc b i l u dign bc)i mot xau lien ket (xi, X 2 , . . . , trong do Xj la xau lien kgt bigu dign phan t i i X, tUdng iJng ciia day, i < n. Mot ham f : X Y dUdc bieu dien b6i mot xau lign ket ((:ci,yi)(x2,y2) • • • (x„, :(/„)), trong do Xi la xau lien ket bigu dien phan tijf Xj G X va yt la xau lign ket bigu dien phan tur /(X^) e Y, l < i < n. Mot so hHu ti q = rn/n, trong do rn va n la cac so t u nhign nguygn to ciing nhau, dUdc bigu dign bdi xau lien ket (m, /i), trong do rii va h la bigu dign nhi phan cua cac so rn va n tiTdng ling. Mot do thi CO hxldng G = {V, A) dildc bieu dien bdi mot xau lign ket (x,y), ta ky hieu la (G) ^ (x,y), trong do x la xau lien ket bigu dien tap dinh V va y la xau lign ket bieu dien tap cung A cua do thi (m5i phan tilt ciia A la mot cap cac dinh thuoc V). Cu thg, vdi V = {vuV2,..., Vn} va A = { u i , a2, -. •, " m } , trong do cung Uj = 1 < j < "i, theo sd do ma hoa chuin ngu trgn ta CO thg bigu dign do thi G nhu sau: (G) = ( ( [ i ] , [ 2 ] , . . . ,[/i]),(([/:'i],[/t,]),(N,[M), •.. XlkmUKM- Tuy nhign, dg dap Ung yeu cau ve tinh sue tich cua ngon ngii, do thi G CO thg dudc bigu dign bdi mot xau don gian hon (G) = i2,...,ntl(/^i,/i0(^-2,/i2)...(fc^,/i^) tren bang chU gom sau ky tu { 0 , 1 , (, ,}, trong do xau trudc ky tu t) bigu dign tap dinh va xau sau JJ bigu dign cac cung cua do thi. Thi du, do thi hinh ngoi sao nam canh Gj vdi tap dinh {vi,V2, V3, V4, Us} (Hinh 0.2) dudc bigu dign bdi xau lien ket (Gi) = i,2,3,4,5«(i,3)(i,4)(2,4)(2,5)(3,5). • Ngon ngiJ dac trtfng cua bai toan quygt dinh. Gia sijf 11 la mot bai toan quyet dinh vdi tap dU kien Dn va cau hoi Qn trgn m5i dvi kien bai toan. Khi do Qn xac dinh mot tinh chat doi vdi moi dii kien cua bai toan, tiJc mot ham tii tap Dn den tap cac gia tri chan ly {DUNG, SAl} nhu sau: Doi vdi m5i dii kien d e Dn, ta CO Quid) = DUNG khi cau hoi Qn trgn dii kien d dudc tra Idi la "dung"; trong trudng hdp ngUdc lai. Quid) = SAL Gia sijr e la mot phep ma hoa thich hdp n^G do doi vdi bai toan n, ma theo d6 moi dU kien bai toan dUdc bigu dien bdi mot xau lien kgt tren bang chfl E. Nhu vay, e anh xa cac dU kien bai toan thanh cac xau thuoc £*. Dg ddn gian, khi khong can luu y den phep ma hoa t, t;a ky hieu (d) = e{d) doi vdi mdi d e Dn- Ta dinh nghia cac ngon ngU sau: L{Du) = {{d)deDu}, L(n) = {{d)deDn ^ Qn{d) = DUNG}. Ro rang ngon ngU L{U) dien dat noi dung cua bai toan IT, nen duoc goi la ngon ngU dac trxing cua IT, hay ngon ngvC tuCdng "^ng vdi bai toan U, va dUdc ky hieu ngan gon bdi chfl nghigng 77. Ta CO
  • 25. 32 Md dau 0.3.3 D o a n nhan ngon ngu* Cho n la mot bai toan quyet dinh, L{Du) 1^ ngon ngfl tren bang chO: E bieu dign tap dii kien cua n , va /7 la ngon ngu: tircng urng vdi bM toan IT. Gia sijt ton tai mot mo hinh tinh toan hinh thiic, m^ khi xiJt ly tren m6i xau thuoc L{Dn), hay thuoc E* noi chung, no CO thg phan biet dirac xau nao thuoc 17 va xau nao khong; nghia Ih, mo hinh tinh toan ay c6 kha nSng "nhan biet" hay "doan nhan" ngon ngii 17. K h i do ta dg dang thu diioc Idi giai cua bai toan quyet dinh n. Nhu vay, thay cho viec xay dirng thuat toan giai bai toan quyet dinh cho trildc ta c6 the tim kiem mot mo hinh tinh toan hinh thiic liho do dg doan nhan ngon ngiJ tuong ling vdi bai toan ay. Mot trong nhiing mo hinh nhu vay da duoc Alan Turing de xuat, va vi the no duoc mang ten ong, do la may Turing. May Turing la mot mo hinh tinh toan don gian nhung kha tSng quat, CO kha nSng di6n ta mot each ro rang va t i mi hau het moi qua trinh tmh toan. V i vay, may Turing duoc sii dung nhu mot cong cu kha thuan tien trong viec khao sat cac qua trinh tinh toan noi chung, va dac biet trong vi^c phan tich do phiic tap cua thuat toan. B a i t a p 0.1 Hay dien ta mot each phi hinh thilc bang tieng Viet tiing tap hop sau day: a. { 1 , 3 , 5 , 7 , . . . } . b. { . . . , - 4 , - 2 , 0 , 2 , 4 , . . . } . c. { n I n = 2m doi vdi m6i m thuoc N}. d. { n | n = 2rn doi v6i mot m nho 66 thuoc N, ; . va n = 3k doi vdi mot k nho do thuQc N}. Bai tap 33 0.2 Hay di6n ta mot each hinh thilc t t a g tap hop sau day: a. Tap bao gom cac so 2, 4 va 6. b. Tap bao gom tat ca cac so nguyen duong Idn hon 10. c. Tap bao gom tat ca cac so t u nhien nho hon 10. d. T^p bao gom tir aba. e. Tap bao gom tijf rong. f. Tap khong bao gom gi ca. 0.3 Cho A = {x,y} vk B = {x,y,z}. Hay tra Idi cac cau hoi sau day: • • • • • • . - . •'j , . . , • a. A la tap con ciia B? ' • ' b. B la tap con cua A? ' c. /I n/? cu t h i la tap nao? • - d. AU B cu the la tap nao? e. A X B cn thg la tap nao? f. ViA) cu thg la tap nao? 0.4 Neu ^ CO a phan tuf va B c6 b phan tut, thi A x B c6 bao nhigu phan tut? 0.5 Neu C CO c phan tut, thi ho tat ca cac tap con cua C, tiic V{C), CO, bao nhieu phan tut? 0.6 Hay cho bigt, trong so nhiing dieu sau day, digu nao dung vk dieu nao sai? n a. 3n = 0 b. n^ = 0[n]. c. n ^ = 0 [ n l o g ^ n . d. n log 71 = 0[n^ e. 3" = 2°t"l. f. 22" = Of22"l.
  • 26. 34 M6 dau 0.7 Trong so nhiJng dieu sau day, dieu nao dung va dieu nao sai? a. n = o[2n]. d. 1 = o[n]. b. 2n = o[n'^]. e. n = o[ogn . c. 2" = o[3"]. . f. 1 = o[l/n . 0.8 Cong thiic Boole sau day la thoa duoc hay khong? ( x V y ) A ( x V y ) A ( x V y ) A ( x V y ) . 0.9 Xetd6thiv6hudngG = (y,/?),trongd6 V = {1,2,3,4} va E = { { 1 , 2 } , { 1 , 3 } , { 1 , 4 } , { 2 , 3 } , { 2 , 4 } } la tap dinh va tap eanh tuong ling. Hay mo ta do thi nay b^ng hinh ve. Cae dinh 1 va 4 eo bae la bao nhieu? Hay ehi ra eae dudng di tiJt dinh 3 den dinh 4? 0.10 Gia sijf G la mot do thi. Clique trong G la tap cac dinh etia G ma hai dinh bat ky deu kg nhau. Tap doc lap {independent set), hay anti-clique, la tap eae dinh cua G ma hai dinh bat ky deu khong ke nhau. Chiing minh rang moi do thi vdi n dinh deu chiia hoac mot clique hoclc mot anti-clique vdi it nhat I log2n dinh (Dinh ly Ramsey). 0.11 Xet bai toan tim udc so ehung Idn nhat cua hai so tu nhien. a. Hay phat bigu bai toan quyet dinh tuong ling vdi bai toan nay. b. Sii dung bigu dien nhi phan cua cac so tU nhign, hay xac dinh ngon ngu dac trung cua bai toan quyet dinh ay. Chi:^crng 1 May Turing va Thuat toan May Turing duoc de xuat vao nam 1936, theo nhu cau dinh nghia chinh xac khai niem thuat toan ma trude do ehi duoc higu mdt each true giae. Vdi nguyen tac hoat dong kha don gian, may Turing khong ehi la mot khai niem chinh xac ve thuat toan duoc thiia nhan rong rai nhat, ma con la mo hinh kha diing d^n cua hau het moi qua trinh tinh toan. Ndi rieng, may Turing eung la mot mo hinh cua may tinh thuc te, ma nhd do mot trong nhflng may tinh tu dong dau tign duoc thiet ke va che tao thanh cong. NOi dung chinh ciia chuong nay la gidi thieu ba dang cO ban eiia may Turing (may Turing tat dinh mot bang, may Turing tat dinh nhieu bang va may Turing khong tat dinh) va chiing minh su tuong duong giua ehung. May Turing con duoc chiing minh la tuong duong vdi nhung mo hinh tinh toan khae duoc de xuat cho khai niem thuat toan. Digu do t h i hien kha nSng tinh toan to Idn cua may Turing mot bang va ly giai vi sao may Turing duoc lua chon dg dinh nghIa khai niem thuat toan. Dii kha nang tinh toan eiia may Turing la rat to Idn nhung no cung ed gidi han, do ed nhiJng bai toan khong thg giai duoc b^ng may Turing. Day lai la mot dieu thu vi theo nghia rat thuc te. No cho ta mot gidi han ve mat ly thuygt doi vdi tinh toan ndi ehung hay mdt ranh gidi giiia giai duoc va khong giai dudc doi vdi bai toan.
  • 27. 36 May Turing va Thuat toan 1.1 May Turing 1.1.1 M6 ta • C a u tao. May Turing {Turing machine), hay may Turing tdt dinh mot bang ddn {single-tape deterministic Turing ma- chine), la mot mo hinh xii ly tin t u dong, ma m6i du: lieu dau vao duoc bigu di6n dudi dang mot tir tren bang chfl E nao do. Qua trinh hoat dong cua may di6n ra trong thdi gian rdi rac t = 0 , 1 , 2 , . . . May bao gom mot bo phan dieu khign, mot bang vo han ve phia phai, va mOt dau doc-ghi ket noi bo phan dieu khien vdi bang. Dau doc-ghi 0 0 0 0 1 Bo phan digu khign H i n h 1.1 So do may Turing o Bang (hay chinh xac la bang dan) dmc chia thanh cac 6 b^t dau tCt trai qua phai, m5i o chiia mot ky t u thuoc bang chii T nao do. Bang cha nay chiia E, mot ky t u dac biet 0 dUdc dung d6 biiu thi 6 trong (blank), va c6 t h i chiia mot vai ky t u can thigt khac. Tai thdi digm ban dau i = 0, du lieu dau vao {trie mot tiif thuoc E*) duoc ghi trgn bang bat dau tH o dau tign, con lai la cac o trong. o D&u doc-ghi tai moi thdi digm hoat dong cua may soi xet mot 6 tren bang, c6 nhiem vu doc ky t u d 6 do roi thong bao cho bo phan dieu khien de dudc chi dan thay ky t u do hKng mot ky t u khac, va sau do c6 t h i chuygn sang o ben canh 6 ben trai' hoac ben phai 1.1 May Turing 37 (tUdng duong vdi viec dich chuygn bang sang phai hoac sang trai mOt 6). Tai thdi digm t = 0, dau doc-ghi soi xet o dau tien. o Bo phan dieu khien c6 mot tap hiiu han cac trang thai Q, va tai mdi thdi digm hoat dong no chi d mot trang thai. Tap Q chuta ba trang thai dac biet q„, va q^, trong do q^ la trang thai cua bo phan dieu khign tai thdi digm ^ = 0 ngn duoc goi la trang thdi ban d&u {start state), q^ la trang thdi chap nhan {accept state) va (/N trang thai bdc bo {reject state). Day la hai trang thai khi may diTng hoat dong ngn con dUdc goi la trang thdi kit thuc {final state). Co thg noi rang, bo phan dieu khign c6 nhiem vu dieu hanh moi hoat dong cua may theo bang lenh dUdc cai dat san. Bang lenh cud, may bao gom cac lenh dang gxHry, trong do q va r la cac trang thai thuoc Q, x va y la cac ky t u thuoc F, con H 6 { L , R , S}. Lenh qx{ry c6 noi dung nhir sau: Bo phan dieu khign chuygn tir trang thai hien thdi q sang trang thai r, va dau doc-ghi thay ky t u x ci 5 no dang nhin bang ky t u y rdi di chuygn sang trai mot 6, sang phai mot o hay ddng yen tuy thuoc H = L, H = R hay H = S. Bang lenh can duoc xac dinh mot each chuin xac va dam bao muc dich tinh toan cua may. • N g u y e n tSc hoat dong .Vao thdi digm ban dau, trang thai cua bo phan dieu khign, viec nap da lieu dau vao va vi t r i ciia dau doc-ghi duoc xac dinh theo quy udc nhu da ngu tren. Qua trinh xil ly tin tren mSi dfl lieu dau who duoc dien ra theo cac lenh cua may. Tai mdi thdi digm hoat dong, khi bo phan dieu khign 5 trang thai q va dau doc-ghi doc duoc ky tu X trgn bang, ngu may c6 lenh vdi khuc dau qx, thi may thuc hien theo lenh do vdi noi dung noi trgn. Trong trudng hdp khong CO lenh nao nhu vay, may diing hoat dong. Viec thuc hien mot lenh cua may dUdc dien ra trong khoang thdi gian giiia hai thdi d i i m ke tiep nhau, va dUdc goi la phep biin dSi {step), hay con dudc goi la phep biin dSi cd ban, cua may. Ro rang, day la mot phep bign ddi vao loai don gian nhat. Qua trinh duoc tiep dign cho den
  • 28. 38 May T u r i n g va T h u a t toan k h i may c6 the di dgn nhflng quyet d i n h cuoi ciing d6i vdi du" Ucu dau vao. Du: Ueu dau vao duoc chap nhan hay bdc ho t u y thuoc vao su t h i may diitng cl trang t h a i hay 6 t r a n g t h a i q^ k h i qua t r i n h xijt ly ket thuc. Trong t r u d n g hdp k h i khong den duoc t r a n g t h a i kgt thuc, qua t r i n h t i n h toan cua may tren dau vao se khong bao gid dirng. . . . : M o i may T u r i n g duoc xay dirng deu n h ^ m thirc hien m o t muc tieu nao do. Trong so cac thanh phan c i u tao cua may, bang lenh dong vai tro quan trong trong viec thirc hien muc tieu da d i n h va CO anh hudng rat Idn den hieu qua xijf ly t i n cua may. D6 tirng budc t i m higu m o t each can ke ve may Turing, t a hay bat dau tir viec xay dung m o t may T u r i n g don gian d6 d a m dUdng m o t nhiem v u t a m thirdng nao do. • V i d u 1.1.1 Hay xay dung m o t may T u r i n g Afi d i kigm t r a t i n h can xilng cua cac t i t tren bang chi5 E cho trudc. Til can xUng, hay diep til (paUndrome), la t i l se khong thay doi k h i t a dao nguce t h i i tir cac ky t u cua no, tilc w = t h i d u n h u tit madam. N h u vay, tijt rong va cac tiit gom m o t ky t i i la cac diep t i l . Theo quy d i n h , may phai xijt ly m o i t i l thuOc E*. Hon nfla, k h i t i n h toan tren t i l v^o w G E*, may Mi se dijtng 5 t r a n g t h i i chap nhan neu w la diep tir va ditng 6 t r a n g t h a i bac bo q^ t r o n g tritdng hdp ngudc lai. Trirde k h i xay dung may A/i, t a thiJt dat m i n h vao dia v i cua may dg xem c6 each nao kigm t r a t i n h can xiing cua m o t t i l vao bat ky to = a - i a 2 . . . cr„_icr„. Co le ddn gian nhat la Ian ludt so sanh t i l n g cap cac ky t u d cac vi t r i doi xilng nhau, tiife cap (cTj, c r n _ i + i ) vdi i = 1 , 2 , — Neu chung khac nhau t h i bac bo t i l vao; trong t r u d n g hdp giong nhau, t a xoa chiing d i roi lap lai qua t r i n h so sanh cho den k h i khong con ky t u nao hoac k h i chi con mot ky t u , va k h i do t i l vao dudc chap nhan. K h a nang " k h i chi c6n m o t ky t u " vita ngu tudng iJng vdi t i l vao can x i l n g do dai le, con kha nang kia utng vdi t i t can xilng do dai chan, kg ca t i l rong. i.l May Turing 39 Ta bat dau xay dung may A/j thco y tudng n h u vay, trong do dieu dang l u u y la k h i tien hanh mot cong doan so sanh, may xoa ky t u ben t r a i nhat (tUc thay no bang ky t u 0 ) va can n h d ky t u do de so sanh vdi ky t u ben phai nhat. Viec nhd mot ky t u da xoa CO tlig thuc hien dUdc nhd trang t h a i cua may. Vdi giai phap nay, bang chU F va tap trang thai Q cua may A A c6 thg dudc d i n h nghia nhu nhung tap sau day: r = E u { 0 } , Cuoi Cling, doi vdi bang lenh cua may, d6 tien theo doi t a xae lap va phan chia cac lenh t h a n h nhUng nhom theo chile nang n h u sau. 1. Xoa ky t u khac 0 bgn trai nhat trgn bang neu c6. D i chuygn dau doc-ghi sang phai de t i m ky t u khac 0 ben phai nhat: go^Ryf 0 , doi vdi moi x e E qiyRqfy, doi vdi moi y G E q^0Lq^0. l a . K h i t i m dUdc ky t u n h u vay, so sanh no vdi ky t u vila bi xoa. Neu chiing giong nhau t h i xoa ky t u viia t i m dUdc va d i chuygn dau doc-ghi sang t r a i dg lap lai quy t r i n h ; ngUdc lai, neu chung khac nhau, t h i bdc bo: ^fx-Lc/30 qsy^^qsv qs^RqoQ; q^zSq^z, doi vdi 2 e E ma z 7^ X . l b . Neu khong t i m thay ky t u nao khac 0 t h i chap nhan: chap nh^n diep tiT dO dki 2. Neu tren bang chi toan la ky t u trong 0 t h i chap nhan: qQ<2)Sqy(Z). [[ d i a p niian digp tit dO dai ciian]] •
  • 29. 40 May Turing va Thuat toan Sau day ta hay quan sat qua trinh tinh toan cua may Turing Ml doi vdi t i i vao abbcacacbba tren bang chiJ E = {a, b, c}: a b b c a c a c b b a 0 T 0 b b c a c a c b b a 0 T 9? 0 b b c a c a c b b a 0 T 0 b b c a c a c b b a 0 T 0 b b c a c a c b b 0 0 93 • ' 0 0 0 0 0 0 0 0 0 0 0 0 ^ T , , , , , ' 0 0 0 0 0 0 0 0 0 0 0 0 ^ T 0 0 0 0 0 0 0 0 0 0 0 0 T . 9l 0 0 0 0 0 0 0 0 0 0 0 0 T 92 0 0 0 0 0 0 0 0 0 0 0 0 t H i n h 1.2 May hfy tinh toan va chSp nhan tit vao abbcacacbba 1.1 May Turing 41 Nhu vay, chiing ta da xay dung may Turing M^ vdi day du cac chi tiet cau thanh cua no, dac biet la bang lenh, va xem xet cu the qua trinh tinh toan cua may tren mQi t i l vao. Tuy nhien, dg de hinh dung each thiic tinh toan cua may Turing noi chung, ta chi nen de cap den nhiJng yeu to co ban mang tinh dac trung cua may, bo qua nhiing yeu to phu trg, tuong t u nhu khi ta trinh bay mot thuat toan. Vice liet ke cac lenh cua may Turing cung giong nhu viec lap trinh doi vdi thuat toan. V i vay, trong trudng hop khong can phai ncu ra day du cac chi tiet, may Turing sc duoc the hien bdi nhung y^u to can thiet, du xac dinh each thiJc tinh toan cua may. Bang each the hien nhu vay ta thu dUdc mot phep bieu dien don gian hon doi vdi may Turing, dac biet la doi vdi nhiJng may phiic tap, nhung van dam bao tinh chudn xac ciia no. T h i du, may Turing Mi neu tren ki6m tra tinh can xiing doi vdi cac t i l vao tren bang chii S, bang each di chuygn dau doc-ghi tir trai qua phai roi quay ve phia trai de thuc hien mot quy trinh lap, bao gom vice so sanh cac ky tU cua w d nhiJng vi t r i doi xurng. NCu giong nhau thi xoa chiing di va lap lai quy trinh; ngUdc lai, bdc bo. Ta CO the dien ta may hfi mot each don gian va chudn xac nhu sau: A A ="Tren m6i tl vao G S*: 1. Thuc hien mOt quy trinh lap, xda ky t u khac 0 ben trai nhat tren bang neu cd. Di chuyen dau doc-ghi sang phai d6 rim kiem ky t u khac 0 ben phai nhat. l a . K h i rim dudc ky t u nhu vay, so sanh no vdi ky t u vrfa bi xoa. N6u clmiig giong nhau thi xda ky t u viia rim dUdc va di chuy6n dau doc-ghi sang trai de lap lai quy trinh; ngUdc lai, neu chiing khac nhau, thi bdc bo. l b . Neu khong rim thay ky t u nao khac 0 thi chap nhan. 2. Khi bat dau mot quy trinh lap, ncu tren bang chi toan la ky tu trong 0 thi chap nhan."
  • 30. May Turing va Thuat toan • Bo nhd cua may Turing | Qua nhang khao sat tren day, dac biet la til Vi du 1.1.1 vrta neu, ta nhan thay rang may Turing c6 hai bo nhd, do la bo nhd trong vk bo nhd ngoai. Tap trang thai cua may c6 mot vi tri quan trong trong qua trinh tinh toan va dong vai tro nhu ho nhd trong. Dung luqng bo nhd trong cua may Turing la hiJu han. Bang cua may la ndi thuc hien viec xijt ly tin, va tren do luon the hien ket qua xii ly ciia may tai moi thdi digm hoat dong, ke tiT thdi digm ban dau den thdi digm ket thiic. Do vay, bang la hg nhd ngoai cua may. Bo nhd nay c6 dung luong vo han ve tiem nang. Day la di6m khac nhau cd ban giiia may Turing va otomat hflu han - mot mo hinh truyen thong vg tinh toan. Nhu vay, may Turing khong nhiing duoc phac thao vdi nhiing net CO ban cua no ma con duqc minh hoa cu thg trong mot trudng hop don gian. Tuy nhien, de thuc hien nhiing nhiem vu phiJc tap ddi hoi phai xay dung cac may Turing rat Idn, ta can dign ta may Turing mot each hinh thdc vdi day dii cac chi tiet cau thanh nhung van dam bao tinh ngan gon can thiet. ^ 1.1.2 Dinh nghia hinh thiJc Trong viec xay dung may Turing, khau quan trong nhat la viec xac dinh bang lenh. M6i lenh cua may Turing, ma noi dung cua no da duoc neu ro d tren, hudng dan each thilc thuc hien mot phep bien ddi co ban va ddng thdi tao tign dg cho phep bign ddi tiep thco. Bang lenh ciia may thuc chat la mot thg hien cua mot ham, duoc ky hieu la ^, tCf Q x T den Q x T x {L,R,S}. Cu thg, ddi vdi mdi (r/, x) G Q x F, ham 6 xac dinh tai (g, x) va nhan gia tri (r, y, H) e Q X r X {L, R, S}, tiJc 5{q, x) - (r, y, H), khi va chi khi may co lenh qxWry. Nhu vay, mot each hinh thiJc may Turing cd ^ thg duoc dinh nghia nhu sau. 1.1 May Turing 43 Dinh nghia 1.1.1 May Turing (Turing machine) M la mot bo bao gom bay thanh phdn, A/ = (g,s,r,5,^„,9,,9j, trong do 1. Q la tap hHu han cac trang thdi, 2. E Id bang chQ vdo hHu han, khong chila ky tit trong 0, 3. r la bang chU bQng hHu han, chUa E, 0 va co thi mot vai ky tiX can thiet khac, 4. ( 5 : g X r —^ Q X r X {L, R, S} /a ham chuyin, 5. £ Q la trang thdi ban dau, 6. Qy € Q la trang thdi chap nhan, vd 7. ^ Q Id trang thdi bdc bo, 7^ Qy Qua trinh tinh toan cua may Turing M tren moi tiJt vao thuoc E* dign ra theo cac quy tac duoc thg hien bdi ham chuyen 6, giong nhu theo cac lenh ma ta da mo ta d phan tren. Tai moi thdi diem trong qua trinh tinh toan, cac yeu to ve trang thai cija bo phan dieu khign, ve noi dung trgn bang va ve vi tri cua dau doc-ghi tai thdi digm do Cling nhau phan anh mot "hinh thai" cua may. Dieu nay giup ta cd thg hinh dung mot each ro ngt viec tinh toan cua may 6 tiing thdi digm hoat dong, va dUdc dinh nghia mot each hinh thilc nhu sau. Dinh nghia 1.1.2 Hinh thdi (configuration) cua mdy Turing M tai mot thdi diem ndo do trong qud trinh tinh todn Id mot tH '^qv hay la mot bo {q, {u,v)), trong do vdo thdi diim ay bo phdn dieu khiin cua M dang d trQ,ng thdi q, noi dung tren bdng la uv vdi e r* con y e r+, va dau doc-ghi dang d 6 chita ky tie dau tien cua V. Ndi chung, ta cd thi gia thiet rdng ky tie dau cua u cung nhu tit cuSi cua V khdc ky tu trong 0, ngoai trit cdc trudng hap hade ^ Id tit rdng hoac v = 0.
  • 31. 44 May Turing va Thuat toan Thi du, theo dinh nghia, tir x i X 2 . • • xt qyy2 - • • Vh la hinh thai | cua may Turing tai thdi digm ma bo phan digu khien ciia may dang 6 trang thai q, noi dung tren bSng la xiX2 • • • XkUiy^ • • - Vh va dau doc-ghi dang 5 o chuta ky ttt yi. Hinh ve dudi day thg hien may Turing vdi hinh thai nhu vay. 0 • 1 0 ••• yh 0 ••• 0 Hinh 1.3 May Turing vdi hinh thai xi.. .Xkqyi • • • Vh Trong so cac hinh thai cua may Turing ta can luu y t6i mot vai hinh thai dac biet. Trudc tien, hinh thdi ban dau {start configu- ration) cua may A f tren tit vao w la hlnh thai qow vdi npi dung la: tai thdi digm ban dkn til vao w duoc ghi tren bang bat dau tii o thii nhat, bo phan dieu khien cua A / 5 trang thai q^ va dau doc-ghi soi xet 6 dau tien. Tiep den, hinh thdi chdp nhan {accepting configuration) la hlnh thai cua may khi bo phan dieu khign 6 trang thai q^. Cuoi ciing, hinh thdi bac bo {rejecting configuration) la hinh thai ciia may khi bo phan digu khign d trang thai q^. Hinh thai chap nhan va hinh thai bac bo la cac hinh thdi diing {halting configuration) hay hinh thdi kit thuc {final configuration) cua may Turing. T^ nhflng hlnh thai nay may khong thg chuygn sang bat ky mot hinh thai nao khac. > Quan sat su hoat dong cua may Turing trgn m5i til vao, ching han nhtr trgn Hlnh 1.2, ta nhan thay r^ng qua trinh tinh toan cua may la mot qua trinh may chuygn doi til hlnh thai nay sang hlnh thai khac. Viec chuygn dSi hlnh thai giiia hai thdi digm ke tiep nhau duac thuc hien nhd mot phep bien d6i. Nhan thiic nay duqc hinh ' thiJc hoa nhu sau. 1.1 May Turing 45 Dinh nghia 1.1.3 Cho M la mot may Turing vdi ham chuyin 5, cho C va C la hai hlnh thdi cua may A/ tren mot tit vao nao do. Ta noi fang may Turing M 6 hinh thdi C chuyin trUc tiip sang hlnh thdi C, va ta viSt C ^ C hay chi dan gidn la C ^ C, neu xay ra mot trong cdc hien tuong sau day: 1. C = uxqyv, C = uq'xzv va 6{q, y) = {q L), 2. C = uxqyv, C = uxzq'v va d{q, y) = {q, R), 3. C = uxqyu, C = uxq'zv va 6{q, y) = {q', z, S), trong do x, y, z la cdc ky til thuoc T, va u, v Id cdc tii: thuoc T*. Tiep theo, ta noi rdng mdy Turing M d hlnh thdi C chuyin {gidn tiep) sang hlnh thdi C, va ta viSt C H - ^ C" hay C —> C, neu ton tg,i mot day cdc hlnh thdi C i , C 2 , . . . , Cjt cua M vdi Ci = C vdCk = C sao cho Ci (-> Cj+i doi vdi moi i, 1 < i < k — I. Nhxl vay, qua trinh tinh toan cua may Turing tat dinh trgn tii vao w CO thg diioc dign ta bdi mot dudng di c6 hudng tit hlnh thai ban dau CQ = ^o"^ den hlnh thai kgt thtic Cf va di qua cac hinh thdi Ci cua may: Co i-> C i i - > • • • I—> C j I—> • • • I—> Cf, hoac CO khi bdi mot dudng di vo han, neu qua trinh tinh toan ciia may tren w khong diJng. Vi du 1.1.2 Cho hai so tu nhign dudi dang nhi phan. Hay xay dung mot may Turing A/2 de kigm tra xem lieu chiing c6 bang nhau hay khong. Dau tign ta can xac dinh bang chil vao E cua may Turing A/2. Ta se diing dau thang ( 1 dg ngan each nhflng biiu dign nhi phan cua hai so tu nhign ma may A/2 can xem xet. Nhu vay E = {0,1, tj} va do do dii lieu dau vao cua may Turing A/2 la mot ttt bat ky trgn bang chu: S. Doi vdi nhiing tut vao khong chiia mot ky tu jj nao cung
  • 32. 46 May Turing va Thuat toan nhtr nhuing ti bat dau b6i 0 hoac tl (do tCt vao thich hop phai chuia ky t u t J dg ngan each bigu di§n cua hai so t u nhien vh bigu dien nhi phan cua m6i s6 t u nhien dgu bat dau boi ky t u l ) , may A/2 bac bo chiing khong may kho khan. Khi xiJt ly cac tii vao con lai (chuta it nhat mot ky t u Jl), may tien hanh so sanh khuc dau cua tit vao 6 phia trudc ky t u t J thii nhat vdi khuc duoi ngay sau ky t u iy. Viec so sanh duoc tien hanh bang each di ehuygn dich dac dau doc-ghi dg thue hien mot qua trinh lap ma moi phep lap bao gom viec xoa mot ky t u cua khilc dau noi trgn va so sanh no vdi ky t u tuong ling cua khiic duoi. Ngu chung giong nhau thi thay ky tU tUOng Hug ty hhng dau ®; ngUdc lai, bdc bo tl vao. Hon nfla, khi bat dau mot phep lap, ngu may gap ngay dau tl thi tien hanh kigm tra cac ky t u ngay sau do. Neu sau dau tl nay chi la nhiing ky t u (g) va 0, t h i chap nhan; ngUdc lai, bdc bo. Vdi y tucing ngu trgn, may Turing A/2 dg dang dugc xay dung nhil sau: Af2 = (Q,S,r,<5,^„,9„gJ, trong do: ^ = {0,1,1}, r = {0,1,11,0,0} vk hkm ehuygn • 6:Qxr—vgxrx{L,R,s} tiing budc dKOc xac dinh nham thue hien nhiing yeu cau eu the sau day. 1. Bac bo til rQng va cac tit bat dau bdi ky t u 0 hoac tl: S{qo,(Z>) = {q^,<2),S) 5(^0, O) = (9^, 0, S) • . <^(go,ll) = ( 9 ^ , 0 , 8 ) . 1.1 May Turing 47 2. Bac bo cac tir vao bat dku bdi ky t u 1 khong chiia ky t u ft, va dong thdi thuc hien phep lap dau tign: ^ ( ^ 0 , 1 ) - {ql0,R) = (^/N,0,S) ^(^1,0) = = ( ^ 3 , 0 , L ) SiqsA] = ( ^ 3 8,L) S{ql0) = S{q3,0) = ( ^ 3 0,L) Aq3,i) = {qs, 1,L). 3. Thue hien cac phep lap tiep theo: ' '^(^3,0) = (g;„0,R) 5{q',,l) = {q^„l,R) S{qoA) = {ql(Z),R) ^(^/o,O) = (g?,0,R) % J , 0 ) = . ( ^ J , 0 , R ) KqlJ)-iqllR) 6{q',, 0) = (^l-, 0, R) siql») = (^2", IR) 6{ql 0 ) = {ql 0, R) Hql^) = ( 7 3 , 0 , L ) &{qlO) = {q^,®,L) (^(^3,0) = ( ( / 3 , 0 , L ) . 4. Bac bo tat ca cac tit vao khong thieh hop con lai: 4a. Cac tit vao ma khuc dau va klmc duoi sau dau tl thii nhat CO cac ky t u tUdng ling khac nhau <^(^2,O) = ( ^ „ 0 , S ) t5(V2",l) = ( ^ N , 0 , S ) '^(V2,«)-(^/K,0-^) % 5 , » ) = ( 7 N , 0 , S ) ;
  • 33. 4b. Cac ti vao mh khuc dau vk khuc duoi sau dau jj thil nhat CO do dai khac nhau (5(^4, 0) « , 0 ) = (^N,0>S) 1) = (9N>1,S) ,tt) ^{(h,®) = ( g 4 , 0 , R ) - 5. Chap nhan: <^(^4,0) = ('/v,0,S). Bang each xay dirng nhil vay, khi tinh toan tren moi tiJ vao u; G {0,1, tJ}*, may Turing A/a dtog d trang thai chap nhan neu va chi neu uu = lu^lu vdi moi u e {0, l } * . Do do, khi kidm tra tiTng cap s6 t i ; nhien duqc bieu dicn dudi dang nhi phan, may A/a diTng d trang thai chap nhan neu va chi neu chiing bang nhau. • Chu y 1.1.4 Theo dinh nghia, vice xay dung may Turing A / nham thirc hien mOt muc dich nao do thildng doi hoi: K h i tinh toan tren moi tir vao, may d t o g d trang thai chap nhan neu tit vao thich hop v6i muc tieu do va may diTng d trang thai bac bo neu tit vao khong thich hop. Tuy nhien, ta c6 the xay dung mot may Turing hf dan gian hon bang each elii doi hoi may ditng d trang thai chap nhan doi vdi nhiJng tit vao thich hop, con doi vdi nhiing tit khong thich hdp, may c6 thg ditng 6 bat cii trang thai nao kiiac vdi trang thai chap nhan. Ro rang hai may A / va A / ' la tuong duong nhau theo nghia ciiung cung thirc hien mot muc dich de ra. Cu thg, may A / ' diroc xay dung nhii sau. Gia sijf may A^ duoc xac dinh nhu trong Dinh nghia 1.1.1. Bay gid tren co s6 may A / , ta xay dung may Turing A / ' chi bao gom sau 1.1 May Turing 49 thanh phan, A r = (g',E,r,c^-',.y,,<yj, trong do Q' = Q va ham chuyfin ( 5 ' : g ' x r - ^ Q ' x r x { L , R , S } dUdc xac dinh dua theo ham chuyen 6 cua may Af nhu sau: Doi vdi moi {qi,x) e Q' x F, neu 6{q^,x) = {qj,x'.U) vdi qj f q^ t h i ^'W, ^) = (^j' H), trong do H G { L , R, S}; trong trudng hop neu <5(^fc, v) = (QN^V'^ H ) thi 6'{qk, tj) khong xac dinh. Do S'{qk, y) khong xac dinh, nen may A T ditng 5 trang thai q^ va bac bo tit vao ma no dang xut ly. Tuy nhien, dieu nay khong c6 nghia qk la trang thai kct thiic. Bdi vi, khi x u ly tren mot tit vao khac CO thg may A/' cung d trang thai qk nhung dau doc-ghi nhin mot ky t u z khac y va 6'{qk, z) xac dinh, thi may A / ' ti6p tuc hoat dong theo su chi dan do. B^ng each xay dung nhu vay, may A / ' tuong dudng vdi may Af va CO ham chuygn ddn gian hdn. Chang han, doi vdi may Turing Af2 vdi ham chuy6n S duoc dinh nghia trong V i du 1.1.2, ta c6 t h i xay dung mot may tUdng duong AA2 vdi ham chuyCn 6 ' , trong do ham 5' duoc dinh nghia tren co sd danh sach bao gom tat ca cac trudng hop xac dinh cua ham 6 , bang each loai bo nhung trudng hop lien quan den trang thai bac bo q^. Bdi vay, khi khong can den trang thai bac bo, ta co the xay dung may Turing thco each don gian nay. 1-1.3 Cac chu-c nang chinh cua may Turing Qua cac VI du neu tren ehung ta da thay duoc mot vai vice cu the ma may Turing co kha nang thuc hien. Sau day chung ta se xem ^et nhung chUc nang ma may Turing co duoc. Do la doan nhan ngon ngU va tinh cac ham, trong do vice doan nhan ngon ngU 1^
  • 34. 50 May Turing vk Thuat toan rat quan trong. Bcli v i , doan nhan ngon ngu; la mot khau CO ban trong qua trinh giai cac bai toan quyet dinh, nhu da duoc trinh bay trong Phan 0.3. Dg xac dinh mot each cu thg cac chiJc nang cua may Turing, chiing ta hay tttng budc dinh nghia cac khai niem lien quan. • M a y Turing doan nhan ngon ngi? Trong Muc 1.1.2 ta da dinh nghia khai niem lien quan den cac hinh thai ciia may Turing va xem xet di6u kien de may c6 the chuySn tCt hinh thai nay sang hinh thai khac. Ngoai ra, ta cung da hinh dung duoc khi nao may chap nhan hay bac bo tvi who. Sau day ta se dinh nghia mot each hinh thiic khai niem nay. D i n h nghia 1.1.5 Cho may Turing M vdi hang cM vdo E. Ta not rhng may Turing hf chap nhan ddu vdo {accepts input) w, neu qow uq^v, nghia la khi tinh toan tren tic vac w, may hf chuyin tit hinh thai ban ddu den hinh thai chap nhan. Tap cac tH vao ma may A/ chap nhan tao thanh ngon ngii chap nhdn duac cua M, duoc goi la ngon ngvl cua may Turing {lan- guage of a Turing machine) Af va dUde ky hieu bdi LM- D i n h nghia 1.1.6 Ngon ngii L duac goi Id dodn nhan ditdc theo Turing {Turing-recognizable), hay dan gidn la dodn nhan dtCdc {recognizable),^ neu no la ngon ngU. chap nhan duac cua mot may Turing ndo do, nghia la neu tSn tai mot may Turing hf sao cho fj = fjM. Khi do ta noi rhng "may Turing hf dodn nhan ngon ngU f.", hay "ngon ngU f^ duac dodn nhdn bdi may Turing hf". Nhu vay, d6 chiing to rSng mot ngon ngu: f. nho do tren bang chu; X la ngon ngu: doan nhan duoc, ta can xay dung mot may Turing hf vdi bang chii vao E = X sao elio fj = Jj^. 'NgOn ngu: n^y c6n diryc gpi k ki dUdc de quy {recursively enumerable). 1.1 May Turing ^1 Quay t r d lai vdi cac vi du neu tren, may Afj trong V i du 1.1.1 la may Turing doan ngon ngu: bao gom tat ca cdc diep t i i tren bang chfl S, tiic ngon ngii L j sau day: fa = {w e E * , u; = l y ^ } , trong do la tit nguoc cua w. Con may A/2 trong V i du 1.1.2 va may A/2 trong Chu y 1.1.4 la cae may Turing ciing dodn nhan ngon ngu: //2 duoc xae dinh nhu sau: f^2 = {Miuue {0,1}*}. Qua trinh tinh toan eua may Turing tren mot tiT v^o c6 the d i n den mot trong ba kha nang sau day: May chap nhan, may bac bo, hoac sau mot hoi tinh toan, may lap lai mot cong doan nko do giong nhu mot "day thong long" {loop) va do do niy sinh hien tuong may khong ditng. Nhan thay rang qua trinh t m h toan tren moi tiif vko ciia cac may Turing A/i, A/2 va A/^ neu tren deu d t n den kha nang chdp nhan hoac bdc bo. Ta c6 thg de dang chi ra cac may Turing ma qua trinh tinh toan tren mot s6 t i i vao khong bao gid diifng. T h i du, dtta theo may A/2 ta c6 thg xay dung mot may Turing A/^' b^ng each siia d5i doi chiit ham chuygn ciia no tai mot vai d i i m . Chang han, ham chuySn ciia A/2 tai ba digm (94, x) vdi x = 0 , 1 , |j, nhu da duoc xac dinh trong trudng hop 4b bdi 5{qi,x) = {q^,x,S), nay duoc siia d6i thanh S{q4,x) = {q3,x,L). Ro rang, theo dinh nghia ve ngon ngii doan nhan duoc, may ^^2 cung doan nhan ngon ngii f^2, nhung no khong bao gid diing khi x i i ly cac til vao dang lu^uv vdi u G { 0 , 1 } * va v e { 0 , 1 , ^}+.
  • 35. 52 May Turing vh Thuat toan Tuy nhien, day khong phai la mOt su cai tien de thu duac mot may Turing dep hon ma la ngtroc lai. 0 day, may Afj chi don thuSn Ih, thi du vg mot may Turing tuy c6 kha nSng doan nhan mot ngon ngu; cho triidc, nhung tren mot so ttf vao nao do qua trinh tinh toan cii diin ra lien tiep va may khong thg di den quyet dinh chap nhan hay bac bo. Nhu vay, ngon ngu: L2 diioc doan nhan b5i cdc may Turing dicng hh va M2. Ngoai ra, ngon ngu: con dUdc doan nhan bdi may Turing khdng dilng M'^. May Turing diing duoc goi la may quyet dinh {decider), bdi vi no luon luon c6 kha nSng quyet dinh chap nhan hay bac bo doi v6i moi tit vao ciia no. D i n h nghia 1.1.7 Ngon ngU L duac goi la khang dinh dtCdc {decidable), hay cu thi han la khang dinh duCdc theo Turing {Turing-decidableY, neu no duac doan nhan bdi may quyet dinh M nao do. Trong trudng hap ay, ta noi rdng "may Turing dilng M khdng dinh ngon ngU L ", hay "ngon ngU L duac khang dinh bdi may Turing dxing hf"; nguac lai, ngon ngU L duac goi la khdng khang dinh duCdc {undecidable). Nhu vay, moi ngon ngiJ khSng dinh duoc deu la ngon ngu: doan nhan duoc. Tuy nhien, dieu nguoc lai khong phai bao gid cung dung. Trong Phan 1.4 tiep theo, ta se chi ra mot vai ngon ngu: doan nhan duoc nhung khong la nhQng ngon ngu: khSng dinh duoc. Dieu do chiing to rang, Idp ngon ngC khing dinh duoc h mot Idp con thuc su trong Idp ngon ngU doan nhan duoc. Cac ngon ngu: In va L2 neu tren la cac ngon ngii khSng dinh duoc, b5i vi Li duoc doan nhan bdi may quyet dinh Afi, con L 2 duoc doan nhan bdi cac may quyet dinh A [2 va A/j. Sau day ta se xem xet them mot ngon ngU khang dinh duoc. ^Ngon ngQ nky cbn dirge gpi 1^ de quy (recursive). 1.1 May Turing 53 V i du 1.1.3 Cho ngon ngu: L, = {0'Vi = ,2,...]. - • Chilng minh rang la ngon ngU khang dinh duoc. Ta can chiing to rang ton tai may Turing dUng hU doan nhan ngon ngu: L^. That vay, may A/a duqc xay dung nhu sau: A/3 = (g,{O,l},{O,l,0},(J,9„,9^,gJ, trong do Q = {^0, ^ 1 , 9 2 , 9 3 , 9 4 , ^N) va ham chuyin 5 xac dinh sao cho qua trinh tinh toan tren m6i tCt vko dupe di§n ra theo mOt quy trinh lap ma noi dung moi phep lap bao gom: D i chuyen dich dac dau doc-ghi t i i ky t u khac 0 dau tien den ky t u khac 0 cuoi cUng tren bang va xoa cac ky t u ay, neu chiing tUdng ling la 0 va 1; nguoc lai, bac bo. K h i thuc hien budc lap dau tien, may dong thdi loai bo tCr rOng cung nhu nhUng tif vao ma bat dau bdi ky t u 1 vk nhUng tCr vao ma sau ky t u 1 con xuat hien ky t u 0. K h i bat dau mot phep lap tiep theo (may d trang thai q'^), khong kg phep lap dau tign, neu bat gap 0 , tire bang con toan o trong, t h i chap nhan. Vdi y tudng nhu vay, ham 5 duoc dinh nghia nhu sau. 1. Thuc hien budc lap dau tign va dong thdi bac bd nhUng tiir vko khong thich hop, cu t h i : la. Thuc hien budc lap dau tign <^(9o 0) = ( 9 i , 0 , R ) 5{q2 0 ) = ( 9 3 , 0 , L ) ^(91 0) = ( 9 i , 0 , R ) S{q3 1) = (94, 0 , L ) 5(91 1) = ( 9 2 , 1 , R ) _ 6{q4 ,0) = ( 9 4 , 0 , L ) <^(92, 1) = ( 9 2 , 1 , R ) <^(94, 1) = ( 9 4 , 1 , L ) ; lb. Bac bd tiir rdng <^(9o,0) = ( 9 N , 0 , S ) ;
  • 36. 54 May Turing va Thuat toan i I c . Bkc bo nhang tif vho ma bat dku bang ky t i l 1 va nhiing j tCt vao ma sau ky t u 1 con xuat hien ky t u 0 <^(9o,l) = ( ^ N , l , S ) 6{q2,0) = {q^,0,S). 2. Thuc hien cac bir6c lap tiep theo S{q4, 0 ) = {q'o, 0 . R) ^ ( ^ 0 , 0) = 0 . R)- 3. Ket thuc: 3a. Bac bo nhiing tit vao c6 dang O'l^ di j > i > I Siq'oA) = {%A.sy, 3b. Bac bo nhflng t i l vko c6 dang O'l^ vdi i > j > 0 '5(91,0) = ( ^ N , 0 , S ) ; 3c. Chap nhan nhiing t i i vao c6 dang 0*1' v6i i > 1 <5Uo-0) = ( 9 v , 0 , S ) . • • M a y T u r i n g t i n h cac h a m Cho ham / : E* —> E*. (Khong mat tinh t6ng quat, doi v6i moi ham f : X' —> V*, ta c6 th6 gia thiet rang X = Y hdi vi noi chung / la ham bo phan.) Ta hinh dung rang, may Turing tinh ham / bang each x i i ly m5i t i i vao it; e E* sao cho, neu tai w ham / xac dinh t h i may diing 6 trang thai chap nhan v^ noi dung trcn bang la t i i f{w) e E*; ngiidc lai, may diing 6 trang thai bac bo. Triidc khi dinh nghia mot each hinh thiic khai niem ham tinh dtfoc, ta hay xem xet mot quan he ham diiOc xac dinh bdi may I Turing cho trudc. 1.1 May Turing 55 Gia sii Af = {Q,T.,r,5,q^,q^,q^) Ih mQt may Turing. Ham tuang ring vdi may Turing A M a ham tut E* vao F*, duoc ky hi?u la va diidc dinh nghia nha sau: p (^yj-^ _ I uq^v, I khong xdc dinh, neu ngugc lai. D i n h nghia 1.1.8 Ham f : E* — y E* dicac goi la tinh dtCdc {computable), hay cy, thihan Id tinh dvCdc theo Turing {Turing- computable), neu ton tai mot mdy Turing diing M sao cho ham tuang ling vdi no FM trung vdi ham f, tUc FM — f theo nghia, doi vdi moi to G E*, neu mot trong hai ham xdc dinh thi ham kia cung xdc dinh vd chung nhan cung mot gid tri. Khi do ta noi ring "mdy Turing diing M tinh ham f" hay "ham f tinh dU0c bdi mdy Turing diing M". • ' Nhii vay, doi vdi may Turing M tinh ham /, tap E khong chi 1^ bang chii vao ma con la bang chU ra cua may. Hdn niia, khong mat tinh t6ng quat, ta luon luon c6 thg gia thiet r^ng moi hinh thai chap nhan cua may M deu c6 dang q^w' vdi w' - f{w) 6 E*. Dieu nay de dang c6 diidc bang each, triidc khi dCtng 5 trang thai chap nhan q^, may Turing ;U di chuyin dau doc-ghi den o chtia ky t i i thii nhat cua w' roi mdi diing chinh thiic. Do do, doi vdi mgi dau vko 6 E*, ta GO: qow M f xdc dinh tai w vd nhan gid tri f{w). V f d u 1.1.4 Cho ham / : {0,1}* {0,1}*, trong do j.^ ^ fo'*^, n i u w = O'lO*^ vdi moi i . A; > 1, kh6ng xdc dinh, neu ngiroe lai. hiing minh rang / la ham tinh diidc.
  • 37. 56 May Turing va Thuat toan That vay, d i tinh ham / ta c6 t h i xay dung mot may Turing dirng Af theo y tudng sau day: Trirdc tien, loai bo cac til vao khong CO dang O'lO'^ {i,k > 1) va ngSn each phan dii lieu dau vao vdi ket qua tinh toan bdi dau tt; dong thdi, tien hanh chuyin xau O'^ sang ben phai dau tj bang each Ian luot chuyin tiJtng ky tU mot (ky t u nao chuyin di thi duac danh dau bdi <S>). Qua trinh chuyin xau 0*^ duoc di§n ra t Ian, moi Ian chuyin nhu vay mot ky tU 0 trong xau 0' (ben trai ky tU 1) duoc xoa di. Qua trinh nay ket thiic khi khong con ky tU 0 nao ben trai ky t u 1. Cuoi ciing, trudc khi ket thtic qua trinh tinh toan, xoa cac ky tU bat dau tiir 1 cho den dau [t, va khi do tren bang chi con lai dung ik ky tU 0. Vdi y tudng neu tren, may Turing A f duoc xay dung hdi M = {Q, {0, 1}, {0, 1,1 0, 0 } , 6, q,,qy,q^), trong do g = {^o. 9o> 9i> ^2, • • •, 99, 9Y, 9N} ham chuyin 6 duqc xac dinh nhu sau. 1. Bac bo cac til vao khong c6 dang O'lO*^; dong thdi, xoa ky tU 0 dau tien trong xau 0', danh dau (1 ngay sau cuoi tit v^o va di chuyin dau doc-ghi ve o chufa ky tU dau tien trong xau O'^: HQO,0) = (9N,0>S) S{q2A) = (9N.1.S) S{qo, 1) = S{q2,0) = (93,0,R) % o , 0 ) = ( 9 i , 0 , R ) 5(93,1) = (9N>1>S) <^(9i,0) = ( 9 x , 0 , S ) % 3 , 0 ) = (93,0, R ) % i , 0 ) = (gi,o, R ) S{q3,0) = (g4,tt,L) <^(9i,l) = (92,1,R) 5{q,,0) = (94,0,L) <^(92,0) = ( 9 N , 0 , S ) 6{q,,l) = (95,1,R) 1.1 May Turing 57 2. Lan luot chuyin tUng ky t u 0 trong xau 0*= sang ben phai dau jj (sau khi da xoa mot ky t u 0 trong xau 0'), ky t u nao chuyin di thi duoc danh dau bdi (g): 2a. Chuyin ky t u 0 dau tien %5,O) = (96,0,R) <5(96,tt) = (96,tt,R) <5(96, 0) = (96, 0, R ) 6{qe, 0 ) = (94, 0, L ) 2b. D i chuyin dau doc-ghi ve o ngay sau dau ® va chuyin tLfng ky t u 0 tiep theo trong xau O'^ cho den het <5(94,») = ( 9 4 j , L ) (5(94,0) = (95, ® , R ) 2c. Ket thiic viec chuyin xau 0*^. D i chuyin dau doc-ghi sang trai, khoi phuc lai xau O'^ d i lap lai qua trinh «5(95,tt) = (97,«,L) <5(97,1) = (97,1,L) <5(97,0) = (97,O,L) (5(97,0) = (g7,0,L) 3. Lap lai qua trinh chuyin xau 0*= cho den khi trong xau 0' khong con ky tU nho (m5i lan lap lai t h i mot ky t u 0 S{qs, 0) = (98, 0, R ) M98,1) = (95,1,R) (5(99,0) = ( 9 9 , 0 , R ) trong 0' duoc xoa di) : <5(97;0) = ( 9 O , 0 , R ) (5(9^,0) = (98, 0 , R ) 4. Ket thuc tinh toan: <5(9'o,l) = ( 9 9 , 0 , R )