You are on page 1of 119

HC VIN CNG NGH BU CHNH VIN THNG

--------------------

KHOA CNG NGH THNG TIN 1

IT

BI GING

PT

TON RI RC 1

H Ni 2013

LI GII THIU
Ton ri rc l lnh vc nghin cu v x l cc i tng ri rc. Ton ri rc
dng m, quan st, v x l mi quan h gia cc i tng trong cc tp hp khc
nhau. Bn cht tnh ton trn my tnh l ri rc. Chnh v vy, ton hc ri rc c xem
l mn hc kinh in cho sinh vin cc ngnh Cng ngh thng tin v in t Vin
thng. Ti liu hng dn mn hc ton hc ri rc c xy dng da trn c s kinh
nghim ging dy mn hc v k tha nhng ni dung t gio trnh Ton hc ri rc
ng dng trong tin hc ca Kenneth Rossen. Ti liu c trnh by thnh hai phn: L
thuyt t hp (Ton ri rc 1) v L thuyt th (Ton ri rc 2).

IT

Phn I trnh by nhng kin thc c bn v l thuyt t hp thng qua vic gii
quyt bn bi ton c bn l: Bi ton m, Bi ton tn ti, Bi ton lit k v Bi
ton ti u. Phn II trnh by nhng kin thc c bn v L thuyt th: khi nim, nh
ngha, cc thut ton trn th, th Euler, th Hamilton. Mt s bi ton c ng
dng thc tin quan trng khc ca l thuyt th cng c ch trng gii quyt l
Bi ton t mu th, Bi ton tm ng i ngn nht v Bi ton lung cc i trong
mng.

PT

Trong mi phn ca ti liu, chng ti c gng trnh by ngn gn trc tip vo


bn cht ca vn . Cc thut ton c trnh by v ci bng ngn ng lp trnh C++.
Mc d rt cn trng trong qu trnh bin son, tuy nhin ti liu khng trnh khi
nhng thiu st v hn ch. Chng ti rt mong c s gp qu bu ca tt c c gi
v cc bn ng nghip.

H ni, thng 10 nm 2013

MC LC

CHNG 1. LOGIC, TP HP V NG DNG............................................ 5

IT

1.1. Gii thiu chung ................................................................................................... 5


1.2. Nhng kin thc c bn v Logic mnh ........................................................... 6
1.2.1. nh ngha & php ton ................................................................................ 6
1.2.2. S tng ng gia cc mnh ................................................................. 7
1.2.3. Dng chun tc............................................................................................... 9
1.3. V t v lng t................................................................................................. 10
1.4. Mt s ng dng trn my tnh ........................................................................... 12
1.5. Nhng kin thc c bn v l thuyt tp hp ...................................................... 15
1.5.1. Khi nim & nh ngha ............................................................................... 15
1.5.2. Cc php ton trn tp hp ........................................................................... 16
1.5.3. Cc hng ng thc trn tp hp .................................................................. 17
1.6. Biu din tp hp trn my tnh .......................................................................... 18
1.7. Nhng ni dung cn ghi nh ............................................................................... 19

BI TP CHNG 1...................................................................................... 19
CHNG 2. BI TON M........................................................................ 21

PT

2.1. Nhng nguyn l m c bn.............................................................................. 21


2.1.1. Nguyn l cng ............................................................................................ 21
2.1.2. Nguyn l nhn ............................................................................................ 22
2.2. Nguyn l b tr ................................................................................................. 24
2.3. m cc hon v v t hp.................................................................................. 27
2.3.1. Chnh hp lp............................................................................................... 27
2.3.2. Chnh hp khng lp .................................................................................... 27
2.3.3. Hon v ........................................................................................................ 28
2.3.4. T hp.......................................................................................................... 28
2.3.5. T hp lp.................................................................................................... 30
2.4. H thc truy hi .................................................................................................. 31
2.4.1. nh ngha v v d ...................................................................................... 31
2.4.2. Gii cng thc truy hi tuyn tnh thun nht vi h s hng s ................... 34
2.5. Qui v cc bi ton n gin ............................................................................... 38
2.6. Phng php lit k ............................................................................................ 40

BI TP CHNG 2...................................................................................... 43
CHNG 3. BI TON LIT K.................................................................. 45
3.1- Gii thiu bi ton .............................................................................................. 45
3.2. Thut ton v phc tp tnh ton .................................................................... 46
3.2.1. V d v nh ngha ..................................................................................... 46

3.2.2. Phng php biu din thut ton: ............................................................... 46


3.2.3. phc tp tnh ton ................................................................................... 48
3.2.4. Qui tc xc nh phc tp thut ton........................................................ 51
3.3. Phng php sinh ............................................................................................... 52
3.4. Thut ton quay lui (Back track) ........................................................................ 63
3.5. Nhng ni dung cn ghi nh ............................................................................... 69

BI TP CHNG 3...................................................................................... 70
CHNG 4. BI TON TI U ................................................................... 73

IT

4.1. Gii thiu bi ton .............................................................................................. 73


4.2. Phng php duyt ton b................................................................................. 76
4.3. Thut ton nhnh cn .......................................................................................... 79
4.4. K thut rt gn gii quyt bi ton ngi du lch............................................... 90
4.4.1.Th tc rt gn.............................................................................................. 91
4.4.2.Th tc chn cnh phn nhnh (r,c)............................................................... 94
4.4.3.Thut ton nhnh cn gii bi ton ngi du lch........................................... 99
4.5. Nhng im cn ghi nh ................................................................................... 100

BI TP CHNG 4.................................................................................... 100


CHNG 5. BI TON TN TI ............................................................... 103

PT

4.1. Gii thiu bi ton ............................................................................................ 103


5.2. Phng php phn chng.................................................................................. 106
5.3 Nguyn l Dirichlet............................................................................................ 107
5.4. Nhng ni dung cn ghi nh ............................................................................. 108

BI TP......................................................................................................... 109

CHNG 1. LOGIC, TP HP V NG DNG

Ni dung chnh ca chng ny cp n nhng kin thc c bn v logic mnh ,


l thuyt tp hp v ng dng. Ni dung chnh ca chng bao gm:
Logic mnh v ng dng.
Logic v t v ng dng.
L thuyt tp hp v ng dng.
Mt s ng dng ca logic v tp hp trong tin hc.
Bi tp chng 1.

1.1. Gii thiu chung

IT

Bn c c th tm thy nhng kin thc su hn v chi tit hn trong cc ti liu [1]


v [2] ca ti liu tham kho.

PT

T hp l mt lnh vc quan trng ca ton hc ri rc cp ti nhiu vn


khc nhau ca ton hc. L thuyt T hp nghin cu vic phn b cc phn t vo cc
tp hp. Thng thng cc phn t ca tp hp l hu hn v vic phn b chng phi
tho mn nhng iu kin nht nh no tu theo yu cu ca bi ton. Mi cch phn
b c coi l mt cu hnh ca t hp. Cc cu hnh t hp c xem xt nh mt li
gii ca bi ton m, bi ton lit k, bi ton tn ti hay bi ton ti u.
Bi ton m: y l dng bi ton nhm tr li cu hi c bao nhiu cu hnh
tho mn iu kin nu?. Bi ton m c p dng c hiu qu vo nhng cng
vic mang tnh cht nh gi nh xc sut xy ra ca mt s kin, thi gian tnh ton hay
phc tp ca mt chng trnh my tnh.
Bi ton lit k: bi ton lit k quan tm n tt c cc cu hnh c th c c,
v vy li gii ca n c biu din di dng thut ton vt cn tt c cc cu hnh.
Bi ton lit k thng c lm nn cho nhiu bi ton khc. Hin nay, mt s bi ton
tn ti, bi ton ti u, bi ton m vn cha c cch no gii quyt ngoi phng php
lit k. Phng php lit k cng tr nn quan trng hn khi n c h tr bi cc h
thng my tnh.
Bi ton ti u: khc vi bi ton lit k, bi ton ti u ch quan tm ti cu
hnh tt nht theo mt ngha no . y l mt bi ton c nhiu ng dng thc tin
c gii quyt bng l thuyt t hp.
Bi ton tn ti: nu nh bi ton m thc hin m bao nhiu cu hnh c th
c, bi ton lit k xem xt tt c cc cu hnh c th c, bi ton ti u ch ra mt cu
hnh tt nht. Bi ton tn ti hng n gii quyt nhng vn cn nghi vn. iu ny
5

c ngha l ngay k c vn c hay khng mt cu hnh cng cha bit. Nhng bi ton
ny thng l nhng bi ton kh. Do vy my tnh c xem l cng c hu hiu nht
gii quyt bi ton tn ti.

1.2. Nhng kin thc c bn v Logic mnh


Cc qui tc c bn ca Logic cho ta ngha chnh xc ca cc mnh . Nhng
qui tc ca logic chnh l cng c c s chng ta c th xy dng nn cc ngn ng
lp trnh, cc bng mch my tnh, kim chng tnh ng n ca chng trnh v nhiu
ng dng quan trng khc.

1.2.1. nh ngha & php ton


i tng nghin cu ca logic l cc mnh . Mt mnh c hiu l mt
cu khng nh hoc ng hoc sai ch khng th va ng va sai.
V d: Nhng cu khng nh sau y l mt mnh :
1+1 =2
2+2=3

IT

H ni l th ca Vit nam.

PT

Cc mnh H ni l th ca vit nam, 1 +1 =2 l nhng mnh


ng, mnh 2 +2 =3 l sai. Nhng nhng cu trong v d sau s khng phi l mt
mnh v n nhng cu khng cho ta khng nh ng cng chng cho ta khng nh
sai.
By gi l my gi ?

Hy suy ngh iu ny cho k lng


x +1 =2

x+y=z

Ta k hiu nhng ch ci A, B, C, D, p, q, r, s . . . l nhng mnh . Gi tr ca


mt mnh ng c k hiu l T, gi tr mnh sai c k hiu l F. Tp gi tr T,
F cn c gi l gi tr chn l ca mt mnh .
nh ngha 1. Cho p l mt mnh . Php ph nh mnh p cng l mt mnh
(k hiu l p hoc p). Mnh p c gi tr F khi v ch khi mnh p nhn gi tr T,
nhn gi tr F khi v ch khi p nhn gi tr T.
nh ngha 2. Cho p v q l hai mnh . Php hi gia mnh p vi mnh q l mt
mnh (k hiu p q ). Mnh p q c gi tr T khi v ch khi p, q nhn gi tr T, c
gi tr F khi v ch khi hoc p, q, hoc c hai nhn gi tr F.

nh ngha 3. Cho p v q l hai mnh . Php tuyn gia mnh p vi mnh q l


mt mnh (k hiu p p). Mnh p p c gi tr T khi v ch khi t nht mt trong
hai mnh p, q nhn gi tr T, c gi tr F khi v ch khi c p, q u nhn gi tr F.
nh ngha 4. Cho p v q l hai mnh . Php tuyn loi gia mnh p vi mnh q
(c k hiu l pq) l mt mnh . Mnh pq ch ng khi mt trong p hoc q
ng v sai trong cc trng hp khc cn li.
nh ngha 5. Cho p v q l hai mnh . Php ko theo gia mnh p vi mnh q
(k hiu p q) l mt mnh . Mnh p q nhn gi T khi v ch khi p v q nhn
gi tr F hoc p v q cng nhn gi tr T. Mnh pq nhn gi tr F khi v ch khi p
nhn gi tr T v q nhn gi tr F.
nh ngha 6. Cho p v q l hai mnh . Php tng ng gia mnh p vi mnh
q l mt mnh (k hiu p q). Mnh p q c gi tr ng khi p v q c cng
gi tr chn l v sai trong cc trng hp khc cn li.
, , , c th c nh ngha thng qua bng gi tr

IT

Cc php ton : , ,
chn l sau:

Bng 1.1: Bng gi tr chn l ca cc php ton , , , , ,


p

pq

pq

p q

pq

pq

PT

1.2.2. S tng ng gia cc mnh

Mt vn ht sc quan trng trong lp lun ton hc l vic thay th mt mnh


bng mt mnh khc c cng gi tr chn l. Hai mnh c cng mt gi tr chn
l chng ta c th hiu theo cch thng thng l chng tng ng nhau v ng ngha.
Do vy, ta s tip cn v phn loi cc mnh phc hp thng qua cc gi tr chn l
ca chng.
nh ngha 7. Mt mnh phc hp lun lun ng vi bt k cc gi tr chn l ca
cc mnh thnh phn c gi l hng ng (tautology). Mt mnh lun lun sai
vi mi gi tr chn l ca cc mnh thnh phn c gi l mu thun.
V d: mnh phc hp p p l hng ng, p p l mu thun v gi tr chn l ca
cc mnh trn lun lun ng, hoc lun lun sai nh c ch ra trong bng 1.2.

Bng 1.2. V d v mnh hng ng & mnh mu thun


p

pp

p p

nh ngha 8. Hai mnh p, q c gi l tng ng logic vi nhau (k hiu : pq,


hoc p q , hoc p=q) khi v ch khi cc ct cho gi tr chn l ca chng ging nhau.
Hay mnh pq l hng ng.
V d 1. Hai mnh p q v p q l tng ng logic v cc ct gi tr chn l
ca chng c th hin qua bng sau:
Bng 1.3. Bng gi tr chn l i vi p q v p q
pq

p q

IT

PT

pq

Dng bng gi tr chn l chng minh tnh tng ng logic gia hai mnh
phc hp cho ta mt phng php trc quan d hiu. Tuy nhin, vi nhng mnh
logic phc hp c k mnh thnh phn th cn ti 2k t hp cc b gi tr chn l khc
nhau. Do , dng bng chn l chng minh tnh tng ng logic gia hai mnh
phc hp gp nhiu kh khn. Trong trng hp ny ta c th chng minh tnh tng
logic bng vic thay th mt mnh phc hp bng nhng tng ng logic c trc.
Bng phng php bng chn l, d dng chng minh c s tng ng ca
cc cng thc di y:
p q p q
pq (pq)(qp)

Bng 1.4. Bng cc tng ng logic


TNG NG
TN GI
Lut ng nht

pTp

pFp
Lut nut

pTT
pFF

Lut lu ng

ppp
ppp

Lut ph nh kp

p p

Lut giao hon

pqqp
pqqp

Lut kt hp

(p q) r p ( q r)
(p q) r p ( q r)

Lut phn phi

IT

p ( q r) (p q ) (p r)
p ( q r) (p q) (p r)

p q

pq

p q

pq

Lut De Morgan

PT

V d: Chng minh p p q p q ?
Chng minh:

p pq p pq

p p q

theo lut De Morgan th 2

p p p q
F p q
p q F
p q
p pq

theo lut De Morgan th 2


theo lut ph nh kp
theo lut phn phi
tng ng tin ch
iu cn chng minh.

1.2.3. Dng chun tc


Cc cng thc (mnh ) tng ng c xem nh cc biu din khc nhau ca
cng mt mnh . d dng vit cc chng trnh my tnh thao tc trn cc cng
thc, chng ta cn chun ha cc cng thc, a chng v dng biu din chun c
gi l dng chun hi. Mt cng thc c gi l dng chun hi nu n l hi ca cc
9

mnh tuyn. Phng php bin i mt cng thc bt k v dng chun hi bng
cch p dng cc th tc sau:

B cc php ko theo () bng cch thay (pq) bi p q .

Chuyn cc php ph nh ( ) vo st cc k hiu mnh bng cch p


dng lut De Morgan v thay p bi p.

p dng lut phn phi thay cc cng thc c dng (p(qr)) bi


(pq)(pr).

V d. Ta chun ha cng thc

p q r s .

Li gii.

p q r s p q r s


p q r s
p q r p q s
p q r s c a v

Nh vy cng thc

dng chun hi l

PT

p q r p q s .

IT

pq r s

1.3. V t v lng t

Trong ton hc hay trong cc chng trnh my tnh chng ta rt hay gp nhng
khng nh cha phi l mt mnh . Nhng khng nh u c lin quan n cc
bin. Chng hn khng inh:
P(x) = x > 3 khng phi l mt mnh nhng ti nhng gi tr c th ca x=x0
no th P(x0) li l mt mnh . Hoc trong nhng on chng trnh gp cu lnh:
if ( x > 3 ) then x:= x +1;
th chng trnh s t gi tr c th ca bin x vo P(x), nu mnh P(x) cho gi
tr ng x s c tng ln 1 bi cu lnh x:=x+1, P(x) c gi tr sai gi tr ca x c
gi nguyn sau khi thc hin cu lnh if.
Chng ta c th phn tch mi khng nh thnh hai phn ch ng v v ng (hay
v t), trong cu x ln hn 3 th x l ch ng, ln hn 3 l v ng. Hm P(x) c
gi l hm mnh . Mt hm mnh c th c mt hoc nhiu bin. Gi tr chn l
ca hm mnh ti nhng gi tr c th ca bin c xc nh nh nhng mnh
thng thng.
V d. Cho Q(x, y, z) l hm mnh xc nh cu x2 = y2 +z2 hy xc nh gi tr
chn l ca cc mnh Q (3, 2, 1), Q ( 5, 4, 3)?
10

Li gii.
t gi tr c th ca x , y , z vo Q(x,y,z) ta c :
Q(3,2,1) l mnh 32 = 22 + 12 l sai do Q(3,2,1) l mnh sai. Trong ,
Q (5, 4, 3) l mnh 52 = 42 + 32 l mnh ng.
Tng qut, gi s M l mt tp hp cc phn t no . M thng c gi l
trng hay min xc nh ca cc phn t thuc M. Khi , biu thc P(x) gi l v t
xc nh trn trng M nu khi thay x bi mt phn t bt k ca trng M th P(x) s tr
thnh mt mnh trn trng M.
Khi tt c cc bin ca hm mnh u c gn nhng gi tr c th, th mnh
to ra s xc nh gi tr chn l. Tuy nhin, c mt phng php quan trng khc
bin mt hm mnh thnh mt mnh m khng cn phi kim chng mi gi tr
chn l ca hm mnh tng ng vi cc gi tr ca bin thuc trng ang xt.
Phng php gi l s lng ho hay lng t. Chng ta xt hai lng t quan trng
l lng t vi mi (k hiu :), lng t tn ti (k hiu : ).

IT

nh ngha 1. Lng t vi mi ca P(x) k hiu l x P(x) l mt mnh P(x) ng


vi mi phn t x thuc trng ang xt.
V d. Cho hm mnh P(x) = x2 + x + 41 l nguyn t. Xc nh gi tr chn
l ca mnh P(x) vi x thuc khng gian bao gm cc s t nhin [0..39].

PT

Li gii. V P(x) ng vi mi gi tr ca x [0..39] P(x) l ng.


V d : Cho P(x) l hm mnh x + 1 > x. Xc nh gi tr chn l ca mnh
x P(x), trong khng gian cc s thc.
Li gii : V P(x) ng vi mi s thc x nn x P(x) l ng.
nh ngha 2. Lng t tn ti ca hm mnh P(x) (c k hiu l: x P(x) )
l mt mnh Tn ti mt phn t x trong khng gian sao cho P(x) l ng .
V d: Cho P(x) l hm mnh x > 3. Hy tm gi tr chn l ca mnh x
P(x) trong khng gian cc s thc.
Li gii: V P(4) l 4 > 3 ng nn x P(x) l ng.
V d: Cho Q(x) l x + 1 > x. Hy tm gi tr chn l ca mnh x Q(x)
trong khng gian cc s thc.
Li gii: v Q(x) sai vi mi x R nn mnh x Q(x) l sai.
Bng 1.5: Gi tr chn l ca lng t ,
x P(x)

P(x) ng vi mi x

C mt gi tr ca x P(x) sai

x P(x)

C mt gi tr ca x P(x) ng

P(x) sai vi mi x

11

Dch nhng cu thng thng thnh biu thc logic: Dch mt cu c pht biu
bng ngn ng t nhin (cu hi thng thng) thnh mt biu thc logic c vai tr ht
sc quan trng trong xy dng cc ngn ng lp trnh, chng trnh dch v x l ngn
ng t nhin. Qu trnh dch mt cu t ngn ng t nhin thnh mt biu thc s lm
mt i tnh t nhin ca ngn ng v a s cc ngn ng u khng r rng, nhng mt
biu thc logic li rt r rng cht ch t c php th hin n ng ngha ca cu. iu
ny dn n phi c mt tp hp cc gi thit hp l da trn mt hm xc nh ng
ngha cu cu . Mt khi cu c chuyn dch thnh biu thc logic, chng ta c
th xc nh c gi tr chn l ca biu thc logic, thao tc trn biu thc logic, bin
i tng ng trn biu thc logic. Chng ta s minh ho vic dch mt cu thng
thng thnh biu thc logic thng qua nhng sau.
V d dch cu Bn khng c li xe my nu bn cao di 1.5 mt tr phi bn
trn 18 tui thnh biu thc logic.
Li gii.
: Bn c li xe my.

q l cu

: Bn cao di 1.5m.

r l cu

: Bn trn 18 tui.

IT

Ta gi p l cu

Khi : Cu hi trn c dch l: (q r ) p

PT

V d: Dch cu Tt c cc sinh vin hc tin hc u hc mn ton hc ri rc


Li gii: Gi P(x) l cu x cn hc mn ton hc ri rc v x c xc nh
trong khng gian ca cc sinh vin hc tin hc. Khi chng ta c th pht biu:x P(x).
V d: Dch cu C mt sinh vin lp ny t nht tt c cc phng ca t
nht mt nh trong k tc x.
Li gii : Gi tp sinh vin trong lp l khng gian xc nh sinh vin x, tp cc
nh trong k tc x l khng gian xc nh cn nh y, tp cc phng l khng gian xc
nh phng z. Ta gi P(z,y) l z thuc y, Q(x,z) l x z. Khi ta c th pht
biu :
x y z (P(z,y) Q(x,z));

1.4. Mt s ng dng trn my tnh


Cc php ton bt: Cc h thng my tnh thng dng cc bit (binary digit)
biu din thng tin. Mt bt c hai gi tr chn l hoc 0 hoc 1. V gi tr chn l ca mt
biu thc logic cng c hai gi tr hoc ng (T) hoc sai (F). Nu ta coi gi tr ng c
gi tr 1 v gi tr sai l 0 th cc php ton vi cc bt trong my tnh c tng ng vi
cc lin t logic.

12

Mt xu bt (hoc xu nh phn) l dy khng hoc nhiu bt. Chiu di ca xu l


s cc bt trong xu . V d xu nh 101010011 c di l 9. Mt s nguyn uc
biu din nh mt xu nh phn c di 16 bt.
Cc php ton vi bt c xy dng trn cc xu bt c cng di, bao gm :
AND bt (php v cp bt), OR (php hoc cp bt), XOR (php tuyn loi tr cp bt). V
d: cho hai xu bt 01101 10110 v 11000 11101 hy tm xu AND bt, OR bt, XOR bt.
Bng 1.5. Cc php ton cp bt ng dng trong ngn ng LT
Gi tr ca A Gi tr ca B

A and B

A or B

A xor B

A = 13 =1100 B = 8=1000

1000

1101

0101

Thut ton cc php tnh s nguyn: Cc thut ton thc hin cc php tnh vi cc s
nguyn khi dng khai trin nh phn l ht sc quan trng trong b x l s hc ca my
tnh. Nh chng ta bit, thc cht cc s nguyn c biu din trong my tnh l cc
xu bt nh phn, do vy chng ta c th s dng biu din nh phn ca cc s thc
hin cc php tnh.

IT

Gi s khai trin nh phn ca cc s nguyn a v b tng ng l:


a = (an-1an-2 . . .a1a0)2 , b = (bn-1bn-2 . . .b1b0)2 . Khai trin ca a v b c ng n bt (
chp nhn nhng bt 0 u lm c n bt).

PT

Xt bi ton cng hai s nguyn vit dng nh phn. Th tc thc hin vic cng cng
ging nh lm trn giy thng thng. Phng php ny tin hnh bng cch cng cc
bt nh phn tng ng c nh tnh tng hai s nguyn. Sau y l m t chi tit cho
qu trnh cng hai xu bt nh phn.
cng a vi b, trc ht ta cng hai bt phi nht, ngha l:
a0 + b0 = c0*2 + s0; trong s0 l bt phi nht ca s nguyn tng a + b, c0 l s
cn nh n c th bng 0 hoc 1. Sau ta cng hai bt tip theo v s nh:
a1 + b1 + c0 = c1*2 + s1; s1 l bt tip theo ca s a + b, c1 l s nh. Tip tc qu
trnh ny bng cch cng cc bt tng ng trong khai trin nh phn v s nh, giai
on cui cng : an-1 + bn-1 + cn-2 = cn-1 * 2 + sn-1. Bt cui cng ca tng l cn-1. Khi
khai trin nh phn ca tng a + b l (snan-1 . . .s1s0)2.
V d: cng a =(1110)2, b = (1011)2
Li gii:
Trc ht ly:
a0 + b0 = 0 + 1 = 0 * 2 + 1 c0=0, s0 = 1
Tip tc:
a1 + b1 + c0 = 1 + 1 + 0 = 1 * 2 + 0 c1=1, s1 = 0
a2 + b2 + c1 = 1 + 0 + 1 = 1 * 2 + 0 c2=1, s2 = 0
13

a3 + b3 + c2 = 1 + 1 + 1 = 1 * 2 + 1 c3=1, s3 = 1
Cui cng:

IT

s4 = c3 = 1 a + b = (11001)2
Thut ton cng:
void Cong(a , b: positive integer)
{
/*a = (an-1an-2 . . .a1a0)2 , b = (bn-1bn-2 . . .b1b0)2 */
c=0;
for (j=0 ; j n-1; j++) {
d= [( aj + bj + c)/ 2];
sj = aj + bj + c 2d;
c = d;
}
sn = c;
khai trin nh phn ca tng l (snan-1 . . .s1s0)2;
}
Thut ton nhn: nhn hai s nguyn n bt a, b ta bt u t vic phn tch:
a = (an-1an-2. . .a1a0), b = (bn-1bn-2. . .b1b0)

PT

Ta c th tnh a.b t phng trnh trn. Trc ht, ta nhn thy abj = a nu bj=1,
abj=0 nu bj=0. Mi ln tnh ta nhn vi 2 j hay dch chuyn sang tri j bt 0 bng cch
thm j bt 0 vo bn tri kt qu nhn c. Cui cng, cng n s nguyn abj 2j (j=0..n-1)
ta nhn c a.b. V d sau y s minh ho cho thut ton nhn:
V d: Tm tch ca a = (110)2, b= (101)2
Gii: Ta nhn thy

ab020 = (110)2*1*20 = (110)2

ab121 = (110)2*0*21 = (0000)2

ab222 = (110)2*1*22 = (11000)2

S dng thut ton tnh tng hai s nguyn a, b c biu din n bt ta nhn c(ta c th
thm s 0 vo u mi ton hng):
(0 110)2 + (0000)2 = (0110)2 ;
(0 0110)2 + (11000)2 = (11110)2 = ab.
Thut ton nhn hai s nguyn n bt c th c m phng nh sau:
void Nhan( a, b : Positive integer){
/* khai trin nh phn tng ng ca a = (an-1an-2. . .a1a0),
b = (bn-1bn-2. . .b1b0) */
for (j=0; j n-1; j++) {
if ( ( bj==1)
14

else

cj = a * 2j; /* a c dch tri j bt 0 */


cj =0;

}
/*c0, c1.., cn-1 l nhng tch ring ca abj 2j(j=0..n-1 */
p=0;
for ( j=0 ; j n-1; j++)
p= p + cj;
/* p l gi tr ca tch ab */
}

1.5. Nhng kin thc c bn v l thuyt tp hp


1.5.1. Khi nim & nh ngha

IT

Cc tp hp dng nhm cc i tng li vi nhau. Thng thng, cc i


tng trong tp hp c cc tnh cht tng t nhau. V d, tt c sinh vin mi nhp
trng to nn mt tp hp, tt c sinh vin thuc khoa Cng ngh thng tin l mt tp
hp, cc s t nhin, cc s thc cng to nn cc tp hp. Ch rng, thut ng i
tng c dng y khng ch r c th mt i tng no, s m t mt tp hp no
hon ton mang tnh trc gic v cc i tng.

PT

nh ngha 1. Tp cc i tng trong mt tp hp c gi l cc phn t ca tp hp.


Cc tp hp thng c k hiu bi nhng ch ci in hoa m nh A, B, X, Y . . ., cc
phn t thuc tp hp hay c k hiu bi cc ch ci in thng nh a, b, c, u, v . . .
ch a l phn t ca tp hp A ta vit a A, tri li nu a khng thuc A ta vit a A.
Tp hp khng cha bt k mt phn t no c gi l tp rng (k hiu l
hoc { }). Tp hp A c gi l bng tp hp B khi v ch khi chng c cng chung cc
phn t v c k hiu l A=B. V d tp A={ 1, 3, 5 } s bng tp B = { 3, 5, 1 }.
nh ngha 2. Tp A c gi l mt tp con ca tp hp B v k hiu l AB khi v
ch khi mi phn t ca A l mt phn t ca B. Hay A B khi v ch khi lng t
x (x A x B) cho ta gi tr ng.
T nh ngha trn chng ta rt ra mt s h qu sau:
Tp rng l tp con ca mi tp hp.
Mi tp hp l tp con ca chnh n.
Nu A B v B A th A=B hay mnh :
x (x A xB ) x (xB x A) cho ta gi tr ng.
Nu A B v AB th ta ni A l tp con thc s ca B v k hiu l AB.

15

nh ngha 3. Cho S l mt tp hp. Nu S c chnh xc n phn t phn bit trong S, vi


n l s nguyn khng m th ta ni S l mt tp hu hn v n c gi l bn s ca S.
Bn s ca S c k hiu l |S | hay N(S).
nh ngha 4. Cho tp hp S. Tp lu tha ca S k hiu l P(S) l tp tt c cc tp con
ca S.
V d S = { 0, 1, 2 } P(S) ={ , {0}, {1}, {2}, {0,1}, {0, 2}, {1, 2} {0, 1, 2}}.
nh ngha 5. Dy sp th t (a1, a2,.., an) l mt tp hp sp th t c a1 l phn t th
nht, a2 l phn t th 2, .., an l phn t th n. Chng ta ni hai dy sp th t l bng
nhau khi v ch khi cc phn t tng ng ca chng l bng nhau. Ni cch khc (a1,
a2,.., an) bng (b1, b2,.., bn) khi v ch khi ai = bi vi mi i =1, 2, ..n.
nh ngha 6. Cho A v B l hai tp hp. Tch cc ca A v B c k hiu l AB,
l tp hp ca tt c cc cp (a,b) vi aA, b B. Hay c th biu din bng biu thc:
A B = { (a, b) | a A, b B }

IT

nh ngha 7. Tch cc ca cc tp A1, A2, . ., An c k hiu l A1A2..An l tp


hp ca dy sp th t (a1, a2,.., an) trong aiAi vi i = 1, 2,..n. Ni cch khc:
A1A2..An = { (a1, a2,.., an) | aiAi vi i = 1, 2,..n }

1.5.2. Cc php ton trn tp hp

PT

Cc tp hp c th c t hp vi nhau theo nhiu cch khc nhau thng qua cc


php ton trn tp hp. Cc php ton trn tp hp bao gm: Php hp (Union), php
giao (Intersection), php tr (Minus).
nh ngha 1. Cho A v B l hai tp hp. Hp ca A v B c k hiu l AB, l tp
cha tt c cc phn t hoc thuc tp hp A hoc thuc tp hp B. Ni cch khc:
AB = { x | x A x B }

nh ngha 2. Cho A v B l hai tp hp. Giao ca A v B c k hiu l AB, l tp


cha tt c cc phn t thuc A v thuc B. Ni cch khc:
AB = { x | x A x B }
nh ngha 3. Hai tp hp A v B c gi l ri nhau nu giao ca chng l tp rng
(AB = ).
nh ngha 4. Cho A v B l hai tp hp. Hiu ca A v B l tp hp uc k hiu l AB, c cc phn t thuc tp hp A nhng khng thuc tp hp B. Hiu ca A v B cn
c gi l phn b ca B i vi A. Ni cch khc:
A B = { x | x A x B }
nh ngha 5. Cho tp hp A. Ta gi A l phn b ca A l mt tp hp bao gm nhng
phn t khng thuc A.

16

A x | x A
nh ngha 6. Cho cc tp hp A1, A2, . ., An. Hp ca cc tp hp l tp hp cha tt c
cc phn t thuc t nht mt trong s cc tp hp Ai ( i=1, 2, . ., n). K hiu:
n
n
1
2
i 1

nh ngha 7: Cho cc tp hp A1, A2, . ., An. Giao ca cc tp hp l tp hp cha cc


phn t thuc tt c n tp hp Ai ( i=1, 2, . ., n).
n
Ai A1 A 2 .. A n
i 1

1.5.3. Cc hng ng thc trn tp hp

IT

Mi tp con ca tp hp tng ng vi mt tnh cht xc nh trn tp hp cho c


gi l mnh . Vi tng ng ny, cc php ton trn tp hp c chuyn sang cc
php ton ca logic mnh :
Ph nh ca A, k hiu A (hay NOT A) tng ng vi phn b A .
Tuyn ca A v B, k hiu A B (hay A or B) tng ng vi A B.

PT

Hi ca A v B, k hiu A B (hay A and B) tng ng vi A B.


Cc mnh cng vi cc php ton trn n lp thnh mt i s mnh (hay i s
logic). Nh th, i s tp hp v i s logic l hai i s ng cu vi nhau (nhng
mnh pht biu trn i s logic tng ng vi mnh pht biu trn i s tp
hp). Vi nhng trng hp c th, tu theo tnh hung, mt bi ton c th c pht
biu bng ngn ng ca i s logic hay ngn ng ca i s tp hp. Bng 1.6 th hin
mt s hng ng thc ca i s tp hp.
Bng 1.6. Mt s hng ng thc trn tp hp
HNG NG THC
A=A

TN GI
Lut ng nht

A U = A (U l tp v tr)
AU=U

Lut nut

A=A
AA = A

Lut lu ng

AA=A

17

A =A

Lut b

AB=BA

Lut giao hon

AB=BA
Lut kt hp

A (B C) = (A B)C
A (B C) = (AB) C
A (B C) = (A B) (A C )

Lut phn phi

A (B C) = (A B) (A C)
Lut De Morgan

AB A B
AB A B

1.6. Biu din tp hp trn my tnh

PT

IT

C nhiu cch khc nhau biu din tp hp trn my tnh, phng php ph
bin l lu tr cc phn t ca tp hp khng sp th t. Vi vic lu tr bng phng
php ny, ngoi nhng lng ph b nh khng cn thit, th qu trnh tnh hp, giao, hiu
cc tp hp gp nhiu kh khn v mt nhiu thi gian v mi php tnh i hi nhiu
thao tc tm kim trn cc phn t. Mt phng php lu tr cc phn t bng cch
biu din c th t ca cc phn t ca mt tp v tr t ra hiu qu hn rt nhiu trong
qu trnh tnh ton.
Gi s tp v tr U l hu hn gm n phn t(hu hn c hiu theo ngha cc
phn t ca U lu tr c trong b nh my tnh). Gi s ta mun biu din tp hp
A U. Trc ht ta chn mt th t tu no i vi cc phn t ca tp v tr U,
gi s ta c b c th t a1,a2, . ., an. Sau xy dng mt xu bt nh phn c di n,
sao cho nu bt th i c gi tr 1 th phn t aiA, nu ai =0 th aiA (i=1,2..,n). V d sau
s minh ho k thut biu din tp hp bng xu bt nh phn.
V d. Gi s U = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }. Hy biu din tp hp A U l
1- Tp cc s nguyn l A U.
2- Tp cc s nguyn chn BU.
3- Tp cc s nguyn nh hn 5 C U.
4- Tm A B
5- Tm AC . . .
Li gii. Trc ht ta coi th t cc phn t c sp xp theo th t tng dn tc
ai=i (i=1,2,..,10). Khi :

18

1. Xu bt biu din cc s l trong U ( {1, 3, 5, 7, 9 } ) l xu c di n = 10


trong cc bt v tr th 1, 3, 5, 7, 9 c gi tr l 1, cc bt cn li c gi tr l 0. T
ta c xu bt biu din tp hp A l: 1 0 1 0 1 0 1 0 1 0.
2. Xu bt biu din cc s chn trong U ( {2, 4, 6, 8, 10 } ) l xu c di n =
10 trong cc bt v tr th 2, 4, 6, 8, 10 c gi tr l 1, cc bt cn li c gi tr l
0. T ta c xu bt biu din tp hp B l: 0 1 0 1 0 1 0 1 0 1.
3. Xu bt biu din cc s nh hn 5 trong U ( {1, 2, 3, 4 } ) l xu c di n =
10 trong cc bt v tr th 1, 2, 3, 4 c gi tr l 1, cc bt cn li c gi tr l 0. T
ta c xu bt biu din tp hp C l: 1 1 1 1 0 0 0 0 0 0.
4. Xu bt biu din tp hp A B l : (1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1) l
xu 1 1 1 1 1 1 1 1 1 1. Nh vy, A B = U.
5. Tng t nh vy vi A C (1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0) l
xu 1 0 1 0 0 0 0 0 0 0. Nh vy A C = { 1, 3 }

IT

1.7. Nhng ni dung cn ghi nh


Cn hiu v nm vng c nhng ni dung sau:

Cc php ton hi, tuyn, tuyn loi, suy ra, ko theo ca logic mnh .

PT

Cc phng php chng minh nh l dng bng chn l v cc tng ng


locgic.
Phng php biu din cc cu hi thng thng bng logic v t.
nh ngha v cc php ton trn tp hp.

Phng php biu din tp hp trn my tnh

BI TP CHNG 1

1. Lp bng gi tr chn l cho cc mnh phc hp sau:


a) (p q) (qp)

b) (p q) (q p)

c) (p q) (p q )

d) (p q) (p q )

e) (p q) (p q )

f) ( p q ) (pq)

g) ( p q) r

h) (p q) r

i) (p q) ( q r)

j) ( p q ) (qr)

19

2- Dng bng chn l chng minh:


a) Lut giao hon
pqqp
pqqp
b) Lut kt hp
(p q) r p ( q r)
( p q) r p (q r)
c) Lut phn phi
p (q r) (p q) (p r)
3- Chng minh cc cng thc sau y l ng nht ng bng cch lp bng gi tr chn
l:
a) ( X(YZ)) ((X Y)(XZ));

IT

b) (XY)((XZ)(X(YZ)));

c) (XZ) ((YZ)((XY)Z)).

4. Chng minh cc cng thc sau y l tng ng logic

X (Y1 Y2 ... Yn ( X Y1 ) ( X Y2 ) ... ( X Yn )

PT

a)
b)

X (Y1 Y2 ... Yn ( X Y1 ) ( X Y2 ) ... ( X Yn )

c) ( X 1 X 2 X n

X1 X1 X n

X1 X 2 X n

X1 X 2 X n

d)

5. Cho A, B, C l cc tp hp. Chng minh rng:

a)

A B C A B C

b) ( A B C ) ( A B)
c) ( A B) C ( A C )
d ) ( A C ) (C B )

e) ( B A) (C A) ( B C ) A
f)

A B A B

g ) ( A B) ( A B A

20

CHNG 2. BI TON M

m cc i tng c nhng tnh cht no l mt bi ton quan trng ca l


thuyt t hp. Gii quyt tt bi ton m gip ta gii nhiu bi ton khc nhau trong
nh gi phc tp tnh ton ca cc thut ton v tm xc sut ri rc cc bin c.
Phng php chung gii bi ton m c da trn cc nguyn l m c bn
(nguyn l cng, nguyn l nhn). Mt s bi ton m phc tp hn c gii bng
phng php qui v cc bi ton con, xy dng cng thc truy hi hoc phng php
hm sinh. Ni dung chnh c cp trong chng ny bao gm:
Cc nguyn l m c bn

Nguyn l b tr

Hon v v t hp

H thc truy hi

Qui v cc bi ton con

Gii thiu bi ton tn ti

IT

Bn c c th tm hiu nhiu k thut m cao cp hn trong ti liu [1], [2] trong phn
tham kho ca ti liu ny.

PT

2.1. Nhng nguyn l m c bn


2.1.1. Nguyn l cng

Gi s c hai cng vic. Vic th nht c th tin hnh bng n1 cch, vic th hai
c th tin hnh bng n2 cch v nu hai vic ny khng th tin hnh ng thi. Khi
s c n1 + n2 cch gii gii quyt mt trong hai vic trn.
Chng ta c th m rng qui tc cng cho trng hp nhiu hn hai cng vic.
Gi s cc vic T1, T2,.., Tm c th lm tng ng bng n1, n2, .., nm cch v gi s khng
c hai vic Ti, Tj no lm vic ng thi (i,j = 1, 2, .., m ; i j ). Khi , c n1 + n2 +..
+nm cch thc hin mt trong cc cng vic T1, T2, . ., Tm.
Qui tc cng c pht biu di dng ca ngn ng tp hp nh sau:
Nu A v B l hai tp ri nhau (A B = ) th : N(AB) = N(A) + N(B).
Nu A1, A2, .., An l nhng tp hp ri nhau th:
N(A1 A2 . . An ) = N(A1) + N(A2) +..+ N(An).
V d 1. Gi s cn chn hoc mt cn b hoc mt sinh vin tham gia mt hi
ng ca mt trng i hc. Hi c bao nhiu cch chn v i biu ny nu nh c 37
cn b v 63 sinh vin.

21

Li gii: Gi vic th nht l chn mt cn b t tp cn b ta c 37 cch. Gi


vic th hai l chn mt sinh vin t tp sinh vin ta c 63 cch. V tp cn b v tp sinh
vin l ri nhau, theo nguyn l cng ta c tng s cch chn v i biu ny l 37 + 63
= 100 cch chn.
V d 2. mt on vn ng vin gm mn bn sng v bi c c i thi u
nc ngoi. S vn ng vin nam l 10 ngi. S vn ng vin thi bn sng k c nam
v n l 14 ngi. S n vn ng vin thi bi bng s vn ng vin nam thi bn sng.
Hi on c bao nhiu ngi.
Li gii. Chia on thnh hai tp, tp cc vn ng vin nam v tp cc vn ng
vin n. Ta nhn thy tp n li c chia thnh hai: thi bn sng v thi bi. Thay s n
thi bi bng s nam thi bn sng , ta c s n bng tng s vn ng vin thi bn sng.
T theo nguyn l cng ton on c 14 + 10 = 24 ngi.
V d 3. gi tr ca bin k s bng bao nhiu sau khi thc hin on chng trnh
sau :
for i1:= 1to n1
k:=k+1
for i2:= 1to n2

PT

k:=k+1

IT

k := 0

..........

for im:= 1 to nm
k:=k+1

Li gii. coi mi vng for l mt cng vic, do ta c m cng vic T1, T2, . ., Tm.
Trong Ti thc hin bi ni cch (i= 1, 2, .., m). V cc vng for khng lng nhau hay
cc cng vic khng thc hin ng thi nn theo nguyn l cng tng tt c cc cch
hon thnh T1, T2,.., Tm l k= n1 + n2 +.. + nm.

2.1.2. Nguyn l nhn


Gi s mt nhim v no c tch ra hai cng vic. Vic th nht c thc
hin bng n1 cch, vic th hai c thc hin bng n2 cch sau khi vic th nht c
lm, khi s c n1.n2 cch thc hin nhim v ny. Nguyn l nhn c th c pht
biu tng qut bng ngn ng tp hp nh sau:
Nu A1, A2, .., Am l nhng tp hp hu hn, khi s phn t ca tch cc cc
tp ny bng tch s cc phn t ca mi tp thnh phn. Hay ng thc:
N (A1 A2 .. Am ) = N (A1) N (A2) . . . N (Am).
Nu A1 = A2 =. . Am th N(Ak) = N(A)k

22

V d 1. gi tr ca k s bng bao nhiu sau khi ta thc hin on chng trnh


sau:
k:=0
for i1 = 1 to n1
for i2 = 1 to n2

. .
for in =1 to nm
k:=k +1

IT

Li gii. Gi tr khi to k=0. Mi vng lp kng nhau i qua gi tr ca k c


tng ln 1 n v. Gi Ti l vic thi hnh vng lp th i. Khi , s ln vng lp l s
cch thc hin cng vic. S cch thc hin cng vic T j l nj (j=1,2, . ., n). Theo qui tc
nhn ta vng lp kp c duyt qua n1 +n2 +..+nm ln v chnh l gi tr ca k.

PT

V d 2. Ngi ta c th ghi nhn cho nhng chic gh ca mt ging ng bng


mt ch ci v sau l mt s nguyn nh hn 100. Bng cch nh vy hi c nhiu
nht bao nhiu chic gh c th ghi nhn khc nhau.
Li gii: c nhiu nht l 26 x 100 = 2600 gh c ghi nhn. V k t gn nhn
u tin l mt ch ci vy c 26 cch chn cc ch ci khc nhau ghi k t u tin,
tip theo sau l mt s nguyn dng nh hn 100 do vy c 100 cch chn cc s
nguyn gn tip sau ca mt nhn. Theo qui tc nhn ta nhn c 26 x 100 = 2600
nhn khc nhau.
V d 3. C bao nhiu xu nh phn c di 7?
Li gii. mt xu nh phn c di 7 gm 7 bt, mi bt c hai cch chn (hoc
gi tr 0 hoc gi tr 1), theo qui tc nhn ta c 2.2.2.2.2.2.2 = 2 7 = 128 xu bt n phn
di 7.
V d 4. C bao nhiu hm n nh xc nh t mt tp A c m phn t nhn gi
tr trn tp B c n phn t?
Li gii. Trc tin ta nhn thy, nu m >n th tn ti t nht hai phn t khc
nhau ca A cng nhn mt gi tr trn B, nh vy vi m>n th s cc hm n nh t
AB l 0. Nu m<=n, khi phn t u tin ca A c n cch chn, phn t th hai c
n-1 cch chn, . ., phn t th k c n-k+1 cch chn. Theo qui tc nhn ta c n(n-1) (n-2)
. . .(n-m+1) hm n nh t tp A sang tp B.
V d 5. Dng ca s in thoi Bc M c qui nh nh sau: s in thoi
gm 10 ch s c tch ra thnh mt nhm m vng gm 3 ch s, nhm m chi nhnh
23

gm 3 ch s v nhm m my gm 4 ch s. V nhng nguyn nhn k thut nn c


mt s hn ch i vi mt s con s. Ta gi s, X biu th mt s c th nhn cc gi tr
t 0..9, N l s c th nhn cc ch s t 2..9, Y l cc s c th nhn cc ch s 0 hoc
1. Hi theo hai d n nh s NYX NNX XXXX v NXX NXX XXXX c bao nhiu s
in thoi c nh s khc nhau Bc M?
Li gii: nh s theo d n NYX NNX XXXX c nhiu nht l :
8 x 2 x 10 x 8 x 8 x10 x10 x10 x 10 x 10 x10 = 2 x 8 3 x 106 = 1 024. 106
nh s theo d n NXX NXX XXXX c nhiu nht l :
8 x 10 x 10 x 8 x 10 x10 x10 x10 x 10 x 10 x10 = 82 x 108 = 64. 108
V d 6. Dng qui tc nhn hy ch ra rng s tp con ca mt tp S hu hn l
2N(S).

2.2. Nguyn l b tr

IT

Li gii. ta lit k cc phn t ca tp S l s1, s2, .., sN(S). Xy dng mt xu bt nh


phn di N(S) bt, trong nu bt th i c gi tr 0 th phn t si S, nu bt th i c gi
tr 1 th phn t siS (i=1, 2, .., N(S) ). Nh vy, theo nguyn l nhn, s tp con ca tp
hp S chnh l s xu bt nh phn c di N(S). Theo v d 3, chng ta c 2N(S) xu bt
nh phn di N(S).

PT

Trong mt s bi ton m phc tp hn. Nu khng c gi thit g v s ri nhau


gia hai tp A v B th N(AB) = N(A) + N(B) N(AB).
V d 1. lp ton hc ri rc c 25 sinh vin gii tin hc, 13 sinh vin gii ton v
8 sinh vin gii c ton v tin hc. Hi lp c bao nhiu sinh vin nu mi sinh vin hoc
gii ton hoc hc gii tin hc hoc gii c hai mn?
Li gii. Gi A tp l tp cc sinh vin gii Tin hc, B l tp cc sinh vin gii
ton. Khi A B l tp sinh vin gii c ton hc v tin hc. V mi sinh vin trong
lp hoc gii ton, hoc gii tin hc hoc gii c hai nn ta c tng s sinh vin trong lp
l N(AB). Do vy ta c:
N(AB) = N(A) + N(B) N(AB) = 25 + 13 8 = 30.
V d 2. C bao nhiu s nguyn khng ln hn 1000 chia ht cho 7 hoc 11.
Li gii. Gi A l tp cc s nguyn khng ln hn 1000 chia ht cho 7, B l tp
cc s nguyn khng ln hn 1000 chia ht cho 11. Khi tp s nguyn khng ln hn
1000 hoc chia ht cho 7 hoc chia ht cho 11 l N(AB). Theo cng thc 1 ta c:
N(AB) = N(A) + N(B) N(AB) = 1000/7+ 1000/11 - 1000/7.11
= 142 + 90 12 = 220.
Trc khi a ra cng thc tng qut cho n tp hp hu hn. Chng ta a ra
cng thc tnh s phn t ca hp 3 tp A, B, C.
24

Ta nhn thy N(A) + N(B) + N(C) m mt ln nhng phn t ch thuc mt trong ba tp


hp. Nh vy, s phn t ca A B, AC, BC c m hai ln v bng N(AB),
N(AC), N(BC), c m ba ln l nhng phn t thuc ABC. Nh vy, biu
thc:
N(ABC) N(AB)- N(AC) N(BC)
ch m cc phn t ch thuc mt trong ba tp hp v loi b i nhng phn t
c m hai ln. Nh vy, s phn t c m ba ln cha c m, nn ta phi cng
thm vi giao ca c ba tp hp. T ta c cng thc i vi 3 tp khng ri nhau:
N(ABC)= N(A)+N(B)+N(C)N(AB)N(AC)N(BC)+N(ABC)
nh l. Nguyn l b tr. Gi s A1, A2, . ., Am l nhng tp hu hn. Khi
N(A1A2 . . .Am) = N1- N2 + . . +(-1)m-1Nm,
trong Nk l tng phn t ca tt c cc giao ca k tp ly t m tp cho. (ni
ring N1=N(A1) + N(A2) + . .+ N(Am), Nm = N(A1 A2 . . .Am ) . Ni cch khc:

N(A )
i

1 i n

N ( Ai A j )

N(A A
i

IT

N ( A1 A2 ...An )

1 i , j n

Ak

1 i j k n

... (1) n1 N ( A1 A2 .. An )

nh l c chng minh bng cch ch ra mi phn t ca hp n tp hp c


m ng mt ln. Bn c c th tham kho cch chng minh trong ti liu [1].

PT

V d 3. Tm cng thc tnh s phn t ca 4 tp hp.


Li gii. T nguyn l b tr ta c

N(A1A2A3A4) = N(A1) + N(A2) + N(A3) + N(A4) N(A1A2)


N(A1A3) N(A1A4) N(A2A3) N(A2A4)
N(A3A4) + N(A1A2A3) + N(A1A2A4) +
N(A1A3A4 + N(A2A3A4) N(A1A2A3A4).

V d 4. Hi trong tp X = { 1, 2, . ., 10000} c bao nhiu s khng chia ht cho


bt c s no trong cc s 3, 4, 7?
Li gii. Gi A l tp cc s nh hn 10000 chia ht cho 3, B l tp cc s nh
hn 10000 chia ht cho 4, C l tp cc s nh hn 10000 chia ht cho 7. Theo nguyn l
b tr ta c:
N(A BC)= N(A)+N(B) + N(C) N(AB N(AC) N(BC) + N(ABC)
trong :
N(A) + N(B) + N (C)

= [10 000/3] + [10 000/4] + [10 000/7]


= 3333 + 2500 + 1428 = 7261

N(AB) = N(A) + N(B) N(AB) = 3333 + 2500 [10000/3x4] = 833

25

N(AC) = N(A) + N(C) N(AC) = 3333 + 1428 [10000/3x7] = 476


N(BC) = N(B) + N(C) N(BC) = 2500 + 1428 [10000/4x7] = 357
N(AB) + N(AC) + N(BC) = 833 + 476 + 357 = 1666
N(ABC) = [10000/3x4x7] = 119.
=>S cc s nh hn 10000 cn m l :
1000 - N(ABC) = 7261 1666 + 119 = 4286.
V d 5. C bao nhiu xu nh phn di 10 bt u bi 00 hoc kt thc bi 11.
Li gii. Gi A l s xu nh phn di 10 bt u bi 00 , B l s xu nh phn
di 10 kt thc bi 11. D rng nhn thy, N(A) = N(B) = 256, N(AB) = 26 = 64.
Theo nguyn l b tr ta c:
N(AB)

= N(A) + N(B) N(AB)


= 256 + 256 64 = 448.

IT

V d 6. 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?

PT

Li gii: C tt c n! cch b th. Vn t ra l m s cch b th sao cho


khng l th no ng a ch. Gi X l tp hp tt c cc cch b th v Ak l tnh cht
l th k b ng a ch. Khi theo nguyn l b tr ta c:

N N N 1 N 2 ... ( 1) n N n

Trong N l s cn tm, N = n!, Nk l s tt c cc cch b th sao cho c k l


th ng a ch. Nhn xt rng, Nk l mi cch ly k l th t n l, vi mi cch ly k l
th, c (n-k )! cch b k l th ny ng a ch, t ta nhn c.
N k C (n, k )(n k )!

1 1
(1) n
n!
v N n!(1
k!
1! 2!
n!

T ta c xc xut cn tm l:
1

1 1
(1) n

e 1
1! 2!
n!

S c tnh nh trn c gi l s mt th t v c k hiu l Dn. Di y l


mt vi gi tr ca Dn, s tng nhanh ca Dn mt ln na cho ta thy r s bng n t
hp.
N

10

11

Dn

44

265

1845

14833

133496

1334961

4890741

26

2.3. m cc hon v v t hp
2.3.1. Chnh hp lp
nh ngha 1. Mt chnh hp lp chp k ca n phn t l b c th t gm k thnh phn
ly t n phn t ca tp cho.
Nh vy, mt chnh hp lp chp k ca n phn t c th xem l phn t ca tch
cc A vi A l tp cho. Theo nguyn l nhn, s cc tt c cc chnh hp lp chp k
ca n s l nk.
k

V d 1. Tnh s hm t tp c k phn t vo tp c n phn t?


Li gii: Biu din mi hm bng mt b k thnh phn, trong thnh phn th i
l nh ca phn t th i (1<=i<=k). Mi thnh phn c ly ra t mt trong n gi tr. T
suy ra s hm l s b k thnh phn ly t n thnh phn bng nk.

IT

V d 2. T bng ch ci ting Anh c th to ra c bao nhiu xu c di n?


Li gii : Bng ch ci ting Anh gm 26 k t [A..Z], s cc xu c di n
c chn t 26 ch ci chnh l chnh hp lp n ca 26 phn t v bng 26n.

PT

V d 3. Tnh xc xut ly ra lin tip c 3 qu bng ra khi bnh kn cha 5


qu , 7 qu xanh nu sau mi ln ly mt qu bng ra li b n tr li bnh?
Li gii: S kt cc c li ta ly ra lin tip 3 qu bng l 53 v c 5 qu
ta phi ly 3 qu (ch v c hon li). Ton b kt cc c th ly ra ba qu bng bt
k trong 12 qu bng l 123. Nh vy, xc sut c th ly ra 3 qu bng lin tip l
53/123.

2.3.2. Chnh hp khng lp

nh ngha 2. Chnh hp khng lp chp k ca n phn t l b c th t gm k thnh


phn ly ra t n phn t cho. Cc phn t khng c lp li.
xy dng mt chnh hp khng lp, ta xy dng t thnh phn u tin. Thnh
phn ny c n kh nng chn. Mi thnh phn tip theo nhng kh nng chn gim i 1
(v khng c ly lp li). Ti thnh phn th k c n-k + 1 kh nng chn. Theo nguyn
l nhn ta c s chnh hp khng lp chp k ca tp hp n phn t k hiu l P(n, k) c
tnh theo cng thc:

P (n, k ) n(n 1)..(n k 1)

n!
( n k )!

V d 1. Tm s hm n nh c th xy dng c t tp k phn t sang tp n


phn t?

27

Li gii: S hm n nh t tp k phn t sang tp n phn t chnh l P(n,k).


V d 2. Gi s c tm vn ng vin chy thi. Ngi v nht s c nhn hun
chng vng, ngi v nh nhn hun chng bc, ngi v ba nhn huy chng ng.
Hi c bao nhiu cch trao huy chng nu tt c cc kt cc u c th xy ra?
Li gii. S cch trao huy chng chnh l s chnh hp chp 3 ca tp hp 8
phn t. V th c P(8,3) = 8.7.6 = 336 cch trao huy chng.
V d 3. C bao nhiu cch chn 4 cu th khc nhau trong i bng gm 10 cu
th tham gia cc trn u n.
Li gii. C P(10,4) = 10.9.8.7 = 5040 cch chn.

2.3.3. Hon v
nh ngha 3. Ta gi cc hon v ca n phn t l mt cch xp c th t cc phn t .
S cc hon v ca tp n phn t c th coi l trng hp ring ca chnh hp khng lp
vi k = n.

IT

Ta cng c th ng nht mt hon v vi mt song nh t tp n phn t ln chnh


n. Nh vy, s hon v ca tp gm n phn t l P(n, n) = n!.
V d 1. C 6 ngi xp thnh hng chp nh. Hi c th b tr chp c bao
nhiu kiu khc nhau?

PT

Li gii. Mi kiu nh l mt hon v ca 6 ngi. Do c 6! = 720 kiu nh


khc nhau c th chp.
V d 2. Cn b tr thc hin n chng trnh trn mt my tnh. Hi c bao nhiu
cch b tr khc nhau?
Li gii. S chng trnh c nh s t 1, 2, . ., n. Nh vy, s chng trnh
cn thc hin trn mt my tnh l s hon v ca 1, 2, .., n.
V d 3. Mt thng nhn i bn hng ti tm thnh ph. Ch ta c th bt u
hnh trnh ca mnh ti mt thnh ph no nhng phi qua 7 thnh ph kia theo bt
k th t no m ch ta mun. Hi c bao nhiu l trnh khc nhau m ch ta c th i?
Li gii. V thnh ph xut pht c xc nh. Do vy thng nhn c th
chn tu 7 thnh ph cn li hnh trnh. Nh vy, tt c s hnh trnh ca thng
nhn c th i qua l 7! = 5040 cch.

2.3.4. T hp
nh ngha 4. 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 ly trong n phn t. S t hp chp k ca n phn
t k hiu l C(n,k).

28

Ta c th tnh c trc tip s cc t hp chp k ca tp n phn t thng qua


chnh hp khng lp ca k phn t. Xt tp hp tt c cc chnh hp khng lp chp k
ca n phn t. Sp xp chng thnh nhng lp sao cho hai chnh hp thuc cng mt lp
ch khc nhau v th t. R rng mi lp nh vy l mt t hp chp k ca n phn
t(P(n,k)). S chnh hp trong mi lp u bng nhau v bng k! (s hon v k phn t:
P(k,k) ). S cc lp bng s t hp chp k ca n (P(n,k)). T ta c:
P(n, k ) C (n, k ).P(k , k ) C (n, k )

P(n, k )
n!

k!
k!(n k )!

V d 1. Cho S = { a, b, c, d } tm C(4,2)?
Li gii. R rng C(4,2) = 6 tng ng vi 6 tp con {a, b}, {a, c}, {a, d}, {b,c},
{b, d} {c,d}.
V d 2. C n i bng thi u vng trn. Hi phi t chc bao nhiu trn u.

V d 3. Chng minh
a) C(n,k) = C(n, n-k)
b) C(n, 0) = C(n,n)= 1

IT

Li gii: C hai i bng th c mt trn. T suy ra s trn u s bng s cch


chn 2 trong n i, ngha l bng C(n, 2) = n! / 2!(n-2)! = n(n-1)/2 trn u.

c) C(n,k) = C(n-1,k-1) + C(n-1,k)

PT

Li gii

a. C(n,n-k) = n!/(n-k)! (n-n+k)! = n!/k!(n-k)! = C(n,k).


Hoc C(n, k) = n!/k!(n-k)! = n!/ (n-k)! (n-(n-k))! = C(n, n-k);

b) Ch 0!=1 => b hin nhin ng


c) C(n,k) = C(n-1,k-1) + C(n-1,k)

C (n 1, k 1) C (n 1, k )

( n 1)!
(n 1)!

(k 1)!( n 1 k 1)! k!( n k 1)!

(n 1)!
1
(n 1)!.n
1

(k 1)!( n k 1)! n k k (k 1)!k (n k 1)!( n k )


n!

C ( n.k )
k!( n k )!

T nhng tnh cht trn, 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 dng, trn mi dng ta tnh v thc hin theo
ct. Bng c dng tam gic chnh l tam gic Pascal.
Cc h s t hp c lin quan cht ch ti vic khai trin lu tha ca mt nh thc.
Thc vy, trong tch

29

(x+y)n = (x+y)(x+y). . .(x+y) h s ca xkyk-n s l s cch chn k phn t (x+y) m t


ly ra x v ng thi (n-k) nhn t cn li ly ra y, ngha l:
n

( x y ) n C (n,0) x n C (n,1) x n 1 y ... C (n, n 1) xy n1 C (n,0) y n k 0 C (n, k ) x n k y k

Cng thc trn cn c gi l khai trin nh thc Newton, cc h s t hp cn c


gi l h s nh thc. Chng hn lu tha bc 8 ca nh thc (x+y)8 c khai trin nh
sau:

( x y ) 8 x 8 8 x 7 y 28 x 6 y 2 56 x 5 y 3 70 x 4 y 4 56 x 3 y 5 28 x 2 y 6 8 xy 7 y 8
Trong trng hp y=1, tc khai trin (x+1)n ta c:

( x 1) n C (n,0) x n C ( n,1) x n 1 ... C ( n, n 1) x C ( n, n)


Hoc ng thc sau s c rt ra t khai trin nh thc Newton:

2 n (1 1) n C ( n,0) C (n,1) ... C (n, n 1) C (n, n)

2.3.5. T hp lp

IT

C th ni rt nhiu ng thc v h s t hp s c suy ra. Nh tnh cc tp l, o


hm.

PT

T nh ngha t hp, ta c th tnh ton c s t hp lp chp k t tp n phn


t bng C( n + k -1, k).
V d 1. Phng trnh x1 + x2 + x3 = 11 c bao nhiu nghim nguyn khng m?
Li gii. Mi nghim nguyn khng m ca phng trnh ng vi mt cch chn 11
phn t t mt tp c 3 loi, sao cho c x1 phn t loi 1 c chn, x2 phn t loi 2
c chn, x3 phn t loi 3 c chn. S ny chnh bng s t hp lp chp 11 t tp
c 3 phn t. V vy, s nghim nguyn khng m ca phng trnh l:
C( 3 + 11 -1, 11 ) = C (13, 11) = (13.12) / 2 = 78.

V d 2. Phng trnh x1 + x2 + x3 = 11 c bao nhiu nghim nguyn khng m tha mn


x11, x22, x33?
Li gii. Mi nghim nguyn khng m ca phng trnh ng vi mt cch chn 11
phn t t mt tp c 3 loi, sao cho c x1 phn t loi 1 c chn, x2 phn t loi 2
c chn, x3 phn t loi 3 c chn. Trong , c t nht mt phn t loi 1, hai phn
t loi 2 v ba phn t loi 3. V th ta chn mt phn t loi 1, hai phn t loi 2, ba
phn t loi 3 sau chn thm 5 phn t na. S ny chnh bng s t hp lp chp 5 t
tp c 3 phn t. V vy, s nghim nguyn khng m ca phng trnh l:
C( 3 + 5 -1, 5 ) = C (7, 5) = (7.6) / 2 = 21.
V d 3. Phng trnh x1 + x2 + x3 = 11 c bao nhiu nghim nguyn khng m tha mn
1 x1 3?

30

Li gii. Ta nhn thy, s nghim nguyn khng m ca phng trnh tha mn 1 x1 3


chnh bng s nghim nguyn khng m ca phng trnh tha mn x11 sau tr bt
i nhng nghim x1 4. T V d 1 ta tnh c s nghim nguyn khng m ca phng
trnh tha mn 1 x1 3 l
C( 3 + 10 -1, 10 ) - C(3 +7-1, 7) = C (12, 10) - C(9, 7).

2.4. H thc truy hi

2.4.1. nh ngha v v d

IT

Thng thng ngi ta thng quan tm ti nhng bi ton m trong kt qu


m ph thuc vo mt tham s u vo (m ta k hiu l n), chng hn nh cc s mt
th t Dn . Vic biu din kt qu ny nh mt hm ca n bng mt s hu hn cc php
ton khng phi l n gin. Trong nhiu trung hp, vic tm ra mt cng thc trc tip
gia kt qu m v n l ht sc kh khn v nhiu khi khng gii quyt c, trong khi
cng thc lin h gia kt qu m ng vi gi tr n vi cc kt qu b hn n li n
gin v d tm. Thng qua 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 qui. c bit,
cng thc truy hi rt thch hp vi lp trnh trn my tnh. N cng cho php gim ng
k phc tp cng nh gia tng n nh ca qu trnh tnh ton.

PT

nh ngha 1. H thc truy hi i vi dy s {an} l cng thc biu din an qua mt hay
nhiu s hng i trc ca dy, c th l a1, a2, .., an-1 vi mi nn0 nguyn dng. Dy
s c gi l li gii hay nghim ca h thc truy hi nu cc s hng ca n tho mn
h thc truy hi.
V d 1. Li kp. Gi s mt ngi gi 10000 la vo ti khon ca mnh ti
mt ngn hng vi li xut kp 11% mi nm. Hi sau 30 nm anh ta c bao nhiu tin
trong ti khon ca mnh?
Li gii. Gi Pn l tng s tin c trong ti khon sau n nm. V s tin c trong
ti khon sau n nm bng s tin c c trong n-1 nm cng vi li xut nm th n. Nn
dy {Pn} tho mn h thc truy hi :
Pn = Pn-1 + 0.11Pn-1 = 1.11Pn-1
Chng ta c th dng phng php lp tm cng thc trn cho Pn. D nhn thy
rng:
P0 = 10000
P1 = 1.11P0
P2 = 1.11P1 = (1.11)2P0
.....................
Pn = 1.11Pn-1 = (1.11)n-1P0
31

Ta c th chng minh tnh ng n ca cng thc truy hi bng qui np.


Thay P0= 10000, v n = 30 ta c:
P30 = (1.11)3010000 = 228922,97 $
V d 2. H nh th v s Fibonaci. Mt cp th sinh i (mt con c v mt con
ci) c th ln mt hn o. Gi s rng cp th s cha sinh sn c trc khi y
hai thng tui. T khi chng y hai thng tui, mi thng chng sinh thm c mt cp
th. Tm cng thc truy hi tnh s cp th trn o sau n thng vi gi s cc cp th l
trng th.
S cp sinh sn

S cp th con

Tng s cp th

..

..

..

..

PT

IT

S thng

Li gii: Gi s fn l s cp th sau n thng. Ta s ch ra rng f1, f2, . ., fn (n=1, 2, .


., n) l cc s ca dy fibonaci.
Cui thng th nht s cp th trn o l f1 = 1. V thng th hai cp th vn cha n
tui sinh sn c nn trong thng th hai f2 =1. V mi cp th ch c sinh sn sau t
nht hai thng tui, nn ta tm s cp th sau thng th n bng cch cng s cp th sau
thng n-2 v thng n-1 hay fn = fn-1 + fn-2. Do vy, dy { fn} tho mn h thc truy hi
fn = fn-1 + fn- 2 vi n>=3 v f1 = 1, f2 = 1.
V d 3. Tnh s mt th t Dn.
Li gii: nh s th v phong b th t 1 n n (th i gi ng a ch nu b
vo phong b i). Mt cch b th uc ng nht vi hon v (a1, a2, . ., an) ca { 1, 2, . .,
n }. Mt mt th t c nh ngha l l mt hon v (a1, a2, . ., an) sao cho aii vi mi
i. Thnh phn a1 c th chp nhn mi gi tr ngoi 1. Vi mi gi tr k (k1) ca a1, xt
hai trng hp:
1. ak =1, khi cc thnh phn cn li c xc nh nh mt mt th t ca n-2
phn t, tc l s mt th t loi ny bng Dn-2.
2. ak1, khi cc thnh phn t 2 n n c xc nh nh mt mt th t ca
n-1 phn t cn li, tc l s mt th t ny thuc loi Dn-1.

32

T ta nhn c cng thc


Dn = (n-1) (Dn-1 + Dn-2), n>=3 vi D1 = 0, D2 =1.
Mi gi tr cn li c tnh n gin nh lut k tha.
D3 = (3 1) (0 +1)

=2

D4 = (4 1 )( 1 + 2)

=9

D5 = (5 1 )( 9 + 2)

= 44

D6 = (6 1 )(9 + 44)

= 265

D7 = (7 1 )( 44 + 265)

= 1854

D8 = (8 1 )( 265 + 1854) = 14833


. . . . . . . . . . . .. . . . . . . . . . . . . . . . .
cng thc ng vi n = 2, ta coi D0 = 1
C th nhn c s mt th t thng qua cng thc truy hi trn v:

t Vn Dn nDn1 ta c:

IT

Dn (n 1)( Dn 1 Dn 2 ) Dn nDn 1 ( Dn 1 (n 1) Dn 2 )

Dn nDn1 Vn V n1 (1) n1V1 (1) n . Hay ta c th vit:

PT

Dn
D
(1) n
n 1
. Cng cc h thc trn vi n = 1, 2, .., n ta c:
n! (n 1)!
n!

Dn
1 1
(1) n
1
. T thu li c cng thc c:
n!
1! 2!
n!
Dn n!(1

1 1
(1) n

)
1! 2!
n!

V d 3. Tnh h s t hp C(n,k).

Li gii. Chn phn t c nh a trong n phn t ang xt. Chia s cch chn tp
con k phn t ny thnh hai lp (lp cha a v lp khng cha a). Nu a c chn th ta
cn b xung k-1 phn t t n-1 phn t cn li, t lp cha a gm C(n-1, k-1) cch.
Nu a khng c chn, th ta phi chn k phn t t n-1 phn t cn li, t lp
khng cha a gm C(n-1, k) cch. Theo nguyn l cng ta c cng thc truy hi:
C(n, k) = C(n-1, k-1) + C(n-1,k) vi cc gi tr bin c suy ra trc tip:
C(n,0) = C(n,n) = 1.
Phng php ny c gi l phng php kh. Khng phi lc no cng d dng
kh c cng thc truy hi a 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.

33

2.4.2. Gii cng thc truy hi tuyn tnh thun nht vi h s hng s
nh ngha 1. Mt h thc truy hi tuyn tnh thun nht bc k vi h s hng s l h
thc truy hi c dng:

a n c1a n1 c1a n 2 c k a n k

(1)

trong c1,c2, . ., ck l cc s thc v ck 0


Ta cn tm cng thc trc tip cho s hng an ca dy s {an} tho mn cng thc
(1). Theo nguyn l th hai ca qui np ton hc th dy s tho mn nh ngha trn
c xc nh duy nht nu nh n tho mn k iu kin u:
a0 = C0, a1 = C1, . ., ak-1 = Ck-1, trong C1, C2, . ., Ck-1 l cc hng s.

IT

V d 1. H thc truy hi Pn=(1.11)Pn-1 l h thc truy hi tuyn tnh thun nht


bc 1. H thc truy hi fn = fn-1 + fn-2 l h thc truy hi tuyn tnh thun nht bc 2. H
thc truy hi an = an-5 l h thc truy hi tuyn tnh thun nht bc 5. H thc truy hi
Bn=nBn-1 khng phi l h thc truy hi tuyn tnh thun nht v n khng c h s hng
s.
Phng php c bn gii h thc truy hi tuyn tnh thun nht l tm nghim
di dng an = rn, trong r l hng s. Cng cn ch rng an = rn l nghim ca h
thc truy hi an = c1an-1 + c2 an-2 + . .+ ckan-k nu v ch nu

PT

an = c1rn-1 + c2rn-2 + . .+ ckrn-k .

Chia c hai v cho rn-k ta nhn c

rk c1rk-1 c2rk-2 - . . ck-1r ck =0

(2)

Vy dy {an} vi an=rn l nghim nu v ch nu r l nghim ca (2). Phng trnh


2 cn c gi l phng trnh c trng ca h thc truy hi, nghim ca n l nghim
c trng ca h thc truy hi. Nghim ca phng trnh c trng dng biu din
cng thc tt c cc nghim ca h thc truy hi.
Chng ta s trnh by cc kt qu vi h thc truy hi tuyn tnh thun nht bc
hai. Sau ta s nu ra nhng kt qu tng t cho trng hp tng qut khi bc ln hn
hai.
nh l 1. Cho c1, c2 l cc hng s thc. Gi s r2 c1r + c2 =0 c hai nghim
phn bit r1, r2. Khi dy {an} l nghim ca h thc truy hi an = c1an-1 + c2an-2 khi v
ch khi an = 1r1n + 2rn2 vi n =1, 2, . .., 1, 2 l cc hng s.
Chng minh: chng minh nh l ny ta cn thc hin hai vic. u tin ta
cn ch ra rng nu r1, r2 l hai nghim ca phng trnh c trng v 1, 2 l hai hng
s th dy {an} vi a n 1 r1n 2 r2n l nghim ca h thc truy hi. Ngc li, cn phi
chng minh rng nu {an} l nghim th a n 1 r1n 2 r2n vi 1, 2 l cc hng s no .

34

(): Gi s r1 v r2 l hai nghim phn bit ca r2 c1r + c2=0 , khi


r12 c12 r1 c 2 ; r22 c1 r2 c 2 ng thi ta thc hin dy cc php bin i sau:

c1a n1 c2 a n 2

c1 ( 1r1n1 2 r2n 2 ) c2 ( 1r1n 2 2 r2n 2 )


1r1n 1 (c1r1 c2 ) 2 r2n 2 (c1 r2 c2 )
1r1n 2 r12 2 r2n 2 r22
1r1n 2 r2n a n

iu ny chng t dy {an} vi a n 1 r1n 2 r2n l nghim ca h thc truy hi


cho.
(): chng minh ngc li, ta gi s dy {an} l mt nghim bt k ca h thc truy
hi. Ta chn 1, 2 sao cho dy {an} vi a n 1 r1n 2 r2n tho mn cc iu kin u
a0 =C0, a1 = C1. Thc vy,

a1 C1 1 r1 2 r2

IT

a0 C 0 1 2
T phng trnh u ta c 2 = C0 - 1 th vo phng trnh th hai ta c:

C1 1 r1 (C 0 1 ) r2 1 ( r1 r2 ) C 0 r2 ; T y suy ra:
(C1 C 0 r2 )
(C C 0 r2 ) (C 0 r1 C1 )
; 2 C 0 1 C0 1

.
r1 r2
r1 r2
r1 r2

PT

Nh vy, khi chn nhng gi tr trn cho 1, 2 dy {an} vi a n 1 r1n 2 r2n tho
mn cc iu kin u. V h thc truy hi v cc iu kin u c xc nh duy nht
nn a n 1 r1n 2 r2n . nh l c chng minh.
V d 1. Tm nghim ca h thc truy hi an = an-1 +2an-2 vi a0 = 2, a1 = 7.
Li gii. Phng trnh c trng ca h thc truy hi c dng r2 - r - 2 =0. Nghim
ca n l r=2 v r = -1. Theo nh l 1, dy {an } l nghim ca h thc truy hi nu v
ch nu :
an = 12n +2(-1)n vi 1, 2 l cc hng s no . T cc iu kin u suy ra:
a0 = 2 = 1 +2
a1 = 7 = 12 +2(-1)
Gii ra ta c 1=3, 2=-1. Vy nghim ca biu thc truy hi vi iu kin u l dy
{an} vi an = 3.2n (-1)n.
V d 2. Tm cng thc hin ca cc s fibonaci.
Gii: Cc s fibonaci tho mn h thc fn = fn-1 + fn-2 v cc iu kin u f0 = 0,
f1=1. Cc nghim ca phng trnh c trng l:
35

1 5
1 5
; r2

r1

2 theo nh l 1 ta suy ra s fibonaci c cho bi cng


2

thc sau:
n

1 5

2 1 5 vi 1, 2 l hai hng s. Cc iu kin u f0=0,


f n 1

2
2

f1=1 c dng xc nh cc hng s 1, 2.


f 0 1 2 0
1 5

2 1 5 1
f1 1

2
2

T hai phng trnh ny ta suy ra 1

1
5

; 2

1
5

do cc s fibonaci c cho

bng cng thc dng hin nh sau:


n

IT

1 1 5
1 1 5
fn

5 2
5 2

nh l 1 khng dng c trong trng hp nghim ca phng trnh c trng l


nghim bi. Khi phng trnh c trng c nghim bi ta s dng nh l sau.

PT

nh l 2. Cho c1, c2 l cc hng s thc, c20. Gi s r2 c1r c2 = 0 ch c mt nghim


r0. Dy {an} l nghim ca h thc truy hi an = c1an-1 + c2an-2 khi v ch khi
a n 1 r0n 2 nr0n vi n = 1, 2, . . trong 1, 2 l nhng hng s.
V d 3. Tm nghim ca cng thc truy hi a n = 6an-1 9an-2 vi cc iu kin u a0=1,
a1 = 6.
Gii: Phng trnh c trng r2 6r 9 =0 c nghim kp r=3. Do nghim ca h thc
truy hi c dng:
a n 1 3 n 2 n3 n vi 1, 2 l cc hng s no . T cc iu kin u ta suy ra:

a0 = 1=1
a1 = 6 = 13+23 1 =1, 2=1 vy nghim ca h thc truy hi v cc iu kin
u cho l:
an = 3n+n3n
nh l 1, nh l 2 khng dng c trong trng hp nghim ca phng trnh c
trng l nghim phc. Khi phng trnh c trng c nghim phc ta s dng nh l
sau.
nh l 3. Cho c1, c2 l cc hng s thc, c20. Gi s r2 c1r c2 = 0 c hai nghim phc
lin hp
36

r1 r cos i. sin

r2 r cos i.sin
Khi , dy {an} l nghim ca h thc truy hi an = c1an-1 + c2an-2 khi v ch khi
a n r n 1 cosn 2 sin n vi n = 1, 2, . . trong 1, 2 l nhng hng s.
V d. Tm nghim ca h thc truy hi sau an = 2an-1 - 4an-2, vi a0 = 4, a1 =4?
Li gii.
Bc 1. Tm nghim ca phng trnh c trng:

r 2cos / 3 i sin / 3
r 2 2r 4 0 1
r2 2cos / 3 i sin / 3
Bc 2. Xy dng cng thc tng qut cho an:

IT

a n r n c1 cos(n ) c 2 sin( n ) 2 n c1 cos(n / 3) c2 sin( n / 3)

Bc 3. Tm cc hng s thng qua iu kin u:

PT

1
3
c2 4
2 c1
2
2

1 1; 2 3

3
1

4 2 c1 2 c 2 4

Bc 4. Hon chnh cng thc cho an.

an 2 n cosn / 3 3 sin n / 3

By gi ta pht biu kt qu tng qut v nghim cc h thc truy hi tuyn tnh


thun nht vi cc h s hng s.
nh l 4. Cho c1 , c2 , . . , ck l cc s thc. Gi s phng trnh c trng
rk c1rk-1-. .-ck = 0 c k nghim phn bit r1, r2, . . , rk. Khi dy {an} l nghim
ca h thc truy hi a n c1a n 1 c2 a n 2 c k a n k
khi v ch khi
n
n
n
a n 1 r1 2 r2 k rk vi n=0,1,2, . ., trong 1, 2, . ., k l cc hng s.
V d 4. Tm nghim ca h thc truy hi an = 6an-1 11an-2+6an-3 vi iu kin
u a0=2, a1 =5, a2=15.
Gii: a thc c trng ca h thc truy hi l :
r3 6r2 + 11r 6 c cc nghim l r1=1, r2 = 2, r3 = 3. Do vy nghim ca h thc
truy hi c dng: a n 11n 2 2 n 3 3 n .

37

tm cc hng s 1, 2, 3 ta da vo nhng iu kin ban u:


a0 = 2 = 1 + 2 + 3
a1 = 5 = 1 + 22 +33
a2 = 15=1 + 24 +39
Gii: h phng trnh ny ta nhn c 1 = 1, 2 =- 1, 3=2. V vy nghim duy
nht ca h thc truy hi ny v cc iu u cho l dy {an} vi:
a n 1 2 n 2.3 n

2.5. Qui v cc bi ton n gin

IT

Mt trong nhng phng php gii quyt bi ton m phc tp l qui bi ton
ang xt v nhng bi ton nh hn. S phn chia ny c thc hin mt cch lin tip
cho ti khi nhn c li gii ca bi ton nh mt cch d dng. Tuy nhin iu ny
khng phi lc no cng thc hin c v n i hi mt s phn tch su sc cu hnh
cn m.

PT

Gi s rng c mt thut ton phn chia bi ton c n thnh a bi ton nh, trong
mi bi ton nh c c n/b( n gin ta gi s n chia ht cho b); trong thc t cc
bi ton nh thng c c l s nguyn gn nht vi n/b. Gi s tng cc php ton thm
vo khi thc hin phn chia bi ton c n thnh cc bi ton c nh hn l g(n). Khi
nu f(n) l s cc php ton cn thit gii bi ton cho th f tho mn h thc truy
hi sau:
n
f (n) af g (n) ; h thc ny c tn l h thc chia tr.
b

V d 1. Xt thut ton nhn hai s nguyn kch c 2n bt. K thut ny gi l


thut ton nhn nhanh c dng k thut chia tr.
Gii: Gi s a v b l cc s nguyn c biu din nh phn l 2n bt (c th thm
cc bt 0 vo u chng c th di bng nhau) .

a ( a 2 n1a 2 n 2 a1a 0 ) 2 v b (b2 n 1b2 n 2 b1b0 ) 2


Gi s a = 2nA1 +A0, b = 2nB1 +B0
trong

A1 ( a 2 n1 a 2 n 2 a n1 a n ) 2 ; A0 ( a n1 a n 2 a1a 0 ) 2
B1 (b2 n 1b2 n 2 bn 1bn ) 2 ; B0 (bn 1bn 2 b1b0 ) 2
Thut ton nhn nhanh c da trn ng thc:
ab ( 2 2 n 2 n ) A1 B1 2 n ( A1 A0 )( B0 B1 ) (2 n 1) A0 B0

38

iu ny ch ra rng php nhn hai s nguyn 2n bt c th thc hin bng cch


dng 3 php nhn cc s nguyn n bt v cc php cng, tr dch chuyn. Nh vy, nu
f(n) l tng cc php ton nh phn cn thit nhn hai s n bt th

f (2n) 3 f ( n) Cn
Ba php nhn cc s nh phn n bt cn 3f(n) php ton nh phn. Mi mt php
ton cng, tr, dch chuyn dng mt hng s nhn vi n ln chnh l Cn.
V d 2. 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 sen k cc b v khng c hai cp v chng
no ngi cnh nhau. Hi c tt c bao nhiu cch xp ?
Li gii. Gi s phi tm l Mn. Xp cho cc b trc(c xp mt gh th mt gh
trng dnh cho cc ng), s cch xp cho cc b l 2n! cch. Gi s cch xp cho cc ng
ng vi mt cch xp cc b l Un ta c s cch xp l
Mn = 2n! x Un .Vn cn li l tnh s Un.

(*)

PT

(i) i v (i)i+1

IT

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 i v b
i+1 (cc php cng c hiu ly modul n ngha l n +1 = 1). Mi cch xp cc ng c
biu din bng mt php th trn tp {1, 2, . ., n } vi qui c (i) = j c ngha l gh i
c xp cho ng j. Theo gi thit phi tho mn:
Nh vy, Un l s tt c cc php th tho mn iu kin (*). Trong ton hc gi
Un l s phn b.
Xt tp hp tt c cc php th ca { 1, 2, . ., n }. Trn tp ny ta gi Pi l tnh
cht (i) = i, Qi l tnh cht (i) = i+1. t Pn+i = Qi, theo nguyn l b tr tng ng vi
2n tnh cht Pi ta c:

U n N n! N 1 N 2 ... trong Nk l tng s tt c cc php th tho mn k


tnh cht ly t 2n tnh cht ang xt. Cn ch rng, khng th xy ra ng thi tho
mn Pi v Qi. Do trong cc php ly ra k tnh cht t 2n tnh cht ang xt cn thm
vo iu kin: Pi v Qi hoc Pi+1 v Qi khng c ng thi c mt. Gi s cc cch ny
l g(2n, k) ( ni ring g(2n,k)=0 khi k>n). Vi mi cch ly ra k tnh cht nh vy
(k<=n) ta c (n-k)! php th tho mn chng. T ta nhn c Nk = g(2n, k) (n-k)! v
U n n! g ( 2n,1)(n 1)! g (2n 2)(n 2)! ( 1) n g (2n, n)

By gi chng ta phi tnh cc h s g(2n,k), k = 1, 2, . ., n.


Xp 2n tnh cht ang xt trn cng trn theo th t P1, Q1, P2, Q2, . . , Pn, Qn, ta
thy rng g(2n,k) chnh l s cch ly k phn t trong 2n phn t xp thnh vng trn sao
cho khng c hai phn t no k nhau cng c ly ra. tnh g(2n,k) ta gii hai bi
ton con sau:

39

Bi ton 1. C bao nhiu cch ly ra k phn t trong n phn t xp trn ng


thng sao cho khng c hai phn t no k nhau cng c ly ra.
Li Gii. Khi ly k phn t, ta cn n-k phn t. Gia n-k phn t cn li c n-k+1
khong trng (k c hai u). Mi cch ly ra k khong t cc khong ny s tng ng
vi mt cch chn k phn t tho mn yu cu nu. Vy s cch chn cn tm l
C(n-k+1, k).
Bi ton 2. Ging nh bi ton 1 nhng n phn t xp trn vng trn.
Li gii. C nh phn t a c chn chia cc cch ly thnh 2 lp
1- Cc cch m a c chn khi 2 phn t k a s khng c chn v phi
ly k-1 phn t t n-3 phn t cn li. Cc phn t ny xem nh kt qu ca
bi ton 1. Theo bi ton 1, s cch thuc lp kiu ny l C(n-k-1, k-1).
2- Cc cch m a khng c chn, khi b a i v bi ton tr v bi ton 1
chn k phn t t n-1 phn t xp trn ng thng. Theo bi ton 1 s cch
xp kiu ny l C(n-k,k).

IT

Vy theo nguyn l cng s cch cn tm l :

C (n k 1, k 1) C (n k , k )

n
C (n k , k )
nk

T kt qu ca hai bi ton trn ta nhn c:

2n
C ( 2n k , k ) v s phn b Un c tnh bng
2n k

PT
g ( 2n, k )

U n n!

2n
2n
2n
C ( 2n 1,1)(n 1)!
C (2n 2,2)(n 2)! ( 1) n
C (2n, n)
2n 1
2n 2
n

Di y l mt s gi tr ca Un, mt ln na chng ta li c quan st hin


tng bng n t hp.
n

10

Un

13

80

579

4783

43387

439792

2.6. Phng php lit k


Vic tm mt cng thc cho kt qu m ngay c trong trng hp cng thc truy
hi khng phi d dng v lc no cng thc hin c. Cho n nay cn nhiu bi ton
m cha c li gii di dng mt cng thc. i vi nhng bi ton nh vy, ngi ta
ch cn cch ch ra mt phng php lit k, theo c th i qua c tt c cc cu
hnh cn m. R rng bn thn phng php lit k khng ch ra c mt kt qu c
th no nhng qua ngi ta c th lp trnh cho my tnh in t m h.

40

minh ho cho phng php lit k, ta xt mt cu hnh t hp ni ting l


cc hnh ch nht la tinh.
Gi s S l tp gm n phn t. Khng mt tnh tng qut ta gi s S = {1, 2, . ., n}
Mt hnh ch nht la tinh trn S l mt bng gm p dng, q ct sao cho mi dng ca 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 ta c pn, qn. c bit trong trng hp q = n, mi dng ca
hnh ch nht la tinh l mt hon v ca S, sao cho khng c ct no cha hai phn t lp
li. Hnh ch nht la tinh dng ny c gi l chun nu dng u ca n l hon v 1,
2,. ., n.
V d. Hnh la tinh chun trn tp S = {1, 2, 3, 4, 5, 6, 7 }
1

IT

Gi L(p,n) l s hnh ch nht la tinh p x n, cn K(p,n) l s hnh ch nht la tinh


chun p x n ta c:
L(p,n) = n! K(p,n)

PT

D dng nhn thy rng, s mt Dn l s hnh la tinh chun 2 x n, s phn b Un l


s hnh ch nht la tinh chun 3 x n vi hai dng u l:
1

...

n-1

...

Riodan J(1946) chng minh cng thc:


m

K (3, n) k 0 C (n, k ) Dn k DkU n 2 k trong m= [n/2], U0 = 1.


Bi ton m vi s dng nhiu hn n nay vn cha c gii quyt. Ngi ta
mi ch a ra c mt vi dng tim cn ca L(p,n).
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.
1

5
41

Gi ln l s cc hnh vung nh th ta c L(n,n) = n!(n-1)!ln


Vic tm mt cng thc cho ln n nay vn b ng. Tuy nhin ta c th nh my
tnh lit k tt c cc hnh vung chun cp n. Di y l mt vi gi tr tnh c.
1

ln

56

9408

16942080

PT

IT

42

BI TP CHNG 2

1. Xu thun nghch c l mt xu khi vit theo th t ngc li cng bng chnh n.


Hy m s xu nh phn c di n l thun nghch c.
2. C du v ch r mi bn bn ng thnh mt hng chp nh. Hi c bao nhiu
cch xp hng nu:
a) C du ng cnh ch r
b) C du khng ng cnh ch r
c) C du ng pha bn phi ch r
3. C bao nhiu xu nh phn di 10 c nm s 0 lin nhau hoc nm s 1 lin nhau.

IT

4. C bao nhiu xu nh phn di bng 8 c 3 s 0 lin nhau hoc 4 s 1 lin nhau.


5. Mi sinh vin lp ton hc ri rc hoc gii ton hoc gii tin hc hoc gii c hai
mn ny. Trong lp c bao nhiu sinh vin nu 38 ngi gii tin (k c ngi gii c
hai mn), 23 ngi gii ton (k c ngi gii c hai mn), v 7 ngi gii c hai
mn.

PT

6. Chng t rng, trong n+1 s nguyn dng khng vt qu 2n tn ti t nht mt s


chia ht cho mt s khc.
7. Chng minh rng, trong dy gm n2 + 1 s thc phn bit u c mt dy con di n+1
hoc thc s tng, hoc thc s gim.
8. Gi s trong mt nhm 6 ngi mi cp hai hoc l bn, hoc l th. Chng t rng
trong nhm c ba ngi l bn ca nhau hoc l k th ca nhau.
9. Hy ch ra rng, trong 102 ngi c chiu cao khc nhau ng thnh mt hng c th
tm c 11 ngi c chiu cao tng dn hoc gim dn m khng cn thay i th t
ca h trong hng.
10. Mt vt tay tham gia thi u ginh chc v ch trong 75 gi. Mi gi anh ta thi
u t nht mt trn, nhng ton b anh ta khng thi u qu 125 trn. Chng t rng,
c nhng gi lin tip anh ta thi u 24 trn.
11. Mt nhn vin bt u lm vic ti cng ty t nm 1987 vi mc lng khi im l
50000 la. Hng nm anh ta c nhn thm 1000 la v 5% lng ca nm
trc.
a) Hy thit lp h thc truy hi tnh lng ca nhn vin n nm sau nm 1987.
b) Lng vo nm 1995 ca anh ta l bao nhiu?
c) Hy tm cng thc tng minh tnh lng ca nhn vin ny n nm sau nm 1987.
43

12. Tm h thc truy hi cho s hon v ca tp n phn t. Dng h thc truy hi tnh
hon v ca tp n phn t.
13. Mt my bn tem t ng ch nhn cc ng xu mt la v cc loi t tin 1 la
v 5 la.
a) Hy tm h thc truy hi tnh s cch t n la vo trong my bn hng, trong
th t cc ng xu, cc t tin l quan trng.
b) Tm cc iu kin u.
c) C bao nhiu cch t 10 la vo my mua mt b tem.
14. Gii cc h thc truy hi vi cc iu u sau:
vi n 2, a0 = 3, a1 = 6.

b) an = 7an-1 - 6an-2

vi n 2, a0 = 2, a1 = 1.

c) an = 6an-1 - 8an-2

vi n 2, a0 = 4, a1 = 10.

d) an = 2an-1 - an-2

vi n 2, a0 = 4, a1 = 1.

e) an = an-2
f) an = -6an-1 - 9an-2
g) an+2 = -4an+1 + 5an

IT

a) an = an-1 + 6an-2

vi n 2, a0 = 5, a1 = -1.

vi n 2, a0 = 3, a1 = -3.
vi n 0, a0 = 2, a1 = 8.

PT

15. Tm cc nghim c trng ca h thc truy hi tuyn tnh thun nht


a) an = 2an-1 - 2an-2

b) Tm nghim tho mn h thc truy hi trn v cc iu kin u a0 =1, a1 =2.


16. a) Tm nghim c trng ca h thc truy hi tuyn tnh thun nht an = an-4
b) Tm nghim tho mn h thc truy hi trn v cc iu kin u a0=1, a1=0,
a2=-1, a3=1.
17. Mt bo co v th trng my tnh c nhn cho bit c 65000 ngi s mua modem
cho my tnh ca h trong nm ti, 1 250 000 ngi s mua t nht mt sn phm
phn mm. Nu bo co ny ni rng 1.450.000 ngi s mua hoc l modem hoc l
t nht mt sn phm phn mm th s c bao nhiu ngi s mua c modem v mua t
nht mt sn phm phn mm.

44

CHNG 3. BI TON LIT K

Ni dung bi ton m l m xem c bao nhiu cu hnh t hp tha mn mt s tnh


cht no . Bi ton lit khng ch m c cc cu hnh t hp tha mn cc tnh cht
t ra m cn xem xt tng cu hnh t hp l g. i vi mi bi ton, khi cha tm
c thut gii th lit k c xem l bin php cui cng thc hin vi s h tr ca
my tnh. C th ni, lit k c xem l phng php gii vn nng mt bi ton bng
my tnh. Ni dung chnh ca chng ny tp chung gii quyt nhng vn c bn sau:
Gii thiu bi ton lit k.
Thut ton v phc tp tnh ton.
Gii quyt bi ton lit k bng phng php sinh.
Gii quyt bi ton lit k bng phng php quay lui.

3.1- Gii thiu bi ton

IT

Bn c c th tm thy cch gii nhiu bi ton lit k trong cc ti liu [1] v [2]
trong ti liu tham kho.

PT

Bi ton a ra danh sch tt c cc cu hnh t hp c th c c gi l bi ton lit k


t hp. Khc vi bi ton m l tm kim mt cng thc cho li gii, bi ton lit k li
cn xc nh mt thut ton theo c th xy dng c ln lt tt c cc cu hnh
cn quan tm. Mt thut ton lit k phi m bo hai nguyn tc:
Khng c lp li bt k mt cu hnh no.
Khng c b st bt k mt cu hnh no.
V d 1. Cho tp hp cc s a1, a2, .., an v s M. Hy tm tt c cc tp con k phn t ca
dy s {an} sao cho tng s cc phn t trong tp con ng bng M.
Li gii: Nh chng ta bit, s cc tp con k phn t ca tp gm n phn t l C(n,k).
Nh vy chng ta cn phi duyt trong s C(n,k) tp k phn t ly ra nhng tp c
tng cc phn t ng bng M. V khng th xc nh c c bao nhiu tp k phn t t
tp n phn t c tng cc phn t ng bng M nn chng ta ch cn cch lit k cc cu
hnh tho mn iu kin cho.
V d 2. Mt thng nhn i bn hng ti tm thnh ph. Ch ta c th bt u hnh trnh
ca mnh ti mt thnh ph no nhng phi qua 7 thnh ph kia theo bt k th t
no m ch ta mun. Hy ch ra l trnh ngn nht m ch ta c th i.
Li gii: V thnh ph xut pht c xc nh. Do vy thng nhn c th chn tu
7 thnh ph cn li hnh trnh. Nh vy, tt c s hnh trnh ca thng nhn c th

45

i qua l 7! = 5040 cch. Tuy nhin trong 5040 cch chng ta phi duyt ton b ch ra
mt hnh trnh l ngn nht.
C th ni phng php lit k l bin php cui cng nhng cng l bin php ph
dng nht gii quyt cc bi ton t hp. Kh khn chnh ca phng php ny l s
bng n t hp. xy dng chng 1 t cu hnh (con s ny khng phi l ln i vi
cc bi ton t hp nh s mt th t Dn, s phn b Un, s hnh vung la tinh ln), ta gi
s cn 1 giy lit k mt cu hnh th chng ta cng cn 31 nm mi gii quyt xong.
Tuy nhin vi s pht trin nhanh chng ca my tnh, bng phng php lit k, nhiu
bi ton kh ca l thuyt t hp c gii quyt v gp phn thc y s pht trin
ca nhiu ngnh ton hc.

3.2. Thut ton v phc tp tnh ton


3.2.1. V d v nh ngha

IT

nh ngha. Dy h hn cc thao tc s cp F=F1F2..Fn(Input)Output c gi l mt


thut ton trn tp thng tin vo Input c c kt qua ra Output. Dy cc thao tc s
cp y c hiu l cc php ton s hc, cc php ton logic, cc php ton so snh.
Mt thut ton cn tha mn cc tnh cht di y:

Tnh n nh. mi bc ca thut ton, cc thao tc s cp phi ht sc


r rng, khng gy nn s ln xn, nhp nhng, a ngha. Thc hin ng
cc bc ca thut ton trn tp d liu vo, ch cho duy nht mt kt qu
ra.
Tnh dng. Thut ton khng c ri vo qu trnh v hn. Phi dng li
v cho kt qu sau mt s hu hn cc bc.
Tnh ng. Sau khi thc hin tt c cc bc ca thut ton theo ng qui
trnh nh, ta phi nhn c kt qu mong mun vi mi b d liu u
vo. Kt qu c kim chng bng yu cu ca bi ton.
Tnh ph dng. Thut ton phi d sa i thch ng c vi bt k
bi ton no trong lp cc bi ton cng loi v c th lm vic trn nhiu
loi d liu khc nhau.
Tnh kh thi. Thut ton phi d hiu, d ci t, thc hin c trn my
tnh vi thi gian cho php.

PT

3.2.2. Phng php biu din thut ton:


Thng thng, biu din mt thut ton ta c th s dng cc phng php sau:

Biu din bng ngn ng t nhin. Ngn ng t nhin l phng tin


giao tip gia con ngi vi con ngi. Ta c th s dng chnh ngn ng
ny vo vic biu din thut ton.

46

Ngn ng hnh thc. Ngn ng hnh thc l phng tin giao tip trung
gian gia con ngi v h thng my tnh. V d ngn ng s khi, ngn
ng ta t nhin, ngn ng c t. c im chung ca cc loi ngn ng
ny l vic s dng n rt gn vi ngn ng t nhin v ngn ng my tnh.

Ngn ng my tnh. L phng tin giao tip gia my tnh v my tnh.


Trong trng hp ny ta c th s dng bt k nn ng lp trnh no m
t thut ton.

Ghi ch. Trong cc phng php biu din thut ton, phng php biu din
bng ngn ng hnh thc c s dng rng di v n gn vi ngn ng t nhin v
khng ph thuc vo ngn ng my tnh.
V d 1. Biu din thut ton tm USCLN (a, b) bng ngn ng t nhin.
u vo (Input). Hai s t nhin a, b.
u ra (Output). S nguyn u ln nht a v b u chia ht cho u.
Thut ton (Euclide Algorithm):

IT

Bc 1. a vo hai s t nhin a v b.

Bc 2. Nu b 0 th chuyn n bc 3, nu b=0 th thc hin bc 4.


Bc 3. t r = a mod b; a = b; b = r ; Sau quay tr li bc 2.

PT

Bc 4 (Output). Kt lun u=a l s nguyn cn tm.


V d 2. Biu din Biu din thut ton tm USCLN (a, b)bng ngn ng hnh thc.
Thut ton Euclide:

u vo (Input): aN, aN.

u ra (Output): s = max { u N : a mod u =0 and b mod u =0}.


Format : s = Euclide (a, b).
Actions :

while (b 0 ) do
r = a mod b; a = b; b = r;
endwhile;
return(a);
Endactions.
V d 3. Biu din thut ton tm USCLN (a, b) bng ngn ng my tnh (C++).
Int

USCLN( int a, int b) {


while ( b != 0 ) {
r = a % b; a = b; b = r;
47

}
return(a);
}

3.2.3. phc tp tnh ton


Mt bi ton c th thc hin bng nhiu thut ton khc nhau. Chn gii thut nhanh
nht gii bi ton l mt nhu cu ca thc t. V vy ta cn phi c s c lng c th
minh chng bng ton hc mc nhanh chm ca mi gii thut.
Khi nim phc tp thut ton:
Thi gian thc hin mt gii thut bng chng trnh my tnh ph thuc vo cc yu t:
Kch thc d liu vo: D liu cng ln th thi gian x l cng chm.

Phn cng my tnh: my c tc cao thc hin nhanh hn trn my c


tc thp. Tuy vy, yu t ny khng nh hng n qu trnh xc nh
thi gian thc hin ca thut ton nu xem xt thi gian thc hin thut
ton nh mt hm ca di d liu T(n).

IT

PT

Tng qut, cho hai hm f(x), g(x) xc nh trn tp cc s nguyn dng hoc tp cc s
thc vo tp cc s thc. Hm f(x) c gi l O(g(x)) nu tn ti mt hng s C>0 v
n0 sao cho:
|f(x)| C.|g(x)| v mi xn0.

iu ny c ngha vi cc gi tr x n0 hm f(x) b chn trn bi hng s C nhn


vi g(x). Nu f(x) l thi gian thc hin ca mt thut ton th ta ni gii thut c cp
g(x) hay phc tp thut ton l O(g(x)).
Ghi ch. Cc hng s C, n0 tha mn iu kin trn l khng duy nht. Nu c ng thi
f(x) l O(g(x)) v h(x) tha mn g(x) < h(x) vi x>n0 th ta cng c f(x) l O(h(n)).
V d 1. Cho f x a n x n a n1 x n 1 ... a1 x a0 . Trong , ai l cc s thc (i =0,1, 2,
..,n). Khi f(x) = O(xn).
Chng minh. Thc vy, vi mi x>1:

48

f x a n x n a n 1 x n1 ... a1 x a 0
a n x n a n1 x n 1 ... a1 x a 0
a n x n a n1 x n ... a1 x n a0 x n
x n a n a n1 ... a1 a 0

C .x n O( x n ).

PT

IT

C a n a n1 ... a1 a 0

49

V d 2. Tm phc tp thut ton sp xp kiu Bubble-Sort?


Void Bubble-Sort ( int A[], int n ) {
for ( i=1; i<n; i++) {
for ( j = i+1; j<=n; j++){
if (A[i] > A[j]) {
t = A[i]; A[i] = A[j]; A[j] = t;
}
}
}
}
Li gii. S dng trc tip nguyn l cng ta c:
Vi i =1 ta cn s dng n-1 php so snh A[i] vi A[j];

Vi i = 2 ta cn s dng n-1 php so snh A[i] vi A[j];

.....

Vi i = n-1 ta cn s dng 1 php so snh A[i] vi A[j];

IT

PT

V vy tng s cc php ton cn thc hin l:

S = (n-1) + (n-2) + . . . + 2 + 1 = n(n-1)/2 n2 = O(n2).

Ghi ch. phc tp thut ton cng l s ln thc hin php ton tch cc. Php ton
tch cc l php ton thc hin nhiu nht i vi thut ton.
Mt s tnh cht ca phc tp thut ton:

Vi P(n) l mt a thc bc k th O(P(n)) = O(nk). V th ta ni, mt thut


ton c phc tp cp a thc l O(nk).

Vi a, b l hai c s ty v f(n) l mt hm xc nh dng th


logaf(n)=logab.logb(f(n)). V vy phc tp thut ton cp logarit c k
hiu l O(log(f(n)) m khng cn quan tm n c s.

Nu phc tp thut ton l hng s, ngha l thi gian tnh ton khng
ph thuc vo di d liu c k hiu l O(1).

Mt gii thut c cp 2n, n!, nn c gi l gii thut hm m. Nhng gii


thut ny thng c tc rt chm.

phc tp tnh ton ca mt on chng trnh P chnh bng s ln thc


hin mt php ton tch cc. Trong , php ton tch cc trong mt on
chng trnh l php ton m s ln thc hin n khng t hn cc php
ton khc.

50

Cc dng hm nh gi phc tp thut ton:


Tn gi

O(1)

Hng s

O(lg lg n)

Log log

O(lg n)

Logarithm

O(n)

Tuyn tnh

O(n2)

Bc hai

O(n3)

Bc 3

O(nm)

a thc

O(mn)

Hm m

O(n!)

IT

Dng nh gi

Giai tha

PT

3.2.4. Qui tc xc nh phc tp thut ton

Ta li c :

Qui tc tng: Nu f1(x) c phc tp l O(g1(x)) v f2(x) c phc tp l O(g2(x)) th


phc tp ca (f1(x) + f2(x) l O( Max(g1(x), g2(x)).
Chng minh.

V f1(x) c phc tp l O(g1(x) nn tn ti hng s C1 v k1 sao cho


|f1(x)||g1(x)| vi mi x k1;
V f2(x) c phc tp l O(g2(x)) nn tn ti hng s C2 v k2 sao cho
|f2(x)||g2(x)| vi mi x k2;

|f1(x)+ f2(x)| |f1(x)| + |f2(x)|


C1|g1(x)| + C2|g2(x)|
C|g(x)| vi mi x >k;
Trong , C = C1 + C2; g(x) = max( g1(x), g2(x)); k = max (k1, k2).
Tng qut. Nu phc tp ca f1(x), f2(x),.., fm(x) ln lt l O(g1(x)), O(g2(x)),..,
O(gn(x)) th phc tp ca f1(x) + f2(x) + ..+fm(x) l O(max(g1(x), g2(x),..,gm(x)).

51

Qui tc nhn: Nu f(x) c phc tp l O(g(x) th phc tp ca fn(x) l O(gn(x).


Trong :
fn(x) = f(x).f(x).f(x). //n ln f(x).
gn(x) = g(x).g(x)g(x).//n ln g(x)
Ni cch khc, on chng trnh P c thi gian thc hin T(n)= O(f(n)). Khi , nu
thc hin k(n) ln on chng trnh P vi k(n) l O(g(n)) th phc tp tnh ton l
O(f(n). g(n)).
Chng minh. Tht vy theo gi thit f(x) l O(g(x)) nn tn ti hng s C v k sao cho
vi mi x>k th |f(x)| C.|g(x). Ta c:

x
C.g 1 x .C .g 2 x ...C.g n x
C n g n x O g n x
n

IT

f n x f 1 x . f 2 x ... f

3.3. Phng php sinh

Phng php sinh c th p dng gii cc bi ton lit k t hp t ra nu nh hai


iu kin sau c thc hin:
C th xc nh c mt th t trn tp cc cu hnh t hp cn lit k. T
c th xc nh c cu hnh t hp u tin v cui cng trong th t
c xc nh.

(ii)

Xy dng c thut ton t cu hnh cha phi l cui cng ang c a ra


cu hnh k tip sau n.

PT

(i)

Ta gi thut ton trong iu kin (ii) l thut ton sinh k tip. R rng thut ton ny
ch thc hin c khi c mt cu hnh c xc nh theo iu kin (i). Gi s mt bi
ton u tho mn cc iu kin trn, khi phng php sinh k tip c th c m t
bng th tc nh sau:
procedure Generation ( ){
<Xy dng cu hnh ban u>;
stop =false
while (! stop) {
<a ra cu hnh ang c>;
<Sinh ra cu hnh k tip>;
}
}
52

V d 1. Lit k tt c cc dy nh phn di n.
Li gii. Vit dy nh phn di dng b1b2..bn, trong bi{0, 1 }. Xem mi dy nh
phn b=b1b2..bn l biu din nh phn ca mt s nguyn p(b). Khi th t hin nhin
nht c th xc nh trn tp cc dy nh phn l th t t in c xc nh nh sau:
Ta ni dy nh phn b = b1b2..bn i trc dy nh phn b = b1b2..bn theo th t
t in v k hiu b<bnu p(b) <p(b).
V d vi n=4, cc xu nh phn di 4 c lit k theo th t t in l:
p(b)

p(b)

0000

1000

0001

1001

0010

1010

10

0011

1011

11

0100

0101

0110

0111

IT

12

1101

13

1110

14

1111

15

PT

1100

Nh vy, dy u tin l 0000 dy cui cng l 1111. Nhn xt rng, nu xu nh


phn cha ton bt 1 th qu trnh lit k kt thc, tri li dy k tip s nhn c bng
cch cng thm 1 (theo modul 2 c nh) vo dy hin ti. T ta nhn c qui tc sinh
k tip nh sau:
Tm i u tin t phi xang tri (i=n, n-1, . .,1) tho mn bi =0.
Gn li bi =1 v bj=0 vi tt c j>i. Dy thu c l dy cn tm.
V d vi xu nh phn di 10: 1100111011. Ta c i = 8, ta t b8 =1, b9,b10 =0
ta c xu nh phn k tip: 1100111100.
Thut ton sinh k tip c m t trong th tc sau:
void Next_Bit_String( void ){
int i = n;//Xut pht ti i=n
while (i> 0 && bi !=0 ) { //Nu bi=1 th gn thnh 0
bi = 0; i = i-1;
}
if ( i > 0 ) bi = 1; //Nu cha l cu hnh cui cng th i>0
else OK = False; ///Nu l cu hnh cui cng th i=0
}

53

PT

IT

Di y l chng trnh lit k cc xu nh phn c di n.


#include <iostream.h>
#include <stdlib.h>
#define MAX 100
#define TRUE 1
#define FALSE 0
int n, X[MAX], OK=TRUE, dem=0;
void Init (void ){
cout<<"\n Nhap n=";cin>>n;
for (int i=1; i<=n; i++) X[i] =0;
}
void Result(void){
cout<<"\n Ket qua buoc "<<++dem<<":";
for (int i=1; i<=n; i++)
cout<<X[i]<<" ";
}
void Next_Bit_String(void) {
int i= n;
while (i>0 && X[i]!=0){ X[i] = 0; i --; }
if (i > 0 ) X[i] = 1;
else OK = FALSE;
}
int main() {
Init(); //Nhap n = 4
while (OK ){
Result();
Next_Bit_String();
}
system("PAUSE"); return 0;
}
Kt qu thc hin chng trnh:
Nhap n=4
Ket qua buoc 1:0 0 0 0
Ket qua buoc 2:0 0 0 1
Ket qua buoc 3:0 0 1 0
Ket qua buoc 4:0 0 1 1
Ket qua buoc 5:0 1 0 0
Ket qua buoc 6:0 1 0 1
Ket qua buoc 7:0 1 1 0
Ket qua buoc 8:0 1 1 1
Ket qua buoc 9:1 0 0 0
Ket qua buoc 10:1 0 0 1
Ket qua buoc 11:1 0 1 0
54

Ket qua buoc 12:1


Ket qua buoc 13:1
Ket qua buoc 14:1
Ket qua buoc 15:1
Ket qua buoc 16:1

0
1
1
1
1

1
0
0
1
1

1
0
1
0
1

V d 2. Lit k tp con m phn t ca tp n phn t. Cho X = { 1, 2, . ., n }. Hy lit k


tt c cc tp con k phn t ca X (k n).
Li gii: Mi tp con ca tp hp X c th biu din bng b c th t gm k thnh phn
a =(a1a2..ak) tho mn 1 a1 a2 . . ak n. Trn tp cc tp con k phn t ca X c th
xc nh nhiu th t khc nhau. Th t d nhn thy nht l th t t in c nh
ngha nh sau:
Ta ni tp con a = a1a2. . . ak i trc tp con a = a1a2. . .ak trong th t t in
v k hiu l a<a, nu tm c ch s j ( 1 j k ) sao cho
a1 = a1, a2 = a2, . . ., aj-1 = aj-1, aj < aj.

PT

IT

Chng hn X = { 1, 2, 3, 4, 5 }, k = 3. Cc tp con 3 phn t ca X c lit k


theo th t t in nh sau:
1
2
3
1
2
4
1
2
5
1
3
4
1
3
5
1
4
5
2
3
4
2
3
5
2
4
5
3
4
5
Nh vy, tp con u tin trong th t t in l (1, 2, . ., k) v tp con cui cng
l (n-k+1, n-k+2, . ., n). Gi s a = (a1, a2, . ., ak) l tp con hin ti v cha phi l cui
cng, khi c th chng minh c rng tp con k tip trong th t t in c th
c xy dng bng cch thc hin cc qui tc bin i sau i vi tp con ang c.
Tm t bn phi dy a1, a2, . ., ak phn t ain k + i
Thay ai bi ai +1,
Thay aj bi ai + j i, vi j:= i+1, i + 2, . . ., k
Chng hn vi n = 6, k =4. Gi s ta ang c tp con (1, 2, 5, 6), cn xy dng tp
con k tip n trong th t t in. Duyt t bn phi ta nhn c i =2, thay a2 bi a2 +
1 = 2 + 1 =3. Duyt j t i + 1 = 3 cho n k, ta thay th a3 = a2 + 3 2 = 3 + 3 - 2 = 4, a4 =
a2 + 4 - 2 = 3 + 4 2 = 5 ta nhn c tp con k tip l ( 1, 3, 4, 5).
Vi qui tc sinh nh trn, chng ta c th m t bng thut ton sau:

55

Thut ton lit k tp con k tip m phn t ca tp n phn t:


void Next_Combination(void){
i = k; //Xut pht t v tr th k
while ( i> 0 && ai == n-k+i) //Xc nh i ai n-k+i
i = i -1;
if (i>0) { //Nu cha phi l t hp cui cng th i>0
ai = ai + 1;
for ( j = i+1; j <=k; j++)
aj = ai + j - i;
}
else OK =False; ////Nu l t hp cui cng th i=0

IT

Di y l chng trnh lit k t hp chp k ca 1, 2, .., n.


#include <iostream.h>
#include <stdlib.h>
#define MAX 100

PT

#define TRUE 1

#define FALSE 0

int n,k,X[MAX],OK=TRUE,dem=0;
void Init (void ){

cout<<"\n Nhap n=";cin>>n;

cout<<"\n Nhap k=";cin>>k;


for (int i=1; i<=k; i++)
X[i] =i;

}
void Result(void){
cout<<"\n Ket qua buoc "<<++dem<<":";
for (int i=1; i<=k; i++)
cout<<X[i]<<" ";
}

56

void Next_Combination(void) {
int i= k;
while (i>0 && X[i]==n-k+i)i--;
if (i > 0 ) {
X[i] = X[i] +1;
for (int j = i+1; j<=k; j++)
X[j] = X[i] + j - i;
}
else OK = FALSE;
}
int main() {
Init(); //Nhap n = 5, k = 3

IT

while (OK ){

Result();

Next_Combination();
}

PT

system("PAUSE");
return 0;

}
Kt qu thc hin chng trnh vi n = 5, k= 3.
Nhap n=5
Nhap k=3
Ket qua buoc 1:1 2 3
Ket qua buoc 2:1 2 4
Ket qua buoc 3:1 2 5
Ket qua buoc 4:1 3 4
Ket qua buoc 5:1 3 5
Ket qua buoc 6:1 4 5
Ket qua buoc 7:2 3 4
Ket qua buoc 8:2 3 5
Ket qua buoc 9:2 4 5
Ket qua buoc 10:3 4 5
V d 3. Lit k cc hon v ca tp n phn t. Cho X = { 1, 2, .., n }. Hy lit k cc
hon v t n phn t ca X.
Li gii : Mi hon v t n phn t ca X c th biu din bi b c th t n thnh phn
57

a = (a1, a2, .., an) tho mn ai X, i = 1, 2, .., n, ap aq, p q.


Trn tp cc hon v t n phn t ca X c th xc nh nhiu th t khc nhau. Tuy
nhin, th t d thy nht l th t t in c nh ngha nh sau:
Ta ni hon v a = a1a2. . . an i trc hon v a = a1a2. . .an trong th t t in
v k hiu l a<a, nu tm c ch s k ( 1 k n ) sao cho
a1 = a1, a2 = a2, . . ., ak-1 = ak-1, ak < ak.

IT

Chng hn X = { 1, 2, 3, 4}. Cc hon v cc phn t ca X c lit k theo th t t


in nh sau:

PT

Nh vy, hon v u tin trong th t t in l (1, 2, , n) v hon v cui cng


l (n, n-1, . . ., 1). Gi s a = a1a2. . . an l mt hon v cha phi l cui cng. Khi ta
c th chng minh c rng, hon v k tip trong th t t in c th xy dng bng
cch thc hin cc qui tc bin i sau i vi hon v hin ti:
Tm t phi qua tri hon v c ch s j u tin tho mn aj <aj+1(hay j l ch s
ln nht aj <aj+1);
Tm ak l s nh nht cn ln hn aj trong cc s bn phi aj;
i ch aj vi ak

Lt ngc on t aj+1 n an.

Chng hn ta ang c hon v (3, 6, 2, 5, 4, 1), cn xy dng hon v k tip theo


th t t in. Ta duyt t j= n-1 sang bn tri tm j u tin tho mn aj < aj+1 ta nhn
uc j=3 ( a3=2<a4=5). S nh nht cn ln hn a3 trong cc s bn phi a3 l a5 (a5=4).
i ch a3 cho a5 ta thu uc (3, 6, 4, 5, 2, 1), lt ngc on t a4 n a6 ta nhn c
(3,6,4,1,2,5).
T thut ton sinh k tip c th c m t bng th tc sau:

58

Thut ton sinh hon v k tip:


void Next_Permutation( void ){
j = n-1; //Duyt t v tr j=n-1
while (j> 0 && aj > aj +1 ) //Tm v tr j aj > aj +1
j = j -1;
if (j>0) { // Nu j>0 th hon v cha phi cui cng
k = n; //Xut pht t v tr k=n
while (aj > ak ) // Tm k aj < ak
k= k - 1;
temp =aj; aj = ak; ak = temp;//i ch aj cho ak
r = j + 1; s = n;
while ( r < s) {//Lt ngc li on t j+1 n n

IT

temp = ar; ar = as; as = temp;


r = r +1;
}
}

s = s - 1;

PT

else OK = False;//Nu l hon v cui cng th i=0

Chng trnh lit k hon v c th hin nh sau:


#include <iostream.h>
#define MAX 100
#define TRUE 1
#define FALSE 0
int n,X[MAX],OK=TRUE,dem=0;
void Init (void ){
cout<<"\n Nhap n=";cin>>n;
for (int i=1; i<=n; i++)
X[i] =i;
}
void Result(void){
cout<<"\n Ket qua buoc "<<++dem<<":";
for (int i=1; i<=n; i++)
cout<<X[i]<<"
";
}

59

PT

IT

void Next_Permutation(void) {
int j= n-1;
while (j>0 && X[j]>X[j+1])j--;
if (j > 0 ) {
int k =n;
while(X[j]>X[k]) k--;
int t = X[j]; X[j]=X[k]; X[k]=t;
int r = j +1, s =n;
while (r<=s ) {
t = X[r]; X[r]=X[s]; X[s] =t;
r ++; s--;
}
}
else OK = FALSE;
}
int main()
{
Init(); //Nhap n = 4
while (OK ){
Result();
Next_Permutation();
}
system("PAUSE");
return 0;
}
Kt qu thc hin chng trnh vi n=3:
Nhap n=3
Ket
Ket
Ket
Ket
Ket
Ket

qua
qua
qua
qua
qua
qua

buoc
buoc
buoc
buoc
buoc
buoc

1:1
2:1
3:2
4:2
5:3
6:3

2
3
1
3
1
2

3
2
3
1
2
1

V d 4. Bi ton: Cho n l s nguyn dng. Mt cch phn chia s n l biu din n


thnh tng cc s t nhin khng ln hn n. Chng hn 8 = 2 + 3 + 2.
Li gii. Hai cch chia c gi l ng nht nu chng c cng cc s hng v ch khc
nhau v th t sp xp. Chn cch phn chia s n = b1 + b2 + . . .+bk vi b1>b2>...> bk, v
duyt theo trnh t t in ngc. Chng hn vi n = 5, chng ta c th t t in ngc
ca cc cch phn chia nh sau:

60

5
4

Nh vy, cch chia u tin chnh l n. Cch chia cui cng l dy n s 1. By gi


chng ta ch cn xy dng thut ton sinh k tip cho mi cch phn chia cha phi l
cui cng.

PT

IT

Thut ton sinh cch phn chia k tip:


void Next_Division(void){
int i, j, R, S, D;
i = k; //Xut pht t cui cch chia trc
while(i>0 && C[i]==1) //Tm i sao cho C[i]1
i--;
if(i>0){ // Nu cha phi l cch chia cui cng th i>0
C[i] = C[i]-1; //Gim C[i] i mt n v.
D = k - i +1;
R = D / C[i];
S = D % C[i];
k = i;
if(R>0){
for(j=i+1; j<=i+R; j++)
C[j] = C[i];
k = k+R;
}
if(S>0){
k=k+1; C[k] = S;
}
}
else Stop=TRUE;
}

61

PT

IT

Chng trnh lit k cc cch chia s n thnh tng cc s nh hn:


#include <iostream.h>
#include <stdlib.h>
#define MAX 100
#define TRUE 1
#define FALSE 0
int n, k, X[MAX], dem =0, OK =TRUE;
void Init(void ){
cout<<"\n Nhap n=";cin>>n; k = 1; X[k] = n;
}
void Result(void) {
cout<<"\n Cach chia "<<++dem<<":";
for (int i=1; i<=k; i++)
cout<<X[i]<<" ";
}
void Next_Division(void ){
int i = k, j, R, S,D;
while (i > 0 && X[i]==1 ) i--;
if (i>0 ) {
X[i] = X[i] - 1;
D = k - i + 1;
R = D / X[i];
S = D % X[i];
k= i;
if (R>0) {
for ( j = i +1; j<=i + R; j++) X[j] = X[i];
k = k + R;
}
if (S>0 ){ k = k +1; X[k] = S; }
}
else OK =0;
}
int main() {
Init();
while (OK ) {
Result();
Next_Division();
}
system("PAUSE");
return 0;
}

62

3.4. Thut ton quay lui (Back track)


Phng php sinh k tip c th gii quyt c cc bi ton lit k khi ta nhn
bit c cu hnh u tin & cu hnh cui cng ca bi ton. Tuy nhin, khng phi
cu hnh sinh k tip no cng c sinh mt cch n gin t cu hnh hin ti, ngay k
c vic pht hin cu hnh ban u cng khng phi d tm v nhiu khi chng ta phi
chng minh s tn ti ca cu hnh. Do vy, thut ton sinh k tip ch gii quyt c
nhng bi ton lit k n gin. gii quyt nhng bi ton t hp phc tp, ngi ta
thng dng thut ton quay lui (Back Track) s c trnh by di y.
Ni dung chnh ca thut ton ny l xy dng dn cc thnh phn ca cu hnh bng
cch th tt c cc kh nng. Gi s cn phi tm mt cu hnh ca bi ton x = (x1, x2, . .,
xn) m i-1 thnh phn x1, x2, . ., xi-1 c xc nh, by gi ta xc nh thnh phn th i
ca cu hnh bng cch duyt tt c cc kh nng c th c v nh s cc kh nng t 1
. .ni. Vi mi kh nng j, kim tra xem j c chp nhn c hay khng. Khi c th xy
ra hai trng hp:

IT

Nu chp nhn j th xc nh xi theo j, nu i=n th ta c mt cu hnh cn tm,


ngc li xc nh tip thnh phn xi+1.
Nu th tt c cc kh nng m khng c kh nng no c chp nhn th quay
li bc trc xc nh li xi-1.

PT

im quan trng nht ca thut ton l phi ghi nh li mi bc i qua, nhng


kh nng no c th trnh s trng lp. nh li nhng bc duyt trc ,
chng trnh cn phi c t chc theo c ch ngn xp (Last in first out). V vy, thut
ton quay lui rt ph hp vi nhng php gi qui. Thut ton quay lui xc nh thnh
phn th i c th c m t bng th tc Try(i) nh sau:
void Try( int i ) {

for ( j = 1; j < ni; j ++) {

if ( <Chp nhn j >) {

<Xc nh xi theo j>


if (i==n)

<Ghi nhn cu hnh>;


else

Try(i+1);

}
}
}

63

C th m t qu trnh tm kim li gii theo thut ton quay lui bng cy tm


kim li gii sau:
Gc
Kh nng chn x1

Kh nng chn x2
vi x1 chn
Kh nng chn x3 vi

IT

x1, x2 chn
Hnh 3.1. Cy lit k li gii theo thut ton quay lui.

Di y l mt s v d in hnh s dng thut ton quay lui.

PT

V d 1. Lit k cc xu nh phn di n.

Biu din cc xu nh phn di dng b1, b2,..., bn, trong bi{0, 1 }. Th tc


qui Try(i) xc nh bi vi cc gi tr c cho bi l 0 v 1. Cc gi tr ny mc nhin c
chp nhn m khng cn phi tho mn iu kin g (do bi ton khng cn n bin
trng thi). Th tc Init khi to gi tr n v bin m count. Th tc kt qu in ra dy nh
phn tm c. Chng hn vi n =3 , cy tm kim li gii c th hin nh hnh 3.2.
Gc

000

001 010

0
1
011

0
100

1
101

110

111

Hnh 3.2. Cy tm kim li gii lit k dy nh phn di 3


Vn bn chng trnh lit k cc xu nh phn c di n s dng thut ton quay lui
c thc hin nh sau:

64

PT

IT

#include <iostream.h>
#include <stdlib.h>
#define MAX 100
#define TRUE 1
#define FALSE 0
int n, X[MAX], dem=0;
void Init (void ){
cout<<"\n Nhap n=";cin>>n;
}
void Result(void){
cout<<"\n Ket qua buoc "<<++dem<<":";
for (int i=1; i<=n; i++)
cout<<X[i]<<" ";
}
void Try (int i) {
for (int j=0; j<=1; j++){
X[i] = j;
if (i==n) Result();
else Try(i+1);
}
}
int main(){
Init(); //Nhap n = 4
Try(1);system("PAUSE");return 0;
}

V d 2. Lit k cc tp con k phn t ca tp n phn t


Gii. Biu din tp con k phn t di dng c1, c2, . ., ck, trong 1< c1<c2 . .n . T
suy ra cc gi tr c cho ci l t ci-1 + 1 cho n n - k + i. Cn thm vo c0 = 0. Cc gi
tr c ny mc nhin c chp nhn m khng cn phi thm iu kin g. Cc th
tc Init, Result c xy dng nh nhng v d trn. Cy tm kim li gii bi ton lit
k tp con k phn t ca tp n phn t vi n=5, k=3 c th hin nh trong hnh 3.3.
Gc
1

3
123

4
124

124 134

135

3
3

4
145

234

4
5

235

Hnh 3.3. Cy lit k t hp chp 3 t {1, 2, 3, 4, 5 }


65

5
245

345

PT

IT

Chng trnh lit k cc tp con k phn t trong tp n phn t c th hin nh sau:


#include <iostream.h>
#include <stdlib.h>
#define MAX 100
#define TRUE 1
#define FALSE 0
int n,k,X[MAX],dem=0;
void Init (void ){
cout<<"\n Nhap n=";cin>>n;
cout<<"\n Nhap k=";cin>>k;
X[0] = 0;
}
void Result(void){
cout<<"\n Ket qua buoc "<<++dem<<":";
for (int i=1; i<=k; i++)
cout<<X[i]<<" ";
}
void Try(int i ) {
for (int j = X[i-1]+1; j<= n-k+i; j++){
X[i] = j;
if (i==k) Result();
else Try(i+1);
}
}
int main(){
Init(); //Nhap n = 5, k = 3
Try(1);
system("PAUSE");
return 0;
}
V d 3. Lit k cc hon v ca tp n phn t.
Li gii. Biu din hon v di dng p1, p2, .., pn, trong pi nhn gi tr t 1 n n v
pipj vi ij. Cc gi tr t 1 n n ln lt c c cho pi, trong gi tr j c chp
nhn nu n cha c dng. V vy, cn phi ghi nh vi mi gi tr j xem n c
dng hay cha. iu ny c thc hin nh mt dy cc bin logic bj, trong bj = true
nu j cha c dng. Cc bin ny phi c khi u gi tr true trong th tc Init. Sau
khi gn j cho pi , cn ghi nhn false cho b j v phi gn true khi thc hin xong Result hay
Try(i+1). Cc th tc cn li ging nh v d 1, 2. Hnh 3.4 m t cy tm kim li gii
bi ton lit k hon v ca 1, 2, . ., n vi n = 3.

66

Gc
1
2
3
1,2,3

1
2

1,3, 2

3
3

2,1,3

2,3,1

2
3,1,2

1
3,2,1

Hnh 3.4. Cy tm kim li gii bi ton lit k hon v ca {1,2,3}

PT

IT

Sau y l chng trnh gii quyt bi ton lit k cc hon v ca 1, 2, . ., n.


#include <iostream.h>
#include <stdlib.h>
#define MAX 100
#define TRUE 1
#define FALSE 0
int n,X[MAX],chuaxet[MAX],dem=0;
void Init (void ){
cout<<"\n Nhap n=";cin>>n;
for (int i=1; i<=n; i++) chuaxet[i] = TRUE;
}
void Result(void){
cout<<"\n Ket qua buoc "<<++dem<<":";
for (int i=1; i<=n; i++) cout<<X[i]<<" ";
}
void Try(int i){
for (int j =1; j<=n; j++){
if (chuaxet[j]) {
X[i] = j; chuaxet[j] = FALSE;
if (i == n) Result();
else Try(i+1);
chuaxet[j] = TRUE;
}
}
}
int main(){ Init(); //Nhap n = 4
Try (1); system("PAUSE"); return 0;
}

67

V d 4. Bi ton Xp Hu. Lit k tt c cc cch xp n qun hu trn bn c n x n sao


cho chng khng n c nhau.
Li gii. Bn c c n hng c nh s t 1 n n, n ct c nh s t 1 n n; Bn
c c n*2 -1 ng cho xui c nh s t 1 n 2*n -1, 2 *n -1 ng cho ngc
c nh s t 1n 2*n -1. V d: vi bn c 8 x 8, chng ta c 8 hng c nh s t
1 n 8, 8 ct c nh s t 1 n 8, 15 ng cho xui, 15 ng cho ngc c
nh s t 1 . .15.
V trn mi hng ch xp c ng mt qun hu, nn chng ta ch cn quan tm
n qun hu c xp ct no. T dn n vic xc nh b n thnh phn x1, x2, . .,
xn, trong xi = j c hiu l qun hu ti dng i xp vo ct th j. Gi tr ca i c
nhn t 1 n n; gi tr ca j cng c nhn t 1 n n, nhng tho mn iu kin (i,j)
cha b qun hu khc chiu n theo ct, ng cho xui, ng cho ngc.

PT

IT

Vic kim sot theo hng ngang l khng cn thit v trn mi hng ch xp ng
mt qun hu. Vic kim sot theo ct c ghi nhn nh dy bin logic chuaxetj vi qui
c chuaxetj=True nu ct j cn trng, ct chuaxetj= False nu ct j khng cn trng.
ghi nhn ng cho xui v ng cho ngc c chiu ti (i,j) hay khng, ta s dng
phng trnh i + j = const v i - j = const, ng cho th nht c ghi nhn bi dy
bin XUOIj, ng cho th 2 c ghi nhn bi dy bin NGUOCj vi qui c nu
ng cho no cn trng th gi tr tng ng ca n l True ngc li l False. Nh
vy, ct j c chp nhn khi c 3 bin chuaxetj, XUOIi+j, NGUOCi+j u c gi tr 1.
Cc bin ny phi c khi u gi tr True trc , gn li gi tr False khi xp xong
qun hu th i v tr li gi tr 1 khi a ra kt qu.
Di y l chng trnh bng thut ton quay lui.
#include <iostream.h>
#include <stdlib.h>
#define MAX 100
#define TRUE 1
#define FALSE 0
int X[MAX], XUOI[MAX], NGUOC[MAX], chuaxet[MAX];
int n, dem =0;
void Init (void ) {
cout<<"\n Nhap n ="; cin>>n;
for (int i=1; i<=n; i++) chuaxet[i]=TRUE;
for (int i=1; i<=(2*n-1); i++) {
XUOI[i] = TRUE; NGUOC[i]=TRUE;
}
}
void Result(void ) {
cout<<"\n Phuon an "<<++dem<<":";
for (int i=1; i<=n; i++)
cout<<X[i]<<" ";
}

68

IT

void Try(int i){


for (int j =1; j<=n; j++){
if (chuaxet[j] && XUOI[i-j+n] && NGUOC[i+j-1]){
X[i] = j;chuaxet[j]=FALSE;
XUOI[i-j+n]=FALSE;NGUOC[i+j-1]=FALSE;
if (i==n ) Result();
else Try(i+1);
chuaxet[j]=TRUE;XUOI[i-j+n]=TRUE;
NGUOC[i+j-1]=TRUE;
}
}
}
int main(){
Init(); Try(1);
system("PAUSE");
return 0;
}
Di y l s cch xp hu ng vi n.
4

Hn

40

92

352

10

11

12

13

14

724

2680

14200

73712

365596

PT

Nghim u tin m chng trnh tm c ng vi n =8 l x =(1, 5, 8, 6, 3, 7, 2, 4) n


tng ng vi cch xp trn hnh 5.

3.5. Nhng ni dung cn ghi nh


Th no l bi ton lit k?

Nhng iu kin bt buc ca mt thut ton lit k.


Hiu v nm vng lp cc bi ton c th gii c bng phng php sinh.
Hiu v nm vng nhng yu t cn thit thc hin gii thut quay lui.

69

BI TP CHNG 3

1. Lit k tt c cc xu nh phn di 5 khn cha hai s 0 lin tip.


2. Lit k tt c cc phn t ca tp
n

D x ( x1 , x 2 ,, x n : a j x j b,

x j Z , j 1,2,, n

j 1

Trong a1,a2,..,an, b l cc s nguyn dng.

IT

3. Hnh vung thn b ma phng bc n l ma trn vung cp n vi cc phn t l


cc s t nhin t 1 n n2 tha mn cc tnh cht: Tng cc phn t trn mi
dng, mi ct v mi mt trong hai ng cho c cng mt gi tr. Hy lit k tt
c cc ma phng bc 3, 4 khng sai khc nhau bi cc php bin hnh n gin
(quay, i xng).
V d di y l mt ma phng bc 3 tha mn tnh cht tng hng, ct, ng
cho u l 15.

8 1 6

PT

3 5 7
4 9 2

4. Tam gic thn b. Cho mt li vung gm n x n v s nguyn dng k. Tm


cch in cc s t nhin t 1 n 3n-3 vo cc ct u tin, dng cui cng
v ng cho chnh sao cho tng cc s in trong ct u tin, dng cui cng
v ng cho chnh ca li u bng k. V d n=5, k = 35 ta c cch in sau:
11
10

1
4

7
5

12

Pht trin thut ton da trn thut ton quay lui ch ra vi gi tr ca n, k cho
trc bi ton c li gii hay khng. Nu c cu tr li ch cn a ra mt li gii.

70

5. Tm tp con di nht c th t tng dn, gim dn. Cho dy s a1, a2, . . ., an.
Hy tm dy con di nht c sp xp theo th t tng hoc gim dn. D liu
vo cho bi file tapcon.in, dng u tin ghi li s t nhin n (n100), dng k
tip ghi li n s, mi s c phn bit vi nhau bi mt hoc vi k t rng. Kt
qu ghi li trong file tapcon.out. V d sau s minh ha cho file tapcon.in v
tapcon.out.
tapcon.in
tapcon.out
5
5
7 1 3 8 9 6 12
1 3 8 9 12

PT

IT

6. Duyt cc tp con tho mn iu kin. Cho dy s a1, a2, . . ., an v s M. Hy


tm tt c cc dy con dy con trong dy s a1, a2, . . ., an sao cho tng cc phn t
trong dy con ng bng M. D liu vo cho bi file tapcon.in, dng u tin ghi
li hai s t nhin N v s M (N100), dng k tip ghi li N s mi s c phn
bit vi nhau bi mt v du trng. Kt qu ghi li trong file tapcon.out. V d sau
s minh ha cho file tapcon.in v tapcon.out
tapcon.in
7
50
5
10
15
20
25
30
35
tapcon.out
20
30
15
35
10
15
25
5
20
25
5
15
30
5
10
35
5
10
15
20
7. Cho li hnh ch nht gm (nm) hnh vung n v. Hy lit k tt c cc
ng i t im c ta (0, 0) n im c ta (nm). Bit rng, im (0, 0)
c coi l nh di ca hnh vung di nht gc bn tri, mi bc i ch c
php thc hin hoc ln trn hoc xung di theo cnh ca hnh vung n v.
D liu vo cho bi file bai14.inp, kt qu ghi li trong file bai14.out. V d sau s
minh ha cho file bai14.in v bai14.out.
bai14.in
22
bai14.out
00
1
1
01
0
1
01
1
0
10
0
1
10
1
0
11
0
0

71

PT

IT

8. Tm b gi tr ri rc hm mc tiu sin(x1+x2 + . . .+ xk) t gi tr ln nht.


D liu vo cho bi file bai4.inp, kt qu ghi li trong file bai4.out.
9. Duyt mi php ton trong tnh ton gi tr biu thc. Vit chng trnh nhp t
bn phm hai s nguyn M, N. Hy tm cch thay cc du ? trong biu thc sau bi
cc php ton +, -, *, %, / (chia nguyn) sao cho gi tr ca biu thc nhn c
bng ng N:
( (((M?M) ?M)?M)?M)?M)?M
Nu khng c hy a ra thng bo l khng th c.

72

CHNG 4. BI TON TI U

Bi ton m thc hin m cc cu hnh t hp tha mn mt s tnh cht no . Bi


ton lit k xem xt tng cu hnh t hp tha mn cc tnh cht t ra. Bi ton ti u
ch quan tm n nghim tt nht ( xu nht) theo mt ngha no t ra ca bi ton.
Ni dung chnh ca chng ny l gii thiu cc phng php gii quyt bi ton ti u
ng thi gii quyt mt s bi ton c vai tr quan trng ca l thuyt t hp. Nhng
ni dung c cp bao gm:
Gii thiu bi ton v pht biu bi ton ti u cho cc m hnh thc t.
Phng php lit k gii quyt bi ton ti u.
Phng php nhnh cn gii quyt bi ton ti u.
Phng php qui hoch ng gii quyt bi ton ti u.

4.1. Gii thiu bi ton

IT

Bn c c th tm thy phng php gii chi tit cho nhiu bi ton ti u quan trng
trong cc ti liu [1], [2].

PT

Trong nhiu bi ton thc t, cc cu hnh t hp cn c gn mt gi tr bng s


nh gi gi tr s dng ca cu hnh i vi mt mc ch s dng c th no . Khi
xut hin bi ton: Hy la chn trong s tt c cc cu hnh t hp chp nhn c cu
hnh c gi tr s dng tt nht. Cc bi ton nh vy c gi l bi ton ti u t hp.
Chng ta c th pht biu bi ton ti u t hp di dng tng qut nh sau:
Tm cc tiu (hay cc i) ca phim hm f(x) = min(max) vi iu kin x D,
trong D l tp hu hn cc phn t.
Tp D gi l tp cc phng n ca bi ton.
Mi phn t x D c gi l mt phng n.
Hm f(x) c gi l hm mc tiu ca bi ton.
Phng n x* D em li gi tr nh nht (ln nht) cho hm mc tiu c
gi l phng n ti u.
Gi tr f* = f(x*) c gi l gi tr ti u ca bi ton.
Di y l mt s bi ton ti u t hp kinh in. Cc bi ton ny l nhng m
hnh c nhiu ng dng thc t v gi vai tr quan trng trong vic nghin cu v pht
trin l thuyt ti u ho t hp.
Bi ton ci ti. Mt nh thm him cn em theo mt ci ti c trng lng khng qu
b. C n vt c th em theo. vt th j c trng lng aj v gi tr s dng cj (j =1 ,
73

2 , . . , n). Hi nh thm him cn em theo nhng vt no cho tng gi tr s dng


l ln nht ?
Gi A = (a1, a2,..,an), C = (c1, c2,..,cn) tng ng vi vector trng lng v gi tr
s dng cc vt. Khi ta c th xc nh c tp cc phng n v hm mc tiu
ca bi ton nh sau:
Tp cc phng n ca bi ton: Mt phng n ca nh thm him c th biu
din nh mt vector nh phn di n: X = (x1,x2, . ., xn ), trong xi = 1 c ngha l
vt th i c em theo, xi = 0 c ngha vt th i khng c em theo. Tp cc xu
nh phn X =(x1,..,xn) cn phi tha mn iu kin tng trng lng khng vt qu b.
Ni cch khc, tp phng n D ca bi ton c xc nh nh cng thc di y.
n

D X x1 , x 2 ,..., xn : ai xi b
i 1

IT

Hm mc tiu ca bi ton: Vi mi phng n XD, gi tr s dng cc vt


n
n
em theo l f ( X ) i 1 ci xi , tng trng lng vt em theo l g ( X ) i 1 ai xi . Nh
vy bi ton ci ti c pht biu di dng bi ton ti u t hp sau:
Trong s cc vetor nh phn di n tho mn iu kin g(X) b, hy tm vector
X* hm mc tiu f(X) t gi tr ln nht. Ni cch khc
tm min{ f(X) : XD v g(x) b}

PT

Bi ton Ngi du lch. Mt ngi du lch mun i thm quan n thnh ph T1, T2, , Tn.
Xut pht t mt thnh ph no , ngi du lch mun i qua tt c cc thnh ph cn
li, mi thnh ph i qua ng mt ln, ri quay tr li thnh ph xut pht. Bit cij l chi
ph i t thnh ph Ti n thnh ph Tj (i,j = 1, 2, . ., n), hy tm hnh trnh vi tng chi
ph l nh nht cho ngi du lch (mt hnh trnh l mt cch i tho mn iu kin).
Khng hn ch tnh tng qut ca bi ton ta gi s ngi du lch lun xut pht
ti mt thnh ph c nh (gi s l thnh ph s 1). Khi , tp phng n v hm mc
tiu ca bi ton c xc nh nh sau.
Tp phng n ca bi ton: R rng, mi hnh trnh ca ngi du lch c dng
X = (x1, x2, .., xn, x1). X = (x1, x2, .., xn) l hon v ca 1, 2,..,n v x1 =1 v tr u tin v
cui cng v ta xem ngi du lch xut pht t thnh ph s 1 v sau ngi du lch
phi tr li im xut pht. Nh vy, ta ch c (n-1)! hnh trnh thc s. V vy, tp
phng n ca bi ton l

D X x1 , x 2 ,..., x n : x1 1; xi x j : i j; i, j 2,3,.., n.
Hm mc tiu ca bi ton: Chi ph ca mi hnh trnh ng vi mi XD l tng
chi ph i t thnh ph th i n thnh ph th j. Do vy hm mc tiu ca bi ton l:

74

n 1

f ( X ) C[ X [i ]][ X [i 1]] C[ X [ n]][ X [1]]


i 1

C[ X [1]][ X [ 2]] C[ X [ 2]][ X [3]] ... C[ X [n 1]][ X [n]] C[ X [ n]][ X [1]]


Nh vy, bi ton ngi du lch c th pht biu di dng bi ton ti u t hp
sau:
Tm min { f(X) : X D }
Bi ton cho thu my. Mt ng ch c mt ci my cho thu. u thng ng ta nhn
c yu cu thu my ca m khch hng. Mi khch hng i s cho bit tp Ni cc ngy
trong thng cn s dng my ( i = 1, 2, . ., m). ng ch ch c quyn hoc t chi yu cu
ca khch hng i, hoc nu nhn th phi b tr my phc v khch hng i ng nhng
ngy m khch hng ny yu cu. Hi rng ng ch phi tip nhn cc yu cu ca khch
th no cho tng s ngy s dng my l ln nht.
Tp phng n ca bi ton. K hiu, I = { 1, 2, . ., m } l tp ch s khch hng,
S l tp hp cc tp con ca I. Khi , tp hp tt c cc phng n cho thu my l

IT

D J S : N k N p , k p J

Hm mc tiu ca bi ton. Vi mi phng n J D, mi phng n cho thu


my l tng s ngy s dng my theo phng n . Do vy, hm mc tiu ca bi ton
l f ( j ) | N j | . Khi , bi ton c th pht biu di dng bi ton ti u t hp sau:

PT

jJ

max{ f ( j ) : j D} .

Bi ton phn cng cng vic. C n cng vic v n th. Bit cij l chi ph cn tr th i
hon thnh cng vic th j (i, j = 1, 2, . . ., n ). Cn phi thu th sao cho cc cng vic
u hon thnh v mi th ch thc hin mt cng vic, mi cng vic ch do mt th
thc hin. Hy tm cch thu n nhn cng sao cho tng chi ph thu th l nh nht.
Tp phng n ca bi ton. R rng, mi phng n b tr th thc hin cc
cng vic tng ng vi mt hon v = ( (1), (2) , . . ., (n) ). Do vy, tp cc
phng n ca bi ton l tp cc hon v ca 1, 2,..,n.
Hm mc tiu ca bi ton. ng vi mi phng n, chi ph theo phng n l
f ( ) C (1),1 C ( 2), 2 C ( n),n .

Cng vic

Th thc hin

(1)

(2)

...

...

75

(n)

Bi ton t ra c dn v bi ton ti u t hp: min f ( ) : }.


Bi ton lp lch. Mi mt chi tit trong s n chi tit D1, D2, . ., Dn cn phi ln lt
c gia cng trn m my M1, M2, . ., Mm. Thi gian gia cng chi tit Di trn my Mj l tij.
Hy tm lch (trnh t gia cng ) cc chi tit trn cc my sao cho vic hon thnh gia
cng tt c cc chi tit l sm nht c th c. Bit rng, cc chi tit c gia cng mt
cch lin tc, ngha l qu trnh gia cng ca mi mt chi tit phi c tin hnh mt
cch lin tc ht my ny sang my khc khng cho php c khong thi gian dng khi
chuyn t my ny sang my khc.
Tp phng n ca bi ton. R rng, mi mt lch gia cng cc chi tit trn cc
my s tng ng vi mt hon v = ( (1), (2) , . . , (n) ) ca n s t nhin 1, 2,.., n.
Hm mc tiu ca bi ton. Thi gian hon thnh theo cc lch trn c xc
nh bi hm s
n 1

j 1

IT

f ( ) C ( j ), ( j 1) k 1 t k , ( n) , trong cij = Sj Si, Sj l thi im bt u thc

PT

hin vic gia cng chi tit j (i, j = 1, 2, . . ., n). ngha ca h s cij c th c gii thch
nh sau: n l tng thi gian gin on (c tnh t khi bt u gia cng chi tit i) gy
ra bi chi tit j khi n c gia cng sau chi tit i trong lch gia cng. V vy, cij c th
tnh theo cng thc:
k 1
k

cij max t lj t lj , i, j = 1, 2, . . ., n. V vy bi ton t ra dn v bi ton


1 k m l 1
l 1

ti u t hp sau:

min { f() : }.

Trong thc t, lch gia cng cn phi tho mn thm nhiu iu kin khc na. V
nhng ng dng quan trng ca nhng bi ton loi ny m trong ti u ho t hp
hnh thnh mt lnh vc l thuyt ring v cc bi ton lp lch gi l l thuyt lp lch
hay qui hoch lch.

4.2. Phng php duyt ton b


Mt trong nhng phng php hin nhin c th gii bi ton ti u t hp l
duyt tt c cc phng n ca bi ton. ng vi vi mi phng n, ta u tnh c gi
tr ca hm mc tiu cho phng n , sau so snh gi tr ca hm mc tiu ti tt c
cc phng n c lit k tm ra phng n ti u. Phng php xy dng theo
nguyn tc nh trn c gi l phng php duyt ton b. Thut ton tng qut thc
hin theo phng php duyt ton b c th hin trong Hnh 4.1.
Hn ch ca phng php duyt ton b l s bng n ca cc cu hnh t hp.
Chng hn duyt c 15! = 1 307 674 368 000 cu hnh, trn my c tc 1 t php
76

tnh giy, nu mi hon v cn lit k mt khong 100 php tnh, th ta cn khong thi
gian l 130767 giy ( ln hn 36 ting ng h). V vy, cn phi c bin php hn ch
vic kim tra hoc tm kim trn cc cu hnh t hp th mi c hy vng gii c cc bi
ton ti u t hp thc t. Tt nhin, a ra c mt thut ton cn phi nghin cu
k tnh cht ca mi bi ton t hp c th. Chnh nh nhng nghin cu , trong mt
s trng hp c th ta c th xy dng c thut ton hiu qu gii quyt bi ton
t ra. Tuy vy, cng cn phi ch rng nhiu bi ton ti u hin nay vn cha tm ra
c mt phng php hu hiu no ngoi phng php duyt ton b c cp
trn.

Thut ton duyt ton b:


Bc 1 (Khi to):
XOPT=; //Khi to phng n ti u ban u
Bc 2( Lp):

IT

FOPT= - (+ );//Khi to gi tr ti u ban u


for each XD do { //ly mi phn t trn tp phng n
S = f(X);// tnh gi tr hm mc tiu cho phng n X

PT

if ( FOPT<S ) { //Cp nht phng n ti u


FOPT = S; //Gi tr ti u mi c xc lp
XOPT = X;// Phng n ti u mi

Bc 3 (Tr li kt qu):

Return(XOPT, FOPT);

Hnh 4.1. Thut ton duyt ton b.


Ghi ch. Ti Bc 1 ca thut ton, ta khi to gi tr ca hm mc tiu FOPT = - vi
bi ton tm max, khi to gi tr ca hm mc tiu FOPT = + vi bi ton tm min.
V d 1. Gii bi ton ci ti di y bng phng php duyt ton b.

F X 4 x1 6 x 2 3 x3 5 x 4 2 x5 max,

9 x1 8 x 2 5 x3 3 x4 2 x5 21,
x 0,1, j 1,2,3,4,5.
j

77

Li gii. Gi A = (a1, a2,..,an), C = (c1, c2,..,cn) tng ng vi vector trng lng v gi


tr s dng cc vt. Nh phn tnh trong Mc 4.1, ta c:
n

Tp cc phng n ca bi ton: D X x1 , x 2 ,..., xn : ai xi b .


i 1

Hm mc tiu ca bi ton: f ( X ) i 1 ci xi .
Nhim v ca chng ta l tm phng n ti u XOPT v gi tr ti u FOPT. Kt
qu thc theo thut ton duyt ton b c th hin theo Bng 4.1 di y.
X=(x1,x2,x3,x4,x5)

XD = x1 , x 2 , x3 , x 4 , x 5 : ai xi 21
i 1

IT

021: XD
221: XD
321: XD
521: XD
521: XD
721: XD
821: XD
1021: XD
821: XD
1021: XD
1121: XD
1321: XD
1321: XD
1521: XD
1621: XD
1821: XD
921: XD
1121: XD
1221: XD
1421: XD
1421: XD
1621: XD
1621: XD
19>21: XD
1721: XD
1921: XD
2021: XD
22>21: XD
22>21: XD
24>21: XD
25>21: XD

PT

0, 0, 0, 0, 0
0, 0, 0, 0, 1
0, 0, 0, 1, 0
0, 0, 0, 1, 1
0, 0, 1, 0, 0
0, 0, 1, 0, 1
0, 0, 1, 1, 0
0, 0, 1, 1, 1
0, 1, 0, 0, 0
0, 1, 0, 0, 1
0, 1, 0, 1, 0
0, 1, 0, 1, 1
0, 1, 1, 0, 0
0, 1, 1, 0, 1
0, 1, 1, 1, 0
0, 1, 1, 1, 1
1, 0, 0, 0, 0
1, 0, 0, 0, 1
1, 0, 0, 1, 0
1, 0, 0, 1, 1
1, 0, 1, 0, 0
1, 0, 1, 0, 1
1, 0, 1, 1, 0
1, 0, 1, 1, 1
1, 1, 0, 0, 0
1, 1, 0, 0, 1
1, 1, 0, 1, 0
1, 1, 0, 1, 1
1, 1, 1, 0, 0
1, 1, 1, 0, 1
1, 1, 1, 1, 0

78

F(X)= ci xi ?
i 1

0
2
5
7
3
5
8
10
6
8
11
13
9
11
14
16
4
6
9
9
10
9
12
14
10
12
15

1, 1, 1, 1, 1

27>21: XD
XOPT=(0,1,1,1,1); FOPT = 16

4.3. Thut ton nhnh cn


Gi s chng ta cn gii quyt bi ton ti u t hp vi m hnh tng qut nh
sau:
Tm min f ( x) : x D .
Trong D l tp hu hn phn t. Ta gi thit D c m t nh sau:
D = { x =( x1, x2, . . ., xn) A1 A2 . . . An ; x tho mn tnh cht P }, vi A1 A2
. . . An l cc tp hu hn, P l tnh cht cho trn tch xc A1 A2 . . . An .

IT

Nh vy, cc bi ton chng ta va trnh by trn u c th c m t di


dng trn. Vi gi thit v tp D nh trn, chng ta c th s dng thut ton quay lui
lit k cc phng n ca bi ton. Trong qu trnh lit k theo thut ton quay lui, ta s
xy dng dn cc thnh phn ca phng n. Ta gi, mt b phn gm k thnh phn (a1,
a2, . . ., ak) xut hin trong qu trnh thc hin thut ton s c gi l phng n b
phn cp k.
Thut ton nhnh cn c th c p dng gii bi ton t ra nu nh c th tm
c mt hm g xc nh trn tp tt c cc phng n b phn ca bi ton tho mn bt
ng thc sau:

PT

g ( a1 , a 2 ,.., a k ) min f ( x ) : x D, xi ai , i 1,2,..., k

(*)

vi mi li gii b phn (a1, a2, . ., ak), v vi mi k = 1, 2, . . .


Bt ng thc (*) c ngha l gi tr ca hm ti phng n b phn (a1, a2, . ., ak)
khng vt qu gi tr nh nht ca hm mc tiu bi ton trn tp con cc phng n.
D(a1, a2, . ., ak) { x D: xi = ai, 1 = 1, 2, . ., k },
ni cch khc, g(a1, a2, .., ak) l cn di ca tp D(a1, a2, . ., ak). Do c th ng
nht tp D(a1, a2, . . ., ak) vi phng n b phn (a1, a2, . . , ak), nn ta cng gi gi tr
g(a1, a2, . ., ak) l cn di ca phng n b phn (a1, a2, . ., ak).
Gi s ta c c hm g. Ta xt cch s dng hm ny hn ch khi lng
duyt trong qu trnh duyt tt c cc phng n theo thut ton quay lui. Trong qu trnh
lit k cc phng n c th thu c mt s phng n ca bi ton. Gi x l gi
tr hm mc tiu nh nht trong s cc phng n duyt, k hiu f f (x). Ta gi x l
phng n tt nht hin c, cn f l k lc. Gi s ta c c f , khi nu
g(a1, a2, .., ak) > f th t bt ng thc (*) ta suy ra
f < g(a1, a2, . . ., ak) min { f(x): x D, xi = ai, i=1, 2, . . ., k }, v th tp con cc

phng n ca bi ton D(a1, a2, , ak) chc chn khng cha phng n ti u. Trong
79

trng hp ny ta khng cn phi pht trin phng n b phn (a1, a2, . . ., ak), ni cch
khc l ta c th loi b cc phng n trong tp D(a1, a2, . ., an) khi qu trnh tm kim.
Thut ton quay lui lit k cc phng n cn sa i li nh Hnh 4.2:
Procedure Try( k ){
/*Pht trin phng n b phn (a1, a2, . . ., ak-1 theo thut ton quay
lui c kim tra cn di Trc khi tip tc pht trin phng n*/
for ( ak Ak ) {
if ( chp nhn ak ){
xk = a k ;
if (k == n)

IT

< cp nht k lc>;


else if (g(a1, a2, . . ., ak) f )
Try (k+1);

PT

}
}

Hnh 4.2. Thut ton quay lui da vo hm nh gi cn.

Khi , thut ton nhnh cn c thc hin nh Hnh 4.3.


Procedure Nhanh_Can( ) {

f = +; /* Nu bit mt phng n x no th c th t f f (x). */

Try(1); //Thc hin thut ton quay lui trong Hnh 4.2
if ( f + )
< f l gi tr ti u , x l phng n ti u >;
else
< bi ton khng c phng n>;
}

Hnh 4.3. Thut ton nhnh cn.


Ch rng nu trong th tc Try ta thay th cu lnh

80

if (k == n) < cp nht k lc >;


else if (g(a1, a2, . ., ak) f ) Try(k+1);
bi
if (k == n)
< cp nht k lc >;
else Try(k+1);
th th tc Try s lit k ton b cc phng n ca bi ton. Vic xy dng hm g ph
thuc vo tng bi ton ti u t hp c th. Nhng chng ta c gng xy dng sao cho
t c nhng iu kin di y:
Vic tnh gi tr ca g phi n gin hn vic gii bi ton t hp trong v phi
ca (*).
Gi tr ca g(a1, a2, . ., ak) phi st vi gi tr v phi ca (*).

IT

Rt tic, hai yu cu ny trong thc t thng i lp nhau.

PT

V d 1. Bi ton ci ti. Chng ta s xt bi ton ci ti tng qut hn m hnh c


trnh by trong mc 4.1. Thay v c n vt, y ta gi thit rng c n loi vt v s
lng vt mi loi l khng hn ch. Khi , ta c m hnh bi ton ci ti bin
nguyn sau y: C n loi vt, vt th j c trng lng aj v gi tr s dng cj ( j
=1, 2, . ., n). Cn cht cc vt ny vo mt ci ti c trng lng l b sao cho tng gi
tr s dng ca cc vt ng trong ti l ln nht.
M hnh ton hc ca bi ton c dng sau tm
n
n

f * max f ( x) c j x j : a j x j b, x j Z , j 1, 2,..., n, (1) .


j 1
j 1

Trong Z+ l tp cc s nguyn khng m.


K hiu D l tp cc phng n ca bi ton (1):
n

D x ( x1 , x 2 , , x n : a j x j b, x j Z , j 1,2, , n .
j 1

Khng gim tnh tng qut ta gi thit rng, cc vt c nh s sao cho bt ng


thc sau c tho mn
c
c1 c 2

n
a1 a 2
an

(2)

xy dng hm tnh cn di, cng vi bi ton ci ti (1) ta xt bi ton ci ti bin


lin tc sau: Tm

81

n
n

g * max c j x j : a j x j b, x j 0, j 1,2, , n .
j 1
j 1

(3)

Mnh . Phng n ti u ca bi ton (3) l vector x ( x1 , x 2 , , x n ) vi cc thnh


phn c xc nh bi cng thc:
cb
b
, x 2 x3 x n 0 v gi tr ti u l g * 1 1 .
a1
a1

x1

Chng minh. Thc vy, xt x = ( x1, x2, . ., xn) l mt phng n tu ca bi ton (3).
Khi t bt ng thc (3) v do xj 0, ta suy ra
c j x j (c1 / a1 )a j x j , j 1, 2, n .

suy ra:
n

c
j 1

n
j

xj (
j 1

c1
c n
c
)a j x j ( 1 ) a j x j 1 b g * . Mnh c chng minh.
a1
a1 j 1
a1

IT

By gi ta gi s c phng n b phn cp k: (u1, u2, . ., uk). Khi gi tr s dng ca


cc vt ang c trong ti l
k c1u1 c 2 u 2 c k u k , v trng lng cn li ca ti l

ta c

PT

bk b c1u1 c 2 u 2 c k u k ,

max f ( x) : x D, x j u j , j 1,2, n

max k

jxj :

j k 1

j k 1

x j bk , x j Z , j k 1, k 2, , n

n
n

k max c j x j : a j x j bk , x j 0, j k 1, k 2, , n
j k 1
j k 1

c b
k k 1 k
a k 1

(Theo mnh gi tr s hng th hai l

c k 1bk
)
a k 1

Vy ta c th tnh cn trn cho phng n b phn (u1, u2, . . ., uk) theo cng thc
g (u1 , u 2 , , u k ) k

c k 1bk

a k 1

Ch : Khi tip tc xy dng thnh phn th k+1 ca li gii, cc gi tr c cho xk+1 s


l 0, 1, . . ., [bk /ak+1]. Do c kt qu ca mnh , khi chn gi tr cho xk+1 ta s duyt

82

cc gi tr c theo th t gim dn. Thut ton nhnh cn gii bi ton ci ti c m


t nh Hnh 4.4 di y.

Thut ton Brach_And_Bound (i) {


t = ( b - bi)/A[i]; //Khi to s lng vt th i
for j = t; j 0; j--){
x[i] = j; //La chn x[i] l j;

bi bi ai xi ; // Trng lng ti cho bi ton b phn th i.

i i ci xi ; // Gi tr s dng cho bi ton b phn th i

IT

If (k==n) <Cp nht k lc>;


else if (k + (ck+1*bk)/ak+1 >FOPT) //Nhnh cn c trin khai tip theo
Branch_And_Bound(k+1);

bi bi ai xi ;

}
}

PT

i i ci xi ;

Hnh 4.4. Thut ton nhnh cn gii bi ton ci ti

V d. Gii bi ton ci ti sau theo thut ton nhnh cn trnh by trn.


f ( x ) 10 x1 5 x 2 3 x3 6 x 4 max
5 x1 3x 2 2 x3 4 x 4 8
x j Z , j 1, 2,3, 4.

Li gii. Qu trnh gii bi ton c m t trong cy tm kim trong Hnh 4.4. Thng tin
v mt phng n b phn trn cy c ghi trong cc trn hnh v tng ng theo th
t sau:
u tin l cc thnh phn ca phng n b phn th i : X =(x1,x2,..,xi);
Tip n l gi tr ca cc vt theo phng n b phn th i;
K tip l w tng ng vi trng lng cn li ca ti;
Cui cng l cn trn g.

83

PT

IT

Kt thc thut ton, ta thu c phng n ti u l x* =(1, 1, 0, 1), gi tr ti u


f*= 15.

84

Gc f

x1=1

x1=0

(1); =10;
w=3; g=15

x1=1
(1,1) =15;
w=0; g=15

(0) =0;
w=8; g=40/3

x2=0
(1, 0) =10;
w=3; g=14.5

x3=0

x4=0

PT

(1,1,0) =15;
w=0; g=15

IT

Loi v cn trn <k lc

x x4(1=0
,1,0,0);
f 15;

Hnh 4.4. Li gii bi ton ci ti theo thut ton nhnh cn.

Chng trnh gii bi ton ci ti theo thut ton nhnh cn c th hin nh sau:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#define MAX 100
int A[MAX], C[MAX], F[MAX][MAX];
int XOPT[MAX], X[MAX];
int n, b, ind;
float W, FOPT=-32000, cost, weight=0;
FILE *fp;
void Init(void){
fp = fopen("caitui1.in","r");

85

fscanf(fp,"%d%d", &n, &b);


cout<<"\n So luong do vat:"<<n;
cout<<"\n Trong luong tui:"<<b;
for( int i=1; i<=n; i++)
fscanf(fp,"%d%d", &A[i],&C[i]);
cout<<"\n Vector trong luong:";
for( i=1; i<=n; i++)
cout<<A[i]<<"
";
cout<<"\n Vector gia tri su dung:";
for( i=1; i<=n; i++)
cout<<C[i]<<"
";
fclose(fp);

PT

IT

}
void Update_Kyluc(void){
if (cost>FOPT) { FOPT =cost;
for(int i=1; i<=n; i++)
XOPT[i] = X[i];
}
}
void Result(void) {
cout<<"\n Ket qua toi uu:"<<FOPT;
cout<<"\n Phuong an toi uu:";
for(int i=1; i<=n; i++)
cout<<XOPT[i]<<" ";
}
void Branch_And_Bound( int i) {
int j, t =(b-weight)/A[i];
for(j=t; j>=0; j--){
X[i] = j;
weight = weight+A[i]*X[i];
cost = cost + C[i]*X[i];
if (i==n) Update_Kyluc();
else if ( cost+C[i+1]*(b-weight)/A[i+1]>FOPT)
Branch_And_Bound(i+1);
weight = weight-A[i]*X[i];
cost = cost - C[i]*X[i];
}
}
void main(void) {
Init();
Branch_And_Bound(1);
Result();
}

86

V d 2. Bi ton Ngi du lch. Mt ngi du lch mun i thm quan n thnh ph T1,
T2, , Tn. Xut pht t mt thnh ph no , ngi du lch mun i qua tt c cc thnh
ph cn li, mi thnh ph i qua ng mt ln, ri quay tr li thnh ph xut pht. Bit
cij l chi ph i t thnh ph Ti n thnh ph Tj (i = 1, 2, . ., n), hy tm hnh trnh vi
tng chi ph l nh nht (mt hnh trnh l mt cch i tho mn iu kin).
Gii. C nh thnh ph xut pht l T1. Bi ton Ngi du lch c a v bi ton:
Tm cc tiu ca phim hm:
f ( x1 , x 2 , , x n ) c[1, x 2 ] c[ x 2 , x3 ] c[ x n 1 , x n ] c[ x n , x1 ] min

vi iu kin
c min min c[i, j ], i, j 1,2, , n; i j l chi ph i li gia cc thnh ph.

Gi s ta ang c phng n b phn (u1, u2, . . ., uk). Phng n tng ng vi


hnh trnh b phn qua k thnh ph:
T1 T (u 2 ) T (u k 1 ) T (u k )

IT

V vy, chi ph phi tr theo hnh trnh b phn ny s l tng cc chi ph theo
tng node ca hnh trnh b phn.

=c[1,u2] + c[u2,u3] + . . . + c[uk-1, uk] .

PT

pht trin hnh trnh b phn ny thnh hnh trnh y , ta cn phi i qua nk thnh ph cn li ri quay tr v thnh ph T1, tc l cn phi i qua n-k+1 on ng
na. Do chi ph phi tr cho vic i qua mi trong n-k+1 on ng cn li u khng
nhiu hn cmin, nn cn di cho phng n b phn (u1, u2, . . ., uk) c th c tnh theo
cng thc
g(u1, u2, . . ., uk) = +(n - k +1) cmin.

Chng hn ta gii bi ton ngi du lch vi ma trn chi ph nh sau

3 14 18 15

4 22 20

17

0 16

12

9 15 11

Ta c cmin = 2. Qu trnh thc hin thut ton c m t bi cy tm kim li gii c


th hin trong hnh 4.2.
Thng tin v mt phng n b phn trn cy c ghi trong cc trn hnh v tng
ng theo th t sau:
u tin l cc thnh phn ca phng n.
tip n l chi ph theo hnh trnh b phn.

87

g l cn di.
Kt thc thut ton, ta thu c phng n ti u ( 1, 2, 3, 5, 4, 1) tng ng vi phng
n ti u vi hnh trnh
T1 T2 T3 T5 T4 T1 v chi ph nh nht l 22 .

(2,4) =25; g=34

(2,3,4) =23;
g=29

(2,3,5) =11;
g=17

(2,3,4,5) =41;
g=44

(2,3,5,4) =16;
g=19

Hnh trnh ( 1, 2, 3,4, 5,1)


chi ph 53. t f 53

(4) =18; g=30

(5) =15; g=27

(2,5) =23; g=32

PT

(2,3) =7; g=16

(3) =14; g=26

IT

(2) =3; g=15

Cc nhnh ny b loi v c cn
di g> f 22

Hnh trnh ( 1, 2, 3, 5,4, 1)


chi ph 25(K lc mi) .

t f 22

Hnh 4.5. Cy tm kim li gii bi ton ngi du lch.


Chng trnh gii bi ton theo thut ton nhnh cn c th hin nh sau:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <io.h>
#define MAX 20
int n, P[MAX], B[MAX], C[20][20], count=0;
int A[MAX], XOPT[MAX];
int can, cmin, fopt;

88

PT

IT

void Read_Data(void){
int i, j;FILE *fp;
fp = fopen("dulich.in","r");
fscanf(fp,"%d", &n);
printf("\n So thanh pho: %d", n);
printf("\n Ma tran chi phi:");
for (i=1; i<=n; i++){
printf("\n");
for(j=1; j<=n; j++){
fscanf(fp,"%d",&C[i][j]);
printf("%5d", C[i][j]);
}
}
}
int Min_Matrix(void){
int min=1000, i, j;
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
if (i!=j && min>C[i][j])
min=C[i][j];
}
}
return(min);
}
void Init(void){
int i;
cmin=Min_Matrix();
fopt=32000;can=0; A[1]=1;
for (i=1;i<=n; i++)
B[i]=1;
}
void Result(void){
int i;
printf("\n Hanh trinh toi uu %d:", fopt);
printf("\n Hanh trinh:");
for(i=1; i<=n; i++)
printf("%3d->", XOPT[i]);
printf("%d",1);
}
void Swap(void){
int i;
for(i=1; i<=n;i++)
XOPT[i]=A[i];
89

PT

IT

}
void Update_Kyluc(void){
int sum;
sum=can+C[A[n]][A[1]];
if(sum<fopt) {
Swap();
fopt=sum;
}
}
void Try(int i){
int j;
for(j=2; j<=n;j++){
if(B[j]){
A[i]=j; B[j]=0;
can=can+C[A[i-1]][A[i]];
if (i==n) Update_Kyluc();
else if( can + (n-i+1)*cmin< fopt){
count++;
Try(i+1);
}
B[j]=1;can=can-C[A[i-1]][A[i]];
}
}
}
void main(void){
clrscr();Read_Data();Init();
Try(2);Result();
getch();

4.4. K thut rt gn gii quyt bi ton ngi du lch


Thut ton nhnh cn l phng php ch yu gii cc bi ton ti u t hp.
T tng c bn ca thut ton l trong qu trnh tm kim li gii, ta s phn hoch tp
cc phng n ca bi ton thnh hai hay nhiu tp con biu din nh mt node ca cy
tm kim v c gng bng php nh gi cn cc node , tm cch loi b nhng nhnh cy
(nhng tp con cc phng n ca bi ton) m ta bit chc chn khng phng n ti
u. Mc d trong trng hp ti nht thut ton s tr thnh duyt ton b, nhng trong
nhng trng hp c th n c th rt ngn ng k thi gian tm kim. Mc ny s th
hin khc nhng t tng ca thut ton nhnh cn vo vic gii quyt bi ton ngi du
lch.

90

Xt bi ton ngi du lch nh c pht biu. Gi C = { cij: i, j = 1, 2, . . .n} l ma


trn chi ph. Mi hnh trnh ca ngi du lch
T(1)T(2). . .T(n)T(1) c th vit li di dng
((1), (2), (2), (3), . . ., (n-1), (n), (n), (1), trong mi thnh phn

(j-1), (j) s c gi l mt cnh ca hnh trnh.


Khi tin hnh tm kim li gii bi ton ngi du lch chng ta phn tp cc hnh trnh
thnh 2 tp con: Tp nhng hnh trnh cha mt cp cnh (i, j) no cn tp kia gm
nhng hnh trnh khng cha cnh ny. Ta gi vic lm l s phn nhnh, mi tp con
nh vy c gi l mt nhnh hay mt node ca cy tm kim. Qu trnh phn nhnh
c minh ho bi cy tm kim nh trong Hnh 4.6.
Tp tt c cc hnh trnh

Hnh
khng
(i,j)

IT

Hnh trnh
cha (i,j)

trnh
cha

(Hnh 4.6)

PT

Vic phn nhnh s c thc hin da trn mt qui tc heuristic no cho php
ta rt ngn qu trnh tm kim phng n ti u. Sau khi phn nhnh v tnh cn di gi
tr hm mc tiu trn mi tp con. Vic tm kim s tip tc trn tp con c gi tr cn
di nh hn. Th tc ny c tip tc cho n khi ta nhn c mt hnh trnh y
tc l mt phng n cu bi ton. Khi ta ch cn xt nhng tp con cc phng n
no c cn di nh hn gi tr ca hm mc tiu ti phng n tm c. Qu trnh
phn nhnh v tnh cn trn tp cc phng n ca bi ton thng thng cho php rt
ngn mt cch ng k qu trnh tm kim do ta loi c rt nhiu tp con chc chn
khng cha phng n ti u. Sau y, l mt k thut na ca thut ton.

4.4.1.Th tc rt gn
R rng tng chi ph ca mt hnh trnh ca ngi du lch s cha ng mt phn
t ca mi dng v ng mt phn t ca mi ct trong ma trn chi ph C. Do , nu ta
cng hay tr bt mi phn t ca mt dng (hay ct) ca ma trn C i cng mt s th
di ca tt c cc hnh trnh u gim i v th hnh trnh ti u cng s khng b
thay i. V vy, nu ta tin hnh bt i cc phn t ca mi dng v mi ct i mt hng
s sao cho ta thu c mt ma trn gm cc phn t khng m m trn mi dng, mi ct
u c t nht mt s 0, th tng cc s tr cho ta cn di ca mi hnh trnh. Th tc
bt ny c gi l th tc rt gn, cc hng s tr mi dng (ct) s c gi l hng
91

IT

s rt gn theo dng(ct), ma trn thu c c gi l ma trn rt gn. Th tc sau cho


php rt gn ma trn mt ma trn A kch thc k k ng thi tnh tng cc hng s rt
gn.
float Reduce( float A[][max], int k) {
sum =0;
for (i = 1; ik; i++){
r[i] = < phn t nh nht ca dng i >;
if (r[i] > 0 ) {
<Bt mi phn t ca dng i i r[i] >;
sum = sum + r[i];
}
}
for (j=1; j k; j++) {
s[j] := <Phn t nh nht ca ct j>;
if (s[j] > 0 )
sum = sum + S[j];
}
return(sum);
}
5

| r[i]

PT

V d. Gi s ta c ma trn chi ph vi n= 6 thnh ph sau:


1

93

13

33

77

42

21

16

45

17

36

16

28

16

39

90

80

56

28

46

88

33

25

25

88

18

46

92

15

u tin tr bt mi phn t ca cc dng 1, 2, 3, 4, 5, 6 cho cc hng s rt gn tng


ng l ( 3, 4, 16, 7, 25, 3) , sau trong ma trn thu c ta tm c phn t nh khc 0
ca ct 3 v 4 tng ng l (15, 8). Thc hin rt gn theo ct ta nhn c ma trn sau:
1

75

30

58

30

17

12

29

12

12

32

83

58

49

92

21

48

85

35

89

Tng cc hng s rt gn l 81, v vy cn di cho tt c cc hnh trnh l 81


(khng th c hnh trnh c chi ph nh hn 81).

IT

By gi ta xt cch phn tp cc phng n ra thnh hai tp. Gi s ta chn cnh


(6, 3) phn nhnh. Khi tp cc hnh trnh c phn thnh hai tp con, mt tp l
cc hnh trnh cha cnh (6,3), cn tp kia l cc hnh trnh khng cha cnh (6,3). V
bit cnh (6, 3) khng tham gia vo hnh trnh nn ta cm hnh trnh i qua cnh ny
bng cch t C[6, 3] = . Ma trn thu c s c th rt gn bng cch bt i mi phn
t ca ct 3 i 48 (hng 6 gi nguyn). Nh vy ta thu c cn di ca hnh trnh
khng cha cnh (6,3) l 81 + 48 = 129. Cn i vi tp cha cnh (6, 3) ta phi loi
dng 6, ct 3 khi ma trn tng ng vi n, bi v i theo cnh (6, 3) th khng th i
t 6 sang bt sang bt c ni no khc v cng khng c php i bt c u t 3. Kt
qu nhn c l ma trn vi bc gim i 1. Ngoi ra, do i theo cnh (6, 3) nn
khng c php i t 3 n 6 na, v vy cn cm i theo cnh (3, 6) bng cch t C(3,
6) = . Cy tm kim lc ny c dng nh trong hnh 4.7.

PT

Tp tt c cc
hnh trnh

Tp hnh trnh
cha cnh
(6,3)

Cn di = 81

Tp hnh trnh
khng cha
cnh (6,3)

(Hnh 4.7)
Cn di =81

Cn di = 129

30

27

30

30

17

12

10

30

17

12

29

12

29

12

12

32

83

49

32

83

10

49

21

21

85

35

89

93

Cnh (6,3) c chn phn nhnh v phn nhnh theo n ta thu c cn di


ca nhnh bn phi l ln nht so vi vic phn nhnh theo cc cnh khc. Qui tc ny s
c p dng phn nhnh mi nh ca cy tm kim. Trong qu trnh tm kim
chng ta lun i theo nhnh bn tri trc. Nhnh bn tri s c ma trn rt gn vi bc
gim i 1. Trong ma trn ca nhnh bn phi ta thay mt s bi , v c th rt gn thm
c ma trn ny khi tnh li cc hng s rt gn theo dng v ct tng ng vi cnh
phn nhnh, nhng kch thc ca ma trn vn gi nguyn.
Do cnh chn phn nhnh phi l cnh lm tng cn di ca nhnh bn phi ln
nhiu nht, nn tm n ta s chn s khng no trong ma trn m khi thay n bi s
cho ta tng hng s rt gn theo dng v ct cha n l ln nht. Th tc c th c
m t nh sau chn cnh phn nhnh (r, c).

4.4.2.Th tc chn cnh phn nhnh (r,c)

IT

void BestEdge(A, k, r, c, beta)


u vo: Ma trn rt gn A kch thc k k

Kt qu ra: Cnh phn nhnh (r,c) v tng hng s rt gn theo dng r ct


c l beta.
{

PT

beta = -;

for ( i = 1; i k; i++){

for (j = 1; j k; j++) {

if (A[i,j] == 0){

minr = <phn t nh nht trn dng i khc vi A[i,j];


minc = <phn t nh nht trn ct j khc vi A[i,j];
total = minr + minc;
if (total > beta ) {
beta = total;
r = i; /* Ch s dng tt nht*/
c = j; /* Ch s ct tt nht*/
}

}
}
}
94

}
Trong ma trn rt gn 5 5 ca nhnh bn tri hnh 5.4, s khng v tr (4, 6) s cho
tng hng s rt gn l 32 ( theo dng 4 l 32, ct 6 l 0). y l h s rt gn c gi tr
ln nht i vi cc s khng ca ma trn ny. Vic phn nhnh tip tc s da vo cnh
(4, 6). Khi cn di ca nhnh bn phi tng ng vi tp hnh trnh i qua cnh (6,3)
nhng khng i qua cnh (4, 6) s l 81 + 32 = 113. Cn nhnh bn tri s tng ng vi
ma trn 4 4 (v ta phi loi b dng 4 v ct 6). Tnh hung phn nhnh ny c m t
trong Hnh 4.7.
Nhn thy rng v cnh (4, 6) v (6, 3) nm trong hnh trnh nn cnh (3, 4) khng th
i qua c na (nu i qua ta s c mt hnh trnh con t nhng thnh ph ny).
ngn cm vic to thnh cc hnh trnh con ta s gn cho phn t v tr (3, 4) gi tr .

PT

Hnh trnh cha


(6,3), (4,6)

Cn di = 81

IT

Tp hnh trnh
qua cnh (6,3)

Cn di = 81

H. trnh cha
(6,3) khng cha
(4,6)

Cn di = 113

(Hnh 4.8)

Ngn cm to thnh hnh trnh con:

Tng qut hn, khi phn nhnh da vo cnh (iu, iv) ta phi thm cnh ny vo danh sch
cc cnh ca node bn tri nht. Nu iu l nh cui ca mt ng i (i1, i2, . ., iu) v jv
l nh u ca ng i (j1, j2, . ., jk) th ngn nga kh nng to thnh hnh trnh con
ta phi ngn nga kh nng to thnh hnh hnh trnh con ta phi cm cnh (jk, i1).
tm i1 ta i ngc t iu, tm jk ta i xui t j1 theo danh sch cc cnh c kt np
vo hnh trnh.

95

Tp tt c cc
hnh trnh

Hnh trnh
khng cha cnh
(6,3)

Cn di = 81

Cn di= 129

Tp cc hnh
trnh cha (6,3)

Hnh trnh
khng cha (4,6)

Cn di = 81

Tp cc hnh
trnh cha (2,1)

Cn di = 84

Tp cc hnh
trnh cha (1, 4)

Cn

di=

Cn di= 101

PT

Cn di = 81

Hnh trnh
khng cha cnh
(2,1)

IT

Tp cc hnh
113
trnh cha (4,6)

Hnh trnh
khng cha cnh
(1,4)

Cn di= 112

Cn di = 84
Hnh trnh (1, 4, 6, 3, 5, 2, 1) di 104

Hnh 4.9 m t qu trnh tm kim gii php ti u


Tip tc phn nhnh t nh bn tri bng cch s dng cnh (2,1) v s khng v tr
ny c hng s rt gn ln nht l 17 + 3 = 20 ( theo dng 2 l 17, theo ct 1 l 3). Sau
khi phn nhnh theo cnh (2, 1) ma trn ca nhnh bn tri c kch thc l 3 3. V
i qua (2, 1) nn ta cm cnh (2, 1) bng cch t C[1, 2] = , ta thu c ma trn sau:

96

30

21

Ma trn ny c th rt gn c bng cch bt 1 ti ct 1 v bt 2 i dng 1


nhn c ma trn cp 3:
2

28

20

IT

Ta c cn di ca nhnh tng ng l 81 + 1 + 2 = 84. Cy tm kim cho n


bc ny c th hin trong hnh 5.5.

3
5

PT

Ch rng, sau khi chp nhn n-2 cnh vo hnh trnh th ma trn cn li s c kch
thc l 2 2. Hai cnh cn li ca hnh trnh s khng phi chn la na m c kt
np ngay vo chu trnh (v n ch cn s la chn duy nht). Trong v d trn sau khi
c cc cnh (6, 3), (4,6), (2, 1), (1,4) ma trn ca nhnh bn tri nht c dng:
2

V vy ta kt np nt cnh (3, 5), (5, 2) vo chu trnh v thu c hnh trnh:


1, 4, 6, 3, 5, 2, 1 vi chi ph l 104.

Trong qu trnh tm kim , mi node ca cy tm kim s tng ng vi mt ma trn chi


ph A. bc u tin ma trn chi ph tng ng vi gc chnh l ma trn C. Khi chuyn
ng t gc xung nhnh bn tri xung pha di, kch thc ca cc ma trn chi ph A
s gim dn. Cui cng khi ma trn A c kch thc 2 2 th ta chm dt vic phn
nhnh v kt np hai cnh cn li thu c hnh trnh ca ngi du lch. D dng nhn
thy ma trn cui cng rt gn ch c th mt trong hai dng sau:
w

Trong u, v, x, y c th l 4 nh khc nhau hoc 3 nh khc nhau. xc nh


xem hai cnh no cn c np vo hnh trnh ta ch cn xt mt phn t ca ma trn A:

97

if A[1, 1] = then
<Kt np cnh (u, x), (v, w)>
else
< Kt np cnh (u, w), ( v, x) >;
By gi tt c cc node c cn di ln hn 104 c th b loi b v chng khng
cha hnh trnh r hn 104. Trn hnh 5.4 chng ta thy ch c node c cn di l 101 <
104 l cn phi xt tip . Node ny cha cc cnh (6, 3), (4, 6) v khng cha cnh (2, 1).
Ma trn chi ph tng ng vi nh ny c dng:
2

30

13

26

21

IT

Vic phn nhnh s da vo cnh (5, 1) vi tng s rt gn l 26. Qu trnh r


nhnh tip theo c ch ra nh trong hnh 5.6.

PT

Hnh 5.6. Duyt hnh trnh c cn di l 101.


Tp hnh trnh
cha (6,3), (4,6)
khng qua (2,1)

Tp hnh trnh
qua (5,1)

Cn di = 101

Hnh trnh khng


qua (5,1)

Cn di = 127
Cn di = 103
2

11

Hnh trnh
cha (1, 4)

Hnh trnh 1, 4, 6, 3, 2, 5, 1 ; di 104.

98

Hnh trnh
khng cha
(1, 4)

Cn di = 114

Nh vy chng ta thu c hai hnh trnh ti u vi chi ph l 104. V d trn cho


thy bi ton ngi du lch c th c nhiu phng n ti u. Trong v d ny hnh trnh
u tin nhn c l ti u, tuy nhin iu ny khng th mong i i vi nhng
trng hp tng qut. Trong v d trn chng ta ch cn xt ti 13 node, trong khi tng s
hnh trnh ca ngi du lch l 120.

4.4.3.Thut ton nhnh cn gii bi ton ngi du lch


Cc bc chnh ca thut ton nhnh cn gii bi ton ngi du lch c th hin trong
th tc TSP. Th tc TSP xt hnh trnh b phn vi Edges l cnh c chn v tin
hnh tm kim tip theo. Cc bin c s dng trong th tc ny l:
Edges - S cnh trong hnh trnh b phn;
A

- Ma trn chi ph tng ng vi kch thc (n-edges, n-edges)

cost

- Chi ph ca hnh trnh b phn.

Mincost- Chi ph ca hnh trnh tt nht tm c.


void TSP( Edges, cost, A) {

IT

Hm Reduce(A, k), BestEgde(A, k, r, c,beta) c xy dng trn.

cost=cost + Reduce(A, n-Edges);

PT

if (cost <MinCost){

if (edges == n-2){

<b xung nt hai cnh cn li>;


MinCost :=Cost;

else {

BestEdge(A, n-eges, r, c, beta);


LowerBound = Cost + beta;
<Ngn cm to thnh hnh trnh con>;
NewA = < A loi b dng r ct c>;
TSP(edges+1, cost, NewA);/*i theo nhnh tri*/
<Khi phc A bng cch b xung dng r ct c>;
if (LowerBound < MinCost){
/* i theo nhnh phi*/
A[r, c] =;
99

TSP (edges, cost, A);


A[r,c] :=0;
}
}
< Khi phc ma trn A>;/* thm li cc hng s rt gn vo
cc dng v ct tng ng*/
}
}/* end of TSP*/;

4.5. Nhng im cn ghi nh


Bn c cn ghi nh mt s ni dung quan trng di y:

IT

Th no l mt bi ton ti u? ngha ca bi ton ti u trong cc m hnh thc


t.
Phn tch u im, nhc im ca phng php lit k.

Hiu phng php nhnh cn, phng php xy dng cn v nhng vn lin
quan

PT

Hiu phng php rt gn ma trn trong gii quyt bi ton ngi du lch.

BI TP CHNG 4

Bi 1. Gii cc bi ton ci ti sau:


a)

5 x1 x 2 9 x3 3x 4 max,

4 x1 2 x 2 7 x3 3x 4 10,
x 0,1, j 1,2,3,4.
j

b)

7 x1 3 x 2 2 x3 x 4 max,

5 x1 3 x 2 6 x 3 4 x 4 12,
x 0,1, j 1,2,3,4
j

Bi 2. Gii bi ton ci ti sau:

100

30 x1 19 x 2 13 x3 38 x 4 20 x5 6 x 6 8 x 7 19 x8 10 x9 11x10 max,

15 x1 12 x 2 9 x3 27 x 4 15 x 5 5 x 6 8 x 7 20 x8 12 x 9 15 x10 62
x 0,1, j 1,2 ,10.
j

Bi 3. Gii bi ton ngi du lch vi ma trn chi ph nh sau:

31 15 23 10 17
16 24 07 12 12
34 03 25 54 25
15 20 33 50 40

PT

IT

16 10 32 03 23
18 20 13 28 21

101

Bi 4. Gii bi ton ngi du lch vi ma trn chi ph nh sau:

03 93 13 33 09
04 77 42 21 16
45 17 36 16 28
39 90 80 56 07

PT

IT

28 46 88 33 25
03 88 18 46 92

102

CHNG 5. BI TON TN TI

Chng ta gii quyt bi ton m s cc cu hnh t hp tho mn mt tnh cht no


, chng hn nh m s t hp, s chnh hp, hoc s hon v. Trong nhng bi ton
s tn ti ca cc cu hnh l hin nhin v cng vic chnh l chng ta cn m s
cc cu hnh t hp tho mn tnh cht t ra. Tuy nhin, trong nhiu bi ton t hp,
vic ch ra s tn ti ca mt cu hnh tho mn cc tnh cht cho trc l mt vic
lm ht sc kh khn. Dng bi ton nh vy c gi l bi ton tn ti.

5.1. Gii thiu bi ton


Mt bi ton tn ti t hp c xem nh gii xong nu hoc ch ra mt cch xy dng
cu hnh, hoc chng minh rng chng khng tn ti. Mi kh nng u khng d dng.
Di y l mt s bi ton tn ti t hp ni ting.

IT

Bi ton 1. Bi ton v 36 s quan. Bi ton ny c Euler ngh vi ni dung nh


sau.

PT

C mt ln ngi ta triu tp t 6 trung on, mi trung on 6 s quan thuc 6


cp bc khc nhau: thiu u, 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 hng ngang cng nh mi hng dc u c i din ca c su
trung on v ca 6 cp bc.
n gin ta s dng cc ch ci in hoa A, B, C, D, E, F ch phin hiu ca
cc trung on, cc ch ci in thng a, b, c, d, e, f ch cp bc. Bi ton ny c th
tng qut ho nu thay 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 vi n = 5 l
Aa

Bb

Cc

Dd

Ee

Cd

De

Ed

Ab

Bc

Eb

Ac

Bd

Ce

Da

Be

Ca

Db

Ec

Ad

Dc

Ed

Ae

Ba

Cb

103

Do li gii bi ton c th biu din bi hai hnh vung vi cc ch ci la tinh hoa


v la tinh thng nn bi ton tng qut t ra cn c bit vi tn gi hnh vung la
tinh trc giao. Trong hai v d trn ta c hnh vung la tinh trc giao cp 4 v 5.
Euler mt rt nhiu cng sc tm ra li gii cho bi ton 36 s quan th
nhng ng khng thnh cng. V vy, ng gi thuyt l cch sp 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 n =
6 cn ra gi thuyt tng qut hn l khng tn ti hnh vung trc giao cp 4n + 2. Gi
thuyt ny tn ti hai th k, mi n nm 1960 ba nh ton hc M l Bore, Parker,
Srikanda mi ch ra c mt li gii vi n = 10 v sau ch ra phng php xy dng
hnh vung trc giao cho mi n = 4k + 2 vi k > 1.
Tng chng bi ton ch mang ngha th thch tr tu con ngi thun tu nh
mt bi ton . Nhng gn y, ngi ta pht hin nhng ng dng quan trng ca vn
trn vo qui hoch, thc nghim v hnh hc x nh.
Bi ton 2. Bi ton 4 mu

PT

IT

C nhiu bi ton m ni dung ca n c th gii thch c vi bt k ai, li gii ca n


ai cng c gng th tm nhng kh c th tm c. Ngoi nh l Fermat th bi ton
bn mu cng l mt bi ton nh vy. Bi ton c th c pht biu nh sau: Chng
minh rng mi bn u c th t bng 4 mu sao cho khng c hai nc lng ging
no li b t bi cng mt mu. Trong , mi nc trn bn c coi l mt vng
lin thng, hai nc c gi l lng ging nu chng c chung ng bin gii l mt
ng lin tc.

Hnh 5.1. Bn t bi t nht bn mu


Con s bn mu khng phi l ngu nhin. Ngi ta chng minh c rng
mi bn u c t bi s mu ln hn 4, cn vi s mu t hn 4 th khng th t
c, chng hn bn gm 4 nc nh trn Hnh 5.1 khng th t c vi s mu t
hn 4.
Bi ton ny xut hin vo nhng nm 1850 t mt li bun ngi Anh l Gazri
khi t bn hnh chnh nc Anh c gng chng minh rng n c th t bng bn
mu. Sau , nm 1852, ng vit th cho De Morgan thng bo v gi thuyt ny.
104

Nm 1878, keli trong mt bi bo ng tuyn tp cc cng trnh nghin cu ca Hi


ton hc Anh c hi rng bi ton ny c gii quyt hay cha? T bi ton tr
nn ni ting, trong xut hn mt th k qua, nhiu nh ton hc c gng chng minh
gi thuyt ny. Tuy vy, mi ti nm 1976 hai nh ton hc M l K. Appel v W. Haken
mi chng minh c n nh my tnh in t.
Bi ton 3. Hnh lc gic thn b. Nm 1890 Clifford Adams ra bi ton hnh lc
gic thn b sau:
Trn 19 lc gic (nh Hnh 5.2) hy in cc s t 1 n 19 sao cho tng theo 6
hng ca lc gic l bng nhau (v u bng 38). Sau 47 nm tri kin nhn cui cng
Adams cng tm c li gii. Sau v s nh mt bn tho ng tn thm 5
nm khi phc li. Nm 1962 Adams cng b li gii . Nhng tht khng th
ng c l li gii duy nht.

15
9

13

IT

14

6
11

10

PT

18

12

17

16

19

Hnh 5.2. Hnh lc gic thn b

Bi ton 3. Bi ton chn 2n im trn li n n im


Cho mt li gm n n im. Hi c th chn trong s chng 2n im sao cho khng c
ba im no c chn l thng hng? Hin nay ngi ta mi bit c li gii ca bi
ton ny khi n 15. Hnh 3.3 cho mt li gii vi n = 12.

105

IT

Hnh 2.4. Mt li gii vi n = 12.

5.2. Phng php phn chng

PT

Mt trong nhng cch gii bi ton tn ti l dng lp lun phn chng: gi thit iu
chng minh l sai, t dn n mu thun.
V d 1. Cho 7 on thng c di ln hn 10 v nh hn 100. Chng minh rng ta
lun lun tm c 3 on c th ghp li thnh mt tam gic.
Gii: iu kin cn v 3 on l cnh ca mt tam gic l tng ca hai cnh phi
ln hn mt cnh. Ta sp cc on thng theo th t tng dn ca di a1, a2, . . ., a7 v
chng minh rng dy xp lun tm c 3 on m tng ca hai on u ln hn
on cui. chng minh, ta gi s khng tm c ba on no m tng ca hai on
nh hn mt on, ngha l cc bt ng thc sau ng thi xy ra:
a1 + a 2 a 3

a3 20 (v a1 , a2 10 )

a2 + a 3 a 4

a4 30 (v a2 10 , a3 20)

a3 + a 4 a 5

a5 50 (v a3 20, a 4 30 )

a4 + a 5 a 6

a6 80 (v a4 30 , a5 50)

a5 + a 6 a 7

a7 130 (v a5 50, a6 80)

Mu thun (bi ton c gii quyt).


V d 2. Cc nh ca mt thp gic u c nh s bi cc s nguyn 0, 1, . . , 9 mt
cch tu . Chng minh rng lun tm c ba nh lin tip c tng cc s l ln hn 13.

106

Gii : Gi x1, x2, . ., x10 l cc s gn cho cc nh ca thp gic u. Gi s ngc li ta


khng tm c 3 nh lin tip no tho mn khng nh trn. Khi ta c
k1 = x1 + x2 + x3 13
k2 = x2 + x3 + x4 13
k3 = x3 + x4 + x5 13
k4 = x4 + x5 + x6 13
k5 = x5 + x6 + x7 13
k6 = x6 + x7 + x8 13
k7 = x7 + x8 + x9 13
k8 = x8 + x9 + x10 13
k9 = x9 + x10 + x1 13
130 k1 + k2 + . . . + k10

IT

k10 = x10 + x1 + x2 13
= 3 (x1+ + x2 + . . .+ x10)

= 3 ( 0 + 1 + 2 + . . . + 9)

= 135 Mu thun v mt s bng 135 khng th hn 130.

PT

Khng nh chng minh.

5.3 Nguyn l Dirichlet

Trong rt nhiu bi ton t hp, chng minh s tn ti ca mt cu hnh vi nhng


tnh cht cho trc, ngi ta s dng nguyn l n gin sau gi l nguyn l Dirichlet.
Nguyn l Dirichlet. Nu em xp nhiu hn n i tng vo n hp th lun tm c
mt ci hp cha khng t hn 2 i tng.
Chng minh. Vic chng minh nguyn l trn ch cn s dng mt lp lun phn chng
n gin. Gi s khng tm c mt hp no cha khng t hn hai i tng. iu
ngha l mi hp khng cha qu mt i tng. T suy ra tng cc i tng khng
vt qu n tri vi gi thit bi ton l c nhiu hn n i tng c xp vo chng.
V d 1. Trong bt k mt nhm c 367 ngi th no cng c t nht hai ngi c cng
ngy sinh.
Gii: V mt nm c nhiu nht 366 ngy. Nh vy, theo nguyn l Dirichlet th c t
nht mt ngy c hai ngi cng mt ngy sinh.
V d 2. Trong bt k 27 t ting Anh no cng u c t nht hai t cng bt u bng
mt ch ci.
Gii: V bng ch ci ting Anh ch c 26 ch ci. Nn theo nguyn l Dirichlet tn ti t
nht 2 t s bt u bi cng mt ch ci.
107

V d 3. Bi thi cc mn hc cho sinh vin c chm theo thang im 100. Hi lp phi


c t nht bao nhiu sinh vin c t nht hai sinh vin c nhn cng mt im.
Gii: Cn c t nht 102 sinh vin v thang im tnh t 0 . . 100 gm 101 s. Do vy,
theo nguyn l Diriclet mun c 2 sinh vin nhn cng mt im th lp phi c t nht l
101 +1 = 102 sinh vin.
Nguyn l Dirichlet tng qut. Nu em xp n i tng vo k hp th lun tm c
mt hp cha t nht n/k i tng.
Nguyn l trn c nh ton hc ngi c Dirichlet xut t th k 19 v ng p
dng gii nhiu bi ton t hp.
V d 4. Trong 100 ngi c t nht 9 ngi sinh nht cng mt thng.
Gii: Mt nm c 12 thng. Xp tt c nhng ngi sinh nht vo cng mt nhm. Theo
nguyn l Dirichlet ta c t nht 100/12 = 9 ngi cng sinh nht mt thng.

IT

V d 5. C nm loi hc bng khc nhau pht cho sinh vin. Hi phi c t nht bao
nhiu sinh vin chc chn c 5 ngi c nhn hc bng nh nhau.
Gii. S sinh vin t nht c 5 sinh vin cng c nhn mt loi hc bng l s n
tho mn n/5 > 5. S nguyn b nht tho mn iu kin trn l n = 25 + 1 = 26. Nh
vy phi c t nht 26 sinh vin c t nht 5 sinh vin cng c nhn mt loi hc
bng.

PT

V d 6. Trong mt thng c 30 ngy mt i bng chy chi t nht mi ngy mt trn,


nhng c thng chi khng qu 45 trn. Hy ch ra rng phi tm c mt giai on gm
mt s ngy lin tc no trong thng sao cho trong giai on i chi ng 14 trn.
Gii: Gi s aj l s trn thi u cho ti ngy th j ca i. Khi
a1, a2, . . ., a30

l dy tng ca cc s nguyn dng v 1 aj 45. Suy ra dy


a1 + 14, a2 + 14, . . ., a30 + 14 cng l dy tng cc s nguyn dng v
15 aj 59
Nh vy, dy 60 s nguyn dng
a1, a2, . . , a30, a1 + 14, a2 + 14 , . . ., a30 + 14 trong tt c cc s u nh hn
hoc bng 59. Theo nguyn l Dirichlet th phi tn ti t nht hai s trong s hai s
nguyn ny bng nhau. V cc s a1, a2, . . ., a30 l i mt khc nhau v a1 + 14, a2 + 14,
. . ., a30 + 14 cng i mt khc nhau. Nn ta suy ra phi tn ti ch s i v j sao cho ai=aj
+ 14. iu c ngha l c ng 14 trn u trong giai on t ngy j + 1 n ngy th
i.

5.4. Nhng ni dung cn ghi nh

108

Bn c cn ghi nh mt s kin thc quan trng sau:


Nhng nguyn l m c bn: nguyn l cng, nguyn l nhn & nguyn l b
tr.
S dng nhng nguyn l c bn tron m cc hon v, t hp.
Hiu phng php cch gii quyt bi ton m bng h thc truy hi.
Nm vng cch thc qui mt bi ton m v nhng bi ton con.
Cch gii ph bin cho bi ton tn ti l s dng phng php phn chng hoc
s dng nguyn l Dirichlet.

BI TP

PT

IT

1 . Dng bng chn l chng minh lut giao hon:


a) p q q p
b) p q q p
2 . Dng bng chn l chng minh lut kt hp
a) p q r p q r
b) p q r p q r
3 . Dng bng chn l chng minh lut phn phi
a) p q r p q p r
b) p q r p q p r
4 . Dng bng chn l chng minh lut De Morgan
a) p q p q
b) p q p q
5. Dng bng chn l chng minh cc mnh ko theo di y l hng ng.
a) p q p
b) p p q
c) p p q
6. Dng bng chn l chng minh cc mnh ko theo di y l hng ng.
a) p q p q
b) p q p
c) p q q
7 . Dng bng chn l chng minh cc mnh ko theo di y l hng ng.
a) p p q q
b) p q q r p r
c) p p q q
d) p q p r q r r

109

8. Chng minh cc cp mnh di y l tng ng.


a) p q p q p q
b) p q q p
c) p q p q
d) p q p q
9. Khng dng bng chn l chng minh cc mnh ko theo di y l hng ng.
a) p q p
b) p p q
c) p p q
d) p q p q
e) p q p
f) p q q
10. Khng dng bng chn l chng minh cc mnh ko theo di y l hng ng.
a) p p q q
b) p q q r p r
c) p p q q
d) p q p r q r r
11. Khng dng bng chn l, chng minh cc cp mnh di y l tng ng.
a) p q p q p q
b) p q q p
c) p q p q
d) p q p q

IT

PT

12. Cho A, B, C l cc tp hp. Chng minh rng:


a) B A C A B C A
b) A B A B
c) A B A B A
d) A B C A B C
e) A B C A B B C

12.
a) Trnh by thut ton sinh hon v k tip ca 1, 2, .., n ?
b) Cho tp A = { 1, 2, 3, 4, 5, 6, 7, 8, 9}. S dng phng php sinh hon v theo
th t t in, tm 4 hon v lin k tip theo ca hon v 568397421 ?
c) p dng thut ton ti Mc a, vit chng trnh lit kt tt c cc hon v ca 1,
2, .., n ?

110

13.
a) Trnh by thut ton sinh hon v k tip ca 1, 2, .., n ?
b) Cho tp A = { 1, 2, 3, 4, 5, 6, 7, 8, 9}. S dng phng php sinh hon v theo
th t t in, tm 4 hon v lin k tip theo ca hon v 458796321 ?
c) p dng thut ton ti Mc a, vit chng trnh lit kt tt c cc hon v ca 1,
2, .., n ?
14.
a) Trnh by thut ton quay lui lit k cc hon v ca 1, 2, .., n ?
b) Kim nghim thut ton vi n=3 ?
c) p dng thut ton ti Mc a, vit chng trnh lit kt tt c cc hon v ca 1,
2, .., n ?
15 .

16.

PT

IT

a) Trnh by thut ton sinh t hp chp k ca 1, 2,..,n ?


b) Cho tp A = { 1, 2, 3, 4, 5, 6, 7, 8, 9}. S dng phng php sinh t hp chp k
ca mt tp hp theo th t t in, hy to 4 t hp chp 4 lin k tip theo ca
t hp 2,6,8,9?
c) p dng thut ton ti Mc a, vit chng trnh lit kt tt c cc t hp chp k
ca 1, 2, .., n ?

a) Trnh by thut ton quay lui lit k cc t hp chp k ca 1, 2,..,n ?


b) Kim nghim thut ton vi n=5, k =3 ?
c) p dng thut ton ti Mc a, vit chng trnh lit kt tt c cc t hp chp k
ca 1, 2, .., n ?
17.

a) Trnh by thut ton sinh xu nh phn c di n?


b) Cho xu nh phn X = { 1, 0, 1, 1, 1, 1, 1, 1, 1}. S dng phng php sinh xu
nh phn theo th t t in, tm 4 xu nh phn lin k tip theo ca X?
c) p dng thut ton ti Mc a, vit chng trnh lit kt tt c cc xauu nh phn
c di n?
18.
a) Trnh by thut ton sinh xu nh phn c di n?
b) Cho xu nh phn X = { 1, 0, 1, 1, 0, 0, 1, 1, 1}. S dng phng php sinh xu
nh phn theo th t t in, tm 4 xu nh phn lin k tip theo ca X?
c) p dng thut ton ti Mc a, vit chng trnh lit kt tt c cc xauu nh phn
c di n?
111

19.
a) Trnh by thut ton quay lui lit k cc xu nh phn c di n?
b) Kim nghim thut ton vi n=3 ?
c) p dng thut ton ti Mc a, vit chng trnh lit kt tt c cc xu nh phn
c di n ?
20. C bao nhiu bin s xe bt u bng 2 hoc 3 ch ci in hoa v kt thc l 3 hoc 4
ch s, bit rng c 26 ch ci trong bng ch ci ting anh? (VD : RS 0912 l 1 bin
s).
21. C bao nhiu bin s xe bt u bng 3 hoc 4 ch ci in hoa v kt thc l 2 hoc 3
ch s, bit rng c 26 ch ci trong bng ch ci ting anh? (VD : ABZ 09 l 1 bin s).
22. C bao nhiu s nguyn trong khong t 1000 n 5000 chia ht cho 6 hoc 9 ?

IT

23. C bao nhiu s nguyn trong khong t 5000 n 9999 chia ht cho 8 hoc 12 ?

PT

24. Gi s tt c cc s in thoi trn th gii u theo quy tc, bt u bng m quc


gia di t 1 n 3 ch s, tc l c dng X, XX hoc XXX ; tip theo l 10 ch s dng
NXX-NXX-XXXX trong N c th nhn gi tr t 1 n 6, X biu th mt ch s t 0
n 9. Theo cch nh s ny, s c ti a bao nhiu s in thoi c th dng ?
25. Gi s tt c cc s in thoi trn th gii u theo quy tc, bt u bng m quc
gia di t 1 n 3 ch s, tc l c dng X, XX hoc XXX ; tip theo l 10 ch s dng
NNX-NXX-XXXX trong N c th nhn gi tr t 5 n 9, X biu th mt ch s t 0
n 9. Theo cch nh s ny, s c ti a bao nhiu s in thoi c th dng ?
26. Lp hc c 55 bn nam v 35 bn n. Hy cho bit c bao nhiu cch chn i vn
ngh ca lp sao cho s bn nam bng s bn n, bit rng i vn ngh cn t nht 6
thnh vin v nhiu nht 10 thnh vin.
27. Lp hc c 60 bn nam v 42 bn n. Hy cho bit c bao nhiu cch chn i vn
ngh ca lp sao cho s bn nam bng s bn n, bit rng i vn ngh cn t nht 4
thnh vin v nhiu nht 8 thnh vin.
28. Lp hc c 50 bn nam v 20 bn n. Hy cho bit c bao nhiu cch chn i vn
ngh ca lp sao cho s bn nam ng bng 2 ln s bn n, bit rng i vn ngh cn t
nht 6 thnh vin v nhiu nht 12 thnh vin.
112

29. : Lp hc c 60 bn nam v 25 bn n. Hy cho bit c bao nhiu cch chn i vn


ngh ca lp sao cho s bn nam ng bng 2 ln s bn n, bit rng i vn ngh cn t
nht 3 thnh vin v nhiu nht 9 thnh vin.
30. Trong k thi tuyn sinh i hc khi A, cc th sinh thi trc nghim mn L v Ha,
mi mn thi c 50 cu hi. Mi cu hi c ng 4 phng n tr li v ch c la chn
ti a 1 phng n. Mi cu tr li ng c 0.2 im, cu tr li sai hoc khng tr li
th khng c im.
a) Hy cho bit c bao nhiu cch in phiu trc nghim mn L.
b) Cn c t nht bao nhiu th sinh tham gia c t nht 10 sinh vin c tng im L
v Ha bng nhau. Bit rng im thi khng c lm trn.

PT

IT

31. Trong k thi tuyn sinh i hc khi A, cc th sinh thi trc nghim mn L v Ha,
mi mn thi c 40 cu hi. Mi cu hi c ng 5 phng n tr li v ch c la chn
ti a 1 phng n. Mi cu tr li ng c 0.25 im, cu tr li sai hoc khng tr
li th khng c im.
a) Hy cho bit c bao nhiu cch in phiu trc nghim mn Ha.
b) Cn c t nht bao nhiu th sinh tham gia c t nht 10 sinh vin c tng im L
v Ha bng nhau, bit rng im thi khng c lm trn.
32. Mt bi thi trc nghim c 30 cu hi, mi cu hi c 5 phng n tr li v ch c 1
phng n ng. Mi cu tr li ng c 3 im, tr li sai b tr 1 im, nu khng
tr li th cu nhn 0 im. Bit rng tng im thp nht l 0. Hy cho bit:
a) C bao nhiu cch in phiu trc nghim (mi cu ch c chn ti a 1 phng
n).
b) Cn bao nhiu sinh vin tham gia thi m bo c t nht 2 sinh vin c cng kt
qu thi.
33. Mt bi thi trc nghim c 35 cu hi, mi cu hi c 4 phng n tr li v ch c 1
phng n ng. Mi cu tr li ng c 3 im, tr li sai b tr 1 im, nu khng
tr li th cu nhn 0 im. Bit rng tng im thp nht l 0. Hy cho bit:
a) C bao nhiu cch in phiu trc nghim (mi cu ch c chn ti a 1 phng
n).
b) Cn bao nhiu sinh vin tham gia thi m bo c t nht 2 sinh vin c cng kt
qu thi.

113

34. Phng trnh x1 + x2 + x3 = 13 c bao nhiu nghim nguyn khng m tha mn


a) x1 1, x2 3, x3 0
b) x1 0, x2 3, x3 5
35. Phng trnh x1 + x2 + x3 = 15 c bao nhiu nghim nguyn khng m tha mn
a) x1 2, x2 0, x3 4
b) x1 1, x2 0, x3 7
36. Phng trnh x1 + x2 + x3 = 14 c bao nhiu nghim nguyn khng m tha mn
a) x1 0, x2 3, x3 1
b) x1 0, x2 6, x3 3,

38.

IT

37. Phng trnh x1 + x2 + x3 = 16 c bao nhiu nghim nguyn khng m tha mn


a) x1 2, x2 0, x3 2
b) x1 6, x2 3, x3 0

39.

PT

a) Gii h thc truy hi sau


a0 = 2, a1 = 6, an = 3an-1 - 2an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n cha 3 s 0 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 7.

a) Gii h thc truy hi sau


a0 = 4, a1 = 8, an = an-1 + 2an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n cha 3 s 1 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 6.
40.
a) Gii h thc truy hi sau
a0 = 1, a1 = 5, an = -an-1 + 6an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n, bt u bng s 1 v
c cha 2 s 1 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 7.

114

41.
a) Gii h thc truy hi sau
a0 = 6, a1 = 7, an = an-1 + 6an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n, kt thc bng s 1 v
c cha 2 s 1 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 6.
42.

43.

IT

a) Gii h thc truy hi sau


a0 = 5, a1 = 4, an = an-1 + 2an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n, bt u bng s 0 v
c cha 2 s 1 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 7.

44.

PT

a) Gii h thc truy hi sau


a0 = 8, a1 = 3, an = -an-1 + 2an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n, kt thc bng s 0 v
c cha 2 s 1 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 6.

a) Gii h thc truy hi sau


a0 = 5, a1 = 2, an = -3an-1 + 4an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n, bt u bng s 1 v
c cha 2 s 0 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 7.
45.
a) Gii h thc truy hi sau
a0 = 6, a1 = 9, an = 3an-1 + 4an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n, kt thc bng s 1 v
c cha 2 s 0 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 6.

115

46.
a) Gii h thc truy hi sau
a0 = 6, a1 = 9, an = 7an-1 - 12an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n, bt u bng s 0 v
c cha 2 s 0 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 7.
47.

IT

a) Gii h thc truy hi sau


a0 = 8, a1 = 7, an = -an-1 + 12an-2 vi n2
b) Tm h thc truy hi tnh s cc xu nh phn di n, kt thc bng s 0 v
c cha 2 s 0 lin tip.
c) Tnh s xu nh phn tha mn iu kin cu b vi n = 6.
48. Hy tm nghim ca cng thc truy hi vi iu kin u di y:

PT

a) an = 3an-1 vi a0 =2.
b) an = -4an-1 - 4an-2
vi n2 v a0 =0 v a1 =1.
c) an = 14an-1 - 49an-2 vi n2 v a0 =3 v a1 = 35.
49. Hy tm nghim ca cng thc truy hi vi iu kin u di y:
a) an = an-1 + 2
vi a0 =3.
b) an = -4an-1 - 4an-2 vi n2 v a0 =0 v a1 =1.
c) an = 13an-1 - 22an-2 vi n2 v a0 =3 v a1 = 15.
50. Hy tm nghim ca cng thc truy hi vi iu kin u di y:
a) an = an-1 + 2n + 3 vi a0 =4.
b) an = -6an-1 - 9an-2

vi n2 v a0 =3 v a1 =-3.

c) an = 2an-1 + 5an-2 - 6an-3 vi n3 v a0 =7 v a1 =-4, a2 =8.


51. Hy tm nghim ca cng thc truy hi vi iu kin u di y:
a) an = an-1 + 2n

vi a0 =1.

b) an = 14an-1 - 49an-2 vi n2 v a0 =3 v a1 = 35.


c) an = 2an-1 + an-2 - 2an-3 vi n3 v a0 =3 v a1 =6, a2 =0.
52. Hy tm nghim ca cng thc truy hi vi iu kin u di y:
a) an = an-1 + 2n

vi a0 =1.

b) an = -13an-1 - 22an-2 vi n2 v a0 =3 v a1 = 15.


c) an = 2an-1 + 5an-2 - 6an-3 vi n3 v a0 =7 v a1 =-4, a2 =8.

116

53. Hy tm nghim ca cng thc truy hi vi iu kin u di y:


a) an = -4an-1 - 4an-2

vi n2 v a0 =0 v a1 =1.

b) an = 2an-1 + an-2 - 2an-3 vi n3 v a0 =3 v a1 =6, a2 =0.


c) an = 7an-2 + 6an-3 vi n3 v a0 =9 v a1 =10, a2 =32.
54. Phng trnh
x1 + x2 + x3 + x4 + x5 +x6 = 24
c bao nhiu nghim nguyn khng m sao cho
a) xi 2 vi i=1, 2, 3, 4, 5, 6?
b) 1 x1 5 v x3 8?
c) 1 x1 5 v 3 x2 7?
d) 1 x1 5 v 3 x2 7 v x3 8?

IT

55. Hy tm tt c cc s t nhin c 7 ch s tha mn:


a) S c 7 ch s to thnh mt s thun nghch;
b) S c 7 ch s to thnh mt s thun nghch v c tt c cc ch s u khc
0;
c) S c 7 ch s c tng cc ch s l 18;

58.

PT

56. Hy tm tt c cc s t nhin c 9 ch s tha mn:


a) S c 9 ch s to thnh mt s thun nghch;
b) S c 9 ch s to thnh mt s thun nghch v c tt c cc ch s u khc
0;
c) S c 7 ch s c tng cc ch s l 19;
57. Hy tm tt c cc s t nhin c 10 ch s tha mn:
a) S c 10 ch s to thnh mt s thun nghch;
b) S c 10 ch s to thnh mt s thun nghch v c tt c cc ch s u khc
0;
c) S c 10 ch s c tng cc ch s l 18.
a) Tm h thc truy hi v cho iu kin u tnh s cc xu nh phn di n v
khng c k s 1 lin tip?
b) Tm h thc truy hi v cho iu kin u tnh s cc xu nh phn di n c t
nht mt dy k s 1 lin tip?
59.
a) Tm h thc truy hi v cho iu kin u tnh s cc xu nh phn di n v
khng c k s 0 lin tip?
b) Tm h thc truy hi v cho iu kin u tnh s cc xu nh phn di n c t
nht mt dy k s 0 lin tip?
60.
117

a) Mt h thng my tnh coi mt xu cc ch s h thp phn l mt t m hp l


nu n cha mt s chn ch s 1. V d 1231407869 l hp l, 120987045608 l
khng hp l. Gi s an l s cc t m di n. Hy tm h thc truy hi v iu
kin u cho an?
b) Gii h thc truy hi an = 2an-1 + an-2 - 2an-3 vi n3 v a0 =3 v a1 =6, a2 =0.
61. Phng trnh x1 x 2 x3 x4 x5 x6 25 c bao nhiu nghim nguyn khng m
tha mn
a) x1 1, x2 2, x3 3, x4 4, x5 5 , x6 6?
b) 2 x1 7, 4 x2 8; x3 5?
62.

IT

a) Mt h thng my tnh coi mt xu cc ch s h thp phn l mt t m hp


l nu n cha mt s l ch s 0. V d 1231407869 l hp l, 12098704568 l
khng hp l. Gi s an l s cc t m di n. Hy tm h thc truy hi v iu
kin u cho an?
b) Gii h thc truy hi an = 7an-2 + 6an-3 vi n3 v a0 =9 v a1 =10, a2 =32.
63. Phng trnh x1 x 2 x3 x4 x5 x6 28 c bao nhiu nghim nguyn khng m tha
mn

PT

c) x1 1, x2 2, x3 3, x4 4, x5 5 , x6 6?
b) 1 x1 6, 4 x2 9; x3 4?
64.

a) Trnh by thut ton nhnh cn gii bi ton ci ti?


b) p dng thut ton nhnh cn gii bi ton ci ti di y, ch r kt qu theo
mi bc thc hin ca thut ton?

5 x1 x 2 9 x3 3x 4 max,

4 x1 2 x 2 7 x3 3x 4 10,
x 0,1, j 1,2,3,4.
j

118

65.
a) Trnh by thut ton nhnh cn gii bi ton ci ti?
b) p dng thut ton nhnh cn gii bi ton ci ti di y, ch r kt qu theo
mi bc thc hin ca thut ton?
7 x1 3 x 2 2 x3 x 4 max,

5 x1 3 x 2 6 x 3 4 x 4 12,
x 0,1, j 1,2,3,4
j

66.
a) Trnh by thut ton nhnh cn gii bi ton ci ti?

IT

b) p dng thut ton nhnh cn gii bi ton ci ti di y, ch r kt qu theo


mi bc thc hin ca thut ton?
30 x1 19 x 2 13 x3 38 x 4 20 x5 6 x 6 8 x 7 19 x8 10 x9 11x10 max,

15 x1 12 x 2 9 x3 27 x 4 15 x 5 5 x 6 8 x 7 20 x8 12 x 9 15 x10 62
x 0,1, j 1,2 ,10.
j

PT

67. Gii bi ton ngi du lch vi ma trn chi ph nh sau:

31 15 23 10 17

16 24 07 12 12
34 03 25 54 25
15 20 33 50 40

16 10 32 03 23
18 20 13 28 21
68. Gii bi ton ngi du lch vi ma trn chi ph nh sau:
03 93 13 33 09
04 77 42 21 16
45 17 36 16 28
39 90 80 56 07
28 46 88 33 25
03 88 18 46 92

119

You might also like