Professional Documents
Culture Documents
----------
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:
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
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(