You are on page 1of 298

NGUYN C NGHA - NGUYN T THNH

----------




GIO TRNH
TON RI RC











NXB I HC QUC GIA H NI -2009
Li ni u
Ton ri rc l mt lnh vc ca ton hc nghin cu cc i tng ri rc. Chng
ta s s dng cng c ca ton ri rc khi phi m cc i tng, khi nghin cu quan
h gia cc tp ri rc, khi phn tch cc qu trnh hu hn. Mt trong nhng nguyn
nhn ch yu lm nng tm quan trng ca ton ri rc l vic ct gi v x l thng tin
trn my tnh bn cht l cc qu trnh ri rc. Cun sch ny nhm gii thiu cc kin
thc c bn trong ba lnh vc c nhiu ng dng ca ton ri rc l: l thuyt t hp, l
thuyt th v hm i s logic. Ni dung cun sch c trnh by thnh ba phn.
Phn I trnh by cc vn ca l thuyt t hp xoay quanh 4 bi ton c bn: Bi
ton m, Bi ton tn ti, Bi ton lit k v Bi ton ti u t hp. Ni dung ca phn
1 khng nhng gip nng cao t duy ton, m cn lm quen vi t duy thut ton trong
vic gii quyt cc vn thc t, ng thi cng rn luyn k thut lp trnh gii cc
bi ton t hp.
Phn II cp n l thuyt th - mt cu trc ri rc tm c nhng ng dng
rng ri trong nhiu lnh vc ca khoa hc k thut v i sng. Trong phn ny sau
phn gii thiu cc khi nim c bn, cc bi ton ng dng quan trng ca l thuyt
th nh Bi ton cy khung nh nht, Bi ton ig i ngn nht, Bi ton lung
cc i trong mng... v nhng thut ton gii quyt chng c trnh by chi tit
cng vi vic phn tch v hng dn ci t chiig trnh trn my tnh.
Phn III lin quan n l thuyt hm i s logic l c s nm bt nhng vn
phc tp ca k thut my tnh. Sau phn trnh by cc khi nim c bn, phn ny i
su vo vn ti thiu ho cc hm i s lgic v m t mt s thut ton quan trng
gii quyt vn t ra nh thut ton Quine - McCluskey, Black - Poreski.
Cc vn c trnh by trong cun sch u c minh ho trn nhiu th d, cc
thut ton c m t trn ngn ng PASCAL m phng thun tin cho vic ci t cc
chng trnh thc hin thut ton trn my tnh, trong nhiu thut ton chn lc
c ci t trn ngn ng PASCAL.
Mc lc

P h n . L t h u y t T h p
Trang
1
M u 3
1.1 S lc v t hp 3
1.2 Nhc li l thuyt tp hp 5
1.3 Mt s nguyn l c bn 8
1.4 Cc cu hnh t hp n gin 11
Bi ton m 17
2.1 Gii thiu bi ton 17
2.2 Nguyn l b tr 19
2.3 Quy v cc bi ton n gin 22
2.4 Cng thc truy hi 24
2.5 Phng php hm sinh 31
2.6 Lit k 40
Bi ton tn ti 47
3.1 Gii thiu bi ton 47
3.2 Phng php phn chng 51
3.3 Nguyn l Dirichlet 52
3.4 H i din phn bit 56
3.5. nh l Ramsey 59
Bi ton lit k 69
4.1 Gii thiu bi ton 69
4.2 Thut ton v phc tp tnh ton 70
4.3 Phng php sinh 85
4.4 Thut ton quay lui 92
Bi ton ti u 107
5.1 Pht biu bi ton 107
V
5.2 Cc thut ton duyt 111
5.3 Thut ton nhnh cn gii bi ton tii du lch 124
5.4 Bi ton lp lch gia cng trn hai my 135
Phn 2. L thuyt th 145
1. C.ic khi iini t bn ca l thi vt th 147
1.1 nh ngha th 147
1.2 Cc thut ng c bn 150
1.3 ng i, Chu trnh, th lin thng 152
1.4 Mt s' dng th c bit 155
Chng 2. Biu din th trn my tnh 165
2.1 Ma trn k. Ma trn trng s 165
2.2 Ma trn lin thuc nh-cnh 168
2.3 Danh sch cnh 169
2.4 Danh sch k 169
Chng 3. Cc thut ton tm kim trn th v ng dng 175
3.1 Tim kim theo chiu su trn th 176
3.2 Tim kim theo chiu rng trn th 177
3.3 Tim ng i v kim tra tnh lin ihng 179
Chng 4. th Euler v th Hamilton 187
4.1 th Euler 187
4.2 th Hamilton 191
Chng 5. Cy v cy khung ca th 197
5.1 Cy v cc tnh cht ca cy 197
5.2 Cy khung ca th 199
5.3 Xy dng tp cc chu trnh c bn ca th 201
5.4 Bi ton cy khung nh nht 203
Chng 6. Bi ton ng i ngn nht 219
6.1 Cc khi nim m u 220
6.2 ng i ngn nht xut pht t mt nh 222
6.3 Thut ton Dijkstra 224
6.4 ng i trong th khng c chu trnh 227
6.5 ng i ngn nht gia tt c cc cp nh 231
Chng 7. Bi ton lung cc i trong mng 239
7.1 Mng, lung trong mng v bi ton lung cc i 239
7.2 Lt ct.fng tng lung. nh l Ford-Fulkerson 241
7.3 Thut ton tm lung cc i trong mng 244
7.4 Mt s bi ton lung tng qut 249
7.5 Mt s' ng dng trong t hp 252
Phn 3. Hm i s lgc 261
Chng 1. M u 263
1.1 M hnh x l thng tin v hm i s lgic 263
1.2 Cc hm i s lgic s cp 265
1.3 Biu din cc hm i s lgic qua h tuyn, hi, ph nh 266
1.4 Biu din ti thiu ca hm i s lgic 269
Chng 2. Dng tuyn chun tc ca hm i s lgic 271
2.1 Cc khi nim c bn 271
2.2 Dng tuyn chun tc thu gn 273
2.3 Dng tuyn chun tc nghn v dng tuyn chun tc ti thiu
Chng 3. Thut ton tm dng tuyn chun tc ti thiu 277
3.1 Ch m u 277
3.2 Tim dng tuyn chun tc thu gn 278
3.3 Tim dng tuyn chun tc ti thiu 282
3.4 S ti thiu 285
Ti liu tham kho 289
VI
PHNI
L THUYY t h p

Citi^ . Md
1
M U
1.1. S lc v t hp
T hp nh l mt lnh vc ca ton hc ri rc, xut hin vo u th k 17. Trong mt
thi gian di, dng nh t hp nm ngoi gung my pht trin ca ton hc cng nh
ng dng ca n. Tinh th bt u i khc khi xut hin cc my tnh v cng vi n
l s pht trin ca ton hu hn. Hin nay l thuyl t hp c p dng trong nhiu
lnh vc khc nhau: l thuyt s, hnh hc hu hn. biu din nhm, i s' khng giao
hon, qu trnh ngu nhin, thng k xc sut, quy hoch thc nghim,...
1.1.1. Cc bi ton tng qut
T hp ng chm n nhiu vn khc nhau ca ton hc, do kh c th nh
ngha n mt cch hnh thc. Ni chung, l thuyt t hp gn lin vi vi^ nghin cu
phn b cc phn t vo cc tp hp. Thng thng, cc phn t ny l hu hn v vic
phn b chng phi tho mn nhng iu kin nht nh no y, tu theo yu cu ca
bi ton cn nghin cu. Mi cch phn b nh th c gi l mt cu hnh t hp.
Trong cc ti liu v t hp, thng gp cc dng bi ton di y:
a) Bi ton m: y l cc bi ton nhm tr li cu hi "c bao nhiu cu hnh
tho mn iu kin nu ?". Phng php m thng da vo mt s nguyn l c
bn v mt s kt qu m cc cu hnh n gin. Bi ton m c p dng mt
Phn J . Lv tlntvr t hp
cch c hiu qu vo nhng cng vic mang tnh cht nh gi nh tnh xc sut ca
mt s kin, tnh phc tp ca mt thut t o n , ...
h) Bi ton lit k: bi ton ny quan tm n tt c cu hnh c th c c, v th
li gii ca n cn c biu din di dng thut ton "vt cn" tt c cc cu hnh.
Li gii trong tng trng hp c th s c my tnh in t gii quyt theo thut
ton nu. Bi ton lit k c lm "nn" cho nhiu bi ton khc. Hin nay, mt s'
bi ton m, ti u, tn ti vn cha c cch no gii, ngoi cch gii lit k. Nu
trc y, cch gii lit k cn mang nng tnh ] thuyt, th by gi n ngy cng kh
thi nh s pht trin nhanh chng ca my tnh in t.
C) Bi ton ti u: khc vi bi bi ton lit k, bi ton li u ch quan tm n
mt cu hnh "tt nht" theo mt ngha no y. y l bi ton c nhiu ng dng
irong thc tin v l thuyt t hp ng gp mt phn ng k trong vic xy dng
c nhng thut ton hu hiu.
d) Bi ton tn ti: nu nh trong cc bi ton trn, vic tn ti cc cu hnh l hin
nhin th trong bi ton ny, vn "c hay khng c" cu hnh cn l iu nghi vn.
Cc bi ton loi ny thng b kt trong tnh hung nan gii: khng ch ra c cu
hnh no nhng cng khng khng nh c l chng khng tn ti. Lch s ton hc
thng li nhng bi ton kh trong lnh vc ny v vic c gng gii quyt chng
thc y khng t s pht trin ca nhiu ngnh ton hc.
1.1.2. Vi nt v lch s
C th ni t duy v t hp ra i t rt sm. Vo thi nh Chu, ngi ta bit n cc
hnh v c lin quan n nhng hnh vung thn b. Thi c Hy lp, nh trit hc
Kxenokrat, sng th k th 4 trc cng nguyn, bit cch tnh s cc t khc
nhau, lp t mt bng ch ci cho trc. Nh ton hc Pitagor v cc hc tr ca ng
tm ra c nhiu con s c cc tnh cht c bit, chng hn s 36 khng nhng l
tng ca 4 s chn v 4 s' u tin m cn l tng lp phng ca 3 s' t nhin u
tin. Mt nh l ni ting ca trng phi ny l nh l v di cc cnh ca mt
tam gic vung, v t h tm ra cc s m bnh phng ca mt s ny bng tng
bnh phng ca hai s khc. Vic tm ra c cc s nh vy, i hi phi c mt
ngh thut t hp nht nh. Tuy nhin, c th ni rng, l thuyt t hp c hnh
thnh nh mt ngnh ton hc mi, vo qung th k 17 bng mt lot cc cng trnh
nghin cu nghim tc ca cc nh ton hc xut sc nh Pascal, Fermat, Leibnitz,
Euler, ... Mc d vy, trong sut hai th k ri, vai tr quan trng trong vic nghin
cu th gii t nhin vn thuc v cc ngnh ton hc c in nh ton gii tch, cc
php tnh vi tch phn, phng trnh vi phn, phng trnh ton l...
Ch^ . M (kIt
Trong thi gian hin nay, mi tng quan gia loan hc hu hn v ton hc c
in c nhiu thay i, c bit t khi mv tnh in t ra i v pht trin. Nhiu
bi ton ni ting c gii trn my tnh bng nhrm thut ton ca ton hu hn.
Cc lnh vc tru tng ca ton hc nh i s logic, ngn ng hnh thc, ... tr
thnh khoa hc ng dng xy dng cc ngn ng lp trnh cho my tnh. Trong thi
i pht trin ca ton hc hu hn, vai tr ca l thuyt l hp cng khc xa. T lnh
vc nghin cu cc tr chi tiu khin, hay phn lch gii m cc bc th c, t hp
chuyn sang lnh vc ton ng dng vi s pht trin mnh m.
1.2. Nhc li l thuyt tp hp
1.2.1. Cc khi nim v k hiu
Trong gio trnh ny, tp hp c k hiu bng nhng ch ci ln A, B.....X, Y, ... cn
nhng phn t c k hiu bng cc ch ci nh a, b....... X, ch .r l phn t ca
X, ta vit .VG X, tri li ta vit ,v X. Nu mi phn t ca A cng l nhng phn t ca
B th ta ni A l tp con ca B v vit A q B. Nu B d B q A th A v s l hai tp
hp bng nhau v vit A = B.
S cc phn t ca tp hp A s c k hiu l N{A) hoc A I . Mt tp gm n
phn t c gi l mt /-tp. Cc tp hp c th xem nh l nhng tp con ca mt tp
hp v tr X. Tp rng l tp hp khng c phn t no, n c xem nh tp con ca
mi tp hp.
1.2.2. Cc php ton tp hp
Cc php ton cho trn tp hp l:
Phn b ca A trong X, k hiu A , l tp cc phn t ca Xkhng thuc vo /4:
A = { X e X: X A }.
Hp ca v4 v k hiu A \ j B , l tp cc phn t hoc thuc vo /4 hoc thuc
vo B hoc thuc vo c hai tp A v B:
A u B = x: X e A hoc,v e }.
Giao ca A v B, k hiu A n B , l tp cc phn t ng thi thuc vo c hai
tp A v B:
A n B = { x: X e A vA' 6 I.
Hiu ca tp A v B, k hiu l /4 \ s (hoc A - B):
A \ B = .x: X 6 /l v,v I.
Phn I. L thuyt t hp
Cc tp hp, cng vi cc php ton trn n, lp nn mt i s, gi l i s' tp
h. Di y l mt vi tnh cht ca cc php ton tp hp:
kt hp
( u B ) u C = A u ( B u C )
( n B ) n C = n ( B n C )
giao hon
A<j B = B u A
A n B = B r \ A
phn b
/ u f i 5 n C ) = ( / u 5 n ( / l u C )
A n { B v ) C ) ^ { A n B ) ^ j { A n C )
(i ngu)
A'-j B= A n B
A n B A\ j B
1.2.3. Cc tnh cht cho trn tp hp
Mi tp con ca mt tp hp c tng ng vi tnh cht (cn c gi l mnh )
xc nh n trn tp hp cho. Vi tng ng ny, cc php ton tp hp c chuyn
sang cc php ton mnh :
ph nh A, k hiu A (hay NOT A) tng ng vi phn b A
tuyn ca A v B, k hiu A v B (hay A or B) tng ng vi A ^ B
hi ca A v , k hiu A & B (hay A and B) tng ng vi A n B
Cc mnh , cng vi cc php ton trn n, lp nn mt i s, gi l i s' mnh d
(cn gi l i s' lgic). Nh th, i s mnh v i s tp hp l hai i s' ng
cu vi nhau. Tu tnh hung, mt bi ton c th pht biu bng ngn ng ca i s'
tp hp hoc bng ngn ng ca i s mnh .
1.2.4. Tch cac ca cc tp hp
Ngoi cc php ton ca i s tp hp, ngi ta cn nh ngha mt php ton cho
php ghp hai tp hp c mt tp hp mi, l tch cac
A X B = {(a, b) \ a e A, b G B}.
Tch cac c m rng t nhin cho trng hp nhiu tp hp:
X/I2 X... x A^ = {(|, .....a) I a, e A, i = 1,2,..., k].
Ngi ta cng dng k hiu lu tha biu din tch cac ca cng mt tp hp;
/4* = / 4 x / l x . . . Xy4 f:lnj.
Chng I . M du
Th d:
R biu din cc im trn ng thng,
biu din cc im trn mt phng,
biu din cc im trong khng gian.
1,2.5. Quan h tng ng v phn hoch
Trong nhiu vn , ngi la cn (uan tm n ml quan h no gia hai phn t ca
tp hp ang xt. Mt quan h hai ngi R trn tp hu hn phn t A"c nh ngha
nh l tp con R{X) ca tch cc XxX. Ngi ta quan tm n cc tnh cht sau y
ca mt quan h trn tp X:
i xng ( c quan h vi h ko theo b c quan h vi ),
phn x (mi phn t c quan h vi chnh n),
truyn ng (nu a c quan h vi h v b c quan h vi c th a c quan h vi
c).
Th d: Xt x = {1, 2, 3, 4 . Ta xc nh mi quan h p gia cc phn t ca X nh
sau: Gi s 7, e , ta ni a c quan h (y) i vi b nu a chia ht cho b. Khi
(3, 1),(4, 1), ( 4,2) c X x X
D thy p c tnh cht phn x (v r rng l a chia ht cho /), truyn ng (v chia ht
cho v chia ht cho c ko theo a chia ht cho c), nhng khng c tnh cht phn x
(v a chia ht cho b khng nht thit ko theo h chia ht cho a).
C nhiu kiu quan h, nhirng quan h c quan tm nhiu nht l quan h tg
ng. Mt quan h c gi l tng ng nu n tho mn c 3 tnh cht: i xng,
phn x v truyn ng. Mt quan h lng ng trn tp hp ang xt s chia tp hp
thnh c c lp ( g i l c c y t n ^ n O s a o c h o hai phn t t h u c c n g m t lp
l c quan h vi nhau v hai phn t khc lp l khng c quan h vi nhau. Cc lp
tng ng c tnh cht ph kn tp hp cho (tc l mt phn t bt k phi thuc
vo mt lp no ) v ri nhau (tng cp giao vi nhau bng rng). Ngi ta gi mt
h cc tp con khc rng ca mt tp hp c tnh cht va nu l mt phn hoch ca
tp hp . T y suy ra mt quan h tng ng trn mt tp hp s xc nh mt
phn hoch trn tp v ngc li, mt phn hoch bt k trn tp hp cho s
tng ng vi mt quan h tng ng trn n.
Th d: Gi s xt tp m {m> 1) s' nguyn dng N,= {1,2, m\ . Gi s k l s
nguyn dng, k < m. Ta ni hai s nguyn dng a , h : N, l c quan h vi nhau v
k hiu l a <r^h nu nh v c cng s' d khi chia cho k (k hiu \.a = b (mod k)).
Nh vy,
Phn . L thuyt th)
a <->/? o a = b (mod k),
D dng kim tra c rng mi quan h va xc nh trn tp l mi quan h
tng ng. Gi
/l, = |/ e N;. a = i (mod /:)}, i = 0, 1 , :-l.
Khi d dng kim ira c rng
A n A j = 0 , i i ^ j v 7V, = J / I , .
/=()
iu c ngha l cc tp N-, N ....... to thnh mt phn hoch ca tp
Trna hp ring khi k=2. tp /V,,. c phn hoach thnh hai tp: tp cc s chn (/V,
v tp cc s l (A^i).
1.3. Mt s nguyn l c bn
1.3.1. Nguyn l cng
Nu A v B l hai tp hp ri nhau th
N(A u ) = N{A) + N{B).
Nguyn l cng c m rng cho nhiu tp con ri nhau:
Nu |/4|, Aj, l m phn hoch ca tp l(/7 X th
N{X) = N{A ) + NiA^) + ... + N{A^).
Mt trng hp ring hay dng ca nguyn l cng:
Nu A l mt tnh cht cho trn tp X th N( A) = N(X) - N( A) .
Th d 1. Mt on vn ng vin gm 2 mn bn sng v bi c c i thi u
nc ngoi. Nam c 10 ngi. S vn ng vin thi bn sng (k c nam v n) l 14.
S n vn ng vin thi bi bng s nam vn ng vin thi bn sng. Hi ton on c
bao nhiu ngi?
Gii: Chia on thnh 2 lp; nam v n. Lp n li c chia 2: thi bn sng v thi bi.
ITiay s n thi bi bng s nam thi bn sng (2 s ny bng nhau theo u bi), ta c
s n bng tng s u th thi bn sng. T , theo nguyn l cng, ton on c 10 +
14 = 24 ngi.
Chng . M u
Th d 2, Trong mt t ph bin ti tt nghip, Ban ch nhim Khoa cng b danh
sch cc ti bao gm 80 ti v ch "xy dng h thng tin qun l", 10 ti
v ch "ihit k phn mm dy hc" v 10 ti v ch "H chuyn gia". Hi
mt sinh vin c bao nhiu kh nng la chn ti?
Gii: Sinh vin c th la chn ti theo ch th nht bi 80 cch, theo ch th
hai bi 10 cch, theo ch th ba bi 10 cch. Vy tt c c 100 cch la chn.
Th d 3. Hi rng gi tr ca k s l bao nhiu sau khi on chcfng trnh PASCAL sau
uc thc hin?
nl:=10;
n2:=20;
n3:=30;
k:=0 ;
for i l : = 1 to nl do k:=k+l;
for i2:= 1 to n2 do k:=k+l;
for i3:= 1 to n3 do k:=k+l;
Gii: u tin gi tr ca k c gn bng 0. C 3 vng lp for c lp. Sau mi ln lp
ca mi mt trong 3 vng for, gi tr ca k tng ln 1. Vng for th nht lp 10 ln,
vng for th hai lp 20 ln, vng for th ba lp 30 ln. Vy, kt thc 3 vng lp for gi
tri ca k s l 10+20+30= 60.
1.3.2. Nguyn l nhn
Nu mi thnh phn , ca b c th t k thnh phn (O, 2. .. .. k) c rt, kh nng chn
(/ = 1, 2, k), th s b s c to ra l tch s ca cc kh nng ny ni>2 ... rit.
Mt h qu trc tip ca nguyn l nhn:
yV(A, XA2 X... XA,) = N(A, ) N{A^) ... N(At).
vi A2, / i * l nhng tp hp no , ni ring;
N{A^) = N { A .
Th d 1. T H ni n Hu c 3 cch i: my bay, t, tu ho. T Hu' n Si gn
c 4 cch i: my bay, t, tu ho, tu thu. Hi t H ni n Si gn (qua Hu) c
bao nhiu cch i?
Gii: Mi cch i t H ni n Si gn (qua Hu) c xem gm 2 chng; H ni -
Hu v Hu - Si gn. T , theo nguyn l nhn, s' cch i t H ni n Si gn l
3 x 4 = 1 2 cch.
Phn 1. L thuyt t hp
Th d 2. Hi rng gi tr ca k s l bao nhiu sau khi on chng trnh PASCAL sau
c thc hin?
n l ; = 10;
n2 :=20;
n3:=30;
k:=0 ;
for il:= 1 to nl do
for i2 := 1 to n2 do
for i3:= 1 to p3 do k:=k+l;
Gii: u tin gi tr ca k c gn bng 0. C 3 vng lp for lng nhau. Sau mi ln
lp ca vng for, gi tr ca k tng ln 1. Vng for th nht lp 10 ln, vng for th hai
lp 20 ln, vng for th ba lp 30 ln. Vy, theo nguyn l nhn, kt thc 3 vng lp for
lng nhau, gi tr ca k s l 10 X20 X30 = 6000.
Th d 3. C bao nhiu tn bin trong PASCAL di 10 ch cha hai ch ci A, B, bt
u bi AAA hoc ABA?
Gii: Tp cc tn bin cn m c phn hoch thnh hai tp: mt tp gm cc bin
bt u bi AAA, cn tp kia gm cc tn bin bt u bi ABA. Mi tn bin di 8
bt u bi AAA c th xy dng nh sau: chn k t th 4, th 5, th 10. Mi mt
trong 7 k t cn li ny c 2 kh nng chn (hoc chn A, hoc chn B), nn theo
nguyn l nhn c
2 x 2 x 2 x 2 x 2 x 2 x 2 = 2^=128
tn bin bt u bi AAA. Lp lun tng t ta cng m c 128 tn bin bt u bi
ABA. V vy, theo nguyn l cng, c tt c 128 + 128 = 256 tn bin di 10 ch
cha hai ch A, B hoc bt u bi AAA hoc bt u bi ABA.
Trong vic gii cc bi ton m c th, nu nh m trc tip s cu hnh l kh,
ta c th phn hoch tp cc cu hnh cn m ra thnh cc tp con sao cho vic m
cc phn t ca cc tp con ny l n gin hn. Khi s dng nguyn l cng
m s cu hnh t ra.
Nu chng ta cn m cc cu hnh c th xy dng theo tng bc, th khi c
th s dng nguyn l nhn.
Ni chung, iu quan trng khi gii mt bi ton m l phi xc nh c cn s
dng nguyn l no (tng qut hn, l cng c no) gii bi ton v iu i hi
t duy ca ngi gii.
10
Chni> . Mci
1.4. Cc cu hnh t hp n gin
Di y trnh by mt s cu hnh t hp cm gin, nhng cu hnh ny thng c
lm c s' cho php m.
1.4.1. Chnh hp lp
iih nglia. Mt chh h? lp chp k ca plun t l .t h c th l gm k th'h
phn ly n phn i cho. Cc lnl phn c h dc lp li
Nh th, mt chnh hp lp chp k ca n c th xein nh mt phn t ca tch
cac vi A l tp cho. Theo nguyn l nhn, s tt c cc chnh hp lp chp k
c a n s l n \
Th d 1. Tnh s hm t mt '-ip vo mt /7-tp,
Gii; Biu din mi hm bng mt b k thnh phn, trong thnh phn th i l nh
ca phn t / (1 < / < k), Mi thnh phn c ly t mt trong n gi tr. T nhn
c s cn tm l
Th d 2. Tnh s dy nh phn di n.
Gii: Mi dy nh phn di n l mt b gm n thnh phn, Irong mi thnh phn
ch nhn mt trong hai gi tr (1 hoc 0). T suy ra s cc dy nh phn di n l
2".
Th d 3. Tnh s tp con ca mt /7-tp.
Gii: Gi s n-ip cho l X = I .V,, j. Biu din mi tp con A ca tp cho
X bng mt dy nh phn di n:
h = ( bj, h)
trong b = 1 nu phn t X, &A v b = 0 trong trng hfp ngc li (/ = 1, 2,...,
n). T nhn c s' tp con l 2".
1.4.2. Chnh hp khng lp
nh ngha. Mt chnh hp khng lp chp k ca n phn t l mt b c t h t gm k
thnh phn ly t n phn t cho. Cc thnh phn kln c lp li.
11
Phn 1. L thuyt t hp
xy dng mt chnh hp khng lp, ta xy dng dn t thnh phn u tin.
Thnh phn ny c n kh nng chn. Mi thnh phn tip theo, s' kh nng chn gim
i 1 so vi thnh phn ng trc.T , theo nguyn l nhn, s chnh hp khng lp
chp k ca n s l /(/-l)...(-/:+1). tn ti cu hnh, cn phi tho mn k < n.
Th d. Tnh s n nh t mt -tp vo mt /-tp.
Gii: Biu din mi n nh bng b nh ca tp ngun nh trong th d 1 mc trn.
Ch rng cc nh khng c lp li, ta nhn c s cn tm l n(n-)...{t-k+).
1.4.3. Hon v
nh ngha. Ta gi mt hon v ca n phn t l mt cch xp th t cc phn l .
Mt hon v ca n phn t c xem nh mt trng hp ring ca chnh hp
khng lp khi k = n. Do s hon v ca n phn t l 1.2 n = n\
C th ng nht mt hon v ca n phn t vi mt song nh ca mt tp n phn
t ln chnh n. Mt song nh nh vy cn c gi l mt php th. Cc php th c
nhiu tnh cht th v v vic nghin cu n ng gp mt phn quan trng trong
ton hc.
Th d 1. 6 ngi ng xp thnh mt hng ngang chp nh. Hi c th b' tr bao
nhiu kiu?
Gii; Mi kiu nh l mt hon v ca 6 ngi. T nhn c s' kiu nh c th b
tri l 6 ! = 720.
Th d 2. Cn b tr vic thc hin n chng trnh trn mt my vi tnh. Hi c bao
nhiu cch?
Gii: nh s cc chng trnh bi 1, 2,..., n. Mi cch b tri vic thc hin cc chng
trnh trn my c th biu din bi mt hon v ca 1, 2 , n. T suy ra s cch b
tr cn tm l n !
1.4.4. T hp
nh ngha. Mt t hp chp k ca n phn t l mt b khng k th t gm k thnh
phn khc nhau ly t n phn t cho. Ni cch khc, ta c th coi mt t hp chp k
ca n phn t l mt tp con k phn t ca n.
12
Chng I . M u
Vic m cc t hp c kh khn hn cht t so vi cc cu hnh trnh by, tuy
nhin cch m di y cho bit cch vn dng cc nguyn l cng vi cc kt qu
m bit trong vic m mt cu hnh mi.
Xt tp hp tt c cc chnh hp khng lp chp k ca n phn t. Chia chng thnh
nhng lp sao cho hai chnh hp thuc cng mt lp ch khc nhau v th t. R rng
cc lp ny l mt phn hoch trn tp ang xt v mi lp nh th l tcfng ng vi
mt t hp chp k ca n. S chnh hp trong mi lp l bng nhau v bng (s hon
v. S' cc lp l bng s t hD chap k ca n. Theo nguvn l cng, tch ca k\ vi s
ny ! bng s cc chnh hp Ichng lp chp k ca n, ngha l bng (-1)...(|2-:+1). T
nhn c s t hp chp k ca n l
n { n - \ ) { n - 2 ) . . n - k + \ ) , n\
-----------------1
S t hp ny gp kh nhiu trong ton hc, n thng c k hiu bi c* v c
gi l h s t hp.
Khi nhn xt rng, gi tr ca php chia trong (1) l mt s nguyn, ta nhn c
mt kt qu l th trong s' hc: tch ca k s t nlin lin tip bao gi cng chia ht
cho k\.
Th d 1. C n i bng thi u vng trn. Hi phi t chc bao nhiu trn u?
Gii; C 2 i th c mt trn. T suy ra s trn u s bng s cch chn 2 i t n
i, ngha l bng
n j n - \ )
- 2
Th d 2. Hi c bao nhiu giao im ca cc ng cho ca mt a gic l i n ( n> 4)
nh nm trong a gic, nu bit rng khng c ba ng cho no ng quy ti im
trong a gic?
Gii: C 4 nh ca a gic th c mt giao im ca hai ng cho nm trong a
gic. T suy ra s giao im cn m l
n { n - \ ) i n - 2 ) { n ~ 3 )
' 24
Di y l mt vi tnh cht ca cc h s t hp:
a) i xng
n = CT' (2)
13
Phn . L thuyt t h)
b) iu kin u
: ^ c : = I (3)
c) Cng thc qui
cf, = C: \ + c l u n > k > 0 (4)
Cc cng thc (2), (3) c suy trc tip t nh ngha t hp, cn cng thc (4) c th
c chng minh l ( 1).
T (3) v (4), ta c th tnh tt c cc h s t hp ch bng php cng. Cc h s
ny c tnh v vit ln lt theo tng dng (mi dng ng vi mt gi tr /;=0, 1, ...),
trn mi dng chng c tnh v vit ln lt theo tng ct (mi ct ng vi mt gi
l k = 0, 1, n) theo bng tam gic di y:
cs
Cl' cl
Bng ny c gi l tam gic Pascal.
Di y l tam gic Pascal kch thc 8:
1
] 2 I
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
Cc h s t hp c lin quan cht ch vi vic khai trin lu tha ca mt nh thc.
Tht vy, trong tch
( x +J^)" = ( x + >^)(j: + , ( x + :f )
h s ca / s l s cch chn k nhn t (x + y) m t ta ly ra A' v ng thi
trong n-k nhn t cn li ta ly ra ngha l
14
Chn i . M du
( x + y ) " = c x" + c x" ' V + ... + c r -V >"' + a y' ' (5)
Cnc thc (5) cn c gi l kli trin nh tlc Ne\\'on v cc h s t hp cn c
gi l cc l sn c.
Chng hn, cn c vo dng cui ca tam gic Pascal kch thc 8 ( tnh trn), ta
phn irc:
' + V)* - / + 8.v"v + 28.rV + 5 6 . \ ' + 7().vv" + 56,rV -r 28.r"/ + /
Tling thng, cng thc (5) c gp di dng a thc mt n:
( x +1 ) " = c l x + c l x"-' + . . . + c r ' A- + c;: (6)
Rt nhiu ng thc v h s t hp c suy t (6). Chng hn, trong (6) chn A' =1 ta
c:
c : + c ! , + ... + c ; r ' + c = 2" ^ (7)
tc l nhn c kt qu bit (th d 3, mc 1.4,1); s cc tp con ca mt /?-tp
bng 2", cn nu chn ,v = -1 ta c:
c: - c ; , + . . . + ( - i r c : : - 0 (8)
tc l s cc tp con chn (c s phn t l s chn) bng cc s tp con l v bng
Nhiu tnh cht ca h s t hp c th thu c t (6) bng cch ly o hm hoc
tch phan theo A' hai v ca ng thc ny mt s hu hn ln, sau gn cho .r nhng
gi tr c Ih. Chng hn, cne thc sau y thu c bns cch ly o hm hai v
the o v sau trong n g thc Ihu c t X - \ :
/ 72"- ' = n c : + ( / 7 - i ) c , : + ... + C;;-' .
Cn cng thc sau y thu c bng cch ly tch phn hai v theo X v sau trong
ng thc thu c t A' = 1:
( + i )2 ' - ' = { + i ) c : + < + . . . + c ; ; .
15
Phn 1. L thuyt t hp
Bi tp
1. Cho bit trong cc h thc di y h thc no l ng h thc no l sai
a) A n
b ) C Q ( A n ) u C
c ) L.'B Q n
d ) A n ( u A ) = A n B
e) (A u B)\(A d B) = A\B
2. K hiu z l tp cc s nguyn. Xt hai tp con ca Z:
A= x e z : x = 4p- vi mt p e z no }
B= { e z : y = 4-5 vi mt q e z no I .
Chng minh rng A = B.
3. Xt hai tp
A = {n e z : n <0 ]v .42 = { 6 Z: / > 0 }.
Hi A, A2 c to thnh phn hoch ca z hay khng? Nu ng hy gii thch cu tr
li, nu sai hy a ra phn hoch ng ca z.
4. Cho /4 = {0, 1, 2, 3, 4} v xc nh quan h R trn A bi:
/? = ( (0, 0), (2, 1), (0, 3), (1, 1), (3, 0), (1,4), (4, 1), (2, 2), (2, 4), (3, 3),
(4,4), (1,2), (4, 2) }.
Qi ra rng quan h R l quan h tng cfng hay khng? Nu cu tr li l khng nh
hy a ra phn hoch ca A thnh cc lp toig ng theo quan h R cho.
5. Xt cc tp vi cc phn t l cc s nguyn;
Ao = { . . . , - 1 0 , - 5 , 0 , 5 , 10, 1 5, 20,25, .. .} ;
= { . . . , - 9 , - 4 , 1 , 6 , 1 1 , 1 6 , 2 1 , 2 6 , . . . }
2 = { - 8, - 3 , 2, 7, 12, 17,22,27,...}
A, = { -7,-2, 3, 8, 13, 18,23,28,...}
A, = { . . . , - 6 , - 1 , 4 , 9, 14, 19, 24,29, .. .} .
z.
a) Ch ra rng cc tp Aq, A, A2 , v A4 to thnh phn hoch ca tp s nguyn
b) Ch ra quan h s tng ng vi phn hoch ny.
16

Chiamg 2. Bi ton dem
2
BI TON M
2.1. Gii thiu bi ton
Mt trong nhng vn u tin ca vic nghin cu t hp l m xem c bao nhiu
cu hnh t hp c th c to ra vi nhng quy tc nu? Nhng bi ton nh vy
c gi l hi ton m t h). Thng thng, li gii ca bi ton m ph thuc vo
mt s gi Ir tham s ban u v ngi ta c' gng biu din s ph thuc ny bng
nhng cng thc ton hc. Ni chung, m cc cu hnh cho, ngi ta tm cch
a v cc cu hnh quen thuc bng cch thit lp mt tcmg quan 1-1 gia chng.
Nhiu khi mt bi ton m c phn thnh nhng bi ton m nh hn bng cch
chia vic m thnh tng lp p dng nguyn l cng hoc phn tch cu hnh cn
m nh l vic ghp mt s cu hnh khc p dng nguyn l nhn. Di y l
mt s th d n gin nhm minh ha mt s' k thut m.
Th d 1. C bao nhiu cch xp 5 ngi ng thnh mt hng ngang sao cho A khng
ng cnh B ?
Gii: m s cch xp ny, ta m phn cn li: s' cch xp m A ng cnh B.
Xem A v B nh mt ch, ta c 4! = 24 cch xp. S ny cn c nhn 2 v A c th
17
Phcin I . Lv lnivr ti) hp
ng bn tri cng nh bn phi B. Nh vy c tt c 48 cch xp A ng cnh B. Ton
b c 5! = 120 cch xp. T nhn c s' cch xp m A k/.ng ng cnh B l 120
- 48 = 72 cch.
Th d 2. Mt t pht hnh x s vi cc s' v gm 2 phn: phn u gm 2 ch ci
ly t A n z (26 phn t) v phn sau gm 4 ch s ly t 0 n 9 ( 1 0 phn t). Hi
xc sut trng gii c c l bao nhiu ?
Gii: Trc ht ta m s v c pht hnh. Mi v gm 2 phn: phn ch v phn
s. Phn ch c 26^ kh nng, phn s c 10* kh nng. Theo nguyn l nhn, s v
c pht hnh l 26 X iO" = 6 760 000. ' nhn c xc sut trng gii c
c l
1 / 6 760 000 1 , 4 8 x 1 0 '
Th d 3. Cho mt li gm cc vung. Cc nt c nh s' t 0 n / theo c h i u
t tri sang phi v t 0 n m theo chiu t di ln trn (xem hnh v). Hi c bao
nhiu ng i khc nhau t nt (0 , 0) n nt {n, n) nu ch cho php i trn cnh cc
vung theo chiu sang phi hoc ln trn ?
(0, m) {n, m)
(0, 0) { n , 0)
Gii: Mt ng i nh th c xem gm n+m on (mi on l mt cnh vung).
Ti mi on ch c chn mt trong 2 gi tr; i ln (m ta m l 1) hay sang phi
(m ta m l 0). S on i ln ng bng m v s' on sang phi ng bng n. Bi ton
dn v vic tm xem c bao nhiu dy nh phn di l + m trong c ng m thnh
phn bng 1. y cng chnh l s tp con m phn t ca mt tp n + m phn t, VI th
s ng i cn m bng .
Th d 4. Thut ton "ni bt" dng xp tng dn dy a, (/ = 1,2,..., /) c m t
bng on chng trnh PASCAL di y:
For i := 2 to n do
For j .= n clownto i do
18
Chig 2. Bi ton dem
<^ j -n > rlien Swap u j -I. u i h:
Hy m xem phi lm bao nhiu php so snh ?
Gii: Ta chia s php so snh thnh cc lp theo vng lp / (/ i t 2 n n). Vi mi i
xc nh, phi thc hin -i+I php so snh. T nhn c, theo nguyn l cng, s
cc php so snh l:
2 /+ ... + I
,
C th l lun gn hn: thut ton "ni bt" vit trong on chng trnh cho
phi so snh tt a cc cp phn t khc nhau. T nhn c s php so snh l
_ /7(^-1)
" 2
Mt c tnh ca cc bi ton m t hp l s cu hnh tng rt nhanh khi s gi
tr tham gia vo vic to nn cu hnh tng. iu ny thng dn n cc con s
khng l mc d cc con s tham gia ban u khng ln. Hin tng ny thng c
gi l s bng n t hp v chnh n l nguyn nhn lm cho cc thut ton da vo
vic duyt ton b tr nn khng kh thi. Th d di y cho thy rng, d qui cch
to c u hnh c v rt hn c h nhng s cu hnh c to, h o ra li rt ln.
Th d 5. Ngn ng PASCAL chun qui nh t tn bin khng qu 8 k t. Cc k t
trong tn bin ch c php l cc ch ci (t A n Z) hoc cc ch s' (t 0 n 9) v
phi bt u bng ch ci. Hi c th nh ngha bao nhiu bin khc nhau ?
Gii: Ta phn cc bin thnh cc lp: 1-k t, 2-k t, ... S' cc bin thuc lp -k t,
theo nguyn l nhn, bng 26 X 36'" ' (; = 1. 2, 8). T , theo nguyn l cng, ta
nhn c s cc bin khc nhau l:
26.(1 + 36 + 36^ + ... + 36) = 2 095 681 645 538.
2.2. Nguyn l b tr
Mt s bi ton m phc tp hn, c da vo nguyn l lng qut ca nguyn l
cng. Nu khng c gi thit g v s ri nhau gia 2 tp A v B th
N{ Ay j B) = N{ A) + N { B ) - Ni Ar ^ B) . (1)
Cng thc (1) c m rng cho trng hp nhiu tp nh sau.
nh l. Gi sA , /4,,... , A, l cc tp hu hn. Khi
N{ A^vj Az^. . . A, ) = . V, - A^: +. . . + ( - i r > , , (2 )
19
Phn . L thuyt t hp
trong N. l tng phn ca tt c cc giao ca k tp ly m tp cho (ni ring
/V, = N(A,) + ... + N, = N{A, n A , n ... n A J ).
Chng minh. Ch rng, s cc giao ca k tp ly t m tp bng ci, , k = \ , 2 , m.
chng minh cng thc (1), ta s tnh xem mi phn t ca tp /4| u y\2 . u A,
c m bao nhiu ln trong v phi ca n. Xt mt phn t tu e /4| u .42 u . . .
u y4,. Gi s a l phn t ca k tp trong s m tp cho. Khi a c m v phi
ca cng thc ( 1)
C l - C ; + C l - . . . + ( - l ) - ' c :
ln. Do
c i - c ; + c * ' - , . . + ( - i ) * ' ' c ;
= 1 - [ 1 - c ; + Q = - Q ' + . . . + ( - i ) * c ; ] = 1 - ( 1 - i y = i ,
suy ra rni phn t t e A/ u u . . . o A, c tnh ng 1 ln v phi ca cng
thc ( 1), iu chng minh tnh ng n ca cng thc ( 1).
By gi ta ng nht tp A. vi tnh cht A. cho trn mt tp X no v m xem
c bao nhiu phn t ca X khng tho mn bt c mt tnh cht /4|. no c.
Gi N l s cn m, /V l s phn t ca X, ta c:
~ = N - N { A , ^ A.KJ... A)= N - Ny + ... + {-\ ' N ^ (3)
trong l tng cc phn t ca X tho mn k tnh cht ly t m tnh cht cho.
Cng thc (3) c gi l nguyn l b tr. N cho php tnh N qua cc Nf. trong
trng hp cc s ny d tnh ton hn.
Ta s xt mt s th d minh ho cho vic s dng nguyn l b Ir gii cc bi
ton m.
Th d 1. Hi trong tp x = { 1 , 2 , 1 0 0 0 0 } c bao nhiu s khng chia ht cho bt c
s no trong cc s 3, 4, 7?
Gii. Gi
A = X e X : X c h i a h t c h o ' , i = 3 , 4 , 7.
Khi l tp cc s trong X chia ht cho t nht mt trong 3 s 3, 4, 7,
suy ra theo cng thc (3), s' lng cc s cn m s l
N{X) - yV(A3 u /^4 u A^) = N, - N2 + Ny
Ta c
/V, = N(A, ) + N{A, ) + N{A, )
= [10000/3] + [10000/4] + [10000/7]
= 3333 + 2500+ 1428 =7261,
20
Chng 2. Bi ton dm
= N{A^ n /4 ) + N(A^ n A^) + N(A^ n At)
= [10000/(3x4)] + [10000/(3x7)] + [10000/(4x7)]
= 833 + 476 + 357 = 1666,
N, = N{ A, r ^ A, r ^ A^ ) = [10000/(3x4x7) ] = 119,
y k hiu [ r ] ch s nguyn ln nht khng vt qu r.
T s lng cc s cn m l 10000 - 7261 + 1666 - 119 = 4286.
Th d 2. C bao nhiu xu nh phn di 10 hoc l bt u bi 00 hoc l kt thc
bi 11?
Gii. D thy l s xu nh phn di 10 bt u bi 00 l 2= 256 v s' xu nh phn
di 10 kt thc bi 11 l 2* = 256. Ngoi ra, s xu nh phn di 10 bt u bi
00 v kt thc bi 11 l 2* = 64. Theo cng thc (1) suy ra s xu nh phn hoc bt u
bi 00 hoc kt thc bi 11 l
256 + 256 - 64 = 448.
Kt thc mc ny, ta xt bi ton c in di y trong l thuyt xc sut:
Bi ton b th. C n l th v n phong b ghi sn a ch. B ngu nhin cc l th
vo cc phong b. Hi xc sut xy ra khng mt l th no b ng a ch l bao
nhiu?
Gii; C tt c n\ cch b th. Vn cn li l m s cch b th sao cho khng c
l th no ng a ch. Gi X l tp hp tt c cc cch b th v l tnh cht l th
th k b ng a ch. Khi theo cng thc (3) ta c:
~N = N - N , +N 2 - . . . +
irong N l s' cn tm, A/ = /?!, cn N. l s tt c cc cch b th sao cho c k l
th ng a ch. Nhn xt rng, N. l tng theo mi cch ly k l th t n l, vi mi
cch ly k l th, c n-k)\ cch b k l ny ng a ch, ta nhn c:
v
N, = A n - k ) \ = ^
k\
T7 1 1 (-1)
T xc sut cn tm l
, 1 1 (-1)
1! 2! n \
21
Fhn . L thuyt t (/p
Mt iu l th l xc sut ny dn n e'^ (ngha l cn ln hn 1/3) khi n kh
lii. S N trong bi ton trn c gi l smct h v c k hiu l D,,.. Di y
l mt vi gi tr ca cho ta thy tng nhanh th no so vi \
" ^
3 4 5 6 1 7 8 9 1 10 li
! 1 2
9
1___
44 265 1 1854 14833 133496 1 1334961 4890741
2.3. Quy v cc bi ton n gin
M trong nhng phng php dm l qy bi ton ang xt v nhng bi ton dn gin
hn. iu ny khng phi lc no cng d v n thng i hi mt s phn tch su
sc cu hnh cn m. Th d di y trnh by mt bi ton ni ting ca Lucas
(1891). qua rt ra c nhiu iu b ch irong ngh thut m.
Bi ton xp khch ca Lucas. C mt bn trn, xung quanh c 2n gh. Cn sp ch
cho n cp v chng sao cho cc ng ngi xen k cc b v khng c cp v chng no
ngi cnh nhau. Hi c tt c bao nhiu cch xp ?
Gii: Gi s phi tm l M. Xp cho cc b trc (c mt gh xp th mt gh trng
dnh cho cc ng). S cch xp cho cc b l 2!. Gi s cch xp cc ng ng vi mt
cch xp cc b l u, ta c s cch xp l
M = 2n\ X u.
Vn cn li l m s .
nh s cc b ( xp) t 1 n n, nh s cc ng tng ng vi cc b (ng i l
chng b i), sau nh s cc gh trng theo nguyn tc: gh s i nm gia b /v b
; + / ( tin trnh by, cc php cng ch s trong phn ny u c hiu l thc hin
v n g trn, ngha l +1 = 1). Mi cch xp cc ng c biu din bng mt php th
(p trn tp {7,2, / vi quy c i) = j c ngha l gh i c xp cho ng. Theo
u bi, phi tho mn
) i i v. (p{i) (*)
Nh vy l s tt c cc php th 9 tho mn iu kin (*). Trong ton hc, c
gi l s' phn h.
Xt tp hp tt c cc php th (p ca {1, 2, n\ . Trn tp ny, gi p, l tnh cht
(p{i) = i v Q l tnh cht (f{i) = /+1. t p,,^ = Q, v ta c, theo nguyn l b tr
(tng ng vi 2n tnh cht p)\
u ^ = n \ - N , + N^ - ...
22
Chn 2. Bi ton dem
trong N. l tng s tt c cc php th tho mn k tnh cht, ly t 2/ tnh cht ang
xt.
Ch rng, khng th xy ra na thi tho mn p, v Q, hoc ng thi tho mn
P^i v Q,, do trong cc cch ly ra k tnh cht t n lnh chl ang xt, cn thm vo
iu kin: cc p, v Q, hoc P^ v (2, khng c ng thi c mt. Gi s cc cch
ny l (2/?, k) (ni ring (2/7, k) = 0 khi k > n). Vi mi cch ly ra k tnh cht nh
vy {k < /7), ta c (_n-k)\ php th tho mn chng. T nhn c N = g{2n, k)\ n- k) \
\
JJ, ~t \ - g(2 n, (2 ri , 2 ).(n-2 y - ... + {- \ )" l n, n) .
By gi cn phi tnh cc h s g{2n, k), k = 1 , 2 ......
Xp 2n tnh cht ang xt trn mt vng trn theo th t P), Q, P2 , 2...... P,I Qn<
ta thy rng g{2n, k) chnh l s cch ly ra k phn t trong 2n phn t xp thnh vng
trn sao cho khng c 2 phn t no k nhau cng c ly ra.
tnh i>{2n, k) ta gii 2 bi ton con sau y:
Bi ton 1. C bao nhiu cch ly ra k phn t trong n phn t xp trn ng thng
sao cho khng c 2 phn t k nhau cng c ly ra ?
Gii: Khi ly ra k phn t, ta cn n-k phn t. Gia n-k phn t ny c n-k+ \ khong
trng (k c 2 u). Mi cch ly ra k khong t cc khong ny, s tcmg ng vi mt
cch chn k phn t tho mn yu cu nu. Vy s cch cn tm l c,-i+i.
Bi ton 2. Ging rih bi ton 1, nhng vi n phn l xp trn vng trn.
Gii: C nh phn t a trong /; phn t. Chia cc cch ly ihnh 2 lp:
1. Cc cch m a c chn, khi 2 phn t k a s khng c chn v ta phi
ly ;-] phn t t /-3 phn t cn li. Cc phn l ny c xem nh trn ng thng.
Theo bi ton 1, s cch thuc lp ny l Cf,rl-|.
2. Cc cch m a khng c chn, khi b a i, la a v bi ton ly k phn t
t n- phn t xp trn ng thng. Theo bi ton 1, sccli thuc lp ny l n-k .
Vy, theo nguyn l cng, s' cch cn tm l
c : l - , + C * = - ^ C l , .
n - k
T kt qu ca bi ton 2, ta nhn c
2n .
g { 2 n , k ) ^ : ^ C L ,
2 n - k
v s phn b c tnh bng
2 2 2
2/7- I 2/7-2 n
23
Phn . L thuyt t hp
(Touchard J. 1934 France).
Di y l mt vi gi tr ca u, mt ln na minh ho hin tng bng n t
hp:
/ 2 3 4 5 6 7 8 9 O
0 1 2 13 80 579 4738 43387 439792
2.4. Cng thc truy hi
Thng thng, ngi ta quan tm n nhng bi ton m, trong kt qu m ph
thuc vo mt tham s ti u vo (m ta k hiu l /), th d cc s' , ... Vic
biu din kt qu ny, nh mt hm ca n, bng mt s hu hn cc php ton, khng
phi l n gin. Ngi ta nhn thy rng, trong nhiu trng hp, vic tm kim mt
cng thc trc tip gia kt qu m v gi tr n l rt kh khn (hoc khng th c),
trong khi , cng thc lin h gia kt qu m ng vi n v cc kt qu m ng vi
cc gi tr n b hn li cfn gin v d tm. Nh cng thc ny v mt vi gi tr ban
u, ta c th tnh mi gi tr cn li khc. Cng thc gi l cng thc truy hi hay
cng thc quy. Do tnh k tha, cng thc truy hi rt thch hp vi vic lp trnh
trn my tnh. N cho php gim ng k phc tp cng nh gia tng n nh ca
qu trnh tnh ton.
2.4.1. Cc th d minh ha
Trc tin chng ta xt mt s' th d minh ho vic xy dng cng thc truy hi gii
cc bi ton m.
Th d 1. Tnh s mt th t D.
Gii: nh s th v phong b t 1 n n (th / gi ng a ch nu b vo phong b 0-
Mt cch b th c ng nht vi hon v ( | , a) ca ( 1 , 2 ...... n}. Mt mt th t
c nh ngha l mt hon v (|...... a) sao cho , vi mi i. Thnh phn | c
th nhn n- gi tr ngoi 1. Vi mi gi tr ^ (: 1) ca , xt 2 trng hp:
1. = 1, khi cc thnh phn cn li c xc nh nh mt mt th t ca n-2
phn t, tc l s cc mt th t thuc loi ny bng D_2 -
2. a*. 1, khi cc thnh phn t 2 n n c xc nh nh mt mt th t ca
n- phn t (xem gi tr 1 nh l gi tr k), tc l s mt th t thuc loi ny bng D.|.
T nhn c cng thc
D = (n-1)(D., + D,). n >3 .
24
Chif> 2. Bi on d'in
Cc gi tr ban u d dng c tm trc tip: D| = 0, D
Mi gi tr cn li c tm n gin nh lut k tha:
D, = ( 3 - 1 ) ( 0 + 1) = 2
D, = ( 4- 1)(1 + 2 ) = 9
D, = ( 5 - l)(2 + 9) = 44
=: ( 6 - 1K9 + 44) = 265
D, =(7-1X265+44) = 1854
D, -(8-1X1854+265) = 14833
cng thc truy hi ng c i vi n = 2, ta xem nh D = 1.
C th nhn c cng thc trc tip qua cng thc truy hi. Tht vy, t
D = ( - 1)(D.,+D,)
suy ra
D - ., = - (/;
t v = D - n D.|, ta c
= v,, = -v, = ... = ( - i r ' v , - ( - i r
hay
D _ A,-I ^ (-1)"
nl { n- \ ) \ ~ n\
Cng cc h thc trn, vi /7 = / , 2, ta c
A, , 1 1 (-1)"
= 1 + ...+
n\ 1! 2! h!
1 1 (-1)"
v nhn lai cng thc bit: D = !( 1 - +
1! 2! m
Th d 2. Trn mt phng, k n ng thng sao cho khng c 2 ng no song song
v 3 ng no ng quy. Hi mt phng c chia thnh my phn ?
Gii: Gi s phn mt phng c chia bi n ng thng l 5. Gi s k n- \ ng
thng. By gi k thm ng thng th n th s phn c thm s bng s giao im
c thm cng vi 1. S giao im c thm l s giao im m ng thng va k
ct n- 1 ng thng c, ngha l bng n- 1. T nhn c cng thc truy hi
s s.| + , n > .
vi gi tr ban u 5 = 1. T cng thc ny. d dng tnh mi gi tr ca s, = 1, 2, ...
s, 1 + 1 = 2
= 2 + 2 = 4
25
Pln I . L thuyt t h)
5, = 4 + 3 = 7
5, = 7 + 4 = 1 1
5, = 11 + 5 = 1 6
5^ = 16 + 6 = 2 2
s" = 22 + 7 = 2 9
tm cng thc trc tip, ta cng cc h thc Sf. = 5;.| + k vi k - 1,2, /?. Sau
khi kh cc s hng ging nhau hai v, ta nhn c:
n{n + \) ri^ + n + 2
s = 5 o + 1 + 2 + . . . + /7 - 1 +
. Z.
Cng thc truy hi c m rng mt cch t nhin cho trng hp c nhiu tham
s. Khi cn mt h cc gi tr ban u (m chng thng c gi l cc gi tr
bin). Vic tip cn cc h s t hp nh trnh by di y l mt th d ;m mt cng
thc nh vy.
Th d 3. Tnh h s t hp c \ .
Gii: Chn phn t c nh a trong n phn t ang xt. Chia s cch chn tp con k
phn t ca tp ny thnh 2 lfp: cha a v khng cha a. Nu a c chn th ta phi
b xung k-\ phn t t n-\ phn t cn li, t lp cha a gm z\ cch. Nu a
khng c chn th ta phi chn k phn t t -1 phn t cn li, t lp khng cha
a gm C- cch, l l i e o nguyn l cng, ta c cng thc truy hi:
c = d : , ' + c*_,
vi cc gi tr bin c suy trc tip t nh ngha:
c = C = 1.
R rng vic lp trnh theo cng thc truy hi (xem tam gic Pascal) l hiu qu hn
nhiu so vi vic lp trnh theo cng thc trc tip.
Phng php tm cng thc trc tip t cng thc truy hi trnh by trong cc th d 1-3
c gi l phng php kh. Khng phi lc no cng d dng kh c cng thc
truy hi a c v cng thc trc tip. Tuy nhin, trong mt s trng hp c bit
ta c th a ra phng php tng qut gii cng thc truy hi (tc l tm cng thc
trc tip cho s hng tng qut ca dy s tho mn cng thc cho).
Th d 4. (Bi ton thp H ni). Tr chi thp H ni c trnh by nh sau: C 3
cc a, b, c. Trn cc a c mt chng gm n ci a ng knh gim dn l di ln
trn. Cn phi chuyn chng a t cc a san cc c tun th qu tc: mi ln ch
26
Cl Ki 2. B i t o i d
chuyn 1 a Vil ch c xp a c cha'rng knh nh hn l(hi Irn a c ng knh ln
hn. Troni> qu trnh chuyn dc php dng cc h lm cc trung gian Bi ton t ra
l: Tim s ln di chuyn a t nht cn thc hin thc hin xong nhim v t ra
trong tr chi thp H ni.
Gii: Gi l l s' ln di chuyn a t nht cn thc hin gii xong bi ton thp H
ni. Ta xy dng cng thc qui tnh h. R rng:
h, = \.
Gi s n > 2. Vic di chuyn (a grn cc bc;
(i) Chuyn /7-1 a t cc a n cc b s dng cc c lm trung gian. Bc ny c
thc hin nh gi thit quy np.
(ii) Chuyn 1 a (a vi ng knh ln nht) t cc a n cc c.
(iii) Chuyn /7-1 a t cc h n cc c (s dng cc a lm trung gian). Bc ny
c thc hin nh gi thit quy np.
Bc (i) v (ii) i hi gii bi ton thp H ni vi /-1 a, v vy s ln di chuyn a
t nht cn thc hin trong hai bc ny l 2/.|. Do ta c cng thc qui sau:
/?=/;.,+ \,n>2.
S dng cng thc qui v iu kin u va tm c i vi h ta c th d dng
chng minh bng qui np l
h=2"-,ii>.
2.4.2. Gii cng thc truy hi luyii ili thun nht h s hng
Xt cng thc truy hi tuyn tnh thuii nht h s hng bc k:
+ C2.2 +...+ C'A.*., (1)
trong C|, Cj..... q l cc hng s, q 0.
Ta cn tm cng thc trc tip cho s' hng a ca dy s' \ a] tho mn cng thc
(1) (dy s nh vy s gi l nghim ca cng thc truy hi cho). R rng, dy s
a,,] tho mn cng thc (1) s c xc nh duy nht, nu nh n phi tho mn k
iu kin u sau:
<^0 Cq, | = C|, (2)
trong Cq, C , C , _ i l cc hng s. Ta tm nghim di dng
a = r" , (3)
trong r l hng s. Dy s {a xc nh theo cng thc (3) s tho mn (1 ) nu / l
nghim ca phnp trnh:
27
Ph . L thuyt t hp
= 4 - C 2 r ' " ' + . . . + r ,
h ay l
/ - c\ - C2 - . . . - Q = 0. (4)
Phng trnh (4) c gi l phng trnh c trng ca cng thc (1), v nghim ca
n c gi l nghim c trng. Chng ta s xt cch s dng nghim c trng
xy dng cng thc nghim di dng hin. Trc ht chng ta xt trng hp ring,
khi k = 2. Sau cc kt qu s c pht biu cho trng hp "ng qut.
nh l 1. Cho Ci, C' 2 cc hng s thc. Gid s phng trnh r - Ti r - C' 2 - 0 c hai
n^lim phn hit \ v Khi dv s \a,, I Ic nghim ca cng thc riiv hi
,., + C2a,,2
khi v ch khi
= a / l + (5)
n = Q, 1, t rong , 2 l cc hng s.
Chng mnh. Trc ht ta chng minh rng nu \ v l hai nghim phn bit ca
phng trnh c trng, v a, , 2 l cc hng s, th dy s \a] xc nh bi cng
thc (5) l nghim ca cng thc truy hi cho. Thc vy, do r, v ' 2 l nghim c
trng nn
= c , r, + C2 , /'2 ^ = c, / - 2 + C' 2
t suy ra
' | + ' 2 . 2 = C| ( I + 2 ' 2 " ' ) + + 2 / V " ^ )
= or, r, + C2) + 2 r2 '\C /2+ C2)
= + 2
= a , r," + 2 '-2"
= a.
By gi ta s ch ra rng nghim [a\ ca h thc = C| a.| + C2 .2 lun c dng (5)
vi p O no . Thc vy, gi s {a\ l nghim ca h thc cho vi iu kin u
= C ( ) , = C , ( 6 )
ta ch ra rng c th tm c cc s , a ^ cho (5) l nghim ca h thc vi iu
kin u ny. Ta c
o = Co = a, + 2 ,
a, = c , = a,/-, +
28
Chi 2 . Bi i t on dm
Gii h phng trnh tuyn tnh ph thuc hai n a,, a, thu c, do T ^ /*2
c nghim duy nht
or, = (C, - C / - 2 )/(/, - / 2 ),
2 = (Co /, - c , )/(r, - /,).
(7)
Vi nhng gi tr ca a, , GC2 va tm c, dy || xc nh theo (5) l nghim ca h
thc cho vi iu kin u (6). Do h thc cho cng vi iu kin u (6) xc
mh duy nht mt dy s, nn nghim ca .l thc cc clio bi ccng ihCc (5). nh l
c chng minh.
Th d 4. Dy Pibonaci trong ton hc c nh ngha bng h thc truy hi:
+ /^ 2. n > 2,
= F, = 1.
Tim cng thc hin cho
Gi: Gii phng trnh c trng:
r - /*- 1 ==0,
ta thu c hai nghim
\ + s
r. = /2 =
\ - 4 l
v cng thc hin c dng:
F = + Q2.(/-,)"
trong I , 2 l cc hng s cn xc nh t cc gi tr ban u Fq, F. T cng thc
(7), ta c:
1 I+V5 1 I-V5
a, =
Vs 2
2 =
s 2
v nhn c
/
/ r~\
1+ V5\
rt+1^
V
i 2 1 - 2
/
Mt iu l th l cng thc ny phi dng cc php ton v t biu din mt gi tr
nguyn.
nh l 1 khng p dng c kh phng trnh c trng c nghim kp. Trong
trng hp ta cn s dng kt qu ca nh l sau.
29
Phn . L hivt hp
nh l 2. Cho C , C2 Ici cc lnq s thc, C'2 ^ 0. Gi s phng trnh - C'| r - c\ - 0
c nghim kp \y Khi dy s a } l nghim ca cni lc d qui
^-1 + ^n-2
khi v ch khi
r/ - 0, 1, rong , 0 2 l cc hng sei
Chng minh. Hon ton tng t nh chng minh nh l 1.
Th d 5. Tim nghim cho cng thc truy hi
= 6 - 9 .2
vi iu k i n u 0 () = ] v c/| = 6.
Gii: Phng trnh c trng - 6 r + 9 = 0 c nghim kp r = 3. Do nghim ca
h thc c dng;
a - a, 3" + 02 11 3".
tm |, 2 - s dng iu kin u ta c
= 1 = , ,
(7, = 6 = I . 3 + 2 . 3.
Gii h ny ta tm c 1 = 1 v 2 = \ . T nghim ca h thc cho l;
a = 3" + n 3".
nh l 3 sau y l s tng qut ho kt qu ca nh l 1 cho trng hp h thc
qui tuyn tnh thun nht h s hng h c k > 2.
nh l 3. Cho C|, C j , c l cc s'(hc. Gi s phng trnh c trig
- C, /*' - - ... - c, = 0
c k n>liim phn hit \, '2 , 'f.. Khi dy s' { a j l ni>him ca h thc
+ Cjfl,,., +...+
khi v ch khi
a = a, /V' + 2 /'2"+ /V'
vi /! = 0, 1, 2 .trong I , 2, l cc hng s.
Chng minh; Tng t nh chng minh nh l 1.
30
Chc/ ; 2. Bcii t o n dhi
Th d 6. Tim nghim ca h thc
a = 6 _, - 11 + 6
vi iu kin u
= 2, = 5. Ch = 15.
Gii; Phpg trnh c trng
- 6 r V 11 /- 6 = 0
c 3 nghim r, = 1, ' 2 = 2, /, = 3. V vy, nghim c dng
a = a, 1" + 2 2" + 3".
S dng cc iu kin u ta c h phng trnh sau y xc nh cc hng s a , , 2,
a,;
/d = 2 = I + 2 + a,
/, = 5 = I + 0 ^ . 2 + y 3
a , = 15 = I + 2-4 + , . 9 .
Gii h phng trnh trn ta ihu c | = 1, = -1 l 3 = 2. Vy nghim ca h
thc cho l
a = 1 - 2" + 2. 3".
Ch : Vic tm nghim ca h thc (1) trong triig hp tng qut dn v vic gii
m t phng trnh bc k\
/ - r , / - ' - ... - cv = 0
m vic biu din nghim ca phng trnh ny qua mt s hu hn cc php ton, nh
bit, khn? phi lc no cng lm c vi k > 5 (nh l Abel).
2.5. Phng php hm sinh
2.5.1. Hm sinh v bi ton m
Gi s {/ I /? = 0, 1,2, .... l mt dy s. Ta vit dy ny nh l dy v hn phn t,
tuy nhin ta coi rng n bao gm c trng hp dy hu hn. Nu /Q, /?, l dy
hu hn, th ta s bin n thnh dy v hn bng cch t /;, = 0, i > m .
nh ngha. Hcim sinh (.v) ca dy s h 1/? = 0, 1,2,....} chui v hn
31
Phn . L huyi l h)
00
g ) = h,, + / .V + / 2 + . . . = .
/=0
Nh vy hm g{x) sinh ra dy s cho nh l dy cc h s ca n. Nu dy l hu
hn th s tm c m sao cho = 0, / > m. Trong trng hp ny (A') l mt a ihc
bc m.
Th d 1. Mt trong nhng ngun gc dn n nh ngha hm sinh chnh l nh l v
khai trin nh thc; Hm
gW = (l +A-)"'
sinh ra dy cc h s' t hp
[h^= C{m, k), -0, 1,..., ni]
bi v
(l + x)"* = ^C(w,:)x^ .
/t=0
Th d 2. Hm
g(A') = 1/(1-.r)
sinh ra dy
1 , 1 , 1 , . . .
D dng chng minh iu bng cch thc hin php chia:
l / ( l - x ) = 1 + x + x^ + ...
Th d 3. Vi ^ > 0, hm
gix) = 1/(1-X)*
sinh ra dy
{C{n+k- \ , ny. n = 0, 1, 2,. .. }.
Nh vy h s th n s l s kh nng chn n vt t k loi vt. Thc vy, ta c
l / ( l - x / =[ l / ( l - x ) f = ( l + x + x^ + ....
Nu ta khai trin biu thc ny bng cch thc hin nhn ph ngoc, th s ln xut hin
s hng x" s bng s nghim nguyn khng m ca phng trnh
, + 2 + ... + t, = n,
rn ta c th d dng tnh c l C{n+k- , n).
C i n 2 . Bi t on dem
V d ny c th gi cho ta cch giai nhieu bi ton m. Chng hn xt hm sinh
,t>(.v) = ( 1 + .V+ . r + .V*) (1 - r + . r ) ( 1 + ,v + + .r + x'*).
Gi s .v", x^', y tng ng l cc s hng ly t cc tha s' th nht, hai, ba ca v phi,
iu c ngha l 0 < / < 3, 0 < /; < 2, 0 < C' < 4. Khi khai trin v phi cc tha s ny
s cho ta s hng y , vi n = u + h + c. Nh vy h s ca trong ^(.v) s l s nghim
nguyn khng m ca phng trnh
/ ==/ -1 - h -I- c
tho mn
0 < a < 3 , 0 < / ? < 2 , 0 < r < 4 .
Suy ra h s ny cng cho ta s' cch chn n bng hoa t 3 bng cc, 2 bng layn v 4
bng hng.
Tt nhin vic s dng hm sinh gii bi ton m s i hi nhiu tnh ton khi
thc hin php nhn cc a thc, v khng thch hp cho vic tnh tay. Tuy nhin, vic
li c t h t hc h in nhanh c h n g trn m y t n h , v v t h h m s in h s l m t c n g c
hu hiu gii nhiu bi ton m trn my tnh. Hcn na hm sinh s cn l cng c
hu ch nghin cu cc bi ton m mt cch tru tng.
Ta dn ra mt s' khai trin i s' rt hay s dng trong vic s dng hm sinh:
/ / ( l - . v ) = A-^ (1 + .V+ A' + ...) = + ...
( ' l - y " ' ) / ( | - .v ) = 1 +.v + .x' + ... +.v^.
l/(l-.r^)= 1 +,v" + .v'+.v' + ...
x/{ 1 = x{ I + + ..v' + + ... )= .r + x + x*+ / + ...
Th d 4. C bao nhiu cch chn ra n qu t 4 loi qu: to, chui, cam v o (mi
loi u c s lng t ra l /;) m trong c mt s chn qu to, s l qu chui,
khng qu 4 qu cam v t ra 2 qu o?
Gii. Hm sinh gii bi ton ny l
( 1 + + ...) (x + ,r' + y + . .. )( 1 + ,v + + X*) {x^ + + A'' + ...)
Trong cng thc trn c 4 tha s m s qu to (cc s m chn), chui (s m
l), cam (ch c n s m 4) v o (s m bt u t 2). Hm sinh s l
J?(.v) = [l/(1-A-^)] [.v/d-A-^)] [(I-A')/(l-.v)] [A^/(l-,r)]
33
Phn I . L uy t hp
Cu tr li l; S cch cn m l h s th /7 trong khai trin (.v) di dng chui lu
tha. Tuy l chng ta khng c cu tr li bng s, nhng hm xy dng c cha d
l i u c th lp trnh trn m y tnh a ra bng p s c h o c c g i tr c a n m ta
mong mun.
Trong nhiu trng hp, vic khai trin hm sinh di dng chui lu tha c th thc
hin c bng tay, chng ta c th thu c cng thc m di dng hin.
Th d 5. Tim hm sinh cho s nghim nguvn dng l ca phnp, trnh
t + 2+ ... + = l.
Gii. Hm sinh cn tm l
(.) = u + .r + ,r + X + ...)*
= [.y(1 + .v^+ a- + / + ...)]*
= [.V(l-A-^)] = , / ( l - y .
Th d 6. Tim hm sinh cho /? l s cch chn ra /7 qu t 4 loi qu; to, chui, cam
v o (mi loi u c s lng t ra l n) m trong c mt s chn qu to, s'
lng chui chia ht cho 5, khng qu 4 qu cam v khng qu 1 qu o?
Gii. Hm sinh c dng
g(x) = ( 1 + + / + / + . . . ) ( ! + A'' + -v" + A-'- + ...) ( 1 + .V+ + X*) ( 1 + A-)
= [1/(1-A-^)] [l/(l-x^)] [ (l-xV(l-^)] (1+A-)
= [ l/ ( (l - x ) ( l+. r ) ] [l/(l-.v)] (l+.v)
= l/(l-.v)'
T ta c th tm cng thc hin cho li gii, bi v
00 00 00
n= 7=0 /7=0
Vy = n + 1.
Th d 7. Tim hm sinh cho s cch i n (nghn ng) s dng cc loi giy bc mnh
gi 1 nghn ng, 5 nghn ng, 10 nghn ng, 50 nghn ng (gi thit l ta c mt s
lng khng hn ch mi loi giy bc).
34
2. Bai ton dem
Gii. So lugng den cn di ra loai giy bac 5 nghm dng phai chia het cho 5, so Itrong
ti^n cn doi ra loai gi'y bac 10 nghm dong phi chia het cho 10, so lugng ti6n cn di
ra loai giy bac 50 nghin dong phi chia het cho 50. VI vy
- ( 1 + .V + A-^ + . . . ) ( 1 + A-^ + A- " + . . . ) ( 1 + A-"' + A- ' + . . . ) ( 1 + x " + x ' + . . . )
= [ 1 / ( 1 - A - ) ] [ l / ( l . r ) ] [ l / ( l - A - ' " ) ] [ l / ( i - A ' " ) ] .
2.5.2. Ham sinh v cng thc de qui
MiJC ny se trinh by phufong php hm sinh de tirn cng tniic dudi dang hien cho so
hang tdng qut ciia dy s' xc dinh bai cng thiic de qui. Ni dung ca phuong php c
ihe' trinh by nhu sau. Gia sir ta c | / ; J l dy s dugc xc dinh theo cng thfc de qui.
Xy dung hm sinh ca dy s ny theo cng thiic
g{ x) - //o -f //, A- + /?2 4- ... - .
/=0
Su dung cc tinh cht ca dy s (suy tir cng thiic de qui xc dinh n) ta c the tim
duac cng thiic gii tich cho hm sinh Tir cng thiic tim duc ta se khai trien hm
^i*(a') dui dang chui luy ihira, v tir do tim duc cng ihiic cho h.
Truc het ta dua ra mot s phep ton di vai hm sinh. Gi sCr
O. X'
/(.v)= ,M.v)=
/-0 /=0
l hai hm sinh cn a i s thuc. khi do
/=0
Xi
/=0
Tich Csi ca hai hm sinh g{.x) va/ ( a ) :
trong d
f (x\ i' {x)= ,
/=0
k
"k = (i b, + a, + ... + a, h, = .
/=0
35
Phn . L huy hp
00
T gii tch ta bit rng nu chui ^(A') = hi t ln cn im 0 th lng ca n
/=0
g { x ) lu n l hm g i i tch trong ln c n n y v
h, = f \ 0 ) / k \ , k = 0, 1,...
co
Khi chui y hX^ chnh l khai Irin Macloren ca hm ^(x). Nh vy c mt
^0
tng ng 1-1 gia mt hm gii tch v mt chui hi t trong ln cn 0.
Trong vic p dng hm sinh ta thng s dng cng thc sau:
1 /(1-)"= c i , _ ,
k=0
m trng hp ring ca n l
1/(1 - rx) = \ + r x + r^x^ + x + ....
Th d 1. Gii cng thc qui
/ = 4 /.'.2,
h, = 0,h, = \.
Gii. Gi ix) = /(, + /| .r + hj + ... l hm sinh ca dy s cn tm. Ta c
g(x) = + /| . + /2 + ... + / y + ...
-4 g{x) = -Ah^ - 4/| r* - . . . - 4/_2 y - .. .
Do / = 4 /.2 v = Q, h = 1, nn cng hai ng thc trn ta thu c
^(x) - 4 g(x) = /o + /, X = X.
hay
g) = xH 1- 4x") = l/( 1 - 2x){ 1 + 2x).
S dng php tch phn thc, ta vit g(x) di dng
g{x) = a/( 1 - 2x) + b/ (\ + 2x),
trong a \ h ] cc hng s cn xc nh. D dng tnh c a = /4 v h = -1/4. T
ta c
36
C l U i 2 . H i t o n d h i
.?(.v)= -^[1/(1 - 2 . r ) - l / ( l +2,v)l
4
V vy
"^k = 0
h , = - [ 2 ^ - ( - 2 ) % k = 0, 1, . . . .
4
Th d 2. Dy s Fibonaci (Leonardo di Fisa hav Fibonaci (qung 170 - 1226) l nh
ton hc ). Dy s' Fibonaci l dy s c xc nh bi cng thc qui
L + L - 2 , n > 2,
Ta s tm cng thc cho s hng tng qut ca dy s nh phoig php hm sinh.
Xt hm sinh
Ta c
Vy
suy ra
fu)= / , . " -
/7= 0
/ * " = / ; , + / . . V + / . r "
n=0 r i ^ l
/7= 2
= / o + / | - '^ + 4 /^(-V) - 1) + F { x ) .
+ U ' ( + F { x ) - \ ) + .x^F { x ),
1
Fix) -
- x - a-2
Ta c (1- A - = (1 - a x ) (1 + /?.v), vi a = ^ 3= ' ^
Vit li F{x) di dng
\ - a x ] - / k
37
Plin I . L thuyt t'hp
ta tm c A = a/ {a - /), B = -J3/(a- p). Do
1
T
F{x) =
a - p
______l
\ - a x \ - /3x
=0
J
a - p V5
1 1 . ^ 1
2
\ /
r+1 / /\ ^ +
! - V 5 "
Th d 3. S Catalan (Charles Catalan (1814-1894) l nh ton hc B)
S' Catalan ) mt con s' quan trng trong l hp, l li gii ca nhiu bi ton m t
hp quan trng. Ta dn ra y mt trong nhng bi ton nh vy. Xt vic tnh tch
ca cc rna trn:
A = Af ... A.
Do tch ma trn c tnh cht kt hp nn c nhiu cch thc hin vic tnh tch trn.
V d khi n = 3, ta c th thc hin vic tnh tch
A - A2Aj
theo 5 cch sau
/l = = A(A,A,)A,)
= { A M A A ) = {A,{A,A,)), =
Gi c l s cch thc hin vic tnh A. D thy
Ca = 1, c, = I,
Nu ta t du ngoc phn tch u tin vo sau tha s Af.:
A = (A,4,
th do c q cch thc hin vic tnh /4oA| ... A. v cch thc hin vic tnh Ai.^Af. ^ 2
...A , suy ra c q cch tnh A trong trng hp ny. Do du ngoc phn tch u
tin c th t sau A, i = 0, 1, /7-1, nn ta thu c
/ 7 - 1
^11~ ^ ^ ^ k ^ n - k ~
k=0
Xt hm sinh ca dy s {c}: C(jf) = ^ C x ' . Ta c
/=0
38
Chn 2. B i t on dc m
CV)--- z +
m- /7=0 /-^Ov^O ) /'=0
V th
C ( .v ) - .v e ( ,v ) + .
Gii phng trnh ny theo C(.v) ta thu c
c t v , .
.V
Ta phn tch J \ x ) - Vl - 4x thnh chui da vo cng thc Taylor
/ ( x ) = / ( 0 ) + X
Ta c
dx
( 1 - 4 x) 2 =
k\
X .
- ~ k ^ \
. . .
( l - 4 x ) 2 ( - 4 ) ^
v th
i - / t 1-A
= - 2 ^ 1.3...(2yt - 3)(1 - 4x)2 = - 2( k - l V- C - ^2 ^
A ' - ) = > - ^ 1 c 2; V -
k-^r
Thay vo cng thc tnh C(a'), trong d r rng cn chn nghim --------------- ph
X
hp vi iu kin C'> 0, ta thu c
^ /-A . k
co , 00 i
e w = j q V ' 2 - = ~ c
k = r
2k
T ta tm c
k ^ \
n cng thc Stirling tnh gn ng n\
n\^ ^m
2k
39
Ph . L huv t hp
ta c th tnh gn ng theo cng thc:
2.6. Lit k
Vic tm mt cng thc cho kt qu m, ngay c trong trng hp cng Ihc truy hi,
khng phi l d thc hin. Cho n nay, cn rt nhiu bi ton m cha c li gii
di dng mt cn thc. i vi nhng bi ton nh vv, ngi ta ch cn cch ch ra
mt phng php lit k, theo c th i qua tt c cc cu hnh cn m. R rng
bn thn phcfng php lit k khng ch ra c mt kt qu c th no, nhng qua n,
ngi ta c ih lp trnh cho my tnh in t nh my tnh m" h.
th d, ta xt mt cu hnh t hp ni ting do hng lot nhng cng trnh xunR
quanh n v cho n nay cn nhiu vn cn gii quyt, l cc hnh ch nht la
tinh.
Gi s s l mt Khng mt tnh tng qut, la c th gi thit s l tp 1, 2,
n} . M h n h c h n h t l a t i n h trn 5 l m t b n g / ; d n g , C c t , s a o c h o m i d n g c a
n l mt chnh hp khng lp chp q ca s v mi ct ca n l mt chnh hp khng
lp chp p ca s.
Theo nh ngha, la c p < n, q < n. c bit, trong trng hp q = /1, mi dng
ca hnh ch nht la tinh l mt hon v ca s, sao cho khng c mt ct no c cha
phn t lp li. Hnh ch nhl la tinh dng ny c gi l chun nu dng u ca n
l hon v 1 , 2 , n.
Th d
1 2 3 4 5 6 7
2 3 4 5 6 7 1
3 4 5 6 7 1 2
l mt hnh ch nht la tinh chun trn tp 5 = {1, 2, 3, 4, 5, 6, 7 .
Gi L(p, n) l s hnh ch nht la tinh px/7, cn K p, n) l s hnh ch nht la tinh
chun px/7. Ta c
L(y;,/) = n\ K{ j hn)
D dng thy rng, s mt th t l s cc hnh ch nht la tinh chun 2x /7,
cn s phn b l s cc hnh ch nht la tinh chun 3x /1, vi 2 dng u l
40
Chng 2. Bc ton m
n~
n
Riordan J. (1946) chng minh cng thc
KO, n ) = C- n - , . Dk . U - 2 K
k=0
trong m = [n!2], Ug - 1.
Bi ton m s hnh ch nht la tinh vi s' dng nhiu hn cho n nay cha c
gii quyt. Ngi ta mi ch a ra c mt vi dng tim cn ca L(p, n) (Erdos p.
(1946), Yamamoto K. (1951)).
Nu p = q - n, th hnh ch nht la tinh c gi l hnh vung la tinh. Mt hnh
vung la tinh cp n c gi l chun nu c dng u v ct u l hon v 1 2 ... n.
Th d mt hnh vung la tinh chun cp 7
6 7
7 1
Gi / l s hnh vung la tinh nh th, IHC(3
L { n , n ) ^ n \ [ n - \ ) \ .
Vic tm mt cng thc cho / n nay cn ng. Nhiig cng thc tnh K{p, n) cho
thy rng iu ny khng phi d. Tuy nhin ta c th lp mt chng trnh cho my
tnh, lit k tt c cc hnh vung la tinh chun cp n. Di y l mt vi gi tr tnh
c:
n 1 2 3 4 5 6 7
1 1 1 4 56 9408 16942080
41
Phcin . L \ huyt ip
Bi tp
Nguyn l cng v Nguyn l nhn
1. Cho 5 k t A, B, c , D, E.
(a) C bao nhiu xu k t di 4 c th lp c t cc k t cho. nu khng
cho php lp li k t?
(b) C bao nhiu xu k t trong (a) bt u t B?
(c) C bao nhiu xu k t trong (a) khng bt u t B?
2. Cho X l tp n phn t. C bao nhiu b c th l {A, B) tho mn A C X ?
3. on ch tch ca mt cuc hp gm 6 ngi A, B, c , D, E, F cn bu ra Ban lnh
o gm 1 ch tch, 1 ph ch tch v 1 th k.
(a) Hi c nhiu cch khc nhau?
(b) C bao nhiu cch m trong mt trong hai ngi A, B l ch tch?
(c) C bao nhiu cch m trong E l thnh vin ca Ban lnh o?
(d) C bao nhiu cch m trong D v F l thnh vin ca Ban lnh o?
4. C bao nhiu xu nh phn di 10 bt u bi hoc l 101 hoc l 111?
5. C 10 cun sch khc nhau, trong c 5 cun sch thuc lnh vc Tin hc, 3 cun
sch thuc lnh vc ton hc v 2 cun sch v lnh vc ngh thut. Hi c bao nhiu
cch chn ra 2 cun sch c ni dung thuc cc lnh vc khc nhau t 10 cun sch ni
trn?
6. C 10 cun sch khc nhau, trong c 5 cun sch thuc lnh vc Tin hc, 3 cun
sch thuc lnh vc ton hc v 2 cun sch v lnh vc ngh thut.
(a) Hi c bao nhiu cch xp 10 cun sch ny ln 1 gi sch?
(b) Hi c bao nhiu cch xp 10 cun sch ny ln 1 gi sch sao cho tt c cc
cun sch Tin hc c xp pha tri gi sch cn hai cun sch v ngh thut c
xp bn phi?
(c) Hi c bao nhiu cch xp 10 cun sch ny ln 1 gi sch sao cho tt c cc
cun sch thuc cng lnh vc c xp cnh nhau?
(d) Hi c bao nhiu cch xp 10 cun sch ny ln 1 gi sch sao cho hai cun
sch ngh thut khng c xp cnh nhau?
7. C bao nhiu s c bn ch s c th to thnh t cc ch s 0, 1, 2, 3 , 4, 5 tho mn
(a) khng c ch s no c lp li,
(b) cc ch s c lp li,
(c) cc s chn trong (b).
42
Chn 2. Bi ton cUn
8. Trn cnh bn ca mt tam gic ta ly n im, trn cnh bn th hai ly m im. Mi
mt trong hai nh ca cnh y c ni vi cc im c chn trn cnh bn i
din bi cc ng thng. Hi
(a) C bao nhiu giao im ca cc ng thng nm trong a gic?
(b) Cc ng thng chia tam gic ra lm bao nhiu phn?
9. Mt cn b tin hc do ng tr nn qun mt khu ca phn mm my tnh ca
mnh. May mn l anh ta C.I nh mt khu c dng NNN-X>C, trong M\N l cc
ch s, cn XX cc ch ci ly trona bng ch ci c 26 ch. Hi trong trng hip
xu nht cn phi th bao nhiu mt khu c th tm ii mt khu t?
10. Hi c bao nhiu b c th t gm 3 tp X, X2, X, tho mn
X, = ( 1 , 2 , 3 , 4 , 5 , 6 , 7 . 8 I v X, 0 X3 0 X3 = 0 .
V d: Hai b
x , = {1,2,31, | 1 , 4 , 8 , X , = 1 2 , 5 , 6 , 7 )
v
x, = {1,4,81, ( 1 ,2 , 3 1 , {2,5,6,71
c coi l khc nhau.
Chnh hp, Hon v, T hrp
11. C bao nhiu hon v ca cc ch ci trong XUABCDEF m trong c cha xu
con DEF?
12. C bao nhiu hon v ca cc ch ci trong xu ABCDEF m trong c cha ba
ch ci D, E, F ng cnh nhau?
13. C bao nhiu cch xp 6 ngi vo ngi quanh ci bn trn (hai cch xp khng coi
l khc nhau nu chng c th thu c t nhau bi php quay bn trn)?
14. C bao nhiu cch xp 7 hc sinh nam v 5 hc sinh n ra thnh mt hng ngang
sao cho khng c hai n sinh no ng cnh nhau?
15. C bao nhiu xu nh phn di 32 m trong c ng 6 s 1?
16. C bao nhiu xu k t c th to c t cc ch ci
MISSISSIPPI
17. C 8 cun sch khc nhau. Hi c bao nhiu cch phn cc cun sch ny cho 3
hc sinh: M, Mai, Mn sao cho M nhn c 4 cun cn Mai v Mn mi ngi
nhn hai cun?
43
Phn 1. L thuyt t hp
18. Gi s X l tp t phn t. Ta gi t hp lp chp k t t phn t ca Xl mt b khng
c th t gm k thnh phn ly t cc phn t ca X
V d: b, c , cc t hp lp chp 2 t cc phn t caXl
{a a), (a b), (a c), {b b), (b c), ( c c ) .
Chng minh rng s t hp lp chp k t t l:
C ( : ^ - M , M ) = C { :f ^ l, : ).
19. C 3 r ng cc qu cu xanh, , tm. Mi gi ch cha cc qu cu cng mu v
mi gi cha ra l 8 qu cu.
(a) C bao nhiu cch chn ra 8 qu cu?
(b) C bao nhiu cch chn ra 8 qu cu m trong c t nht ni qu cu ,
mt qu cu xanh, 1 qu cu tm?
20. Xt phircmg trnh:
X| + X2 + X3 + X4 = 29.
(a) Hi phng trnh cho c bao nhiu nghim nguyn dcmg?
(b) Hi phng trnh cho c bao nhiu nghim nguyn khng m?
Nguyn l b tr
1. Hi trong on t 1 n 1000 c bao nhiu s hoc l s l hoc l s chnh phng
2. C bao nhiu xu nh phn di 8 khng cha 6 s' 0 lin nhau?
3. C bao nhiu s c 10 ch s vi cc ch s ch l 1, 2, 3 m trong mi ch s 1,
2, 3 c mt t nht 1 ln?
4. C bao nhiu xu nh phn di 10 hoc l bt u bi 3 s 1, hoc l kt thc bi 4
s 0?
5. C bao nhiu s' nguyn dng nh hn 10000 chia ht cho 7 nhng khng chia ht
cho 5 v 2?
6. C bao nhiu hon v ca cc s t nhin 1,2,...,10 m trong 3 s 1, 2, 3 khng
ng cnh nhau theo th t tng dn?
7. Hi phng trnh
44
Clin 2. Bi ton m
X + X2 + X, + X4 = 29
c bao nhiu nghim nguyn khng m tho mn
X| < 3 , X2 < 12, ,1 : 3 < 5, X4 < O .
8. Mt lp gm 50 hc sinh lm bi kim tra gm 3 cu hi. Bit rng mi hc sinh lm
c t nht 1 cu v s hc sinh lm c cu 1 l 40, cu 2 l 35, cu 3 l 30. Chng
m i n h r l n g s h c s i n h l m c c 3 cu k h n g V'jt qu 27
H thc truy hi
1. Gii cc h thc truy hi sau
(a) a = 2a. , n > ,
o^-3.
(b) a = 5 ., - 6 a, 2 , n >2 ,
o= l , a , =0 .
(c) a = 4 a_, - 4 , n>2 ,
Q= 6, a, = 8.
(d) a = 4 a,2 , > 2,
o = 0, | = 4.
(e) a = a J A , n > 2 ,
ao= l , , =0 .
2. Lp cng thc truy hi cho s l s cch chia mt hnh ch nht kch thc 2 X ra
thnh cc hnh ch nht con c cilh slg song vi cnh ca hnh ch nht cho v
vi kch thc l 1 X2, 2 X 1, 2 X2. Gii h thc thu c.
3. Lp cng thc truy hi m F l s xu nh phn di n khng cha ba s 0 lin
tip. T tnh Fq.
4. Lp cng thc truy hi m Q l s' chnh hp lp chp n t ba ch s' 0, 1, 2
khng cha hoc l hai s 0 lin tip hoc l hai s 1 lin tip. T tnh Qf,. Gii h
thc thu c.
5. Xt ma trn vung
(Q 1]
A =
a) Chng minh rng
45
Phn I. L thuvt t hp
A' =
F F ^
^ -1
F F
n ^ /7fl y
trong F,, l s hng th n ca dy s Fibonaci.
b) Tnh det(/i"). T suy ra cng thc: F.F - ( F, f = (-1)".
Hm sinh
1. Vit cng thc di dng gii tch cho hm sinh ca c c dy s sau
a) a = y \ / 2 = 0 , 1 , 2 , . . .
b ) ^o, /,02^ ^ O, 1 , 0 , 1 , . . . }
2. Tim cng thc cho s hng tng qut ca dy s j a^l c hm sinh l
a) G{x) = 1/(1 - 2x);
b) (A-)= 1/(1 - x ) ^
c)(.v)= 1/(1 +x- 2x^ ) .
3. S dng hm sinh tm cng thc di dng hin cho dy s cho bi cng thc
qui sau y:
a) = a + 2,Oo = -3;
b) 2a = a + a.o = 0 , a , = 1;
c) a^2 = - 2a + 2(3)", o = 1; ^ 1 = 2.
46

Ch^ 3. Bai on ton ui
3
BI TON TN TI
3.1. Gii thiu bi ton
Trong mc trc, ta tp Irung ch vo vic m s cc cu hnh t hp (s phn t
ca cc i tng t hp) thoa mn nhng tnh ch no , chng hn m s t hp,
chnh hp, hon v, ... Trong nhim bi loan s ln ti ca cc cu hnh l hin
nhin v cng vic chnh l m s phn t iho mn tnh cht t ra, Tuy nhin, trong
rt nhiu bi ton t hp, vic ch ra s ln ti ca mt cu hnh tho nin cc tnh cht
cho trc l ht sc kh khn. Chng hn, khi mt k th cn phi tnh ton cc nc i
ca mnh gii p xem liu c kh nim thng hay khng, hoc l mt ngi gii
mt m cn tm k i m c h a kho gii c h o mt bc mt in m anh ta k h n g b it l i u y
c ng l bc in tht c m ho ca i phng hay khng, hay ch l bc mt m
gi ca i phng tung ra nhm m bo an ton cho bc in tht Nh vy, trong
t hp xut hin mt vn th hai rt quan trng l: xt s tn ti ca cc cu hnh t
hp vi cc tnh cht cho trc. Cc bi ton thuc dng ny c gi l cc bi ton
n ti t hp.
47
Mt bi ton tn ti t hp xem nh gii xong nu hoc ch ra mt cch xy dng
cu hnh, hoc chng minh rng chng khng c. Tuy nhin c hai kh nng u khng
phi d. thy r s phc tp ca vn , di y ta s xt mt s' bi ton tn ti t
hp c in ni ting.
3.1.1. Bi ton v 36 s quan
Bi ton ny c Euler ngh, ni dung ca n nh sau: c mt ln ngi ta triu tp
t 6 trung on mi trung on 6 s quan thuc 6 cp bc khc nhau; thiu y, trung
u, thng u, i u, thiu t, trung t v tham gia duyt binh s on b. Hi rng
c th xp 36 s quan ny thnh mt i ng hnh vung sao cho trong mi mt hng
ngang cng nh mi mt hng dc u c i din ca c 6 trung on v ca c 6 cp
bc.
n gin ta s dng cc ch ci in hoa A, B, c , D, E, F ch cc phin hiu
trung on cn cc ch ci thng a, b, c, d, e, f ch cc cp bc. Bi ton ny c
th tng qut ho nu thay con s 6 bi n. Trong trng hp n = 4, mt li gii ca bi
ton 16 s quan l
Ab Dd Ba Cc
Bc Ca Ad Db
Cd Bb Dc Aa
Da Ac Cb Bd
Mt li gii trong trng hp = 5 l
Aa Bb Cc Dd Ee
Cd De Ea Ab Bc
Eb Ac Bd Ce Da
Be Ca Db Ec Ad
Dc Ed Ae Ba Cb
Do li gii ca bi ton c th biu din bi 2 hnh vung vi cc ch ci la tinh
hoa v thng chng cnh nhau nn bi ton tng qut t ra cn c bit di tn gi
bi ton v hnh vung la tinh trc giao. Trong hai th d trn ta c hnh vung la tinh
trc giao cp 4 v 5.
Euler mt rt nhiu cng sc tm li gii cho bi ton 36 s quan th nhng
ng khng thnh cng. V vy ng ra gi thuyt l cch xp nh vy khng tn
ti. Gi thuyt ny c nh ton hc Php Tarri chng minh nm 1901 bng cch
duyt tt c mi kh nng xp. Euler cn c vo s khng tn ti li gii khi n=2 v
/2=6 cn ra mt gi thuyt tng qut hcm l: khng tn ti hnh vung la tinh trc
giao cp n = Ak + 2. Gi thuyt ny tn ti sut hai th k, mi n nm 1960 ba
nh ton hc M l Boce, Parker, Srikanda mi ch ra c mt li gii vi n = 10 v
Phn I . L thuyt t hp
48
Chng 3. Bi ton tn ti
sau ch ra phng php xy dng hnh vung la tinh trc giao cho mi n = 4k + 2,
vi ' > 1.
Tng chng bi ton t ra ch c ngha thun tu ca mt bi ton hc ba
th tr tu con ngi. Th nhng gn y ngi ta pht hin nhng ng dng quan
trng ca vn trn vo quy hoch thc nghim, sp xp cc lch thi u trong cc
gii c quc t, hnh hc x n h , ...
3.1.2. Bi ton 4 mu
C nhng bi ton m ni dung ca n c th gii thch cho bt k ai, tuy nhin li gii
ca n th ai cng c th th tm, nhng m kh c th tm c. Ngoi nh l Fermat
th bi ton 4 mu l mt bi ton nh vy, Bi ton c th pht biu trc quan nh sau:
chng minh rng mi bn trn mt phng u c th t bng 4 mu sao cho khng
c hai nc lng ging no li b t bi cng mt mu. Ch rng, ta xem nh mi
nc l mt vng lin thng v hai nc c gi l lng ging nu chng c chung
bin gii l mt ng lin tc.
Hnh 1. Bn khng t c bi t hcm 4 mu
Con s 4 khng phi l ngu nhin. Ngi ta chng minh c rng mi bn
u c t vi s mu ln hn 4, cn vi s' mu t hn 4 th khng t c, chng hn
bn gm 4 nc trn hnh 1 khng th t c vi s mu t hcm 4.
Bi ton ny xut hin vo khong nhng nm 1850-1852 t mt nh bun ngi
Anh l Gazri khi t bn hnh chnh nc Anh c gng chng minh rng n c th
t bng 4 mu. Sau , nm 1852 ng ta vit th cho De Morgan thng bo v gi
thuyt ny. Nm 1878, Keli trong mt bi bo ng Tuyn tp cc cng trnh ca Hi
ton hc Anh c hi rng bi ton ny c gii quyt hay cha? T bi ton tr
thnh ni ting, v trong sut hn mt th k qua c rt nhiu ngi lm ton,
nghip d cng nh chuyn nghip, c gng chng minh gi thuyt ny. Tuy nhin
49
Phn . L huy t hp
mi n nm 1976 hai nh ton hc M l K.Appel v W.Haken mi chig minh c
gi thuyt ny bng liy lnh in t. Tt nhin mt chng minh vi s gip ca
my tnh in t khng thc s tho mn c nhu cu ca cng chng mun kim tra
tnh ng n ca cch chng mnh. V vy, chnh hai tc gi trn vo cui nhng nm
1990 cho cng b mt cun sch trnh by v phng php chng minh ca mnh
(cun sch dy trn 800 trang). Cns vo nhng nm cui ca th k 20, mt nhm cc
nh ton hc Mv a ra mt chng minh c hki m ra h (ay\ Rt tic l chng
minh ny cng khng phi l n gin. Cho n nay cc nh ton hc vn ang n lc
nghin cu tm ra mt cch chng minh d hiu nh bn thn ni dune ca bi ton.
3,1.3. Hnh lc gic thn b
Nm 1910 Clifford Adams ra bi ton hnh lc Gc thn b sau: trn 19 lc eic
(xem hnh v di) hy in vo cc s t 1 n 19 sao cho tng theo 6 hng ca lc
gic bng nhau (v u bng 38).
Hnh 2. Hnh lc gic thn b
Sau 47 nm tri kin nhn cui cng ng ta tm c li gii. Sau v s
nh mt bn tho ng ta tn thm 5 nm khi phc li. Nm 1962 Adams
cng b li gii (xem hnh 2).
Tht khng th ng l l li gii duy nht (nu khng lnh n cc li gii sai
khc nhau bi php bin hnh dn gin),
3.1.4. Bi ton chn 2n im trn li nxn im
Cho mt li vung gm nxn im, Hi c th chn trong s chng 2n im, sao cho
khng c 3 im c chn no l thng hng hay khng? Hin nay ngi ta mi bit
c rl t v li gii ca bi ton trong nhng lnh hung khng tm thng. Cu hi
50
ChU(//i}> 3. Bi on n li
v s tn ti ca li gii ca bi ton vi nhng gi tr ln ca vn cn ng. Hnh 3
cho mt li gii vi n = 12:

Hnh 3. Mt li gii bi ton ca bi ton vi /7 =1 2


3.2. Phng php phn chng
Mt trong nhng cch gii bi ton tn ti l dng lp lun phn chng: gi thit iu
n h c h n g m inh l s a i , t dn n mu thun.
Th d 1. Cho 7 on thng c d di ln hn 10 v nh hn 100. Chng minh rng
lun tm c 3 on c th ghp llinli int tam gic.
Gii: Ch rng, cn v 3 on c th ghp thnh mt tam gic l tng di
ca 2 on nh phi ln hn di ca don ln, ta sp cc on cho theo th t
t n g dn c a di rt|, 2 , a-i v chng mi nh rng trong d y x p lu n tm c 3
on lin tip sao cho tng ca 2 on u ln hn on cui, Gi thit iu ny khng
xy ra, ngha l ng thi xy ra cc bl ang thc:
<7| + 2 < / ; , .
2 + /, < 4,
(fZ, + 4 < /,,
04 + a, <
, + 6 < T
T gi thit |, 2 c gi tr ln hn 10. ta nhn c /, > 20. T 2 > 10 v , > 20, ta
nhn c 4 > 30, c nh vy ta nhn c /, > 50, > 80 v a-i > 130. Bt ng
thc cui cng mu thun vi gi thit cc di nh hcfn 100 v iu chng minh
kt lun ca bi ton.
51
Phn 1. L thuyt t hp
Th d 2. Cc nh ca mt thp gic u c nh s bi cc s nguyn 0, 1, , 9
mt cch tu . Chng minh rng lun tm c ba nh lin tip c tng cc s l ln
hn 13.
Gii: Gi ,r,, X2 , . .V|0 l cc s gn cho cc nh ca 1, 2, . . 10 ca thp gic. Gi
s ngc li l khng tm c ba nh no tho mn khng nh ca th d. Khi ta
c
:, = X| + X2 + X3 < 13,
= X2 + X3 + ^ 4 < 13,
= X, + X|fj + X| < 1 3 ,
.'|Q = X|0 + X + X 2 1 3 ,
T suy ra
k + k2 + . . . + <130.
Mt khc do
k + kj + . . . + k^o = 3(X/ + X 2 + . . . + .r,o)
= 3 (0 + 1 + 2 + . . . + 9)
= 1 3 5 ,
suy ra
135 = k + k2 + . . . + kQ < 130.
Mu thun thu c chng t khng nh trong v d l ng.
Th d 3. Chng minh rng khng th ni 31 my vi tnh thnh mt mng sao cho mi
my c ni vi ng 5 my khc.
Gii: Gi s ngc li l tm c cch ni 31 my sao cho mi my c ni vi ng
5 my khc. Khi s Img knh ni l 5x31/2 = 75,5 ?! Mu thun thu c
chng minh khng nh trong th d l ng.
3.3. Nguyn l Dirichlet
Trong rt nhiu bi ton t hp, chng minh s tn ti ca mt cu hnh vi nhng
tnh cht cho trc, ngi ta s dng nguyn l n gin sau, gi l nguyn l Dirichlet;
Nguyn l Dirichlet. Nu em xp nhu hn n i tng vo n ci hp, th lun tm
c mt ci hp cha khng t hn 2 i tng.
52
Chng 3. Lii ton tn ti
Chng minh. Vic chng minh nguyn l trn ch l mt lp lun phn chng n
gin. Gi s ngc li l khng tm c ci hp no cha khng t hn 2 i tng.
iu c ngha l mi ci hp cha khng qu mt i tng. T suy ra tng s
i tng xp trong n ci hp l khng vt qu n, tri vi gi thit l c nhiu hn n
i tng c xp trong chng.
Lp lun hon ton tng t, c th chng minh Nguyn l Dirichlet tng qut sau.
Nguyn l Dirichle tng qut. Nu em xp n i t xo k ci hp, th lun !m
c mt ci hp cha khng t hn n/k di tng.
Nguyn l trn c nh ton hc ni ting ngi c l Dirichlet xut t th k 19
v ng p dng n gii nhiu bi ton tn ti t hp. Cc th d di y cho ta
thy nguyn l c s dng nh th no.
Th d 1. Trong s 367 ngi bao gi cng tm c hai ngi c ngy sinh nht ging
nhau bi v ch c tt c 366 ngy sinh nht khc nhau.
Th d 2. Trong k thi hc sinh gii im bi thi c nh gi bi mt s nguyn
trong khong t 0 n 100. Hi rng t nht phi c bao nhiu hc sinh d thi cho
chc chn tm c hai hc sinh c kt qu thi nh nhau?
Gii. Theo nguyn l Dirichlet, s hc sinh cn tm i 102, v ta c 101 kt qu im
thi khc nhau.
Th d 3. Trong s' nhng ngi c mt trn tri t lun tm c hai ngi c hm
rng ging nhau, bi v ch c tt c
2 ' ' = 4 294 967 296
hm rng khc nhau m s' ngi trn hnh tinh chng ta hin nay vt qu 5 t.
Th d 4. Trong 100 ngi c t nht 9 ngi sinh cng mt thng.
Gii: Xp nhng ngi cng sinh mt thng vo mt nhm. C 12 thng tt c. Vy
theo nguyn l Dirichlet, tn ti t nht mt nhm c khng t hn 100/12 = 8,3... ngha
l 9 ngi.
Th d 5. C nm loi hc bng khc nhau. Hi rng phi c t nht bao nhiu sinh
vin chc chn rng c t ra l su ngi cng nhn hc bng nh nhau?
53
PLn I . L luvt t hp
Gii: S sinh vin t nht cn c m bo chc chn c 6 sinh vin cng nhn hc
bng nh nhau l s nguyn nh nht n sao cho //5 > 5. S nguyn nh nht l -
5x5+1 = 26. Vy 26 l s lng sinh vin nh nht m bo chc chn l c su sinh
vin cng hng mt loi hc bng.
Th d 6. Bin s' xe my phn khi ln gm 7 k t:
^4N - NNN - XX,
trong hai k t u l m s a danh, ba k t tip theo l s hiu xe, mi k t l
mt s t 0 n 9, hai k t cui l m ng k gm hai ch ci ly trong bng ch ci
la tinh gm 26 ch ci. Hi rng, c 2 triu bin s xe my khc nhau th cn phi c
t nht bao nhiu m a danh khc nhau?
Gii; Vi mi mt m a danh ta c 10\26^ = 676.10'^ bin s xe my khc nhau. V
vy c 2 triu bin s xe my khc nhau, cn c t nht
2.107(676.10^),
ngha l 3 m a danh khc nhau.
Trong nhiu ng dng th v ca nguyn l Dirichlet, khi nim i tng v ci
hp cn phi c la chn mt cch khn kho hn. Tip theo, ta s dn ra mt vi th
d nh vy.
Th d 7. Trong mt phng hp bao gi cng tm c hai ngi c s ngi quen
trong s nhng ngi d hp l bng nhau.
Gii; Gi s ngi d hp l n, khi s ngi quen ca mt ngi no trong phng
hp ch c th nhn cc gi tr t 0 n /-1. R rng trong phng khng th ng thi
c ngi c s ngi quen l 0 (tc l khng quen ai c) v c ngi c s ngi quen
l n- (tc l quen tt c). V vy, theo s' lng ngi quen ta ch c th phn n ngi
ra thnh /7-1 nhm. Theo nguyn l Dirichlet suy ra c t nht mt nhm phi c khng
t hcfn hai ngi, tc l lun tm c t ra l hai ngi c s ngi quen l bng nhau.
Bi ton ny c th pht biu di dng ngn ng hnh hc nh sau: trn mt phng
cho n im, gia chng c mt s im c ni vi nhau bi cc on thng. Khi
bao gi cng tm c hai im c cng mt s cnh ni pht ra t chng.
Th d 8. Trong mt thng gm 30 ngy mt i bng chuyn thi u mi ngy : nht
mt trn, nhng khng chi qu 45 trn. Hy chng minh rng phi tm c mt giai
on gm mt s ngy lin tc no trong thng sao cho trong giai on i chi
ng 14 trn.
Gii: Gi s Qj l tng s trn thi u cho n ht ngy th j ca i. Khi
54
Cliif(/ni> Bi ton t /ii l i
, J...... /,,,
l dy tng cc s nguyn dng v ng thi ] < / < 45. Suy ra dy
/1 +14, + 14, , /|J + 14
cng l dy tne cc s nguyn dna v 15 < /, +14 < 59.
Tt c c 60 s nguyn dng
|. , a ( /| + ' 4 6'2+14, ... /,,,-^14,
trons tt c u nh hn hoc bang 59. V vv iheo nguvn l Dirichlet, hai trong s
cc s nguyn ny phi l bng nhau. V cc s / | ...... l i mt khc nhau v cc
s | + 14...... 3,,+14 cng l i mt khc nhau, nn suy ra phi tm c ch s ; v j
sao cho a = 14. iu c ngha l c ng 14 trn u trong giai on t ngy +1
n ngy /.
' / h d 9. Chng minh rng, trong s + 1 s nguyn dng, mi s khng ln hn 2/7,
bao gi cng tm c hai s sao cho s ny chia ht cho s' kia.
Gii: Gi cc s cho l
Vit mi mt s j trong /+1 s trn di dng:
a = , ./ = 1, 2, n +1
trong l nguyn khng in. / , l s l. Cc s /|, /,. .... /^| l cc s nguyn l
mi s khng ln hn 2n. Do trong on t 1 n 2n ch c n s l, nn t nguyn l
Dirichlet suy ra l hai trong s cc s /|, q^. /+i l bng nhau, tc l tm c hai
ch s' i v j sao cho q = (J = q. Khi a = 2 ^ ' f / , tij = 2^i q. Suy ra nu k < kj th J
chia ht cho a,, cn nu k > kj th /, chia ht cho Uj.
Th d 10. Trong mt phng cho 6 im c ni vi nhau tng i mt bi cc cung
mu xanh hoc mu . Chng minh rng lun tm c 3 im sao cho cc cung ni
chng c cng mt mu (ta s ni l chng to thnh tam gic xanh hoc ).
Gii: Chn im p no . T n c 5 cung ni vi 5 im cn li. Theo nguyn l
Dirichlet, c 3 trong s 5 cung phi c cng mt mu, chng hn l mu xanh. Gi
s l cc cung PA, PB, PC. Nu nh mt trong s 3 cung AB, AC, BC c mu xanh
th n cng vi hai trong s' ba cung PA, PB, PC to thnh mt tam gic xanh. Nu
ngc li th tam gic ABC l mt tam gic .
55
Phn 1. L thuyt t hp
Th d 11. Trn mt phng cho 9 im c ni vi nhau i mt bi cc on ni c
mu xanh hoc sao cho trong s 3 im bt k bao gi cng tm c hai im c
ni vi nhau bi on ni mu . Chng minh rng trong s cc im cho lun tm
c 4 im m cc on thng ni chng u c mu .
Gii: Gi 9 im cho l A, B, c , D, E, F, G, H, I. Xt 2 trng hp:
a) Tim uc mt im l u mt ca t nht 4 on ni mu xanh chng hn im
l A v cc on mu xanh l AB, AC, AD, AE. Theo gi thit, trong s cc on
ni bt k 3 im no cng c t nht mt on mu , suy ra cc on BC, BE, BD,
CD, CE, ED l mu . Vy B, c , D, E l bn im cn tm.
b) M! im u l u mt ca nhiu nht ! 3 on ni mu xanh. Trong trng
hp ny, khng th tt c 9 im u l u mt ca ng 3 on ni mu xanh (chng
minh tng t nh trong th d 3, mc 3.2), t suy ra phi tm c im (I chng
hn) l u mt ca nhiu nht l 2 on ni mu xanh. Khi I l u mt ca t nht
6 on mu , chng hn lA, IB, IC, ID, lE, IF. Theo kt qu ca th d 10, trong s 6
im A, B, c, D, E, F phi c t nht 3 im, chng hn A, B, c, sao cho cc on ni
chng c cng mu, v t gi thit suy ra mu phi l mu . Vy I, A, B, c l bn
im cn tm.
3.4. H i din phn bit
Trong nhiu tnh hung, s tn ti ca cu hnh t hp ph thuc vo mt s iu kin
rng buc cc tham s ban u. Mt trong nhng hng gii quyt l ngi ta c' gng
pht hin ra cc iu kin . Bi ton h i din phn bit trnh by di y l mt
minh ho cho hng tm kim ny.
Gi s 5|, S2, s, l mt h cc tp con ca mt tp hp s (cc s, khng nht thit
khc nhau), Ta gi mt b c th t Q/, 2 , a, l mt h i din phn hit ca h
ny nu a, 6 5, v a, (/ T j). H i din phn bit c vit tt l TRAN
(transversal) v thnh phn , ca h c gi l i din ca tp con S {i = 1 , m).
Th d. 5 = 11,2, 3 , 4 , 5 } , S ; = {2, 5}, 5 , = 12, 5), 5 , = { 1 , 2 , 3 , 4 1 , 5 , = 1 1, 2,5} c
TRAN l (2, 5, 3, 1). Mt TRAN khc ca h ny l (5, 2 , 4 , I).
Khng phi lc no cng tm c TRAN. Mt iu d nhn thy l nu h ang
xt c TRAN, th mi hp ca k tp bt k trong h phi c t nht k phn t (v lun
tm dc k i din khc nhau ca k tp ). Ni khc i, nu tm c k tp no ca
h, m hp ca chng c t hn k phn t, th chc chn h ang xt s khng c
56
Chi J. Bai fOiin tn i
TRAN. Chng hn trong Ih d trcn, nu thay tp 5, ca h ang xt bi tp (2, 5}, th
h ny s khng tn ti TRAN, v .S'| u u S4 = 12, 5 c t hn 3 phn t.
p. Hall chng minh c iu kin cn va nu, cng ng thi l cho s tn
ti TRAN, qua nh l nh gi cn di ca s TRAN di y:
nh l Hall. Gid s cc tp con S/. ......s, to mn iit kin:
A ' ( . S / u 5 , - ^ u . . . u 5 / ) > : f l )
vi mi 1 < k < m. 1 < /, < 2 < ... < /; 1 m vi mi p con ny cha u nht t phn t.
Khi d:
. nu t < m th h dang xt c t nlr r\ TRAN
. nu t > m th h an^ xt c t nht t\l{t-m)\ TRAN.
iu kin (1) c gi l iu kin Hall v ta gi mt h con ca h 5|, S2 , .... s, l ti
hn nu i vi n bt ng thc ( 1) tr thnh ng thc.
Chn minh. Quy np theo m. Vi m = , Vd c t = r\/{t-\) TRAN, nh l ng. Gi
s nh l ng cho mi h tp con ca s c t hn m tp. ta cn chng minh nh l
ng cho h tp con gm m tp. Chia lm 2 trng hp:
. Khng c h con ti hn. Chn V| l mt phn t ca 5|. Loi n ra khi $2 , S,
s, (nu c mt) v gi h nhn c l S2 ', 5, ' .....s,'. D dng th li h ny tho
mn iu kin Hall v mi tp thuc h c t nht -I phn t. ITieo gi thit quy np h
ny c t nht (r-1)! TRAN khi /-1 < m-\ hay < m v c t nht (-l)!/(/-m)! khi r-1 >
m- l hay > rn. Mt khc, mi TRAN ca '2', 5 , ' .....s,' cng vi |, xc nh mt
TRAN ca S, 5 ; ...... s, (d ai din cho iu nv tlng cho mi cch chn |
trong s' t nht / cch chn n t T nhn c nh gi cn chng minh.
. C mt h con ti hn. Khng uit tnh tng qut, c th gi thit h l S|, Sj,
S). [k < m). T s tn ti ca h con ti hn suy ra t < k, v vy theo gi thit quy
np, h S|, S2 ...... 5*. c t nht r! TRAN. Gi T'= (rt|. ...... ct) l mt TRAN nh th.
B cc phn t ca T \ nu c mt, ra khi cc tp 5*^,1, s, v gi cc tp thu c l
S\ ^. ...... S ,. Khi h 5 ........S , s tlio mn iu kin Hall. Tht vy, nu c mt
h con gm k' tp ca h ang xt, m hp ca chng t hn k' phn t, th h con gm
k+k' tp ca h 5|. ...... s nhn c bng cch ghp h con ny vi h 5|, S2 , 5*.
s c hp t hn k+k' phn t v iu ny l mu thun vi gi thitcua n h l. Nh
vy h 5 s c t nht mt TRAN. Ly t nht /! TRAN ca h S | . s . g h p
vi TRAN ny, ta c t nht t\ TRAN ca h S|, S j , s,. nh l c chng minh.
Vic xt s tn ti cng nh xy dng TRAN c nhiu ng dng trong thc t.
Di y l mt s bi ton m vic gii quyt n c a v vic xy dng TRAN.
57
Phn I . L thuyt t hp
Bi ton ngi thi hnh. C m ngi thi hnh v n cng vic. Gi s vi mi ngi th
i, ta bit c tp S l tp hp cc cng vic m ngi c th lm. Hi c th phn
cng mi ngi lm mt vic khng?
Li gii ca bi ton c dn v vic xt s tn ti TRAN ca h S,} v vic xy
dng mt TRAN chnh l xy dng mt s phn cng nh th.
Bi ton chuyn mch. Xt mt h thng chuyn mch n gin gm 2 nhm cc cc;
u vo v u ra. Ti u vo s xut hin i hi v ni mch, i hi ny c th
c tho mn bng cch ni n vi mt u ra no . Tp hp cc u vo c i hi
ni mch c gi l danh mc i hi. u vo ni vi u ra qua mt mch ni v
mch ni ny cn phi khng c bn ngha l n cha phc v cho u vo no. Cc
inch ni nh vy gi l danh mc t do. Khng gim tng qut, ta c th coi rng danh
mc i hi gm m u vo u tin v 5, l tp cc ch s cc mch ni t do m theo
, i hi t u vo / c th c chuyn ti mt u ra. Nu h 5|, 5, c
TRAN th dng vo gm m i hi c th c phc v bi thit b chnh mch. Trong
trng hp khng tn ti TRAN th cn phi iu chnh li cc mch ni chn cch
ni khc.
Bi ton m ci vng qu. Ti mt lng qu n c m chng trai n tui iy v. Vi
mi chng trai /, ta bit tp 5, cc c gi m chng ta thch. Hi rng c th ghp mi c
cho mi chng m chng no cng va hay khng? R rng bi ton c dn v vic
xt s tn ti TRAN ca h {S, }. Trong trng hp tn ti, mi TRAN s tcfng ng vi
mt cch ghp mong mun.
Trong nhng trng hp s tn ti ca TRAN l hin nhin th ngi ta quan tm
n vic m hoc lit k chng. Di y l hai th d m TRAN m kt qu m
c dn v cc cu hnh bit.
Th d 1. Xt tp { 1 , 2 , n]. m s TRAN ca h tp con
s, = s-{i}, 1 </<.
Gii: Mi TRAN l mt hon v (|, 2 , a) ca {1, 2 , } sao cho a, pii vi mi i,
do vy c th ng nht mi TRAN vi mt mt th t trn tp ang xt. T nhn
c s TRAN cn m l D (s mt th t - xem chng 2).
Th d 2. m s TRAN ca h tp con ca tp {1, 2 , /z); S| = {1, 2 1, = 1, 2, 3},
5j = ( 2 , 3 , 4 ....... s. , = { n- 2, n- , n , s = { n- l , n] .
Gii: bi ton xc nh c vi n = , ta xem trong trng hp ny 5| = {1 . Gi F
l s TRAN cn m (ng vi > 1). Chia cc TRAN ny thnh 2 loi:
58
Chni 3. Bi ton tn li
1 l i din cho S. Khi cc thnh phn cn li s l mt h i din ca h
{2, 3}, {2, 3, 4 | , (-1, //}. Do vy loi ny c f.| TRAN.
2 l i din cho s,. Khi bt buc 1 phi l i din cho S2 v cc thnh phn
cn ii s ! mt h i din ca h {3, 4. {3, 4, 5}, {rt-1, /2}.Vy loi ny
c F .2 t r a n .
T nhn c h thc = F,,.! + F,2. Cc gi tr F = 1, p 2 = 2 c tnh trc
tip. y cng l h thc truy hi xc nh cc s Fibonaci (xem choig 2).
3.5. nh l Ramsey
3.5.1. Bi ton m u
Trong mc 3.3 ta xt bi ton: Trong mt phng cho 6 im c ni vi nhau tng
i mt bi cc on ni mu xanh hoc mu . Chng minh rng lun tm c 3
im sao cho cc on ni chng c cng mt mu (ta s ni l chng to thnh tam
gic xanh hoc ).
Lp lun gii bi ton c da trn nguyn l Dirichlet.
Mt cch pht biu khc ca kt qu va chng minh l: Trong s 6 ngi ti mt
bn tic lun tm c hoc ba ngi i mt quen nhau hoc ba ngi i mt khng
quen nhau.
Trong mc ny chng ta s cn kho st cc vn : Hi t nht phi c bao nhiu
ngi chc chn tm c hoc 4 ngi i mt quen nhau hoc 4 ngi i mt
khng quen nhau? Hi t nht phi c bao nhiu ngii cl chc chn tm c hoc 5
ngi i mt quen nhau hoc 5 ngi i mt khng quen nhau?
Con s nh nht va ni n trong cc cu hi va nu c gi l cc s' Ramsey,
mang tn nh ton hc ngi Anh chng minh c nh l ni ting trong l thuyt
tp hp l s tng qut ho nguyn l Dirichlet.
3.5.2. Cc s Ramsey
c th pht biu nhng kt qu tng qut hn chng ta cn n mt s khi nim.
nh ngha 1. Gi K l b ^m hai tp V, E, ron^ V l tp gm n im cn E l tp
cc on ni gia tt c cc cp im trong E. Ta s k hiu K = {V, E). Ta s gi cc
phn t ca V l cc nh, v V l tp nh ca K^,. Mi on ni hai nh u, Ve V s
c gi l mt cnh ca K v k hiu l {u, v), v tp E c gi l tp cnh ca K.
59
Phn I . L thuyt t hp
Ta c th pht biu li kt qu nu trong mc trc nh sau: Gi s mi cnh ca '
c t bi mt trong hai mu xanh hoc . Khi A"(, lun cha hoc vi tt c cc
cnh c t mu xanh (gi tt l xanh) hoc vi tt c cc cnh c t mu
(gi tt i K ). Chng ta s ni rng s 6 c tnh cht (3,3)-Ramsey. Tng qut hn
ta c nh ngha sau.
nh ngha 2. Gi s i v j l hai s nguyn sao cho > 2 , j > 2, S nguvn di m c
tnh cht {i,j)-Ramsey nu K, vi mi cnh c t hi mt trong hai mu xanh,
lun cha hoc l K hoc l Kj xanh.
T kt qu mc irc ta thy 6 c tnh cht (3,3)-Kamsey. Nhng liu 6 c phi l s
nh nht c tnh cht ny hay khng? Gi s cc cnh ca K c t mu nh ch ra
trong hnh v di y ( - m, xanh - nht).
R rng khng th tm c (m) cng nh khng th tm c K xanh (nht).
Nh vy s 5 khng c tnh cht (3,3)-Ramsey. D dng thy rng mi s nguyn
dng nh hn 5 cng khng c tnh cht (3,3)-Ramsey. Vy 6 l s nh nht c tnh
cht ny.
nh ngha 3. S Ramsey R(i,j) l s nguyn dng nh nht c tnh cht j)-Ramsey.
Chng hn, t kt qu va trnh by trn, ta c R(3,3) = 6, v 6 c tnh cht (3,3)-
Ramsey, v nhng s nguyn dng nh hcfn n khng c tnh cht ny.
Th d 1. Tim R(2, l ) - s nguyn dng nh nht c tnh cht (2,7)-Ramsey.
Gii: Trc ht ta tm s nguyn dcng n sao cho vi mi cch t cc cnh ca K bi
hai mu xanh, lun tm c hoc K2 hoc xanh. R{2J) l s' nh nht c tnh
cht ny. Xt mt cch t mu (tu ) cc cnh ca K-. R rng hoc l tm c t nht
60
C l i i f i i ' i i i ; Bi tun n l i
mt cnh ca K-, c t mu . hoc l lt c cc cnh ca n u c t bi mu
xanh. Nu c cnh t mu th r rng ta c . Cn nu tt c cc cnh u t bi
mu xanh th ta c xanh. Vy s 7 c tnh cht (2,7)-Ramsey, v v th/?(2,7) < 7.
Nhng R{2J) khng th nh hn 7, bi v nu t tt c cc cnh ca K(, bi mu
xanh ta s khng tm c K2 v cng khng tm c K-, xanh.
Vy R(2, l) = 1.
S dng p lun trong v d va rnh by ta c th ch ra rng:
R{2,k) = k, vi mi k > 2.
Cc tnh cht c bn sau y ca s Ramsey Ri i j ) c th chng minh bng cc lp lun
tng t nh trong cc v d trnh by:
1. RiiJ) = R(j,i
2. Nu m c tnh cht (/j)-Ranisey, th mi s' n > m cng c tnh cht ny;
3. Nu m khng c tnh cht (/,y)-Ramsey, th mi s n < m cng khng c tnh
chr ny;
4. Nu /, > /2 th R J ) > R S-
rng khi tm s /?(/,;) ta cn xt s tn ti ca K hoc Kj xanh; ngha l
mu lin quan n bin /, cn mu xanh lin quan n bin j. Tng t nh vy, khi
tm R.i), mu lin quan n j cn mu xanh lin quan n /. Do R,/) = R(J,i) nn ta
ch cn quan tm n hoc l R, c cc cnh c t bi cng mt mu (gi tt l /?,
cng mu), hoc Rj cng mu.
Vic xc nh s' Ranisey R{,j) i hi chng ta phi tm s nguyn ducfng nh
nht c tnh cht (/j)-Ramsey. Mt cu hi t ra l: Liu s ny c tn ti vi mi i >
2 , j > 2 hay khng? B v nh l di y s tr li cu hi t ra.
B 1. Nu i > 3 v j >3 th
R{i,j) < / ? ( / > ! ) + /?(/-!,i), (1)
Chng minh. Gi s m = R{ i j - \ ) + R{i -\ j ). Ta s chng minh vng m c tnh cht (/,/)-
Ramsey. Gi s cc cnh ca K, c t bi hai mu xanh, , v Vl mt nh ca K,.
Ta phn tp nh V ca K, ra lm hai tp;
A - t p t t c c c n h n i vi V b i c n h ;
B - t p t t c c c n h n i vi V b i c n h x a n h .
Do
lAI + ISI = lAuSI = m - = RHJ-1) + R{i-J) -1
61
Phn J. L thuyt t hp
nn hoc l \A\ > R(i -J) hoc l \B\ > Thc vy, nu tri li ta c Iy4l < R-\ J)
v Il < R{i,j-1), t suy ra iu phi l sau
m - \ = \AkjB\ < R{i,i-1) + /?(/-1 j ) -1 = / ?7 -1.
Xt trig hp 1/41 > /?(/-l j ) . Gi l b gm tp nh A v tp cnh l cc cnh
ni cc nh trong A ca K,. Ta s ch ra rng K^ hoc cha K, hoc cha xanh.
Do MI > /?(/-!,/), nn hoc cha T,.| hoc cha Kj xanh. Nu K,^ cha /?,.| th
b sung vo n nh Vv cc cnh ni y vi cc nh trong A ta th c R. . Vy /^1 ( 1
v d o K lun cha hoc hoc Kj xanh.
Trng hp \B\ > R{,j-\) c xt tng t.
Nh vy m c tnh chi (/,)-Ramsey, l suy ra bt ng thc ( i ) uc chng
minh.
T kt qu ca b s dng php qui np ton hc ta c th chng minh kt qu sau
y;
nh l 1 (nh l Ramsey). Nu i > 2 , j > 2 l cc s nguyn dn th lun tm dc
s nguyn dnq vi tnh cht {,j)-Ramsey {t suy ra s'R{iJ) l tn ti).
Chng minh. Gi s P(n) l mnh sau:
P{n): Nu i + j = n th lun tm c s'nguyn vi tnh cht (iJ)-Ramsey.
Khi / = 4, ta c i = j = 2, t kt qu ca v d 1 suy ra P{4) l ng. Gi s P(n) ng,
ta phi chng minh P(n+l) cng ng. Gi s i + j = /+1. Suy ra / + (/-!) = n v (/-1) +
j = n . Theo gi thit qui np, lun tm c s nguyn c tnh cht (i, j - 1)-Ramsey v s
nguyn vi tnh cht (/-1, )-Ramsey. T suy ra cc s R{i,j-\) v l tn ti.
T v t bt ng thc (1) suy ra s Rii,j) cng tn ti. Vy / (/?+1) l ng.
Theo nguyn l qui np P(n) ng vi mi / > 2,y > 2. T suy ra R{i j ) lun tn
ti vi mi i > 2 , j > 2.
Chng ta c cc kt qu sau:
R{2,k) = R{k,2) = t ,
/?(3,3) = 6.
Khi i > 2 , j > 2, vic tm cc s R(i,j) cng kh khi i, j cng ln. Hin nay mi ch bit
rt t cc s Ramsey. Chng ta s tnh thm mt vi s Ramsey.
Th d 2. Tim/?(3,4).
Gii: T b 1 ta c
62
Chir J. i ton tn ti
R{3A) < R{33) + ^(2,4) = 6 + 4=10.
xc nh xem c phi /?(3,4) < 10, la phi xt tt c cc cch t mu cnh ca Kq.
Nu khng cha K cng nh khrm cha K, xanh vi mt cch t mu cnh ca
n no , th R{3A) = 10. Cn nu nh ng vi mi cch t mu, Kg c hoc /<^3
hoc xanh th ta li phi xt vn cho K^. Vic xt tt c cc cch t mu cnh
ca khng phi l d dng, do c 36 cnh nn c tt c 2^* > 60x10 cch t mu
khc nhau.
Rt may l ta khng cn khao st cc cch t mu , v c th s dng kt qu sau
y:
Nu / > 3, y > 3 v nu Rj - 1) v R{i- i j ) l cc s chn th
R{i j ) <R{ i j - ) + R{i - , )- (2)
Chng minh bt ng thc (2) da vo chng minh ca B 1.
S dng (2), khi i - J = 4, ta thu c
/?(3,4) < ^(3,3) + R{2A) - 1 = 6 + 4 -1 - 9,
v nh vy /?(3,4) < 9 .
ch ra 8 khng c tnh cht (3.4)-Ramsey, xt cch t mu Kg m t trong hnh
v 2, trong cc cnh lin nt c t mu , cn cc cnh t nt c t mu
xanh.
R rng khng th tm c Kj cns nh K xanh. Vy /?(3,4) = 9.
V d 3. Tim /?(3,5).
63
Phn I. L \ thuyt t hp
Gii: T (1) ta c
/?(3,5) < /?(3,4) + /?(2,5) = 9 + 5 = 14.
Ta s chng minh RO, 5) - 14, bng cch ch ra rng s 13 khng c tnh cht
(3,5)-Ramsey. V 'i3, cc nh ca n nh s t 1 n 13. T mu cho cnh (i,j)
nu I / - I =1, 5, 8 hay 12. T mu xanh cho cc cnh cn i. C th kirn tra c
rng vi cch t mu "|3 khng cha AT, cng khng cha K xanh.
Bng di y cho ta nhng gi tr bit ca R{ij)
i \ j
2 3 4 5 6
2 2
3 3 6
4 4 9 18
5 5 14 2 5 - 2 7 4 3 - 5 2
6 6 18 3 4 - 4 3 5 7 - 9 4 102-169
7 7 23
> 4 9 > 7 6
8 8 28
>53 > 9 4
9 9 36
>69
Cc s R(3,3), /?(4,3), /?(5,3) v ^(4,4) c tm thy t nm 1955 bi A.M. Gleason v
R.E Gleenwood, R(6,3) - J.G. Kalbfleisch nm 1966, R, 3) - J.E. Graver, J. Yackel
nm 1968, /?(8,3) - B. McKay v Z.Ke Min mi gn y, R{9,3) - C.M. Grinstead v
S.M. Robets nm 1982.
3.5.3. Tng q u t ho
Cc s Ramsey gii thiu trong mc trc ch l mt trong h cc s Ramsey. Trong
mc ny chng ta s xt mt h cc s Ramsey tng qut hn.
Chng hn, nu ta t mu cc cnh ca K bi ba mu xanh, , tm, th s n t nht
phi l bao nhiu chc chn tm c hoc K , hoc xanh hoc tm? S /7
nh nht c tnh cht nh vy ta s k hiu i?(3,3,3;2). Con s' 2 c vit nii l mt
thnh phn ca /?(3,3,3; 2) bi v cc cnh (i tng c t mu) c xc dnh bi 2
nh. Con s 2 ny cng c th thay bi mt s nguyn dng bt k. Ba s 3 cng c
th thay bi cc s nguyn dng tu c th thu c mt h mi cc s Ramsey.
V d: /?(5,4,7; 2) l s nguyn dcmg nh nht n sao cho vi mi cch t mu cc cnh
ca bi 3 mu xanh, , tm K lun cha hoc K hoc xanh hoc K-I tm.
64
Cu(n^ 3. Bi to tn
nh ngha 4, Ga s , .... l cc so niuyen dTiv^, rong ij > 2. vcri mi j. s
iuyn d^ m c ni l c tnh clc (/;, .... 2)'Rarnsey nu vi mi cch t
mc)i cc ch ca K,, hi n u 1, 2, .... n lun m c ro n K mu ij vi t nht
mt j no .
S nguyr dng nh nhr vi t'nh ch'it (/ , S, .. , 2)-Ramsey c gi l s
Ramsey /?(/|. /; 2).
Ch rng, nu n = 2, s' Ramsey /?(/]. 2 ; 2) chnh i cc s Ramsey /?(/,, /2) trong
mc trc.
Chng ta li c th t ra cu hi l: Tn ti hav chng cc s Ramsey va c
nh ngha? Cu tr li l khng nh. chng minh s tn ti ca cc s Ramsey c
th s dng phiig php chng minh bang quy np.
Chng ta bit rt t v cc s Ramsey /?(/|, 2 ...... 2) khi n > 3. Tuy nhin, nu ij =
2 vi mi j , th c th chng minh c rng: /?(2,...,2; 2) = 2. Khi mi > 3, cho n
thi im hin ti mi bit duy nht mt gi tr /?(3,3,3; 2) 17.
Th d 4. (R.E. Greenwood, A.M. Gleason, 1955) Chng minh rng R(3,3,3; 2) = 17.
Gii. Xt mt cch t mu no cc cnh ca 'i7 bi ba mu xanh, , tm. Chn Vl
mt nh no ca K-. Trong s 16 on ni Vvi cc nh cn li, theo nguyn l
Dirichlet lun tm c 6 on c cng mt mu. Khng gim tng qut c th coi cc
cnh ni Vvi cc nh u 2, 3, 4, 5, 6 c cng mu d. Nu c mt trong s cc cnh
ni gia cc nh 1 , 2 , 6 c mu th cnh ny cng vi dnh Vlp thnh . Nu
tri li, 6 nh 1, 2, 6 ch ni vi nhau bi cc cnh c hai mu xanh hoc tm, th
theo v d m u trong s chng lun tm c hoc xanh hoc tm. Vy, K-
lun cha , xanh hoc tm. Do , y?(3,3,3; 2) < 17.
ch ra /?(3,3,3; 2) > 16 cn xy dng mt cch t mu sao cho khng tm
c ^3cng mu (xem trong cun sch ca c . Berge).
C mt cch khc tip tc pht trin cc s Ramsey v tip tc tng qut ho cc
tng m ta va xt. Xt bi ton m u. trong ta xt s tn ti hoc xanh
trong Bt u vi vi tp nh V, T xt tt c cc p con 2 phn t ca V (tc l
cc cnh ca v chia cc tp con ny ra lm hai h Cj v Cj. S 6 c tnh cht (3,3)-
Ramsey nu v ch nu:
i) Tim c tp con 3 phn t ca V sao cho mi tp con 2 phn t ca n u
thuc vo Cj hoc
65
Phn I . L thuyt t hp
ii) Tim c tp con 3 phn t ca V sao cho mi tp con 2 phn t ca n u
thuc vo C,.
Nu coi C| l tp cc cnh c t mu v C2 l tp cc cnh c t mu xanh,
th r rng ta c tam gic khi v ch khi iu kin i) c thc hin v c tam gic
xanh khi v ch khi iu kin ii) c thc hin. Tuy nhin trong cch m t ny chng
ta khng cn dng n khi nim cnh. Cc tnh cht c pht biu trong ngn ng tp
hp v cc tnh cht ca il h cc tp con ca n. Cch m t ny cho php \ t vic
phn cc tp con c kch thc r tu (khng phi ch c 2) ra thnh mt s cc h con
(khng nht thit ch phn lm hai h C|, C2 nh trong v d va nu). Ta i n nh
ngha tng qut sau ca s Ramsey
nh ngha 5. Gi s /|, 2 ...... r l cc sniiiyn dnq, troni d n > 2, \' /, > / \I
mi j. S' nt yn d m c ni c rinh cht (/,, / ; r)-Ramsey nu nh mnh
sau dy l ng:
Nu s Ici tp m pln l v cc tp con Vphn c s c phn chia
vo n h C|, C2, c, th vi mt j no tm c tp con ca s c
lc lng ij sao cho mi tp con r phn l ca n u thuc vo Cj.
S nguyn dng nh nht c tnh cht (?|, / ; /-)-Ramsey c gi l s Ramsey
/?(/,, / ; r).
nh l 3 (Ramsey, 1930). Nu / | ...... / l cc s nguyn dng, rong n > 2 v
ij> r vi mi j , th s Ramsey /?(/|, ,r) lun tn ti.
Khi r = 1, s R(i|, i ; 1) c th xc nh kh d dng, bi v chng ta ch phi xt cc
tp con 1 phn t ca s. nh l di y cho cng thc tnh s ny.
inh l 4. R(ii, i; 1) = i, +...+ i - (n -1).
Chng minh. t
m = /, +...+ / -
Trc ht ta ch ra rng m c tnh cht (/|, .... /; r)-Ramsey. Ly s l tp m phn t v
chia cc tp con 1 phn t ca n ra lm nlp c .... . c. Trc ht nhn thy rng phi
tm c ch sO sao cho \Cp\ > ijo (Nu tri li, \C < vi mi j , th IC^I < / - 1 . Suy ra
m = IC|I + ... +ICI < (/,-1) +...+ (/,,-1) = - n = m - \ ?!). Nu ta ly /^0 phn t ca
th ta c tp con ca s vi lc lng sao cho mi tp con 1 phn t ca n u
thuc Cp. iu chng t rng / ? ( / | , /; 1) < /, +...+ / - (/2-1).
By gi ta s ch ra rng m-\ = ;'j +...+ / - n khng c tnh cht / ; /-)-
Ramsey. Ly tp s gm /| + ...+ - n phn t. Phn cc tp con 1 phn t ca n vo n
66
Ch^ . Bi on tn i
lp C], c sao cho lC) = ij - 1. R rng vi cch phn chia ny khng th tm c
tp con ca s c lc lng sao cho mi tp con 1 phn l ca n thuc cng mt lfp
c'
Khi /| = ... = = 2, ta c
/?(2,...,2; D - / + 1,
S kin ny cho thy nh l Ramsey l s tng qut ho ca nguyn l Dirichlet. Bi
v tron.e ngn ng ca s Ramsey, R{2......2; ]) = / / + 1 c ngna l + 1 l s nguyn
dng nh nht c nh cht sau; N lp s c lc lag // + 1 v nu phn cc phn t
ca n vo /7 tp C|, c th phi tm c tp con 2 phn t ca s sao cho cc phn l
ca n thuc vo cng mt tp no . Ni cch khc lun tm c ch s j sao cho
tp Cj c t ra l 2 phn t. chnh l ni dung ca rmuyn l Dirichlet.
67
Phn L L thuy t hp
Bi tp
1. Trn mt phng cho n > 6 im, khong cch gia cc cp im l khc nhau tng
i. Mi im c ni vi im gn n nht. Chng minh rng mi im c ni vi
khng qu 5 im.
2. Mt trung tm my tnh c 151 my vi tnh. Cc my ca trung tm c t tn bi
mt s nguyn dng trong khong t 1 n 300 sao cho khng c hai my no c
t tn trng nhau. Chng minh rng un tm c 2 mv c tn ) cc s nguyn lin
tip.
3. Cc hc sinh ca mt lfp hc gm 45 nam v 35 n c xp ra thnh mt hng
ngang. Chng minh rng, trong hng lun tm c hai hc sinh nam m gia h
c 8 ngi ng xen vo.
4. 12 cu th bng r eo o vi s t 1 n 12 ng tp trung thnh mt vng trn gia
sn. Chng minh rng lun tm c 3 ngi lin tip c tng cc s trn o l ln hn
hoc bng 20
5. Chng minh rng trong s' 10 ngi bt k bao gi cng tm c hoc l hai ngi
c tng s tui l chia ht cho 16, hoc l hai ngi m hiu s tui ca h l chia ht
cho 16.
6. Cn c t nht bao nhiu b c th t gm 2 s nguyn (, h) sao cho chc chn tm
c trong s hai b (c, d) v {e, f ) sao cho c - e v d - f \ cc s c ch s' tn cng
bng 0?
7. 17 nh bc hc i mt vit th trao i vi nhau v 3 ch , mi cp ch trao i
vi nhau v 1 ch . Chng minh rng lun trii c 3 nh bc hc i mt vit th
trao i vi nhau v cng mt ch .
8. Trong khng gian cho 9 im c to nguyn. Chng minh rng trong s 9 im
cho lun tm c hai im sao cho on thng ni chng i qua im c to
nguyn.
9. Chng minh rng trong s 10 ngi bt k lun tm c hoc l 4 ngi i mt
quen nhau v 3 ngi i mt khng quen nhau hoc l 4 ngi i mt khng quen
nhau v 4 ngi i mt quen nhau.
68
CKni^ 4. B'ii o n l i k
4
BI TON LIT K
4.1. Gii thiu bi ton
Nu nh trong bi ton m (xein chcng 2), ta ch i hi m s' cu hnh t hp l
bao nhiu th trong nhiu tnh hung, ta cn phi cn ch r nhng cu hnh t hp l
nhng cu hnh no. Bi ton a ra danh sch tt c cu hnh t hp c th c, c
gi l hi ton lit k t hp. V th, khc vi bi ton m tm kim mt cng thc cho
li gii, bi ton lit k li cn xc dn mt thut toctn theo c th ln lt xy
dng c tt c cc cu hnh ang quan tm. R rng c nhiu cch lit k, tuy nhin
chng phi m bo 2 nguyn tc:
khng c lp li mt cu hnh,
khng c b st mt cu hnh.
C th ni rng phng php lit k l cch cui cng c th gii c mt s
bi ton t hp hin nay. Kh khn chnh ca phng php ny l s "bng n t hp".
xy dng chng 1 t cu hnh (con s ny khng phi l ln i vi cc bi ton t
hp - xem li cc s mt th t D, s phn b /, s hnh vung la tinh /, ...) v gi
thit rng mi thao tc xy dng mt khong 1eiy, ta phi b ra qung 31 nm mi
gii xong. Tuy nhin vi s phi trin ca my tnh in t, bng phng php lit k,
nhiu bi ton t hp tm thy li gii. Mt khc, chnh s n lc tm kim nhng
gii php hu hiu cho nhng bi ton kh thuc lnh vc ny, thc y mnh m s
pht trin ca nhiu ngnh ton hc. Trong chng ny, sau phn gii thiu khi nim
69
Phn 7. L thuyt t hp
thut ton, chng ta s trnh by hai phng php lit k thng s dng nht, l
Thut ton sinh v c bit l thut ton quay lui, mt thut ton c tnh ph dng cao.
4.2. Thut ton v phc tp tnh ton
Nh gii thiu trn, ta hiu vic gii bi ton lit k l xy dng mt thut ton
theo c th ln lt xy dng c tt c cc cu hnh cn quan tm. Vy cn hiu
thut ton l g? Mc ny dnh gii thiu khi nim thut ton v mt s vn lin
q uan c n thit c h o v i c trnh by c c c h n g sau.
4.2.1. Khi niin thut ton
Thut ton c bit n t rt lu. Bn thn thut ng Thut ton (Algorithm) l
vit tt tn ca nh ton hc th k th IX: Abu Ja'fa Mohammed ibn Musa al-
Khowarizmi. u tin, thut ton c hiu nh l cc qui tc thc hin cc php tnh
s hc vi cc con s c vit trong h c m thp phn. Cng vi s pht trin ca
my tnh, khi nim thut ton cng c hiu theo ngha rng hn v chnh xc hn.
Khi nim thut ton c nh ngha mt cch hnh thc chnh xc thng qua my
Turing. Tuy nhin, trong gio trnh ny chng ta cha cn n nh ngha chnh xc
ny, m c th hiu thut ton mt cch trc quan hn qua nh ngha sau.
nh ngha. Ta hiu thut ton gii bi ton t ra l mt th tc xc nh hao gm
m! dy hu hn cc hc cn thc hin thu c li gii ca bi ton.
Thut ton c cc c trng sau y:
u vo (Inpul): Thut ton nhn d liu vo t mt tp no .
u ra (Output): Vi mi tp cc d liu u vo, thut ton a ra cc d liu
tng ng vi li gii ca bi ton.
Chnh xc (Precision): Cc bc ca thut ton c m t chnh xc.
Hu hn (Finileness): Thut ton cn phi da c u sau mt s hu hn
(c th rt ln) bc vi mi u vo.
n tri (Uniqueness): Cc kt qu trung gian ca tng bc thc hin thut
ton c xc nh mt cch n tr v ch ph thuc vo u vo v cc kt
qu ca cc bc trc.
Tng qut (Generality): Thut ton c th p dng gii mi bi ton c dng
cho.
Th d 1., Cho 3 s nguyn a, h, c. M t thut ton tm s ln nht trong ba s' cho.
70
Chn 4. Bcii om i k
(liai. Tuy rang bi ton t ra l rt n gin nhrm mc ch ca chng ta l dng n
gii thch khi nim thut ton. Thut ton gm cc bc sau:
Bc 1. t := a\
Bc 2. Nu h > X th t x\=b\
Bc 3. Nu c > X, th t x:~c.
T tng ca thut ton l duyt ln lt gi tr ca tng s v gi li gi tr ln
nht vo bin ,v. Kt thc thut ton Xcho s nguvn ln nht trong 3 s cho.
K hiu y z trong m l thut ton trn c ngha l thay th gi tri ang c ca
V bi gi tr c a z. Khi php ton V := 2 c thc hin xong, g i tr ca z khng b thay
i. Ta gi := l on t gn.
By gi ta s theo di qu trnh thc hin thut ton vi nhng gi tr c th ca a,
b, c. Truc ht gi s
a = l , b = 5, c - 3 .
Ti bc 1, ta t gi tr ca -V l a ( 1). Ti bc 2, do /? > A' (5 > 1), nn .V c t bng
b (5). Ti bc 3, do iu kin c > X (3 > 5) khng c thc hin, nn ta khng phi
lm ng tc gn. Kt thc thut ton, A' c gi tr 5 l gi Ir ln nht trong 3 s a, h, c.
Gi s
a = b = 2 , r = 31.
Ti bc 1, ta t gi tr ca A' l a (7). Ti bc 2, do iu kin b > X {2 > 7) khng
tho mn, nn ta khng lm g c.. Ti bc 3, do c > X (31 > 7), nn ta gn X bng 31.
Kt thc thut ton, -Vc gi tr 31 l gi tr l i nht trong 3 s a, b, c.
By gi ta s thy rng thut ton va m t c cc tnh cht nu trn.
Thut ton nhn u vo l ba s a, b, c v a kt qu du ra l X.
Cc bc ca thut ton c m t chnh xcc n mc ta c th vit chcmg trnh
theo thut ton trn ngn ng lp trnh v thc hin tren my tnh.
Nu du vo l xc nh, kt qu ti mi bc ca thut ton c xc nh duy
nht. Chng hn, vi u vo
= 7, b = 2, c = 31,
ti bc 3 ca thut ton, Xlun c t bng 31, khng ph thuc vo vic thut ton
c thc hin bng tay hay bi my tnh.
Thut ton kt thc sau ba bc v a ra li gii ca bi ton, v vy, thut ton l
hu hn.
Thut ton trnh by trong v d lun a ra gi tr ca s lfn nht trong ba s ht
k, nh vy, thut ton c tnh tng qut.
71
Phn I . L thuyt t hp
4.2.2. M t thut ton bng ngn ng phng PASCAL
Cch m t thut ton bng li nh trnh by trong th d mc trn khng tht thun
tin cho vic ci t thut ton trn nhng ngn ng lp trnh c th, chng hn
PASCAL, c , BASIC,... Tt nhin c th m t thut ton s dng mt ngn ng lp
trnh no . Khi ta ch c th s dng nhng cu trc lnh ca ngn ng chn.
iu c th lm cho vic m l thut ton tr nn phc tp ng thi cng rt kh
hiu. V th, m t thut ton ta s dng ngn ng phng PASCAL, trong cho
php va m t thut ton bng ngn ng i thng va s dng nhng cu trc lnh
tng t nh ca ngn ng lp trnh PASCAL (tt nhin, cc qui tc c php ca ngn
ng lp trnh PASCAL khng nht thit phi tun th). Di y ta lit k mt s' cu
lnh chnh c s dng m t thut ton.
Cu lnh procedureuncti on). M t thut ton trong ngn ng phng PASCAL c
bt u t cu lnh pr ocedur e (function), trong ta t tn cho thut ton v m t
danh sch bin ca thut ton. Chng hn, cu lnh
function ma.ximum(a,b,c):
cho bit tn thut ton c m t l maximum, c 3 bin , b, c;
procedure Hoanvi(n);
cho bit tn thut ton c m t l Hoanvi vi bin l n.
Cc bc ca thut ton c m t trong thn th tc (hm) c bt u bi
begin v kt thc bi end.
Th d:
function maximum{a,h,c):
begin
(Thn hm).
end;
procedure Hoanvin);
begin
(Thn th tc).
end;
Ch : Khi m t thut ton bt u bng function, khi kt thc lm vic, thut ton s
da ra gi tr c ghi nhn trong tn hm. V vy trong thn hm phi c mt cu lnh
gn gi tr cho hm. Trong v d trn maximum s ghi nhn gi tr ln nht trong ba
bin a, b, c.
72
Chng 4. B i ton l i t k
Cu lnh gn. Cu lnh gn c s dng gn gi tr cho cc bin. V tri ca cu
lnh l tn ca bin, cn v phi l biu thc ca cc hng, bin gn gi tr hoc cc
hm c nh ngha. K hiu := c s dng biu din php gn.
Th d:
variable := expression:
max a;
X s 'n nht trong cc s' rii, ,,. a\
Khi cu lnh. Cc cu lnh c th nhm li thnh mt khi. m t khi lnh ta s
dng begin v end.
Th d:
begin
Cu lnh 1:
Cu lnh 2;
Cu lnh n;
end;
Cc cu lnh trong khi c thc hin tun t. Di y, thut ng cu lnh c
dng ch chung mt cu lnh cng nh mt khi cu lnh.
Ch gii. din gii thm ni dung ca cc on lnh c th s dng cc cu ch
gii. Cc dng ch gii c t trong du hai du {) hoc (* *).
Th d:
(* X l phn t ln nht trong danh sch L *)
{ d l s phn t ca danh sch L }
Cu lnh iu kin. Cu lnh n gin l
if iu kin then cu lnr,
Khi thc hin cu lnh, iu kin s c kim tra, nu n c tho mn th cu
lnh s c thc hin.
Nhiu khi ta cn phi thc hin mt thao tc no khi iu kin c thc hin,
cn nu ngc li ta li phi thc hin mt thao tc khc. Khi , c th s dng cu
lnh phc tp hn sau y
73
Phn 1. L thuyt t hp
if iu kin then cu lnh 1
else cu lnh 2;
Cc cu lnh lp. Ta s s dng cc cu lnh sau y
for bin := gi Jr _u to gi _t r _cui do Cu lih;
Ti u vng lp, bin s c gn cho gi_ tr_ u, nu gi tr u nh hn hn hoc
bng gi tr cui v cu lnh s c thc hin vi gi tr ny ca hin. Tip n, gi tr
ca bih s tng ln 1 v cu lnh s c thc hin vi gi tr mi ca hin. Qu trnh
s c tip tc cho n khi bin bng gi_ tr_ cui. Sau khi thc hin xong cu lnh
vi gi tr ca bin bng gi_ tr_ cui, s chuyn sang thc hin cu lnh tip heo.
Nu gi_ tr_ u ln hn gi_ tr_ cui ih khng c cu lnh no c thc hin.
Cu lnh lp th hai c s dng l cu lnh "while" sau y
while iu kin do cu lnh',
Khi cu lnh ny c s dng, iu kin s c kim tra, nu n l ng th cu lnh
c thc hin, iu c th dn ti s thay i gi tr ca cc bin trong iu kin.
Nu iu kin vn l ng sau khi thc hin cu lnh th cu lnh li c thc hin.
iu s tip din cho n khi iu kin l sai.
Cu lnh lp th ba c s dng l cu lnh "repeat" sau y
rep ea t cu lnh until iu kin',
Khi cu lnh nyc s dng, cu lnh c thc hin, iu c th dn ti s thay
i gi tr ca cc bin trong iu kin. Nu iu kin vn l ng, th cu lnh li
c thc hin. iu s tip din cho n khi iu kin l ng.
Th d 2. Thut ton tm s ln nht trong 3 s trong th d 1 c th m t nh sau
function maximum{a,b,c)\
begin
x:=a;
i f b > X t h e n x : = h \ ( * N u b l n h n X t h i g n l i X *)
if o x then x:=c, (* Nu c ln hn X th gn li Jt *)
maximum:= x;
end;
74
Chii 4. Bi ton lit k
Th d 3. Thut ton tm s' ln nht trong dy hu hn s.
u vo: Dy gm n s ,, 2 , a.
u ra: large - s ln nht trong dy cho.
procedure Find_Large(a, n, large);
begin
large:=ai;
for i := 2 to n do
(* Nu a ln bn lare th gn li lar^e *)
if (3, > l a r g e then large, -a,.;
end;
Trong vic gii cc bi ton phc tp, ta thng phi phn r n ra thnh cc bi
ton con. Ta s xy dng cc th tc gii cc bi ton con, sau cc th tc ny s
c tp hp gii bi ton t ra. Th d di y minh ho cho t tng ny.
Th d 4. Tim s' nguyn t ln hn s nguyn dng n.
Gii. Trc ht ta xy dng th tc kim tra xem mt s' nguyn dng m c phi l s
nguyn t hay khng (Th tc Nguyn J ) . S dng th tc ny ta xy dng thut ton
gii bi ton t ra. Do c s nguyn t ca s nguyn dng m bao gi cng khng
vt qu 4m , nn m s l s nguyn t' nu nh n khng c c s no trong cc s
nguyn dng t 2 n [ ' m ].
Thut ton kim tra mt s nguyn dng c phi l nguyn t hay khng.
u vo: S nguyn dng m.
u ra: t r u e nu m l s nguyn t, false nu ngc li.
function Nguyen_to(w);
begin
i:=2;
while (i <= 4m ) and (m mod i = 0) do i:=i+l;
Nguyen_to := i > ;
end;
Thut ton tm s nguyn t'ln hn s' nguyn dng n.
Thut ton ny s dng thut ton Nguyen_to trn nh th tc con.
u vo: S' nguyn dcmg n.
u ra ; m - s nguyn t ln hon 77.
procedure Lagre_fVime(/);
begin
75
Phn 1. L thuyt t hp
m: - n + ;
while not Nguyen_to(w) do m:=m+I;
end;
Do tp cc s' nguyn t' l v hn, nn thut ton Lagre_Prime l hu hn.
4.2.3. phc tp ca t h u t ton.
Mt chng trnh my tnh, mc d c ci t theo mt thut ton ng, c th
khng cho kt qu mong mun i vi mt b d liu no v hoc l n i hi qu
nhiu thi gian, hoc l khng c b nh lu gi d liu v cc bin ca chng
trnh. V vy, c th nh gi kh nng ng dng ca chng trnh la cn phi phn
tch hiu qu ca thut ton. Phn tch thut ton l qu trnh tm ra nhng nh gi v
thi gian tnh cng nh dung lng h nh cn thit thc hin thut ton. phc
tp tnh ton ca mt thut ton l lng thi gian v b nh cn thit thc hin
thut ton. Trong mc ny ta quan tm n vic nh gi thi gian cn thit thc
hin thut ton (ta s gi l thi gian tnh ca thut ton).
R rng, thi gian tnh ca mt thut ton l hm ca d liu u vo. Thng
thng kh c th xy dng cng thc di dng hin cho hm ny, v th ta t vn
n gin hn. Thay v lm vic vi d liu u vo, ta s lm vic vi mt c trng
quan trng ca d liu u vo, l kch thc ca n. Chng ta s quan tm n
Thi gian ti thiu cn thit thc hin thut ton vi mi b d liu u vo
kch thc n. Thi gian nh vy s c gi l thi gian tnh tt nht ca thut
ton vi u vo kch thc n.
Thi gian nhiu nht cn thit thc hin thut ton vi mi b d liu u
vo kch thc n. Thi gian nh vy s c gi l thi gian tinh ti nlit ca
thut ton vi u vo kch thc n.
Thi gian trung bnh cn thit thc hin thut ton trn tp hu hn cc u
vo kch thc n. Thi gian nh vy s c gi l thi gian tnh trung hnh ca
thut ton.
tnh ton thi gian tnh ca thut ton ta s m s cu lnh m n phi thc
hin, hoc trong mt s trng hp c th m c th s php tnh s hc, so snh,
gn,.... m thut ton i hi thc hin. R rng t thng s ny ta c th tnh c thi
gian thc s m thut ton i hi nu nh n c ci t trn mt ngn ng lp trnh
v chy trn mt my tnh c th. Mt khc thng s ny khng ph thuc vo ngi
lp trnh v ngn ng lp trnh c chn ci t thut ton cng nh my tnh m
trn n c thc hin. V th n l tiu chun khch quan nh gi hiu qu ca
thut ton.
76
Chng 4. Bi ton i t k
Th d 5. Xt thut ton tm s ln nht trong dy hu hn s th d 3. Trong thut
ton ny, s lng phn t ca dy s n l i lng hp l nht c th dng nh
gi kch thc u vo. R rng vng lp trong thut ton lun thc hin ng n-\ ln
nn tt c thi gian tnh t nht, ti nht cng nh trung bnh ca thut ton u bng
//-1.
Thng thng, trong cc ng dng thc t thi gian chnh xc m thut ton i
hi thc hin n c quan tm t hn so vi vic xc nh tc tng ca thng s
ny khi tng kch thc ca u vo. Th d., gi s thi gian tnh ti nht ca mt thut
ton l
t{n) = 60 t r + 9 + 9
vi u vo kch thc n. Khi n ln s hng 60/^ xp x bng t{n) (xem bng 1). Trong
trng hp ny t{n) c tc tng ging nh 60/7^
n t{n) = 60/^ + 9n + 9 60^
10 9099 6000
100 600909 600000
1000 60009009 60000000
10000 6000090009 6000000000
Nu nh t(n) c tnh bng giy, th
T n ) ^ /^ + 0 J 5 + 0.15
s cho ta thi gian tnh o bng pht ca thut ton. R rng s thay i ny khng nh
hng n tc tng ca thi gian tnh khi kch thc u vo n tng, m ch thay i
n v tnh thi gian. Nh vy khi m t tc tng ca thi gian tnh ca thut ton
khi kch thc u vo tng, khng nhng chng ta ch cn quan tm n s hng tri
(60 n^), m c th b qua cc hng s. Vi gi thit nh vy, thi gian tnh t{n) tng
ging nh khi n tng. Ta s ni t{n) c bc l v vit
t{n) = Q(n^).
T tng c bn y l thay th biu thc /() = 60^ + 9/1 + 9 bi biu n gin hem
c c n g t c t n g v i t { n) . T a i n n h n g h a s a u
nh ngha. Gi s f v g l cc hm i s'nguyn dng. Ta vit
f{n) = 0(^())
v nif {n) c bc khng qu nu tn ti hn s dng C| v s' nguyn dng N
sao cho
\ f {n) \ < c , \ g { n ) \
vi mi n> N .
Ta vit
77
Phn . L thuyt tl/?
f{n) = D.{g{n))
v ni f{n) c bc t nht l nu tn ti hng s dng C2 v s nguyn dnq Nj
sao cho
\f(n) I < c , I ,(/7) I
vi mi n> N 2 -
Ta vit
f(n) = @{g(n))
v ni f{n) c bc l g(n) nuf {n) = 0(g{n) vf {n) = Q(g(rj)).
nh ngha trn c th pht biu bng li nh sau: /() = 0(g(n)), nu ngoi tr
hng s' v mt s hti hn ngai l f b chn di bi g. f (n) = Cl(g(n)), nu ngoi tr
hng s v mt s hu hn ngoi l / b chn trn bi g. f{n) = 0(^()), nu ngoi tr
hng s v mt s hu hn ngoi l / b chn di v chn trn bi g.
Cc biu thc/(n) = 0{g{n)),f{n) = Q(g(n)) v/ (n) = 0(g(/)) thng c gi l k
hiu ln, mga, tta i vi hm/.
Th d 5. Do
60n^ + 9 + 9 < 60 + 9n^ + = 70 vi mi n> ,
chn C| = 70 trong nh ngha trn ta c
60^ + 9n + 9 = O(n^).
Do
60/7^ + 9 + 9 > 60 vi mi / > 1,
chn C2= 70 trong nh ngha trn ta c
60/j' + 9 + 9 = n (n^).
Do 60n^ + 9n + 9 = O(n^) v 60n^ + 9n + 9 = Q (n^) nn
60n^ + 9n + 9 ^ e ( n \
Phcmg php chng minh trong th d 5 c th s dng ch ra rng mi a thc bc k
vi h s dng:
P , ( n) = . + . . . + a , / 7 + ()
c bc l 0(/z*): Pi.(n) - 0(/i*).
Th d 6. Gi s k l s nguyn dng. Ta c
+ 2* + . . . + /?'' < A* + ^ + . . . + A7*= n. /?*' =
khi > 1; suy ra
1* + 2' + . . . + /' = 0 ( /1' " ' ) .
Mt khc, v
1* + 2* + . . . + > [nl 2f + . . . +(-!/ +
78
Chn 4. i loan it k
> [n!2 + . . . 4- [ nH
> {n/2).(n/2f =
nn
1' + 2' + . . . + /* = n ( ),
do
1* + 2 * + =(/;*"').
Thi d 7. Ta s chng minh
Ig/! =(/7lg).
Ta c
Ig/! = Ig + Ig (n-1) + . . . + !g 2 + Ig 1.
Do hm Ig l hm tng, nn
I g n + I g (n- 1 ) + . . . + I g 2 + I g 1 < I g + I g n + . . . + I g /7 = /7 I g /7.
V vy
Ig n\ - 0( Ig n).
By gi, do
Ig n + Ig (/-1) + . . . + Ig 2 + Ig 1 > Ig / + Ig (n-1) + . . . + Ig [//2]
> Ig [/2J + Ig [n/2] + . . . + Ig [/7/2]
> (n/2) lg(//2) > (n Ig /z)/4,
suy ra
Ig/! =Q( n \ g n ) .
Vy
\ gn\ = ( Ig ).
By gi ta c th nh ngha bc ca thi gian tnh tt nht, ti nht, v trung bnh ca
thut ton nh sau
nh ngha. Nu thut ton i hi ihi >ian tnh tt nht l t(n) vi di u vo n
t{n) = Oigi))
thi gian tnh nht ca thut ton c bc khng qu ^{n) hay tk gian tnh tt nht
ca tlut ton l 0{g{n)).
Nu thut ton i hi (hi gian nh ti nh l t(n) VI di cu vo n v
{n) = 0{g{n))
thi gian tnh i nht ca tlut ton c bc khn^ qu ^{n) hay thi gian tnh ti nht
ca thut (on l Oig(r)).
Nu thut ton i hi thi gian tnh trung bnh l /(/?) vi di u vo n v
{n) = 0{g{n))
79
Phn I . L thuyt t hp
thi gian tnh trung hnh ca thut ton c bc khng qu g{n) hay thi gian tnh trung
binh ca thut ton l 0(g(n)).
Nu thay o bi v "khng qu" bi "t nht" trong nh ngha trn ta thu c nh
ngha bc t nht ca thi gian tnh tt nht, ti nht, trung bnh ca thut ton. Nu thi
gian tnh tt nht ca thut ton va l 0{g(n)) va l Q.{g{n)), ta s ni thi gian tnh
tt nht ca thut ton l Q{g(n)). Tng t nh vy, ta cng nh ngha thi gian tnh
ti nht v trung bnh ca thut ton l Q(g(n)).
Th d 8. nh gi s ln thc hin cu lnh jr. =.r+l trong on chOTg trnh sau nh
l hm ca u vo n:
for i:=l to n do
for j;=l to i do
x:=x+1,
u tin / c t bng 1, v s chy t 1 n 1, lnh x:=x+ c thc hin 1 ln,
tip n i c t bng 2, v j s chy t 1 n 2, lnh x:=x+ c thc hin 2 ln,...
Do tng s ln thc hin cu lnh x:=x- 1 l
1 + 2 + . . . + = 0(/^).
Th d 9. nh gi t{n) - s ln thc hin cu lnh x:=x+l vi di u vo l n trong
on chng trnh sau:
j:=n;
while >= 1 do
begin
for i : = l t o j d o x : = x + l ;
j : =j div 2;
end;
Ln thc hin u tin trong vng lp while cu lnh x:=x+l c thc hin n ln. V
vy, t{n) = D.{n). Sau ln thc hin u tin gi tr ca j c thay bi [//2], v th i <
til. Nu > 1, th cu lnh X ;= x+1 c thc hin khng qu nH ln trong ln lp th
hai,... Nu k hiu k l s ln thc hin cc lnh trong thn ca cu lnh while, th s'
ln thc hin cu lnh X :=x+l l khng qu
n + n/2 + n/4 + . . . + //2*-' = ( l - l / 2 ' ) / ( 1-1/2).
80
Chng 4. Bi loan k
By gi, do
m < AZ(1 - 1/2') / (1 - 1/2) = 2//(l - 1/2') < 2/,
nn t{n) = 0{n).
Cui cng, do trn ta c /(/;) = 0.(n), nn t{n) - (/7).
Th d 10. gii bi ton; Tm trong dy s
s , S2
mt phn t c gi tr bng key ch trc, c h p dng thut ton sau
u vo; n v dy s 5|, 2...........
u ra: V tri phn t c gi tr key hoc l n+1 nu khng tm thy,
function Linear_Search(s,n,key);
begin
i:=0;
repeat
i:=i+l;
until (i>n) or (key = S);
Linear_Search := i;
end;
Cn nh gi thi gian tnh tt nht, ti nht, trung bnh ca thut ton vi di u
vo l n. R rng thi gian tnh c thut ton c th nh gi bi s ln thc hin cu
lnh /. =/+1 trong vng lp repeat.
Nu s = key th cu lnh .-i f 1 Irong thn vng lp repeat thc hin 1 ln. Do
thi gian tnh tt nht ca thut ton l ( 1). f .
Nu key khng c mt trong dy cho, th cu lnh /:= + 1 thc hin n ln. V th
thi gian tnh ti nht ca thut ton l Q(n).
Cui cng, ta tnh thi gian tnh trung bnh ca thut ton. Nu key tm thy v tri
th i ca dy (key = s) th cu lnh i := /+1 phi thc hin i ln (/' = 1, 2 , n), cn nu
key khng c mt trong dy cho th cu lnh i := ;+l phi thc hin n ln. T suy
ra s ln trung bnh phi thc hin cu lnh i := /+1 l
[ ( 1+2 +. . . + n) + n]/(n+\).
Ta c
[ ( 1 + 2 + . . . + /) + ^?] / ( + 1 ) < ( n^ + n) / ( + ! ) = n.
Vy thi gian tnh trung bnh ca thut ton l 0{n).
Mt khc, do
81
Phn 1. L thuyt t hp
[(1 + 2 + . . . + /7) + /] /(/!+!)> (V4 + n) l{n+\)
>{t?IA + nlA) l{n+\) = nlA,
nn thi gian tnh trung bnh ca thut ton i Q.{n). V vy, thi gian tnh trung bnh
c a thut ton l (/?).
i vi thut ton trong th d ny. c thi gian tnh ti nht ln thi gian tnh
trung bnh u bng 0(/i).
Th d 11. Phn tch thut ton Euclide tm c chung ln nht ca hai s nguyn
dng a, b trnh by di y
Thut ton Euclde.
u vo: a v h l hai s nguyn dng.
u ra: c chung ln nht ca a v b.
function Gcd(a,h)\
begin
(* i ch nu cn t c a > b *)
f a < h then <i ch a v b>;
while 0 do
begin
Ly a chia b thu c a = bq + r , 0 <r < b ]
a:=b;
h:=r;
end;
Gcd:= a;
end;
nh gi phc tp ca thut ton, ta s m s php chia phi thc hin theo
thut ton.
Trc ht ta chng minh bng qui np mnh sau.
Mnh 1. Gi s cp s a, h, a > b, i hi n > 1 php chia trong thut ton Euclde.
Khi a > h >/ , tron^ [f } l dy s Fibonaci xc nh bi cng thc truy
+/,. 2 ,/ 7 > 2 , /o = / , = u .
Chng minh. D dng kim tra mnh ng vi /7=1. Gi s mnh ng vi / > 1.
Ta chng minh khng nh ca mnh ng vi /7+1. Gi s cp a, b, a > b i hi
n+ php chia. Sau khi thc hin php chia a cho b:
a = b q + r , 0 < r < h ,
82
Chng 4. Bi ton l i t k
thut ton tip tc lm vic vi cp s h v r, b > r. Cp s' ny i hi n php chia. Do
theo gi thit qui np
r>f.
T suy ra
a = h q + r > h + r > /,^1 + / , =/,2 ,
tc l ta c
v theo qui np mnh c chng minh.
S dng mnh va chng minh ta c th nh gi c s php chia nhiu nht
cn phi thc hin trong thut ton Euclide.
Mnh 2. Gid s cc s nguyn u vo ca thut o Euclide l khng vt qu
m, m >8. Khi tlu ton i li klng qu log^ (2m/3) php chia.
Chng mnh. Thc vy gi s n l s php chia ln nht cn thc hin theo thut ton
vi u vo tho mn iu kin t ra trong mnh . Gi s cp s a , b , m > a > b i
hi n php chia. Do n? > s , nn, bng cch th trc tip cc kh nng, c th kim tra
c l /7 > 4. Theo khng nh ca mnh 1, ta c a >/^^1. Suy < m. Do /7 + 1
> 5, nn c th chng minh c l
(3/2)'"'
Vi th suy ra
(3/2)"^' < m,
hay l
n + 1 < log,/2 m.
Suy ra
/7 < log3;2 rn - l = log,/2 m - log,/2 3/2 = log3/2 (2m/3).
Mnh c chng minh.
Nu nh cc th d 8-10 c th to ra cm gic l nh gi phc tp ca mt
thut ton l mt vn gin n, th th d 11 cho thy vn khng hn l nh
vy. Ni chung, phn tch phc tp tnh ton cu mt thut ton l mt vn phc
tp, n i hi t duy sng to v c phng php v cch tip cn ring. Mt khc
trong rt nhiu trng hp, ta khng th thu c nhng nh gi p nh trong cc
th d va trnh by trn.
83
Phn I . L thuyt t hp
Dng nh gi Tn gi
d )
Hng s
0 ( l g Ig n)
Log log
0 ( l g n)
Logarithm
0 ( )
Tuyn tnh
0(/7 Ig n)
n log n
Bc hai
m ' )
Bc ba
Q o n
a thc
m > 2
Hm m
0(/7!)
Giai tha
Bng 1. Cc nh gi thng dng.
Cc hng s' b b qua trong cch nh gi va a vo trn c th c ngha
quan trng trong ng dng thut ton. Chng hn, gi s vi mi d liu u vo di
n, thut ton A i hi thi gian tnh l c , n cn thut ton B i hi C, n^. Khi vi
mt s' kch thc u vo nht nh thut ton B c th vn l tt hn. Th d, nu c, =
300, C2 = 5, th vi n = 5, thut ton A i hi thi gian 1500 trong khi thut ton B i
hi thi gian 125. Tt nhin, khi n ln, thut ton A l lun nhanh hn thut ton B.
Mt s' nh gi tc tang c bit c t tn ring nh ch ra tfong bng 1.
Trong bng 1, cc nh gi c sp xp theo th t tng dn ca tc tng
(ngoi tr trng hp 0(/7"'))- Bng 2 di y cho thy thi gian tnh tng nh th no
vi cc nh gi s' b lp khc nhau (g thit: mi bc lp i hi 1 micro giy):
nh gi
Thi gian tnh nu n =
6 12 50 100
1 10 see 10 ' sec 10 sec 1O'* sec
Ig Ig n 10'* sec
2x10 * sec 2x10 * sec 3x10'* sec
Ig n
3x10'^ sec 4x10 '^sec 6x10'^ sec 7x10'* sec
n
6x10 sec
10'^ sec
5x1 O'' sec
1O'*sec
n \ g n
2x10 ' sec 4xlO' sec 3x10 '' sec 7 x l 0 sec
4x10 ' sec
l o '*sec
3x10'^ sec
0.01 sec
2x10 sec 2x10'^ sec
0.13 sec 1 sec
2"
6x1 O' sec 4x10'^ sec
36 nm
4x10 nm
Bng 2. Thi gian tnh vi cc nh gi khc nhau
84
Chng 4. Bi ton l i t k
Nu nh i vi mt bi ton ta c th xy dng thut lon vi thi gian tnh ti
nht l a thc, ' bi ton t ra gi l dc gii to. Rt tic l cho n thi im hin
ti, ch c mt s khng nhiu lm bi ton l c gii tt.
Nu bi ton khng c thut ton vi thi gian ti nht a thc gii th n c
gi l khc) (ii (intractable). Nu nh c thut ton gii bi ton nh vy, th chc chn
n s i hi rt nhiu thi gian.
C mt s bi ton li kh n mc l ta khng th xy dimg thul ton gii n.
Nhng bi ton nh vy c gi i khng gii c (unsolvable problem). Mt trong
nhng bi ton nh vy l Bi ton v tnh dng: Cho mt chng trnh v tp u vo,
hi rng chng trnh c dng hay khng?
Vic nghin cu l thuyt v phc tp tnh ton ca cc bi ton v cc thut
ton l mt trong nhng vn trung tm ca khoa hc tnh ton, m gio trnh ny ta
khng c iu kin i su hn na.
4.3. Phng php sinh
Phng php sinh c th p dng gii bi ton lit k t hp t ra nu nh hai iu
kin sau c thc hin:
) C t h xc nh c mt th t trn tp cc cu hnh t hp cn li k. T
c t h xc nh c cu hnh u in v cu hnh cui cng trong h xc nh,
2) Xy dn^ c thut on t cu hnh cha pli l cui cng ang c, a ra
cu hnh k tin n,
Ta s gi thut ton ni trong iu kin 2) l thut ton sinh k tip. R rng l th
t trong iu kin 1) cn c la chn sao cho c Ih xy dng c thut ton sinh k
tip. Gi thit rng, hai iu kin nu trn c thc hin, khi thut lon sinh
gii bi ton lit k t ra c m t nh sau:
procedure Generate;
Begirt
<Xy dng cu hnh ban >\
S t o p f a l s e ;
while not stop do
85
Phn . L thuyt t hp
bein
<ia ra cu hnh can g c>;
Si nh_kj i p;
end;
End.
trong Si nh_kj i p l th tc sinh cu hnh k tip theo thut ton sinh k tip xy
dng. Nu cu hnh ang c l cui cng, th tc ny cn gn cho bin Stop gi tr
true, ngc li th tc ny s xy dng cu hnh k tip ca cu hnh ang c trong th
t xc nh.
Di y ta xt mt s th d minh ho cho vic p dng thut ton sinh.
Lit k tt c cc dy nh phn di n.
Vit dy nh phn di dng b /?2 b, trong b e (0, i ). Xem mi dy nh phn b
= , >2 ... b l biu din nh phn ca mt s nguyn p{b). Khi th t hin nhin
nht c th xc nh trn tp cc dy nh phn l th t t nhin (cn gi l th t t
in) c xc nh nh sau.Ta ni dy nh phn b = b b j ... i trc dy nh phn b'
= b \ h'2 ... b' trong th t t nhin v k hiu {h h < b' nu p{h) < p(h').
Th d: Khi /=3, cc dy nh phn di 3 c lit k theo th t t nhin nh sau
b
p(b)
0 0 0 0
0 0 1 1
0 l 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
Nh th dy u tin s l 0 0 ... 0, cn dy cui cng l 1 1 ... 1. Gi s h b j ... b
l dy ang c. Nhn xt rng, nu dy ny gm ton ch s 1 th qu trnh lit k kt
thc, tri li, dy k tip s nhn c bng cch cng thm 1 (theo modun 2, c nh)
vo dy hin ti. T ta nhn c qui tc sinh dy k tip nh sau:
Tim i u tin (theo th t / = / 7,/7-1, 1) tho mn , = 0.
Gn li b; = \ v. bj = Qvi tt c j > i. Dy mi thu c s l dy cn tm.
86
Chii 4. Bcii on i k
Th d, Xt dy nh phn di 10: h == 1101011111. Ta c / = 5. Do , l /?5 = 1,
v h = 0, i = 6, 7, 8, 9, 10, ta thu c xu nh phn k tip l 1101100000.
Thut ton sinh k tip c m t trong th tc sau
procedure Nex_Bi(_Strig;
f * Sinh xu nh phn k tip theo t in
xu ang c h l?2 ... b ^ 1 1 ... 1
he^in
:=n;
while h - I do
begin
b, = 0;
/;=/-!;
end;
b:= 1;
end;
Di y l chng trnh PASCAL thc hin vic lit k cc dy nh phn di /I bng
phcmg php sinh. Trong chng trnh c thm mt bin count dng m s lng
dy nh phn c sinh bi chng trnh.
{Chng rn lit k dy nh p)
var
, : integer;
b: array[l.. 20] o f 0..];
count: word;
stop: boolean;
procedure Init;
var i: integer;
begin
write('Cho bit di dy nh phn: '); readln(n);
f or := to n do h[ij := 0;
stop fal se;
count ;= 0;
end;
procedure Nex_Bi_Sring;
87
Phn I . L thuyt t hp
var i: integer;
begin
{sinh dy nh phn k tip}
i := n;
while (i >= 1j and (h[ij - 1) do
begin
b[ij := 0;
i : = i - J ;
end;
i f i <j then stop := true
else h[i :
end;
Begin {main program)
Init;
while not stop do
begin
{a ra dy nh phn hin ti}
count .= count +1;
write(count:5, ');
f o r := I to n do write(b[ij:2); writeln;
Next_Bit_String
end;
write('G Enter kt thc... readln;
End.
Lit k cc tp con m phn t ca tp n phn t.
Bi ton t ra l: Cho x = {], 2, , n]. Hy lit k cc tp con m phn t ca X Mi
tp con m phn t ca Xc th biu din bi b c th t gm m thnh phn
a = {ai, a, ....... a j
tho mn
1 < a, < < ... < , < n.
Trn tp cc tp con m phn t ca X c th xc nh nhiu th t khc nhau. Th
t n gin nht l th t t in c nh ngha nh sau: Ta ni tp con = (|, 2 .....
,) i trc tp con a' = (a'|, a' 2 , ... , a') trong th t t in v k hiu l a -< a , nu
tm c ch s : (1 < k < m ) sao cho
a, = a \ ..........= aVi- ; <'*
88
Chng 4. Bi on it k
Th d: x = {1, 2, 3, 4, 5}, = 3. Cc tp con 3 phn t ca X c lit k theo th t
t in nh sau
Nh vy, tp con u tin trong th t t in l
( 1 , 2 , . . . . m)
v tp con cui cng l
{n-m+, n-m+2...... /).
Gi s =(,, 2 , ... , ,) l tp con ang c cha phi cui cng, khi c th chng
minh c rng, tp con k tip trong th t t in c th xy dng bng cch thc
hin cc quy tc bin i sau i vi tp ang c:
Tim t bn phi dy CI/, ; ....... a, phn t a, ^ n - r n + i ,
Thay a, bi , + 1;
Thay bi , + j - /, vi j = /+1, i+2,..., m.
Th d: n = 6, m = 4. Gi s ang c tp con (1, 2, 5, 6), cn xy dng tp con k tip
n trong th t t in. Ta c /=2. thay 2 = v 3 = 4, 4= 5, ta c tp con k tip
( 1, 3, 4, 5).
T , thut ton sinh k tip c th m t trong th tc PASCAL m phng sau
y:
procedure Nexl_Combination;
(* Sinh m-tp con k tip theo th t t in
ca tp con (a, a2 ,..., a j -i n-m + } *}
begin
i:=m;
89
Phn I . L th u y t t hp
while = n-m+i do
a , . - a, + ;
f o r j : =i + to rn do Oj := a + j - i;
end;
Lit k cc hon v ca tp n phn t.
Bi ton dt ra l; Cho x = [ \ , 2 , , n]. Hy lit k cc hon v t /7 phn t ca X Mi
hon v t n phn t ca X c th biu din bi b c th t gm n thnh phn a = (j,
J , , ) tho mn
a,- e X, i = 1, 2,..., n , p ^a^, p
Trn tp cc hon v t n phn t ca Xc th xc nh nhiu th t khc nhau. Th
t n gin nht l th t t in c nh ngha nh sau: Ta ni hon v = (|, 2 .....
a) i trc hon v a' = ( a\ , a'2 , ... , a ,,') trong th t t in v k hiu l a ^ a', nu
tm c ch s': (1 < k< n) sao cho
| , 2 2t ~ ^ k-\ ^ ^ k
Th d: x = {1, 2, 3}. Cc hon v t 3 phn t ca X c lit k theo th t t in
nh sau
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
Nh vy, hon v u tin trong th t t in l
( 1, 2, . . . , )
v hon v cui cng l
{n, n - \ , 1).
Gi s a = (, ... , ) l hon v ang c cha phi cui cng, khi c th chng
minh c rng, hon v k tip trong th t t in c th xy dng bng cch thc
hin cc quy tc bin i sau i vi hon v ang c:
Tm t phi qua tri hon v ang c ch s j u tin tho mn j < (ni
cch khc: j l ch s ln nht tho mn Oj <
Tim a. l s nh nht cn ln hcfn J trong cc s bn phi Uj ;
i ch J vi a. ;
Lt ngc on t j_, n a.
90
Cln//ni; 4. Bi ton lit k
Th d: Gi s ang c hon v (3, 6, 2, 5, 4. 1), cn xy dng tp con k tip n trong
th t t in. Ta c ch s j = 3 (/, =2 < - 5). S nh nht cn ln hn 3 trong cc
s bn phi ca ^3 l j = 4. i ch a.. vi /, ta thu c (3, 6, 4, 5, 2, 1), v cui
cng, lt ngc th t on 4 /, ta thu c hon v k tip (3, 6, 4, 1, 2, 5).
T , thut ton sinh k tip c th m t trong th tc PASCAL m phng sau
y:
procedure Next_Perrnutation:
Sinh hon v k lip iheo th l t in
ca hon v (a,, 2 , .... a) ^ ( n , ! - ......J) *)
begin
Tm j l ch s ln nht tho < j^i *)
j : =n- l ;
whi l e J> do j : = j - ;
(* Tm . l s' nh nht cn ln hn j bn phi Oj *)
k:=n;
while j > Q. do k : =k- ;
Swap(aj, a j ; (* i ch vi *)
f* Lt ngc on t n a *)
r:=n;
s:=j+I ;
while r>s do
begin
Swap(a, a j ; (* i cl (i,. xi d,.
r:=r-J;
s:= s + ;
end;
end;
Ni chung, phng php sinh khng c tnh ph dng: khng phi cu hnh k tip
no cng c sinh mt cch n gin t cu hnh hin ti, mt khc cu hnh ban u
khng phi d tm v ngay c s tn ti mt cu hnh nhiu khi vn cn l nghi vn. V
vy, thng thng thut ton sinh ch c th xy dng c i vi nhng bi ton lit
k t hp n gin. gii nhng bi ton lit k phc tp, ngi ta thng dng thut
ton c trnh by trong mc tip theo, c tnh ph dng cao hn. l thut ton
quay lui.
91
Phn . L thuyt t?
4.4. Thut ton quay lui
Ni dung chnh ca thut ton ny l vic xy dng dn cc thnh phn ca cu hinh
bng cch th tt c cc kh nng. Gi thit cu hnh cn tm c m t bng mt b
gm n thnh phn A'|, A"2...... A'. Gi s xc nh c /-1 thnh phn X , X2 , x. | (m
ta s gi l li gii b phn cp /-1), by gi ta xc nh thnh phn X, bng cch duyi
tt c cc kh nng c th c cho n (nh s cc kh niig t 1 n ,). Vi mi kh
nng j , kim tra xem j c chp nhn c khng, xy ra 2 trng hp:
. nu chp nhn / th xc nh .V, theo j, sau nu i = n th ta c mt cu h nh ,
cn tri li ta tin hnh vic xc nh X^i-
. nu th tt c cc kh nng m khng c kh nng no c chp nhn th quay
li bc trc xc nh li
im quan trng ca thut ton l phi ghi nh ti mi bc i qua, nhng kh
nng no th trnh trng lp. R rng nhng thng tin ny cn c lu tr theo
c cu ngn xp {stack - vo sau ra trc). V th thut ton ny rt ph hp vi vic
lp trnh trn mt ngn ng cho php gi qui. Bc xc nh X, c th din t qua th
tc c t chc qui di y:
procedure Tryi: integer);
var j : integer;
begin
f o r j I to /, do
i f <ch'p nhn j> then
begin
<xc nh X theo j >
i f i - n then <ghi nhn mt cu hnh>
else Try(i+1);
end;
end;
Phn quan trng nht trong th tc trn l vic a ra c mt danh sch cc kh nng
c v vic xc nh gi tr ca biu thc logic <ch'p nhn >. Thng thng gi tr
ny, ngoi vic ph thuc i , cn ph thuc vo vic chn cc kh nng ti /-1 bc
trc. Trong nhng trng hp nh vy, cn ghi nh trng thi mi ca qu trnh tm
kim sau khi < x c n h .V, t h e o j > v tr li t r n g thi c sau li gi Try(i+). Cc
trng thi ny c ghi nhn nh mt s bin tng th (global), gi l cc bih trng
thi.
92
Chi/n:, 4. Bi loan it k
Sau khi xy dng th tc qui Try, on ch(Jri,g inh chnh gii bi ton lit k
c dng:
Begin
nit; Try(I);
End.
trong Jnit l th tc khi to cc gi tri ban u (nhp cr gi tr tham s' ca bi
ton, khi gn cc bin trng thi, bin m , ...).
Qu trnh tm kim li gii theo ihut ton quay lui c th rn t bi Cy tm kim
li gii sau y
Gc
Kh nng chn
Kh nng chn X2
vi X chn
Kh nng chn X,
vi a:,, chn
Hnh 1. Cy lit k li gii theo thut ton quay lui
Di y l 3 th d lit k 3 cu hnh c bn; dy nh phn, hon v v t hp,
bng thut ton quay lui.
Th d 1. Lit k cc dy nh phn di n.
Gii: Biu din dy nh phn di dng b bj ... trong b e {0,1} Th tc qui
Try(i) xc nh b, trong cc gi tr c l 0 v 1. Cc gi tr ny mc nhin c
chp nhn m khng phi tho mn iu kin g (v th bi ton khng cn bin trng
93
Phn . L thuyt t hp
thi). Th tc Ini nhp gi tr n v khi gn bin m count. Th tc Result a ra
dy tm c.
{Chng trinh lit k dy nh phn}
var n: integer;
b: array[1..20j GfO,.l;
count: word;
procedure Ini;
begin
writeCn = readlnn);
count := 0;
end:
procedure Result;
var i: integer;
begin
count := count s I ;
wrife(count:5, \ ');
f o r i := 1 to n do write(b[i]:2);
writeln;
end;
procedure Try(i: integer);
var j : integer;
begin
f o r j ;= 0 to I do
begin
b [ i j : = j ;
i f I - n then Result
else Ti-y(i-l);
end;
end;
Begin {main program)
Init; Tr y l ) ;
writeCGo Enter kt hc... readn;
End.
Cy lit k li gii theo thut ton quay lui lit k cc dy nh phn di 3
c m t trong hnh 2.
94
Chng 4. Bi o i k
Hnh 2. Cy lit k day nh phn di s
Th d 2. Lit k cc hon v ca { 1 , 2 , n }.
Gi: Biu din hon v di dng P 1?2 trong p, nhn gi tr t 1 n n v P i ^
Pj vi i ^ j . Cc gi tr t 1 n n c ln lt c cho P i , trong gi tr j c chp
nhn nu n cha c dng. V th cn phi ghi nh i vi mi gi tr j xem n
c dng hay cha. iu ny c thc hin nh mt dy bin logic bp trong bj
bng rue nu j cha c dng. Cc bin ny cn phi c khi gn gi tr rue trong
th tc Ini. Sau khi gn j cho P cn ghi nhn fal se cho bj v phi gn li true khi thc
hin xong Result hay Try(i-l). Cc phn cn li ging nh bi ton trc.
{Chng trnh lit k cc hon v}
var
n: integer;
p: array [ , .20] o f integer;
b: ar r ay [ L20 o f boolean;
count: word:
procedure Init;
var i: integer;
begin
writen = '); readln(n);
f o r i 1 to n do h[i] ;= true:
count := 0;
end;
procedure Result:
var i: integer;
begin
c o u n t c o u n t + 1 ;
write(count:5, \ ');
95
Phn . L thuyt t hp
f o r i to n do wrie(pi]:3);
writeln;
end;
procedure Try(i: integer);
var j : integer;
begin
f o r i ;= I to n do
i f h[j] then {chp nhn j}
begin
p[i]
h[j] :=fal se; ghi nhn trng thi mi)
i f i = n then Result else Try( +l );
b[j] ;= true; {tr li trng thi c)
end;
end;
Begin (main program)
I nit; Try(l );
yvriteG Enter kt thc... '); readln;
End.
Cy lit k cc hon v ca 1, 2, 3 c cho trong hnh 3. Cc hon v c lit k theo
th t t in tng dn.
Hnh 3. Cy lit k cc hon v ca 1, 2, 3.
Th d 3. Lit k cc t hp chp m ca { 1 , 2 , n }.
Gii: Biu din t hp di dng C| ... c trong
96
Chng 4. Bi ton Hi k
1 <Cj <C' 2<
T suy ra cc gi tr c cho r, l t + 1 n n-m+i. iu ny ng cho c
trng hp / = 1, cn thm vo C(, vi C(, = 0. Cc gi tr c ny mc nhin c chp
nhn. Cc th tc nit. Result c xy dng ging nh bi ton trc.
{ClUnq rnh lit k cc t hp}
var
t , ,77. i i t eger ,
c: array[0..20] o f integer;
count: word;
procedure Inil;
begin
wrie('n, m = readln(n, m);
c[0] := 0; count := 0;
end;
procedure Result;
var i: integer;
begin
count := count s 1; n>ritc(coun:5, \ ');
f o r i := 1 to m do wrie(ci:3); wrifein:
end;
procedure Tryi: inte^er):
var j : integer;
begin
f o r j ;= c//'77+y to do
begin
c[i] : =j ;
i f i = m then Result else rrvf/+Zj;
end;
end:
Begin {main program}
Init;
Try( l ) ;
write(' G Enter kt thc... '); readln;
End.
97
Phn 1. L thuyt t hp
Cy lit k cc t hp chp 3 t {1, 2, 3, 4, 5 c cho trong hnh 4. D thy cc t
hp c lit k theo th t t in tng dn.
Hnh 4. Cy lit k t hp chp 3 t {1, 2, 3, 4, 5}
Trong nhiu bi ton, vic xc nh iu kin <chp nhn }> khng phi l n
gin, n i hi phi c mt trnh t chc nht nh. R rng phc tp ca bi
ton ph thuc rt nhiu vo phc tp ca iu kin ny. Ni chung, ngi ta c
gng thu hp din c cc kh nng j v tinh gin ti a vic tnh iu kin chp nhn
j . y cng l cch ch yu nng cao tnh kh thi ca bi ton lit k.
Di y trnh by bi ton Xp Hu, l mt bi ton kinh in minh ho thut
ton quay lui.
Th d 4. Bi ton X'p Hu. Lit k tt c cc cch xp n qun Hu trn bn c nxn sao
cho chng khng n c ln nhau.
Gii: nh s ct v dng ca bn c t 1 n n. Mi dng c xp ng mt qun
Hu. Vn cn li l xem mi qun Hu c xp vo ct no. T dn n vic
biu din mt cch xp bng b n thnh phn X X ... x, trong X = j ngha l qun
hu dng / c xp vo ct j . Cc gi tr c cho X l t 1 n n. Gi tr j l c
chp nhn nu (/, j ) cha b cc qun Hu trc chiu n. kim sot c iu
ny, ta cn phi ghi nhn trng thi ca bn c trc cng nh sau khi xp c mt
qun Hu. rng, theo lut c, qun Hu n ngang, dc v hai ng cho.
Vic kim sot theo chiu ngang l khng cn thit v mi dng c xp ng
mt qun Hu. Vic kim sot theo chiu dc c ghi nhn nh dy bin logic dj vi
qui c Oj bng true nu ct j cn trng. i vi 2 mg cho ta nhn xt rng mt
ng c phng trnh i+j = const, cn ng kia i-j = const (2 < i+j < 2n, 1-/7 < i-j <
n- l ) , t ng cho th nht c ghi nhn nh dy bin lgic hj (2 < j < 2n) v
ng cho th hai, nh dy bin logic Cj {\-n < j < n- \ ) vi qui c cc ng ny cn
t r n g n u b i n t c m g n g c g i t r true. C c b i n t r n g t h i Qj, b , Cj c n c k h i g n
gi tr true trong th tc Init. Nh vy gi tr j c chp nhn khi v ch khi c 3 bin
98
Chng 4. Bi o i k
O, b^p C.j cng c gi tr true. Cc bin ny cn gn \ false khi xp xong qun Hu
th i v tr li true sau khi gi Result hay Try{-\-). Cc phn khc c gii quyt nh
cc th d trc.
{Chng trinh gii bi ton Xp Hu}
var
n: integer;
x: array L . 20] o f integer:
a: array [1. 20] o f boolean:
h: array[2.A0] o f boolean;
c: array[~19.J9] o f boolean;
count: word;
procedure Init;
var i: integer;
begin
writeCn = readln(n):
count ;= 0;
f o r i := I to n do a[JI ;= true;
f or i ;= 2 to do h[i] ;= true:
f o r i ; = l - n 0 - d o C' lij ; = t r u e :
end;
procedure Result;
var i: incer;
begin
count := couni +l ;
write(counf:5, \ ');
f o r i ;= 7 to n do wnte(x[ij:3);
writeln;
end;
procedure Tryi: integer);
varj : integer;
begin
f o r j ;= 1 to n do
i f a[j] and h[i+jj and c[i-jj then
begin {chp nhn j j
x l i i
99
Phn 1. L thuyt t hp
{hi nhn trn hi mi}
al :=fal se; h[i+jl f al se; c[i-jj :=false,
i f i = n then Result else Tr y( i + ):
{tr li trng thi c}
al j l := true; hi+jl := true; c[i-jl . = true;
end;
end;
Begin (main program)
Init;
TryiD;
wriiei' Go Enter kt thc... '); readin:
End.
Di y l s cch xp Hu ng vi mt s' gi tr n\
n 4 7 8 9 10
11
12 13 14
2 40 92 352 724 2680 14200 73712 i 365596
Nghim u tin m chcfng trnh tm c ng \ ' \ n = 8 l
.v = ( l , 5. 8, 6, 3, 7, 2, 4)
n tng ng vi cch xp Hu cho bi hnh 6.
Hnh 6. Mt li gii ca bi ton xp hu khi = 8
Cy lit k li gii theo thut ton quay lui lit k cc cch xp hu vi /7=4
c m t trong hnh 5 (hai nhnh cn li l i xng vi hai nhnh u).
100
't'
&
-
%
Ccic xp (2, 4, 1, 3)
Hnh 5. Cv lit k cc cch xp hu trn bn c 4x4
Th d 5. Lit k tt c cc cch xp k< n qun Hu trn bn c nxn sao cho chng
knong n c ln nhau ng thi chng khng ch tt c cc ca bn c.
101
Phn I. L thuyt t hp
Gii. Ta c th gii bi ton t ra bng cch lit k tt c cc cch chn ra k dng
xp cc con hu, ng vi mi cch chn p dng phng php th d 4 lit k
cc cch xp hu vo k dng chn sao cho chng khng n c ln nhau ng thi
khng ch tt c cc ca bn c. Chng trnh gii bi ton ny ta khng dn ra
y. iu ng lu l khc vi bi ton trong th d 4, bi ton y trong rt nhiu
trng hp l khng c li gii. Trong bi ton ny, ngi ta cn quan tm n s k
nh nht tho mn iu kin t ra. Bng di y cho thy mt s gi tr bit ca
k
n 1 2 3 4 5 6 7 8 9 10 11 12
13
Krn 1 1
1 t 3 3 4 4 5 5 5 5 7
7
n 14
1
16 17
1
19 120
1
22 23 24 25
^niin
8
1 ^
9 9
1<10 <11
1 1
<13 <13 <13
13
Cc c du bt ng thc l cn cha xc nh c chnh xc gi tr ca k,.
Vi n= 15, lit k tt c cc li gii ca bi ton khi k =9 v chng minh bi ton
khng c li gii khi k=8 chng trnh vit trn ngn ng c ca cc tc gi Gibbons v
Webb phi s dng thi gian tng ng l 58.4 v 23.5 gi trn my DEC ALPHA
3000/600. ch ra vi =16, khi k=s bi ton khng c li gii, chucfng trnh ni trn
chy mt 113.7 gi my.
Hy vng rng th d cui cng ny gip chng ta, mt mt, hnh dung dc s
phc tp ca cc bi ton lit k t hp, mt khc, thy rng lit k vi s tr gip ca
my tnh l bin php gii nhiu vn tn ti trong t hp.
Chng 4. Bi on l it k
Bi tp
Trong cc hi 1-5 hy v cy lit k li gidi theo thut ton quay lui gii cc hi
ton Ht k t hp t ra.
1. Gi s A, B, . . F trn hnh 1 l cc hn o v cc on ni l cc cy cu ni
cnng. Mt ngui dd lch Khi hnh A i t iin o ny sang hn o Ichc. Ngi
du ich s dng ii n tra nu nh tip tc i s phi i qua ci cu no hai ln.
(a) Lit k cc cch m ngi du lch c th i cho n khi dng li n tra.
(b) Cho bit nhng im no ngi du lch c th dng li n tra?
2. Hai i bng chuyn A, B thi u trong mt gii v ch quc gia. i thng trong
trn u s l i ginh c ba hip thng trc. Hy lit k tt c cc kh nng c th
ca trn u gia hai i.
3. Lit k tt c cc cch mt th t ca 4 s' t nhin 1, 2, 3, 4.
4. Lit k cc xu nh phn di 5 khng cha hai s 0 lin tip.
5. Lit k cc chnh hp lp chp 4 t 3 ch A, B, c khng cha hai ch A hoc hai ch
B.
Lp trnh trn PASCAL gii cc hi ton lit k sau bng thut ton quay lui
6. Lit k lt c cc phn t ca
D = { x = ( x p x 2 , . . . , x j : ^ c i j X j = b , X j g { 0 , 1 } , ; = 1 , 2 , . . . , / ? }
7=1
trong ;, 2^^ b l cc s nguyn dng.
7. Lit k tt c cc phn t ca
D = = = b , Xj }
7=1
trong /, 2 , ... , a, h l cc s nguyn dng, z+l tp cc s nguyn khng m.
8. Cho tp X = ( 1, 2, n . Hy lit k tt c cc phn hoch tp X ra thnh k tp con
{ k < n) .
103
Phn J. L thuyt l hp
9. Cho s nguyn dcmg N. Hy lit k tt c cc cch biu din N di dng lng ca
mt s s nguyn dng.
10. Hnh vung thn b (ma phng) bc n l ma trn vung cp n vi cc phn t l
cc s t nhin t 1 n tho mn tnh cht: "Tong cc phn t trn mi dng, mi
ct v mi mt tronq hai ng cho u c cng mt gi tr".
Th d: Di y l mt ma phng bc 3
8 1 6
3 5 7
4 9 2
i vi ma phng ny, ta c tng cc phn t trn cc ng l:
8-f 1 -i-6 = 3 + 5 + 7 = 4 + 9 + 2 = 15;
tng cc phn t trn cc ct l:
8 + 3 + 4 = 1 + 5 + 9 = 6 + 7 + 2 = 15;
tng cc phn t trn hai ng cho l:
8 + 5 + 2 = 6 + 5 + 4 = 15.
Hy vit chng trnh lit k tt c cc ma phng bc n = 3, 4 khng sai khc nhau bi
cc php bin hnh n gin (quay, i xng).
(Ch : Bi ton m s lng ma phng bc n mi ch gii c vi / = 3 , 4 , 5.)
11. Tam gic thn b. Cho mt li vung gm nxn v s nguyn dng k. Tim
cch in cc s t nhin t 1 n 3n-3 vo cc ct u tin, dng cui cng v
ng cho chnh sao cho tng cc s in trong ct u tin, dng cui cng v ng
cho chnh ca li u bng k.
V d: Vi / = 5, : = 35 ta c cch in sau:
11
10 2
9 3
1 7
4 5 6 8 12
Hy pht trin thut ton da trn thut ton quay lui ch ra vi gi tr ca n v k cho
trc bi ton t ra c li gii hay khng? Nu cu tr li l khng nh ch cn a ra
mt li gii.
104
Clnng 4. Bi ton l i ! k
12. Bi ton v 8 qun c: Cho 8 qun c: Vua (V), Hu (H), 2 con Nga (N), 2 con
Tng (T) khc mu, 2 con Xe (X). Tim cch xp chng ln bn c quc t 8x8 sao
cho chng khng ch c nhiu ca bn c nht. Lu rng: V tr qun c ng
khng coi l b n khng ch, Cc v tr nm trong kh nng khng ch ca qun c
nhng b mt qun no chn ng di chuyn n cOng coi l cha b qun c
khng ch.
Tli d: Cch xp cc qun c trong niih v di y khng ch c 49 :
T
N
N
H
V
X
X
a b c d e f g h
(Cc bi en l cha b khng ch bi cc qun c xp trn bn c).
Hy s dng thut ton quay lui gii bi ton t ra.
13. in s. Vi chng trnh gii bi ton sau y;
Cho bng vung gm N x N vung. Cc dng ca bng c nh s t 1 n N, t
trn xung di. Cc ct ca bng c nh s t 1 n N t tri sang phi. Bn cnh
mi ct v mi dng ca bng u c ghi mt s nguyn dng. Gi X l s vit bn
cnh ct i, cn Yj l s vit bn cnh dng j.
Yu cu: Cn in cc s nguyn dng vo mt s ca bng sao cho:
Cc s c in phi khc nhau tng i;
Mi dng v mi ct cn in ng hai s;
Tch ca hai s in trn ct / phi bng X,;
Tch ca hai s in trn dng j phi bng Yj-,
Hnh di y cho th d v li gii ca mt bi ton dng va nu.
105
Phn I. L thuyt t hp
6 3 18
9 1 9
12 11 132
4 8 32
2 5 10
54 6 12 20 88
D liu: Vo t file vn bn NUMBOARD.INP:
Dng u tin ghi s nguyn N (2 < yv < 10);
D n g t h h ai ghiy v s x , , (1 <A; < \000, i N):
Dng tba ghi N s Y, (1 ^ Y j < 1000,y = 1 , N).
Kt qu: Ghi ra file vn bn NUMBOARD.OUT: Dng th ] ghi N s' trn dng rh I
ca bng; Dng th hai ghi N s trn dng th hai ca bng,..., Dng th N ghi N s
trn dng th N ca bng. Qui c: Ghi s' 0 v tr cc khng c in s.
V d: Ni dung ca cc file d liu v kt qu tng ng c th nh sau
NUMBOARD.INP NUMBOARD.OUT
2 1 3
2 12 2 4
3 8
3 1 2 0
5 8 18 5 0 6
2 30 12 0 4 3
5 6 3 0 0 0
54 6 12 20 88 9 0 1 0 0
18 9 132 32 10 0 0 12 0 11
0 0 0 4 8
0 2 0 5 0
106
Ch 5. Bi on ti i c! hp
5
BI TON TI U
5.1. Pht biu bi ton
Trong rt nhiu vn ng dng thc t ca t hp cc cu hnh t hp cn c gn
cho mt gi tr bng s' nh gi gi tr s dng ca cu hnh i vi mc ch s dng
c th no . Khi xut hin bi ton: Hy la chn trong s cc cu hnh t hp
chp nhn c cu hnh c gi tr s dng tt nht. Cc bi ton nh vy chng ta s
gi l bi ton ti u t hp. Di dng tng qut bi ton ti u t hp c th pht biu
nh sau:
Tim cc tiu (hay cc i) ca phim hm
f ) -> min (max),
vi iu kin
.r e D,
trong D l tp hu hn phn t.
Hm f { x ) c gi l hm mc tiu ca bi ton, mi phn X e D c gi l
mt phng n cn tp D gi l tp cc phng n ca bi ton.
107
Phn 1. L thuyt t hp
Thng thng tp D c m t nh l tp cc cu hnh t hp tho mn mt s
tnh cht cho trc no .
Phng n X* e D em li gi tr nh nht (ln nht) cho hm mc tiu c gi l
phng n ti u, khi gi tr / = f {x ) c gi l gi tr ti u ca bi ton.
Di y chng ta s gii thiu mt s m hnh ti u ho t hp truyn thng. Cc
m hnh ny, mt mt, l nhng m hnh c rt nhiu ng dng thc t, mt khc,
chng gi vai tr quan trng trong vic nghin cu v pht trin l thuyt ti u ho t
hp.
Bi ton ngi du lch.
Mt ngi du lch mun i tham quan n hnh ph r , , Tj, r. Xut pht t nii thnh
ph no ng! du lch mun i qua tt c cc thnh ph cn li, mi thnh ph ng
mt ln, ri quay tr li thnh ph xut pht. Bit C l chi ph i t thnh ph T n
thnh ph Tj (/, j = , 2,..., /), hy tm hnh trnh (mt cch i tho mn iu kin t
ra) vi tng chi ph l nh nht.
R rng ta c th thit lp tng ng 1-1 gia hnh trnh
vi mt hon v (;r(l), tt.),..., nn)) ca n s t nhin 1, 2,..., n. t
f { 7 ) =
v k hiu n l tp tt c cc hon v 7= (; (l ), 7t{ 2 ) ..... n{n) ) ca n s t nhin 1, 2,...,
n. Khi bi ton ngi du lch c th pht biu di dng bi ton ti u t hp sau:
min {f{7) : ;rGn }.
C th thy rng tng s hnh trnh ca ngi du lch l n\, trong ch c (/7-1)!
hnh trnh thc s khc nhau (bi v c th xut pht t mt thnh ph bt k, nn c
th c nh mt thnh ph no l thnh ph xut pht).
Bi ton ci ti.
Mt nh thm him cn em theo mt ci ti c trng lng khng qu b. C n vt
c th em theo. vt th j c trng lng l Oj v gi tr s dng l Cj 0 = 1 , 2,..., /).
Hi rng nh thm him cn em theo cc vt no cho tng gi tr s dng ca
cc vt em theo l ln nht?
Mt phcmg n em ca nh thm him c th biu din bi vect nh phn
di n: X = {X, X2 ,..., x j , trong Xj = 1 c ngha l vt th j c em theo v Xj = 0
c ngha tri li, Vi phng n X, gi tr vt em theo l
108
Chirn 5. Bi on ti u t hp
f { x ) = c ^ x ^ ,
--i
tng trng lng vt em theo l
v bi ton ci ti c th pht biu di dng bi ton ti u t hp sau:
Trong s cc vect nh plin di n tho mn iu kin g(x) < b, hy tm vect /
cho gi tr nh nht ca hm mc tiu/(.v);
min {/U): ,>(.v) <b \.
Bi ton cho thu my.
Mt ng ch c mt ci my cho thu. u thng ng ta nhn c yu cu thu
my ca m khch hng. Mi khch hng / s cho bit tp N cc ngy trong thng cn
s dng my (/ = 1, 2,..,, m). n g ch ch c quyn hoc l t chi yu cu ca khch
hng hoc l nu nhn th phi b tr my phc v khch hng i ng nhng ngy m
khch hng ny yu cu. Hi rng ng ch phi tip nhn cc yu cu ca khch nh
th no cho tng s ngy s dng my l ln nht.
K hiu / = {1, 2,..., m] l tp ch s khch hng, s l tp hp cc tp con ca /.
Khi tp hp tt c cc phng n cho thu my l
D = \ J c: s \ Ni-C\ N = 0 , Vk ^p, k , p e J \.
v vi mi phng n 7 6 D
/ ) = Z I M
j s J
s l tng s ngy s dng my theo phng n . Bi ton t ra c th pht biu di
dng bi ton ti u t hp sau:
max {f ( J) : J e D .
Bi ton ng thng.
C n vt vi trng lng l W|, W , w. Cn tm cch xp cc vt ny vo cc
ci thng c cng dung lng l h sao cho s thng cn s dng l nh nht c th
c.
Ta c th gi thit l
vv, < h , i = 1,2,.., n.
109
Phn I . L thuyt t hp
Do s thng cn s dng cha tt c cc vt l khng qu n. Vn l cn s
thng t nht. Ta s m sn n ci thng. Bi ton t ra l hy xc nh xem mi mt
trong s n vt cn c xp vo ci thng no trong s n ci thng m cho s
thng cha l t nht. Phn tch va nu cho thy bi ton ng thng l bi ton ti
u t hp.
Bi ton phn cng.
C n cng vic v n th. Bit Cj l chi ph cn tr th / hon Ihnh cng vic j (/, j =
1, 2,..., r). Cn phi thu th sao cho cc cng vic u hon thnh v mi th ch thc
hin mt cng vic, mi cng vic ch do mt th thc hin. Hy tm cch thu sao cho
tng chi ph thu th l nh nht.
R rng mi mt phng n b tr th thc hin cc cng vic
Cng vic Th thc hin
1
^ 1 )
2
4 2 )
... ...
n
7 i { n )
tng ng vi mt hon v n = ( ^ 1 ) , n{2).....Tin)) ca / s t nhin 1, 2,..., n. Chi ph
theo phng n b tr trn l
f { ) + Crn2).2 + +
Bi ton t ra, c dn v bi ton ti u t hp:
min {f { 7 ) : 7 }.
Bi ton lp lch.
Mi mt chi tit trong s n chi tit D|, D2 ,:., D cn phi c ln lt gia cnR trn m
my M, M,. Thi gian gia cng chi tit D, trn my Mj l . Hy tm lch (trnh
t gia cng) cc chi tit trn cc my sao cho vic hon thnh gia cng tt c cc chi
tit l sm nht c th c.
Ta s xt bi ton trn vi thm gi thit l cc chi tit phi c gia cng mt cch
lin tc, ngha l qu trnh gia cng ca mi mt chi tit cn phi c tin hnh mt
cch lin tc ht my ny sang my khc khng cho php c khong thi gian dng khi
chuyn t my ny sang my khc. Tmh hung nh vy rt hay gp trong cc ngnh
sn xut cng nghip. Chng hn, trong cng nghip luyn thp, vt liu cn phi c
gia cng mt cch lin tc v vic gin on s dn n s gim nhit ca vt liu v
110
Ch 5. k i of ()i li hp
iu cn tr vic gia cng tip theo. Tnh hung trg l cng c th xy ra tropg
mt s ngnh ca cng nghip ho cht.
R rng mi mt lch gia cne cc chi tit trn cc my trong tnh hung nh vy
s tng ng vi mt hon v rr=(7 {\ ), /)) ca n s t nhin 1, 2,..., n. Thi
gian hon thnh theo lch trn c tnh bi hm s
/7-1 ni
/'(TT) - t(/ +))
J = \ =l
C-. = max
\ < k <m
trong Cj = Sj- s,, Sj - thi im bt u thc hin vic gia cng chi tit / (/, / - 1,
2,..., n). neha ca h s C, c th gii ihch nh sau; n l tng thi gian gin on
(c tnh t khi bt u gia cng chi tit 0 gy ra bi chi tit j khi n c gia cng
sau chi tit / trong lch gia cng. V vy, c, c th tnh theo cng thc:
i-
. / = 1 / = 1
V vy, bi ton t ra dn v bi ton ti u t hp sau
min {f{7)\ ; r G n ).
Trong thc t lch gia cng thns cn phi tho mn thm nhiu iu kin khc.V
nhng ng dng quan trng ca vn ny m trong li u ho t hp hnh thnh
mt lnh vc l thuyt ring v cc bi ton lp lch gi l l thuyt lp lch (hay quy
hoch lch).
5.2. Cc thut ton duyt
5.2.1. Duyt ton b
Mt trong nhng phng php hin nhin nht gii bi ton ti uu t hp t ra l;
Trn c s cc thut ton lit k t hp ta tin hnh duyt tng phcmg n ca bi ton,
i vi mi phng n ta u tnh gi tr hm mc tiu ti n, sau so snh gi tr
hm mc tiu ti tt c cc phng n c lit k tm ra phng n ti u. Phng
php xy dng theo nguyn tc nh vy c tn gi l phng php duyt ton b. Duyt
ton b l kh c th thc hin c ngay c trn nhng my tnh in t hin i nht.
V d lit k ht
15! = 1 307 674 368 000
hon v trn my tnh in t vi tc tnh ton 1 t php tnh mt giy, nu lit k
mt hon v cn phi lm 100 php tnh, th ta cn mt khong thi gian l 130767 giy
111
Phn 1. L thuyt t hp
> 36 ting ng h! V vy cn phi c nhng bin php nhm hn ch vic tm kim
th mi c hy vng gii c cc bi ton ti u t hp thc t. Tt nhin c th ra
nhng bin php nh vy cn phi nghin cu k tnh cht ca bi ton ti u t hfp c
th. Nh nhng nghin cu nh vy, trong mt s trcmg hp c th ta c th xy dng
nhng thut ton hiu qu gii bi ton t ra. Tuy nhin phi nhn mnh rng trong
nhiu trng hp (v d trong cc bi ton ngi du lch, bi ton ci ti, bi ton cho
thu my nu trn) chng ta cha th xy dng c phng php hu hiu no khc
ngoi ohng php duyl ton b. Khi , mt vn t ra l trong qu trnh lit k li
gii ta cn tn dng cc thng tin tm c loi b nhng phng n chc chn
khng phi l ti u. Trong mc tip theo chng ta s xt mt s tm kim nh vy
gii cc bi ton ti im t hp m trong ti liu tham kho c bit n vi tn gi:
thut ton nhnh cn.
5.2.1. Thut ton nhnh cn.
Ta s m t t tng ca thut ton trn m hnh bi ton ti UXI t hp tng qi ' t sau
min f{x) X &D ],
trong D l tp hu hn phn t.
Gi thit rng tp D c m t nh sau
D - \ x = (.r,, X j , x) e A|X ... X A: X tho mn tnh cht P],
vi A , A , l cc tp hu hn, cn p l tnh cht cho trn tch cac>\| X / i j X . . . X
-
Nhn thy rng, cc bi ton va trnh by mc trc u c th m t di dng
bi ton trn.
Vi gi thit v tp D nu trn, chng ta c th s dng thut ton quay lui lit
k cc phng n ca bi ton. Trong qu trnh lit k theo thut ton quay lui, ta s
xy dng dn cc thnh phn ca phng n. Mt b gm k thnh phn (|, 2 , J.)
xut hin trong qu trnh thc hin thut ton s gi l phng n b phn cp k.
Thut ton nhnh cn c th p dng gii bi ton t ra nu nh c th tm
c mt hm g xc nh trn tp tt c cc phng n b phn ca bi ton tho mn
bt ng thc sau:
g(a,, 2----- - a^) < min j/(x): .r e D, X; = a , , = 1, 2,..., (*)
vi mi li gii b phn (|, 2 , a^, v vi mi /: = 1, 2,...
Bt ng thc (*) c ngha l gi tr ca hm g ti phng n b phn (|, 02, a^)
l khng vt qu gi tr nh nht ca hm mc tiu ca bi ton trn tp con cc
phng n
112
Chng 5. Bi o i u l h>
C2, .... = \ X e D : A', ^ O J = 1, 2 ...... k },
hay ni mt cch khc, 2 J , a ) l cn di ca gi tr hm mc tiu trn tp
0 ( | , Ci2 , a^). V l , hm c gi l hm cn di, v gi tr g{a^, Oj, , O)
c gi l cn di ca tp D{a^, 2, .... C). Do c ih ng nht tp DiO, 2, .)
vi phcmg n b phn (a,, 2 ...... Ci^), nn ta cng gi gi tr gici, /2, . . . , .) l cn
di c a phng n b phn C2 , .... Ch).
Gi s c hm g. Ta xt cch s dng hm ny gim bt khi lng duyt
trong qu {rnh duyt tt c cc pting n theo inut tcn quay lui. Trong qu tnnli lii
k cc phig n c th thu c rnt s phng n ca bi ton. Gi X l phng
n vi gi tr hm mc tiu nh nht trong s cc phng n tm c, k hiu 7 =
/ ( X ). Ta s gi X l phng n tt nht hin c, cn / l k lc. Gi s c / ,
khi nu
> / ,
th t bt ng thc (*) suy ra
/ < 2 ........../<) < min |/(.v): e D, .V, =: a, , / = 1, 2,..., k],
v th tp con cc phng n ca bi ton D(/j, 2. . <) i-'hac chn khng cha phng
n ti u. Trong trng hp ny ta khng cn tip tc pht trin phng n b phn {,
2 , . , a ), ni cch khc l ta c ih loi b cc phng n trong tp D(|, 0 2 , , <3^)
khi qu trnh tm kim.
Thut ton quay lui lit k phng n cn sa i li nh sau
procedure Try(k);
(* Pht trin phng n b phn (a,, 2, a ; , . , )
theo thut ton quay lui c kim tra cn di
trc khi tip tc pht trin phng n *)'
begin
for GA do
if <chp nhn Si,>then
begin
Xk := a,;
if k = n then < Cp nht k l o
else
if g(a,, a ^ , a j < f then Try(;-+)
end;
end;
113
Phn /. L thuyt t hp
Khi , thut ton nhnh cn c thc hin nh th tc sau
procedure Nhanh_can;
begin
f := +co;
(* Nu bit mt phng n X no th c th t f = f( X) *)
Try(J); _
if f < +00 then < f l gi tr ti ii, X l phoig n ti u >
else < bi ton khng c phng n >;
end;
Ch rng nu trong th tc Try ta Ihay cu lnh
if k = n then < Cp nht k l o
else
if g(a a j , a , ) < f then Try(k+1)
bi
if k = n then < Cp nht k l o
else Try(k+1)
th th tc Try s lit k ton b cc phng n ca bi ton, v ta thu c thut ton
duyt ton b.
Vic xy dng hm g ph thuc vo tng bi ton ti u t hp c th. Thng thng ta
c gng xy dng n sao cho;
Vic tnh gi tr ca g phi oi gin hn vic gii bi ton ti u t hp v
phi ca (*).
G i t r c a 2. . t ) p h i s t v i g i t r c a v p h i c a ( * ) .
Rt tic l hai yu cu ny trong thc t thng i lp nhau.
Di y chng ta s xt mt s th d minh ho cho thut ton va trnh by.
a) Bi ton ci ti.
Chng ta s xt mt dng bi ton ci ti na rt hay c s dng trong cc ng
dng thc t (v nguyn tc, m hnh y v m hnh trnh by trong mc 5.1 l c
th qui dn v nhau). Thay v c n vt nh m hnh trong mc 5.1, y ta gi thit
rng c n loi vt v s lng vt mi loi l khng hn ch. PLhi ta c m
hnh bi ton ci ti bin nguyn sau y: C n loi vt, vt th j c trng lng
J v gi tr s dng l Cj 0 = 1 - 2,..., n ) . Cn cht cc vt ny vo mt ci ti c
trng lng l h sao cho tng gi tr s dng ca cc vt cht trong ti l ln nht.
114
ChU(nf 5. Bi (XU t oi u hp
M hnh ton hc ca bi ton c dng sau; Tini
/ - m a x { / ( x ) = Xc , - v , : Z , - v , 6 2 , , y = 1 , 2 , . . . , }, ( 1)
7= 1 7= 1
trong l tp cc s nguyn khng m.
K hiu D l tp cc phng n ca bi ton ( 1):
D a X <h, .V z , j - 1 , 2 . . . n }.
./ I
Khng gim tng qut ta gi thit rng cc vt c nh s sao cho bt ng thc
sau c tho mn
c j a ^ > \ l a 2 > . . . > c l a . (2)
xy dng hm tnh yn di, cng vi bi ton ci ti (1) ta xt bi ton ci tii bin
lin tc sau: Tim
g = max { / ( x ) = Y,cxr. YjjXj < b, Xj > o, = l , 2 , . . . , / 7 },
./-1
(3)
Mnh . Phng n fi u c a hi n (3) l vec X - ( A'| , ' 2 , A'^, ) vi cc
thnh phn dc xc nh hi cng lc:
,V] = b / Ci , = . . . = = 0 .
) gi r ti u l /a ,
Chng minh. Thc vy, xt A' - (.V,. Ai,.... ,v) l mt phng n lu ca bi ton (3).
Khi t bt ng thc (3) v do ,v^> 0, ta suy ra
C)X^ > ( C / C ) j. Xj , j = 1, 2, n
suy ra
^ J ^ J - K - '; = (^1 = S -
;=1 ./ = 1 j = \
Mnh c chng minh.
By gi, gi s ta c phng n b phn cp k: (W|, w). Khi gi tr s dng
ca cc vt ang c trong ti l
. = C /| + C-2/2 + ' - + Q-
115
Phn . L huy t UT)
v Irng lng cn li ca ci ti l
6^. = - aj W| + 2 ^2 -
Ta c
max{ fix): X G D, = Uj = 1, 2, k ]
^ max {* + ' Cj Xj : Y^j Xj < b^, Xj G z ^ , j = k + , k 4 2,...,}
j=k*-\ J=k-^\
<-^ + max{ > 0,7 = : + 1,^ + 2,...,;?}
J^.kri j=k^\
(theo Mnh : gi tr s hng th hai l b/. /
= -t + c ,
Vy ta c th tnh cn trn cho phng n b phn ( , 2- i) bi cng thc
Ch : Khi tip tc xy dng thnh phn th ^+1 ca i gii, cc gi tr c cho
s l 0, 1,..., [h/. / a,^.| ]. Do c kt qu ca mnh , khi chn gi tr cho Xi.+ ta s duyt
cc gi tr c theo th t gim dn.
Th d. Gii bi ton ci ti sau theo thut ton nhnh cn va trnh by
f{x) = 10 -V| + 5 J2+ 3 JCj + 6 X4 >max,
5 X, + 3 ^2 + 2 Xj + 4 X4 < 8,
Xj G ,y =1, 2, 3, 4.
Gii.
Qu trnh gii bi ton c m t trong cy tm kim trong hnh 1. Thng tin v mt
phoTig n b phn trn cy c ghi trong cc trn hnh v tng ng theo th t sau:
u tin l cc thnh phn ca phng n, tip n, l gi tr ca cc vt ang cht
trong ti, vv - trng lng cn li ca ti v g - cn trn.
Kt thc thut ton, ta thu c phng n ti u l / = ( 1, 1,0, 0), v gi tr ti u
l / = 15.
116
Cln> 5. Bi l on t i u t hp
1....... .
Gc; +' X)
^ = 0
( l ) ; a = 10;
k- = 3 ; - I 5
(0 ); =0 ;
vi- 8 ; . ^ - 4 0 / 3
-v, = 0
( 1. 1): =15;
H ' = 0 ; .?=15
a-3 = 0
( 1, 1,0); =15;
H ' = 0 ; A - 15
.V, = 0
ri,.Oi: - 10;
VI-3; ,>=14,5
I
Loi v cn trn < k lc
Thu c phng n ca bi lon.
Cp nht li k lc.
Hnh 1. Gii bi ton ci ti bng thut ton nhnh cn
Di y l chng trnh trn PASCAL gii bi ton ci ti theo thut ton nhnh
cn va trnh by.
uses crt;
const i n f = 25000;
type arm = array 1 ..50J of int er;
arrn - array! . .50/ of real;
var
c , a : a r n i l ;
x , x o p t , i n d : arm;
n : integer:
w,fopt, cost, weight: real:
procedure Init:
var i,j,tg:integer;
f.real:
117
Pln . L thuyt t hp
begin
Sap xep cac do vat theo thu u kon^ an cua c[i]/a[il
fopt :=0 ; weight:- 0 :
f o r i:= to n do d[i]:~i;
f o r i:= to n- 1 do
heqin
f o r j:=i'\-J O n do
ifc[i]la[i]< c[j]la[jj) hen
begin
:=c[i: c[iJ:=c[j; c f j j - t ;
:=a[j; a[i.a j ; a[j:=f;
tg:=ind/ij; ind[il :=ind[jj: ind[j]:=g;
end;
end;
end;
procedure Readfiie;
var i : integer;
f : text; name : siring;
begin
writeCCho ten fi le du lieu: ');readln(name);
assign(f,name):rese(f); read(f,n,w);
f o r j : = l to n do read(f,a[jj);
f o r j : = I to n do read(f,c[jj);
close(f);
writeln(Trong luong cai U: \ w : l :0);
wnteln(VEC TO GIA TRJ DO VAT);
f o r j : ~ I to n do write(c[j]:4:0); writeln:
wnteln(VEC TO TRONG LUONG DO VAT);
f o r j : - l to n do write(a[jj:4:0); writeln:
end;
procedure Ghinhan_kyjuc;
var i: integer;
begin
i f cost > f o p t then
begin
xopt: fopt:=cost;
end;
end;
118
Chuang 5. Bi toan toi li to hap
procedure Branch _and_Boiind{i: inte ge r):
var j,t:integer;
begin
t:=trunc((w-weight}lalij):
f o r j:= down to Odo
begin
x[i]-=i;
w e i g h t : - - w e i g h t + a f i ] ;
c o s t : = C O S + c / / y / ;
i f i = n t h e n G h i n h a n j c y j u c
e l s e
i f cost + c[i+I "^'(w-weight)la[i-\~l J > fopt
then Branch_and_Boiind{/+7 j;
weight:=weight-a[ i /*.v/ ij:
cost:=cost-c[ /y*x//7 ;
end;
end;
procedure Inkc[;
var j,i:integer;
begin
KKr QUATINHTOAN
writeln(Tong gia tri cua cac do vat: ' f o p t : l : 0 ):
wriieln('Phuong an dent do: '):
f o r j : = J to n do writeln('So luong do v a t i n d l j j / : \xopt[j]:4);
write('Go Enter de tiep tuc...');n'aclln;
end;
BEGIN
clrscr;
Readfile;
Init;
Branch _and_Bound( 1);
Inkq: readin:
END.
119
Phn I. L thuyt l hp
b) Bi ton ngi du lch.
M hnh ca bi ton trnh by trong inc trc. C nh thnh ph' xul pht l 7|,
bi ton ngi du lch dn v bi ton:
Trn cc tiu ca hm
-h....... -') = 1-^2] + f'U;- X 3 ] + ... + c[x,., A-J + [a', 11 -> min,
vi diu kin
(x'2 , A ' v ........... v) l hon v ca cc s 2, 3 , n.
K hiu
r = min { ([/,;] , /, = 1, 2 , , i
l ch ph i li nh nht gia cc thnh ph.
c c thut ton nhnh cn gii bi ton ngi du lch, trc ht cn a ra
cch nh gi cn di cho phng n b phn. Gi s ta ang c phng n b phn
(W|, <). Phng n ny tciig ng vi hnh trnh b phn qua k thnh ph:
T I -> TiUj) T{u..^) -> T{u).
V vy, chi ph phi tr theo hnh trnh b phn ny s l
= c [ l , 2 ] + c[ 2> 3] +
pht trin hnh trnh b phn ny thnh hnh trnh y , ta cn phi i qua n-k
thnh ph cn li ri quay tr v thnh ph T, tc l cn phi i qua n-k+\ on ng
na. Do chi ph phi tr cho vic i qua mi mt trong s' n-k+ 1 on ng cn li u
khng t hn nn cn di cho phofng n b phn (W|, 2- *) c th tnh theo
cng thc
g{ii, 2 , . . . . u^) = + (n-k+l ) .
S dng cch tnh cn di va nu ta c th p dng thut ton nhnh cn gii bi
ton ngi du lch.
Th d. Gii bi ton ngi du lch vi ma trn chi ph sau
c =
0 3 14 18 15
3 0 4 22 20
17 9 0 16 4
6 2 7 0 12
9 15 11 5 0
120
Clin 5. Bi lon li li l hp
Ta c = 3. Qu trnh thc hin thut ton c m ta bdi cAy tm kim li gii cho
trong hnh 2.
Tling tin v int phng n b phn trn cy c phi trong cc trn hnh v tng
ng theo th t sau; u tin l cc thnh phn ca phng n, tip n, l chi ph
theo hnh trnh b phn v g - cn di.
Kt thc thut ton, ta thu c phng n ti u (1, 2, 3, 5, 4, 1) totig ng vi
hnh rrnh
T| T, T, T, -> T., -> T.
v chi nh nht l 25.
chi ph 53. t f = 53 K lc mi: f = 25
Hnh 2. Gii bi ton ngi du lch
Chng trnh trn PASCAL thc hin thut ton c th vit nh sau:
121
Phan 1. Ly thuyet to hcxi?
uses crt;
var
c : arrayll .2 0 ,1 .2 0 ] o f integer;
a, xopt : arrayll..2 0 ] o f integer;
chuaxet : arrayll .2 0 ] o f boolean;
n,fopt, cmin, Can : integer;
procedure Readfde;
var f ' t e x t ;
name :sf ring;
i J :integer;
begin
write('Cho ten fi l e du lieu: ');
readln(name);
assign(fname) ;reset(f);
read(fn);
f o r i : ~ l to n do
f o r j : - l to n do r ead( fcl ij]) ;
close(f);
cmin:=maxint;
f o r i:=l to n do
f o r j : - l to n do
i f ( i o j ) and (cmin>clij]) then cmin:=cli,j];
end;
procedure Ghinhan;
var sum:integer;
begin
sum:= Can+cla[n],all]];
i f sum < fo p t then
begin
xopt:=a;
fopt:=sum;
end;
end;
procedure Try(i:integer);
var j:integer;
begin
122
Chn^ 5. Bcii loan ti u t h)
Co dinh thanh po xua pha la Thanh pho I
Duyet (n-1)! hanh rinh heo nhanh can
f o r j : - 2 to n do
ifcluxet[jj then
begin
a[ i j : =j ;
chuaxetlj]:=fase;
can :=can-c[a[i~ l / i i l ] ;
i f i - n then Ghion
else
i f C a n ^ ( n - i ^ I )^cmin <fop then Try(i-^)
cn:=can<[a[-l ] ,a[i] J ;
chuaxe[j]:=rue:
end;
end;
procedure Inkq;
var iJ'Anteger;
begin
writelnCMA TRAN CHI PHI');
f o r i:= to n do
begin
f o r j : = l t o n do write(ciij]:4):
writeln;
end;
writelnCHanh trinh oi uu CO chi p h i : 'fopt);
f o r / ; = / to n do wrte(xop[i/ - >
wriieln(xopt[IJ);
writeCGo Enter de tiep iuc...');reacUn;
end;
procedure Init;
var i j : integer;
begin
cmin:=maxint;
f o r i:=I to n do
begin
chuaxet [i]:=true;
f o r j : - l to n do
123
Phn . L thuyt t hp
i f ( i o j ) and (cmin>c[ij) then cmin:~cfiJ;
end:
fopt:~maxinf;
Can:=0:
/ / / ; = / ;
end;
BEGN
Readfiie; ni ;
Try(2);
nkq;
END.
Hiu qu ca thut ton nhnh cn ph thuc rt nhiu vo vic xy dng hm tnh
cn di. Vic xy dng hm tnh cn di li ph thuc vo cch xy dng th lc
duyt cc phng n ca bi ton (c gi l th tc phn nhnh). Trn y chng ta
trnh by cch xy dng cn di kh n gin cho hai bi ton ni ting ca ti uti t
hp. Cc chng trnh c ci t theo cc thut ton , luy rng lm vic tt hn
nhiu so vi duyt lon b, nhng cng ch c th p dng gii cc bi ton vi kch
thc nh. Mun gii c cc bi ton t ra vi kch thc ln hn cn c cch nh
gi cn tt hn. Mt Irong nhng phng php xy dng Irn t tng ca thut ton
nhnh cn cho php gii bi ton ngi du lch vi kch ihc ln hn s c trnh by
trong mc tip theo.
5.3. Thut ton nhnh cn gii bi ton ngi du lch
Thut ton nhnh cn l mt trong nhng phng php gii ch yu ca ti u t hp.
Nh trong mc trc thy, t tng c bn ca n l trong qu trnh lm kim li gii
ta s phn hoch tp cc phng n ca bi ton ra thnh hai hay nhiu tp con c
biu din nh l cc nt ca cy tm kim v c gng bng php nh gi cn cho cc
nt, tm cch loi b nhng nhnh ca cy tm kim (nhng tp con cc phng n ca
bi ton) m ta bit chc chn l khng cha phng n ti u. Mc d trong tnh
hung ti nht thut ton s tr thnh duyt ton b, nhng trong nhiu trng hp c
th, k thut cho php rt ngn c mt cch ng k qu trnh tm kim. Mc ny
s trnh by mt cch th hin khc nhng t tng ca thut ton nhnh cn vo vic
xy dng thut ton gii bi ton ngi du lch.
124
C i i 5. B t on ! i i ' lp
Xt bi ton ngi du lch pht biu trori2 mc irc, Gi
C = c : i , j = 1.2.....n
l ma trn chi ph. Mi hnh trnh ca nmri du lch
c th vit li di dng
( M ) , n { 2 ) ) , ( X 2 \ n( 3) \ . , A^ n ~ ) . 7n)).(7<n), 7()),
trong mi thnh phn (.70'-1). ^ i ) s dc goi l nil canh ca hnh trnh.
Trong bi ton ngi du lch khi tin hnh tm kim li gii chng ta s phn tp
cc hnh trnh ra thnh hai tp con: mt tp gm nhng hnh trnh cha mt cnh {i ,j )
no cn tp kia gm nhne hnh trnh khns cha cnh ny. Ta gi vic lm l
phn nhnh v mi tp con ni trn s c gi l mt nhnh hay mt nt ca cy tm
kim. Vic phn nhnh c minh ho bi cy lm kim:
Vic phn nhnh s c thc hin da trn mt quy tc c/ristic no cho php ta rt
ngn qu trnh tm kim phng n ti u. Sau khi phn nhnh ta s tnh cn di ca
gi tr hm mc tiu trn mi mt trong hai tp con ni trn. Vic tm kim s c tip
tc trn tp con c gi tr cn di nh hn. Th tc ny s c tip tc cho n khi
thu c mt hnh trnh y , tc l mt phng n ca bi ton ngi du lch. Khi
ta ch cn xt nhng tp con cc phng n no c cn di nh hn gi tr hm mc
tiu ti phng n tm c. Qu trnh phn nhnh v tnh cn trn tp cc phcmg
n ca bi ton thng thng cho php nt ngn mt cch ng k qu rnh tm kim
do ta loi c kh nhiu tp con chc chn khng cha phng n ti u.
Mt k thut c bn na ca thut ton l lnh cn di s c xy dng da trn
th tc rt gn m chng ta s trnh by di y. Sau nhng bc chnh ca thut
ton nhnh cn s c m t thng qua mt v d s v cui cng ta s trnh by s
nguyn tc ca thut ton.
125
Phn . L thuy t hp
a) Th tc rt gn,
R rng tng chi ph ca mt hnh trnh ca ngi du lch s cha ng mt phn t
ca mi dng v ng mt phn t ca mi ct trong ma trn chi ph c. Do , nu ta
tr bt mi phn t ca mt dng (hay ct) ca ma trn c i cng mt s a th di
ca tt c cc hnh trnh s cng gim i a , v th hnh trnh ti u cng s khng thay
i. V vy nu ta tin hnh tr bt cc phn t ca mi dng v mi ct i mt hng s
sao cho thu c ma trn gm cc phn t khng m m trong mi dng v mi ct ca
n u c t nht mt s 0 th tng cc hng s tr s cho ta cn di ca mi hnh
trnh. Th tc tr bt ny s c gi l th tc rt gn, cc hng s tr mi dng
(ct) s c gi l hng s nt gn theo dng (ct), cn ma trn thu c s goi l ma
trn rt gn, Hm s sau y cho php rt gn mt ma trn A kch thc l k Xk ng
thi tnh tng cc hng s rt gn ( tin trnh by, cc tham s c mt trong cc hm
v cc th tc PASCAL di y c gi thit khai bo sao cho ph hp):
function Reduce(A, k): real;
f*** Th tc rt gn ma trn ***)
begin
sum := 0;
for i := 1 to k do (* k - kch thc ca A *)
begin
r[i]:= <phn t nh nht trong dng i>;
if r[i] > 0 then
begin
<Bt mi phn t ca dng i i r[i]>;
sum := sum + r[i];
end;
end;
for j := i to k do
begin
s[j] := <phn t nh nht trong ct j>;
if s[j] > 0 then
begin
<Bt mi phn t ca ct j i s[j]>;
sum := sum + s[j];
end;
end;
Reduce := sum;
end;
Th d, Ta c ma trn chi ph ca bi ton ngi du lch vi n = 6 thnh ph sau
126
Chng 5. Bi on ti u ( hp
s [ j
1 2 3 4
C
J> 6 r [ i
1 00 3 93 13 33 9 3
2 4 00 77 42 21 16 4
3 45 17 00 36 16 28 16
4 39 90 80
co 56 7 7
5 28 46 88 33
00
25 25
6
3
88 18 46 92 co 3
]
0 15 8 C
u tin tr bt mi phn t ca cc dng 1, 2, 3, 4, 5, 6 cho cc hng s nt gn
tng ng l 3, 4, 16, 7, 25, 3, sau trong ma trn thu c, Ir bt cc phn t ca
cc ct 3 v 4 cho cc hng s rt gn tng ng l 15 v 8, ta thu c ma trn rt gn
sau
1 2 3 4 5 6
1 00 0 75 2 30 6
2 0 00 58 30 17 12
3 29 1
00 12 0 12
4 32 83 58
co 49 0
5 3 21 48 0 00 0
6 0 85 0 35 89
00
Tng cc hng s rt gn l 81, V I vy cn di cho t i c cc hnh trnh l 81 (ngha l
khng th tm c hnh trnh c tng chi ph nh hn 81).
By gi, ta xt cch phn tp cc phng n ra thnh hai tp. Gi s l ta chn cnh
(6, 3) phn nhnh. Khi tp cc hnh trnh s c phn thnh hai tp con, mt tp
l cc hnh trnh cha cnh (6, 3), cn tp kia l cc hnh trnh khng cha cnh (6, 3).
V bit cnh (6, 3) l khng c tham gia vo hnh trnh, nn ta c th cm vic i
theo cnh ny bng cch t = co. Ma trn thu c s c th rt gn bng cch bt
mi phn t ca ct 3 i 48 v khng bt g cc phn t ca dng 6. Nh vy ta thu
c cn di cho cc hnh trnh khng cha cnh (6, 3) l 81 + 48 = 129. Cn i vi
tp cc hnh trnh cha cnh (6, 3) ta phi loi dng 6 v ct 3 khi ma trn tng ng
vi n, bi v i theo cnh (6, 3) th khng th i t 6 sang bt c ni no khc v
cng khng c php i t bt c u vo 3. Kt qu ta thu c ma trn vi bc gim
i 1. Ngoi ra, do i theo cnh (6, 3) nn khng c php i t 3 n 6 na, v vy
t a cn c m i t h e o c n h ( 3 , 6) bng cch t C36 - 00. Cy tm kim c h o n bc n y ,
c dng cho trong hnh 1 sau y;
127
Phn . Lv thuyt hp
tt c cc hnh t r n ^ Cii di = 81
Cn di
= 81
Hnh trnh
ch a(6,3)
1 2 4 5 6
00 0 2 30 6
0 co 30 17 12
29 1 12 0 oc
52 83 00 49 0
3 21 0 00 0
Hnh trnh Cn di
khng cha (6,3) =129
1 2 3 4 5 6
00 0 27 2 30 6
0 OO10 3 1 7 12
29 1 oc 12 0 12
32 83 10 00 49 0
0 85
Hinh 1.
co 35 89 00
Cnh (6, 3) c chn phn nhnh v phn nhnh theo n ta thu c cn di ca
nhnh bn phi l ln nht so vi vic phn nhnh theo cc cnh khc. Quy tc ny s
c s dng phn nhnh mi nh ca cy tm kim. Trong qu trnh ti kim
chng ta lun i theo nhnh bn tri trc. Nhnh bn tri s c ma trn rt gn vi bc
gim i mt. Trong ma trn ca nhnh bn phi ta thay mt s bi 00, v c th rt gn
thm c ma trn ny khi tnh li cc hng s rt gn theo dng v ct tng ng vi
cnh phn nhnh, nhng kch thc ca ma trn vn gi nguyn.
Do cnh cn chn phn nhnh phi l cnh lm tng cn di ca nhnh bn
phi ln nhiu nht, nn tm n ta s chn s khng no trong ma trn m khi thay
n bi co s cho ta tng hng s' rt gn theo dng v ct cha n l ln nht. Ta c th
tc sau y chn cnh phn nhnh (r,c);
b) Th tc chn cnh phn nhnh (r,c)
u vo: Ma trn rt gn A kch thc k x k .
u ra : Cnh phn nhnh (r, c) v tng hng s' rt gn theo dng r
ct c l beta.
procedure BestEdge(A,k,r,c,beta);
(* Th tc phn nhnh *)
begin
beta := -oo;
for i 1 to k do
128
C ^ 5. Bi on t oi n ( .
for j := 1 to k do
if a[i,j] = 0 then
begin
minr := <phn t nh nht trn dng i khc vi
mine := <phn t nh nht trn ct j khc vi a
total := minr + mine;
if total > beta then
begin
beta := total;
r := i; C'* ch s dng ca cnh tt nht *)
c ;= j; (* ch s ct ca cnh tt nht *)
end;
end;
end;
Trong ma trn rt gn 5 x 5 ca nhnh bn tri hnh 1, s' khng v tr (4, 6) s cho
tng hng s rt gn l 32 (theo dng 4 l 32, ct 6 l 0). y l gi tr ln nht i vi
cc s khng ca ma trn ny. V vy, vic phn nhnh tip theo s da vo cnh (4, 6).
Khi cn di ca nhnh bn phi tng ng vi tp cc hnh trnh i qua cnh (6,3)
nhng khng i qua (4,6) s l 81 + 32 = 113. Cn nhnh bn tri s tng ng vi ma
trn 4 X 4, v rng ta phi loi b dng 4 v ct 6. Tinh hung phn nhnh ny c m
t trong hnh 2.
cc hnh t r n h \ Cn di
cnh (6, 3) =81
Hnh trnh cha
(6, 3), (4, 6)
^ Cn di
= 81
Hnh trnh cha
hng cha (4
Cn di
= 113
1 2 4
00 0 2
0
00 30
29 1
00
3 21 0
5
30
17
0
00
1 2 4 5 6
00 0 2 30 6
0 00 30 17 12
29 1 12 0 00
0 51 00 17 00
3 21 0 00 0
Hnh 2.
129
Phn I . L thuyt t hj
Nhn thy rng v cnh (4, 6) v (6, 3) nm trong hnh trnh nn cnh (3, 4) khng
th c i qua na (nu khng ta s c mt hnh trnh con t nhng thnh ph ny).
ngn nga vic to thnh hnh trnh con ta s gn cho phn t v tr (3, 4) gi tr 00.
Ngn cm to thnh hnh trinh con.
Tng qut hn, khi phn nhnh da vo cnh (/, y,) ta phi thm cnh ny vo danh
sch cc cnh ca nt tri. Nu / l nh cui ca mt ng i (/'|, 2 .....v l nh
u ca ng i 0 , j 2 .....) th ngn nga kh nng to thnh hnh trnh con ta phi
cm cnh (Ji.. ).
tm /, ta c th i ngc t cn tm /, ta c th i xui t J.. theo danh sch
cc cnh c kt np vo hnh trnh.
Tp tt c cc
hnh trnh
Cn di
= 81
Hnh trnh
khng cha
(6,3) Cn di
= 129
Cn di
= 81
Cn di
= 81
Tp cc hnh
trnh khng cha
(4, 6) Cn di
= 113
Tp cc hnh
-l trnh khng cha
(2, 1) ^ Cn di
- 101
Tp cc hnh
-M trnh khng cha
Cn di
= 84
(1,4) Cn di
= 112
Cn di = 84
Hnh trnh (1, 4, 6, 3, 5, 2 , 1 ) . di hnh trnh: 104,
Hnh 3.
130
Chi/ 5. Bc tocin t'i u hp
Tip tc, ta li phn nhnh t nh bn tri bng cch s dng cnh (2, 1), v s'
khng v tr ny c tng cc hng s rt gn l 17 + 3 = 20 (theo dng 2 l 17, theo
ct 1 l 3). Sau khi phn nhnh theo cnh (2. 1) ma trn ca nhnh tri c kch thc l
3 X 3. V i qua (2, I ) nn ta cm cnh ( 1, 2) bng cch t C|2 = 00, ta thu c ma
trn sau
2 4 5
1 ^XI 2 33
3 1
00 0
5 21 0 00
Ma trn ny c th rt gn c bng cch bt 1 t ct 2 v bt i 2 dng 1. iu
dn n ma trn
2 4 5
1
00 0 28
3 0
co 0
5 20 0 0
Ta c cn di ca nhnh tng ng l 81 + 1 + 2 = 84. Cy tm kim cho n
bc ny c th hin trong hnh 3.
Ch rng sau khi chp nhn /7-2 cnh vo hnh trnh th ma trn cn li s c
kch thc i 2 X 2. Hai cnh cn li ca hnh trnh s khng phi chn la na, m
c kt np ngay vo chu trnh. Trong v d ca chng ta y, sau khi c cc cnh
(6, 3), (4, 6), (2, 1) v (1, 4) ma trn ca nhnh tri c dng
2 5
3 00 0
5 0 co
v vy ta kt np nt hai cnh (3, 5) v (5, 2) vo v thu c hnh trnh 1, 4, 6, 3, 5, 2,
1 vi chi ph l 104.
131
Phn I . L thuyt tc) hp
Ch . Trong qu trnh tm kim mi mt nt ca cy tm kim s tcng ng vi mt
ma trn chi ph A. bc u tin ma trn chi ph tng ng vi gc chnh l ma trn
c . Khi chuyn ng t gc theo nhnh bn tri xung pha di kch thc ca cc ma
trn chi ph A s gim dn. Cui cng khi ma trn A c kch thc 2x2 th ta chm dt
vic phn nhnh v kt np 2 cnh cn li thu c hnh trihnh ca ngi du lch.
D thy rng ma trn rt gn cui cng ny ch c th c nt Irong hai dng sau:
w X w X
u 0 00
r
u 00 0
V 00
0 V 0 X'<
trong u, V, vv, X c th l 4 nh khc nhau hoc ch c 3 nh khc nhau. Trong mi
trng hp xc nh xem hai cnh no cn phi kt np nt ta ch cn xt mt phn
t ca ma trn A;
if A [ l , l ] = 00 then
Kt np cnh (u,x) v (v,w)
else
Kt np cnh (u,w) v (v,x);
By gi tt c cc nt ca cy c cn di ln hn 104 c th loi b v chng khng
cha hnh trnh r hn. Trn hnh 3 ta thy ch cn nt c cn di 101 l cn phi xt
tip. Nt ny tng ng vi tp nhng hnh trnh cha cc cnh (6, 3), (4, 6) v khng
cha cnh (2, 1). Ma trn chi ph tng ng vi nh ny c dng
1 2 4 5
00 0 2 30
00 00 13 0
26 1
00
0
0 21 0 00
Vic phn nhnh s da vo cnh (5, 1) vi tng hng s rt gn l 26. Vic r nhnh
tip theo t nt ny c cho trong hnh 4.
132
Cliii 5. Bi loan ti u t hp
Tp cc hnh trnh cha
(6, 3), (4, 6) khng qua (2,1)
(
Tp cc hnh cha
trnh cha (5,1)
Cn di
= 101
' Cn di
= 127
Tp cc hnh trnnX
khng cha (5,1) ]
^ __ _ _ _ . , ^ C n di
=: 103
2 4 5
1 0 0
CD
3 00 11 0
5 1 00 0
(
Hnh trnh ch
(1,4)
Hnh trinh l , 4, 6 , 3, 2, 5, 1
d i : 104
Hnh trnh khni
cha (1,4) y Cn di =1 1 4
Hnh 4.
Nh vy chng ta thu c hai hnh trnh ti u vi chi ph l 104. Th d trn cho thy
rng bi ton ngi du lch c ih c nhiu phcng an ti u. Trong th d ny hnh
trnh u tin tm c l ti u, tt nhin iu khiig th trng i trong trng
hp tng qut. i vi th d trn ta ch phi xt 13 nt, trong khi tng s hnh trnh
ca ngi du lch l 120.
c) Thut ton nhnh cn gii bi ton ngi du lch.
By gi ta c th m t cc bc chnh ca thut ton nhnh cn gii bi ton ngi du
lch trong th tc quy TSP sau y. Th tc TSP xt hnh trnh b phn vi Edges
cnh c chn v tin hnh tm kim tip theo. Ta s dng cc bin;
Edges - s cnh trong hnh trnh b phn;
A - ma trn chi ph tng ne vi kch thc
(n-edges) X (n-edges);
cost - chi ph ca hnh trnh b phn;
MinCost - chi ph ca hnh trnh tt nht tm c.
133
Phn J. L thuyt t hp
Trong th tc s dng hm Reduce(A, k) v th tc BestEdge(A, k, r, c, beta) m t
trn.
procedure TSP(edges, cost, A);
begin
cost:= cost + Reduce(A, n-edges);
if cost < MinCost then
if edges = n-2 ihen
begin
<B sung nt hai cnh cn li>;
MinCost := Cost:
<Ghi nhn hnh trnh tt nh>;
end
else
begin
BestEdge(A,n-edges,r,c,beta);
LowerBound:= cost + beta;
<Ngn cm to thnh hnh trnh con>;
NewA ;= <A loi b dng r ct c>
TSP(edges+l,cost,NewA); (* i theo nhnh tri *)
<Khi phc A bng cch b sung li dng r ct k>;
if LowerBound < MinCost then
begin (* i theo nhnh phi *)
A[r,c]:=oo;
TSP(edges, cost, A);
A [ r, c ]:i;
end;
end;
<Khi phc ma trn A> ; (* thm li cc hng s rt gn
vo cc dng v ct tcfng ng *)
end; (* ofTSP*)
134
Clni 5. Bi odi ti Ut p
5.4 Bi ton lp lch gia cng trn hai my.
Thut ton Jonhson

Trong mc ny ta s thy vic nghin cu k cc tnh cht ca bi ton ti u t hp


dn n vic xy dng c thut ton rt hiu qu gii n.
Xt bi ton lp lch gia cng trn 2 my, l trng hp ring ca bi ton lp lch
n^u trong rrc 5.1: Mi mt chi tit trong s n chi nt D| Di,... D cn phi c ln
li gia cng trn 2 my A, B. Tlii gian gia cng cli tit D trn mv A l trn tny
B l h (i - 1, 2,..., /). Hy tm lch (trnh t gia cng) cc chi tit trn hai my sao cho
vic hon thnh gia cng tt c cc chi tit l sm nht c th c.
Gi thit rng, trnh t gia cng cc chi tit trn hai my l nh nhau. Khi mi
lch gia cng s tng ng vi mt hon v
n = (Tt(l), n(n))
ca n s t nhin 1, 2 ,..., n.
K hiu x l thi im bt u v kt thc vic gia cng chi tit j trn my X,
= 1, 2,..., /; X= a , B. Gi s Tt l mt lch gia cng. Theo iu kin ca bi ton, my
A c th bt u thc hin cng vic n( l ) vo thi im S;!n = 0 v cng vic M^k) sau
khi thc hin xong cng vic ;?(;-1), tc l
^' t ( k) A ^ / ( k - l ) A fc 2, 3, . . . , l . ( 1 )
My B c th bt u thc hin cng vic 7 { 1) ngay sau khi my A kt thc vic gia
cng n tc l vo thi im
''>1(1)B - (2)
My B c th bt u vic gia cng chi tit n(k) {k = 2, 3,..., n) sau khi cng vic ny
c thc hin xong trn my A v ng thi n phi hon thnh vic gia cng chi tit
7(:-l), tc l:
k = 2, 3,..., l. (3)
Thi gian hon thnh vic gia cng tt c cc chi tit trn hai my l T{n) -
R rng, vi n c' nh, T(n) t gi tr nh nht khi tt c cc du bt ng thc
(1), (2), (3) c thay bi du ng thc, tc l
~ t ^ 2, 3, . . . , f,
= max (Riy, = 2, n.
(4)
135
Phn J. L thuyt t hp
ngha l cc my s thc hin ngay cc cng vic mt khi iu kin cho php.
Th d 1. Xt bi ton khi / = 5. Thi gian gia cng cc chi tit trn cc my c cho
trong bng sau:
Gi s thc hin vic 5a cng cc chi tit theo lch 7 = (1, 2, 3, 4, 5). Khi , theo cc
cn thc (4) ta tnh c
0 ; -- 3;
^24 =
3;
^2. = 7;
^A -
7;
3.= 13;
^4/1
13; ^4^=18;
18;
.M= 24;
^1 -
3; if= 6;
7; 2/ = 10;
^Ji -
13;
18;
^4/ 25;
SsH=
25; rw = 28.
biu din lch gia cng ngi ta thng s dng s Gantt, trong cc my c
biu th theo trc tung, cn trc honh biu din thi gian. S Gantt, theo lch gia
cng thu c trong th d cho, c dng trong hnh 1;
My
D 1 D2 D4 D5
D3 D 4 D5
t
J _ J J - . . J 1 _ J 1. . . I 1 1 1 1 1 1 1
Hnh 1.
136
Chng 5. Bi ton ti u th)
Thi gian hon thnh vic gia cng tt c cc chi tit theo lch thu c l T{n) = =
28. T hnh 5 nhn thy rng trong cch b' tr mv B thc hin vic gia cng cc chi
tit theo lch gia cng 71 c nhiu khong thi gian my cht (trn hnh v nh du
bng cch t mu sm). R rng ta lun c th b' tr li vic gia cng ca my B sao
cho khng c cc khong thi gian cht ny bng cch dn chng vo on u sau
my B hot ng lin tc v vic ny khng lm tng thi gian hon thnh vic gia
cng (gi tr Chng hn, thot khi cc khong thi gian cht ca my B trong
th d, ta c th bu u gia cong Irn my B vo im dg = IC (lc l bng tdng cc
khong thi gian cht trong hnh 3, cng vi /n I)/). Sc? Gantt ca cch b tr ny cho
trong hnh 2 :
My
B D I D2 D3 D4 D5
A D I D2 D3 D4 D5
t
1 1
1 1 1
1, i_ j
1 1
.1 1 1
1 1 1 1 1 1 1L.J 1 1 1
Hnh 2.
V vy lun c th gi thit rng, hai my s thc hin vic gia cng mt cch lin tc.
My A bt u thc hin vic gia cng vo thi im = 0. Gi dg l thi im my B
bt u thc hin vic gia cng cc chi tit. R rng ta c
T{n) = d , { n ) + h j ,
j=\
trong s hng th hai l khng ph thuc vo lch gia cng K. Ta cn tm cng thc
tnh dain). D thy l dgin) l bng tng ca v cc khong thi gian cht ca my
kh; ta b tr my B thc hin vic gia cng cc chi tit theo cng thc (4). V th, ta
c cng thc sau y, tnh clnin):
trong
d,in) = max A(ti)
! <<
A(tc) = z
j=
z bn),
;=1
u = 2 , n .
137
Phn . L thuyt tlp
Trong th d 1, ta c
A,(t) = 3;
A2 n) = 3 + 4 - 3 = 4;
A3(7) = (3 + 4 + 6) - (3 + 3) = 7;
n) = (3 + 4 + 6 + 5) - (3 + 3 + 2) = 10;
Aj(t) = ( 3 + 4 + 6 + 5 + 6) - ( 3 + 3 + 2 +7 ) = 9;
Vy dgin) = 10.
Nh vy bi ton t ra dn v bi ton ti u t hp sau
min ( d g ( n ) : K e p .
trong p l tp cc hon v ca 1, 2, n.
B 1. Gi s n = 7c( : - 1 ) , T(k), n{n)) l ml lch gia cng cn 7t
l lch gia cng thu dc t n bng cch hon v hai phn tn{k) v 7i(:+l):
k' = ( Tt ( l ) , . . . , 7t(:-l), 7 ( / : +l ) , n(k),..., n(n)).
Khi nu
m i n (n(it), ^It(*+1 )) ^ r n i n (>n(), ( 5 )
t h
d,{%) < dsin'). ( 6 )
Chng minh. Do n, n' ch khc nhau v tr th : v :+I nn ta c
A(7i) = A(7r') vi u = ,..., k-,k+2,..., n.
T chng minh (6) ta ch cn chng t
max (A(7), < max (A^(7i:'), A*^,(t)) (7)
Tht vy, bt ng thc (7) tcmg ng vi
max (t(n) - , Am ti) - 6) < max (A^(7t') - 5, - 5) (8)
vi mi gi tr . Chn
k+ k-
J = J =
v rng
k k- l
^n(j) - X t>n(j),
=i j =
ta nhn c (8) di dng
138
max - ^ J , ) < max -hn^M,)
o -min < -min
<=> min(a,^.), < min
ngha l (7) tng ng vi (5). B c chng minh.
B 2, Nu i , j , k l ha ch s tho mn
min (a, b ) < mi 1 [U, h) (9)
min (j, b) <min (a^, b) ( 10)
tronq c t nht mt trong hai bt nq thc trn l ht ng thc cht, th
min ( b^) < min (^, ,) ( 11)
Chng minh. Gi s trong (9) ta c a, < hj v < b, cn trong ( 10) ta c J < b, v . <
bj. Khi t (9) suy ra O < J, cn t ( 10) suy ra Oj < .. Tc l ta c a, < b,a, < b. v a,
< a., t suy ra c ( 11).
Chng minh tng t cho 15 trng hp cn li, ta thu c b .
nh l Johnson (1954). T{) t gi tr nh nht khi lch gia cng n - (Ml), ^ 2 ) , .. .,
;t(a)) tho mn
min < min (3;^*^.,)) ( 12)
vi mi : = 1, 2,..., n-\.
Chng minh. Thc vy gi s
Tr = (7r(I), 7i'(2),..., n\n))
l lch gia cng ti u. Nu n' khng tho mn (12), th theo b 1, khi thay i v tri
ca hai phn t lin nhau tng ng trong n, ta thu c lch gia cng mi n vi dT)
khng ln hn /a(n'). Qu trnh ny c lp li i vi n cho n khi thu c lch
tho mn (12). B 2 m bo c rng vic lp nh th l kt thc. nh l c
chng minh.
nh l va chng minh ch cho chng ta c s xy dng thut ton gii bi ton
t ra. Gi s
X = min (a,, , ) .
! </ </ ;
Xt hai trng hp:
1) Nu X = Of. vi mt k no th ta c min (., hj) < min (b,, a) vi mi j ?^k. V
th chi tit D* phi c gia cng u tin trong lch ti u.
Chn^ 5. Bill on ti Uli hp
i39
Phn I . L thuyt t hp
2) Nu X = bp vi mt p no th ta c min {p, b ) > min (/?,,, /, ) \i mi / p . V
th chi tit Dp phi c gia cng cui cng trong lch ti UXI.
T nhn c thut ton sau y
Thut ton JOHNSON
1. Chia cc chi tit thnh 2 nhm: nhm N gm cc chi tit D tho mn a, < b,,
tc l min ( b:) t c ti v nhm N2 gm cc chi tit D, tho mn <3, >
,, tc l min (a,, b) t c ti b,. Cc chi tit D ho mn = h, xp vo
nhm no cng c.
2. Sp xp cc chi tit trong N theo chiu tng ca cc , v sp xp cc chi tit
trong /V theo chiu gim ca cc b,.
3. Ni N2 vo ui N. Dy thu c (c t tri sang phi) s l lch gia cng ti
u.
Quay tr li gii bi ton trong th dl theo thut ton Johnson: Cc kt qu c tnh
trong tng bc nh sau:
1. Chia nhm: N, = {D D4}; N, = {D D D,
2. Sp xp theo chiu tng ca cc , v sp xp N 2 theo chiu gim ca cc b'.
yv, = (D D,); n [ = (D D D3)
3. Ni N2 vo ui ca N, ta c lch gia cng ti u:
71= (D D4, O2, 5, D^).
S Gantt ca lch ny c cho bi hnh 3 vi thi gian hon thnh vic gia cng l
T{n) = 26:
My
D I
D I
I
D4
1 D4 D2
D2
1 1 1
D5
1 1 1 1 1
D3
................. 1 1 I 1 I
Hnh 3.
R rng c nhiu lch ti u, chng c th khc nhau v thi im bt u ca my B
nhng u chung nhau mt thi im kt thc. Chng hn mt lch ti u khc ca th
d trn l 7 = (>4, Z)|, O5, 02, D3) vi s Gantt cho bi hnh 4:
140
Chng 5. Bi ton ti u t h])
My
B D4 DI D5
D2 m m
D 4
1 1 1 1
D 1
1 1.
D5
1 1 1 1 1
D2
1 1 1
D3
1 1 1 1 1
I I J- 1 L
Hnh 4,
Ch .
1) C th chng minh c rng vic tm lch gia cng di dng mi my mt
trnh t gia cng ring khng dn ti vic hon thnh gia cng cc chi tit sm hcm. V
vy, thut ton Johnson vn cho kt qu ng ca bi ton m khng cn c gi thit
rng trnh t gia cng trn hai my phi nh nhau.
2) K thut chng minh nh l Johnson da trn b 1 l mt k thut c bn
trong l thuyt ip lch, n c bit di tn gi; Th thut hon v.
3) Khng th thu c nh l tng t nh nh l Johnson cho trng hp bi
ton 3 my hoc nhiu hn. Trong trng hp tng qut, hin nay cha c phng php
hu hiu no gii chng ngoi vic s dng phng php nhnh cn.
Mt s trng hp ring c th dn v bi ton 2 my.
Xt bi ton gia cng n chi tit trn 3 my theo th t A, B, c vi bng thi gian a-, b,
c / = 1, 2,..., n, tho mn:
max,. < mina,, hoc max6, < mine,.
' i ' /
tc l thi gian gia cng ca my Bkh nh so vi A hoc c.
Khi , lch gia cng ti u trn 3 my s trng vi lch gia cng ti u trn 2 my:
my th nht vi thi gian a + b v my th hai vi thi gian b + c, ( rng ch c
lch ti u ca chng l trng nhau cn thi gian gia cng ca chng l khc nhau).
Th d 2. Thcfi gian gia cng 5 chi tit trn cc my A, B, c cho bi bng sau:
tit
M y \ ^
D,
D,
Ds
/l 1 11 8 7 6
B 6 5 3 5 3
c 4 12 7 8 3
141
Phn 1. L thuyt t hp
Th li max b, = 6 < min O - 6, do bi ton c dn v vic tm lch gia cng ti
u trn 2 my A', B':
Lch gia cng ti u tm c l 71= (D, D2 , D, 3, D5) vi thi gian hon thnh T(t)
49 v s Gantt cho bi hnh 5:
Hnh 5.
142
Chn> 5. Bcii o toi u t (/)
Bi tp
1. p dng thut ton nhnh cn gii bi ton ngi du lch vi ma trn chi ph sau
a)
A B C D E
A 0 8 5 22 11
B 4 0
Q
1 1 27
C
'1^
1
1 C 12 35
D 5 27 17 0 29
E 23 21 19 7 0
b)
c)
A B C D E
A 0 5 37 21 29
B 42 0 31 7 33
C 31 27 0 31 8
D 49 33 14 0 39
E 5 41 32 38 0
A B C D E
A 0 8 5 22 11
B 4 0 9 17 27
C 15 7 0 12 35
D 5 27 17 0 29
E 23 21 1 ^
7 n
Thnh ph xut pht l A. Qu trnh gii theo thut ton trnh by trn cy li gii.
2. Gii cc bi ton ci ti sau y bng thut ton nhnh cn
a)
17 X, + 8 ^2 + 6 X3+ 3 X4 -> max
7 X, + 6 X2+ 4 X-, + 2 X4 < 19
Xy>0, nguyn, = 1,2, 3,4.
b)
c)
16 X| + 9 X2 + I X, + 5 .V4 -> max
6 X| + 5 A'2 + 3 X3+ 2x^ < 17
X j > 0 , nguyn, = 1.2, 3,4.
16 .r, + 8 + 6 X, + X, max
143
Phn I . L thuyt t hp
7 X| + 6 ^2 + 4 .Y3+ X4 < 26
X j > 0 , nguyn, = 1, 2, 3,4.
Qu trnh thc hin thut ton m t trn cy tm kim li gii.
3. M t thut ton quay lui gii bi ton sau;
Oio n s nguyn dng a,, ; , , - . Tim cc s S e |-1, 1}, ' = 1, 2 , n sao cho
! - A
/=1
l nh nht.
4. Bt ng thc sau y c tn l bt ng thc hon v c s dng trong vic phi
trin thut ton gii nhiu bi ton lp lch: Cho hai dy s thc |, 2, v j, ^2
trong 1 > 2 ^ ^ bn- Gi s ( ( l ) , (2), (^2)) v (y(1), y(2), y{n)) l
cc hon v ca cc s 1, 2 , ^ tho mn
^v(l) " ^v{2) - ** - ^(l) - ^(2) - - ^(n)
Khi bt ng thc
n n n
/ =1 i=l /=l
c thc hin vi mi hon v (7t(l), 7t(2)...... n{n)) ca cc s 1, 2 , n.
Nh l v d ng dng, xt bi ton lp lch sau y; C n khch hng n thu
thc hin chcmg trnh trn my tnh song song ti trung tm my tnh hiu nng cao.
Bit rng thi gian cn thit chy xong chng trnh ca khch hng i l ti, i = 1, 2,
n. Gi Ihit l thi gian my chuyn t vic thc hin chng trnh ny sang thc
hin chotng trnh khc l bng 0, hy tm trnh t thc hin cc chng trnh sao cho
tng thi gian ch i ca tt c n khch hng l nh nht.
S dng bt ng thc hon v ch ra rng trnh t cn tm l trnh t khng gim
ca thi gian thc hin cc chng trnh.
144
PHN II
L THUYT TH

Ch I . Cc khi itn cxl/ ca / lKv d l


1
CC KHI NIM C BN
CA L THUYT THI
L thuyt th l mt lnh vc nghin cu c l lu v c nhiu ng dng hin
i. Nhng t tng c bn ca l thuyt th c xut vo nhng nm u ca
th k 18 bi nh ton hc li lc ngi Thu s Leonhard Euler. Chnh ng l ngi
s dng th gii bi ton ni ting v cc ci cu thnh ph Knigsberg.
th c s dng gii cc bi lon trong nhiu lnh vc khc nhau. Chng
hn, th c th s dng xc nh cc mch vng trong vn gii tch mch in.
Chng ta c th phn bit cc htp cht ho hc hu c khc nhau vi cng cng thc
phn t nhng khc nhau v cu trc phn t nh th. Chng ta c th xc nh xem
hai my tnh trong mng c th trao i thng tin c vi nhau hay khng nh m
hnh th ca mng my lnh. Ih c trng s' trn cc cnh c th s dng gii
cc bi ton nh: Tim ng di ngn nht gia liai thnh ph trong mt mng giao
thng. Chng ta cng cn s dng th gii cc bi ton v lp lch, thi kho biu,
v phn b tn s cho cc trm pht thanh v truyn hnh...
1.1. nh ngha th
th l mt Cu trc ri rc bao gm cc nh v cc cnh ni cc nh ny. Chng ta
phn bit cc loi th khc nhau bi kiu v s lng cnh ni hai nh no ca
th. c th hnh dung c ti sao li cn n cc loi th khc nhau, chng ta
s nu v d s dng ch^ng m t mt mng my tnh. Gi s ta c mt mng gm
147
Phn 2. L thuyt th
cc my tnh v cc knh in thoi (gi tt l knh thoi) ni cc my tnh ny. Chng
ta c th biu din cc v tr t my tnh bi cc im v cc knh thoi ni chng bi
cc on ni, xem hnh 1.
H ty ng nai Hu An Giang
Hnh 1. S mng my tnh
Nhn thy rng trong mng hnh 1, gia hai my bt k ch c nhiu nht l mt knh
thoi ni chng, knh thoi ny cho php lin lc c hai chiu v khng c my tnh
no li c ni vi chnh n. S mng my tnh cho trong hnh 1 c gi l n
th v hng. Ta i n nh ngha sau
nh ngha 1. n th v hng G = (V,E) hao gm V l tp cc nh, v E l tp
cc cp khng c th t gm hai phn t khc nhau ca V gi l cc cnh.
Trong trng hp gia hai my tnh no thng xuyn phi truyn ti nhiu thng
tin ngi ta phi ni hai my ny bi nhiu knh thoi. Mng vi a knh thoi gia cc
my c cho trong hnh 2 .
H ty ng nai Hu An Giang
Hnh 2. S mng my tnh vi a knh thoi
nh ngha 2. a th v hng G = [V,E) bao gm V l tp cc nh, v E l h cc
cp khng c th t gm hai phn t khc nhau ca V gi l cc cnh. Hai cnh | v
2 c gi l cnh lp nu chng cng tng ng vi mt cp nh.
148 >
Chng . Cc khi nim c hn ca /v huyt d th
H uy ng nai Hu An Giang
Khnh ho
____________ _
^ , _____ L o n g a n
Qung ngi -p
Hnh 3. S mng my tnh vi knh thng bo
R rng mi of th u l a th, nhung khng phi a th no cng l
n th, v trong a th c th c hai (hoc nhiu hn) cnh ni mt cp nh no
.
Trong mng my tnh c th c nhng knh thoi ni mt my no vi chnh n
(chng hn vi mc ch thng bo). Mng nh vy c cho trong hnh 3. Khi a
th khng th m t c mng nh vy, bi v c nhng khuyn (cnh ni mt nh
vi chnh n). Trong trng hp ny chng ta cn s dng n khi nim gi th v
hng, c nh ngha nh sau
nh ngha 3. Gi h v hmg G = iy,E) bao gm V l tp cc nh, v E l h
cc cp khng c th t gm hai phn t {khng nht hit phi khc nhau) ca V gi l
cc cnh. Cnh e dc gi lc) khuyn nu n c dng e=(u,u)>
Cc knh thoi trong mng my tnh c th ch cho php truyn tin theo mt chiu.
Chng hn, trong hnh 4 my ch H ni ch c th nhn tin t cc my a phcmg,
c mt s my ch c th gi tin i, cn cc knh thoi cho php Iruyn tin theo c hai
chiu c thay th bi hai cnh c hng ngc chiu nhau.
H ty
Qung ngi
An giang
Khnh ho
ng thp ^ Long an
Hnh 4. Mng my vi cc knh thoi mt chiu
149
Phn 2. L thuyt th
Ta i n nh ngha sau.
nh ngha 4. n ' th c hng G = (V, E) bao gm V l lp cc nh, v E l tp
cc cp c th t gm hai phn t khc nlu ca V gi l cc cung.
Nu trong mng c th c a knh thoi mt chiu, ta s phi s dng n khi
nim da th c hng:
nh ngha 5. a ' th c lUn G = (V, E) bao ^m V l tp cc nh, v E l h cc
cp c th t gm hai phn t khc nhau ca V gi l cc cng. Hai cung , tng
vi cng mt cp nh c gi l cung p.
Trong cc phn tip theo ch yu chng ta s lm vic vi n th v hiig v
n th c hng. V vy, cho ngn gn, ta s b qua tnh t on khi nhc n
chng.
1.2. Cc thut ng c bn
Trong mc ny chng ta s trnh by mt s' thut ng c bn ca l thuyt th.
Trc tin, ta xt cc thut ng m t cc nh v cnh ca th v hng.
nh ngha 1. Hai nh u v v ca th v hng G c gi l k nhau nu u,v) l
cnh ca th G. Nu e=(u,v) l cnh ca th th ta ni cnh ny l lin thuc vi
hai nh u v V, hoc cng ni l cnh e l ni nh u v nh V, ng thi cc nh u v
V s c gi l cc nh u ca cnh (u,v).
c th bit c bao nhiu cnh lin thuc vi mt nh, ta a vo nh ngha sau
nh ngha 2. Ta gi bc ca nh V trong th v hng l s cnh lin thuc vi n
v s k hiu l deg{v).
b e d
Hnh 1. th v hng G
Th d 1. Xt th cho trong hnh 1, ta c
dega) - 1, degib) = 4, deg{c) = 4, deg) = 3,
deg{d) = 1, degie) = 3, deg{g) = 0.
150
Chng 1. Cc khi nim c bn ca l ihuyt d th
nh bc 0 gi l nh c lp. nh bc 1 c gi l cnh treo. Trong v d trn nh g
l nh c lp, a v / l cc nh treo. Bc ca nh c tnh cht sau:
nh l 1. Gid s G = {V, E) l d th v hng vi m cnh. Khi
Im = ^ d e g ( v )
ver
Chng minh. R rng mi cnh e=(u,v) c tnh mt ln trong deg(u) v mt ln
trong deg(v). T suy ra tng tt c cc bc ca cc nh bng hai ln s cnh.
Th d 2. th vi n nh v mi iih c bc l 6 c bao nhiu cnh?
Gii: Theo nh l 1, ta c 2m = 6 . T suy ra s' cnh ca th l 3/.
H qu. Trong th v hng, s nh bc l (ngha l c bc l s l ) l mt s' chn.
Chng minh. Thc vy, gi o vu tng ng l tp nh bc l v tp nh bc chn
ca th. Ta c
2 m = ^ d e g ( v ) = ^ d e g ( v ) + ^ d e g ( v )
veV veO veU
Do deg{v) l chn vi V l nh trong u nn tng th hai trong v phi trn l s chn.
T suy ra tng th nht (chnh l tng bc ca cc nh bc l) cng phi l s chn,
do tt c cc s hng ca n l s' l, nn tng ny phi gm mt s chn cc s hng.
V vy, s nh bc l phi l s chn,
Ta xt cc thut ng lng t cho th c hng.
nh ngha 3. Nu e- ( u, v) l cung ca th c hig G th ta ni hai nh u v V
l k nhau, v ni cung (u,v) ni ini II VI cinl V' hoc c/ii> ni cung ny l i ra khi
nh u v i vo nh V. nh u ( v) s dc gi l nh du (cui) ca cung (u,v).
Tng t nh khi nim bc, i vi th c hng ta c khi nim bn bc ra (vo)
ca mt nh.
nh ngha 4. Ta gi hn bc ra (bn hc vo) ca ca nh V trong th c hng
l s cung ca th i ra khi n (i vo n) v k hiu l deg*{v) {deg'{v) )
151
Phn 2. L thuyt th
Th d 3. Xt th cho trong hnh 2. Ta c
degXA) = 2, degXB) =3, degXO = l . de gi D) = 2. deg( E) = 2.
d e g \ A ) = 3, deg*(B) = 2, d e g \ C ) = 2, deg*{D) = 2, deg*{E) = 1.
Do mi cung {u,v) s c tnh mt ln trong bn bc vo ca nh v mt ln
trong bn bc ra ca nh u nn ta c:
nh l 2. Gi s G=(V,E) l h c hng. Khi
ZdQg~^i v) = d e g ^ { v ) =\ E\
v e V v e V
Rt nhiu tnh cht ca th c hng khng ph thuc vo hng trn cc cung ca
n. V vy, trong nhiu trng hp s thun tin hon nu ta b qua hng trn cc cung
ca th. th v hng thu c bng cch b qua hng trn cc cung c gi l
th v hng tng ng vi th c hng cho.
1.3. ng , Chu trnh. th lin thng
nh ngha 1. ng i di n t nh u n nh V, trong n l s'nguyn dng,
trn th v hng G-{V,E) l dy
........... ... x
trong u = X q, V = x, (X, x,+|) e E, / = 0, 1, 2, . . . , n - \ .
ng i ni trn cn c th hiu din di dng dy cc cnh:
(X. X ), (XpJCj).........
nh u gi l nh u, cn nh V gi l nh cui ca ng i. ng i c nh u
trng vi nh cui (tc l u = v) c gi l chu trnh. ng i hay chu trnh c
gi l n nu nh khng c cnh no b lp li.
Th d 1. Xt th v hng cho trong hnh 1:
a b c a
Hnh 1. ng i trn th
152
Chng I . Cc kl i ni m CHU ca /} thuyt t h
Ta c: a, d, c, f , e l ng i n di 4. Cn cl, e, c, a khng l dng i, o (e, c)
khng phi l cnh ca th. Dy b, c. f , e, h l chu trnh di 4. tg i a, b, e, d,
a, h c di l 5 khng phi l ng i n, do cnh (a, b) c mt trong n hai ln.
Khi nim ng i v chu trnh trn th c hng c nh ngha hon ton
tng t nh trng hp th v hng, ch khc l ta c ch n hng trn cc
cung.
nh ngha 2. g i di n t in.l u n H l>^on^ n l SCI nguyn dng,
trn (h c hng G=(V,A) l dy
t r o n g u = Xg, V = x , { x e A, / = 0, l . 2 ........ -1.
ng di ni trn cn c th hiu din di dng clv CCICcung:
Cv,.Y;), ( . V p . V i) ............
nh u gi l nh u, cn nh Vgi l nh cui ca ng i. ng i c nh u
trng vi nh cui (tc l li - v) c gi l chu trnh. ng i hay chu trnh c
gi l n nu nh khng c cung no b lp li.
Th d 2. Trn th c hng cho trong hnh 1; a. , c, f , e l ng i n di 4.
Cn d, e, c, a khng l ng i, do (,<:) khng phi l cung ca th. Dy h, c, f , e, b
l chu trnh di 4. ng i a, b, e, d. a, h c di l 5 khng phi l ng i ofn,
do cung {a,h) c mt trong n hai ln.
Xt mt mng my tnh. Mt cu hi t ra l hai my tnh bt k trong mng ny
c th trao i thng tin dc vi nhau hoc i trc lip qua knh ni chng hoc thng
qua mt hoc vi my tnh trung gian trong mng? Nu s dng th biu din
mng my tnh ny (trong cc nh ca th titng ng vi cc my tnh, cn cc
cnh tung ng vi cc knh ni) cu hi c pht biu trong ngn ng th nh
sau: Tn ti hay chng ng i gia ini cp inh ca th?
nh ngha 3. th v hii G= (Y,E) c / l lin thng nu lun tm c
ng di gia hai nh ht k ca n.
Nh vy hai my tnh bt k trong mng c th trao i thng tin c vi nhau khi v
ch khi th tng ng vi mng ny l th lin thng.
Th d 3. Trong hnh 2: th G l lin thng, cn th H l khng lin thng.
153
Phn 2. L thuyt tl
H-
H,
H-
H
Hnh 2. th lin thng G v th H gm 3
thnh phn lin thng / / , , / / . , Hy
nh ngha 4. Ta gi th con ca th G = (V,E) l th H = {W, F), trong
w V v F a, E.
Trong trng hfp th l khng lin thng, n s r ra thnh mt s th con lin
thng i mt khng c nh chung. Nhng th con lin thng nh vy ta s gi l
cc thnh phn lin thng ca th.
Th d 4, th H trong hnh 2 gm 3 thnh phn lin thng / / | , Hy
Trong mng my tnh c th c nhng my (nhng knh ni) m s hng hc ca
n s nh hng n vic trao i thng tin trong mng. Cc khi nim tng ng vi
tnh hung ny c a ra trong nh ngha sau.
nh ngha 5. nh V c gi l nh r nhnh nu vic loi b V cng vi cc cnh
lin thuc vi n khi th lm tng s' thnh phn lin thng ca th. Cnh e c
gi l cu nu vic loi b n khi th lm tng s thnh phn lin thng ca th.
Th d 5. Trong th G hnh 2, nh i v e l nh r nhnh, cn cc cnh {d,g) v
( ef ) l cu.
i vi th c hng c hai khi nim lin thng ph thuc vo vic ta c xt
n hng trn cc cung hay khng.
nh ngha 6. th c hng G= ( VA) c gi l lin thng mnh nu lun tm
c ng i gia hai nh bt k ca n.
nh ngha 7. th c hng G= ( V ^ ) c gi l lin thng yu nu th v hng
tng ng vi n l th v hng lin thng.
R rng nu th l lin thng mnh th n cng l lin thng yu, nhng iu ngc
li l khng lun ng, nh ch ra trong th d di y.
154
Chng . Cc khi nim chn ca l thuyt th
Th d 6 . Trong hnh 3 th G l lin thng mnh, cn H l lin thng yu nhng
khng l lin thng mnh.
Hnh 3. th lin thng mnh G v th lin thng yu H
Mt cu hi t ra l khi no c th nh hng cc cnh ca mt th v hng
lin thng c th thu c th c hng lin thng mnh? Ta s gi th nh vy
l th nh hng c. nh l di y cho ta tiu chun nhn bit mt th c l
nh hng c hay khng.
nh 1. th v hng lin thng l nh hng c khi v ch khi mi cnh ca
n nm trn t nht mt chu trnh.
Chng minh. iu kin cn. Gi s ( m , v ) l mt cnh ca th. T s tn ti ng
i c hng t u n V v ngc li suy ra ( m , v ) phi nm trn t nht mt chu trnh.
iu kin . Th tc sau y cho php nh hng cc cnh ca th thu c
th c hng lin thng mnh. Gi s c l mt chu trnh no trong th. nh
hng cc cnh trn chu trnh ny theo mt hng i vng theo n. Nu tt c cc canh
ca th l c nh hng th kt thc th tc. Ngc li, chn e l mt canh
cha nh hng c chung nh vi t nht mt trong s cc cnh nh hng. Theo
gi thit tm c chu trnh C cha cnh e. nh hng cc cnh cha c nh
hng ca C theo mt hng dc theo chu trnh ny (khng nh hng li cc cnh
c hng). Th tc trn s c lp li cho n khi tt c cc cnh ca th c nh
hng. Khi ta thu c th c hng lin thng mnh.
1.4. Mt s dng th c bit
Trong mc ny ta xt mt s dng n th v hng c bit xut hin trong nhiu
vn ng dng thc t.
th y . th y n nh, k hiu bi K, l n th v hng m gia
hai nh bt k ca n lun c cnh ni.
155
Phn 2. L thuyt th
Cc th Ky, K , cho trong hnh 1 di y.
K,
Hnh 1. th y
th y K c tt c n( n- ) / 2 cnh, n l n th c nhiu cnh nht.
th vng. th vng c , /7 > 3, gm n nh V | . V2 , . . . , v,,v cc cnh
( V| , Vj), (Vj, V, ), v), (v, V| ).
th vng C3, C4, c Q cho trong hnh 2.
C, C4
Hnh 2. th vng C3 , C4 , c C(
th bnh xe. th w thu c t c bng cch b sung vo mt nh mi ni
vi tt c cc tih ca c (xem hnh 3).
K
Hnh 3. th bnh xe VK3, 1^ 4, W5,
th lp phung. th lp phng n nh l th vi cc nh biu din 2"
xu nh phn di n. Hai nh ca n l k nhau nu nh hai xu nh phn tng ng
ch khc nhau 1 biti Hnh 4 cho thy Q. vi n = 0,1, 2, 3, 4.
156
Chng / . Cc khi nim chch ca l thuy d th
o
1 o
/7=1
01
1 1 = 2
000
001
Hnh 4. th lp phng Q
th hai pha. n th G = {V,E) c gi l hai pha nu nh tp nh V ca n
c th phn hoch thnh hai tp X v K sao cho mi cnh ca th ch ni mt nh
no trong X vi mt nh no trong Y. Khi ta s s dng k hiu G=(X u Y, E)
ch th hai pha vi tp nh XuY.
nh l sau y cho php nhn bit mt n th c phi l hai pha hay khng.
nh l 1. n th l th hai pha khi v ch khi n khng cha chu trnh di
l.
kim tra xem mt th lin thng c phi l hai pha hay khng c th p
dng th tc sau. Chn V l mt nh bt k ca th. t x = {v}, cn Y l tp cc
nh k ca V. Khi cc nh k ca cc nh trong Y phi thuc vo X. K hiu tp
cc nh nh vy l T. V th nu pht hin Tr\Y ^ 0 th th khng phi l hai pha,
kt thc. Ngc li, t x = X u T. Tip tc xt nh vy i vi T' l tp cc nh k
ca T,...
th hai pha G = (XuY, E) vi \ x \ = m, \ Y \ = n c gi l th hai pha
y v k hiu l nu mi nh trong tp X c ni vi mi nh trong Y. Cc
th ^23>^3 3>^3 4 c cho trong hnh 5.
157
Phn 2. L thuyt th
K
Hnh 5. th hai pha
th phng. th c gi l th phng nu ta c th v n trn mt phng sao
cho cc cnh ca n khng ct nhau ngoi nh. Cch v nh vy s c gi l biu
din phng ca th.
Th d th l phng, v c th v n trn mt phng sao cho cc cnh ca n
khng ct nhau ngoi nh (xem hnh 6).
Hnh 6. th l th phng
Mt im ng lu l nu th l phng th lun c th v n trn mt phng
vi cc cnh ni l cc on thng khng ct nhau ngoi nh (v d xem cch v K4
trong hnh 3).
nhn bit xem mt th c phi l th phng c th s dng nh l
Kuratovski, m pht biu n ta cn mt s khi nim sau: Ta gi mt php chia
cnh (m,v) ca th l vic loi b cnh ny khi th v thm vo th mt nh
mi vv cng vi hai cnh (u,w), (w,u). Hai th G = (V, E ) \ H = (W, F) c gi l
ng cu nu chng c th thu c t cng mt th no nh cc php chia cnh.
nh l 2 (Kuratovski). th l phng khi v ch khi n khng cha th con ng
cu vi K- 3 hoc K.
Trong trng hp ring, th K v K khng phi l th phng. Bi ton v
tnh phng ca th K 3l bi ton ni ting v ba cn h v ba h thng cung cp
nng lng cho chng: Cn xy dng h thng fng cung cp in, hi t v nc
cho ba cn h, ni mi mt trong ba ngun cung cp nng lng vi mi mt cn h
ni trn sao cho chng khng ct nhau.
158
Chng . Cc khi nim c hn ca thuyt th
th phng cn tm c nhng ng ng quan trng trong cng ngh ch to mch
in. Biu din phng ca th s chia mt phng ra thnh cc min, trong c th c
c min khng b chn. Th d, biu din phng ca th cho trong hnh 7 chia mt
phng ra thnh 6 min R| R2, ..., Rfi.
R,
Hnh 7. Cc min tng ng vi biu din phng ca th
Euler chng minh c rng cc cch biu din phng khc nhau ca mt th
u chia mt phng ra thnh cng mt s min. chng minh iu , Euler tm
c mi lin h gia s min, s nh ca th v s cnh ca th phng sau y.
nh l 3 (Cng thc Euler). Gi s G l th phng lin thng vi n nh, m cnh.
Gi r l s' min ca mt phng b chia bi biu din phng ca G. Khi
r = m - n + 2 .
C th chng minh nh l bng qui np. Xt th d minh ho cho p dng cng
thc Euler.
Th d. Cho G l th phng lin thng vi 20 nh, mi nh u c bc l 3. Hi
mt phng b chia lm bao nhiu phn bi biu din phng ca th G?
Gii. Do mi nh ca th u c bc l 3, nn tng bc ca cc nh l 3x 20 = 60.
T suy ra s cnh ca th m = 60/2 = 30. V vy, theo cng thc Euler, s min
cn tm l
r = 3 0 -20 + 2 = 12.
159
Phn 2. L huyt th
Bi tp
1. Xc nh bc ca cc nh trong th G^. Xc nh bn bc ra v bn bc vo ca
cc nh ca th G.
Ga
2. V th v hcmg G = (V,E) cho bi;
V = [ A , B , C, D, E , F )
v
E = {{E.G), (B,F), { D , 0 , (D,F), (C,F), (A,F), (E, D)]
3. Vi mi th trong cc th sau y hy cho bit n c l th hai pha hay
khng? Nu cu tr li l khng nh, hy ch r cch phn hoch tp nh thnh hai tp
nh sao cho cnh ni ch c gia hai nh thuc hai tp khc nhau.
3. Cho cm th v hng lin thng G = (V, E) vi n nh.
160
Chng y. Cc khi ni m ch i n ca l t huyei d th
a) Chng minh rng lun tn ti iig i n ni hai nh u, Vbt k ca th.
(Gi : ng di cn tm c>dng di Ii>ii llr heo s cnh)
b) Chng minh rng lun tn ti ig i qua khng qu n nh ni hai nh u, V
bt k ca th.
(Gi : ng i cn tm l dng cli ngn nht theo scnh).
4. Cho G l n th v hng vi / inh, m cnh, k thnh phn lin thng. Chng
iinh rng;
n-k < {n-k) {n-k+\ ) ! 2 .
T suy ra th n nh vi s' cnh ln hn (/-l)(/;-2)/2 l lin thng.
(Gi : Chng minh bng qui np theo s cnh ca th).
5. Chng minh rng trong n th vi / > 1 nh lun tm c hai nh khng l
nh r nhnh.
6. Chng minh rng nh u trong om th lin thng G l nh r nhnh khi v ch
khi tm c hai nh V v vv (v,>v ^u) sao cho mi mg i ni V v vv u i qua nh
u.
7. Chng minh rng cnh e trong n th G l cu khi v ch khi n khng thuc bt
c chu trnh no trong G.
8. Cho G l th hai pha vi n nh v m cnh. Chng minh rng m < n^/4.
9. Cho G l th hai pha vi n nh v m cnh. Gi K v k l bc lfn nht v nh nht
ca cc nh ca G. Chng minh rng
m < 2 m!n < M.
10. th v hng c gi l chnh qui bc k nu tt c cc nh ca n u c bc
l k. Vi gi tr no ca /7 th sau l chnh qui?
a)/^
b) c
c)W^
d) Q
11. Ta gi th G ' l th b ca n th G nu cc nh ca n l nh ca
th G v hai nh ca ' l k nhau khi v ch khi chng l khng k nhau trn G. Hy
v cc d th b ca K, K,, c, Q.
161
Phn 2. L thuyt th
12. Hai n th v hng | = (V^I, | ) v = ( ^ 2- ^ 2) c gi l ng cu nu tn
ti mt song nh / : V| - V2 sao cho ( m , v ) e E khi v ch khi {u), f {v)) e 2 - Th d,
hai th G| v 2cho trong hnh di y l ng cu
Song nh/ c xc nh nh sau;/(A)=1,/(B)=2,/(C)=3;/(D)=4,/(E)=5,/(F)=6.
Hi hai th sau y c ng cu hay khng?
162
Chng I. Cc khi nim c bn ca /v thuyt th
13. Vi mi th trong cc th sau y hy cho bit n c l th phng hay
khng. Nu cu tr li l khng nh hy trnh by cch v th sao cho cc cnh
khng ct nhau ngoi nh:
a)
0
14. Hi rng th Q3 c phi l phng khng? Trong trng hp cu tr li l khng
nh hy v n trn mt phng sao cho khng c cnh no ct nhau.
15. Cho G l n th phng lin thng vi 20 nh v mi nh ca n u c bc l
3. Hi rng khi v G trn mt phng th mt phng b chia lm bao nhiu phn ?
16. Bi ton t mu th: Cho n th v hng G = (V,E). Hy tm cch gn cho
mi nh ca th mt mu sao cho hai nh k nhau khng b t bi cng mt mu.
Mt php gn mu cho cc nh nh vy c gi l mt php t mu th. Bi ton
t mu i hi tm php t mu vi s mu phi s dng l t nht.
Ta gi sc s ca thi G, k hiu l x(G), l s' mu t nht cn dng t mu
th. Di y l mt s kt qu lin quan n t mu th
a) nh l 4 mu: Mi th phng u c th t bi 4 mu.
b) cfn th G l hai pha khi v ch khi (G) = 2.
Hy chng minh mnh b).
163
Phn 2. Lv tlitiyi d th
17. Hy tnh sc s ca cc th cho trong cc hnh v sau
a) th Petersen
b) th lp phng
c) th Herschel
164
Chng 2. Biu dien d th trn rny nh
2
Biu DIN TH
TRN MY TNH
lu tr th v thc hin cc thut ton khc nhau vi th trn my tnh
cn phi tm nhng cu trc d liu ihch hp m l th. Vic chn cu trc d
liu no biu din th c tc ng rt ln n hiu qu ca thut ton. V vy, vic
chn la cu trc d liu biu din d th ph thuc vo tng tnh hung c th (bi
ton v thut ton c th). Trong mc ny chng ta s xt mt s phng php c bn
c s dng biu din th trn my tnh, ng thi cng phn tch mt cch ngn
gn nhng u im cng nh nhng nhc im ca chng.
2.1. Ma trn k. Ma trn trng s
Xt n th v hng G = (V, E), vi tp nh V = {1, 2,..., }, tp cnh ={e,,
e,}. Ta gi ma trn k ca th G l (0,l)-ma trn
/ \ = {ij : i . j = 1,2...../}

165
Phn 2. L thuyt th
vi cc phn t c xc nh theo quy tc sau y:
= 0, nu ( j ) E v j = 1, nu ,J) G E,
i. j = 1,2.....n.
Th d 1. Ma trn k cu th v hng G cho trong hnh 1 !
1 2 3 4 . 5 6
1 0 1 1 0 1 0
2 1 0 1 0
1
X 0
1
1
1 1
4 0 0 1 0 1 1
5 1 1 0 1 0 1
6 0 0 0 1 1 0
4
G G,
Hnh 1. th v hng G v th c hng G,
Cc tnh cht ca ma trn k:
1) R rng ma trn k ca th v hng l ma trn i xng, tc l
a[i , j ]=a[ , i ], i , j ^ 1 , 2 ,..., n.
Ngc li, mi (0,1 )-ma trn i xng cp n s tng ng, chnh xc n cch nh s
nh (cn ni l: chnh xc n ng c u ) , vi mt n th v hfng n nh.
2) Tng cc phn t trn dng i (ct j ) ca ma trn k chnh bng bc ca nh i
(nh f).
3) Nu k hiu
a! , i , j = 1, 2,.. ., n
l cc phn t ca ma trn tch
166
Chn 2. Biu din d th trn niy tnh
Khi
A ^ ^ A . A . . . A
cho ta s ng i khc nhau t nh ; n nh j qua p - 1 nh trung gian.
Ma trn k ca th c hng c nh ngha mt cch hon ton tng t.
Th d 2, th c hng G, cho trong hnh 1 c ma trn k l ma trn sau
1
1 r 0
6
0 -
0
0
0
1
0
Lun rng ma trn k ca th c hng khng phi l ma trn i xng.
Ch : Trn y chng ta ch xt n th. Ma trn k ca a th c th xy dng
hon ton tng t, ch khc l thay v ghi 1 vo v tr a[ij] nu (/, j ) l cnh ca th,
chng ta s ghi k l s' cnh ni hai nh i v j.
Trong rt nhiu vn ng dng ca l thuyt th, mi cnh e = (i, v) ca th
c gn vi mt con s c{e) (cn vit l c{u,v) ) gi l trng s' ca cnh e. th
trong trng hp nh vy c gi l th c trng s. Trong trng hp th c
trng s, thay v ma trn k, biu din th ta s dng ma trn trng s
C = c[ i , j i , j = 1, 2,..., n.
vi
v
nu (/, j ) e E
c[/,] = e, n u ( i , y ) ,
trong s 0 , tu tng trng hp c th, c th c t bng mt trong cc gi tr
sau: 0, +00, -00.
u im ln nht ca phng php biu din th bng ma trn k (hoc ma trn
trng s) l tr li cu hi: Hai nh u, V c k nhau trn th hay khng, chng ta
ch phi thc hin mt php so snh. Nhc im ln nht ca phng php ny l:
167
Phn 2. L thuyt h
khng ph Ihuc vo s cnh ca th, ta lun phi s dng cm v b nh lu
tr ma trn k ca n.
2.2. Ma trn lin thuc nh-cnh

Xt G = (V, E) , { V = {1, 2, r.}, E = {<?|, ?2, ), l n th c hng. Xy dng
ma trn A = {a. i = 1, 2, n\ j = 1, 2, ni), trong
' nu nh / l nh u ca cung e
^ nu nh i l nh cui ca cung ej
Q nu nh i khng l u mt ca cung
Ma trn A xy dng theo qui tc va nu c gi l ma trn lin thuc nh-cnh.
V du. Xt thi cho trn hnh 3
(1.2) (1.3) (2.3) (2.4) (3,5) (4,5) (4.6) (5,2) (5,6)
1 1 1 0 0 0 0 0 0 0
2
- 1 0 1 1 0 0 0 - 1 0
3
0 - 1 - 1 0 1 0 0 0 0
4
0 0 0 - 1 0 1 1 0 0
5
0 0 0 0 - 1 0 0 1 1
6
0 0 0 0 0 0 - 1 0 - 1
Hnh 2. th c hng v ma trn lin thuc nh cnh
Ma trn lin thuc nh-cnh l mt trong nhng cch biu din rt hay c s dng
trong cc bi ton lin quan n th c hng m trong phi x l cc cung ca
th.
168
Chi 2. i i i (in (n h rc nay n
2.3. Danh sch cnh (cung)
Trong trng hp th tha ( th c s cnh m tho mn bt ng thc: m < 6 n)
ngi ta thng dng cch biu din th di dng danh sch cnh.
Trong cch biu din th bi danh sch cnh (cung) chng ta s lu tr danh
sch tt c cc cnh (cung) ca th v hng (c hng). Mi cnh (cung) e = (jc, y)
ca ih s icmg ihig vi l.ai biii Dau[?], Cuo[']. Nh vy, lii tr 5 ';h ta cn
s dng 2m n v b nh. Nhc im ca cch bii. din ny l xc nh nhng
nh no ca th l k vi mt nh cho trc chng ta phi lm c m php so snh
(khi duyt qua danh sch tt c cc cnh ca th).
Ck : Trong Irng hp th c trng s ta cn thm m n v b nh lu tr
trng s ca cc cnh.
Th d 3. Danh sch cnh (cung) ca th G (G) cho trong hnh 1 l:
Dau Cuoi Dau Cuoi
1 2 1 2
1 3 1 3
1 5 3 2
2 3 3 4
2 5 5 4
3 4 5 6
4 5 6 5
4
5 6
Danh sch cnh ca c Danh sch cung ca ,
2.4. Danh sch k
Trong rt nhiu vn ng dng ca l thuyt th, cch biu din th di dng
danh sch k l cch biu din thch hp nht c s dng.
Trong cch biu din ny, vi mi nh V ca th chng ta lu tr danh sch cc
inh k vi n, m ta s k hiu l Ke(v), tc l
Ke(v) = { u V : ( v , u ) e E }.
Khi d vng lp thc hin vi mi mt phn t trong danh sch ny theo th t cc
phn t c xp xp trong n s c vit nh sau:
or ue Ke v ) do...
169
Phn 2. L thuyt th
Chng hn, trn PASCAL c th m t danh sch ny nh sau (Gi l cu trc
For wa r d Star):
Const
m = 000; { m - s cnh
n = 100; { n -snh}
var
Ke : array[l ..m] of integer;
Tro; array[l..n+l] of integer;
trong Tro[i] ghi nhn v tr bt u ca danh sch k ca nh i, i=l,2,...,n, Tro[nH l]
= 2m+l.
Khi dng lnh qui c
r u Ke ( v ) do
begin
end;
c th thay th bi cu trc lnh c th trn PASCAL sau
f o r i : = T r o [ v ] t o T r o [ v + l ] - l d o
b e g i n
u : =Ke [ i ] ;
e n d ;
Trong rt nhiu thut ton lm vic vi th chng ta thng xuyn phi thc
hin cc thao tc: Thm hoc bt mt s cnh. Trong trng hp ny cu trc d liu
dng trn l khng thun tin. Khi nn chuyn sang s dng danh sch k lin kt
{Linked Adjancency List) nh m t trong chng trnh nhp danh sch k ca th
t bn phm v a danh sch ra mn hnh sau y:
program AdjList;
const
maxV = 100;
type
link - '\iode;
node - record
V ; integer;
n e x t : link
end;
170
Chng 2. BiCit (lien d th trii m\ lnh
var
j , . V, m, n, u, ; integer;
t : link;
Ke : array11..maxVJ o f link:
BEGIN
write( 'Cho s'cnh v nh ca th: A readln( m,n);
(* Khi to *)
f o r j : - to n do Kcljj:=nil:
f o r j:=--l tc m do
begin
write('CO nh u v cui ca cnh 'j, ': ');
readn(x,y);
new(t); t^.v:=.x: t^.nex:=Ke[y]: Key]:=t;
new(r); ^.v:=; !^.next:=KelxJ; Kelx]:=t;
end;
wrieln( 'Danh sch k ca cc nh ca th: ');
f o r j : = l to m do
begin
w r i t e l n i ' Danh sch cc nh k ca nh ' j , ');
t : - K e j l :
while t^.next < > nil do
begin
write(t^.v:4);
t:=t^.nex:
end;
end;
readin;
END.
Th d 4. Danh sch k ca cc th trong hnh I c m t trong hnh sau:
nh u
{ 3
3
{2
5 I nil
6 nil
f nil
inh u
171
Phn 2. L thuyt th
Hnh 2. Danh sch k ca th v hng G
v c hng | cho trong hnh 1.
rng trong cch biu din ny chng ta cn phi s dng c m+n n v b
nh.
Trong cc thut ton m t cc phn tip theo hai cu trc danh sch k v ma
trn trng s c s dng thng xuyn.
172
Chng 2. Biu cin d h r my lnh
Bi tp
1. Lp trnh nhp th vi cc cu trc d liu m t.
2. Lp trnh cho php chuyn i t cu trc d liu biu din th di dng ma trn
k sang danh sch k v ngc li.
3. Hy xy dng ma trn k, danh sch k ca cc th cho trong cc hnh v sau y
a)
Ga
l b_)
\ '
\ Ci-'' < ) /
X
/ ----(1 \
\ \
i)------------------- ( )
b)
4. Hy xy dng ma trn lin thuc nh cnh ca cc th cho trong cc hnh v sau
a) b)
173
Phn 2. L thuyt th
5. Hy xy dng ma trn trng s ca cc th cho trong cc hnh v sau
a) b)
c)
6. Ma trn lin thuc nh cnh c mt tnh cht rt c bil hay c s dng trong
vic pht trin thut ton ti u trn th. pht biu tnh cht ny ta cn khi nim
sau.
nh ngha. Ma t r n A c gi l ma trn hon ton n m un, nu mi nh thc
con khc khng ca n u c tr tuyt i l bng 1.
Chng minh rng ma trn lin thuc nh cnh ca n th c hng l hon ton
n m un.
174
Ch i 3. Tm kih rn (l l V>lO
3
CC THUT TON TM KlM
TRN TH V NG DNG
R t nhiu thut loan trn th dc xy dng da Irn c s duyt tt c cc inh
ca th sao cho mi nh ca n luc ving lliani (lng (Iil ln. V vy, vic xy
dng nhng thut ton cho php duyt inl cch h thng tt c cc nh ca th l
mt vn quan trng thu ht s quan tm nghin cu ca nhiu tc gi. Nhng thut
ton nh vy chng ta s gi l thut ton tm kim trn th. Cc thut ton ny gi
mt vai tr quan trng trong vic thit k cc thut ton trn th. Trong mc ny
chng ta s gii thiu hai thui loi lim kim c bn trn tl: Thut ton tm kim
theo chiu su (Depth First Search) v Thut ton tim kim theo chiu rng (Breadth
First Search) v ng dng ca chi vo vic gii mt s bi ton trn th.
Trong mc ny chng ta s xi th v hng G = (V, E), vi n inh v m cnh.
Chng ta s quan tm n vic nh gi hiu qu ca cc thut ton trn th, m mt
trong nhng c trng quan trng nht l phc tp tnh ton, tc l s php ton m
hii on cn phi ihc hin rong nh hung.xu nh c biu din nh l hm ca
kch thc u vo ca bi ton. Trons cc thut ton trn th, u vo l th G =
{V, ) , v vy, kch thc ca bi ton l s nh n v s cnh m ca th. Khi
phc tp tnh ton ca thut ton SC c biu din nh l hm ca hai bin s / f / , / ? j l
s php lOn nhiu nht cn phi ilic hin theo thut ton i vi mi th vi n nh
175
Phn 2. Lv huy d th
v m cnh. Khi so snh tc tng ca hai hm nhn gi tr khng m f(n) v gn)
chng ta s s dng k hiu sau:
fn) = 0 (g(n))
<=> tm c cc hng s c , N >0 sao cho
f(n) < C g(n) vi mi // >N.
Tiig t nh vy nu f(n, g(n, l cc hm nhiu bin, ta vit
f(n, = 0(g(r,
<=> tm c cc hng s c , N >0 sao cho
f(n, n2 ,...,n,) < c g(, vi mi /,
Nu phc lp tnh ton ca thut ton l 0{g(n)) th ta s cn ni l n i hi thi
gi an tnh c 0 (g(n)),
3.1. Tm km theo chiu su trn th
tng chnh ca thut ton c th trnh by nh sau. Ta s bt u lm kim t mt
nh no ca th. Sau chn u l mt nh tu k vi v lp li qu trnh
i vi u. bc tng qut, gi s ta ang xt nh V. Nu nh trong s cc nh k vi
V tm c n h w l cha c xt t h t a s xt n h ny ( n s tr thnh x t ) v b t
u t n ta s tip tc qu trnh tm kim, Cn nu nh khng cn nh no k vi Vl
cha xt th ta s ni rng nh ny l duyt xong v quay tr li tip tc tm kim t
nh m trc t a n c nh V ( n u V = Vy. t h k t t h c t m kim). C t h n i n m
na l tm kim Iheo chiu su bt u t nh Vc thc hin trn c s tm kim theo
chiu su t tt c cc nh cha xt k vi V. Qu trnh ny c th m t bi th tc
qui sau y.
procedure DFS(v);
Tm kim theo chiu su bt u t nh v;
Cc bin Chuaxet, Ke l bin ton cc
begin
Thm_nhv);
Chuaxet [v ]: =false;
for u eKe(v) do
i f Chuaxet[u] then DFS(u);
end; nh V duyt xong * j
Khi , Tim kim theo chiu su trn th c thc hin nh thut ton sau:
BEGIN
("* Initialization
for V e V do Chuaxetfv]:=true;
f or V e V do
i f Chuaxetv] then DFS(v);
END.
176
Chf ] ; ^ 3. T i ki cn r c i L l l i va O c i
R rng lnh gi DFS(v) s cho php n thm tt ca cc inh thuc cng thnh phn
lin thng vi nh V, bi v sau khi Ihin nh l lnh gi n th tc DFS i vi tl c
cc nh k vi n. Mt khc, do mi khi ihm nh V xong, bin Chuaxet[v] c l
li gi tr ase nn mi nh s c thm ng mt ln. Thut ton ln lt s tin
hnh tm kim t cc nh cha c ihTi, v vy, n s xl qua tt c cc nh ca
th (khng nht thit phi l lin thng).
nh gi 3hc tp trl ton ca th tc, trc ht nhn thy rng s php
ton cn thc hin trong hai chu trnh ca ihut ton (hai vng for chng trnh chnh)
l c n. Th tc DFS phi thc hin khng qu n ln. Tng s php ton cn phi thc
hin trong cc th tc ny l do trong cc th tc ny ta phi xt qua tt c cc
cnh v cc nh ca th. Vy phc tp tnh ton ca ihut ton l 0{n-\-m).
Th d 1, Xt th cho trong hnh 1. Cc nh ca n c nh s li theo th t
chng c thm theo th tc tm kim Iheo chiu su m t trn. Gi thit rng cc
nh trong danh sch k ca nh (Kc(v)) c sp xp theo th t tng dn ca ch
s.
3(9)
Hnh 1. Ch s mi (irong ngoc) ca cc nh c nh li theo th t
chng c thm trong thut ton tm kim theo chiu su
Thut ton tm kim theo chiu su trn th v hcig trnh by trn d dng c
th m t li cho th c hng. Trong trng hp th c hng, th tc DFS(v) s
cho php thm tt c cc nh ti no m t V c ng i n u. phc tp tnh ton
ca thut ton l 0 (a2+/?).
3.2. Tm kim theo chiu rng trn th
rng trong thut ton tm kim theo chiu su nh c thm cng mun s cng
sm tr thnh duyt xong. iu l h qu tt yu ca vic cc c nh c thm s
177
Pn 2. L t l u i x c t d lli
c k't np vo trong ngn xp (STACK). Tim kim theo chiu rng trn d ih, nu
ni mt cch ngn gn, c xy dng da trn c s thay th ngn xp (STACK) bi
hng i (QUEUE). Vi s ci bin nh vy, nh c thm cng sm s cng sm tr
thnh duyt xong (tc l cne sm di khi hng i). Mt nh s Ir thnh
duyt xong ngay sau khi la xt xong tt c cc inh k (cha c thm) vi n. Th
tc c th m t nh sau:
procedure BFSv):
Tm kim theo chiu rn, ? u t nh v;
Cc hih Chuaxet, Ke l bin ton cc
he^in
QUEUE:=0;
QUEUE <^v; K np V vo QUEUE
Chuaxe ]: =fase;
while QUEUE ^ 0 do
begin
p QUEUE; Ly p t QUEUE
Thm_nhip);
for Li eKe(p) do
i f Chuaxet uj then
begin
QUEUE Cr u; Cmaxelii]:-false;
end;
end;
end;
Khi , Tim kim theo chiu rng trn ih c thc hin nh thut ton sau:
BEGN
Initialization
for V e V do Chtaxefv:=tnie;
for V e V do
i f Chuaxet[v] then BFSv);
END.
Lp lun tng t nh trong th tc tm kim iheo chiu s, c th ch ra c
rng lnh gi BFS(v) s cho php n thm tt c cc nh thuc cng thnh phn lin
thng vi nh V, v mi nh ca th s c thm ng mt ln. phc tp lnh
ton ca thut ton l 0(/7+w).
Th d 2, Xt th trong hnh 2. Th t thm nh ca th ny theo thut ton tm
kim theo chiu rng c ghi trong ngoc.
178
Coii 3. Tm kicn frn d i v i; dnni
8(13)
Hnh 2. Ch s mi (trong ngoc) ca cc inh c nh li theo th t
chng c thm trong thut ton lm kim theo chiu su
3.3. Tm ng i v kim tra tnh lin thng
Trong mc ny ta xt ng dng cc thul ton tm kim m ta trong cc mc trc vo
vic gii hai bi ton c bn trn th: bi ton tm ng i v bi ton v xc nh
cc thnh phn lin thng ca th.
a) Bi ton tni ng i gia hai nh: Gi s s v l hi nh no d ca d th.
Hy tm cyng i ts dn .
Nh trn phn lch, th tc DFS() (BFS(.v)) s cho php ihm lt c cc nh
thuc cng mt thnh phn lin thn vi .V. V v, sau khi thc hin xong th tc, nu
Chuaxel[/]=truc th iu ct c ngha l khng c ctiig i t s n /, cn nu Chua
xet[/]=false Ih thuc cng ihnh phn lin thng vi .V, hay ni mt cch khc: tn ti
ng i t n t. Trong trng hp tn li ng i, c ghi nhn ng i, ta dng
ihm bin Truoc[\] ghi nhn inh (li trc nh V trong ng i tm kim t s n V.
Khi , i vi th tc DFS(r) cn sa sa i cu lnh if irong n nh sau:
if Chixell then
hc^in
TriiOciil :-v;
DPSii);
end:
Cn i vi th tc BFS(\) cn sa sa i cu lnh if Irong n nh sau:
i f Cuiaxetii/ hen
hei^in
QUEUE Cr u: Cncxetlu:=fase;
Triioclii :=p:
end:
179
Phcin 2. L i i uy d t h
ng i cn tm s c khi phc theo quy tc sau:
t ^ p:-Triioc[ ^ p2:=T'uoc[pI . . <-s .
Ch : ng i tm c theo thut ton lm kim theo chiu rng l g i ngn
nht (theo s cnh ) t nh ^ n nh /. iu ny suy trc tip t th t ihm nh theo
thut ton tm kim thec chiu rng.
b) Tni cc thnh phn lin thng ca th: Hy cho bi th gm hao nhiii
hcinh phn lin thng v tng thnh phn lin thng ca n gm nhng nh no.
Do th tc DFS(s) (BFS(s)) cho php thm tt c cc nh ihuc cng mt thnh
phn lin thne vi s. nn s thnh phn lin thng ca Ih chnh bng s ln gi n
th lc ny. Vn cn li l cch ghi nhn cc nh trong tng thnh phn 'in thng.
Ta dng thm bin ndex[v] ghi nhn ch s ca thnh phn lin thng cha nh V,
v dng thm bin nconnec m s' thnh phn lin thng (bin ny cn c khi
to gi tr l 0). Th tc Thm_nh(v) trong cc th tc DFS(v) v BFS(v) c nhim v
gn: ndexv]:- nconnect, cn cu lnh if trong cc chong trnh chnh gi n cc
th tc ny cn c sa li nh sau
nconnec:=0 ;
i f Chuaxetv then
begin
nconnect:-nconnect+l;
DFS(v); (*BFS(v)
end;
Kt thc vng lp th hai trong chng trnh chnh, Inconect cho s thnh phn lin
thng ca th, cn bin mng Index[v], \ e V cho php lit k cc nh thuc cng
mt thnh phn lin thng.
Cing trnh trn PASCAL gii hai bi ton ni trn c th vit nh sau.
{ CHONG TR NH TIM DUONG D VA KIEM TR A TINH LIEN THONG
THEO CAC THAT TOAN TIM KIEM TR EN DO THI
uses crt;
var
a : array[1..20,1..20] o f byte;
QUEUE, Chuaxet, Truoc : array[1..20] o f byte;
i,j,n,Solt,k,s,t : integer;
stop : boolean;
ch : char;
180
Chng 3. Ti m kicm vn d Vc ng dun
p n cedttre Nhapsoleu;
begin
write('Cho so dinh cua do thi:');readn(n);
writeln('Nhap so lieu ma tran ke:');
for i:=l to n do
begin
for j:= i+1 to n do
begin
vvriteC read(a[i,j]); a[j,i]:=a[i,j];
end;
a[i,i]:=0; writeln;
end;
end;
procedure ReadFUe:
var f;text; fn:string;
begin
write('Cho ten file du lieu:');readln(fn);
assign(f,fn);reset(f); readln(f,n);
writeln('Nhap so lieu ma tran ke:');
for i:=l to n do
for j:=l to n do read(f,a[ij]);
close(f);
end;
procedure Insolicu:
begin
writeln('Ma tran ke:);
for i;=l to n do
begin
for j:=l to n do write(a[i,j]:3); writein;
end;
end;
procedure Ketqualienthong:
begin
Insolieu;
if Solt=l then writein('Do thi la lien thong')
else
begin
wrieln('So thanh phan lien thong cua do thi la: ',Solt);
181
Phcn 2. L thuyt l
for i;=l to Solt do
begin
writeln(Thanh phan lien Ihong thu ' , i , ' gom cac dinh:');
for j:=l to n do if Chuaxet[j]=i then write(j:3); writeln;
end;
end;
write(Go Enter de tiep tuc...#7);readln;
end;
procedure BFS(i:integer);
Tm kim theo chiu rng bt u t nh i
var u, dauQ, cuoiQ: integer;
begin
dauQ:=l; cuoiQ:"=,
QUEE[cuoiQ]:-i;Chuaxet[i]~Solt;
while dauQ cuoiQ do
begin
u:=QUEUE[dauQ]; dauQ;=dauQ+l;
for j:=l to n do
if (a[uj]=l)and(Chuaxet|j]=0) then
begin
cuoiQ:=cuoiQ+l; QUEUE[cuoiQ]:=j;
Chuaxet[j]:=Solt; Truocj]:=u;
end;
end;
end; { of procedure BPS }
procedure DFS(v: integer);
Tim kim theo chiu su bt u t nh V
var u:integer;
begin
Chuaxet[v]:=Solt;
for u:=l to n do
if (a[v,u]=I )and(Chuaxet[u]=0) then
begin
Truoc[u]:-v; DFS(u);
end;
end;
procedure Lienhong:
begin
{ Khoi tao so lieu }
182
ChUo' ng 3. T i m ki c' m f r c n d o t h i va ifn;^ di t n^
for j:=l to n do Chuaxet[Jl;-(); Solt-4);
for i ~ l to n do
if Chuaxet[i]=0 then
begin
Solt:=Solt+l;
{BFS(i);}DFS(i);
end;
Ketqualienthong;
end;
procedure Ketquaduongdi:
begin
if Truoc[t]=0 then writein('Khong co duong di tu ',s,' den ',t)
else
begin
writeln('Duong di tu ',s,' den ',t,' la:');
j: -t;
write(t,' < = ');
while Truoc[j]<>s do
begin
\vnte(Truoc[j],' ');
j:=TruocO];
end;
writeln(s);
end:
write('Go Enter de tiep tuc...'#7);readln;
end;
procedure Duongdi;
begin
Insolieu;
writeC Tim duong di tu dinh: '); readln(s);
writeC den dinh:'); readln(t);
for j:=l to n do { Khoi tao so lieu }
begin
Truoc[j]:=0; Chuaxet[j]:=0;
end;
Solt:=l;BFS(s); { DFS(s); }
Ketquaduongdi;
end;
183
Phn 2. L huy h
procedure Menu:
begin
crscr;
writeln( TIM DUONG DI VA KIEM TRA TINH LIEN THONG');
writeln( CUA DO THI THEO THUAT TOAN TM KIEM TREN DO THI);
writeln(' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 1 = = = = ' ) ;
writeln(' 1. Nhap so lieu tu ban phim.');
writeln(' 2. Nhap so lieu tu file.');
writeInC 3, Kiem tra tinh lien thong.');
wrieln(' 4. Tim duong di giua hai dinh.');
writeln{' 5. Thoat.');
writeln('................. - ............................... -..............................');
write (' Hay go phim so de chon chuc nang...'#7);
ch:=readkey;wrieln(ch);
end;
{ Main program }
BEGIN
repeat
Menu;
case ch of
'1' : NhapsoHeu;
'T : ReadFile;
'3 : Lienthong;
'4': Duongdi;
end;
until ( c h - 5') or (upcase(ch)-Q');
END.
184
Chii^ 3. Tm kil' h] i ri' /i d V') lOi^ dnn
Bi tp
1. Gi s th G - (V.E) c cho bi danh sch kc. H\' vit th tc loi b cnh
(//.v), thm cnh (x,y) vo th.
2. Th tc sau y cho php duyt qua tt c cc nh ca th c cho bi danh sch
k:
procedure Find(x);
begin
Thamdinh(x); Cluatham[x]:- hK
while (Trong V cn nh hm) do
begin
v:= nh thm new :
i f (Tm c nh cha thm u e Ke(\ ) ) then
begin
u;= nh cha thm u in rong Ke(\')\
Thamdinh(u); Chuatham[u]:= hm\
end
else Chuatham[v] duyt .xong;
end;
end;
BEGIN
for V G V do Chuatham[v]:-Cha thm;
for V e V do
if (Chualham[v]= CZ/ z / ' t / l l i c n Iind(v);
END.
Hy ch ra rng c hai Ih tc ti kim theo chiu su v lm kim theo chiu rng
u c th xem nh trng hp ring ca Ih lc ny. Vil chng trnh trn PASCAL
thc hin thut ton m t trn.
3. p dng th tc tm kim theo chiu su tm tt c cc cu trn th v hng.
(Cu l cnh m vic loi b n lm tng s thnh phn lin thng ca th).
4. p dng th tc tm kim theo chiu su kim tra xem th c hng G = ( y A ) c
cha chu trnh hay khng?
5. Cho mt bng vung gm m X // , nm trn dng / ct j gi l (/j ) , / = 1, 2,,..,
m , j = 1, 2,..., n. Trong iTi (/,7) ca n ta vit mt s a[i,j] e (0,1}. T mt no
ta ch c th di chuyn sang cha s 1c chung cnh vi n . Gi s cho (p, q) l
185
Phn 2. Lv h i yt t h
xut pht, hy vit chng trnh tm xem c cch di chuyn t ny ra mt mp ca
bng hay khng? ( (//, v) gi l mp bng nu hoc l // = 1, hoc l li = m, hoc
l V = 1, hoc l V = n ) .
6. Cho mt bng vung gm m X /? , nm trn dng ct j gi l (/j ) , / = 1, 2,...,
m , j = 1, 2,..., n. Trong mi , j ) ca n ta vit mt s a[i,j] e (0,1}. Hy vit chng
trnh m s min con ton 0 ca bng. V d s min con ton 0 ca bng kch thc
5x5 c ch ra trong hnh sau v
1 1 [ ~
1 1
0 0
1 1
1 l
7. C N ngi kich (N < 100) mang s hiu t 1 n N. c mi n d tic. Gia
h c mt s ngi quen bit nhau. D liu v mi quan h quen bit ny c cho
trong mt file vn bn c tn i KHACH.DAT c cu trc nh sau: Dng u tin ca
n cha s lng khch mi N. Mi dng th i trong s N dng lip theo cha s hiu
ca cc ngi quen ca khch i, cc s hiu c ghi cch nhau bi t nht mt du
cch.
Ngi ta mun xp cc khch ny vo cc phng tic, sao cho hai khch trong cng
ml phng hoc l quen bit nhau hoc l c th lm quen nhau thng qua nhng ngi
quen bit trung gian ca h.
Vit chng trnh nhp d liu vo t file, sau tm cch phn khch vo cc
phng tic sao cho s phng phi s dng l l nht. Kt qu phn cng a ra mt file
vn bn, dng u tin cha s phng tic cn s dng K, mi dng th i trong s' K
dng tip theo ghi s hiu ca khch xp vo phng tic i.
8. Bn giao thng c cho bi n nt giao thng nh s l 1, 2,..., n v h thng
gm m on ng E, Ej,..., mi an ni 2 trong s n nt giao thng ni trn. Bn
giao thng c gi l lin thng n nu gia hai nt giao thng bt k ch c ng
mt ng i ni chng. D liu cho trong file vn bn c tn GT.DAT, dng u tin
cha cc s n, m, hai s ghi cch nhau bi u cch. Mi dng i trong s m dng tip
theo cha s hiu hai nt giao thng c ni bi on ng E|.
Vit chng trnh nhp d liu vo t file sau thng bo xem bn c phi l
lin thng cm hay khng. Trong trng hp bn l khng lin thng n hy tm
cch xy dng b sung v loi b mt s on ng cho bn l lin thng n v
sao cho s on ng phi xy dng b sung l t nht. Cc kt qu a ra mn hnh.
186
Chng 4. ) th Euler v c i Hamilton
4
TH EULER
V
TH HAMILTON
Trong chcmg ny chng ta s nghin cu hai dng th c bit l th Euler v
th Hamilton. Di y, nu khng c gii thch b sung, thut ng th c dng
ch chung a th v hng v c hiig, v thut ng cnh s dng ch chung
cnh ca th v hng cng nh cung ca th c hcmg.
4.1. th Euler

nh ngha 1, Chu trnh n ron^ G i qua mi cnh ca n mt ln c gi l chu


trnh Euler. ng i n trong G i qua mi cnh ca n mt ln c gi l ng
i Euler. th c gi l th Elder ni n c chu trnh Euler, v gi l th
na Euer nu n c g i Euler.
/
R rng mi th Euler lun l na Euler, nhng iu ngc li khng lun ng.
187
Phn 2. L thuyt th
Th d 1, Ih G| trong hnh 1 l th Euler v n c chu trnh Euler a, e, c, d, e, h,
a, th G3 khng c chu trnh Euler nhng n c ng i Euler a, c, d, e, h, d, a, h,
v th G3 l th na Euler. th G2 khng c chu trnh cng nh ng i Euler.
a h a h a b
d c
2
Hnh 1. th G|, Gj. ,
Th d 2. th H2 trong hnh 2 l th Euler v n c chu trnh Euler a, h, c, d. e, a.
th khng c chu trnh Euler nhng n c ng i Euler c, a, b, c, d, h v th /y,
l th na Euler. th / / , khng c chu trnh cng nh ng di Euler.
a h a h c a
a
\
K----------------
>----------------^
K "----------------d b
H2
Hnh 2. t h / / / / 2 , / / 3
iu kin cn v mt th l mt th Euler c Euler tm ra vo nm 1736
khi ng gii quyt bi ton hc ba ni ting thi v by ci cu thnh ph
Knigsberg, v y l nh l u tin ca l thuyt th.
nh l 1 (Euler). th v hng lin thng G l th Euler khi v ch khi mi
nh ca G u c bc chn.
chng minh nh l trc ht ta chng minh b :
B . Nu bc ca mi nh ca th G khng nh hn 2 th G cha chu trnh.
Chng minh. Nu G c cnh lp th khng nh ca b l hin nhin. V vy gi s
G l cri th. Gi V i mt nh no ca G. Ta s xy dng theo quy np ng i
188
Chng 4. th Euler t th Ham ilton
trong V, l nh k vi cn vi / > 1 chn i,+| l k vi V, v 5v,,| (c th chn
nh vy l v deg{V) > 2). Do tp nh ca G l hu hn, nn sau mt s hu hn
bc ta phi quay li mt nh xut hin trc . Gi nh u tin nh th l v^.
Khi , on ca ng i xy dng nm gia hai nh l 1 chu trnh cn tm.
Chng minh nh l.
Cn. Gi s G l th Euler tc l tn ti chu trnh Euler p trong G. Khi c mi
ln chu irnh p i qua 1 nh no ca Cr th bc ca nh tng ln 2. Mt klic
mi cnh ca th xut hin Irong F ng 1 ln, suy ra mi nh ca th u c bc
chn.
. Quy np theo s cnh ca G. Do G lin thng v deg{v) l s chn nn bc ca
mi nh ca n khng nh hn 2. T theo b G phi cha chu trnh c . Nu c i
qua tt c cc cnh ca G th n chnh l chu trnh Euler. Gi s c khng i qua tt c
cc cnh ca G. Khi loi b khi G tt c cc cnh thuc c ta thu c 1 th mi
H (khng nht thit l lin thng). S cnh trong H nh hn trong G v r rng mi
nh ca H vn c bc l chn. Theo gi thit quy np trong mi thnh phn lin thng
ca H u tm c chu trnh Euler. Do G l lin thng nn mi thnh phn trong H c
t nht 1 nh chung vi chu trnh c . V vy, ta c th xy dng chu trnh Euler trong G
nh sau; Bt u t mt dnh no ca chu trnh c , i theo cc cnh ca chu trnh c
chng no cha gp phi nh khng c lp cia H. Nu gp phi nh nh vy th ta i
theo chu trnh Euler ca thnh phn lin thng ca H cha nh . Sau li tip tc
i theo cnh ca c cho n khi gp phi nh khng c lp ca H th li theo chu trnh
Euler ca thnh phn lin thng tng lig trong H v.v... (xem hnh 3). Qu trnh s kt
thc khi ta tr v nh xut pht, tc l thu c chu trnh i qua mi cnh ca th
ng mt ln.
189
Phn 2. L thuyt th
H qu 2. th v hn lin thn^ G l na Euler khi v ch khi n c kli^ qu 2
nh bc l.
Chng minh. Thc vy nu G c khng qu 2 nh bc l th s' nh bc l ca n ch
c th l 0 hoc 2. Nu G khng c nh bc l th theo nh l 1 n l th Euler. Gi
s G c hai nh bc i l u v V. Gi H l th thu c t G bng cch thm vo G
mt nh mi vv v hai cnh (w,u) v (M^v). Khi tt c cc nh ca H u c bc l
chn, v th theo nh l 1 n c chu trnh Euler c. Xo b khi chu trnh ny nh vv v
hai cnh k n ta thu c ng i Euler trong th G.
Gi s G l th Euler, t chng minh nh l ta c th tc sau tm chu trnh
Euler trong G.
procedure Euler Cycle;
begin
STACK := 0 ; CE := 0 ;
Chn u ! mt nh no ca th;
STACK <= u;
while STACK ^ 0 do
begin
x:= top(STACK); (* .X l phn t u STACK *)
if K e ( x ) t 0 then
begin
y;= nh u tin trong danh sch Kex);
STACK c= y;
(* Loi b cnh (x,y) khi th *)
Ke(x) Ke(x) \ (y I : Ke(y) := Ke(y) \ {X};
end else
begin X <= STACK; CE <= x: end;
end;
end;
Gi s G l th Euler, thut ton n gin sau y cho php xc nh chu trnh Euler
khi lm bng tay.
Thut ton Flor
Xut pht t 1 nh u no ca G ta i theo cc cnh ca n 1 cch tu ch cn tun
th 2 quy tc sau:
190
Chng 4. th Elder v tl Hamilton
i) Xo b cnh di qua v di thi xo c nhn nh c lp to thnh.
ii) mi bcc ta ch i qua cu khi khns, cn cch la chn no khc.
Chng minh t nh ng n ca thut ton. Trc tin ta ch ra rng th tc trn c
th thc hin c mi bc. Gi s ta i n mt nh V no , khi nu V T Mth
th con cn li H l lin thng v cha ng hai nh bc l l V v u. Theo h qu
trong H c ng i Euler p t V ' n u. Do vic xo b cnh u tin ca ng i p
khng lrn mt tnh lin thng ca h , l sa> ra tn tc co tn thc liin mi bc.
Nu V= II th lp lun trn s vn ng chmg no vn cn cnh k vi u.
Nh vy ch cn phi ch ra l th lc trn dn n ng i Euler. Thc vy trong
G khng th cn cnh cha i qua khi in ta s dng cnh cui cng k vi u (trong
trng hp ngc li, vic loi b 1 cnh no k vi 1 trong s' nhng cnh cn li
cha i qua s dn n mt th khng lin thng, v iu l mu thun vi gi
t h i t i i ) ) .
Chng minh tng t nh trons nh l 1 ta thu c kt qu sau y cho th c
hng.
nh l 2. th c hng lin thng mnh l th Euler khi v ch khi
deg*(v) = deg^(v), VveK.
4.2. th Hamilton

Trong mc ny chng ta xt bi ton tcm t nh trong mc trc ch khc l ta quan


tm n ng i qua tt c cc nh ca th, mi nh ng mt ln. S thay i
tng chng nh l khng ng k ny trn thc t dn n s phc tp ho vn
cn gii quyt.
nh ngha 2. ng di qua tt c cc (lnh ca th mi dnh ng mt ln c gi
l dng i Hamilton. Chu trnh ht u t mt nh V no qua tt c cc nh cn
li mi nh ng mt ln ri quay tr v V c gi l chu trnh Hamilton. th G
c gi l th Hamilton nu n cha chu trnh Hamilton, v gi l na Hamilton
nu n cha ng i Hamilton.
R rng th Hamilton l na Hamilton, nhng iu ngc li khng lun ng.
Th d 3. Trong hnh 3: G, l Hamilton, 2 l na Hamilton cn G| khng l na
Hamilton.
191
Phn 2. L thuyt th
G, G2 G,
Hnh 3. th Hamilton G , na Hamilton 2 , v G|
Cho n nay vic tm mt tiu chun nhn bit th Hamilton vn cn l m, mc
d y l mt vn trung tm ca l thuyt th. Hn th na, cho n hin nay
cng cha c thut ton hiu qu kim tra mt th c l Hamilton hay khng.
Cc kt qu thu c phn ln l cc iu kin mt th l th Hamilton.
Phn lfn chng u c dng "nu G c s'cnh ln th G l Hamilton". Mt kt qu
nh vy c pht biu trong nh l sau y:
nh l 3 (Dirak 1952). n th v hng G vi n >2 nh, mi nh c bc khng
nh hn n/2 l th Hamilton.
Chng mnh. Thm vo th G k nh mi v ni chng vi tt c cc nh ca G.
Gi s k l s nh nht cc nh cn thm vo cho th thu c G' l th
Hamilton. Ta s ch ra rng k = 0. Thc vy, gi s ngc li l k > 0 . K hiu
V, p, w....... y
l chu trnh Hamilton trong G', trong V, vv l nh ca G cn p l mt trong s' cc
nh mi. Khi wkhng k vi V v nu ngc li, ta khng cn s dng p v iu
l mu thun vi gi thit k nh nht. Hn th na nh (vv'chng hn) k vi w khng
th i lin sau nh v' (k vi v) v rng khi c th thay
V > v ' > w '
bi
V > v ' w w ' . . . > V
bng cch o ngc on ca chu trnh nm gia w v v'. T suy ra l s nh ca
th ' khng k vi w l khng nh hoi s nh k vi n (tc l t nht cng l bng
n/2 + k), ng thi s nh ca G' k vi w cng t ra l phi bng n!2 + k. Do khng c
nh no ca G' va khng k, li va k vi w, cho nn tng s nh ca th G' {G
c n + k nh) khng t hcm n + 2k. Mu thun thu c chng minh nh l.
nh l sau l tng qut ho ca nh l Dirak cho th c hng:
nh l 4. Gi s G th c hng lin thng mnh vi n nh. Nu
192
Chi 4. t h Ei t er v d t h Ha mi t o n
deg'^{v) > / 7/ 2, dc ( v ) > / 2 , Vv
th G l Hamilton.
C mt s dng th m ta c th bit khi no n l th Hamilton. Mt v d
nh vy l th u loi. th dcu loi l th c hng m trong 2 nh bt k
ca n c ni vi nhau bi ng mt cung. Tn gi du loi xut hin v th nh
vy c th dng biu din kt qu thi u bng chuyn, bng bn hay bt c mt tr
chci lo Ti khng cha php hD. Ta CC nh !v sau.
nh l 5. i) Mi thi u loi ua Hamilton:
i) Mi rli du loi lin rln^ mnh l Hamilton.
T h d 4. th u loi D,, Df, c cho trong hnh 4.
D,
Hnh 4. th u loi Dy u loi lin thng mnh D,
Thut ton lit k tt c cc chu trnh Hamilton ca th.
Thut ton sau y c xy dng da trn c s thut ton quay lui cho php lit k tt
c cc chu trnh Hamilion ca th.
procedure Hamilton(k);
(* Lit k cc chu trnh Hamilton thu c hng vic
pht trin dy nh (X1 X[k-11)
ca th G=(V, E) cho hi danh sch k: Ke(v), V G V
*)
193
Phn 2. L thuyt th
begin
for y e Ke(X[k-l]) do
if ( k = n+1 ) and ( y = vO ) then Ghinhan(X[l],...,X[n],vO)
else
if Chuaxet[y] then
begin
X[k] - y;
Chuaxet[y] ;= false;
Hamilton(k+l);
Chuaxet[y] := true;
end;
end;
(* Main Program *)
BEGIN
for V e V do Chuaxet[v] := true;
X [ l ] : = v O ; (* vO l mt nh no ca ihi *)
Chuaxet[vO] false ;
Hamilton(2);
END.
V d 5. Hnh 5 di y m t cy tm kim theo thut ton va m t.
2 1
v3
Hnh 5. th v cy lit k chu trnh Hamilton
ca n theo thut ton quay lui
Trong trng hp th c khng qu nhiu cnh thut ton trn c th s dng d
kim tra xem th c phi l Hamilton hay khng.
194
Cl i i n' n; ^ 4 . i ) i l i u c r v l o l l d i u o i i
Bi tp
1. Chnu minh rne a ti c hiiVrm c dm di Eulcr khi v chi khi n l lin
ihnii yu v bn bc vo v bii bc ra cua ca cac dinh l bim nhau, neoi tr luii
inh c bit l i . V ta c
deu*(//) = deu (/0+1. cleu ( V) = cl eu r ) +l
2. a) Vi nhng gi tr no cua v li d h hai pha dav u ',,, ., l;i th .ilci. th
na Euler?
b) Chn^ minh rim th Q, lun c chu ni nh HaiiiiUon.
3. Vi mi th sau s dni ilut ton Fleurv d a ra chu trnh Euler ca th
hoac chi ra rnii d th khnu phai \h\ Euler:
f .
a.
c)
b.
(

4. Vit chirne trnh kieni tra xcm mt thi c l cl6 th Euler, th na Euer, v
tronu trni hp cu tra li l khng nh, hy lm chu trnh Euler hoc ne i Eiiler
troni th theo thut ton m t trone 4.1.
5. Vit chng rnh kiem ira xem mt d th C() pliai i th Hami l t on, d t l i na
Hamil ton hay khn? ( Sdne thut ton m t Ironu 4,2)
6. Trone uii v ch bni chuyn c n i nh s t 1 n n thi u vnu trn ml
lt. Kt qu thi u c cho bi mt bnu s(a[i.j|, i, j 1 , 2 , .... n). tron<4 a| i. j | = l
nu i i thim troim trn up i j v a|i,j|={), troim trns hp i i thua trone trn
up di . D liu vo c cho ronu int file vn ban c ln l KQTD.INP, dnii du
lin cha s n, cc clone tip iheo cha cc s a|i,j]. i, j =1. 2 ..... n. cc s cch nhau
195
Phn 2. L thuyt th
bi du cch hoc du xung dng. Kt thc gii, ban t chc mun mi cc i trng
ca i bng ra xp thnh mt hng ngang chp nh. Hy tm cch xp cc i
trng thnh mt hng ngang sao ngoi tr hai ngi ng hai mp ca hng mi
ngi trong hng u ng cnh mt i trng ca i thng, mt i trng ca i
thua i mnh trn u ca gii. Kt qu a ra mn hnh: th t ng cc i trng
ca cc i trong hng ngang tm c.
7. Tim cch vit 9 s 1,9 s 2, 9 s 3 thnh dy
| , ^2 ,. ^^21,
sao cho 27 s c 3 ch s
a,a,3 , a , a 3 a , ,..
l i mt khc nhau.
8. Cho n xu k t S|, S,..., S, mi xu c di khng qu 80 k t. Cc xu ny
c ghi trong mt file vn bn c tn l XAU.INP, mi dng ca n cha mt xu k
t ni trn. Gi s p v Q l hai xu no trong cc xu cho. Ta ni p c th ni
c vi Q nu k t u tin ca p l trng vi k t cui cng ca Q. Lp trnh kim
tra xem c th ni n xu cho thnh mt xu theo quy tc nu trn hay khng.
9. Mt mng my tnh gm n my tnh nh s t 1 n n, trong c mt my gi l
my ch c nh s l 1. Hai my trong mng c th c ni vi nhau bi nhiu
hn mt knh truyn tin. Tt c c m knh truyn tin gia cc my c nh s t 1,
2,..., m. D liu ni mng c cho trong mt file vn bn c tn l NET.INP, mi dng
ca n cha thng tin v mt knh truyn tin trong mng gm hai s d|, c, l ch s ca
hai my c ni bi knh truyn tin th i trong mng (i = 1, 2,..., m). kim tra cc
knh truyn tin, ngi ta gi mt thng ip t my ch trong mng, thng ip ny
cn phi ln lt thng qua cc my trong mng truyn i qua tt c cc knh truyn tin
trong mng mi knh ng mt ln ri li quay tr v my ch. Hy lp trnh nhp d
liu vo t file, sau cho bit c cch truyn tin nh va m t trn hay khng.
Trong trng hp cu tr li l khng nh hy a ra mn hnh trnh t cc knh trong
mng m thng ip cn ln lt c truyn qua.
10. C 17 ngi bn gp nhau mt lp bi dng nng cao trnh . Trong sut thi
gian ca t hc tp h cng nhau n ti mt nh hng c nhiu mn n hp khu v
vi h. Bit rng trong tt c cc ba n ti , h u ngi quanh mt ci bn trn v
mi cp ch ngi cnh nhau ng mt ln. Hi rng crt hc tp ko di nhiu nht
bao nhiu ngy? Hy lp trnh a ra cch xp ch ngi ca h trong nhng ngy .
196
Chtg 5. c<}\ va Ccv khtig ca th
5
CY V CY KHUNG
CA TH
th v hng lin thng khng c chu trnh c gi l cy. Khi nim cy ln
u tin c Cayley a ra vo luim 1H57, khi ng s dng chng m mt s dng
cu trc phn t ca cc hp cli ho hc trong ho hc hu c. Cy cn c s dng
rng ri trong rt nhiu lnh vc khc nhau, c bit trong tin hc, cy c s dng
xy dng cc thut ton t chc cc th mc, cc thut lon ct gi, truyn d liu v
tm kim ...
5.1. Cy v cc tnh cht c bn ca cy
nh ngha 1. Ta gi cy l d l r hn lin hi khng c chu trnh. th
khng c chu trnh c >i l rng.
Nh vy, rng l th m mi thnh phn lin thng ca n l mt cy.
197
Pl di 2 . L y ( uyc d t
Th d l. Troniz hnh 1 l mr rrm um 3 cy 7 | , T., Ty
T-
Hnh 1. Rni gm ba cv T, 7^,
C h ni cy l a th v hne n i a n nht. Dinh l sau ay cho ta ni s lnh
cht ca cy.
nh l I. G i sr T ^ i V . E ) i d l v l i ) \ l cni. K l i d cc n h cc sau cy
I ^ U' ( J ' I ^ :
( l T l cy:
( 2 ) T kl n ^ c a c ii ri v c - CI:
T l i l / ^ v c / - l cnh;
(4) T lin th^ v mi cnh ca n u l cn:
(5) H (lnl hc k \ ca T dc ni V(J nhau hi ni mt uii (li df:
( ) T k h n ^ c a c h u t r n h nhn ^ h c t hcf i i YCU) n rn cnl a liii cc
l ni c h u r nl .
Chng minh. Ta s chng minh nh l theo s sau;
{!) => (2) => (3) => (4) (5) ^ (6) => (1) .
(1) => (2) Theo nh ngha T khng chu chu irnh. Ta s chm minh brm quy np
theo s inh /7 khns nh: S cnh ca cy vi n nh l //-1. R rn khn nh nu
V(3'i // - 1. Gi s /? > . Trc ht nhn thy rim irona mi cy T c n inh u tm
c t nhi mt inh l inh treo (tc l nh c bc l 1). Thc vy, ei \. ..... l
im i di nht (theo s cnh) troim T. Khi d r rne i[ v \\ l cc nli treo, v l \'|
(v^) khnu c cnh ni ti bt c inh no troni s cc inh V-,. ......(do ih khnii
cha chu trnh), cnu nh ti bt' c nh no khc ca th (do ni i anu xt l
di nht). Loai b \'j v cnh (i'|. Vj) khi T ta thu c cy 7 , vi /-1 nh, m theo ui
thit qui np,c /-2 cnh. Vy cy T c /7-2+] - - cnh.
198
Clnfffng 5. Cy va Cay Umng cia d ilii
(2) ^ (3) Ta chng minh bng phn ching. Gi six T khng lien thong. Khi d T phan
ra hanh k > 2 thnh phn lien thng 7',, T,,... J*. Do T khng cha chu trinh nn mi 7,
(/ - 1, 2,..., k) cng khng cha chu trinh, vi th mi T] la cay. Do d nu gol n{T) va
e(T) theo thi tu l s' dinh va canh ca T,, ta c
e{T,) = n{T,) - \, / = 1, 2, , :,
suy ra
= c{T) ^ e(T,)+ . . . + K f , )
= n ( l \ ) + . . . + /(7*.) - k
= n{T) - k < n - \ V .
Mu thun thu dugc ching t T l lien thng.
(3) => (4) Vic loai b mt canh bt ky khi T dn den d thi vi n dinh va n-2 canh ro
rng l d thi khng lin thng. Vy moi canh trong T du l cu.
(4) => (5) Do T l lin thng nn hai dinh bt ky ca n duc ni vi nhau bi mt
dung di don. Nu c cap dinh no ca T c hai duong di dcfn khc nhau ni chng, thi
tr d suy ra d thi chia chu trinh, va vi th cc canh tren chu trinh ny khng phi l
cu ?!
(5) => (6) T khng cha chu trlnh, bi vi nu c chu trinh thi ho ra tim dirgc cap dinh
ca T dugc ni vi nhau bi hai dung di dan. By gi, nu thm vo T mt canh e ni
hai dinh mva v no d ca T. Khi d ciinh ny cng vi duong di don ni u vi v s tao
thnh chu trinh trong T. Chu trlnh thu duac ny li ciuy nhfil, vi nu thu dugc nhiu hon
mt chu trinh thi suy ra trong T trirc d phi c sn chu trinh.
(6) (1) Gi s T khng lin thng. Khi d n gm t ra l 2 thnh phn lin thng.
Vi vy, nu thm vo T mt canh ni hai dinh thuc hai thnh phn lin thng khc
nhau ta khng thu dugc thm mt chu trlnh no c. Diu d mu thun vi gi thit (6).
Dinh ly dtrgc chng minh.
5.2. Cy khung ca do thj
Djnh ngha 2. Gi sG=(V,E) l d thi v hung lin thng. Cy T=(V,F) v&i Fez E
dugc ggi l cy khung ca d thi G.
Thi du 2. D thi G va cay khung ca n dugc cho trong hinh 2
199
Phn 2. L thuyt th
h c
d
Hnh 2. th v cc cy khung ca n
nh l sau y cho bit s lng cy khung ca th v ',,:
nh l 2 (Cayley). S cy khung ca ih ' l ^ .
nh l 2 cho thy s lng cy khung ca mt th l mt s rt ln. By gi ta xt
p dng ca thut ton tm kim theo chiu su v theo chiu rng trn th xy
dng cy khung ca th v hng lin thng. Trong c hai trng hp mi khi ta n
c nh mi u (tc Chuaxet[] = true) t nh V th cnh (y, u) s c kt np vo
cy khung. Hai thut ton tng ng c trnh by trong hai th tc sau y.
procedure STREE DFS(v);
(* Tm kim theo chiu su p dng vo tm tp cnh ca cy khung T
ca th v hng lin thng G cho hi danh sch k.
Cc bin Chuaxet, Ke, T l ton cc *)
begin
Chuaxet[v] := false ;
for u e Ke(v) do
if Chuaxet[u] then
begin
T : = T u ( v , u ) ;
STREE_DFS(u);
end;
end;
(* Main Program *)
BEGIN
(* Initialiation *)
for u e V do Chuaxet[u]:=true;
T := 0 ; (* T l tp cnh ca cy khung *)
STREE_DFS(root); (* root l nh no ca th *)
END.
200
Chng 5. Cy v Cy khung ca th
procedure STRE_BFS(r);
(* Tm kim theo chiu rng p dng tm tp cnh ca cy khung T
ca th v hig lin thng G cho bi danh sch Ke *)
begin
QUEUE : = 0 ;
QUEUE o : r ;
Chuaxet[r]:=false;
Ms QUEUED 0 dD
begin
v<= QUEUE;
for u e Ke(v) do
if Qiuaxet[u] then
begin
QUEUE -i= u; Chuaxet[u]:=false;
T : - T u ( v , u ) ;
end;
end;
end;
(* Main Program *)
BEGIN
for u e V do Chuaxet[u]:=true;
T := 0 ; (* T l tp cnh ca cy khung *)
STREE_BFS (root); (* root li mt dnh tu ca th *)
END.
Ch :
1. Lp lun tng t nh trong phn trc c th ch ra c rng cc thut ton
m t trn c phc tp tnh ton 0 {n+m).
2. Cy khung tm c theo th tc STREE_BFS(r) l cy ng i ngn nht t
gc r n tt c cc nh cn li ca th.
5.3. Xy dng tp cc chu trnh c bn ca th
Bi ton xy dng cy khung ca th lin quan cht ch vi mt bi ton ng dng
khc ca l thuyt th: Bi ton xy dng tp cc chu trnh c bn ca th m ta s
xt trong mc ny.
TRR - 14
201
Phn 2. L thuyt d th
Gi s G = (V, E) l n th v hng lin thng, H={V,T) l cy khung ca n.
Cc cnh ca th thuc cy khung ta s gi l cc cnh trong, cn cc cnh cn li s
gi l cnh ngoi.
nh ngha 3. Nu thm mt cnh n^oi e s E \ T vo cy khun^ H chng ta s thu
c ri^ mt chu trnh tron^ H, k hiu chu trnh ny l c , . Tp cc chu ninh
/2 = { C, : e G E \ T ]
c gi l tp cc chu trnh c bn ca th G.
Gi s A v B l hai tp hp, ta a vo php ton sau
A B -= ( A u B ) \ ( A
Tp A B c gi l kiu i xng ca hai tp hp A v B.
Tn gi chu trnh c bn gn lin vi s kin l mi chu trnh ca th u c th
thu c t cc cii trnh c bn nh chi' ra trong nh l sau y:
nh l 3. Gi sG=(V,E) l th v hng lin thng, H - ( V,T ) l cy khung ca n.
Khi mi chu trnh ca th G u c t h biu din nh l hiu i xng ca mt s
cc chu trnh c bn.
Vic tm tp cc chu trnh c bn gi mt vai tr quan trng trong vn gii tch
mng in. C th hcm, theo mi chu trnh c bn ca th tng ng vi mng in
cn phn tch ta s thit lp c mt phng trnh tuyn tnh theo nh lut Kirchoff:
Tng hiu in t h dc theo mt mch vng l bng khng. H thng phng trnh
tuyn tnh thu c cho php tnh ton hiu in th trn mi on ng dy ca li
in.
Ta s m t thut ton xy dng tp cc chu trnh c bn da trn th tc tm kim
theo chiu su trn th. Thut ton c cu trc tng t nh thut ton xy dng cy
khung theo th tc tm kim theo chiu su m t trong mc trc.
Thut ton xy dng tp cc chu trnh c bn.
Gi thit rng th G = {V, E) c m t bng danh sch k Ke(v), e V.
procedure Cycle(v);
{* Tm tp cc chu (rnh c bn ca thnh phn lin thng cha nh v;
Cc bin d, num, STACK, Index l ton cc *)
begin
d:=d+l;
STACK[d] := v;
num := num+1;
202
Chn 5. Cy v Cy khun ca th
Index[v] := num;
for u G Ke(v) do
if lndex[u]=0 then Cycle(u)
else
if (u STACK[d-l]) and (Index[v] > Index[u]) then
< Ghi nhn chu trnh vi cc nh:
TACK[d], S^TACK[d-lJ,... , T A C K d , vi STACK[c]=u >:
d ; = d - l ;
end;
(* Main Program *)
BEGIN
for V e V do Index[v] ;= 0;
num := 0; d := 0; STACK[0] := 0;
for V e V do
if Index[v] = 0 then Cycle(v);
END.
Ch : phc tp tnh ton ca thut ton va m t l 0 ( I I 1K I ).
5.4. Bi ton cy khung nh nht
Bi ton cy khuiig nh nht ca th l mt trong s' nhng bi ton ti u trn th
tm c ng dng trong nhiu lnh vc khc nhau ca i sng. Trong mc ny chng
ta s trnh by nhng thut ton c bn gii bi lon ny. Trc ht chng ta pht
biu ni dung ca bi ton.
Cho G = (V, E) l th v hng lin thng vi tp nh V = j 1, 2,..., n] v tp
cnh E gm m cnh. Mi cnh e ca th G c gn vi mt s thc c{e), gi l
di ca n. Gi s H = /,T) l cy khung ca th . Ta gi di c(H) ca cy
khung H l tng di ca cc cnh ca n:
ciH) = z c{e).
e &T
Bi ton t ra l trong s tt c cc cy khung ca th G hy tm cy khung vi
di nh nht. Cy khung nh vy c gi l cy khung nh nht ca th v bi ton
t ra c gi l bi ton cy khung nh nht.
203
Phn 2. L ihuyt th
Th d 3. Hnh 3 cho mt th d v th c trng s trn cnh v cy khung nh nht
ca thi c ch ra bi cc canh t m.
minh ho cho nhng ng dng ca bi ton cy khung nh nht, di y, ta
pht biu hai m hnh thc t tiu biu ca n.
Bi ton xy dng h thng ng st. Gi s ta mun xy dng mt h thng ng
st ni n thnh ph sao cho hnh khch c th i t bt c mt thnh ph no n bt
k mt trong s' cc thnh ph cn li. Mt khc trn quan im kinh t i hi l chi
ph v xy dng h thng ng phi l nh nht. R rng l th m nh l cc
thnh ph cn cc cnh l cc tuyn ng st ni cc thnh ph tng ng vi phng
n xy dng ti u phi l cy. V vy, bi ton t ra dn v bi ton tm cy khung
nh nht trn th y n nh, mi nh tng ng vi mt thnh ph, vi di
trn cc cnh chnh l chi ph xy dng ng ray ni hai thnh ph tng ng (ch l
trong bi ton ny ta gi thit l khng c xy dng tuyn ng st c cc nh ga
phn tuyn nm ngoi cc thnh ph).
Bi ton ni mng my tnh. Cn ni mng mt h thng gtn n my vi tnh nh s t
1 n n. Bit chi ph ni my i vi my i l c[/,], i , j = 1, 2,,.., n (thng thng chi ph
ny ph thuc vo di cp ni cn s dng). Hy tm cch ni mng sao cho tng chi
ph ni mng l nh nht.
gii bi ton cy khung nh nht, tt nhin c th lit k tt c cc cy khung
ca th v chn trong s chng cy khung nh nht. Phng php nh vy, trong
trng hp th y , s i hi thi gian c n"'^, v r rng khng th thc hin
c ngay c vi nhng th vi s nh c hng chc. Rt may l i vi bi ton
cy khung nh nht chng ta c nhng thut ton rt hiu qu gii chng. Chng
ta s xt hai trong s nhng thut ton nh vy: Thut ton Kruskal v Thut ton Prim.
204
Chi 5. Cy v Cy kl i i i n ca C t h
5.4.1. T h u t ton Kruska
Thut ton s xy dng tp cnh 7' ca cy khung nh nht H - (Y,T) theo tng bc.
Trc ht xp xp cc cnh ca th G theo th t khng gim ca di. Bt u t
tp T = 0 , mi bc ta s ln lt duyt trong danh sch cnh xp xp, t cnh c
di nh n cnh c di ln hn, tm ra cnh m vic b sung n vo tp T
khng to thnh chu trnh trong tp ny. Thut ton s kt thc khi ta thu c tp T
m /7-1 C.nli. C th, thut tcr c5 :h n u nhi' Su:
procedure Kruskal;
begin
T : = 0 ;
while I T I < (n-1) and ( E 0 ) do
begin
Chn e l cnh c did nh nht trong E;
E : = E \ { e ) ;
if ( T u (? khng cha chu trnh ) then T := T u e I ;
end;
if ( I T 1< n-1 ) then h khng lin tlng;
end;
Th d 4, Tim cy khung nh nht ca th cho trong hnh 4.
Bc khi ro. t T := 0 . sp xp cc cnh ca th theo th t khng gim ca
di ta c dy:
(3,5), (4,6), (4,5), (5,6), (3,4). (1,3), (2,3), (2,4), (1,2)
dy di tcmg ng ca chng
4, 8, 9, 14, 16, 17, 18, 20, 23.
ba ln lp u tin ta ln lt b sung vo tp T cc cnh (3,5), (4,6), (4,5). R rng
nu thm cnh (5,6) vo T th n s to thnh vi 2 cnh (4,5), (4,6) c trong T chu
trnh. Tinh hung tng t cng xy ra i vi cnh (3,4) l cnh tip theo trong dy.
Tip theo ta b sung cnh (1,3), (2,3) vo T v thu c tp T gm 5 cnh;
T= {(3,5), (4,6), (4,5), (1,3), (2,3)}
chnh l tp cnh ca cy khung nh nht cn tm.
205
Phn 2. L thuyt thi
20
Hnh 4. th c rng s
Th d 5. Hnh 5 minh ho qu trnh tm cy khung nh nht ca th cho trong hnh
3: Cc cnh m l cc cnh c chn vo cy khung, cc canh l nt l cc cnh
c b qua trong qu trnh duyt qua cc cnh.
Hnh 5. Tim cy khung nh nht theo thut ton Kruscal
Chng minh tnh ng n ca thut ton.
R rng th thu c theo thut ton c /7-1 cnh v khng c chu trnh, v vy theo
nh l 1 n l cy khung ca th G. Nh vy, ch cn phi ch ra rng T c di
nh nht. Gi s tn ti cy s ca th G m c{S) < c(T). K hiu e,- l cnh u tin
trong dy cc cnh ca T xy dfng theo thut ton va m t khng thuc 5. Khi
th con ca G sinh bi cy s c b sung cnh C. s cha 1 chu trnh duy nht c i qua
^.. Do chu trnh c phi cha cnh e thuc 5 nhng khng thuc T nn th con thu
206
Chii 5. Cv v Cy kiiii ca (l li
c t s bng cch thay cnh ' ca n bi { k hiu th ny l S') s l cy
khung. Theo cch xy dng c{e^) < ce) do r('0 < f(5), ng thi s cnh chung
ca S' v T tng thm mt so vi s cnh chung ca s v T. Lp li qu trnh trn
tng bc mt ta c th bin i s thnh T v trong mi bc tng di khng tng,
tc l cT) < c{S). Mu thun thu c chng t 7 l cy khung nh nht.
V vic lp trnh thc hin thut ton.
Khi ing lnh .on niiiu nhi ca thut ton clinh l bjc ,i3 ;c3 cc cnh ca
th theo th t khng gim ca di la chn cnh b sung. i vi d th c m
cnh cn phi thc hin c m log m php ton sp xp cc cnh ca th thnh
dy khng gim theo di. Tuy nhin, xy dng cy khung nh nht vi /7-1 cnh,
ni chung, ta khng cn phi sp th t ton b cc cnh m ch cn xt phn trn ca
dy cha / < m cnh. lm vic ta c th s dng cc th tc sp xp dng
Vun ng (Heap Sort). Trong th tc ny, to ng u tin ta mt c 0{m) php
ton, mi phn t ln tip theo trong ng c th tm sau thi gian 0(log m). V vy,
vi ci tin ny thut ton s mt thi gian c 0 {m+p log m) cho vic sp xp cc cnh.
Trong thc t tnh ton s p nh hn rt nhiu so vi m.
Vn th hai trong vic ih hin thut ton Kruskal l vic la chn cnh b
sung i hi phi c mt th lc hiu qu kim tra tp cnh 'ru|> c cha chu trnh
hay khng. rng, cc cnh trong T cc bc lp trung gian s to thnh mt
rng. Cnh e cn kho st s to thnh chu Irnh vi cc cnh trong T khi v ch khi c
hai nh u ca n thuc vo cng nit cy con ca rng ni trn. Do , nu cnh e
khng to thnh chu trnh vi cc cnh trong T, th n phi ni hai cy khc nhau trong
T. V th, kim tra xem c th b sung cnh c vo 7' la ch cn kim tra xem n c
ni hai cy khc nhau trong T hay khng. Mt trong cc phng php hiu qu thc
hin vic kim tra ny l ta s phn hoch tp cc nh ca th ra thnh cc tp con
khng giao nhau, mi tp xc inh bi mt cy con trong T (c hnh thnh cc
bc do vic b sung cnh vo T). Chng hn, i vi th trong v d 3, u tin ta c
su tp con 1 phn t: 11, (2), (3), {4, (5). | 6 . Sau khi b sung cnh (3, 5), ta c
cc tp con {1}, {2, {3, 5 , | 4 | , | 6 . Tip theo, sau khi cnh (4,6) c chn, ta c
cc tp con {!}, {2}, {3,5 , | 4, 6 ( . bc th 3, ta chn cnh (4,5), khi hai tp con
c ni li v danh sch cc tp con l {1}, j 2 , i 3, 4, 5, 6 . Cnh c di tip theo
l (4, 6), do hai u ca n thuc vo cng mt tp con j 3, 4, 5, 6, nn n s to thnh
chu trnh trong tp ny. V vy cnh ny khng c chn. V thut ton s tip tc
chn cnh tip theo kho s t ...
Nh vy, gii quyt vn th hai ny ta phi xy dng hai th tc: Kim tra
xem hai u u, V ca cnh e={u, v) c thuc vo hai tp con khc nhau hay khng, v
trong trng hp cu tr li l khng nh, ni hai tp con tng ng thnh mt tp.
207
Phn 2. L thuyt d th
Ch rng mi tp con trong phn hoch c th lu tr nh l mt cy c gc, v khi
mi gc s c s dng lm nhn nhn bit tp con tng ng.
Choig trnh trn Pascal thc hin thut ton Kruskal vi nhng nhn xt va nu
c th vit nh sau:
(* Tm cy khung nh nht theo thut ton Kruskal
ca th cho bi danh sch cnh *)
uses crt;
type
an = aay[l ..50] of integer;
arrm = aay[1..5000] of integer;
var
n, m, MinL : integer;
Dau, Cuoi, w : arrm;
DauT, CuoiT, Father; arm;
Connect : boolean;
procedure Nhapdl;
var i : integer;
fname: string;
f : text;
begin
write(Cho Tn file d l i u : '); readln(fname);
assign(f, fname);
reset (f);
readln(f,n,m);
for i := 1 to m do readln( f, Dau[i], Cuoi[i], W [ i ] );
close(f);
end;
procedure Indulieu;
var i: integer;
begin
writeln('S nh; S' cnh: ',m);
writeln(' nh u nh cui di');
for i:=l to m do
writeln(Dau[i]:4, Cuoi[i]:10, W[i]:12);
end;
208
CliM/ng 5. Cay va Cay khung cua do thi
procedure Heap(First, Last:inieger);
var j, k, 11, t2, t3: integer;
begin
j := first;
while (j <= trunc(last/2)) do
begin
if (2*j < last) and (W[2*j+1] < W[2*j]) then
k := 2*j+l
else
k := 2*j;
i f W [ k ] < W [ j ] then
begin
t l : = D a u [ j ] ; t2 := Cuoi[j]; t3 ;= W[j];
Dau[j] :=Dau[k]; Cuoi[jJ ;=Cuoi[k]; W[j] := W[k];
Dau[k] := t l ; Cuoi[k] := t2; W[k] := t3;
j : = k ;
end
else j := Last;
end;
end;
function Find(i: integer) : integer;
var Tro : integer;
begin
Tro := i;
while Father[Tro] > 0 do
Tro:= Father[TroJ;
Find:=Tro;
end;
procedure Union(i,j : integer);
var x: integer;
begin
X:= Father[i] + Father[j];
if Father[i]> Father[j] then
begin
Father[i] :=j;
Father[j] := x;
end
else
209
Phn 2. L thuyt th
begin
Fatherjj] := i;
Father[i] := x;
end;
end;
procedure Kruskal;
var i, Last, u, V , r l , r2. Ncanh, Ndinh ; integer;
begin
(* Khi to mng Father nh du cy con
v khi to Heap *)
for i : - l to n do Father[i]:--1;
for i:= trunc(m/2) downto 1 do Heap(i,m);
last:=m; Ncanh := 0; Ndinh := 0;
MinL 0;
Connect := true;
while (Ndinh < n-1) and (Ncanh < m) do
begin
Ncanh := Ncanh+1;
u := Dau[l]; V := Cuoi[l];
(* Kim tra u v V c thuc cng mt cy con? *)
r l := Find(u);
r2 := Find(v);
if r l <> r2 then
begin
(* Kt np cnh (u,v) vo cy khung *)
Ndinh:=Ndinh+l; Union(rl,r2);
DauT[Ndinh]:=u;
CuoiT[Ndinh]:=v;
MinL:=MinL+W[l];:
end;
(* T chc li Heap *)
Dau[l] := Dau[Last];
Cuoi[l] := Cuoi[Last];
W[l] :=W[Last];
Last := Last-1;
Heap( 1,Last);
end;
if N d i n h o n - 1 then Connect := false;
end;
210
Chng 5. Cay v Cy kung ca d th
procedure Inketqua;
var i; integer;
begin
writelnC*** Kt qu tnh ton
writeln(' di ca cy khung nh nht: \MinL);
writeln('Cc cnh ca cy khiins nh nht:'):
for i := to n-1 do
writelnC(\DauT[i]:2;, ,CuoiT[i]:2;) ):
end;
BEGIN
clrscr;
Nhapdl;
Indulieu;
Kruskal;
if Connect then Inketqua
else
writeln(' th khng lin thng');
readln;
END.
File d liu ca bi ton trong th d 4 c dng sau:
6 9
3 5 4
4 6 8
4 5 9
5 6 14
3 4 16
1 3 17
2 3 18
2 4 20
1 2 23
Kt qu tm c: di ca cy khung nh nht v tp cnh ca cy khung nh
nht c a ra mn hnh
211
Phn 2. L thuyt th
5.4.2. Thut ton Prim
Thut ton Kruskal lm vic km hiu qu i vi nhng th dy ( th vi s cnh
m n{n-\)/2). Trong trig hp thut ton Prim t ra hiu qu hn. Thut ton Prim
cn c gi l phng php ln cn gn nht. Trong phng php ny, bt u t mt
nh tu ca th s, u tin ta ni s vi nh ln cn gn n nht, chng hn l inh
y. Ngha l trong s cc cnh k ca nh 5, cnh {s. _y) c di nh nht. Tip theo,
trong s cc cnh k vi hai nh hoc y ta tm cnh c di nh nht, cnh ny dn
n nh th ba z, v ta thu c cy b phn gm ba nh v hai cnh. Qu trnh ny s
c tip tc cho n khi ta thu c cy gm n nh v /-1 cnh s chnh l cv khuna
nh nht cn tm.
Gi s th cho bi ma trn trng s c = c[ij], i , j - 1, 2,..., n\. Trong qu trnh
thc hin thut ton, mi bc c th nhanh chng chn nh v cnh cn b sung
vo cy khung, cc nh ca th s c gn cho cc nhn. Nhn ca mt nh V s
gm hai phn v c dng [ J[v], near{v\ ], trong d[v] dng ghi nhn di ca
cnh c di nh nht trong s cc cnh ni nh V vi cc nh ca cy khung ang
xy dng (ta s gi l khong cch t nh n tp nh ca cy khung), ni mt cch
chnh xc
/[v] := min { c[v, vv] : w e V } ( = c[v, z]),
cn nearv] ghi nhn nh ca cy khung gn V nht {near[v] := z).
Thut ton Prim c m t y trong th tc sau:
procedure Prim;
begin
(* Bc khi to *)
Chn s l mt nh no ca t h ;
V h { s }; T : = 0 ;
d[s] := 0; near[s] := s.
for V e v \ Vh do
begin
d[v] := c[s,v];
near[v] := s;
end;
(* Bc lp *)
Stop := false;
while not Stop do
begin
Tim u G v \ Vh (hod mn: d[u] = min { d[v] : u G v \ Vh };
212
Chi 5. Cy Vi l Cy khui ca d th
Vh := Vh U u }; T := T u { ( u, near|uj ) ;
if i VHl = n then
begin
H = ( V h ,T ) l cy khung nh nht ca th ;
Stop := true;
end
else
for ve v \ Vh do
if d[v]>c[u,v] then
begin
d[v] := c[u,v] ;
near[v] := u;
end;
end;
end;
Thi d 6. Tim cy khung nh nht cho th xt trong th d 4 theo thut ton Prim.
Ma trn trng s ca th c dng
1 2 3 4 5 6
1 0 33 17 00 00 co
2 33 0 18 20 00 00
C = 3 17 18 0 16 4 00
4 00 20 16 0 9 8
5 00 co 4 9 0 14
6 _ 00 00 co 8 14 0 _
Bng di y ghi nhn ca cc nh trong cc bc lp ca thut ton, nh nh
du * l nh c chn b sung vo cy khung (khi nhn ca n khng cn b
bin i trong cc bc lp tip theo, v vy ta nh du - ghi nhn iu ) :
Bc
l p nh 1 nh 2 nh 3 nh 4 nh 5 i nh 6
V h
T
Khi to [ 0, 1] [ 3 3 , 1 ] [ 17, 1]*
[ ^, ]
1^^, 1] 1, 1]
1
0
1 - [18,3] - [ 16, 3J [ 4 , 3 ] *
K n
1 , 3
( 3, 1)
2 - [ 1 8 , 3 ] - 19. 5]* - [ 14, 5J 1 , 3 , 5 ( 3, 1) , ( 5, 3)
3 - [ 1 8 , 3 ] - - - [8,4]* 1 , 3 , 5 , 4 ( 3, 1) , ( 5 3 ) , ( 4. 5)
4 - [ 1 8 . 3 1 * - - -
'
1 , 3 , 5 , 4 , 6 (3,1), (5,3), (4,5), (6,4)
5 " 1 , 3 , 5 , 4 , 6, 2 ( 3, 1) , ( 5, 3) , ( 4, 5) ,
(6,4), (2.3)
213
Phn 2. L tlniv th
Th d 6. Hnh 6 minh ho qu trnh tm cy khung nh nht ca th cho trong hnh
3: Cc cnh m l cc cnh c chn vo cy khung, Mi tn ch hng chn nh
tip theo, Cnh t nt khng cn phi xt trong cc bc tip theo.
5.4.3. Mt s bi ton dn v bi ton cy khung nh nht
Trong mc ny ta nu hai bi ton c th dn v bi ton cy khung nh nht, v v th
c th gii c nh cc thut ton m t trong mc trc
a) Bi ton cy khung ln nht. D dng nhn thy rng trong cc thut ton trn ta
khng cn s dng n i hi v du ca di. V vy c th p dng chng i vi
th c cc cnh vi di c du tu . V vy, gi s ta phi tm cy ln nht (tc
l c di c{H) ln nht) th ch cn i du tt c cc o v p dng mt trong
hai thut ton va m t.
b) Bi ton tm mng in vi tin cy ln nht. Cho li in c n nt. ng
dy ni nt / vi nt j c tin cy 1 > p[i,j] > 0, i , i = 1, 2,..., n. Gi G = (V, E) l
th tng ng vi li in ny. Hy tm cy khung H ca th G vi tin cy
n
ln nht.
Bi ton ny dn v bi ton tm cy khung vi tng di nh nht trn th G
vi di ca mi cnh ^ G E l - log p{e). Thc vy, gi s H l cy khung nh
nht trn th vi di - loe o(e), ta c
214
Chng 5. Cv v C\' kluni^ Cic d l
logp(e) < - ] ^ log/?{c")
e e / eG. fi '
vi mi cy khung / / ' ca th G. T suy ra
^ logp(e) > ^ ogpie)
eH ^H'
do
0f>n - ''Fi
h e e H'
hay l
n - n
t e H e ^ H '
vi mi cy khung H \ Vy H l cy khung c tin cy ln nht.
215
Phn 2. L thuyt th
Bi tp
1. Hy vit cc chng trnh trn Pascal thc hin cc thut ton;
a) Xy dng cv khiirie ca th;
b) Xy dng tp cc chu trnh c bn ca th;
c) Xy dng cy khung nh nht theo thut ton Prim.
2. p dng thut ton Kruscal tm cy khung ngn nht cho th sau dy
3. p dng thut ton Prim tm cy khung ngn nht cho th sau y, ly nh xut pht l
nh l
4. Tim cy khung ngn nht cho th c trng s cho trong hnh v di y theo
thut ton Kruscal v thut ton Prim
216
Chn;^ 5. Cy \ Cy khni ca th
a) b)
8 2
5 6
3 9
6 9
4
3 5
1 4
11
c)
3
= 5 ' 7 2 2
7 5 7 5 3
11 ^
5
s 9
5 1 2 7
d)
---------- -1
1
3
<
9 4 5
2

8
3 t 5 5
e)
5. Xt th gm 6 nh A, B, c, D, E, F cho bi ma trn trng s
A B C D E F
A 0 33 17 H5 85 85
B 33 0 18 20 85 85
C 17 18 0 16 4 85
D 85 20 16 0 9 8
E 85 85 4 9 0 14
F 85 85 85 8 14 0
Tm cy khung ngn nht theo thut ton Prim. Yu cu vit r kt qu trung gian
trong tng bc. Kt qu cui cng: Tp cnh ca cy khung nh nht v di ca n.
6. Mt cng ty lp mt d n mc in thoi cho n (<100) nhn vin ca mnh bng
mt li cc on ni t my ca mt ngi n my ca mt s ngi khc (khng
phi hai ngi no cng c ni vi nhau). D n phi m bo yu cu sau (gi l
yu cu v tnh thng sut ca mng): Trn li in thoi mi nhn vin ca
Cng ty u c t h nhn tin cho bt c mt nhn vin khc hoc trc tip hoc
TRR - 15
217
Phn 2. L thuyt Ih
thng qua mt s nhn vin trung gian. D liu v d n c ghi trong file vn bn
c tn NETW.INP c cu trc nh sau:
- Dng u tin cha s n;
- Dng tip theo cha s ng ni;
- Trong cc dng tip theo cha cc ng ni ca d n: mi dng gm 3 s
nguyn heo th t l ch s ca hai my c ni v chi ph ni hai my ny.
Hy lp trnh nhp d liu vo t file, sau :
a) Kii tra xem d n c p ng yu cu v tnh thng sut hay khng?
b) Trong trung hp d n p ng yu cu thng sut, hy tm cch loi b mt s
ng ni sao cho mng vn l thng sut ng thi gim n mc ti thiu chi ph ni
mng.
7. Ngi ta nh chc mt mng my tnh gm mxn my c b tri theo mt mng
vung gm mxn nt. Nt ca li hng i ct j gi l nt (;'j ) , j=\,2,...,n.
Mi my s c t mt nt v cc my c ni vi nhau theo cnh ca cc
vung (gi l cc ng ni ca mng). Trong khi mng cn ang trong qu trnh xy
dng (mi ch c mt s ng ni no c xy dng xong), v phi a mng vo
phc v kp thi k thi Olimpic Tin hc Quc t, ngui ta mun kim tra xem tt c cc
my trao i thng tin c vi nhau hay cha (hai my bt k trong mng gi l
trao i thng tin c vi nhau nu nh chng c th trao i thng tin c vi nhau
hoc l trc tip, hoc thng qua cc my trung gian). Trong trng hp cu tr li l
ph nh, cn xc nh s ng ni t nht cn phi gp rt xy dng trc sao cho tt
c cc my u trao i thng tin c vi nhau, nhm phc v kp thi nhim v t
xut ni trn. D liu v cc ng ni xy dng xong c cho trong mt file vn
bn c tn COMNET.INP c cu trc nh sau
- Dng u tin cha hai s m,
- Trong cc dng tip theo, mi dng cha thng tin v mt ng ni xy dng
xong trong thi im hin ti gm 4 s nguyn dng xc nh to ca hai my c
ni vi nhau bi ng ni ny.
Hy lp trnh nhp d liu vo t file, sau thc hin cc yu cu ni trn.
218
CKii . Bt OLUI dng i ^cv ni
6
BI TON NG I NGN NHT
Trong cc ng dng thc t, Bi ton tm ng i ngn nht gia hai nh ca mt
th lin thng c mt ngha to ln. C th dn v bi ton nh vy nhiu bi ton
thc t quan trng. V d, Bi ton chn mt hnh trinh tit kim nht (theo liu chun
khong cch hoc thi gian hoc chi ph) trn mt mng giao thng fng b, ng
thu hoc ng khng; Bi ton chn mt phng php tit kim nht a mt h
ng lc lc t trng thi xut pht n mt trng thi ch, Bi ton lp lch thi cng
cc cng on trong mt cng trnh thi cng ln, Bi lon la chn ng truyn tin vi
chi ph nh nht trong mng thng tin, V..V... Hin nay c rt nhiu phng php gii
cc bi ton nh vy. Th nhng, thng thng, cc thut ton c xy dng da trn
c s l thuyt th t ra l cc thut ton c hiu qu cao nht. Trong chng ny
chng ta s xt mt s' thut ton nh vy.
219
Phn 2. L thuyt h
6.1. Cc khi nim m u
Trong chng ny chng ta ch xt th c hng G = (V, E), IVI=/, \E\=ni vi cc
cung c gn trng s, ngha l, mi cung (u, v) e E ca n c t tng ng vi
mt s thc a{u,v) gi l trng s ca n. Chng ta s t a(u, v) = co, nu {u, v) E.
Nu dy
Vo . V,, . . . , Vp
l mt ng i trn G, th di ca n c nh ngha l tng sau

/=1
tc l, di ca ng i chnh l tng cc trng s' trn cc cung ca n. (Ch rng
nu chng ta gn trng s cho tt c cc cung u bng 1, th ta thu c nh ngha
di ca ng i nh l s cung ca ng i ging nh trong cc chng trc xt).
Bi ton tm ng i ngn nht trn th di dng tng qut c th pht biu
nh sau; Tim cmg i c di nh nht t mt nh xut pht e V n nh cui
(ch) t e V. ng i nh vy ta s gi l ng i ngn nht t s n t cn di
ca n ta s k hiu l d{s,t) v cn gi l kong cch t 5 n t (khong cch nh
ngha nh vy c th l s m). Nu nh khng tn ti mg i t s n th ta s t
d(s,t) = co. R rng, nu nh mi chu trnh trong th u c di dng, th trong
ng i ngn nht khng c nh no b lp li (ng i khng c nh lp li s c
gi l ng i c bn). Mt khc, nu trong th c chu trnh vi di m (chu
trnh nh vy, ngn gn, ta s gi l chu trnh m) th khong cch gia mt s cp
nh no ca th c th l khng xc nh, bi v, bng cch i vng theo chu
trnh ny mt s ln ln, ta c th ch ra ng i gia cc nh ny c di nh
hn bt c s thc cho trc no. Trong nhng trng hp nh vy, c th t vn
tm ng i c bn ngn nht, tuy nhin bi ton t ra s tr nn phc tp hn rt
nhiu, bi v n cha bi ton xt s tn ti ng i Hamilton trong th nh l mt
trng hp ring. Mt tnh cht ca ng i ngn nht na c th pht biu mt cch
khng hnh thc nh sau: Mi on ng con ca ng i ngn nht cng l ng i
ngn nht. Tnh cht tuy rt hin nhin ny nhng li hm cha mt ni dung rt su
sc, v ngi ta thng gi n l nguyn l ti u. Vic chng minh tnh ng n ca
hu ht cc thut ton tm cmg i ngn nht u c xy dng da vo nguyn l
ny.
Trc ht cn ch rng nu bit khong cch t s n t, th ng i ngn nht t
5 n t, trong trng hp trng s khng m, c th tm c mt cch d dng. tm
220
Chng 6. Bi ton n i n i nhi
ng i, ch cn l i vi cp nh 5, t e V tu ( t) lun tm c nh Vsao
ch'"
d{s\t) = c{s,v) + a{v,t).
Thc vy, nh V nh vy chnh l nh i trc nh t trong ng i ngn nht t 5
n t. Tip theo ta li c th tm c nh u sao cho d{s,v) = d{s,u) + a{u,v), ... T gi
thit v tnh khng m ca cc trng s d dng suy ra rng dy t, V , u, ... khng cha
rh lp 'i v kt thc h h 5 R rng dv thu dc xc 'nh f'neu lt ngc th t
cc nh trong n) ng i ngn nht t 5 i t. T ta c thut ton sau y tm
ig i ngn nht t 5 n t khi bit di ca n.
procedure Find_Path;
(*
u vo:
d[v] - khong cch t nh s n tt c cc nh cn li Ve V;
t - nh ch;
a[u,v] , u, Ve V - ma trn trng s trn cc cung.
u ra:
Mng STACK cha dy nh xc nh ng i ngn nht t s n t
*)
begin
STACK := 0 ; STACK <= t ; V:= t ;
while V s do
begin
u:= nh tho mn dlvj = d[uj + a[u,v] ;
STACK c= u ;
V ; = u ;
end;
end;
Ch rng phc tp tnh ton cu thut ton l O(n^), do tm nh u ta phi
xt qua tt c cc nh ca th. Tt nhin, ta cng c th s dng k thut ghi nhn
ng i trnh by trong chng 3: dng bin mng Truoc[v], V e V , ghi nh nh
i trc Vtrong ng i tm kim.
Cng cn lu thm l trong trng hp trng s trn cc cnh l khng m, bi
ton tm ng i ngn nht trn th v hng c th dn v bi ton trn th c
hng, bng cch thay mi cnh ca n bi hai cung c hng ngc chiu nhau vi
cng trng s l trng s ca cnh tng ng. Tuy nhin, trong trng hp c trng s
m, vic thay nh vy c th dn n chu trnh m.
221
Phn 2. L thuyt th
6.2. ng i ngn nht xu't pht t mt nh
Phn ln cc thut ton tm khong cch gia hai nh i' v / c xy dng nh k
thut tnh ton m ta c th m t i th nh sau: t ma trn trng s' <7[m,v], l, V e V,
ta tnh cn trn J[v] ca khong cch t i' n tt c cc nh I e V. Mi khi pht hin
d[u] + a[u,v]<d[v] (1)
cn trn d[v] s c l tt ln: /[v] := d[u] +
Qu trnh s kt thc khi no chng ta khng lm tt thin c bt c cn trn
no. Khi , r rng gi tr ca mi d[\>] s cho a khong cch t nh i' n nh V.
Khi th hin k thut tnh ton ny trn my tnh, cn trn d[v\ s c gi l nhn ca
nh V, cn vic tnh li cc cn trn ny s gi l php gn nhn cho th v ton b
th tc thng gi l ih tc gn nhn. Nhn thy rng tnh khong cch t i n t,
y, ta phi tnh khong cch t s n tt c cc nh cn li ca th. Hin nay vn
cha bit thut ton no cho php tm ng i ngn nht gia hai nh lm vic thc s
hiu qu hn nhng thut ton tm ng i ngn nht t mt nh n tt c cc nh
cn li.
S tnh ton m ta va m t cn cha l xc nh, bi v cn phi ch ra th t
chn cc nh u v V kim tra iu kin (1). Th t chn ny c nh hng rt ln
n hiu qu ca thut ton.
By gi ta s m t thut ton Ford - Bellman tm ng i ngn nht t nh i' n
tt c cc nh cn li ca th. Thut ton lm vic trong trng hp trng s ca cc
cung l tu , nhng gi thit rng trong th khng c chu trnh m.
p r ocedur e Ford_Bellman;
(*
u vo: th c htg G={V,E) vi n nh,
s e V l nh xut pht,
a[u,v], u,v G V, ma trn trng s;
u r a : Khong cch t nh s n tt c cc nh cn li [v], Ve V.
Truoc[v], V e V, ghi nhn nh i trc Vtrong c/ng i ngn
nht t s n V
Gi thit: th khng c chu trnh m.
*)
begin
222
Chn^ 6. Bi ton c^ i ngn nht
(* Khi to *)
for V G V do
begin
d[v] := a[s,v] ;
Truoc[v]:=s;
end;
d[s]:=0;
for k := 1 to n-2 do
for v e V \ | s do
for u e V do
if d[v] > d[u] + a[u,v] then
begin
d[v] ;= d[u] + a[u,v] ;
Truoc[v] ;= u ;
end;
end;
Tnh ng n ca thut ton c th chng minh trn c s nguyn l ti uu ca
quy hoch ng. R rng l phc tp tnh ton ca thut ton l 0{n^).
Lu rng chng ta c th chm dt vng lp theo k khi pht hin trong qu trnh
thc hin hai vng lp trong khng c bin iry[v'] no b i gi tr. Vic ny c th xy
ra i vi k < n-2 , v iu lm tng hiu qu ca thut ton trong vic gii cc bi
ton thc t. Tuy nhin, ci tin khng thc s ci thin c nh gi phc tp
ca bn thn thut ton.
i vi th tha tt hn l s dng danh sch k Ke(v), V & v , biu din
th, khi vng lp theo u cn vit li di dng
for u e Ke(v) do
if d[v] > d[u] + a[u,v] then
begin
d[v] := d[u] + a[u,v] ;
Truoc[v] ;= u ;
end;
Trong trng hp ny ta thu c thut ton vi phc tp 0{n.m).
Th d 1. Xt th cho trong hnh 1. Cc kt qu tnh ton theo thut ton c m t
trong bng di y
223
Phn 2. L thuyt th
(3)
00 1 00 00 3
00 00 3 3 8
00 00 00 1 -5
00 00 2 00 00
00 00 00 4 oo
Hnh 1. Minh ho cho thut ton Ford - Bellman
d[ l ] ,
Truoc[l]
0, 1
0, 1
0, 1
0,1
d[2],
Truoc[2]
1, 1
1, 1
1,1
1,1
d[3],
Truoc[3]
CO, 1
4 , 2
4 , 2
4 , 2
d[4],
Tmoc[4]
CO, 1
4 , 2
3 , 5
3 , 5
d[5],
Truoc[5]
3, 1
-1,3
-1,3
-1,3
Bng kt qu tnh ton theo thut ton Ford - Bellman
Trong cc mc tip theo chng ta s xt mt s trng hp ring ca bi ton tm
ng i ngn nht m gii chng c th xy dng nhng thut ton hiu qu hn
thut ton Ford - Bellman. l khi trng s ca tt c cc cung l cc s khng m
hoc l khi th khng c chu trnh.
6.3. Trng hp ma trn trng s khng m.
Thut ton Dijkstra
Trong trng hp trng s trn cc cung l khng m thut ton do Dijkstra ngh
gii bi ton tm ng i ngn nht t nh 5 n cc nh cn li ca th lm vic
hu hiu hn rt nhiu so vi thut ton trnh by trong mc trc. Thut ton c xy
dng da trn c s gn cho cc nh cc nhn tm thi. Nhn ca mi nh cho bit
cn trn ca di ng i ngn nht t 5 n n. Cc nhn ny s c bin i theo
mt th tc lp, m mi mt bc lp c mt nhn tm thi tr thnh nhn c nh.
Nu nhn ca mt nh no tr thnh c nh th n s cho ta khng phi l cn trn
m l di ca ng i ngn nht t nh 5 n n. Thut ton c m t c th nh
sau.
224
Chng . Bi ton (lii i ngn nht
procedure Dijkstra;
(* u vo: th c hng G=(V,E) vi n nh,
s e V l nh xut pht, a[u,v], u,v e V, ma trn trng s';
Gi thit: a[u,v] > 0, H, V e V.
u r a : Khong cch t nh s n tt c cc nh cn li d[v], v e V .
Truoclv}, ve V, ghi nhn nh i trc V trong n^ i ngn nht t s n V.
*)
begin
(* Khi to *)
for V e V do
begin
d[v] := a[s,v] ;
Truoc[v]:=s;
end;
d[s] := 0; T := V \ {s ); (* T l tp cc nh c nhn tm thi *)
(* Bc lp *)
while T 0 do
begin
Tim nh u e T tho mn d[u] = min{ d[z] : z e T};
T := T \ { u ) ; (* C'nh nhn ca nh u *)
for V e T do (* Gn nhn li cho cc nh trong T *)
if d[v] > d[u] + a[u,v] then
begin ,
d[v] :=d[u] + a[u,v] ;
Truoc[v] := u ;
end;
end;
end;
nh l 1. Thut ton Dijkstra lm c ng i ngn nht trn th sau thi gian c
o).
Chng minh. Trc ht ta chng minh l thut ton tm c mg i ngn nht t
nh s n cc nh cn li ca th. Gi s rng mt bc lp no cc nhn c
nh cho ta di cc ng i ngn nht t 5 n cc nh c nhn c nh, ta s
chng minh rng ln lp tip theo nu nh u* thu c nhn c nh th d[u*] chnh
l di ng i ngn nht t s n w*.
225
Phn 2. L thuyt th
K hiu S l tp cc nh c nhn c nh cn s , l tp cc nh c nhn tm thi '
bc lp ang xt. Kt thc mi bc lp nhn tm thi d[v] cho ta di ca ng i
ngn nht t .Vn V ch qua nhng nh nm hon ton trong tp 5|. Gi s rng ng
i ngn nht t n khng nm trn trong tp S|, tc l n i qua l nht mt nh
ca tp 52- Gi z G S2 l nh u tin nh vy trn ng i ny. Do trng s trn cc
cung i khng m, nn on ng t z n c di L > 0 v
d[z] < d[u^] - L < d[i i %
Bt ng thc ny l mu thun vi cch xc nh nh l nh c nhn tm thi nh
nht. Vy ng i ngn nht t 5 n /Y* phi nm trn troriR 5|, v v th cl[] l
di ca n. Do in lp u in = { v sau mi ln lp la ch thm vo 5, mE nh
/* nn gi thit l d[v] cho di ng i ngn nht t .Vn V' vi mi V^ 5, l ng
vi bc lp u tin. Theo qui np suy ra thut ton cho ta ng i ngn nht t s n
mi nh ca th.
By gi s nh gi s php ton cn thc hn theo thut ton, mi bc lp
tm ra nh u cn phi thc hin 0 (n) php ton, v gn nhn li cng cn phi thc
hin mt s lng php ton cng l 0{n). Thut ton phi thc hin /7-1 bc lp, vy
thi gian tnh ton ca thut ton l c 0 {n^).
nh l c chng minh.
Khi tm c di ca ng i ngn nht d[v] th ng i ny c th tm da
vo nhn Truoc[v], VG V, theo qui tc ging nh chng ta xt trong chng 3.
Th d 2, Tim cmg i ngn nht t nh 1 n cc nh cn li ca th hnh 2.
(7)
( 1)
(3)
Hnh 2. Minh ho thut ton Dijkstra
Kt qu tnh ton theo thut ton c trnh by trong bng di y. Qui c vit
hai thnh phn ca nhn theo th t: d[v], Truoc[v]. nh c nh du l inh
226
Chii . Bi ton di i n.>n Iil
c chn c nh nhn bc lp dang xt, nhn ca n khng bin i cc bc
tip theo, v th ta nh du
Bc lp
Khi to
5
nh 1
0 , 1
nh 2
I. 1
inh 3
cc, 1
6 , 2
4, 4 *
nh 4
X, 1
3 , 2 *
nh 5
co, 1
co, 1
7, 4
7, 4
nh 6
co, 1
8 , 2
8 , 2
5 , 3 *
6, 6
Bng kt qu tnh ton theo thut ton Dijkstra
Ch :
1) Nu ch cn tm ng i ngn nht t .Vn mt nh t no th c th kt
thc thut ton khi nh tr thnh c nhn c' nh,
2) Tng t nh trona mc 6.2. d dng m t li thut ton cho trng hp th
cho bi danh sch k. c th gim bt khi lng tnh ton trong vic xc nh nh
u mi bc lp, c th s dng thut ton Heapsort (tong t nh trong chcmg 5 khi
th hin thut ton Kruskal). Khi c th thu c thut ton vi phc tp tnh ton
l 0 {m log /).
6.4. ng i trong th khng c chu trnh
By gi la xt trng hp ring ih hai ca bi ton mg i ngn nht, m gii n
c th xy dng thut ton vi phc tp lnh ton l khi th khng c
chu trnh (cn trng s trn cc cung c th l cc s ihc tu ). Trc ht ta chng
minh nh l sau.
nh l 2. Gi sG l th khng c chu rh. Ki cc nh ca n c th nh s
sao cho mi cu ca th ch hn^ nh c ch s nh hn n nh c ch s ln
hn, ngha l mi cun^ ca n c ihhiu din di cln (v[/], v[/]), trong i < j .
chng minh nh l ta m t thut ton sau y, cho php tm ra cch nh s
tho mn iu kin nh l.
procedure Numbering;
(* u vc: th c hg G~{V,E) vi n nh khn^ cha chu trnh
c cho bi danh scl k Ke{v), V e V.
227
Phn 2. L thuyt th
u ra: Vi mi nh V e V ch S N R [v] thod mn:
Vi mi cung {u,v) ca th ta u c NR[u] < NR[v]. *)
begin
for V e V do Vao[v] := 0;
(* Tnh Vao[v] = deg-(v) *)
for u e V do
for V G Ke(u) do Vao[v] ; = Vao[v] + 1 ;
QUEUE := 0 ;
for V e V do
if Vao[v] = O then QUEUE Cr V ;
num := 0;
while QUEUE ^ 0 O
begin
u ^ QUEUE ;
num := num + 1 ; NR[u] := num ;
for V 6 Ke(u) do
begin
Vao[v] ;= Vao[v] - 1 :
if Vao[v] = 0 then QUEUE V ;
end;
end;
end;
Thut ton c xy dng da trn tcmg rt n gin sau; R rng trong th
khng c chu trnh bao gi cng tm c nh c bn bc vo bng 0 (khng c cung
i vo). Thc vy, bt u t nh V, nu c cung i vo n t th ta li chuyn sang
xt nh V j . Nu c cung t V 3 i vo V j , th ta li chuyn sang xt V 3 , ... Do th l
khng c chu trnh nn sau mt s hu hn ln chuyn nh vy ta phi i n nh
khng c cung i vo. Thot tin, tm cc nh nh vy ca th. R rng ta c th
nh s chng theo mt th t tu bt u t 1. Tip theo, loi b khi th nhng
nh c nh s cng cc cung i ra khi chng, ta thu c th mi cng
khng c chu trnh, v th tc c lp li vi th mi ny. Qu trnh s c tip
tc cho n khi tt c cc nh ca th c nh s.
Ch :
1) R rng trong bc khi to ta phi duyt qua tt c cc cung ca th khi tnh
bn bc vo ca cc nh, v vy ta tn c 0 {m) php ton, trong m l s' cung
ca th. Tip theo, mi ln nh s mt nh, thc hin vic loi b nh nh
s cng vi cc cung i ra khi n, chng ta li duyt qua tt c cc cung ny. Suy ra
228
Chng 6. Bi lon ng i ngn nht
nh s' tt c cc nh ca th chng ta s phi duyt qua tt c cc cung ca th
mt ln na. Vy phc tp ca thut ton l 0{m).
2) Thut ton c th p dng kim tra xem th c cha chu trnh hay khng?
Thc vy, nu kt thc thut ton vn cn c nh cha c nh s' (num < n) th iu
c ngha l th cha chu trnh.
Th d 3. th trong hnh 3 c cc inh c nh s tho mn iu kin nu trong
nh l.
7 O) n
=9
Do c thut ton nh s trn, nn khi xt th khng c chu trnh ta c th gi
thit l cc nh ca n c nh s sao cho mi cung ch i t nh c ch s nh n
nh c ch s ln hn. Thut ton tm ng i ngn nht trn th khng c chu
trnh c m t trong s sau y.
procedure Critical_Path;
(* Tm ng i ngn nht t nh ngun n tt c
cc nh cn li trn th khng c chu trnh
u vo: th G = (V^, E), troi V ={ y[l], v[2], , v[/2] }.
i vi mi cung (v[/], v[) s E, ta c i < j.
th c cho bi danh sch k Ke { v ) , V e V.
u r a : Khong cch t v{\ ] n lt c cc nh cn li
c ghi trong mng /[v[/]], / = 2, 3, n *)
begin
d[v[l]] := 0;
for j:= 2 to n do
d[v[j]] := a [ v [ l ] , v U ] ] ;
for j:= 2 to n do
for V e Ke[v[j]] do
d[v] := min ( d[v], d[v[j]] + a[v[j], vj ) ;
end;
229
Phn 2. L thuyt th
phc tp tnh ton ca thut ton l 0{m) , do mi cung ca th phi xt qua
ng mt ln.
Cc thut ton m t trn thng c ng dng vo vic xy dng nhng
phng php gii bi ton iu khin vic thc hin nhng d n ln, gi tt l PERT
(Project Evaluation and Review Technique) hay CDM (Critical path Method). M thi
d n gin cho ng dng ny c m trong th d di y.
Th d 4. Vic thi cng mt cng trnh ln c chia ra lm 1 cng on, nh s t 1
n n. C mt s cng on m vic thc hin n ch c tin hnh sau khi mt s
cng on no hon thnh. i vi m cng on bit t[i] l thi gian cn thit
hon thnh n (/ = 1-, 2,..., n). Cc d liu vi /2 = 8 c cho trong bng sau y
Cng
on
t[i]
Cc cng on phi
c hon thnh trc n
1 15 khng c
2 30 1
3 80 khng c
4 45 2 , 3
5 124 4
6 15 2 , 3
7 15 5 , 6
8 19 5
Gi s thi im bt u tin hnh thi cng cng trnh l 0. Hy tm tin thi
cng cng trnh (ch r mi cng on phi c bt u thc hin vo thcfi im no)
cho cng trnh c hon thnh xong trong thi im sm nht c th c.
Ta c th xy dng th c hng n nh biu din hn ch v trnh t thc hic
cc cng vic nh sau: Mi nh ca th tng ng vi mt cng vic, nu cng vic
/ phi c thc hin trc cng on j th trn th c cung (/j ) , trng s trn cung
ny c gn bng t[/], xem hnh 4 di y.
15 30
Hnh 4. th minh ho PERT
230
Chnq (. Bi ton dn di liii nht
Thm vo th 2 nh 0 v /;+l tng ng vi hai s kin c bit: nh s 0 tng
ng vi cng on L khi c>, n phi c thc hin trc tt c cc cng on
khc, v nh /+1 tng ng vi cng on c t hn, khnh thnh cng trnh, n phi
thc hin sau tt c cc cng on, vi /[0] = /[/?+!] = 0 (trn thc t ch cn ni nh 0
vi tt c cc nh c bn bc vo bng 0 v ni lt c cc nh c bn bc ra bng 0 vi
nh /+1). Gi th thu c l G. R rng bi ton t ra dn v bi ton tm ng
i di nht t nh 0 n tt c cc nh cn li trn th G. Do th G r rng l
khng cha chu trnh, nn d gii bi ton t ra c th p dng cc thut ton m t
trn, ch cn i du tat c cc trng s trn cc cung thnh du ngc li, hoc on
gin hn ch cn i ton t min trong thut ton Critical_Path thnh ton t max. Kt
thc thut ton, chng ta thu c d[ v l di ng i di nht t nh 0 n nh V.
Khi f/[v] cho ta thi im sm nht c th bt u thc hin cng on V, ni ring
d[n+\ ] l thi im sm nht c th ct bng khnh thnh, tc l thi im sm nht c
th hon thnh ton b cng trnh.
Cy ng i di nht ca bi ton trong th d 4 tm c theo thut ton c ch
ra trong hnh 4.
6.5. ng i ngn nh't gia tt c cc cp nh
R rng ta c th gii bi ton tm ng i ngn nht gia tt c cc cp nh ca
th bng cch s dng n ln thut ton m t mc trc, trong ta s chn s ln lt
l cc nh ca th. R rng, khi a thu c thut ton vi phc tp l 0 ( / / )
(nu s dng thut ton Ford - Bellman) hoc 0{^) i vi trng hp trng s' khng
m hoc Ih khng c chu trnh. Trong trng hp tng qut, sdng thut ton Ford
- Bellman n ln khng phi l cch lm tt nht, y ta s m t mt thut ton gii
bi ton trn vi phc tp tnh ton 0(/^): Thut ton Floyd. Thut ton c m t
trong th tc di y.
procedure Floyd;
(* Tim ng i ngn nht gia tt c cc cp nh
u vo: th cho hi ma (rn tr sa[i j ], , j =
u ra :
Ma rn ng i ngn nhc gia cc cp nh
d[i j ], i j ^ 1,2,.
trong d[ j ] cho di ug i ngn nl t i n j.
Ma rn ghi nhn ducmg i
pUJ. i j = U2 ,...,,
trong p[i,j] ^hi nhn cnh i ru(/c nh ronq n, ngn nht t i n j.
*)
231
Phn 2. L thuyt th
begin
(* Khi to *)
for i 1 to n do
for j 1 to n do
begin
d[i,j] :=a[i,j];
p[ij ] :=i;
end;
(* Bc lp *)
for k:= 1 to n do
for i := 1 to n do
for j 1 to n do
if d[i,j] > d[i,k] + d[k,j] then
begin
d[i,j] := d[i,k] + d[k j ] ;
p[i,j] := pfkj];
end;
end;
R rng phc tp tnh ton ca thut ton l 0{n^).
Kt thc chng ny chng ta trnh by mt cch th hin thut ton Dijkstra trn
ngn ng PASCAL:
(* Chng trnh tm ng i ngn nht t nh s n nh t theo thut ton Dijkstra *)
uses crt;
const
max = 50;
var
n, s, t ; integer;
chon : char;
Truoc ; aay [L.max] of byte;
d : array [1..max] of integer;
a ; aay [1..max, 1..max] of integer;
final : aay [L.max] of boolean;
procedure NhapSoLieu;
var
f : text;
fname : string;
232
Chii; . Bi lon citn i iiin Iili
i,j : integer;
begin
write ("Vao ten file du lieu can doc: ');
readln(fname);
assign(f,fname);
reset(f);
readln(f,n);
for 1 to n do
for j:= 1 to n do read(f,a[i,j]
close(0;
end;
procedure InSoLieu;
var
i, j : integer;
begin
writelnC So dinh cua do thi : '.n);
writelnC Ma tran khoang cach:');
for i 1 to n do
begin
for j:= 1 to n do write(a[i,j];3,' '):
writeln;
end;
end;
procedure InKetQua;
var
i, j : integer;
begin
writeln (' DUONG DI NGAN NHATTU ',s,' DEN ',1);
write(t,' <=');
i:=Truoc[t];
while i o s do
begin
write(i,' <=');
i:=Truoc[i];
end;
writeln(s);
writeln('Do dai cua duong di la; '.d[t]);
end;
T R R - 1 6 233
Phn 2. L thuyt th
procedure Dijkstra;
var V , u, minp : integer;
begin
write('Tim duong di tu s = ');
readln(s);
write(' den t = ');
readln(t);
for v:=l to n do
begin (* Khi to nhn *)
d[v]:=a[s,v];
Truoc[vJ:=s;
final [v]:=false;
end;
Truoc[s]:=0;
d[s]:=0;
final[s]:=true;
while not final[t] do (***** Bc lp *****)
begin
{ Tim u l nh c nhn tm thi nh nht }
minp;= maxint;
for v;=l to n do
if (not final[v]) and (minp > d[v]) then
begin
u:= v;
minp:= d[v];
end;
fmal[u]:= true;
if not final[t] then
for v;=l to n do
if ( not final [ v ] ) and ( d[u] + a[u,v] < d [ v ] ) then
begin
d[v]:= d[u] + a[u,v];
Truoc[v]:= u;
end;
end:
end;
end;
234
Chi 6. Bi tocn dng di ngn nht
procedure Menu;
begin
clrscr;
writelnC CHUONG TRINH TIM DUONG DI NGAN NH AT TU s DEN t ');
writelnC THEO THUAT TOAN DIJKSTRA');
writelnC
writelnC 1. Nhap so lieu tu file.');
w-itelnC 2. Giai bai toan.');
writelnC 3. Ket thuc.');
writelnC----------------------------------------------------------------------- ');
writeC Hay chon chuc nang: '#7):
end;
BEGIN (* Chng trnh chnh *)
repeat
Menu; chon:=readkey; writeln(chon);
case chon of
T : NhapSoLieu;
'2': begin
InSoLieu; Dijkstra; InKetQua;
end;
'3': Exit;
end;
until false;
END.
235
Phn 2. L t huyt t h
Bi tp
1. Lp trnh thc hin cc thut ton m t trong chng 6:
a) Thut ton Ford - Bellman;
b) Tliut ton Dijkstra;
c) Thut ton Flovd;
d) Thut ton tm ng i di nht trn th khng c chu trnh (PERT).
2. Trong trng hp th tha, cc thul ton Ford - Bellman, Dijkstra, Floyd s lm
vic hiu qu hn nu ta s dng danh sch k biu din th. Hy m t li cc
thut ton trn cho triig hp ny, v nh gi phc tp tnh ton ca chng.
3. Tm ng i ngn nht theo thut ton Dijkstra t nh A n tt c cc nh cn li
trn th cho trong cc hnh v di y:
a)
5
D E
9 y
2 / 5
N.
F
\ ^ 3
G \ .
7
\ 7 5 y / 4
X . 4
4
\ 1 X / 7 /
J K L
b)
236
C l i C o V i . i o n ii{'(')<^ c I U n l d i
4. Ap lng thut tcaii nh s dinh tl kicii tra cl Ili sau cl\ cia chu Irnh hav khiii!
o
(
y
9
5. Xt th uni 7 i n h A. B, c. D, E. F, G c h o boi ma Irii I r n u s
A B C D E F' G
A 0 1 1 65 17 65 6,5 63
B 65 0 12 65 65 10 16
C 65 65 0 13 .14 65 19
D 65 65 65 0 65 6? 18
E 65 65 65 65 0 65 15
F 65 13 18 65 65 0 10
G 65 65 65 65 65 65 0
Ti m n di n^n nht i nl A n diih G iheo thut lon Dijkstra. Yu cu vit r
kt qu triinu uian i mnu lna bc. K qu cui cim: un i nin nht t A n G
v di ca n.
6. Cho mi bng gm /7/x// . Nu ml nm ' hne / CI / ca bn^ ih ta s ni ny
c to (/ . /) (/ 1, 2..... /77; / = 1, 2...... //). Trone ni vic inl s ne uy n M l ui t ca
). T mt bt k ca bne chi c th di chuyn den nh' n bn phai c chunu
cng hoc inh vi n. DCr liu ve bim ni irn clc clio trorm mt file vn bn c tn
DATA3. I NP, dne u tin ca n cha hai s f)i. n c uhi cch nhau bi du cch.
Mi dne th / tron< s n clne ip theo cha n s' ihi troni n ca dn th ca
bng* cc s c ghi cch nhau bi du cch (/=1, 2.....f). Hy lp trnh nhp d liu
vo t file, sau tm dy cc di chuyn t nicp Iri ca bim sane mp phi ca brm
sao cho t ng s cc i tr ca cc i qua l nho nht. Yu cu kt qu a ra di
clne cTiv to d ca cc cn di chuyn qua hl du t mt xut pht mp tri v
kr luc mt no mp phi, v tim s' cc i! tr ca cc ny.
237
Phcin 2. L v ihuy' t h
7. Cho d y /? s nguyn -V[ 1], A2], . . . , .v[/], tron </7<()()() v l <v[/]<2()(), / = 1.
Dy s cho uc ghi trone mt file vn bn c tMi l DATA4. 1NP. cc s
c hi cch nhau bi t nht mt du cch hoc d'ii xLins dn. Nhp d' li u vo t
file, sau tm cch xo b t nht mt s cc Dhn t ca dy cho sao cho cc phn
t cn li (iii ne uy n th t CLUI c hns troim dy ban u) to thnh nt dy con
khim gi m. a ra mn hnh tn s cc phn t cn xo v ch so ca chnu trono
dv fi cho.
8. Dy s nuuyn a [ l | . a| 2J..........am| c i l dy con ca dy con ca day s
nguyn b[ I ], b | 2 | ......b[n] (m < n) nu tm c dy cc chi s j[ 11. j | 2 | , . . . J | m | sao cho
I j [ l l < j | 2 | < . . . < j | n i | < n
v
Cho hai dy s nsLiyn
a| i l = b | j [ i ] ] , i = 1 . 2 ..... m. (1)
C[ 1] , C| 2J, . . . , c p| , (2)
d | l l d f 2 ] , . _ d [ q l . (3)
D liu v hai dy s c shi iTOim file Vein bn c tn l DATA5. I NP. dng u tin
cha hai s p, q c ghi cch nhau bi du cch. Trong cch dne tip theo ehi ln
lr cc phn t ca dy (2) ri li p n cc phn t ca dy ( 3). cc s ^hi cch nhau
bi t nht mt du cch hoc du xunti dng. Hy lp trnh nhp d liu vo t fi l e,
sau tm dy con chung c s phn t l ln nht ca hai dy cho. Ki qu da ra
fi le c tn KQUA5- OUT: dng u tin cha s phn ca dy con ciunu m c,
trone cc dni: tip theo ln lt uhi cc phn t ca hai dy ch s Li'0'niz ni chi r v
tr ca dy con ny trone hai dy ban u (cc s uhi cch nhau bi t iihfii mi dn
cch hoc du xung dni>.
9. Cho bn c quc t gm n . n ( n < 50). Trong mi ( j ) ca n ta in mt s
nguyn dng a [ i j ] <1 0 0 , /', j = 1,2,...,;?. T mt bt k (/ , /) ca brm ta c th di
chuyn sang c cng mu vi n nu nh a i j \ l s chn, v sail" khc mu vi n
nu a[ij] l s l. D liu c cho trone nit fi le vn bn c tn l DATA6. NP, dn
u tin cha s n. Tronc cc dng tip theo cha cc phn t /[1, ] ], a\ 1. 2], .... a 1
a[/ , 2], a.n], cc s c ln lt hi theo th t va nu v cch nhau
bi t nhr mt du cch hoc du xung dng.
Yu cu: T i m m t c c h di c h u y n m t n o c t h n h t sani; m t no ct
t h n c a b n c s a o c h o t n c c s ghi t r o i m c c di c h u y n q u a l n h nht . a ra
m n h n h k t q u di i i d i m b a s n u y n .V. V. rrona A' l o d n g c a x u t
p ht . V- t o drix CLia k l t h c , L - t n g c c s hi t r o n g c c cn di c h u y n q u a .
238
Chng 7. Bi ton lung cc i trong mng
1
BI TON LUNG cc I
TRONG MNG
Bi ton lung cc i trong mng l mt trong s' nhng bi ton ti u trn th
tm c nhng ng dng rng ri trong thc t cng nh nhng ng dng th v trong
l thuyt t hp. Bi ton c xut vo u nhng nm 1950, v gn lin vi tn
tui ca hai nh ton hc M l Ford v Fulkerson. Trong chng ny chng ta s trnh
by thut ton ca Ford v Fulkerson gii bi ton t ra v nu mt s ng dng ca
bi ton.
7.1. Mng. Lung trong mng. Bi ton lung cc i
nh ngha L Ta gi mng l th c hng G = (V, E), trong c duy nht mi
nh s khng c cung i vo gi l im pht, duy nht mt nh t khng c cung i ra
gi l im thu v mi cung e = (v,w) G E c gn vi mt s khng m c{e) = c{v,w)
gi l kh nng thng qua ca cung e.
239
Phn 2. L thuyt th
thun tin cho vic trnh by ta s qui c rng nu khng c cung (v,vv) th kh
nng thng qua c{v,w) c gn bng 0.
nh ngha 2. Gi s cho mng G ={V, E). Ta gi lung f rong nug G - (V, E) i
nh x f : gn cho mi cung e - (v,w) G E mt s'thc khng mf{e) = /(v^uO,
gi l lung trn cung e, lo mn cc diu kin sau:
) Lung trn mi cung e e E khng v qu kh nng thng qua ca n:
0 < f{e) < c{e),
2) iu kin cn bng lung rn mi nh ca mng: Tng-un^ rn ccc cun^ i
vo nh V bng ng lung rn cc Ci i t ^ i ra khi nh V, nu V :
It' 6r(v) ueP* (v)
trong p(v) - tp cc nh ca mng m t c cung n V, p(v') - tp cc nh ca
mng m t V c cung n n:
r ( v ) = { H ' e V ; ( v l ^ v ) e ' ) , P ( v) = { h' g V: (v, w ) e | .
3) Ta gi gi tr ca lung f l s
v a l ) = ^ f { s , w ) =
vv6r'*^(.} MeV" {{)
Ch l ng thc th hai trong nh ngha gi tr lung l h qu ca iu kin cn
bng lung.
Bi ton lung cc i trong mng: Cho mng G= (V, E). Hy tm lung j * trong
mng vi gi tr lung val*) l ln nht. Lung nh vy ta s gi l lung cc i
trong mng.
Bi ton nh vy c th xut hin trong rt nhiu ng dng thc t. Chng hn khi
cn xc nh cng ln nht ca dng vn ti gia 2 nt ca mt bn giao thng.
Trong v d ny li gii ca bi ton lung cc i s ch cho ta cc on ng ng
xe nht v chng to thnh "ch hp" tng ng vi dng giao thng xt theo 2 nt
c chn. Mt v d khc l nu xt th tng ng vi mt h thng fng ng dn
du. Trong cc ng tng ng vi cc cung, im pht c th coi l tu ch du,
im thu l b cha, cn nhng im ni gia cc ng l cc nt ca th. Kh nng
thng qua ca cc cung tcfng ng vi tit din cc ng. Cn phi tm lung du ln
nht c th botn t tu ch du vo b cha.
240
Chn^ 7. Bi of i l i i t cc di ro^ l
7.2. Lt ct. ng tng lung. nh l Ford - Fulkerson
nh ngha 3. Ta gi l! ct (X, X ) l mt cch phn hoch tp nh V ca mng ra
thnh hai tp X v C = V \ X, iron^ d s e X v 6 X . Kld ncn !^ :hng qua ca li ct
(X, X ) l s
ve,V
U'fe.v"
L c v i kh n, i g qua nh nhi dc ^i t ct hp nht.
B 1. Gi tr ca mi un, f roni m^ li nh ln loc bng kh nng thng
qua ca lt c X , X ) h k trong n: ya(f) < X , ) .
Chng minh. Cng cc iu kin cn bng luns D\\{\') = 0 vi mi V G X Khi ta
c
z ( z z / ( ' >"')) = - v a l )
V e .V
vt' e r (v) vt e r^(v;
tng ny s gm cc s hng dng /(/,v) vi du cng hoc du tr m trong c t
nht mt trong hai nh u, V phi thuc tp X. Nu c hai inh u, V u trong tp X th
xut hin vi du cng trong Di\j{v) v vi du tr trong D V { u ) , v th, chng
trit tiu ln nhau. Do , sau khi gin c cc s hng nh vy v ' tri, ta thu c
vgX V,V*
Ug.v H-A'
hay l
v a / { / ) = ^ f { v , w ) - X/(v,u-).
l-E.V i-e.v
u e .V .V
Mt khc, t iu kin 1 r rng l
^ f ( v , w ) < ^c{v,w),
. v v e . \ X .V
u- eA' ire.v'
Cn
- ^ f { v , w ) < 0 .
V.v
U6.V
suy ra val) < cX, )C). B c chng minh.
241
Phn 2. L thuyt th
T b 1 suy ra
H qu 1. Gi tr lung cc i trong mng khng VI0 qu kh nng thn^ qua ca lt
ct hp nht trong mng.
Ford v Fulkerson chng mitih rng gi tr lung cc i trong mng ng bng
kh nng thng qua ca lt ct hp nht. c th pht biu v chng minh kt qu ny
chng ta s cn thm mt s khi nim.
Gi s / l mt lung trong mng G = (V, E). T mng G = (V, E) ta xy dng
th c trng s trn cung y. = (V, Ej), vi tp cung Ej v trng s trn cc cung c xc
nh theo quy tc sau:
1) Nu e = (v,w) E vi/(v,w) = 0, th (v,H) e vi trng s c(v,w);
2) Nu e = (v,w) 6 E vi/(v,w) = C( v , w ) , th (w,v) e EV trng sf{v,w)\
3) Nu e - (\',w) e vi 0 < f(v,w) < c(v,w), th (v,w) e Ef vi trng s -
fiy,w) v ( w , v ) G Ef vi trng s/(v,w).
Cc cung ca Gf ng thi cng l cung ca G c gi l cung thun, cc cung cn li
c gi l cung nghch. th y^c gi l th tng lung.
Th d: Cc s vit cnh cc cung ca G hnh 1 theo th t l kh nng thng qua v
lung trn cung.
3.0
G
Hnh 1. Mng G v l u n g / . th c trng s Gf tng ng.
242
Chng 7. Bci ton ung cc di roiig ning
Gi s p = {s ~ V,;, V/, v . . V. ~ t) l mt ng i l .Vn trn th tng
lung Gj, Gi l gi tr nh nht ca cc trng s ca cc cung trn ng i p. Xy
dng l u n g / ' trn mng G theo quy tc sau:
f (w, v) + , nu {ii,v) e p cung hun,
f {u, v) - s, nu (u,v) &p cung nghch,
/ ( m , v ) , n i { u , v ) P .
D dng kim tra c r n g / ' c xy dng nh trn l lung trong mng v val ') =
val(f) + 5. Ta s gi th tc bin i lung va nu l tng lung dc theo dng p.
nh ngha 4. Ta gi ig tng l u n g / l mi dng di t s n t trn th tng
lung G).
nh l di y cho mi lin h gia lung cc i, ng tng lung v lt ct.
nh l 1. Cc mnh di y l tng ng:
(/) / l lung cc i trong mng:
(ii) Khng tim c cyng tn^ lunqf:
(///) val) - c{XX) yi mt lt ct {X, / ) nio .
Chng minh.
(;) => (//). Gi s ngc li, tm c cmg tng lung p. Khi ta c th tng gi
tr lung bng cch tng lung dc theo ng F. iu mu thun vi tnh cc i
ca lung/.
(7) => (Ui). Gi s khng tm c ng tng lung. K hiu X l tp tt c cc
nh c th n c t nh 5 trong th Gy, v t X* = V \ X Khi (X, X ) l lt ct,
v f{v,w) = 0 vi mi V e )C,W e X nn
v a i { f ) = ^ f ( v , w ) ~ ^ f { v , w ) = ^ f { v , w )
veA' vgA'*
ueX' H'eA ue.Y*
Vi v e x , w e )C, do (v, w) Gy, nn/(v, w) = c(v, vv). Vy
v / { / ) = Y ^ f { v , w ) = _^c(v, w) = c { X , X ' ) .
VX ve.V
ireA' u'eA
{Ui) => (/). Theo B \ ,val{f) < c{X, X ) vi mi l u n g / v vi mi lt ct {X, )C).
V vy, t ng thc val(f) = cX,){) suy ra l u n g / l lung cc i trong mng.
nh l c chng minh.
243
Phn 2. L uy d t
7.3. Thut ton tm lung cc i trong mng
nh l 1 l c s xy dng thut ton lp sau y tm lung cc i trong mng:
Bt u t lung vi lung trn tt c cc cung bng 0 (ta s gi lung nh vy l lung
khng), v lp li bc lp sau y cho n khi thu c lung m i vi n khng cn
ng tng:
Bc lp tng lung (Ford - Fulkerson): Tim ng tng p i vi lung hin c. Tng
lung dc theo ng p.
Khi c lung cc i, lt ct hp nht c th tm theo th tc m t trong chng minh
nh l 1. S ca thut ton Ford - Fulkerson c th m t trong th tc sau y:
p r o ced u r e Max Flow;
(* Thut ton Ford - Fulkerson *)
begin
(* Khi to: Bt u t lung vi gi tr 0 *)
for u e V do
for V e V do f(u,v);=0;
Stop:=false;
while not Stop do
if <Tm c ng tn> lung p> then <Tn lung dc theo p>
else Stop:=true;
end;
tm ng tng lung trong y c th s dng thut ton tm kim theo chiu
rng (hay tm kim theo chiu su) bt u t nh trong khng cn xy dng
tng minh th Gf. Ford - Fulkerson ngh thut ton gn nhn chi tit sau y
gii bi ton lung cc i trong mng. Thut ton bt u t lung chp nhn c no
trong mng (c th bt u t lung khng), sau ta s tng lung bng cch tm
cc ng tng lung. tm ng tng lung ta s p dng phng php gn nhn
cho cc nh. Mi nh trong qu trnh thc hin thut ton s mt trong 3 trng thi;
cha c nhn, c nhn cha xt, c nhn xt. Nhn ca mt nh V gm 2 phn v c
mt trong 2 dng sau: [+p(v),(v')] hoc [-/?(v),(v)]. Phn th nht +p{v) (hoc -p{v))
ch ra l cn tng (hoc gim) lung theo cung Qy{v), I) (cung (v, p{v)) cn phn th hai
(v) ch ra lng ln nht c th tng hoc gim lung theo cung ny. u tin ch c
nh 5 c khi to nhn v nhn ca n l cha xt, cn tt c cc nh cn li u
cha c nhn. T 5 ta gn nhn cho tt c cc nh k vi n v nhn ca nh 5 s tr
thnh xt. Tip theo, t mi nh V c nhn cha xt ta li gn nhn cho tt c cc
244
Chi 7. Bci on us> cc di ro^ n
nh cha c nhn k vi n v nhn ca i nh V tr i hnh xt. Qu trnh s c lp
li c ho n khi hoc l nh tr i hnh c nhn hoc l nhn ca tt c cc nh c nhn
u l xt nhng nh tvn khng c nhn. Trong trng hp th nht ta tm c
ng tng l ung, c n trong trng hp th hai di vi l ung ang xt khng l n ti
ng tng l ung (tc l l ung l cc i). Mi khi t m c ng t ng l ung, ta li
tng l ung t heo ng tm c, sau xo tl c cc nhn v i vi l ung mi thu
c li s dng php gn nhn cc nh tm ng tng l ung. Thut ton s kt
i hc khi no i vi l ung ang c trong mng khng tm c ng tng l ung.
Hai th tc Ti m ng tng iUng v Tng l uong c th m l nh sau.
procedure Find Path;
(* Th tc gn nhn t m ng tng l ung
p[v], e[ v] l nhn c a nh v;
V j - danh sch cc nh c nhn nhng cha xt;
c[u, vj - kh nng t hng qua ca cung (u, v), u, V G V;
f[u, v] - l ung rn c ung (u, v), (u, V V)
begi n
p[s] ;= s;
e[s]:=: +co;
Vt = V \ s ;
PathFound:=true;
while 0 do
begin
uc= V t ; (* Ly u luV.,-'-')
for V e v \ Vx do
begin
if (c[u, vj > 0) and (l'[u, v] < c[u,vj) then
begin
p[v]:= u;
[v]:- min e[u]. cfu,vj - f[u,vj;
Vj = V-, u j v; (* Np V vo danh sch nh c nhn *)
if V = t then exit;
end;
if (c[v,u] > 0) and (f[v, u] > 0) then
begin
p[v]:= -u;
e[v]:=min e[u], f[v,u] ;
Wj = V,. u IVI; (* Np V vo danh sch inh c nhn *)
245
Phn 2. L thuyt th
if V = t then exit;
end;
end;
PathFound:=false;
end;
procedure Inc_Flow;
(* Tng lung theo ng tng *)
begin
V := p[t]; u:=t; tang:= e[t];
while u s do
begin
if V > 0 then f[v, u] := f[v, u] + tang
esle
begin
v:= -v;
f[u,v]:= f[u,v] - tang;
end;
u:=v; v;==p[u];
end;
end;
Thut ton Ford - Fulkerson c thc hin nh th tc:
procedure Max Flow;
(* Thut ton Ford - Fulkerson *)
begin
(* Khi to: Bt u t lung vi gi tr 0 *)
for u 6 V do
for V e V do f[u,v]:=0;
Stop:=false;
while not Stop do
begin
Find_Path;
if PathFound then Inc_Flow
else Stop:=true;
end;
< Lung cc i trong mng lf [u,vj, u , v e V >
< Lt ct hp nht l (Vj, V\Vj) >
end;
246
C t ' i / / n^ 7. B i o n i i on^^ C' ( ' ( i r o i r ^ l i ' ^
Gi a s l kh nne tlina qua ca tt ca cc cuim ca d ih l cc s nguyn. Khi
sau mi ln Vnz lunu. ui tr luni: s tne ln t nh l 1. T suy ra thut ton
Ford - Fuikerson s drm sau khng qu vcil) ln lnu uim v cho ta l une cc i
tronu ninu. i m rhi. r rne f{t,v) s ! s nmiyn i vi mi cuns (//. V) G E. T
ta c cc kt qu sau:
nh l 2 (nh l v liing cc di trong mng vc lt ct hp nht), Litv^ cc di
tron<i nny hn^ kh nny hng qua Ca l c hp ni.
nh l 3. (nh l v tnh nguyn). Nu c cc kh nng thng qua l rr s
l L i y n lun rn dic lig cc d vi iig r i - c cung l cc s nguycn.
Hai nh l va nu c s dune iroiu vi c ni dnu i une cc i vo vi c si quy
nhi u bi ton t rons t hp.
Tuy nhi n, nu cc kh nne thnu qua l cc s r l th gi tr ca l ung cc
i c ne c th l rt n v khi d thut ton m t trn s cli hi thc hin rt nhiu
bc tng lune. Th d roni; hnh 2 s mi nh ho cho iu ny. Hnh 2( a) m t mne
cn xt vi cc kh nim h n e qua (rn cc CLiim. Hnh 2(b) m r ung trn cc cung
( s th hai bn cnh cung) sau khi thc hin lang luni dc theo im tnu lung (s,
a, h, ). Hnh 2( c) m t L i n a trn cc ciirii sau khi thc hin tnu lunu dc theo
n tim l uni [s, h, /, ). R rne. sau 2A' lii tnu lung theo rii (.V, a. h. /) v
(s, b. CL ) mt cch lun phien ta ihu c luni> cc i.
5 5
IC/Mr \iO^O iCM / \ i O M
/ 1. 1 \ / 1.0
a \ / b
i0^.1 \ / W . 0 i o m X j / lOM
( a ) ( b)
Hnh 2. V du ti t i vi thut ton Ford " Fulkerson.

(C)
Hn t h na, nu cc kh nnu thng qua l cc s v t, ngi ta cn xy drm
c v d cho thut ton khne dg, v t hoT l nu dy cc gi tr l ung xy
dn theo thut ton hi t thi n cn khng hi t n zi tr l uns cc i. Nh vy.
247
Phn 2. Ly huy d u
iiLin liLi ton ln vic hiu qua. vic la chn dne l na luim cn dc lin linli
ht sc cn thn.
Edmonds v Kar p cli ra rniz nu im lnu l un c chn l duniz nuan nlii
r .V n i r i th ( j . i u c th thc hin, nu Iron^ th ILC tm dirne UI1 >
Fi nd_Path m t trn, danh sci \ 'y c t clul'c di dna QUEUE (nula l la llmc
hin tm nn l ane bi t h tc m ki m theo chiu rnu) ll thut lon s kl thc sau
khi m qu ii/2 lii s dri na anu liim. Ni ci rnu, tm ki m theo cliu
rne Irn h clt hoi lli man 0(//+///), th Ihui loi hii c s c phc tp lnli
ton ()(///// ).
Nli cc l chv lm duoi m tnu kho lo hn, nui la xv dnu dc lliti
lon vi phc tp tnl ton tt hn nh; 0(//"//) (Dinic, 1970), 0( / / ' ) (Kai/,i.!iiov.
1974), 0 ( / V / ' ) (Cherkasky, I 9 7 7 j , 0( / / / 7/ loa f) (Sleaior -Tarjan, 1980).
Ta k thc mc ny boi v d minh ho cho tluit ton Ford - Ful kerson sau dy.
H nh 3 (u) cho mne G CHR vi kh nnii ihnii qua ca cc cuiii va l unu i i t 10
i ron n. Hai s vit bn cnh mi CLinu l kh nnu thim qua ca CLiim (s tronu
neoc) v kin Irn cung. ng tnu UIU c dne (s. v_,. 1 \-. r^,. Vt. t). l a tnh
trc t ) = , ai tr l une lng t 10 ln 11. Hnh 3 (b) cho l unc thu c sau khi lng
kinu i he o nu t ne m c.
Luiig iroim hnh 3 (b) l cc i. Lt cl hp nht
|.v. v_,. \ \ ] , X^ { ',. / .
Gi tri lun^ cc dai l 11.
(a)
6 ( 6.)
0(2) 0(2) '"'-..v,
:4N
Chng 7. Bi ton u cc di ro/ n^
(b)
(6)
V, /'-'"0(2) V, 0(2)
V3 10(10) V3 4(4) V,
Hnh 3. Tng lung dc theo ng tng
7.4. Mt s bi ton lung tng qut
Trong phn ny la nu ra mt s dng bi ton v lung tng qut m vic gii chng
c th dn v bi ton lung cc i trnh by trn.
a) Mng vi nhiu im pht v im thu.
Xt mng G vi p im pht s , .....v t/ im thu /|, Gi s rng lung c
th i t mt im pht bt kv n ta c cc im ihu. Bi ton tm lung cc i t cc
im phi n cc im thu c th a v bi lon vi mt im pht v mt im thu
bng cch a vo mt im pht gi .V v mt im thu gi t v cc cnh ni s vi tt c
cc im pht v cc cnh ni cc im thu vi t.
Hnh 4 minh ho cho cch a mng vi nhiu dim pht v nhiu im thu v
inng ch c mt im pht v mt im thu. Kh nng thng qua ca cung ni i vi
im pht S; s bng +00 nu khng c hn ch v lng pht ca im pht S., v nu
lng pht ca b hn ch bi h th cung {s, s^) c kh nng thng qua l h.. Cng
nh vy, i vi cc cung ni t/. vi im thu l, gi tr kh nng thng qua ca {t/., t) s
l gii hn hoc khng gii hn tu theo lng thu ca im thu ny c b gii hn hay
khng.
TRR - 17
249
Phn 2. L huyt th
L............ .
Cc im pht Cc im thu
Hnh 4. Mng vi nhiu im pht v thu
Trng hp mt s im thu ch nhn "hng" t mt s im pht ta c bi ton nhiu
lung l mt bi ton phc tp hn rt nhiu so V I bi ton lung cc i gia im
pht s v im thu /,
b) Bi ton vi kh nng thng qua c cc cung v cc nh.
Gi s trong th G, ngoi kh nng thng qua ca cc cung c{u, v), mi nh V e V
cn c kh nng thng qua ca nh l /(v), v i hi tng lung i vo nh Vkhng
c vcrt qu (v), tc l
s /(w,v) < d{y).
vve V
Cn phi tm lung cc i gia 5 v f trong mng nh vy.
Xy dng mt mng G' sao cho: mi nh V ca G tng ng vi 2 nh v^, V' trong
G', mi cung (u, v) trong G ng vi cung (', v^) trong G, mi cung (v,w) trong G ng
vi cung (v', vv'*^) trong G'. Ngoi ra, mi cung (v^, v ) trong G' c kh nng thng qua l
d(v), tc l bng kh nng thng qua ca nh V trong G.
t d,
Hnh 5a. Mng G vi kh nng thng qua cung v nh.
250
Chng 7. Bi ton lung cc di tron mng
u* !.,
Hnh 5.b. Mng G' tng ng ch c kh nng thng qua trn cc cung.
Hnh 5. Mng vi kh nng thng qua Irn cc nh v cc cung.
Do lung i vo nh v"" phi i qua cung (v"^, I ) vi kh nng thng qua /(v), nn
lung cc i trong G' s bng lung cc i trong G vi kh nng thng qua ca cc
cung v cc nh.
c) Mng trong kh nng thng qua ca mi cung b chn hai pha.
Xt mng G m trong mi cung (u, V) c kh nng thng qua (cn trn ca lung
trn cung) c{it, v) v cn di ca lung l d { i ( , V ) . Bi ton t ra l liu c tn ti
lung tLfng thch t .5n t, tc l lung {/(, V&v} tho mn thm rng buc
d{ u, V) < f { u, v) < c u, v ) , V {u, V) e .
hay khng?
a vo mng G nh pht gi v nh thu gi v xy dng mng theo qui tc:
Mi cung {u, v) m d{u, v) 0 s tcfng ng vi 2 cung (.5,,, v) v {u, t j vi kh nng
thng qua l d{u, v). Gim c{u, v) i d{u, v) tc l thay kh nng thng qua ca cung (w,
v) bi c{u, v) - d{u, v) cn cn di cu n t bng 0. Ngoi ra thm vo cung (, s) vi
c, ) = 0 0 .
Hnh 6a cho v d mng G vi kh nng thng qua ca cc cung b chn c hai
pha. th G tng ng c cho trong Hnh (b).
u
Hnh 6a
251
Phn 2. L thuyt th
Hnh 6b
Hnh 6. Mng vi kh nng thng qua b chn hai pha.
K hiu
c/* = ^ d ( u , v ) .
Ta c kt qu sau y.
nh l 4. Nu lung ln nht trong rnng t n bng c h tn ti lung
tng hch rong G.
2) Nu lung ln nht ro mng t n r, Ic) khc ( f h khn^ n ti un^
tng thch trong G.
7.5. Mt s ng dng trong t hp
Bi ton lung cc i c rt nhiu ng dng trong vic gii nhiu bi ton t hp. Kh
khn chnh y l phi xy dng mng tng ng sao cho vic tm lung cc i trong
n s tng ng vi vic gii bi ton t hp t ra. Mc ny s gii thiu mt s bi
ton nh vy.
a) Bi ton m ci vng qu, C m chng trai mt lng qu n. i vi mi chng
trai ta bit cc c gi m anh ta va . Hi khi no th c th t chc cc m ci trong
chng trai no cQng snh duyn vi c gi m mnh va .
252
hi/n 7. Bii ton lung cc i roii^ mi
Ta c h xy dng th vi cc nh biu th cc chng trai v cc c gi, cn
cc cung biu th s va ca cc chng trai i vi cc c gi. Khi ta thu c mt
th hai pha.
Th d. C 4 chng trai 7|, r , , r , , 7'. v 5 c gi |G|, G\, G 4, , }. S va cho
trong bng sau
Chng trai Cc c gi m chng trai unig
Ty
2, 4
T,, 2, 4
th tng ng c cho trong hnh 7.
G,
Hnh 7. Mng tng 1,'mg vrt Ri ton dm nnt vng qu
a vo im pht s v im thu t. Ni .Vvi tt c cc nh biu th cc chng trai,
v ni t vi tt c cc nh biu th cc c gi. Tt c cc cung ca th u c kh
nng thng qua bng 1. Bt u t lung 0, ta tm lung cc i trong mng xy dng
c theo thut ton Ford - Fulkerson. T nh l v tnh nguyn, lung trn cc cung
l cc s 0 hoc 1. R rng l nu lung cc i trong th c gi tr = m, th bi
ton c li gii, v cc cung vi lung bng 1 s ch ra cch t chc m ci tho mn
iu kin t ra. Ngc li, nu bi ton c li gii th = m. Bi ton v cc m
ci vng qu l mt trng hp ring ca bi ton v cp ghp trn th hai pha m
gii n c th xy dng thut ton hiu qu hn.
b) Bi ton v h thng i din chung.
Cho tp m phn t x = {Z|, Zj,..., Z, J. Gi s <A, A> v <f i | , B> l hai dy
cc tp con ca tp X. Dy gm n phn t khc nhau ca X: <|, a2 ,.:, a> c gi l h
253
Phn 2. L thuyt th
thng cc i din chung ca hai day cho nu nh tm c mt hon v ca tp11,
2...., n ] sao cho </|, 2 .....> l h thng cc i din phn bit ca hai dy </\|, Aj,,..,
A> v <5(i), a()>> tc l iu kin sau c tho mn: a, e A , n i , i = 1,
2...., n. Xy dng mng G - {V, E) vi tp nh
\ / = {5, / ) u { X, , X2 ...... x] u { , , 2 , . . . , M,
V2.....v,|u {3;,,>-2,...,>',
trong nh X tcfng l'mg vi tp A, nh V, tng ng vi tp B, cc phn t Uj , Vj
tcmg ng vi phn t Zj. Tp cc cung ca mng G c xc nh nh sau
E = { {s,x,): 1 < ; < / u {{XMj)'. vi Zj e A, 1 </ <, l <y < /r; U
u {( Uj , Vj ): < j < m \ KJ
{ {Vj , y i ): v i Zj e < i < n , < j < m / ) : 1 < / < / ; } .
Kh nng thng qua ca tt c cc cung c t bng 1. D dng thy rng h thng
i din chung ca hai dy <A, A2 ,.... A> v <B, B,..., B> tn ti khi v ch khi
trong mng G = {V, E) tm c lung vi gi tr n. xt s tn ti ca lung nh vy
c th s dng thut ton tm lung cc i t s n t trong mng G = (V, E).
c) V mt bi ton ti u ri rc.
Trong mc ny ta s trnh by thut ton c xy dng da trn thut ton tm lung
cc i gii mt bi ton ti u ri rc l m hnh ton hc cho mt s bi ton ti
u t hp.
Xt bi ton ti u ri rc:
= m a x X y ^ m i n ( 1 )
vi iu kin
. / = 1
Xy = 0 hoc 1, 1,2,..., (3)
trong a, j E {0,1}, / = 1, 2 , m\ j = , 2 , n, Pi -nguyn dng, / = 1 , 2 , m.
Bi ton (l)-(3) l m hnh ton hc cho nhiu bi ton ti u t hp thc t. Di
y ta dn ra mt vi v d in hnh.
Bi ton phn nhm sinh hot. C m sinh vin v n nhm sinh hot chuyn . Vi
mi sinh vin bit
aj = 1, nu sinh vin i c nguyn vng tham gia vo nhm j ,
a,= 0, nu ngc li,
(2)
254
Chng 7. Bii loan un cc i trong mng
v P l s lng nhm chuyn m sinh vin i phi tham d, = 1, 2, m' , j - 1, 2,
n.
Trong s cc cch phn cc sinh vin vo cc nhm chuyn m h c nguyn
vng tham gia v m bo mi sinh vin / phi tham gia ng P nhm, hy tm cch
phn phi vi s' ngi trong nhm c nhiu sinh vin tham gia nht l nh nht c th
c.
a vo bin s
= 1, nu s'nh \ in tham gia vi nhn j,
X j ~ 0, nu ngc li,
i = 1, 2 , m , j = 1 , 2 , /, khi d thy m hnh ton hc cho bi ton t ra chnh
l bi ton (!) - (3).
Bi ton lp lch cho hi ngh. Mt hi ngh c m tiu ban, mi tiu ban cn sinh hot
trong mt ngy ti phng hp ph hp vi n. C n phng hp dnh cho vic sinh hot
ca cc tiu ban. Bit
= 1, nu phng hp i l thch hp vi tiu ban j ,
aj= 0, nu ngc li,
i - 1, 2, m \ j - 1, 2 ...... /. Hy b' tr cc phng hp cho cc tiu ban sao cho hi ngh
kt thc sau t ngy lm vic nht.
a vo bin s
Xj = 1, nu b tr tiu ban / lm vic phng j,
x j ~ 0, nu ngc li,
/ = 1, 2, 777, y = 1 , 2 , /, khi d thy m hnh ton hc cho bi ton t ra chnh
l bi ton (1) - (3), trong d p, = 1, / = 1, 2,..., m.
B 2. Bi ton (I)-(3) c phng ti u khi v ch khi
i = (4)
=i
Chng minh, iu kin cn ca b l hin nhin v t s tn ti phng n ca bi
ton suy ra cc bt ng thc trong (4) c thc hin t nht di dng du ng thc.
chng minh iu kin , ch cn ch ra rng nu iu kin (4) c thc hin th bi
ton lun c phng n. Thc vy, gi s iu kin (4) c thc hin. Khi nu k
hiu
l,, =
th I I+i I > p , , / = 1, 2 ...... m. Do nu gi
255
Phn 2. L thuyt th
I, c; I l = P i , ; = 1 , 2 , m ,
th X* = {x*j) ,x vi cc thnh phn c xc nh theo cng thc
= 1 , 6 I| , X*i^ = 0 , j I , , / = 1 , 2 , m, (5)
l phng n ca bi ton (1) - (3). B c chng minh.
Do (4) l iu kin cn bi ton (l)-(3) c phng n, nn trong trong phn tip
theo ta r. lun gi thit rng iu kin ny c thc hin.
By gi ta s ch ra rng vic gii bi ton (l)-(3) c th dn v vic gii mt s
hu hn bi ton lung cc i trong mng. Trc ht, vi nii s' nguyn dng k. xy
dng mng G(k) - (V,E) vi tp nh
V = { { ,: / = 1, 2, m I u ( Wj-. j = 1,2,..., n I u r},
trong s l im pht, t l im thu, v tp cung
E = {(s,u,) : / - 1 , 2 .....m] u {(U,Wj) : /=1, 2,..., m: j = 1,2,..., n
: =1, 2,..., n .
Mi cung e G E c gn vi kh nng thng qua q{e) theo qui tc sau:
qis.Ui) =Pi . i=
q{ U; , Wj ) = :j , i = 1, 2 , . .. , m ; j = 1, 2, . . . , n;
q{ Wj , t) = k , j = 1, 2 , , .. , n.
Hnh 8 ch ra cch xy dng mng G(k).
K hiu: = ^ P i -
B sau y cho thy mi lin h gia lung cc i trong mng G{k) v phng n
ca bi ton (l)-(3).
Chng 7. Bi OC ii cc di roni nui^
B 3. Gi s i vi sniiy clirn k no d, ln cc di nguyn tronu, mng
G(k) c ^ i t r i l . Khi X* = ( - V * , , ) , x yi cc tlnli phn c xc nh theo C / .
thc
. v*, ^ = ' { U , w ^ ) , i = 1 , 2 ..........m : , / = 1 . 2 .............n .
l phi n ca bi ton (l)-(3).
Chn, minh. Thc vy, do lung cc ai trong mang c gi tr ! v l lung
nguyn nn
= Pi , i - 1 , 2 ......m,
' { u , , Wj ) e j O, 1 , / = 1 , 2 , . . . , m; j = 1, 2 ...... n.
t suy ra
= Pn i =
y=l y=l
Vy )C l phng n ca bi ton (l)-(3). B c chng minh.
B 4. Gi sC -- {x',,) l phng n ti li v k' l gi tr ti li ca hi ton (1 )-(3).
Khi lung cc i trong mng G{k*) c gi tr l .
Chng minh. Do gi tr ca lung cc i trong mng G(k*) khng vt qu , nn
chng minh b ta ch cn ch ra lung vi gi tr trong mng G{k'). Xy dng
lung * theo cng thc sau;
\ s M i ) = Pi, \uWj) = .x*^j,
ni
i = , 2 , - , m , j = 1,2,., . , / 7 .
/=!
D dng kim tra c rng l lung trong mng G{m) c gi tr . B c
chng minh.
B 5. Nu k = m th lung cc i trong mng G{m) c gi tr l .
Chng minh. Lp lun tng t nh trong B 4, ta ch cn ch ra lung vi gi tr
trong mng G{m). Thc vy, gi sx* = l phng n ca bi ton (l)-(3) xy
dng theo cng thc (5). Xy dng lung theo cng thc ging nh trong chng
minh b 4, ta c lung vfi gi tr . B c chng minh.
257
Phn 2. Lv thuyt th
T b 3 v 4 suy ra vic gii bi ton (1) - (3) dn v vic tm gil-tr k* nguyn
dng nh nht sao cho lung cc i trong mng (:) c gi tr . B 5 cho thy
gi tr k* e [1, m]. V vy gii bi ton (1) - (3) ta c th p dng phng php tm
kim nh phn trn on [1, m] tm gi tr k \ trong mi bc cn gii mt bi
ton lung cc i. gii bi ton tm lung cc i trong mng c th s dng cc
thut ton a thc nh ni trn. T suy ra kt qu sau
nh l 5. Bi on (l)-(3) gii c nh thut ton a thc vi hi gian tnh l 0 g2 m
X , trong Of^. l thi gian nl ca hut ton gii bi ton tm luong cc i
roig mnG{k)
258
Chng 7. Bi ton ung cc i trong mng
Bi tp
1. Xt mng cho trong hnh v sau. cc s bn cnh cc cung l kh nng thng qua ca n
Thc hin thut ton Ford-Fukerson tm lung cc i trn mng cho bt u t lung 0.
Trnh by cc kt qu tnh ton trong mi bc lp bao gm:
th lng lung,
ng tng lung tm c theo tm kim theo chiu rng v kh nng thng qua ca
n (Gi thit khi duyt cc nh k ca mt nh ta duyt theo th t tng dn ca ch
s),
Mng cng lung thu c sau khi tng lung.
Kt qu cui cng; Cn a ra gi tr ca lung cc i v lt ct hp nht
2. Cho G - (V, E) th c hng trong khng c cung {s, t). Chng mi nh rng s
ng i c bn ni hai nh v t l bng s t nht cc nh ca th cn loi b
trong th khng cn ng i ni 5 vi .
3. Xy dng thut ton tm tp E tt c cc cung ca th m vic tng kh nng
thng qua ca bt k cung no trong E u dn n tng gi tr ca lung cc i trong
mng.
4. Cho hai dy s nguyn dng {P, / - 1 , 2,..., m\ v qj, j = l , 2,..., n\ . Hy xy dng
ma trn A = aj : /=1, 2,..., m; j = l , 2,..., n] vi cc phn t j GjO, 1 c tng cc phn
t trn dng i l /?,, tng cc phn t trn ct j l cj.
5. C m chng trai, n c gi v k b mi. Mi b mi p {p= , 2,..., k) c mt danh sch
mt s chng trai v c gi trong s cc chng trai v c gi ni trn l khch hng
ca b ta. B mi p c th se duyn cho bt c cp trai-gi no l khch hng ca b ta,
nhng khng sc t chc qu m ci. Hy xy dng thut ton cn c vo danh
sch p = 1, 2,..,, k, a ra cch t chc nhiu nht cc m ci gia m chng trai
v n c gi vi s gip ca cc b mi.
259
Phn 2. L thuyt th
6. Bijon ph nh nh nht: Cho th v hng G = (V', E) vi trng s trn cc
nh c(v), V V. Mt tp con cc nh ca th s c gi l ph nh nu nh mi
cnh ca th c t nht mt u mt trong s. Trng lng ca ph nh s l tng cc
trng s ca cc nh trong n. Bi ton t ra l tm ph nh c trng lng nh nht
(m ta s gi l ph nh nh nht). Hy ch ra cch qui dn bi ton tm ph nh nh
nht trn th hai pha v bi ton lung cc i.
7. Cho n th v hng G = (V', E). Gi s 5, t l hai nh ca th. S dng l
thuvt lung cc i trong mng chng minh khng nh sau: "S lng ln nht cc
ng i i mt khng c cnh chung ni hai inh s v t l bng s cnh t nht cn
oi b khi th G khng cn ng i ni s v f \
8. Bi ton ghp cp trn th hai pha: Cho th hai pha G = (XuY, E). Mt tp con
cc cnh ca th c gi l mt cp ghp nu nh hai cnh bt k trong n khng
c nh chung. Bi ton t ra l tm cp ghp c lc lng ln nht ca G. Hy ch ra
cch qui dn bi ton t ra v bi ton lung cc i trong mng.
9. Xy dng hnh ch nht latinh. Hy ch ra cch xy dng hnh ch nht la tinh cp
mxn {m < n) nh s dng thut ton tm cp ghp ln nht trn ih hai pha.
260
PHN III
HM I S LOGIC

Chng . M du
1
M U
1.1. M hnh x l thng tin v hm i s lgic
Trong nhiu vn , ta thig gp mt m hnh x l thng tin dng n gin, gm mt
u vo v mt u ra:
Vo
X l thng tin
Ra
u vo v u ra ly gi tr t nhng tp hu hn X v Y. Ta xem m hnh hot ng
trn mt trc thi gian c phn chia thnh nhng thi im ri rc. Ti thi im t,
tn hiu vo l ,r, e X v tn hiu ra l y, G Y. Gi thit rng m hnh hot ng khng
nh, tc l tn hiu ra ti thi im t ch ph thuc vo tn hiu vo ti thi im .
Nh vy, c th m t s hot ng ca m hnh bng mt hm f : X ^ Y , trong J =
f{x) l tn hiu ra tng ng vi tn hiu vo X.
Trong k thut iu khin t ng, cc tn hiu thng c truyn i v ch bin
di dng ch c 2 gi tr, m ta s k hiu l 0 v 1. V vy c th xem X nh tp hp
E" v Y nh tp hp E"', trong E = {0, 1 (vi n v m c chn thch hp). Mi
263
Pln 3. Hm i s'gic:
phn t.v e X c dng X = Gr,, Xj, A') v mi phn t>'e Y c dng V= {}[ v,,..., v,)
trong ,v,, >, e E.
Mt hm/: X ^ Y c phn tch thnh mt h m hm
>'l = / l U | . -^' 2............ o
>2 '^2. ' O
y,=L,i-^u^2' -O
Mi hm =/(.V|, A'jr --, x) c cc i s nhn gi tr 0. 1 v hm cng nhn cc gi tr
0, l . Mt hm nh th c si l mt hm i s logic.
nh ngha. Mt hm i s'logic ca n i s'l mt nh x E" E.
Mt hm i s' logic thng c xc nh bng bng gi Ir ca n, ngha l Irong
lit k tt c cc nh ca cc b i s' c th c. Th d bng di y xc nh mt
hm i s' logic 3 i s:
X i ^'^2
f ( Xi , X2, Xj )
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
I 1 0 0
1 1 1 1
Hnh 1
V I " I = 2" v I I = 2 nn s cc hm i s logic ca n i s l 2^ , chng hn
vi /7 = 3, con s ny l 2** = 256.
Mt hm i s' lgic J = x) c gi l ph thuc thc s vo i s X, nu
c 2 b gi tr ca i s ch khc nhau mt thnh phn th ;m gi tr ca hm ti 2 b
ny l khc nhau.
Khng phi mi hm i s logic ca n i s u ph thuc thc s vo c n i s
ca n. Chng hn cc hm hng y = 0 hay y = khng ph thuc thc s vo i s'
no c. Gi A l s tt c cc hm i s logic ph thuc thc s vo n i SG. Khi
d dng tnh c /4 theo h thc truy hi di y:
264
Chng 1. M u
Ao = 2 ,
A= 2^"
Thng thng, vic m ho nh phn tp X b d tha, ngha l c mt s phn t ca
X ti hm / khng xc nh (chng hn nu X c 6 phn t th khi m ho n bng
tp E \ ta tha 2 phn t). Mt hm / : M -> , vi M l mt tp con thc s ca E"
c gi l mt hm i s logic khng y v tp con M c gi l min xc nh
ca n. R rng ti nhng ni m / khng xc nh, ta c th cho n mt gi tr (0 hoc
1) tu dc mt hrn i s' lgic dy o. Ni ccn khc, VI mi hin i s logic
khng y / c min xc nh M, lun xv dna c mt hm i s lgic y F
=/CV|,...,a') vi mi (x.....,A') G M. Hm F nh vy c gi l hm phu
ca hm/. D thy rng, s lng cc hm ph / bng 2*, trong : = 2" - 1M I.
1.2. Cc hm i s logic s cp
Di y ta s xt c th cc hm i s logic ph thuc thc s vo n i s' vi n < 2.
Cc hm ny c gi l cc hm s cp.
a) n = 0: c 2 hm l hm hng 0 v hm hng 1.
b) n - \'.C2 hm cho bi bng
' 1
X
f , L
0 0 1
1 1 0
Hm/ 2(A) c gi l ph nh ca X v c k hiu l 1 X hay X
c) = 2: c 10 hm cho bi bng
X
81 '2 84 85 & c?7 & 89 810
0 0 0 0 0 1 1 1 1 1 0 0
0 1 0 1 1 1 0 0 1 0 1 0
1 0 0 1 1 0 0 0 1 1 0 1
1 1 1 I 0 1 1 0 0 1 0 0
trong c mt s hm thng dng nh sau:
hm gix, y) c gi l hi (hay tch) ca X v y, k hiu l X & J hay x., xy
hm gjix, y) c gi l tuyn ca .Vv y, k hiu X V y
hm gjCr, >>) c gi l tng (theo modun 2) ca X v y, k hiu l X + y
hm gx, y) c gi l hm ko theo, k hiu X - ^ y
TRR - 18
265
Phn 3. Hm i slqic
hm y) c gi l hm tng ng, k hiu A' <=>
hm gf , {x, y) c gi l hmVebb, k h i u x o
hm gy{x, y) c gi l hm Sheffer, k hiu X I y
Quan trng nht l cc hm tuyn, hi v ph nh. Chng tng ng vi cc php
ton "hoc", "v", "khng" trong i s mnh , trong gi tr 1 ng vi "ng" v
gi tr 0 ng vi "sai". D thy rng cc tnh cht di y ca cc hrn tuyn, hi ph
nh c suy t cc tnh cht quen thuc ca i s mnh (hoc cng c th suy
t bng gi tr):
Kt hp
XV iy V z) = ( x v y) V z - X V >' V z,
X & (v & 7.) = {.X& y) & z = X &. y &. z.
Giao hon
X V y = y \ / X,
X & V = y & X.
Phn h'
x v { y & z ) - ( x \ / y ) & { x v z) ,
X & V z ) = (Jt & _y) V ( x & z).
i ngu
X v y = X & y.
X & = X V y .
Trong k thut, cc hm tuyn, hi, ph nh c thc hin nh nhng linh kin
on gin. Mc trnh by di y khng nh rng, mi hm i s lgic u c th
c xy dng t nhng linh kin cm gin ny.
1.3. Biu din cc hm i s logic
qua h tuyn, hi v ph nh
tin trnh by, ta a vo quy c sau y: gi s X l mt bin v - e {0, 1 . Khi

X, nu = 1,
X, nu cr= 0.
T nh ngha trn d thy
266
Ch n 1. M u
,y' ^= 1 . x-=- .
Gi s I / ; / / l mt h cc hm i s logic. Ta s dng k hiu
V / v & /;
i e E
ch tuyn v hi ca tt c cc hm ny, ni ring nu / = {/, 2,..., m}, th ta s dng
cc k hiu
n m
V ' / v & /
= 1 ' = 1
thay th. Ta cng quy c rng nu / l tp rng th
V / = 0 v & / = 1.
; e / / e /
Vi mi hm fix,,..., x j , k hiu Tf l tp
Tj-= |(.v.V j e " : / ( A - ...............A-) = 1
v gi n l tp c trng ca / . D dng chng minh tng ng gia hm i s logic
vi tp c trng ca n l tng ng 1-1 v c cc tnh cht:
T j = T , 7 } u 7 ^ , , = 7 } n
iu ny cho php chuyn cc chng minh trn i s logic sang cc chng minh tng
ng trn i s tp hp.
nh l. Mi hm i s' lc f{.\.......x) ii c th c biu din di dng:
f u ...... -O = V /(cr,,c r ,, .. ., ,, x,. ^, ,. .. ,x)
(CT|..... ) G E'
trong i l s t nhin bt k, < i < n.
Chng minh. Gi s (X|,...,.vJ e Tj^, khi s hng ng vi b gi tr -, = X, =
x trong tuyn v phi
x ' . . .
s bng 1, iu ny ko theo ton b v phi s bng 1. Ngc li, nu v phi bng 1,
th phi xy ra bng 1 ti mt s' hng no , chng hn ti s hng ng vi b gi tr
(i,...,o;), Khi X| = | , X , = ; v (x...... x) e 7}. nh l c chng minh.
Cho / = 1 trong nh l v nhn xt rng vai tr ca cc bin X l nh nhau, ta c:
267
Phn 3. Hm i slgc
H qu 1, Hm i s logic c t h c khai trin theo mt i sx,:
V x , / ( x . . . , x , , 1, .....x)
Cho / = n trong nh l v b i cc nhn t bng I trong mt tch, ta c:
H q u 2, Hm i s gicf{x,...,x) c th c khai trin di dn:
f i x ......x) V x p . . . x ; "
(,..... ) e T
Cng thc khai trin ny cn c gi l dng tuyn chun c hon lon ca / v
mi s hng ca n c gi l mt cu to n v ca/ .
Th d. Dng tuyn chun tc hon ton ca h m / c h o bi bng hnh 1 l
X3) = X X2 X3 V X| X-, V X X2 X V X X2 X3 V .V, X2 -'^.v
T h qu 2, ta nhn c khng nh sau y: Mi hm i s' logic u c th xy
dng t cc hin nh cc hm tuyn, hi v ph nh.
Bng lut i ngu, ta c th chng minh mt kt qu tng t bng cch thay php
tuyn bng php hi v ngc li, t dn n vic biu d i n / qua mt hi cc tuyn.
Biu din ny c gi l dng hi chun tc hon ton ca/ . Chng hn, trong th d
va nu, dng hi chun tc hon ton ca/ l
/ ( x , , X2, X3) = (X|V ^2 V ^3 ) & (X|V X2 V X3 ) & ( X, V ^2 V X3 ).
Ngoi h tuyn, hi v ph nh, tn ti nhiu h khc cng c tnh cht mi hm
i s lgic u c biu din qua cc thnh vin ca h. Mt h hm nh vy c
gi l mt h y . Chng hn c th chng minh cc h
{0, l , x + y, X&}; }, { x , x v j } , {jr, {xl }' ), j t o
u l nhng h hm y .
Vic nghin cu tnh y ca mt h hm c mt ngha thc tin quan trng, n
tr li cu hi c th xy dng mi hm lgic t mt s hm n gin chn trc hay
khng? V vn ny. Post thc hin mt cch h thng t nm 1921, bn c c
th tm hiu mt cch chi tit qua cun sch ting Nga "Hm i s logic v cc lp
Post" xut bn nm 1966 ca cc tc gi S.B.Iablonski, G.p. Gavrilov, V.B.Kudriavcev.
268
Chng !. M u
1.4. Biu din ti thiu ca hm i s logic
Biu dir. mt hm i s logic / qua mt h hm y H l khng duy nht. Th
d hm Sheffer, khi biu din qua h tuyn, hi v ph nh, c th c cc cch
XI > - x y v x y v x y = XV .
Mi mt biu din / tng ng vi mt cch "ghp" cc thnh vin ca H (m ta gi l
c i c yu t' c bn) th'1 c/. Hin nhin, mt vn c ngha thc t qu?.n trng
l, cn m mt biu din sao cho vic ghp nh th l !n t yu t' c bn nht. Theo
mt ngha no , iu ny dn v vic tm mt cng thc trn h H biu din hm /
vi s k hiu cc yu t ny l t nht. Mt cng thc nh vy, dc gi l mt biu
din ti thiu ca h m / trong h H.
V nguyn tc, s cng thc biu din / l hu hn, nn bng cch duyt tt c cc
kh nng, ta lun tm c biu din ti thiu c a/ . Tuy nhin, s kh nng ny l rt
ln v vic duyt n i hi mt khi lng tnh ton khng l, do trn thc t kh
m thc hin c d rng ngay c vi nhng siu rny tnh.
Vic xy dng nhng thut ton hu hiu tm biu din ti thiu ca cc hm i s
logic, v th cng tr nn cp bch nhng ng thi n cng l bi ton rt kh. Cho
n nay, bi ton ny vn cha c gii quyt tho ng ngay c trong mt s trng
hp cm gin v cn ang c tip tc nghin cu.
Mt h y c nghin cu nhiu nht l h tuyn, hi v ph nh. Bi ton tm
biu din ti thiu ca cc hm i s lgic trong h ny c nghin cu nhiu
trong vi chc nm gn y. Tuy nhin, cc kt qu t c thng mi ch cp
n mt dng biu din ring bit trong h, l dng tuyn chun tc ca cc hm i
s logic m ta s xt k trong chng sau.
269
Phan 3. Ham dgi so logic
Bai tap
1. Xet cac ham dai so I6gic 3 d6'i s, 6 f{x, y, z). Cho t^p dac trung 7} . Xac dinh dang
tuyen chuin tac hoan loan ciia/ :
a)T^= ((0, 1 1) , ( 1, 0, 0) , ( 1, l , 0 ) i
b) T^= 1(0, 0, 1), (0, 1, 1), (1. 0, 0), (1, 0, 1), ( 1, 1, 1) }
c) 7>= {(0, 0, 0),(1, 1, 1), (0, 1, 1) , ( 1, 0, 0)1
2. Co bao nhieu ham dai so logic 3 ddi so ma tap dac trung T^cua no c6 5 phan ti!r? Khai
quat hoa; c6 bao nhieu ham dai so logic n doi so ma iap dac trung T^CLia no c6 k (k < 2 ")
phan til?
3. Tim dang tuyen chuan tac hoan toan ciia cac ham dudi day:
a) f i x , }>) = .r + J (ham cong modun 2)
b)/(.v, y) = x o y (ham Vebb)
c)/(.v, y) = x \ y (ham Sheffer)
d)/(.r,>', z) = (XV j ) & z
e)/(x, y , z ) ^ x \ / y w z
f )f {x, y, z) = (x & j ) V (x & z) V (y & z)
g)/(x, y, z ) = ( x \ y ) o z
4. Ham dai so logic /(x, y, z) nhan gia tri 0 tai (0, 0, 0). Neu thay doi gia tri bat cii doi so
nao cua no thi gia tri cua ham cung thay doi (so v6i gia tri truoc da'y). Tim dang tuyen
chu^n tac hoan toan ciia/ .
5. Xet xem cac ham/, g du6i day khac nhau hay bang nhau;
a) f ( x , y , z ) = i x & y ) v z
g{x, y , z ) - { x \ / y w z ) & ( x v y \ / z ) & ( x v > v z )
b)/(x, y, z ) = i x \ y ) o z
g(x, y, z ) = x & ( y + z)
6. Chung minh cac he ham sau day la he day dii:
{0, 1, X+ J , X&) ' ) , { x, xv>>}, { x , x & j }, ( x l j ) , x o j }
7. Bieu di6n ham/(x, y) = x v y qua cac he ham:
a) { x , x &y )
b) {xl>>)
c ) { x o > }
270
Chng 2. Dng tuyn chun c ca hm i sgic
2
DNG TUYN CHUn TC
CA HM AI S LGIC
2.1. Cc khi nim c bn
Gi s cho n bin X. X2 , x . Mt biu thc dng
cr, -J cr,
X.. 'x,. ^ . . x . '
/,
trong CT|,..., J e |0, 1), 1 < /|, ij < n va i, nu t s c gi l mt hi s
cp ca n bin X|, x.
S cc bin xut hin trong mt hi s cp c gi l hng ca hi s cp .
Chng hn, hi s cp ,V| X, X4c hng 3 , hi s cp X2 X x , x-j c hng 4.
Gi s / (.V, ,. .. , x) l mt hm i s lgic. Mt cng thc biu d i n / d i dng
tuyn ca mt s hi s cp khc nhau ca cc bin A'|, x c gi l mt dng
tuyn chun tc ca hm .
271
Phn 3. Hm i s' logic
Th d 1.
x y V X y l mt dng tuyn chun tc ca hm X + y.
x v y v a x y \ / x y v x l c c dng tuyn chun tc ca hm Sheffer .V I V.
D thy rng, dng tuyn chun tc hon ton c a / l dng chun tc duy nht ca
/ m trong mi hi s cp u c hng n. Mi hi s cp (hng n) trong dng luyn
chun tc hon ton c a / c gi l mt cu to cri v ca/.
Ta gi phc tp ca mi dng chun tc l s' cc k hiu bin xut hin trong
dng chun tc .
Th d 2.
X y V X V V X y c phc tp l 6,
X V y c phc tap l 2.
Dng tuyn chun tc ca / c phc tp b nht c gi l dng tuyn chun
tc ti thiu ca/ . Dng tuyn chun tc ti thiu, theo mt ngha no , tng ng vi
mt s ti thiu (thuc mt loi nht nh) thc hin / . Nhng phn tip theo ca
chcmg ny, gii thiu mt s phng php tm dng tuyn chun tc ti thiu ca mt
hm i s logic.
Ta a thm mt khi nim quan trng sau y.
Gi s x) l mt hm i s logic. Mt hm g{X,..., x) c gi l mt
nguyn nhn (implicant) c a / nu l tp con ca 7jr, ni cch khc, nu ig - >f ) = I
(v th c tn gi l nguyn nhn).
D dng thy rng mi hi s cp trong mt dng tuyn chun tc ca / l mt
nguyn nhn ca / .
Xt mt hi s cp A. Vic xo bt mt bin trong n lm tp c trng ca n
"n" ra. iu khin cho, nu trc A l mt nguyn nhn c a / , th sau khi xo
mt bin, A c th khng phi l nguyn nhn c a / na. Mt hi s cp A c gi l
mt nguyn nhn nguyn t ca/ , nu A l mt nguyn nhn c a / , sao cho khng th
xo i bt c bin no trong n (cng vi du ph nh nu c) A vn cn l nguyn
nhn ca/ .
Th d 3.
x y \ . X y l cc nguyn nhn nguyn t ca hm X + y.
X M. y l cc nguyn nhn nguyn t ca h m X 1y nhng cc hi X , x y ,
X y khng phi l cc nguyn nhn nguyn t ca n.
772
Chng 2. Di uv chun tc ca i slc
2.2. Dng tuyn chun tc thu gn
nh l 1. Tuyn ca m s hct k cc n^un luv ca hm f cung l m nguyn
nhn ca hm ,
Chng minh. Tp c trng ca tuyn ny l hp ca cc tp c trng ca cc nguyn
nhn ang xt, v th n cng l tp con ca tp c trng ca hm/
nh ! irc chn;y minh.
Gi s 5 l mt h cc nguyn nhn ca/. Ta ni rng h s i y nu vi mi
gi tr e lun tm c it nguyn nhn i thuc h e T^.
nh l 2. Gi s S l mt h dy cc nguyn nn ca hmf . Khi tuyn ca t
c cc nguyn nln trong s s trng v i f (ta cng ni uyn ny thc hinf).
Chng minh. T nh ngha ca n y , ta nhn c
^ T. = Tf
nhng v tri ca ng thc trn chnh l tp c trung ca tuyn -iHng xt. T nhn
c nh l.
nh l 3. Tuyn ca tt c cc nguyn nhn nguyn t ca hm f l thc lin f . Ni
khc i, h cc nguyn nhn nguyn t'ca f Ici mt h y d.
Chng minh. chng minh nh l, ta s chng minh rng
U 7, = r ,
g e S
trong 5 l h cc nguyn nhn nguyn t' ca/.
V s gm cc nguyn nhn ca / n n v tri ca ng thc trn l tp con ca v
phi. Ta ch cn chng t iu ngc li. Tht vy, gi S' l h cc cu to n v c a/ ,
ta c (dng luyn chun tc hon ton c a / ) :
u T , = T,
g' ^ S '
Xt g' e s \ nu ' khng phi l nguyn nhn nguyn t ca / , th bng cch xo
bt mt s bin (cng vi du ph nh nu c) trong g \ ta thu c mt nguyn nhn
nguyn t c a / . Gi nguyn nhn ny l g ( G 5). R rng T^. l tp con ca T^. T
nhn c
u T , = T, c u r ,
273
Phn 3. Hm di so logic
g ' e S ' g e S
hay
<?e s
v nh l c chng minh.
Tuyn ca tt c cic nguyn nhn nguyn t ca/'c gi l dng tuyn chun tc
thu gn c a / . V tp hp cc nguyn nhn nguyn t c a / l hon ton xc nh, nn
dng tuyn chun tc thu gn ca n l duy nht.
Ch rng, dng tuyn chun tc thu gn ca mt hm i s lgic, ni chung cn
khc xa vi dng tuyn chun tc ti thiu ca hm . Chng hn, hm (x + }0 V z (.V
V y ) c dng tuyn chun tc thu gn l
X y X y V X z V y z ,
nhng mi dng chun tc ti thiu ca n l
X V X y V A' z.
Mc d dng tuyn chun tc thu gn cha phi l ti thiu, nhng vic tm n,
nh trong nhng phng php trnh by di y, l mt bc trung gian quan trng
trong qu trnh tm dng tuyn chun tc ti thiu.
2.3. Dng tuyn chun tc nghn
v dng tuyn chun tc t1 thiu
Mt h nguyn nhn nguyn t ca h m / c gi l mt h nghn, nu n y v
khng mt h con thc s no ca n l y . Nu s l mt h nghn c a / th tuyn
ca cc thnh vin trong s s thc hin/. Tuyn ny c gi l dng tuyn chun tc
nghn ca/. Ni khc i dng tuyn chun tc nghn c a / l mt dng tuyn chun tc
gm cc nguyn nhn nguyn t ca/ , thc h i n / m khng th b bt i mt s hng
no vn thc hin c/.
Ch rng, dng tuyn chun tc nghn ca mt hm i s lgic l khng duy
nht, chng hn hm
f{x, y, z ) = x v x y v x z v y z
c hai dng tuyn chun tc nghn l
X y V X y V X z v X y V X y V y
274
Chng 2. Dng tuyn chun tc ca hm i sgic
nh l 4. M/ dng tuyn chicn c ti tiii ca mt hm i s logic f u Ic mt
dng ityn chun tc nghn ca hm .
Chng minh. chng minh nh l, ta ch cn chng t rng nu p l mt hi s cp
ca mt dng tuyn chun tc ti thiu c a / , th p phi l mt nguyn nhn nguyn t
ca/ .
Gi s p khng phi l nguyn nhn nguyn t ca/ . Khi , bng cch b i mt
s D n (cng vi du ph nh nu c), ta lun lm c mt phn con thc s q ca
p, C l mt nguyn nhn nguyn t ca/ . Gi p w p l dng tuyn chun tc ti thiu
c a / {P l mt tuyn ca mt s hi s cp no ). Thay p bi q trong tuyn ny, ta
nhn c q \/ p cng l mt dng tuyn chun tc ca/ . iu ny mu thun vi tnh
ti thiu ca p V p , v nh l c chng minh.
Ch rng, iu ngc li ca nh l 4 l khng ng: c nhng dng tuyn
chun tc nghn m khng phi l dns tuyn chun tc ti thiu, th d hm
f i x , y, z) = ( x + y ) V ( x + z )
C m t d n g c h u n t c n g h n l
X z V .V _y V .V3^ V .Vz ,
nhng khng phi l ti thiu, mt dng nh th c a / l
X z V A' y V y z.
nh l 4 cho thy rng, tm dng tuyn chun tc ti thiu, ta ch cn xt cc
dng tuyn chun tc nghn. M d tm cc dng tuyn chun lc nghn ih cn bit
dng tuyn chun tc thu gn, cng l c s cho cch tm dng tuyn chun tc ti
thiu trnh by trong chng sau.
275
Phn 3. Hm i s logic
Bi tp
1. Cho hm i s lgic/Or, z) xc nh bi bng:
y
z f (x, y, z)
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
a) Lit k tt c cc nguyn nhn c a / , trong mi nguyn nhn c vit
di dng tuyn ca mt s hi s cp. S' lng ca chng l bao nhiu (k c tuyn
rng v tuyn chun tc hon ton)?
b) Xc nh cc nguyn nhn nguyn t trong cc nguyn nhn tm.
2. Cho hm i s lgic n i s. Bit dng tuyn chun tc hon ton ca n gm k hi
s cp. m tt c cc nguyn nhn ca hm cho.
276
Chng 3. Thut ton lm dng tiivn cu tc i thiu
3
THUT TON TM DNG TUYN
CHUN TC TI THlu
3.1. Ch m u
T nhng c s l thuyt trnh by trong chng 2, ta c th chia qu trnh trn
dng tuyn chun tc ti thiu ca mt hm i s lgic / ( .V,, x ) thnh 2 giai on:
a) Xut pht t dng tuyn chun tc hon ton ca/ , tm dng tuyn chun tc thu
gn ca/.
b) Xut pht t dng tuyn chun tc thu gn ca/ , tm cc dng tuyn chun tc
nghn c a / v la chn t cc dng ny c cc dng tuyn chun tc ti thiu ca
/
V dng tuyn chun tc thu gn c a / l duy nht, nn giai on a) hon ton xc
nh. Tri li, giai on b) cn phi xy dng cc dng nghn t dng rt gn, sau
la chn trong chng c dng ti thiu. S cc dng nghn ca mt hm i s'
277
Phn 3. Hm i slgc
lgic c th rt ln, iu ny lm cho vic la chn tr nn kh khn, nhiu khi khng
khc my so vi vic "la chn ton b". lablonski xy dng c nhng hm i s
lgic/(X|,..., X,) m s cc nguyn nhn nguyn t ca n ln gp 2"^^ ln s cc hi s
cp trong dng tuyn chun tc hon ton ca/ . Glagolev chng minh rng, i vi hu
ht cc hm i s l gi c / c a n i s, s cc dng tuyn chun tc nghn ca / l
2 ^ { \ - e )
vt qu 2 , trong 6^ -> khi n 00, luravliev a ra mt th d cm gin
sau y: khi /7 > 3, hm
/ u , ...... -v) = [( . r, + x, ) V (X2 + -r , ) ] (x, + ... + .v)
4
c 5 dng tuyn chun tc nqhn.
Nh vy, v nguyn tc, vic tm dng tuyn chun tc ti Thiu l dng tuyn
chun tc thu gn i hi phi tin hnh nhng s la chn phc tp. Tuy nhin, cc
phng php c trnh bv di y, mc d ni chung, chng khng trnh c
nhng kh khn v phc tp ni trn, trong nhiu trng hp c th, chng cng t ra
c hiu qu.
Di y l mt s php ton m ta s dng nhiu ln trong qu trnh bin i
(i) php nut s cp
A B V A = A
(ii) plp dn
A X V A X = A
(iii) php dn khng y
A X V A X = A V A X V A X
(iv) php dn m rng
A C V B C = A C w B C V A B
Trong cc php ton A, B v c l cc biu thc bt k, X l bin.
3.2. Tm dng tuyn chun tc thu gn
Mi hi s cp hng k
, , J
X, ' X, - . . . X, ^
/, /2 /;.
c gi l mt nguyn nhn hng k ca hm/, nu n l mt nguyn nhn ca/ . Mt
cu to n v ca / l mt nguyn nhn hng n ca n.
278
Chng 3. Tm ton tm dng tuyn chun tc ti thiu
nh l 1,
a) M nguyn nhn hng k ca h mf k < n) kt qu ca php dn hai nguyn
nln hn^ k + 1 ca hm f .
h) Mt nqun nhn hng k ca hrnf k <n) l nguyn nhn nguvn t ca f nu
kh th dn c vi bt k m nguyn nhn hng k no caf .
Chn^ minh.
a) Gi s A l mt nguyn nhn hng k (k < n) c a / . Tun c bin A' khng c
mt trong A. Khi cc hi A X v A X s l cc nguyn nhn hng :-f 1 c a / , v A
nhn c t php dn hai nguyn nhn ny.
b) Gi s >4 l mt nguyn nhn hng k {k < n) c a/ . Nu A khng phi l nguyn
nhn nguyn t th lun tm c mt bin X trong A sau khi xo n (cng vi du
ph nh nu c) khi A, ta c phn con B l mt nguyn nhn ca/ . C th gi thit
= B X. Khi A' = B X cng l mt nguyn nhn hng k c a / v A c th dn vi
T nh l 1, ta c Ihut ton Quine sau y tm dng tuyn chun tc thu gn
ca hm i s lgic /(.Vp...,
Bitc y. Tm dng tuyn chun tc hon ton ca/ , k hiu/j.
Bc 2. T f xy dmg/^,^ bng cch trong/, thc hin tt c cc php dn khng
y i vi cc hi s cp hng n-i, sau xo b tt c cc hi s cp hng n-i
c th c bng php nut s cp.
Bc 3. Lp li bc 2 cho n khi thu c /^.,1 =/. Khi f \ s l dng tuyn
chun tc thu gn ca/.
T cch xy dng f , c th chg minh quy np iu khng nh: trongmi f , c
mt tt c cc nguyn nhn nguvn t hng khng nh hn 1 v tt c cc nguyn
nhn hng n-k ca/ , v ch c chng.
Nu /^^1 = f. th theo phn b) ca nh l 1, mi nguyn nhn hng n-k c a / t r o n g
f u l nguyn t v nh vy/^. cha tt c cc nguyn nhn nguyn t ca/ , do n
l dng tuyn chun tc thu gn ca/.
Th d 1. Tim dng tuyn chun tc thu gn ca hm
f = x y z v x y z v x y z v x y z v x y z .
Ta c f o = / . Dng cc php dn khng y i vi cc hi s cp hng 3, ta c
y z V X z V X y V x y z V X z V X z V X z W X y z .
2 7 9
Phn 3. Hm di so logic
Sau dng cc php nut s cp ta c
f = y z V .Vz V .V V V X z .
n y cc hi s cp hng 2 khng dn c vi nhau, tc l /2 = /1 v f l dng
tuyn chun tc thu gn ca/.
Thut ton Quine khng ch r vic tm cho ht cc php dn c th c. V ih
McCluskey ngh b sung thut ton Quine mt th tc hnh thc nh trnh by di
y.
Gi s / l hm ca n bin Xp. . . , Mi hi s cp ca n bin c biu din
bng mt dy n k hiu trong bng {0 , 1, -} theo quy c: k t th / 1 hay 0 nu
X c mt trong hi l bnh thng hay vi du ph nh, cn nu A', khng c mt th
k l ny ! Chng hn hi s cp ca 5 bin A'^: X3 A*5 c biu din bi
1-0-1. Hai hi s cp c gi l ln cn nhau, nu cc biu din ni trn ca chng ch
khc nhau mt v tr. R rng cc hi s cp chi c th dn c vi nhau nu chng
l ln cn nhau.
Thut ton Quine - McCluskey,
Thut ton Quine, theo th tc McCluskey, c tin hnh nh sau: Lp mt bng
gm nhiu ct ghi kt qu cc php dn. Sau ln lt thc hin cc bc:
Bc 1. Vit vo ct th nht, cc biu din ca cc nguyn nhn hng n (tc l cc
cu to n v) ca hm/. Cc biu din c chia thnh tng nhm, cc biu din
trong mi nhm c s cc k hiu 1 bng nhau v cc nhm xp theo th t s cc
k hiu 1 tng dn (cc nhm c nh s t 1).
Bc 2. Ln lt thc hin tt c cc php dn cc biu din trong nhm i vi cc
biu din trong nhm /+1 (/ = 1, 2, . . . ). Biu din no tham gia t nht mt php dn
s c ghi nhn mt du * bn cnh. Kt qu dn c ghi vo ct tip theo.
Bc 3. Lp li bc 2 cho ct k tip cho n khi khng thu thm c ct no mi
(tc l ti ct hin hnh, khng thc hin c mt php dn no c). Khi , t c
cc biu din khng c du * s cho ta tt c cc nguyn nhn nguyn t ca/.
Th d 2. Tim dng tuyn chun tc thu gn ca hm
/ = X Z u V x y Z u v x y z u v x y z u
V x z u V x y z u V x y z u ,
Th lc McCluskey c tin hnh bi bng sau y
280
Chng 3. Thut ton tm dt tuyn chun tc ti thiu
0001 * 0-01 * 0 - 1
0101 * 00-1 * - 0-1
0011 * -001 * - 1 1
1001 * -011 *
1011 * 10-1 *
0111 * 01-1 *
1111 * 0-11 *
1-11 *
- l l
Dng tuyn chun tc thu gn ca h m / l
f = X u V y u V z u.
Th d 3. Tim dng tuyn chun tc thu gn ca hm
f - X2 X3 X V ~X Xj X V X X2 X X4 V ,V| ^2 ,^3
V X X2 X3X4 V A', V x , x - , x - , x .
I ^ 2 -^3 ''-4
Th tc McCluskey c tin hnh bi bng sau y.
0010* 001- 11-
0011 * -011
1100* 110- *
1011 * 11-0 *
1101 * 1-11
1110* 11-1 *
1111 * 11! - *
Dng tuyn chun tc thu gn ca h m / l
f = X X 2 V JC| ^2 Xj V Xj X3 X4 V X X 2 X .
Thut ton Quine cng vi s ci tin ca McCluskey gi chung l thut ton
Quine -McCluskey. Tliut ton ny cho php tm dng tuyn chun tc thu gn t dng
tuyn chun tc hon ton.
Di y trnh by thm phcmg php Blake - Poreski, cho php tm dng tuyn
chun tc thu gn t mt dng tuyn chun tc tu . C s ca phng php ny l
nh l sau y:
281
Phn 3. Hm i slgic
nh l 2. Nu trong mt dng tuyn chun tc tu ca hm i s'lgic f { X , .... x j
ta lin tip thc hin tt c cc php dn m rng c th c c ri sau thc hin
tt c cc php nut s cp, th s thu c dng tuyn chun tc thu gn ca hmf.
C th chng minh nh l ny bng quy np theo s cc i s ca h m / . Tuy
nhin chng ti khng trnh by chi tit y.
Th d 4. Tim dng tuyn chun tc thu gn ca hm
f = x y z v z x v xy.
Thc hin lin tip cc php dn m rng v cc php nut s cp ta c
f = x y z v z x v x y
= x y z V z x W x y v x y v y z v y z
= x z w x y x y \/ y z \/ y z w y
= x z w y.
Vy X z V y l dng tuyn chun tc thu gn ca hm / .
Th d 5. Tim dng tuyn chun tc thu gn ca hm
f = + y) s / { + z).
Ta c
/ = x y v x y v y z v y z
= x y v x y v y z v y z v x z v x z
l dng tuyn chun tc thu gn ca hm / . Th d 5 chng t rng, dng tuyn
chun tc thu gn ca mt h m / c th "di" hcfn dng nguyn thu ca n.
3.3. Tm dng tuyn chun tc ti thiu
Sau khi tm c dng tuyn chun tc thu gn ca / , ngha l tm c tt c cc
nguyn nhn nguyn t ca n, ta tip tc phcmg php Quine tm dng tuyn chun tc
ti thiu ca f nh sau; Lp mt bng ch nht, mi ct ng vi mt cu to n v ca
/ v mi dng ng vi mt nguyn nhn nguyn t c a / . Ti , j ) , ta nh du + nu
nguyn nhn nguyn t' dng i l mt phn con ca cu to n v ct j. Ta cng ni
rng khi , nguyn nhn nguyn t i l ph cu to n v j. Mt h s cc nguyn nhn
nguyn t c a / c gi l ph h m / , nu mi cu to n v c a / u c ph t
282
Ch/g 3. Thut ton tm dng tuyn chun tc ti thiu
nht bi mt thnh vin thuc h. D thy rng, nu h s l ph h m / th n l y
, ngha l tuyn ca cc thnh vin trong s l thc hin/.
Mt nguyn nhn nguyn t' c gi l ct yu, nu thiu n th mt h cc
nguyn nhn nguyn t khng th ph hm / . Cc nguyn nhn nguyn t' ct yu c
tm nh sau: ti nhng ct ch c duy nht mt du +, xem du + thuc dng no th
dng ng vi mt nguyn nhn nguyn t ct yu.
Vic la chn cc nguyn nhn nguvn t trn bne nh du, c mt
dng tuyn chun tc ti thiu, c Ih tin hnh theo cc bc sau y;
Bc 1. Pht hin tt c cc nguyn nhn nguyn t ct yu.
Bc 2. Xo tt c cc ct c ph bi cc nguyn nhn nguyn t' ct yu, tc l
tt c cc ct c t nht mt du + ti nhng dng ng vi cc nguyn nhn nguyn
t ct yu.
Bc 3. Trong bng cn li, xo nt nhng dng khng cn du + v sau nu c
hai ct ging nhau th xo bt mt ct.
Bc 4. Sau cc bc trn, tm mt h s cc nguyn nhn nguyn t vi s bin t
nht ph tt c cc ct cn li.
Tuyn ca cc nguyn nhn nguyn t ct yu v cc nguyn nhn trong h s s l
dng tuyn chun tc ti thiu ca hm/ .
Cc bc 1 , 2 , 3 c tc dng rt gn bng trc khi la chn. phc tp ch yu
nm bc 4. Tinh hung tt nht l mi nguyn nhii nguyn t u l ct yu.
Trng hp ny khng phi la chn g v hm / c duy nht mt dng tuyn chun
tc ti thiu cng chnh l dng tuyn chun tc thu gn. Tinh hung xu nht l khng
c nguyn nhn nguyn t no l ct yu. Trng hp ny ta phi la chn ton b
bng. Cc th d sau y minh ho cc tnh hung c th xy ra.
Th d 1. Tim dng tuyn chun tc ti thiu ca h m / c h o trong th d 1, mc 2. Bng
sau khi nh du + c dng
x y z
x y 1 X y z x y 1 X y 1
+ +
x z +
y z + +
X z
+
283
Pin 3. Hm dai slgic
Trong trng hp ny mi nguyn nhn nguyn t u l ct yu. H m / c mt dng
tuyn chun tc ti thiu, ng thi cng l dng tuyn chun tc thu gn:
f = x y v x z v y z v X z .
Th d 2. Tim dng tuyn chun tc ti thiu ca h m / c h o trong th d 3, mc 2. Sau
khi nh du + , bng c dng
A'j X2
X 3 X , X3X4
X, ^2
X3 X4
X, ^2
+ + +
X, ^ 2-^3
+ +
^2 X3 X4
+
X3 X4 +
C hai nguyn nhn nguyn t ct yu nm dng 1 v 2. Sau khi rt gn, bng
cn hai dng 3, 4 v mt ct 3. Vic chn s kh cm gin: c th chn mt trong hai
nguyn nhn nguyn t' cn li. V vy ta c hai dng tuyn chun tc ti thiu l
f = X X2 V X X2 X3 V X j X X4 ,
f = X X2 V X X2 V X2 Xy .
Th d 3. Tip tc th d 5, mc 2. Dng tuyn chun tc hon ton ca hm/ l
/ = x y 2 v x y z v x y z v x y z v x y z v x y z .
Ta lp bng
X y z x y 1 x y i X y z X y z x y 2
+ +
X
+ +
z
+ +
y
+
x z
+
X 2
+ +
284
Chng 3. Thut ton tim dng tuyn chun tc ti ihiu
Khng c nguyn nhn no l nguyn nhn nguyn t ct yu. Trng hp ny phi la
chn ton b. C hai h ph hm / vi s' bin t nht, chng tng ng vi hai dng
tuyn chun tc ti thiu:
f = x y V y z x ,
f = x y v y v x z .
H ( X V, X y, y z, y z } ph / khng tha, n ch ta mt dng tuyn chun tc
nghn
/ = x y V X V z -V y
nhng khng phi l ti thiu.
3.4. S ti thiu
Dng tuyn chun tc ca mt hm i s' logic l mt loi biu din n gin, n tng
ng vi mt loi s no thc hin hm cho. Trong ng dng k thut, vn l
vi mt hm i s lgic cho trc, lm th no xy dng mt s thc hin c
hm , vi t yu t' c bn nht. S nh vy c gi l s ti thiu ca hm
ang xt. Ni chung, s ng vi dng tuyn chun tc ti thiu m ta tm trong mc
trc, cha phi l s ti thiu.
Th d. S thc hin hm/ theo dng tuyn chun tc ti thiu
f = x y \ / x z v y z v x y z
cn dng 8 yu t & (hi) v V (tuyn), trong khi s theo biu din
/ = x ( y v z ) V y z \y X Z
tn tt c l 7 yu t' & v V.
Vn d tm s ti ihiii (khng nht thit l dng tuyn chun tc) ca mt hm
i s logic (trong h V, &, -) l mt \'n phc tap. Hin nay cha c mt thut ton
283
Phn 3. Hm di s logic
hu hiu no gii quyt vn ny. Thng thng, ngi ta tm dng tuyn chun
tc ti tiiiu, ri sau dng cc lut phn b rt bt s cc ch bin. Lm nh vy,
tuy cha hn t c mt biu din ti thiu, nhng ni chung, cng thu c mt
biu din cho php xy dng mt s tng i tit kim.
R rng l vn cn tr nn phc tp hn nhiu, nu xt vic biu din trn mt
h y bt k. Ngoi ra, trn thc t, ta thng gp vic xy dng mt s thc
hin ng thi mt h hm i s lgic. C th xy dng ring r s ti thiu cho
tng hm, ri ghp chng li, vi ch l c th li dng nhng phn chung trong
chng. Tuy nhin, cn xt vn ny mt cch cn bn v c h thng hn.
Mt vn na l, trn thc t, ta li hay gp nhng hm i s logic xc nh
khng y (do vic m ho nh phn cc n hiu r rc). Vic chn nhng ci tr
cho hm ti nhng ni khng xc nh, cng lm tng thm cc kh nng c xt.
Tm li, i vi vic tng hp cc s thc hin cc hm i s logic cn rt
nhiu bi ton kh khn v l th. Gio trnh ny ch cp n mt vi kha cnh c
bn nht. Bn c no quan tm, cn tham kho thm cc ti liu khc.
286
Chng 3. Thii ton tm dng tiivn chun lc ti hiu
Bi tp
1. Tim tt c cc nguyn nhn nguyn t ca cc hm di y theo thut ton Qui ne -
McCluskey:
a. ) f ( x, y, z) = x y z V X y z V x y z V X V z
b) f ( x , y , z ) = x z V X V z V .Xy z V X V- V X y z
V, z) = X y z V X z V AVz V A' y r V ,Y_v 2
d ) / U ) , r ) = ( xl >) i z
e)/(x, J, z) = .VI 0^ + z)
f )f {x, y, z) = x o ( y \ z)
g ) f ( x , y , z ) = ( x o j ) I z
h ) / u y, z) = (x + y) o z
2. Tm dng tuyn chun tc thu gn ca cc hm cho trong bi 1.
3. Vit chng trnh tm dng tuyn chun tc thu gn ca mt hm i s lgic /? i
s da trn dng tuyn chun tc hon ton ca n.
D liu vo l file vn bn c dng:
dng u ghi gi tr n (l s i s ca hm)
dng sau ghi gi tr k (l s hi s cp trong dng tuyn chun tc hon ton ca
hm)
k dng tip, mi dng ghi mt hi s cp tng ng di dng mt dy n k t
vit lin nhau, trong k t th m t trng thi ca i th / theo quy c; 0
nu i c du ph nh, 1 nu i khng c du ph nh.
Kt qu ghi ra file vn bn c dng (nu c nhiu dng ti thiu th ch ghi mt):
dng u ghi gi tr m (l s' hi s cp trong dng tuyn chun tc ti thiu ca
hm)
m dng sau, mi dng ghi mt hi s cp tng ng di dng mt dy n k t
vit lin nhau, trong k t th i m t trng thi ca i th / theo quy c: -
nu i khng c mt, 0 nu i c du ph nh, 1 nu i khng c du ph
nh.
Th d: File d liu vo cho hm (th d 3, mc 3)
f{x, y , z ) = X y z V Xy z V x y z V A' J z V X y z \/ x y z .
v file kt qu tcmg ng vi dng tuyn chun tc ti thiu x y \J y z \/ X z c ni
dung:
287
Phn 3. Hm i s'logic
4. H thng cnh bo t ng.
Ngi ta cn thit k mt mch logic iu khin h thng cnh bo t ng trong mt
ngi nh. Trong h thng cnh bo ny ngi ta s dng hai dng b cm bin (sensor);
tch cc v th ng. B cm bin tch cc s pht tn hiu 1 khi mi vic u bnh
thng v tn hiu 0 nu pht hin c s c (ca ra vo hoc ca s b m). B cm bin
th ng s pht tn hiu 0 nu mi vic bnh thng v tn hiu 1 nu pht hin s c
(lm chuyn ng hoc va p vo n). Ngi nh c 4 phng R|, R2, R3, R4. Trong mi
phng Rj c mt b cm bin tch cc pht tn hiu X v mt b cm bin th ng pht
tn hiu y. S ca ngi nh c m t trong hnh 1 (cc on t l cc ca thng
phng hoc ra vo).
Hnh 1
Mch logic iu khin phi pht ra tn hiu 0 khi khng c s c no xy ra v pht tn
hiu 1 kch ci bo ng. Ta cn kch ci bo ng nu xy ra t nht mt trong cc
tnh hung sau y:
Trong phng R| c t nht mt trong hai b cm bin X| hoc pht hin s c;
Trong bt c phng R,, > 1, c hai b cm bin X v y u pht hin s c;
Trong hai phng c ca thng nhau c hai b cm bin pht hin s c.
a) Hy xy dng biu thc cho hm bin b u n n h n gi tr 1
khi v ch khi cn kch ci bo ng.
b) Tim dng tuyn chun tc hon ton ca/;
c) p dng thut ton Quine-McCluskey tm dng tuyn chun tc thu gn ca/.
^88
TOAN Rdl RAC
Ti liu tham kho
1. Hall M. Comh'matonal Theory. Blaisdeil Publishing Company, London, 1967.
2. Kaufman A. Introduction a la combinatorique en vue des applications. Dunod,
Paris, 1968.
3. Aho A.W., Hopcroft J.E., Ultman J.D. The design and analysis o f computer
algorithms. Addison - Wesley Publishing Co., Inc., 1974.
4. Reingold E.M., Nievergelt J., Deo N. Combinatorial Algorithms. Theory and
Practice. Prentice-Hall Inc. Englewood Cliff, New Jersey, 1977.
5. Papadmitriou C.H., Steiglitz K. Combinatorial Optimization. Prentice Hall Inc.,
N. J., 1982.
6. Rubnikov K.A. Introduction in combinatorial analysis. Nauka, Moscow, 1972.
(in Russ.)
7. Sachkov V.N. Combinatorial Methods o f Discrete Mathematics. Nauka,
Moscow, 1977. (in Russ.)
8. Conway R.W., Maxwell W.L., Miller L.W. Theory o f Scheduling. Addison -
Wesley Reading, Mass., 1967.
9. Tanaev V.C., Skurba V.V. Introduction to Scheduling Theory. Nauka, Moscow,
1975. (in Russ.)
10. Kovaliev M.M. Discrete Optimization. Izd.BGU, Minsk, 1977 (in Russ.)
11. Berg C. Theorie des Graphes et ses Applications. Dunod, Paris, 1958.
12. Ore O. Theory o f Graphs. American Mathematical Society, 1962.
13. Ford L.R., Fulkerson D.R. Flows in Networks. Princeton Univ. Press, Princeton,
N.J., 1962.
14. Busacker R.G., Saaty T.L. Finite Graphs and Networks. An Introduction with
Application. McGraw Hill, N.Y., 1965.
15. Harary F. Graph Theory. Addison Wesley Publishing Academic Press, N.Y.,
1973.
289
Ti liu ham kho
16. Christofides N. Graph Theory. An algorithmic approach. Academic Press,
N.Y., 1975.
17. lablonski s . v . Introduction to Discrete Mathematics. Nauka, Moscow, 1979. (in
Russ.).
18. Liu CL . Elements o f Discrete Mathematics. McGraw - Hill Book Company,
1985.
19. Rosen K.H. Discrete Mathematics and its Applications. McGraw - Hill Book
Company, 1991.
20. Johnsonbaugh R. Discrete Mathematics. Prentice Hall Inc., N. J., 1997.
21. Hong Tu. D th hu hn v cc ng dng trong vn tr hc, NXB Khoa hc,
H ni, 1964.
22. Phan nh Diu. L thuyt tniat hu hn v thut ton. NXB HTHCN, H
ni, 1977.
290
NHA XUT RN I HC uc Gin H^ NI
16 Hng Chui - Hai B Trng - H Ni
in thoai: Bin tp -Ch' bn: (04) 39714896:
Hnh chnh: (04) 39714899: Tng Bin tp: (04) 39714897:
Fax: (04) 39714899
Chi u t r c h n h i m x u t bn:
Gi am c: PGS. TS. PHNG Qc BO
Tng bin tp: TS. PHM TH TRM
Bin t p: PHM PH TRIM
Bin tp ti bn: HU PH
H NC
Trinh by ba: VN SNC
i tc lin kt x u t hn:
H N(

You might also like