- Designing neural networks, both architecture and weights.. - Robot trajectory, Evolving LISP programsgenetic programming.. - Strategy planning, Finding shape of protein molecules - Seq
Trang 1TÌM HI U VÀ ÁP D NG GI I THU T DI TRUY N VÀ GI I THU T MÔHÌNH M NG TRÊN BÀI TOÁN NG I I DU L CH
Trang 21.1 M U
Loài ng i đã bi t ch n l a “Ph ng án“ hành đ ng trong các công vi c c amình t th i c đ i u tiên ng i ta bi t ch n ph ng án “ch p nh n đ c“, theocác tiêu chu n t m c đ c m tính đ n m c đ có c s khoa h c và đ nh l ng.Khi có nhi u ph ng án ch p nh n đ c, đi u mong mu n t nhiên là ch n ph ng
án t t nh t (t c là “t i u“), d a theo m t ho c m t s ti u chu n nào đó D n d n
ng i ta bi t đ n “Gi i thu t di truy n (Genetic Algorithms) và m t s gi i thu t
khác nh gi i thu t mô hình m ng (Network Model)… i v i m t s bài toán
t i u, ch ng h n nh bài toán ng i đi du l ch (TSP – Traveling Salesman
Problem)c ng c n có thu t gi i thích h p đ gi i Sau đây, ta s áp d ng gi i thu t
di truy n và gi i thu t mô hình m ng đ gi i bài toán ng i đi du l ch
John Holland là ng i đ u tiên tìm ra gi i thu t di truy n, sau đó ông cùng v i
h c trò c a ông phát tri n gi i thu t di truy n m r ng N m 1975, cu n sách cóliên quan đ n gi i thu t di truy n mang tên “Adaption in Natural and Artificial
Systems” đ c xu t b n N m 1992, ông John Koza s d ng Gi i thu t di truy n
(GAs) đ gi i m t s bài toán t i u và đã đ t đ c k t qu t t Ông g i ph ngpháp này là “genetic programming”(GP) Hi n nay gi i thu t di truy n đã đ c áp
d ng r t nhi u trong th c t , ch ng h n trong l nh v c y h c, và đ c áp d ng trên
r t nhi u bài toán t i u nh là
Trang 3- Designing neural networks, both architecture and weights
- Robot trajectory, Evolving LISP programs(genetic programming)
- Strategy planning, Finding shape of protein molecules
- Sequence scheduling, Functions for creating images
C ng gi ng nh GAs, mô hình m ng (Network Model) là m t trong các mô hình
đ c dùng đ gi i bài toán t i u nh là bài toán v n t i, các bài toán m ng đi n và
m ng giao thông, các bài toán qu n lý và phân b v t t , bài toán b nhi m, bài toán
k ho ch tài chính, bài toán tìm đ ng ng n nh t…Chúng ta c ng đã bi t khá nhi ubài toán mà có th áp d ng gi i pháp t i u d a vào gi i thu t nêu trên đ tìm ra
m t l i gi i t i u đ c bi t Hi n nay mô hình m ng (Network Model) đã đ c áp
d ng đ gi i r t nhi u bài toán trong th c t , nh là :
- Bài toán v n t i
- Bài toán phân ho ch đ i t ng và đ th
- Bài toán tô màu
- Bài toán ng i đi du l ch vv…
Trong s đó, sau đây ta s nghiên c u bài toán ng i đi du l ch (TSP) Bài toán
ng i đi du l ch (TSP – Traveling Salesman Problem) là m t bài toán t ng đ i c
đi n : có tài li u minh ch ng bài toán này đã xu t hi n t n m 1759 và đ c nêu ra
b i Euler Ông là ng i có nhi u h ng thú trong vi c tìm ra ph ng pháp gi i bàitoán mã đi tu n L i gi i là chu i 64 ô c mà quân mã ph i đi qua, m i ô đúng m t
l n Bài toán ng i đi du l ch đ c t p đoàn RAND gi i thi u vào n m 1984 Danh
ti ng c a t p đoàn này giúp bài toán ng i đi du l ch tr thành bài toán ph bi n và
n i ti ng Vào lúc đó, bài toán ng i đi du l ch c ng đ c ph bi n thông qua
ph ng pháp qui ho ch tuy n tính ây là m t v n đ m i, là l ai bài toán t i u t
h p đ c nhi u nhà nghiên c u t p trung gi i quy t Bài toán ng i đi du l ch đ c
ch ng minh là l ai NP-Hard
Trang 41.2 GI I THI U V N S LÀM
Bài toán ng i đi du l ch (TSP – Traveling Salesman Problem) là bài toán nh m
m c đích tìm ra con đ ng t i u v chi phí và đi qua t t c các thành ph v i
nh ng đi u ki n sau đây :
- M t du khách mu n th m m i thành ph anh quan tâm; m i thành ph anhqua đúng m t l n r i tr v đi m kh i hành
- Bi t tr c chi phí di chuy n gi a hai thành ph b t k chúng ta c ng có th
bi t tr c kho ng cách ho c th i gian gi a hai thành ph n i k t v i nhau.Bài toán có th mô t c th h n nh sau : cho N thành ph , ta đ nh ngh a V
bi n di n cho các thành ph ( V N ) và E là các kho ng cách gi a hai đ nh ( trong
đ th chúng ta g i là các cung), v i hàm tr ng s w : Eà R ánh x các c nh theocác tr ng s có giá tr th c Tr ng s c a l trình p=< v0, v1, …….vk > là t ng c a
tr ng s c a các kho ng cách gi a hai thành ph :
kw(p) = å w(vi-1,vi)
M c đích c a bài toán là tìm ra con đ ng có chi phí t i u, đây chi phí có th
là t ng kho ng cách đi đ c hay t ng th i gian c n thi t đ hoàn thành đ ng đi
Trang 51.3 NG D NG C A V N S LÀM
Bài toán ng i đi du l ch (TSP) là m t bài toán đ c ng d ng r t r ng rãi trong
th c t Ví d nh bài toán tìm đ ng t i u cho xe buýt trong thành ph (Busrouting problem ), đây là bài toán khá ph bi n M c đích c a bài toán là tìm ra ltrình t i u cho vi c đ n và r i kh i các tr m yêu c u trong thành ph và quay tr
Tóm l i, bài toán ng i đi du l ch (TSP) có th ng d ng nh m sinh ra nh ng l i
gi i t i u cho nh ng v n đ trên, m c đích gi m thi u chi phí và mang l i hi u qukính t cao
Bài toán ng i đi du l ch (TSP) là m t bài toán t ng đ i t ng quát cho hàng
lo t các v n đ nêu trên Vi c tìm ra gi i pháp h u hi u cho bài toán này th c s là
v n đ đang đ c quan tâm trên toàn th gi i
1.4 PH NG PHÁP D NH GI I QUY T V N
Bài toán TSP là m t bài toán t i u t h p (Combinational Optimization) thu c
lo i khó Trên th gi i đã t n t i m t s ph ng pháp đ gi i quy t bài toán này
M i ph ng pháp đ u có nh ng u và khuy t đi m khác nhau M t đ c đi m chung
c a nh ng ph ng pháp đã t n t i là th i gian th c thi khá lâu cho bài toán có s
đ nh ho c thành ph l n
M c tiêu c a đ tài là tìm hi u và phát tri n gi i thu t di truy n (GAs) và gi ithu t mô hình m ng (Network Model) r i áp d ng các gi i thu t mà chúng ta trình
Trang 6bày trên đ i v i bài toán t i u t h p ng i đi du l ch (TSP), sau đó chúng ta s
so sách gi a gi i thu t di truy n và gi i thu t mô hình m ng nh là gi i thu t Prim
ho c Kruskal….v.v trong mô hình Minimal Spanning Tree và đánh giá đ t i u
gi a hai gi i thu t đ rút ra m t l i gi i t t nh t và ph ng pháp thích h p nh t chobài toán
Ch ng III : Các công trình liên quan
Ch ng này gi i thi u các công trình trên th gi i liên quan đ n tài Ch ng nàycòn giúp chúng ta hình dung đ c m t cách t ng quan các ph ng pháp đã t n t itrên th gi i, t đó chúng ta th y đ c m t s ý th c đ đánh giá gi a hai gi i thu tnêu trên
Ch ng IV : Ph ng pháp gi i quy t v n đ
Ch ng này th hi n các v n đ liên quan đ n đ tài: gi i thu t chi ti t đ gi iquy t v n đ
Trang 7Ch ng V : Hi n th c và k t qu th c nghi m
Ch ng này th hi n các k thu t đã đ c s d ng đ hi n th c bài toán Ngoài
ra, ch ng này còn chú tr ng vào m t s k t qu th c nghi m khi ch y trên m t sbài toán d li u l n
Ch ng VI :K t lu n và ph ng h ng m r ng
Ch ng này t ng k t m t s v n đ liên quan đ n đ tài, thêm vào đó là m t s
ph ng h ng có th áp d ng đ phát tri n và m r ng đ tài
Trang 8C S LÝ THUY T
Ph ng pháp đ gi i bài toán TSP đ c s d ng trong đ tài chính là gi i thu t
di truy n (GAs) và gi i thu t trong mô hình m ng (Network model)
Ph n 1: GI I THU T DI TRUY N
1 GI I TH U V GI I THU T DI TRUY N
Ph n này chúng ta s gi i thi u v gi i thu t di truy n c b n và các thu t toán
và mã gi c a gi i thu t
1.1 Khái ni m v gi i thu t di truy n:
Gi i thu t di truy n hình thành d a trên quan ni m cho r ng quá trình ti n hóa
t nhiên là quá trình hoàn h o nh t, h p lý nh t, và t nó đã mang tính t i u Quan
ni m này có th đ c xem nh m t tiên đ đúng, không ch ng minh đ c, nh ngphù h p v i th c t khách quan Quá trình ti n hóa th hi n tính t i u ch , th hsau bao gi c ng t t h n (phát tri n h n, hoàn thi n h n) th h tr c Ti n hóa tnhiên đ c duy trì nh hai quá trình c b n: sinh s n và ch n l c t nhiên Xuyên
su t quá trình ti n hóa t nhiên, các th h m i luôn đ c sinh ra đ b sung thay
th th h c Cá th nào phát tri n h n, thích ng đ c v i môi tr ng s t n t i
Cá th nào không thích ng đ c v i môi tr ng s b đào th i S thay đ i môi
tr ng là đ ng l c thúc đ y quá trình ti n hóa Ng c l i, ti n hóa c ng tác đ ng tr
l i góp ph n làm thay đ i môi tr ng
Các cá th m i sinh ra trong quá trình ti n hóa nh s lai ghép th h cha m
M t cá th m i có th mang nh ng tính tr ng c a cha m (di truy n), c ng có thmang nh ng tính tr ng hoàn toàn m i (đ t bi n) Di truy n và đ t bi n là hai c ch
có vai trò quan tr ng nh nhau trong ti n trình ti n hoá, dù r ng đ t bi n x y ra v i
Trang 9xác su t nh h n nhi u so v i hi n t ng di truy n Gi i thu t di truy n mô ph ngcác quá trình c b n sau: lai ghép, đ t bi n, sinh s n và ch n l c t nhiên
1.2 M c đích
Trong th c t , có r t nhi u bài toán t i u quan tr ng đòi h i nh ng thu t gi i
ch t l ng cao và c ng có nhi u bài toán t i u t h p (trong đó có nhi u bài toán
đã đ c ch ng minh là thu c lo i NP-Complete) Gi i thu t di truy n là m t gi i
thu t n m trong k thu t Trí Tu Nhân T ođ gi i các bài toán có không gian tìm
ki m l n Gi i thu t di truy n là m t lo i gi i thu t mô ph ng hi n t ng t nhiên
nh k th a (inherit) và đ u tranh sinh t n đ c i ti n l i gi i và kh o sát không
gian l i gi i Khái ni m k th a và c nh tranh sinh t n đ c gi i thích qua thí d v
ti n hoá c a m t qu n th th nh sau:
Có m t qu n th th Trong s đó có m t s con nhanh nh n và thông minh h ncác con khác Nh ng chú th nhanh nh n và thông minh có xác su t b ch n cáo n
th t nh h n, do đó chúng t n t i đ th c hi n nh ng gì t t nh t có th đ c: t othêm nhi u th t t D nhiên, m t s th ch m ch p đ n đ n c ng s ng ch vì may
m n Qu n th nh ng chú th còn s ng sót s b t đ u sinh s n Vi c sinh s n này s
t o ra nh ng h m h p v “nguyên li u di truy n th ” M t s th ch m ch p có con
v i nh ng con th nhanh, m t s th nhanh v i th nhanh, m t s th thông minh
v i th đ n đ n và trên t t c , thiên nhiên th nh tho ng l i sinh ra m t con thhoang dã b ng cách làm đ t bi n nguyên li u di truy n th Nh ng chú th con do
k t qu này s nhanh h n và thông minh h n nh ng con th trong qu n th g c vì
có b m nhanh nh n và thông minh h n đã thoát ch t kh i ch n cáo (Th t thú vthay, nh ng con ch n c ng tr i qua ti n trình t ng t -n u không nh ng con thnhanh và thông minh s không đ nh ng con ch n b t chúng)
Khi tìm ki m l i gi i t i u, gi i thu t di truy n c ng th c hi n các b c t ng
ng v i câu chuy n đ u tranh sinh t n c a loài th
Trang 101.3 Gi i thu t di truy n và ph h
Gi i thu t di truy n s d ng các thu t ng vai m n c a di truy n h c Ta có th
nói v các cá th (hay ki u gen, c u trúc), trong m t qu n th (population); nh ng
cá th này c ng còn đ c g i là các chu i hay các nhi m s c th (chromosome).
Các nhi m s c th đ c t o thành t các đ n v - các gen – bi u di n trong m t schu i tuy n tính; m i gen ki m soát m t s đ c tr ng Gen v i nh ng đ c tr ng
nh t đ nh có v trí nh t đ nh trong nhi m s c th B t c đ c tr ng nào c a m i cá
th có th t bi u hi n m t cách phân bi t; và gen có th nh n m t s giá tr khácnhau (các giá tr v tính n ng)
1.4 So sánh gi i thu t di truy n v i gi i thu t leo đ i
M i ki u gen s bi u di n m t l i gi i c a bài toán đang gi i M t tí n trình ti nhoá đ c th c hi n trên m t qu n th các nhi m s c th t ng ng v i m t quátrình tìm ki m l i gi i trong không gian l i gi i Tìm ki m đó c n 2 m c tiêu: khaithác nh ng l i gi i t t nh t và kh o sát l i gi i trong không gian tìm ki m Leo đ i
là m t thí d v chi n l c cho phép khai thác và c i ti n l i gi i t t nh t hi n hành;
nh ng, leo đ i l i b qua vi c kh o sát không gian tìm ki m Ng c l i, tìm ki m
ng u nhiên là m t thí d đi n hình c a chi n l c kh o sát không gian tìm ki m màkhông ch ý đ n vi c khai thác nh ng vùng đ y h a h n c a không gian Gi i thu t
di truy n (GA) là ph ng pháp tìm ki m t o đ c s cân đ i đáng k gi a vi c khaithác và kh o sát không gian tìm ki m
GA thu c l p các gi i thu t xác su t, nh ng l i r t khác nh ng gi i thu t ng unhiên vì chúng k t h p các ph n t tìm ki m tr c ti p và ng u nhiên Khác bi tquan tr ng gi a tìm ki m GA và các ph ng pháp tìm ki m khác là GA duy trì và
x lý m t t p các l i gi i (ta g i là m t qu n th ) T t c nh ng ph ng pháp khác
ch x lý m t đi m trong không gian tìm ki m Chính vì th , GA m nh h n các
ph ng pháp tìm ki m hi n có r t nhi u
Trang 11GA th c hi n ti n trình tìm ki m l i gi i t i u theo nhi u h ng, b ng cáchduy trì m t qu n th các l i gi i, và thúc đ y nhanh s thành hình và trao đ i thôngtin gi a các h ng này Qu n th trãi qua ti n trình ti n hoá: m i th h l i táisinh các l i gi i t ng đ i t t, trong khi các l i gi i t ng đ i x u thì ch t đi phân bi t các l i gi i khác nhau, hàm m c tiêu đ c s d ng và đóng vai trò môi
tr ng
2 CÁC QUÁ TRÌNH C A GI I THU T DI TRUY N
2.1 Quá trình lai t o và quá trình đ t bi n
Phép lai t o (Crossover) là quá trình hình thành nhi m s c th (chromosome)
m i d a trên c s các nhi m s c th cha m , b ng cách ghép m t (hay nhi u) đo ngen c a hai hay nhi u nhi m s c th cha m v i nhau Phép lai có th đ c mô
- a hai cá th m i này vào qu n th đ tham gia các quá trình ti n hoá ti ptheo
t bi n (Mutation) là hi n t ng cá th con mang m t s tính tr ng không cótrong mã di truy n c a cha m Phép đ t bi n x y ra v i xác su t nh h n nhi u so
v i xác su t lai Phép đ t bi n có th mô ph ng nh sau:
- Ch n ng u nhiên m t cá th b t k cha m trong qu n th
- T o m t s ng u nhiên k trong kho ng t 1 đ n m, 1 <= k <= m
Trang 12Single point crossover
Hình 2.1 Single point crossover
11001011+11011111 = 11001111
Two point crossover
-Hình 2.2 Two point crossover
Trang 14-Mutation
Changing operator, number - selected nodes are changed
2.2 Quá trình tái sinh
Phép tái sinh là quá trình trong đó các cá th đ c sao chép trên c s đ thíchnghi c a nó thích nghi là m t hàm gán m t giá tr th c cho các cá th trong
qu n th Quá trình này có th đ c mô ph ng nh sau:
- Tính đ thích nghi c a t ng cá th trong qu n th hi n hành, l p b ng c ng
d n các giá tr thích nghi ( theo s th t gán cho t ng cá th ) Gi s qu n th có n
cá th G i đ thích nghi c a cá th th i là Fi, t ng d n th i là Fti, t ng đ thíchnghi c a toàn qu n th là Fm
- T o m t s ng u nhiên F trong đo n t 0 đ n Fm
- Ch n cá th th k đ u tiên tho F >= Ftk đ a vào qu n th c a th h m i
2.3 Quá trình ch n l c (Selection)
Phép ch n là quá trình lo i b các cá th x u trong qu n th đ ch gi l i trong
qu n th các cá th t t Phép ch n có th đ c mô ph ng nh sau:
- S p x p qu n th theo th t đ thích nghi gi m d n
Trang 15Phép ch n có nhi u ph ng pháp đ th c hi n nh là: roulette wheel selection,Boltzman selection, tournament selection, rank selection, steady state selectionv,v……sau đây là m t vài ph ng pháp ch n
a) Roulette Wheel Selection
Ph ng pháp Roulette ch n l a các cá th b ng vòng Roulette Vòng roulette
ch a m t hình qu t cho m i thành viên c a qu n th t ng ng v i giá tr Pr(hi), và
hi Fitness
1
)(
)(
Hình 2.6: Roulette Wheel Selection
Trang 16Tùy theo giá tr c a s th c này mà ta bi t đ t t c a cá th đó (ch ng h n v i bàitoán tìm c c đ i thì giá tr tr ra càng l n thì cá th càng t t, và ng c l i, v i bàitoán tìm c c ti u thì giá tr tr ra càng nh thì cá th càng t t)
Gi s trong m t th h có N cá th , cá th th i đ c ký hi u là ai Hàm m ctiêu là hàm Fitness(ai) V y đ thích nghi c a m t cá th ai tính theo đ thích nghilà:
ai Fitness
1
)(
)(
Ch ng h n, xét m t th h g m có 6 cá th v i đ t t (giá tr càng l n thì cá thcàng t t) l n l t cho trong b ng sau :
B ng 2.1: Thí d c a đ thích nghi (Fitness) có 6 cá thTheo công th c trên, t ng t t c Fitness (ai) c a 6 ph n t là : 17.5
Trang 17Pr(a2) = 2.1 / 17.5 = 0.12
Ta có b ng k t qu cu i cùng nh sau :
B ng 2.2 Thí d xác su t c a đ thích nghi có 6 cá th
Nh n xét : đ thích nghi luôn có giá tr bi n thiên trong kho ng [0,1] H n n a,
vì đ thích nghi s ng v i kh n ng đ c ch n l c trong vi c sinh ra th h sau nên
ng i ta th ng ch n cách tính sao cho đ thích nghi cu i cùng là m t xác su t,ngh a là t ng đ thích nghi c a các cá th ph i nh h n ho c b ng 1
M t gi i thu t di truy n đ gi i bài toán ph i có n m thành ph n sau:
- M t c u trúc d li u bi u di n không gian l i gi i c a bài toán
Trang 18GA(Fitness, Fitness_threshold, p, r, m)
Kh i t o qu n th P: sinh ng u nhiên p nhi m s c th
ánh giá: V i m i nhi m s c th h trong qu n th P, tính đ thích
Fitness(h)
While [max Fitness(h)] < Fitness_threshold do
T o ra th h m i (generation), Ps:
1 B u ch n(selection): ch n (1 – r)p ph n t c a P cho vào
Ps Xác su t Pr(hi) c a các nhi m s c th hi trong P đ ctính nh sau:
hi Fitness
1
)(
)(
2 Lai t o(crossover): ch n (r * p) / 2 c p nhi m s c th t P
theo xác su t Pr(hi) trên V i m i c p (h1,h2) t o ra 2con b ng cách áp d ng phép lai Thêm t t c các con vào
Trang 19Chú gi i các bi n trong gi i thu t di truy n :
§ Fitness: Hàm gán giá tr đánh giá cho m t nhi m s c th
M t qu n th m i s đ c t o ra sau khi lo i b nh ng cá th x u Và quá trình c
th l p đi l p l i nhi u l n Các qu n th v sau s t t h n so v i qu n th cha m
tr c đó
Thu t toán GA di u bi n nh sau :
Hình 2.7 Di u bi n c a gi i thu t di truy n
Trang 204 TH HI N NHI M S C TH TRONG GI I THU T DI TRUY N
Nhi m s c th trong gi i thu t di truy n (GA) th ng đ c th hi n b i nh ngchu i nh phân (bit); nh v y, phép toán di truy n, nh là phép đ t bi n và phép lai,
đ c th c thi d dàng Th hi n nh ng nhi m s c th b ng chu i bit có th khá
ph c t p Ví d , t p các lu t if-then có th d dàng th hi n theo cách sau: ch ncách mã hoá các lu t là phân ph i các chu i con c th cho m i ti n đi u ki n và
Wind = Strong à 10Wind = Weak à 01 PlayTennis có 2 giá tr là yes và no
PlayTennis = yes à 10PlayTennis = no à 01
Ta th hi n câu (Outlook=Overcast Ù Rain) Ù (Wind=Strong) nh sau
Outlook Wind
Chúng ta có th dùng lu t trên nh ti n đi u ki n Ví d d i đây là m t lu t
If Wind = Strong THEN PlayTennis = yes
có th đ c th hi n b ng chu i sau:
Trang 215.2 Mã hoá nhi m s c th (Encoding of a Chromosome)
Có nhi u cách đ mã hoá nhi m s c th ch ng h n nh dùng chu i nh phân(binary string) Mã hoá nhi m s c th gi ng nh ví d sau đây :
Chromosome 1 1101100100110110Chromosome 2 1101111000011110
B ng 2.4 Thí d mã hóa nhi m s c th
M i nhi m s c th đ c hình dung b ng binary string M i bit trong string có
th đ c hình dung cho đ c đi m c a bài tóan S th t có r t nhi u ph ng pháp
đ mã hoá Mã hoá ph thu c vào v n đ c n đ c gi i quy t
5.3 Phép lai (Crossover)
Sau khi chúng ta mã hoá nhi m s c th , chúng ta có th ti n hành phép toánlai Phép lai là quá trình s n sinh ra 2 con m i t hai chu i cha m b ng cách saochép nh ng bit đ c l a ch n t cha và m Bit v trí th i trong m i con đ csao chép t bit v trí th i c a cha ho c m Vi c ch n l a cha ho c m đóng góp
Trang 22Phép đ t bi n là quá trình sinh ra m t con t m t cha t bi n t o ra s thay
đ i nh m t cách ng u nhiên đ i v i chu i bit b ng cách ch n m t bit đ n ng unhiên r i đ i giá tr c a nó Vi c đ t bi n th ng di n ra sau vi c lai t o Phép đ t
bi t có th minh h a nh sau:
Original offspring 1 1101011000011110Original offspring 2 110110010011011
Mutated offspring 1 1101111000011110Mutated offspring 2 110110110011011
B ng 2.6 Thí d phép toán đ t bi n
6 NH NG NGH
6.1 Thông s c a gi i thu t di truy n (Parameters of GAs ):
- T l c a phép lai (Crossover rate): T l th ng nên cao, kho ng
80%-95% (m c dù có m t s t l phép lai kho ng 60% là t t)
Trang 23- T l c a phép đ t bi n(Mutation rate) :T l c a phép đ t bi n nên th p.
T l t t nh t kho ng là 0.5%-1%
- Kích th c c a qu n th (Population size ) : Kích th c t t nh t c a qu n thkho ng là 20-30, đôi khi kích th c 50-100 c ng có th đánh giá là t t Có m tnghiên c u c ng cho bi t kích th c t t nh t c a qu n th d a vào kích th c c a
mã hoá chu i (nhi m s c th ) Có ngh a là n u nhi m s c th có 32 bits thì qu n thnên có kích th c l n h n nhi m s c th có 16 bits
- Phép ch n (Selection ): Routlette wheel selection là phép ch n c b n
th ng đ c s d ng nhi u nh t ôi khi rank selection c ng có th cho k t qu t t
- Mã hoá (Encoding): Mã hoá ph thu c vào v n đ và kích th c c a bàitoán
6.2 S áp d ng c a gi i thu t di truy n
Gi i thu t di truy n đ c s d ng đ gi i bài toán khó (nh là NP- hardproblems), máy h c T t c đ u s d ng dành cho đ h a hay là đ t o ra hình nh
ho c là âm nh c
u đi m c a Gi i thu t di truy n: trong quan h song song c a nó GAs có th
đ i ch trong không gian tìm ki m s d ng nhi u mô hình, nh v y GAs ít có kh
th c thi vi c mã hoá và hàm fitness r t khó
B t l i c a gi i thu t di truy n : th c hi n vi c tính toán b ng gi i thu t di
truy n có th ch m h n so v i các gi i thu t khác
Trang 24Ph n 2 : MÔ HÌNH M NG (Network Model)
1 GI I THI U V MÔ HÌNH M NG
Trong ph n này chúng ta s trình bày mô hình m ng (Network Model) Mô hình
m ng là m t trong nh ng mô hình đ gi i các l ai bài toán, nh là bài toán v n t i(Transportation or distribution problem), ho c là bài toán ng i đi du l ch (TSP –Traveling Salesman Problem) v v Mô hình m ng này s đ c dùng đ gi i bàitoán tìm chí phí t i thi u gi a đ nh ngu n và đ nh đ n
đ th vô h ng Cung c ng còn g i là c nh (edge) Cung (i , j) n i các nút i và j
C p (degree) c a m t nút là s cung n i t i nó M t đ ng đi (path) t nút i1 đ nnút it là b t nút khác nhau i1, i2, …… ,it sao cho (ik, ik+1) c a A v i k=1,….,t-1.Chu trình (cycle ho c loop) t nút i1, i2, …….it sao cho i1,….,it-1 là m t đ ng đi, it=
i1 và có ít nh t ba nút khác nhau ( t c là t-1 ≥ 3) th đ c g i là liên thông(connected) n u ng m i c p i, j c a N đ u có m t đ ng đi t i đ n j S các nút
c a đô th th ng kí hi u là | N | ho c n, còn s các cung là |A|
ô th có h ng (directed graph ho c digraph) c ng là m t c p (N,A)=G,
nh ng m i cung là môt c p có th t Vây (i, j) ≠ (j, i) Nh ng đ th không đ c
ch a cung “ t n i “
Trang 25Hình 2.8 th có h ng
Ví d hình 2.7 là m t đ th có h ng G = (N, A) v i N = {1, 2, 3, 4, 5}, A ={(1,2), (2,1), (1, 3), (3, 2), (1, 4), (4, 3), (3, 5)} Ta s nói là cung (i, j) đi t nút i
đ n nút j Cung này n i c nút i và j th vô h ng t ng ng v i m t đ th có
h ng là đ th nh n đ c khi không tính đ n h ng trên các cung n a th có
h ng là liên thông n u đ th vô h ng t ng ng là liên thông M t đ ng đitrong đô th vô h ng t ng ng đ u g i là m t đ ng đi trong đô th có h ng
Nh ng đ th có h ng có th ch a c hai cung (i ,j) và (j, i), nên đ xác đ nh m t
đ ng đi ph i nói rõ c dãy nút i1,……,it và dãy cung a1, … , at-1 Khi đó n u m tcung ak có d ng “thu n “ ak=(ik,ik+1) thì ta nói ak là cung ti n (forward arc) trong
đ ng đi này Ng c l i n u ak = (ik+1, ik,) thì ak là cung lùi ( backward arc) Chutrình c ng đ nh ngh a nh đ th vô h ng, nh ng đây cho phép chu trình ch
g m hai nút khác nhau M t đ ng đi ho c m t chu trình có h ng (directed path
và directed cycle ho c circuit) n u nó ch ch a các cung ti n.Thi d hình … 1,(1,3), 3, (3, 2), 2, (2, 1), 1 là m t chu trình có h ng Nh ng 3, (1, 3), 1, (1, 2), 2, (3,2), 3 là m t chu trình không có h ng vì (1, 3) và (3, 2) là cung lùi
M ng (network) là m t đ th có h ng G = (N , A) cùng v i m t s thông tin
v s l ng b sung nh : các s th c bi, i c a N, bi u th ngu n t ngoài (source
ho c external supply) ho c g i t t là ngu n (supply); các s uij ≥ 0 ( có th vô h n)
1
4 2
Trang 27T t c các mô hình bên trên đ u có th gi i bài toán t i u m ng, vì v y chúng ta
ch ch n m t mô hình đ trình bày, tìm hi u và áp d ng nó đ i v i bài toán ng i
du l ch mà chúng ta s nghiên c u Mô hình chúng ta s ch n là là mô hình MinimalSpanning Tree
4 MÔ HÌNH CÂY T A NHÁNH C C TI U (Minimal Spanning Tree)
Trong khâu thi t k h m ng đi n t , ta th ng ph i t o các kim (pins) c avài thành ph n t ng đ ng v đi n t b ng cách đ u dây chúng v i nhau
t ng k t m t t p h p n kim, ta có th dùng m t cách b trí n-1 dây d n, m i dây
n i 2 kim Trong s t t c các ki u b trí nh v y, ki u s d ng l ng dây d n ít
nh t th ng th a đáng nh t
Ta có th mô hình hoá bài toán đ u dây này v i h th ng không h ng, liênthông G=(V,E),
- đó V là t p h p các kim
- E là t p h p các tuy n t ng k t kh d gi a các c p kim, và v i m i (u,v)
c a E Ta có m t tr ng s w(u,v) ch đ nh m c hoa phí (l ng dây d n c n thi t)
n i u và v Nh v y, ta mu n tìm m t t p h p con kim chu trình T c a E liênthông t t c các đ nh và tr ng s c a chúng
w(T)= ∑ w(u,v) (u,v) c a T
Trang 28đ c t i thi u B i T là kim chu trình và liên thông t t c các đ nh, nên nó ph i hình
thành m t cây, mà ta g i là m t Cây t a nhánhb i nó “t a r ng” đ th G Ta g ibài toán xác đ nh cây T là bài toán cây t a nhánh c c ti u (minimum-spanning-
gi i bài toán cây t a nhánh c c ti u (minmum-spanning tree) này chúng
ta s áp d ng hai gi i thu t ó là thu t toán Kruskal và thu t toán Prim
4.1 Thu t toán Kruskal
Ki u th c thi thu t toán kruskal c a chúng ta gi ng nh thu t toán đ tính cácthành ph n liên thông Nó s d ng m t c u trúc d li u t p h p r i g m nhi u thành
ph n M i t p h p ch a các đ nh trong m t cây c a r ng hi n hành Phép toánFind-Set(u) tr v m t thành ph n đ i di n t t p h p ch a u Nh v y, ta có th xác
đ nh hai đ nh u và v có thu c v cùng cây hay không b ng cách tr c nghi m set(u) có b ng Find-set(v) hay không Th t c Union s hoàn thành ti n trình t h pcác cây
Trang 295 for m i c nh (u, v) c a E, theo th t tr ng s không gi m
6 do if Find-set (u) ≠ Find-set (v)
7 then A ßA U {(u, v)}
đ nh thu c v các cây khác nhau, c nh(u,v)đ c b sung vào A trong dòng 7, và các
đ nh trong hai cây đ c tr n trong dòng 8.Ví d hình 2.11 đ i v i thu t toánKruskal:
b
e
Trang 30f
a e
b
a
h i c
d
f
a e
b
a
h i c
d
f
a e
b
a
h i c
d
f
a e
b
a
h i c
Trang 314 if rank [x] = rank [y]
5 then rank [y] ßrank[y]+1
d
f
a e
b
a
h i c
g
d
f
e
Trang 32C ng nh thu t toán kruskal, thu t toán Prim là m t tr ng h p đ c bi t c athu t toán cây t a nhánh c c ti u Thu t toán Prim ho t đ ng t ng t nh thu ttoán Dijkastra đ tìm l trình ng n nh t trong m t đ th Thu t toán Prim có tính
ch t là các c nh trong t p h p A luôn hình thành m t cây đ n l Nh minh hotrong hình 2.12
Thu t toán Prim
đ nh trong cây t ng tr ng Dòng 7 đ nh danh m t đ nh u c a Q thu c trên m t c nh
nh t (light edge) đi qua ph n c t(V-Q,Q)(v i ngo i l là l n l p l i đ u tiên, đóu=r do dòng 4) Vi c g b u ra kh i t p h p Q s b sung nó vào t p h p V-Q g mcác đ nh trong cây Các dòng 8-11 câp nh t các tr ng key và p c a m i đ nh v k
Trang 33v i u nh ng không n m trong cây Ti n trình c p nh t duy trì các b t bi n
key[v]=w(v,p[r]) và (v,p[r]) là m t c nh nh t (light edge) n i v v i đ nh trong cây
Ví d c a thu t toán Prim:
d
f a
b
a
h i c
d
f
a e
b
a
h i c
d
f a
b
a
h i c
d
f a
b
a
h i c
Trang 348 then min[H] ß Nil
9 else min[H] ß right[z]
Trang 3517 then c ng A[i] vào danh sách g c c a H
18 if min[H] =Nil ho c key [A[i]] < key [min[H]]
19 then min[H] ß A[i]
- Bài toán phân ho ch đ i t ng và đ th
- Bài toán tô màu
- Bài toán ng i đi du l ch vv…
-Ch ng này chú tr ng vào vi c môt t c s lý thuy t c a hai h ng ti p c n
đ c s d ng trong đ tài.Ngoài ra, ch ng này còn giúp chúng ta hi u đ c th
m nh c a gi i thu t di truy n và nh ng gi i thu t c a mô hình m ng gi ng nh là
gi i thu t Prim ho c kruskal…vvv.T đó, ta th y đ c t m quan tr ng c a chúng
Trang 36CÁC CÔNG TRÌNH LIÊN QUAN
Trên th gi i đã t n t i khá nhi u ph ng pháp và gi i thu t t ng đ c dùng
đ gi i bài toán TSP, tuy nhiên đa s các ph ng pháp còn ch a rút ra đ c m t k t
qu t t v t c đ t i u và th i gian th c hi n Sau đây là m t s ph ng pháp đã
đ c áp d ng đ gi i bài toán ng i đi du l ch TSP:
Christofides [1976] đã xây d ng m t gi i thu t mà có th ng d ng cho bài toánTSP Gi i thu t đó mang tên là Christofides Algorithms Gi i thu t này d a trên bachi n l c là: Double Minimum Spanning Tree, Nearest Insertion, and NearestAddition Ngh a là đ u tiên ông 1: T o ra m t cây Minimum spanning tree (T) c a
t t c các thành ph , r i 2: tìm minimum-length matching M trên đ nh c a b c trongcây T, r i 3: k t h p M v i T Cu i cùng 4: th ph i tr v chu trình Euler
Gi i thu t mô ph ng luy n kim (Simulated annealing) đ u ti n đ c áp dùngcho bài toán TSP b i ôngKirkpatrick et al [1983] và Cerny [1985] Sau đó ông PatrickKarlsson [2002] đã gi i bài toán TSP c ng dung ph ng pháp mô ph ng luyên kim
Glover [1986], Rossier, Troyon, và Liebling [1986], Troyon [1988], Malek,Guruswamy, và Pandya [1989], Heap, Kapur, và Mourad [1989], Knox and Glover
Trang 37Tabu search trên bài toán TSP Chi n l c c b n c a tìm ki m Tabu là gi l i t t
c các l i gi i đã qua tr c đó nh m m c đích không cho m t l i gi i nào l p l i 2
l n, ngh a là các l i gi i trong danh sách đi u b c m s d ng l i Khi g p tr ng
h p t i u c c b , gi i thu t s thoát ra b ng cách ch n m t l i gi i t t nh t có ththay th đ c
Gi i thu t 2 – opt và 3 – opt là gi i thu t thu c lo i gi i thu t tìm ki m c c b Hai gi i thu t đ c áp trên bài toán TSP u tiên gi i thu t 2 – opt đ c gi i thi u
b i ông Croes [1958] Sau đó ông Bock [1958] và ông Lin[1996] c ng ng d ng
gi i thu t 3 – opt cho bài toán TSP
Lin và Kernighan [1973] đã xây d ng gi i thu t heuristic v i chi n l c
K-optimal đ gi i bài toán TSP v i th i gian đa th c Trong gi i thu t này, Lin vàKernigham đã tìm ra l i gi i b ng cách l p vi c thay th k c nh trong đ th b ng k
c nh khác cho đ n khi ch t l ng hàm m c tiêu không th c i ti n đ c n a
Ông Goldberg [1989] c ng dùng gi i thu t di truy n GA trên bài toán TSP, và
k t qu c a ông sau khì th c thi c ng r t hi u qu Và k t qu này đ c đánh giá r tcao so v i gi i thu t khác khi ng d ng cho bài toán TSP
Màng Neuron (Neural Network) c ng là chi n l c r t hi u qu n u nó đ cúng d ng cho bài toán TSP Vì v y ông Hopfield và ông Tank [1985] đã cùng nhauxây d ng m ng neuron cho bài toán TSP và k t qu đ a ra rât hi u qu
Gi i thu t nhánh và c n (Branch & Bound algorithm) là gi i thu t r t hi u qukhi áp d ng trên nhi u bài toán thu c loài NP-Hard gi ng nh bài toán TSP Gi ithu t nhánh và c n t ng t gi i thu t quay lui, ý t ng c b n c a gi i thu t là l u
l i t t c các l i gi i t t nh t cho đ n l n xét hi n t i và lo i b đi nh ng nhánh tìm
ki m mà bi t ch c ch n r ng s không th cho gi i pháp t t h n các l i gi i đã tìm
đ c Gi i thu t này đ c ông Christofides at [1981] & Backer [1983] áp d ng trên
Trang 38bài toán TSP v i c a s th i gian (TSPTW) Bài toán này c ng t ng t v i bàitoán TSP ch kho ng cách gi a hai thành ph tính b ng th i gian
T các công trình, chúng ta có th nh n xét r ng bài toán TSP là m t bài toán r t
đ c quan tâm trên th gi i hi n nay, có r t nhi u nhà nghiên c u trên th gi i đangnghiên c u nh ng ph ng pháp m i nh m c i thi n th i gian sinh ra l i gi i có ch t
l ng cao cho bài toán này
Trang 39Trong ch ng này, chúng ta đ a ra ph ng pháp c th đ c đ gi i quy t v n
đ mà đ tài yêu c u Ngoài ra, ch ng này c ng trình bày c th các gi i thu t
đ c s d ng đ gi i bài toán Gi i thu t đ c s d ng trong đ tài này chính là gi ithu t di truy n và gi i thu t mô hình m ng
M c tiêu c a đ tài là tìm hi u và phát tri n gi i thu t di truy n (GAs) và gi ithu t mô hình m ng (Network Model), r i áp d ng các gi i thu t mà chúng ta trìnhbày trên đ i v i bài toán t i u t h p ng i đi du l ch (TSP) Sau đó chúng ta s
so sánh gi a gi i thu t di truy n và gi i thu t mô hình m ng nh là gi i thu t Prim ,Kruskal, ho c dijkstra trong mô hình Minimal Spanning Tree và đánh giá đ hi u
qu gi a hai gi i thu t đ rút ra m t l i gi i t i u nh t
4.1 MÔ T BÀI TOÁN
Trong ph n này, chúng tôi mô t c th bài toán c ng nh ph ng pháp s s
d ng đ gi i quy t bài toán TSP
Bài toán ng i đi du l ch có liên quan m t thi t đ n bài toán chu trình Hamilton
M t du khách ph i nghé th m t t c các thành ph Ta l p mô hình bài toán d i
d ng m t đ th đ y đ có n đ nh; ta có th nói r ng ng i du khách mu n th c hi n
Trang 40m t chuy n đi hay là th c hi n chu trình Hamilton Ng i đó ph i ghé th m m ithành ph chính xác m t l n và k t thúc t i thành ph mà anh ta kh i đ u
Bài toán TSP th hi n nh d i đây:
Cho m t đ th vô h ng đ y đ G = (V, E) v i t p đ nh {1, 2, … n}, trong đóV={2,….n} th hi n các thành ph c n vi ng th m, 1 là đ nh xu t phát th c
hi n ti n trình trong quá trình tìm ra l i gi i, ta thêm vào m t đ nh c nh n+1 đóngvai trò gi ng nh đ nh 1 Khi đó đ nh 1 đ c xem nh là đ nh kh i đ u và n+1 là
đ nh k t thúc.Vì v y l trình (tour) c n tìm chính là m t chu trình Hamilton b t đ u