You are on page 1of 9

TRNG I HC BCH KHOA H NI

Vin Cng ngh Thng tin v Truyn thng

BI TP LN MN HC
THIT K V PHN TCH THUT TON

ti:

BI TON CI TI

Hc vin thc hin:


1. o Duy Thnh. SHHV:20082364
M lp: 29106
Gio vin hng dn: PGS Nguyn c Ngha

H NI 2011

Mc lc
Mc lc.............................................................................................................................................................2
Gii thiu :........................................................................................................................................................3
Chng I : Bi ton ci ti................................................................................................................................4
Gii thiu......................................................................................................................................................4
Bi ton ci ti dng 0-1...............................................................................................................................4
Bi ton ci ti dng phn s........................................................................................................................5
Chng 2: Gii bi ton ci ti bng thut ton trc tip (Brute-force)............................................................5
Chng 3: Gii bi ton ci ti bng thut ton tham lam................................................................................5
3.1 Greedy 1.................................................................................................................................................5
3.2 Greedy 2.................................................................................................................................................5
3.3 Greedy 3.................................................................................................................................................5
3.4 Greedy 4.................................................................................................................................................5
3.5 Thc hin bi ton ci ti theo Greedy 3 bng C++................................................................................6
Chng IV: Gii bi ton ci ti bng thut ton quy hoch ng...................................................................7
4.1 M t:.....................................................................................................................................................7
4.2 Nhn xt:................................................................................................................................................8
Ti liu tham kho chnh:.................................................................................................................................9

Gii thiu :
Bo co ny s trnh by v cc thut ton gii quyt bi ton ci ti. Trong c s dng 2
gii thut l: gii thut tham lam (Greedy) v Quy hoch ng (Dynamic progaming). T a ra
cc nh gi v phc tp ca thut ton v la chn phng n ti u.
Xin chn thnh cm n thy Nguyn c Ngha gip em thc hin bi ton ny
H Ni thng 12 nm 2011

Chng I : Bi ton ci ti
Gii thiu.
Bi ton ci ti (hay cn gi l bi ton xp ba l) l mt bi ton ti u t hp. Bi ton
c t tn t vn chn nhng g quan trong c th nht va vo mt ci ti (vi gii hn khi
lng) mang theo trong mt chuyn i.
Ni dung bi ton nh sau: Mt k trm t nhp vo mt ca hiu tm thy c n mt hng c
trng lng v gi tr khc nhau, nhng hn ch mang theo mt ci ti c sc cha v trng lng
ti a l M. Vy k trm nn b vo ti nhng mn no v s lng bao nhiu t gi tr cao
nht trong kh nng m hn c th mang i c.

V d v bi ton ci ti trong gii hn mt chiu: chn cc hp no lm cho gi tr tin l


cc tri khi tng trng lng khng vt qu 15kg? Bi ton a chiu c th xt n khi lng
ring v kch thc ca hp, l bi ton xp vali in hnh(packing problem)
Ta c n loi vt, t 1 ti n. Mi vt th i c trng lng w[i] v gi tr v[i]. Trng lng
ti a m ti c th mang c l S.

Bi ton ci ti dng 0-1.


Hn ch s vt thuc mi loi l 0 (khng c chn ) v 1 (c chn).
Bi ton ci ti c th c pht biu bng ton hc nh sau:
Cc i ha
Sao cho
vi
hoc 1
Bi ton ci ti b chn hn ch s vt huc mi loi no khng c vt qu mt lng
no .
C th c pht biu bng ton hc nh sau
Cc i ha
Sao cho
vi
Bi ci ti khng b chn khng c mt hn ch no v s lng vt mi loi.
Mt trng hp c bit ca bi ton ny nhn c nhiu quan tm, l bi ton vi cc tnh
cht:

l mt bi ton quyt nh

l mt bi ton 0/1

vi mi vt, chi ph bng gi tr: C = V


4

Trng hp c bit ny c gi l bi ton tng cc tp con (subset sum problem). Vi


mt s l do, trong ngnh mt m hc, ngi ta thng dng cm t "bi ton ci ti khi thc ra
ang c ni v "bi ton tng con".
Bi ton ci ti thng c gii bng quy hoch ng, tuy cha c mt thut ton thi
gian a thc cho bi ton tng qut. C bi ci titng qut v bi ton tng con u l cc bi NPkh, v iu ny dn n cc c gng s dng tng con lm c s cho cc h thng mt m ha
kha cng khai, chng hn Merkle-Hellman. Cc c gng ny thng dng nhm thay v cc s
nguyn. Merkle-Hellman v mt s thut ton tng t khc b ph, do cc bi ton tng con c
th m h to ra thc ra li gii c bng cc thut ton thi gian a thc.
Phin bn bi ton quyt nh ca bi ton ci ti c m t trn l NP-y v trong
thc t l mt trong 21 bi ton NP-y ca Karp.

Bi ton ci ti dng phn s


Vi mi loi, c th chn mt phn ca n (v d: 1Kg b c th c ct ra thnh nhiu
phn b vo ba l)

Chng 2: Gii bi ton ci ti bng thut ton trc tip (Brute-force)


Phng php ny duyt tt c
kh nng cht vo ti, tm cch cht c tng gi tr ln
nht trong s cc cch cht co tng trng lng cc vt khng qu dung lng ca ti
Tuy nhin, phng php ny t c s dng do c phc tp O (n2)

Chng 3: Gii bi ton ci ti bng thut ton tham lam


3.1 Greedy 1

Gii thut: sp xp cc vt theo th t khng tng ca gi tr.

Ln lt xt cc vt theo th t sp , v cht ang xt vo ti nu nh dung


lng cn li ca ci ti cha n (tc l tng trng lng ca cc vt xp vo
ti v trng lng ca cc vt ang xt khng vt qu kh nng ca ti).
Tuy nhin, phng php ny cha cho li gii chnh xc

3.2 Greedy 2

Sp xp cc vt theo th t khng gim ca trng lng


Ln lt xt cc vt theo th t sp , v cht ang xt vo ti nu nh dung lng
cn li ca ci ti cha n (tc l tng trng lng ca cc vt xp vo ti v trng
lng ca cc vt ang xt khng vt qu dung lng ca ti).
Tng t Greedy 1, phng php ny cha mang li c chnh xc cn thit

3.3 Greedy 3

Sp xp cc vt theo th t khng tng ca gi tr mt n v trng lng ( )


Ln lt xt cc vt theo th t sp, v cht vt ang xt vo ti nu nh dung
lng cn li ca ci ti cha n

3.4 Greedy 4

Gi

l li gii thu c theo thut ton Greedy j , j=1;2;3 Gi

l li gii t

nh l: Li gii tha mn ng thc

3.5 Thc hin bi ton ci ti theo Greedy 3 bng C++


Cc hm c s dng :
swap (x,y) c dng i ch bin x v y khi sp xp
nhap() dng nhp d liu t bn phm
sapxep() c dng sp xp li mng theo th t gim dn ca t l v[i]/w[i] , tc
l t l gim dn ca gi tr trn khi lng mi vt
thamlam() ln lt trn cc vt c sp xp theo th t gim dn ca gi tr
trn khi lng, bin k lc ghi nhn kt qu tt nht khi thc hin
phc tp:
Nu s dng sp xp n gin (chn, ni bt) th phc tp ca c bi ton l O(n2)
Nu s dng quick sort hoc merge sort th phc tp l O(nlogn) tt hn so vi gii trc
tip

Giao din nhp s liu

Kt qu thu c

Chng IV: Gii bi ton ci ti bng thut ton quy hoch ng.
4.1 M t:

Vi mi
v
, xt bi ton
. Tnh
l tng
gi tr ln nht ca cc vt c chn trong s k vt u tin v c tng trng
lng khng qu S.
C tt c
bi ton. Bi ton cn gii l
Gi tr ti u cn tm l
Vi k=1 ta c
o
o

Ga s tnh c
vi mi
v
. Khi , tnh
ta c th lp lun nh sau
o Nu
th vt th k khng th cht vo ti, do cch cht ti u
ch c th s dng k-1 vt trc v c gi tr l
o Nu
th cch cht ti u cn la chn trong 2 cch cht sau
Khng cht vt k vo ti, khi gi tr ca cch cht ti u s l

Cht vt h k vo ti, khi trng lng cn li s c cht ti


u t
vt u tin vi gi tr ti u s l

o T ta c cng thc quy

4.2 Nhn xt:


Thut ton gii bi ton ci ti c thi gian nh gi l O(nL). Thi gian ny ph thuc
tuyn tnh vo d liu vo L, nhng nu xt n nh l hm ca di d liu vo
, th
s ph thuc ny li l hm m.Trn thc t,thut ton ny lm vic hiu qu khi L khng l qu
ln

Ti liu tham kho chnh:


1. Nguyn c Ngha. Bi ging Thit k v phn tch thut ton. HBK H ni, 2010.
2. Wikipedia.org v cc ngun khc t internet

You might also like