You are on page 1of 7

14/04/2008

K THUT GREEDY
(THAM LAM)

Phm Th Bo
Khoa Ton Tin hc
Trng i hc Khoa hc T nhin Tp.HCM

Bi ton ti u t hp

L mt dng ca bi ton ti u, dng tng qut:


Cho hm f(X), l hm mc tiu, xc nh trn mt tp
hu hn cc phn t D.
Mi phn t XD c dng X=(x
X (x1, x2, , xn) gi l
mt phng n.
Tm mt phng n X0D sao cho f(X) t max (hay
min) trn D. X0 c gi l phng n ti u.

Cch gii quyt:


Vt cn
Ton hc: ngnh ti u kh
K thut Greedy (tham lam).
Phm Th Bo

14/04/2008

K thut Greedy
xy dng mt li gii ti u (ton cc) th
chng
h ta
t s tm
t cc
li gii
ii (x
( i) ti u cc b
v xem nh tp hp cc li gii ti u cc b
s chnh l li gii ti u cn tm.
Trong nhiu trng hp phng php ny
cha chc cho li gii ti u ton cc. Nhng
y l phng php kh thi ci t trn my
tnh.
Phm Th Bo

Bi ton tr tin ca ATM


Trong my c chuNn b sn cc loi tin 10K,
20K 50K v 100K.
20K,
100K Gi s
s lng
l
kh hn
khng
h
ch. Khi c mt khch hng cn rt N ng,
vi N chia ht cho 10K. Tm mt phng n
tr N ng v s lng t t nht.
Cch gii:
Gi X=(x1, x2, x3, x4) l mt phng n tr tin,
vi xi (i=1..4) ln lt l s lng t tin c mnh
gi tng ng 10K, 20K, 50K, 100K.
Phm Th Bo

14/04/2008

Theo bi th 10Kx1+20Kx2+50Kx3+100Kx4=N
v (x1+x2+x3+x4) nh nht.
p dng k thut Greedy: tm x4 ln nht c th
sau tm x3 ln c th cn li, li gii.

V d:
d : khch cn rt 1.480.000
1 480 000 ng

p n = (14,1,1,1)

Bi tp: Ci t chng trnh

Phm Th Bo

Bi ton ng i ngi giao hng


Bi ton ni ting bi ton ng i ngi giao
hng Traveling Saleman Problem (TSP): C
mt ngi giao hng cn giao hng ti N thnh
ph. Xut pht t mt thnh ph, i qua tt c cc
thnh ph v quay v ni xut pht, mi thnh
ph ch i qua mt ln. Gi thit rng mi thnh
ph u c ng i n thnh ph cn li. Hy
tm mt phng n anh ta tn chi ph thp nht
(chi ph c th l khong cch, cc ph di
chuyn, thi gian di chuyn ,).
Cn c gi l bi ton ngi du lch.
Phm Th Bo

14/04/2008

Cch gii quyt:


nh ngha mt th, mi thnh ph l mt nh
trong th, khong cch gia cc thnh ph l i
lng ta cn quan tm (v d: khong cch, chi ph,
) i tm chu trnh Hamilton nh nht.
Vt cn: c tt
c
O( )
K thut Greedy:
Thut gii:
1.
2.
3.

sp cc cnh theo th t tng


Xt cc cnh c di t nh n ln a vo chu trnh.
Mt cnh c a vo chu trnh nu cnh tha hai iu kin:
Khng to chu trnh thiu (khng i qua N nh)
Khng to thnh mt nh c cp 3 (khng c nhiu hn
2 cnh xut pht t mt nh gi thit bi ton ch i qua
mt ln).
Lp li bc 3 n khi c chu trnh

Phm Th Bo

phc tp ch cn O( ).
ng dng m rng: mt my hn cc im
c iu khin bng my tnh. Bt u t mt
im
v kt
t tthc
c t
ti im
(g
(ging
g my
y may
ay
cng nghip). N him v tm phng n di
chuyn sao cho t nht.
V d: c 6 im c ta tng ng: a(0,0),
b(4,3), c(1,7), d(15,7), e(15,4) v f(18,0)
c 15 cnh, cnh de nh nht
=3

Phm Th Bo

14/04/2008

c(1,7)

d(15,7)
5

7.08

3
b(4,3)
e(15,4)

5
5
a(0,0)
f(18,0)
Chu trnh thiu (a,b,c,a) loi ac
Tng t loi cnh df
Phm Th Bo

c(1,7)

d(15,7)
5

3
b(4,3)
e(15,4)

5
5
a(0,0)

Loi v to nh cp 3
Tng loi cnh bd

f(18,0)

Phm Th Bo

14/04/2008

Ti u, tng di = 48.39
c(1,7)

d(15,7)
5

3
b(4,3)
e(15,4)

5
5
a(0,0)
Tng di =50

f(18,0)

y l phng n tt nhng cha ti u


Phm Th Bo

Bi ton ci ba l
Cho mt ci ba l c th ng trng lng W vi
n loi vt, mi vt i c trng lng gi v gi
tr vi. Chn mt cch la chn sao cho tng trng
khng qu W nhng tng gi tr l ln nht.
p dng k thut Greedy:
Tnh n gi cho tng loi vt
Xp theo n gi gim dn
Vi mi loi vt s ly s lng ti a m trng
lng ca ba l cn cho php.
Xc nh li trng lng ba l, quay li bc 3 cho
n khi khng b thm vo c na.
Phm Th Bo

14/04/2008

V d: c ba l c trng lng 37 v 4 loi


vt nh bng.
Loi vt

Trng lng

Gi tr

15

30

10

25

T bng trn ta tnh n gi v sp li theo n gi


Loi vt

Trng lng

10

Gi tr n gi
25

15

30

Phm Th Bo

Theo bng th t u tin l B,A,D v C:


Vt B, chn ti a l 3 ci, v mi ci trng lng
l 10 trng lng ba l cn li = 7.
Vt A,
A khng chn c v trng lng vt A l 15
trong khi ba l ch cn 7.
Vt D, chn c 1 ci trng lng ba l cn
li = 3.
Vt C, chn c 1 ci.
Tng trng lng ca ba l l
Tng gi tr ca ba l l

Phm Th Bo

You might also like