You are on page 1of 30

i Hc Quc Gia TP.

HCM
Trng i Hc Cng Ngh Thng Tin

BI THU HOCH MN THUT TON


V PHNG PHP GII QUYT

ti:

NG DNG THUT TON DI TRUYN


VO BI TON NGI DU LCH

GVHD:

PGS.TS. VN NHN

Hc vin: Phm Ph Thanh Sang


M s: CH1301050

TP.HCM 01/2014

Lp: CHK8

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Li cm n
Li u tin em xin chn thnh cm n Thy Vn Nhn truyn t cho em
nhng bi hc tht b ch vi nhng cu truyn y tnh sng to v l th.
Cm n nh trng to iu kin cho em cng cc bn trong lp c th hc tp
v tip thu nhng kin thc mi.
Em cng chn thnh cm n cc bn trong lp chia s cho nhau nhng ti liu
v hiu bit v mn hc cng hon thnh tt mn hc ny.
Trong thi gian va qua mc d em c gng rt nhiu hon thnh tt ti
ca mnh, song chc chn kt qu khng trnh khi nhng thiu st. Em knh mong c
s cm thng v tn tnh ch bo ca Thy.
TP.H Ch Minh Thng 01/2014
Hc vin thc hin

Phm Ph Thanh Sang

Phm Ph Thanh Sang

Trang 1

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

NHN XT CA GIO VIN HNG DN


...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................

Phm Ph Thanh Sang

Trang 2

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Li m u
Bi ton ngi du lch l mt trong nhng bi ton c nghin cu su
nht trong lnh vc ti u ha. Ni dung bi thu hoch ny s trnh by mt hng
tip cn gii quyt bi ton ngi du lch s dng gii thut di truyn.
Gii thut di truyn v c bn mun m phng li qu trnh tin ha ca
sinh vt trong t nhin vo cc bi ton ti u ha t a ra li gii tt (c th
khng l ti u nht) khi m khng th a ra c mt gii thut chnh xc hay
vic vt cn cc trng hp l bt kh thi.
Tuy nhin do thi gian v kin thc cn hn ch nn bi thu hoch kh trnh
nhng thiu st. Rt mong nhn c s thng cm v ng gp ca Qu Thy
C v cc bn hc.

Phm Ph Thanh Sang

Trang 3

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Mc lc
LI NI U ................................................................................................. 3
I. GII THUT DI TRUYN (Genetic Algorithm GA) ............................. 5
1. ng lc ............................................................................................. 5
2. Thut gii di truyn ............................................................................ 6
3. Cc ton t di truyn .......................................................................... 8
4. u tranh sinh tn ............................................................................ 13
II. BI TON NGI DU LCH (Travelling Salesman Problem - TSP) ... 13
1. Lch s bi ton ................................................................................ 13
2. Pht biu bi ton ............................................................................. 15
3. Phn tch phc tp ....................................................................... 15
II. XUT GII THUT DI TRUYN GII BI TON DU LCH .... 16
1. Gii thut xut.............................................................................. 16
2. Gii thiu chng trnh .................................................................... 24
3. Kt qu cc b d liu chun ........................................................... 25
4. nh gi gii thut v cc ci tin tng lai .................................... 27
III. Kt lun .................................................................................................... 28
Ti liu tham kho .......................................................................................... 29

Phm Ph Thanh Sang

Trang 4

Thut Ton V Phng Php Gii Quyt


I.

GVHD: PGS.TS Vn Nhn

GII THUT DI TRUYN


Gii thut di truyn cng nh tin ha da trn khi nim cho rng qu trnh
tin ha t nhin l hon ho nht, hp l nht v t n mang tnh ti u. S ti
u c th hin ch th h sau bao gi cng pht trin tt hn th h trc.
Tin ha t nhin c duy tr nh hai qu trnh c bn: sinh sn v chn lc t
nhin, xuyn sut qu trnh tin ha t nhin, cc th h mi lun c sinh ra
b sung thay th th h c, c th no thch ng vi mi trng s tn ti, ngc
li s b o thi.
Gii thut di truyn bao gm 4 bc chnh: M ha li gii, khi to qun
th, s dng cc php ton di truyn v nh gi thch nghi. Sau , chng ta
li sinh ra mt qun th mi bng php chn lc ri tip tc s dng cc php ton
di truyn v nh gi thch nghi ca cc c th (in hnh bi nhim sc th NST) trong qun th. Thut gii c thc hin qua cng nhiu th h th li gii
a ra cng ti u.
1. ng lc
Thut gii di truyn cung cp mt phng php hc c thc y bi s
tng t vi s tin ha sinh hc. Thay v tm kim cc gi thuyt t tng qut
n c th hoc t n gin n phc tp, GA to ra cc gi thuyt k tip
bng cch lp vic t bin v vic ti hp cc phn ca gi thuyt c bit
hin ti l tt nht. mi bc, mt tp cc gi thuyt c gi l qun th
hin ti c cp nht bng cch thay th vi phn nh qun th bi c th
con ca cc gi thuyt tt nht thi im hin ti. S ph bin ca GA c
thc y bi cc yu t sau:
Tin ha l mt phng php mnh, thnh cng cho s thch nghi bn
trong cc h thng sinh hc.
GA c th tm kim trn cc khng gian gi thuyt c cc phn tng
tc phc tp, nh hng ca mi phn ln ton th thch nghi
gi thuyt kh c th m hnh.

Phm Ph Thanh Sang

Trang 5

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Thut gii GA c th c thc hin song song v c th tn dng


thnh tu ca phn cng my tnh mnh.
2. Thut gii di truyn
Bi ton dnh cho GA l tm kim trn khng gian cc gi thuyt ng c
xc nh gi thuyt tt nht. Trong GA gi thuyt tt nht c nh
ngha nh l mt gi thuyt ti u ha mt i lng s c nh ngha trc
cho bi ton sp ti, c gi l thch nghi ca gi thuyt. V d, nu tc
v hc hi l bi ton xp x mt hm cha bit cho tp mu hun luyn gm
d liu u vo v d liu u ra, th thch nghi c th c nh ngha nh
l chnh xc ca gi thuyt trn d liu hun luyn ny. Nu tc v l hc
chin lc chi c, thch nghi c th l s vn thng ca chin lc ny khi
u vi cc chin lc khc trong qun th hin ti.
Mc d cc thut gii di truyn c thc hin thay i theo bi ton c
th, nhng chng chia s chung cu trc tiu biu sau: Thut gii hot ng
bng cch cp nht lin tc tp gi thuyt - c gi l qun th. mi ln
lp, tt c cc c th trong qun th c c lng tng ng vi hm thch
nghi. Ri qun th mi c to ra bng cch la chn c xc sut cc c th
thch nghi tt nht t qun th hin ti. Mt s trong nhng c th c chn
c a nguyn vn vo qun th k tip. Nhng c th khc c dng lm
c s to ra cc c th con bng cch p dng cc tc ng di truyn: lai
ghp v t bin.

Phm Ph Thanh Sang

Trang 6

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

GA(Fitness, Fitness_threshold, p, r, m)
{
//Fitness: hm gn thang im c lng cho mt gi thuyt
//Fitness_threshold: Ngng xc nh tiu chun dng gii thut tm kim
//p: S c th trong qun th gi thuyt
//r: Phn s c th trong qun th c p dng ton t lai ghp mi
bc
//m: T l c th b t bin
Khi to qun th: P To ngu nhin p c th gi thuyt
c lng: ng vi mi h trong P, tnh Fitness(h)
While [max Fitness(h)] < Fitness_threshold do
To th h mi, PS
1. Chn c th: chn theo xc sut (1 r)p c th trong qun th P
thm vo PS. Xc sut Pr(hi) ca gi thuyt hi thuc P c tnh bi
cng thc:
( )

2. Lai ghp: chn lc theo xc xut

( )
( )
cp gi thuyt t qun th P,

theo Pr(hi) tnh bc trn. ng vi mi cp <h1, h2>, to ra hai


con bng cch p dng ton t lai ghp. Thm tt c cc con vo PS.
3. t bin: Chn m% cc th PS vi xc sut cho mi c th l nh
nhau. ng vi mi c th bin i mt bit c chn ngu nhin trong
cch th hin ca n.
4. Cp nht: P PS
5. c lng: ng vi mi h trong P, tnh Fitness(h)
Tr v gi thuyt P c thch nghi cao nht
}
Hnh 1: Cc bc c bn ca gii thut
Phm Ph Thanh Sang

Trang 7

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Khi to qun th

La chn cha m

Lai ghp

t bin

iu kin dng

t bin
Hnh 2: Lu gii thut c bn
3. Cc ton t di truyn
a. Biu din c th
Cng vic u tin khi thc hin vic gii bi ton bng gii thut di
truyn l chn cch biu din cc c th. l vic nh x cc tham s ca
bi ton ln mt chui c chiu di xc nh. Tu theo tng bi ton c th
m c nhng cch biu din khc nhau sao cho ph hp, thun li khi gii
ton. Trong c hai cch biu din thng dng nht l biu din nh phn
v biu din s dng cc hon v.
Biu din nh phn
Mi c th tng ng vi mt chui bao gm cc bit 0 v 1,
ngha ca cc bt ny ph thuc vo tng tnh hung c th. y l
cch biu din n gii nht v l cch thng dng nht trong cc
cch biu din.

Phm Ph Thanh Sang

Trang 8

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

V d trong bi ton ci ti: c n vt vi trng lng v gi tr


c cho trc v mt ci ti c trng lng bit. Hy chn ra cc
vt cho vo ti sao cho tng gi tr cc vt trong ti l ln
nht?
y, vt c nh s t 1 n n, mi c th c biu din
bng mt xu nh phn di n. Trong , bt th i bng 1 c ngha
l vt th i c cho vo ti, bng 0 th b li.
Biu din s dng hon v
Mi c th tng ng vi mt hon v ca tp n k hiu no .
Chang hn cch biu din ny c p dng cho bi ton ngi du
lch:
Mt thng gia phi i qua nhiu thnh ph (n). Hy vch l
trnh i qua tt c cc thnh ph sao cho qung ng i l ngn
nht. Bit rng mi thnh ph ch i qua mt ln.
K hiu cc thnh ph l T1, T2, Tn mi c th - s m ho ca li
gii - s l mt danh sch hon v ca T1, T2, Tn biu din l trnh m
ngi thng gia i qua. Th d T8T5T9T3 s l k hiu ca hnh
trnh t T8 T5 T9 T3
Nh vy mi chui con s biu din cho mt nh ca khng
gian tm kim v qua th hin c cch tr li c th c ca bi
ton. Sau ny mi chui nhim sc th s c gii m li tr v
cc thng s ban u ca bi ton.
Biu din bng gi tr
Biu din gi tr trc tip c th c dng trong cc bi ton c
cha nhng gi tr phc tp, chng hn nh s thc. Nu dng biu
din nh phn cho loi bi ton ny th rt phc tp. Trong m ha gi
tr, mi nhim sc th l mt chui cha nhng gi tr no . Nhng

Phm Ph Thanh Sang

Trang 9

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

gi tr ny c th c dng bt k lin quan n bi ton, t s nguyn,


s thc, k t cho n cc i tng phc tp hn.
Mt v d cho cch m ha ny l bi ton tm trng s mng
nron.
Biu din theo cy
M ha theo cy c dng ch yu cho cc chng trnh (hoc
biu thc) tin ha, cho lp trnh gen. Trong m ha theo cy mi
nhim sc th l mt cy cha cc i tng chng hn nh hm hoc
lnh trong mt ngn ng lp trnh no .
V d: bi ton tm hm t nhng gi tr cho trc. Cho trc
mt s u vo v u ra. Tm hm cho ra kt qu tt nht vi mi
u vo.
M ha: Nhim sc th l cc hm c biu din bng cy.
=> Sau khi biu din c cc c th cho bi ton ri th c
th bt tay ngay vo vic thc hin gii thut di truyn theo s
c trong phn trc. Bc u tin l cn c mt qun th ban u.
N c th c c bng cch chn ngu nhin cc c th; hoc c th
dng chin thut la chn thng qua hm mc tiu s c trnh by
ngay sau y.
b. Hm mc tiu Fitness
Mt hm mc tiu (fitness) s ly mt chui nhim sc th nh l u
vo v tr v gi tr tng trng cho chui nhim sc th nh gi
trn vn cn gii quyt.
Hm mc tiu c vai tr tng t nh l mi trng sng trong s
tin ha ca t nhin, vn tng tc gia mt c th vi mi trng
sng c th hin qua gi tr cu hm mc tiu trong mi mt c th.

Phm Ph Thanh Sang

Trang 10

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Gi tr hm mc tiu l Maximum hay Minimum ty theo bi ton s


quyt nh xc sut ca mi chui c th tham gia vo cc ton t di
truyn.
c. Ton t ti to
L mt qu trnh m trong cc chui c la chn ty thuc vo
gi tr hm mc tiu. Hm mc tiu f(i) c gn cho mi c th trong mt
qun th, v nhng c th no c gi tr hm mc tiu cao s i din cho
nhng c th tt, thch nghi v s c xc sut chn lc ln. Ton t ny c
th c xem nh l qu trnh chn lc trong t nhin: cc c th tt, thch
nghi vi mi trng s c c hi c sng st nhiu hn.
C nhiu cch thc hin ton t ny.
Chn lc dng bnh xe Roulette
y c coi l phng php chn lc n gin nht, y mi
chui (c th) trong qun th chim mt khe trong vng trn Roulette
c rng t l vi gi tr hm mc tiu ca chui. Mi ln quay
vng trn Roulette chng ta nhn c mt chui v coi nh l
cch la chn chui cho vic ti to.
Cc bc thc hin:
Tnh tng cc gi tr mc tiu ca cc c th trong mt dn s v
gn kt qu ny vo bin Total fitness.
th h th n, ly mt s ngu nhin gia 0 v Total fitness.
Tr v s c th u tin ca mt dn s mi, da vo gi tr mc
tiu ca n.
Chn lc Stochastic universal sampling
Thc hin ging nh phng php bnh xe Roulette, nhng cch
chn cc gi tr ngu nhin nh sau: gi s cn chn ra N c th, khi
khong cch gia cc lt ct l 1/N. Chng ta chn 1 s ngu
nhin trong on [0, 1/N] ri t xc nh cc lt ct.

Phm Ph Thanh Sang

Trang 11

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Chn lc ln cn a phng
Ln cn a phng l mt vng khp kn m c th tng tc
vi cc c th khc nm trong vng .
Theo phng php ny, mt na s c th u tin c chn bi
mt phng php bt k no khc, chng hn nh phng php bnh
xe Roulette. Sau vi mi c th chn, xc nh mt ln cn a
phng ca n v tm c th lai ghp vi n.
Chn lc loi b
Cc lm rt n gin: dng mt ngng la chn xc nh cc
c th c la chn. Theo cc c th c gi tr hm mc tiu nh
hn ngng th s b loi b, cn cc c th c gi tr hm mc tiu
ln hn ngng th c la chn.
d. Lai ghp
Php lai l qu trnh hnh thnh NST mi trn c s NST cha m,
bng cch ghp mt hay nhiu on gen ca hai (hay nhiu) NST cha m
khc nhau.
Cc cp cha m c la chn ngu nhin v xc sut xy ra lai ghp
vi mi cp c quy nh t trc.
C nhiu cch lai ghp khc nhau:
Lai ghp mt im ct, nhiu im ct

Lai ghp nhiu on

Phm Ph Thanh Sang

Trang 12

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

e. t bin
t bin l tnh trng NST con khng c mt (hoc mt s) tnh trng
c trong m di truyn ca cha m.
Cc cp cha m c la chn ngu nhin v xc sut xy ra t bin
vi mi cp c quy nh t trc, thng l rt nh.
Cc php t bin thng c s dng:
o bit
Hon v: i v tr ca cc gen vi nhau
i gi tr: Thay i gi tr ti mt im gen
o on: o th t ca mt on NST bt k.
4. u tranh sinh tn
Chn nhng NST t qun th kt qu theo mt quy tc no thay th
cho cha m sinh ra th h mi. Mt s phng thc u tranh sinh tn
c bn:
Tro i hon ton cha m bng con.
Tro i ngu nhin: Chn ngu nhin k cha m v thay th bng k
con mi.
Chn nhng c th u t nht trong qun th.
II.

BI TON NGI DU LCH (Travelling Salesman Problem TSP)


1. Lch s bi ton
Bi ton ngi du lch (ting Anh: travelling salesman problem - TSP) l
mt bi ton NP-Hard thuc th loi ti u t hp c nghin cu trong l
thuyt khoa hc my tnh. Ni dung bi ton c th hiu khi qut nh sau :
Cho trc mt danh sch cc thnh ph v khong cch gia chng, tm chu
trnh ngn nht i qua tt c cc thnh ph ng mt ln.

Phm Ph Thanh Sang

Trang 13

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Bi ton c nu ra ln u tin nm 1930 v l mt trong nhng bi


ton c nghin cu su nht trong ti u ha. N thng c dng lm
thc o cho nhiu phng php ti u ha. Mc d bi ton rt kh gii
trong trng hp tng qut, c nhiu phng php gii chnh xc cng nh
heuristic c tm ra gii quyt mt s trng hp c ti hng chc
nghn thnh ph.
Ngay trong hnh thc pht biu n gin nht, bi ton TSP c nhiu
ng dng trong lp k hoch, hu cn, cng nh thit k vi mch, ...
Ngun gc ca bi ton ngi bn hng vn cha c bit r. Mt cun
s tay dnh cho ngi bn hng xut bn nm 1832 c cp n bi ton ny
v c v d cho chu trnh trong nc c v Thy S, nhng khng cha bt
k ni dung ton hc no.
Bi ton ngi bn hng c nh ngha trong th k 19 bi nh ton hc
Ireland William Rowan Hamilton v nh ton hc Anh Thomas Kirkman.
Trng hp tng qut ca TSP c th c nghin cu ln u tin bi cc
nh ton hc Vienna v Harvard trong nhng nm 1930.
Hassler Whitney i hc Princeton a ra tn bi ton ngi bn hng
ngay sau .
Trong nhng nm 1950 v 1960, bi ton tr nn ph bin trong gii
nghin cu khoa hc Chu u v M. George Dantzig, Delbert Ray
Fulkerson v Selmer M. Johnson cng ty RAND ti Santa Monica c
ng gp quan trng cho bi ton ny, biu din bi ton di dng quy hoch
nguyn v a ra phng php mt phng ct tm ra li gii. Vi phng
php mi ny, h gii c ti u mt trng hp c 49 thnh ph bng
cch xy dng mt chu trnh v chng minh rng khng c chu trnh no ngn
hn. Trong nhng thp nin tip theo, bi ton c nghin cu bi nhiu nh
nghin cu trong cc lnh vc ton hc, khoa hc my tnh, ha hc, vt l, v
cc ngnh khc.

Phm Ph Thanh Sang

Trang 14

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Nm 1972, Richard M. Karp chng minh rng bi ton chu trnh


Hamilton l NP-y , ko theo bi ton TSP cng l NP-y . y l mt
l gii ton hc cho s kh khn trong vic tm kim chu trnh ngn nht.
Mt bc tin ln c thc hin cui thp nin 1970 v 1980 khi
Grotschel, Padberg, Rinaldi v cng s gii c nhng trng hp ln ti
2392 thnh ph, s dng phng php mt phng ct v nhnh cn.
Trong thp nin 1990, Applegate, Bixby, Chvtal, v Cook pht trin mt
chng trnh mang tn Concorde gii c nhiu trng hp c ln k lc
hin nay. Gerhard Reinelt xut bn mt b d liu cc trng hp c kh
khc nhau mang tn TSPLIB nm 1991, v n c s dng bi nhiu
nhm nghin cu so snh kt qu. Nm 2005, Cook v cng s gii
c mt trng hp c 33810 thnh ph, xut pht t mt bi ton thit k vi
mch. y l trng hp ln nht c gii trong TSPLIB.
n nay bi ton TSP vn c tip tc nghin cu tm ra li gii cho cc
b d liu ln hn. Chng hn b d liu ca nc M vi 115,475 thnh ph
ngi gii ra chu trnh ti u c trao thng 500$ (thng tin chi tit ti
http://ww.tsp.gatech.edu/ )
2. Pht biu bi ton
Cho th y n nh v hng, c trng s G = (V, E). Tm chu trnh
v1 v2 vn v1 vi vi V, i =

sao cho tng trng s hnh trnh

trn cc cnh (vi, vi+1) v (vn, v1) l nh nht.


Mt chu trnh nh vy cn gi l chu trnh Hamilton, n i qua tt c cc
nh ca th ng 1 ln. th y , lun tn ti chu trnh Hamilton.
3. Phn tch phc tp
Bi ton TSP thuc lp bi ton NP-Kh (lp cc bi ton khng c gii
thut trong thi gian a thc).
Vic thc hin lit k ht tt c cc chu trnh l iu gn nh khng th
vi s nh ln ( th n nh phi duyt n! chu trnh). S chu trnh phi duyt

Phm Ph Thanh Sang

Trang 15

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

tng rt nhanh khi s nh n cng ln. Ngay vi mt o th 100 nh, vic


duyt ton b cng l iu rt kh thc hin.

III.

XUT GII THUT DI TRUYN GII BI TON NGI DU LCH


1. Gii thut xut
p dng gii thut di truyn n gin gii bi ton ngi du lch. Cc b
d liu kim th c ly ti http://www.tsp.gatech.edu/ (cung cp cc b d
liu chun trn thc t)
a. M ha bi ton
M ha th
th c m ha bng danh sch mng cc im v ta
tng ng ca chng. Di y l v d v b d liu th chun.

Phm Ph Thanh Sang

Trang 16

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Trng s trong ct u tin l s hiu ca nh, trng s th hai l


honh , trng s th ba l tung . Khong cch gia hai nh M(xi,
yi) v N(xj, yj) ca th (trng s cho cnh) c tnh theo cng thc:
(

M ha chu trnh
Chu trnh c m ha bng mng c th t cc s hiu ca nh.
Vi th n nh th mng c kch thc n phn t. V d chu trnh ca
th 10 nh:
C1

10

C2

10

Ngoi ra mi chu trnh cn phi c thm thng s v chi ph ca


ton b chu trnh . Chi ph ny c tnh bng tng di tt c cc
cnh to nn chu trnh (theo cng thc tnh khong cch cp
trn).
Mi chu trnh l 1 li gii, trong gii thut di truyn coi nh 1
c th. Vic tin ha v sau ta s da trn tp chu trnh khi to ban
u v tm ra kt qu tt nht sau mt s th h.
Di y l v d v b d liu chu trnh chun.

Phm Ph Thanh Sang

Trang 17

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

b. Khi to qun th
Qun th ban u c khi to bng cch sinh ngu nhin cc chu
trnh, s lng chu trnh khi to l mt na s kch thc c th ti a.
Vic sinh ngu nhin s dng hm t bin (s ni r pha di). S kch
thc c th ti a c th ty bin theo s nh ca o th cn gii, y
chn kch thc qun th l 100 c th.
c. Lai ghp
Phng thc lai ghp c thc hin da trn 2 c th u vo:
C1

10

C2

10

Thc hin lai ghp 1 im ct vi v tr ct l ngu nhin :

Ct t im p n ht chu trnh ca C2 a vo chu trnh mi, ly mt v


d p = 5:

Con

Phm Ph Thanh Sang

Trang 18

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Xt t u n cui chu trnh 1, np dn cc im cha c trong


con lai theo th t duyt ta c chu trnh mi:
Con

10

Tnh li chi ph cho chu trnh mi


(*) Cch t bin ny m bo c th mi sinh l mt chu trnh tha mn

Phm Ph Thanh Sang

Trang 19

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

d. t bin
Phng thc t bin c thc hin da trn 1 c th u vo:

C1

10

Thc hin t bin bng tro i cc im trn gen cho nhau. S ln


tro i c sinh ngu nhin t trong khong 5% chiu di chu trnh (tc
l c ti a 10% v tr trn 1 gen c th b t bin), v tr im tro cng
c sinh ngu nhin trong qu trnh chy.
V d vi t bin C1 bng tro i 2 ln : tro 3 v 9, tro 4 v 10.
Khi ta c chu trnh mi:
C2

10

(*) Cch t bin ny m bo c th mi sinh l mt chu trnh tha mn

Phm Ph Thanh Sang

Trang 20

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

e. Chn lc t nhin
Kch thc qun th l c nh qua cc th h. mi th h ta li c
cc c th mi sinh bng lai ghp v t bin do cn phi c s chn
lc m bo tnh cn bng ca qun th cng chnh l trnh cc li pht
sinh v b nh khi kch thc qun th qu ln.
[S c th l th h] = [Kch thc mc nh] + [S c th mi sinh]
Cch thc chn lc c th c nh gi da trn chi ph ca mi chu
trnh. C th c chn lm li gi cui cng l c th c chi ph nh nht
trong qun th sau mt s th h tin ha.
Ban u ton b qun th s c sp xp tng dn v chi ph v ch
gi li nhng c th thch nghi nht (c chi ph nh nht). Tuy nhin cch
lm ny c hn ch vi nhng b d liu ln. Khi s th h t n l mc
nht nh, vic tm ra chu trnh nh hn ngy cng kh khn cho nn tp
c th trong qun th gn nh khng bin i, iu ny lm gim s a
dng ngun gen cho tin ha cc th h sau.
Do vy ti a ra cch chn lc t nhin nh sau:
Sp xp qun th theo chi ph tng dn.
La chn ngu nhin l ch s : a (0 < a < l)
Loi c th th a [Kch thc mc nh] km thch nghi nht t
[Kch thc mc nh] c th ng u danh sch qun th.
Loi n khi s c th cn li bng kch thc mc nh.

Phm Ph Thanh Sang

Trang 21

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Cch thc chn lc ny m bo s phong ph ca qun th sau nhiu


th h. Bng ci t c th, cch thc chn lc ny em li kt qu ti u
hn rt nhiu so vi cch chn lc trc vi mt s b d liu.
(*) Ti u Chn lc t nhin: Cch thc chn lc cn n vic sp
xp cc c th theo chi ph. Vic sp xp l rt tn km khi qun th c
kch thc ln. Gii thut sp xp c s dng l Selection Sort (
phc tp 0(n2)). Ban u, mi bc chn lc u sp xp li ton b
qun th. Tuy nhin c th ch cn thc hin sp xp [Kch thc mc
nh] c th u tin gim bt s lng php so snh v i ch.

Ti u th tc sp xp trn bng thay vng lp th nht


T : for (i = 0; i < p o p u l a t i o n . s i z e ( ) - 1 ; i + + )

Phm Ph Thanh Sang

Trang 22

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Thnh: for (i = 0; i < m a x P o p u l a t i o n


population.size()

1;

i++)

[ S c th 1 th h] c n

m a x P o p u l a t i o n l [Kch thc mc nh].


Ci tin ny em li hiu nng tt hn cho gii thut v thi gian
chy. Tuy nhin so snh trong 1 s trng hp, cch chn lc ny cho kt
qu ti hn khong 5%.
f. Tin ha
Vi qun th khi to ban u, chng c tin ha mt cch ngu
nhin v thch nghi vi iu kin chn lc, cc c th km thch nghi s b
loi thi v c th tt nht c chn lm li gii.
Vic tin ha din ra qua mt s th h, mi th h ta thc hin lai
ghp v t bin ngu nhin trn ton qun th.
Lai ghp : ngu nhin trong 50% s c th ng u tin ca qun
th (La chn cha m ngu nhin).
t bin cho ton b qun th 100% (tuy iu ny c v tri t
nhin nhng vic tm ra ngun gen mi cn u tin hn ht).
Sau mt s th h nh trc (10,000 n 10,000,000) chng trnh s
dng v xut ra kt qu.
(*) Ci tin a lung: tn dng hiu nng cc b vi x l a li
gii thut c thit k vi 2 luong chy song song. Mi luong chy c
lp, thc hin tin ha cho 1 qun th ring bit. Kt tr v la chn t kt
qu tt hn.

Phm Ph Thanh Sang

Trang 23

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

2. Gii thiu chng trnh

Hnh 3: Giao din chng trnh


Chng trnh vi giao din n gin gm 1 ca s nhp thng tin v hin
kt qu. Mc nh chng trnh s c d liu trong cc tp tin i km : th
u vo inputGraph.txt v 1 chu trnh mu so snh kt qu inputCircle.txt.
D liu trong cc tp tin phi nh dng chun nh cp trong cc mc
m ha th, m ha chu trnh. Nu thng tin khng ng nh dnh, chng
trnh s khng chy.
Ngoi ra chng trnh cung cp thm 1 s thit lp thng s v s lng
c th trong qun th (Population size) v s lng th h tin ha (Max
Generation). S liu mc nh ban u l 100 c th v 10.000 th h. gii
hn cc li v b nh v hn ch thi gian chy qu lu, chng trnh t sn
s lng c th ln nht l 1.000 v s th h l 10.000.000 (nu nhp ln hn
s t ng s dng gi tr ln nht).
Mt thng s na cn c nhp vo l Threads : thng s thit lp
cho s lung chy song song ca chng trnh (s qun th cng tin ha
cng lc).

Phm Ph Thanh Sang

Trang 24

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Thng s ny mc nh thit lp l 2 v cho php thit lp trong khong


t 1 n 4. Thit lp y cc thng s, bm calculate thc hin tnh
ton.
Kt qu tr v gm chi ph cho ng i tt nht m chng trnh tnh
ton c v chi ph tnh ton t chu trnh mu nhp vo (c th khng cn
nhp chu trnh u vo). Ngoi ra chng trnh hin th thi gian chy theo
giy v ton b chi tit v chu trnh tnh c c lu trong tp tin
outputCircle.txt, bm nt show circle hin xem ni dung chu trnh.
Trong qu trnh tnh ton, chng trnh s dng cc file tm lu kt
qu tnh ton trung gian v kt qu tt nht sau cc ln chy. Khi khi chy
nu nhp sn 1 chu trnh vo tp tin tempCircle.txt tng ng vi th th
chng trnh c th s nhanh chng tm c kt qu tt hn.
3. Kt qu chy cc b d liu chun
S dng cc b d liu chun cho bi ton TSP c ti v t trang
http://www.tsp.gatech.edu/
D liu trong mi b bao gm thng tin v tn b d liu, s nh, dng
th v danh sch nh cng vi ta mi nh.
Cc b d liu sau th nghim gii thut:
Chi ph ca li gii ti u tm c

Tn b d liu

S nh

wi29.tsp

29

27603

qa194.tsp

194

9352

xit1083.tsp

1083

3617,26/3558

Trong qu trnh chy s dng thit lp s c th ti a l 100 v s th h


ln lt cc mc 10.000, 50,000, 100.000, 500.000, 1.000.000, 5.000.000
ty b d liu. Mi mc thit lp cho chy 10 ln v ly ra gi tr nh nht
so snh vi chi ph ti u mu (ly t b d liu chun).
a. B d liu wi29.tsp
Phm Ph Thanh Sang

Trang 25

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Tn b d liu wi29.tsp (Western Sahara)


Kch thc th : 29 nh
Chi ph chu trnh ti u : 27603
Kt qu chy
Pop size

Max Gen

Min cost

Time

Optimal found

100

10.000

27601,17

99,99

59

Yes

100

500.000

27601,17

99,99

903

Yes

Kt lun : tm thy chu trnh ti u.


b. B d liu qa194.tsp
Tn b d liu qa194.tsp (Quatar)
Kch thc th : 194 nh
Chi phi chu trinh toi uu : 9352
Kt qu chy
Pop size

Max Gen

Min cost

Time

Optimal found

100

10.000

11465,45

122,6

17

No

100

10.000

10147,12

108,5

192

No

100

100.000

10137,51

108,4

1783

No

Kt lun: khng tm thy chu trnh ti u


c. B d liu xit1083.tsp
Tn b d liu xit1083.tsp (VLSI - XIT1083 - Vi mch tch hp)
Kch thc th : 1083 nh
Chi ph chu trnh ti u : 3617,26/3558
Kt qu chy
Pop size

Phm Ph Thanh Sang

Max Gen

Min cost

Time

Optimal found

Trang 26

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

100

10.000

10774,26

297,86

80

No

100

10.000

8694,27

240,36

241

No

Kt lun: khng tm thy chu trnh ti u


4. nh gi gii thut v cc ci tin trong tng lai
Gii thut xut p ng c bn cc bc trong gii thut di truyn.
Kt qu chy gii thut cho kt qu ti u trong cc trng hp s nh nh
di 100 v a ra kt qu kh tim cn vi cc trng hp s nh khong
1000. Cn vi nhng trng hp s nh ln hn 1000 gii thut vn cha tm
ra c li gii.
Gii thut di truyn xut phn ln vn ph thuc vo s may mn
tm ra kt qu. Do tm c kt qu ti u vi cc trng hp s
nh ln l rt hn ch. Trong tng lai, em s tm hiu v ci t cc gii
thut heuristic gip tm ra c li gii ti u vi th c kch thc ln
hn, cng vi l cc ci tin v gii thut GA nh qun th ng, a qun
th tng tc...

Phm Ph Thanh Sang

Trang 27

Thut Ton V Phng Php Gii Quyt


IV.

GVHD: PGS.TS Vn Nhn

Kt lun
Bo co lm r cc khi nim v gii thut di truyn v cc bc thc hin
khi p dng vo gii quyt bi ton ngi du lch. Kt qu gii thut ci t vn
cn nhiu hn ch khi thi gian gii quyt cc b d liu ln hn c 10~20 nghn
nh.
Vi thi lng c hn, bi thu hoch khng trnh c nhng sai xt, mong
c s ng gp ca Qu Thy C v cc bn.
Qua bi thu hoch, em xin chn thnh cm n PGS.TS Vn Nhn ch
dn tn tnh trong sut qu trnh hc cng nh Nh Trng to iu kin
thun li gip em hon thnh chuyn .

Phm Ph Thanh Sang

Trang 28

Thut Ton V Phng Php Gii Quyt

GVHD: PGS.TS Vn Nhn

Ti liu tham kho


[1] PGS.TS Vn Nhn Bi ging Thut ton v Phng Php Gii
Quyt, i hc Cng ngh Thng tin TP.HCM
[2] TS Nguyn nh Thc Gio trnh Tr Tu Nhn To Lp trnh tin
ha
[3] http://vi.wikipedia.org/wiki/Bi_ton_ngi_bn_hng
[4] B d liu ti http://www.tsp.gatech.edu/

Phm Ph Thanh Sang

Trang 29

You might also like