Báo cáo lu n v n cao h c : TÌ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
`
TÊN
TÀI
TÌ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
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 1
Báo cáo lu n v n cao h c : TÌ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
`
CH
NG I
PHÁT BI U V N
Ch
ng này gi i thi u t ng quan v n i dung v n đ s đ
lu n v n, nêu ra ng d ng c a v n đ này c ng nh ph
c th c hi n trong
ng pháp d đ nh đ gi i
quy t v n đ .
M
1.1
Loài ng
U
i đã bi t ch n l a “Ph
mình t th i c đ i.
u tiên ng
ng án“ hành đ ng trong các công vi c c a
i ta bi t ch n ph
ng án “ch p nh n đ
c“, theo
các tiêu chu n t m c đ c m tính đ n m c đ có c s khoa h c và đ nh l
Khi có nhi u ph
ng án ch p nh n đ
ng.
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
i ta bi t đ n “Gi i thu t di truy n (Genetic Algorithms) và m t s gi i thu t
ng
khác nh gi i thu t mô hình m ng (Network Model)…..
t i
u, ch ng h n nh
bài toán ng
i v i m t s bài toán
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
John Holland là ng
i đi du l ch.
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
ng
pháp này là “genetic programming”(GP). Hi n nay gi i thu t di truy n đã đ
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
c áp d ng trên
r t nhi u bài toán t i u nh là
-
Nonlinear dynamical systems - predicting, data analysis.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 2
Báo cáo lu n v n cao h c : TÌ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
`
-
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 u
bà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
-
Bài toán tô màu
-
Bài toán ng
ng và đ th
i đi du l ch vv…..
Trong s đó, sau đây ta s nghiên c u bài toán ng
ng
i đi du l ch (TSP). Bài toán
i đi du l ch (TSP – Traveling Salesman Problem) là m t bài toán t
đ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à đ
b i Euler. Ông là ng
i có nhi u h ng thú trong vi c tìm ra ph
ng đ i c
c nêu ra
ng pháp gi i bài
toá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
n i ti ng. Vào lúc đó, bài toán ng
ph
ng pháp qui ho ch tuy n tính.
h pđ
i đi du l ch tr thành bài toán ph bi n và
i đi du l ch c ng đ
c ph bi n thông qua
ây là m t v n đ m i, là l ai bài toán t i u t
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 đ
ch ng minh là l ai NP-Hard.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 3
c
Báo cáo lu n v n cao h c : TÌ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
`
1.2.
GI I THI U V N
Bài toán ng
S LÀM
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 anh
qua đú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 theo
cá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 :
k
w(p) =
å
w(vi-1,vi)
i=1
Ta đ nh ngh a tr ng s l trình ng n nh t ( shortest-path weight) t thành ph
b t đ u ( u ) đ n thành ph cu i (v) :
P
min { w(p) : u
§( u,v)
=
0
v } n u có m t l trình t u đ n v
b ng không.
Nh v y, m t l trình ng n nh t t thành ph b t đ u u đ n thành ph cu i v
đ
c đ nh ngh a là b t k l trình p nào có tr ng s w(p) = § (u,v).
M c đích c a bài toán là tìm ra con đ
là t ng kho ng cách đi đ
ng có chi phí t i u,
đây chi phí có th
c hay t ng th i gian c n thi t đ hoàn thành đ
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
ng đi.
Trang 4
Báo cáo lu n v n cao h c : TÌ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
`
1.3.
NG D NG C A V N
Bài toán ng
S LÀM
i đi du l ch (TSP) là m t bài toán đ
th c t . Ví d nh bài toán tìm đ
c ng d ng r t r ng rãi trong
ng t i u cho xe buýt trong thành ph (Bus
routing problem ), đây là bài toán khá ph bi n. M c đích c a bài toán là tìm ra l
trì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
l i tr m xu t phát. Th i gian đ n và r i các tr m c ng đ
c quy đ nh tr
Bài toán v n chuy n nh ng ki n hàng đ n nh ng khách hàng
c.
nh ng n i khác
nhau, chi phí cho bài toàn này chính là kho ng cách c n thi t đ giao t t c nh ng
ki n hàng cho nh ng khách hàng đã đ
c lên l ch tr
c, ngoài ra th i gian giao
hàng cho m i đ a đi m c n ph i n m trong m t khung th i gian h n đ nh cho tr
c.
M c đích chính c a bài toán này là tìm ra chi phí t i thi u mà có th giao hàng cho
t t c khách hàng.
Ngoài ra đ tài còn ng d ng vào m t bài toán khác nh : Bài toán chuy n th
(Postal deliveries problem), bài toán ga xe l a.... v.v
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 qu
kí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 đ
1.4.
PH
c quan tâm trên toàn th gi i.
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
M i ph
ng pháp đ gi i quy t bài toán này.
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 i
thu 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
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 5
Báo cáo lu n v n cao h c : TÌ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
`
trên đ i v i bài toán t i u t h p ng
bày
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 cho
bài toán.
1.5
C u trúc c a lu n v n
ti n theo dõi, ph n này gi i thi u c u trúc n i dung c b n c a các ph n ti p
theo trong lu n v n :
Ch
ng I : M đ u
Ch
ng II : C s lý thuy t
Ch
ng này chú tr ng vào các c s lý thuy t quan tr ng đ
c s dung trong đ
tài
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
còn giúp chúng ta hình dung đ
c m t cách t ng quan các ph
trên th gi i, t đó chúng ta th y đ
ng này
ng pháp đã t n t i
c m t s ý th c đ đánh giá gi a hai gi i thu t
nêu trên.
Ch
ng IV : Ph
Ch
ng pháp gi i quy t v n đ
ng này th hi n các v n đ liên quan đ n đ tài: gi i thu t chi ti t đ gi i
quy t v n đ .
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 6
Báo cáo lu n v n cao h c : TÌ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
`
ng V : Hi n th c và k t qu th c nghi m
Ch
Ch
ra, 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
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 s
bài toán d li u l n.
Ch
ng VI : K t lu n và ph
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 h
ng m r ng
ng có th áp d ng đ phát tri n và m r ng đ tài.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 7
Báo cáo lu n v n cao h c : TÌ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
`
CH
C
Ph
S
NG II
LÝ THUY T
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 đ
phù 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
sau bao gi c ng t t h n (phát tri n h n, hoàn thi n h n) th h tr
nhiên đ
ch , th h
c. Ti n hóa t
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 đ
th th h c . Cá th nào phát tri n h n, thích ng đ
Cá th nào không thích ng đ
tr
c, nh ng
c v i môi tr
c v i môi tr
ng s t n t i.
ng s b đào th i. S thay đ i môi
ng là đ ng l c thúc đ y quá trình ti n hóa. Ng
l i góp ph n làm thay đ i môi tr
c sinh ra đ b sung thay
c l i, ti n hóa c ng tác đ ng 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ó th
mang 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
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 8
Báo cáo lu n v n cao h c : TÌ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
`
xá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 ng
cá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 n
cá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 o
thê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 th
hoang 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ú v
thay, nh ng con ch n c ng tr i qua ti n trình t
ng t -n u không nh ng con th
nhanh 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
ct
ng
ng v i câu chuy n đ u tranh sinh t n c a loài th
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 9
Báo cáo lu n v n cao h c : TÌ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
`
1.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ác nhi m s c th đ
c g i là các chu i hay các nhi m s c th (chromosome).
c t o thành t các đ n v - các gen – bi u di n trong m t s
chu 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ác
nhau (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 n
hoá đ
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: khai
thá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
ng u nhiên là m t thí d đi n hình c a chi n l
c l i, tìm ki m
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 khai
thá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 u
nhiê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 t
quan 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.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 10
Báo cáo lu n v n cao h c : TÌ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
`
GA 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ách
duy 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ông
tin gi a các h
ng này. Qu n th trãi qua ti n trình ti n hoá:
sinh các l i gi i t
ng đ i t t, trong khi các l i gi i t
phân bi t các l i gi i khác nhau, hàm m c tiêu đ
tr
m i th h l i tái
ng đ i x u thì ch t đi.
c s d ng và đóng vai trò môi
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 n
gen c a hai hay nhi u nhi m s c th cha m v i nhau. Phép lai có th đ
c mô
ph ng nh sau:
- Ch n ng u nhiên hai (hay nhi u) cá th b t k trong qu n th . Gi s các
nhi m s c th c a cha m đ u có m gen.
- T o m t s ng u nhiên trong kho ng t 1 đ n m – 1 ( đi m lai). i m lai chia
các chu i con dài m1 và m2. Hai chu i nhi m s c th con m i s là m11+m22 và
m21+m12.
-
a hai cá th m i này vào qu n th đ tham gia các quá trình ti n hoá ti p
theo.
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.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 11
Báo cáo lu n v n cao h c : TÌ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
`
Thay đ i gen th k và tr cá th này v qu n th đ tham gia quá trình ti n hoá
ti p theo.
Phép lai, Phép đ t bi n có nhi u cách đ th c hi n nh là
a) Binary Ecoding
Crossover
Single point crossover
Hình 2.1 Single point crossover
11001011+11011111 = 11001111
Two point crossover -
Hình 2.2 Two point crossover
11001011 + 11011111 = 11011111
Uniform crossover -
Hình 2.3 Uniform crossover
11001011 + 11011101 = 11011111
Arithmetic crossover -
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 12
Báo cáo lu n v n cao h c : TÌ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
`
Hình 2.4 Arithmetic crossover
11001011 + 11011111 = 11001011 (AND)
Mutation
Bit inversion -
Hình 2.5 Mutation
11001001 => 10001001
b) Permutation Encoding
-Crossover
Single point crossover –
(1 2 3 4 5 6 7 8 9) + (4 5 3 6 8 9 7 2 1) = (1 2 3 4 5 9 7 2 1)
Mutation
Order changing –
(1 2 3 4 5 6 8 9 7) => (1 8 3 4 5 6 2 9 7)
C) Tree Enconding
Crossover
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 13
Báo cáo lu n v n cao h c : TÌ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
`
Tree
-
crossover
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 đ
nghi c a nó.
c sao chép trên c s đ thích
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ích
nghi 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.
-
Lo i b các cá th cu i dãy đ ch gi l i n cá th t t nh t.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 14
Báo cáo lu n v n cao h c : TÌ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
`
ng pháp đ th c hi n nh là: roulette wheel selection,
Phép ch n có nhi u ph
Boltzman selection, tournament selection, rank selection, steady state selection
v,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à
c tính b i công th c sau:
Pr(hi)=
Fitness (hi )
p
å Fitness (hj)
j =1
Hình 2.6: Roulette Wheel Selection
b) Ph
ng pháp Tournament
T o ra n vòng đ ch n ra n cá th . Cá th v i đ thích nghi cao nh t trong
nhóm k ph n t đ
c l a ch n, nh ng cá th khác b lo i kh i vòng. H u h t các
gi i thu t b u ch n tournament là
Còn m t vài ph
ng pháp khác nh là Boltzman selection, rank selection,
steady state selection có th đ
2.4
k = 2.
c tìm th y trên các website.
thích nghi (Fitness)
Hàm m c tiêu là hàm dùng đ đánh giá đ t t c a m t l i gi i ho c cá th .
Hàm m c tiêu nh n vào m t tham s là gen c a m t cá th và tr ra m t s th c.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 15
Báo cáo lu n v n cao h c : TÌ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
`
Tù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ài
toá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ài
toá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 c
tiêu là hàm Fitness(ai). V y đ thích nghi c a m t cá th ai tính theo đ thích nghi
là:
Pr(ai)=
Fitness (ai )
p
å Fitness (aj)
j =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á th
càng t t) l n l
t cho trong b ng sau :
STT
Fitness(ai)
1
5.3
2
2.1
3
6
4
2.9
5
1.0
6
0.2
B ng 2.1: Thí d c a đ thích nghi (Fitness) có 6 cá th
Theo công th c trên, t ng t t c Fitness (ai) c a 6 ph n t là : 17.5
Nh v y, đ thích nghi c a ph n t a1 :
Pr(a1) = 5.3 / 17.5 » 0.303
thích nghi c a ph n t a2 :
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 16
Báo cáo lu n v n cao h c : TÌ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
`
Pr(a2) = 2.1 / 17.5 = 0.12
Ta có b ng k t qu cu i cùng nh sau :
STT
F(ai)
Pr(ai)
1
5.3
0.303
2
2.1
0.120
3
6
0.343
4
2.9
0.166
5
1.0
0.057
6
0.2
0.011
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
i ta th
ng v i kh n ng đ
c ch n l c trong vi c sinh ra th h sau nên
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.
-
Ph
-
Hàm đ nh ngh a đ thích nghi.
-
Các phép di truy n.
-
Các tham s c a gi i thu t di truy n s d ng (kích th
ng pháp kh i t o qu n th ban đ u.
c qu n th , xác
su t lai, đ t bi n, ...).
3. MÃ GI C A GI I THU T DI TRUY N:
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 17
Báo cáo lu n v n cao h c : TÌ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
`
GA(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 đ
c
tính nh sau:
Pr(hi)=
Fitness (hi )
p
å Fitness (hj)
j =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 2
con b ng cách áp d ng phép lai. Thêm t t c các con vào
qu n th Ps.
3.
t bi n(mutation): l y m ph n tr m c a các ph n t trong
Ps v i xác su t gi ng nhau. V i m i ph n t trên, đ o th
t m t bit đ
c ch n m t cách ng u nhiên trong hình th
c a nó.
4. C p nh t (update): P = Ps.
5.
ánh giá (evaluate): V i m i h trong P, tính đ thích nghi
Fitness(h).
Tr k t qu v là nhi m s c th trong P có đ thích nghi cao nh t.
B ng 2.3: Mã gi c a gi i thu t di truy n
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 18
Báo cáo lu n v n cao h c : TÌ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
`
Chú 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 .
§ Fitness_threshold: gi i h n đ ch ra đi u ki n d ng.
§ p: s l
ng nhi m s c th trong qu n th .
§ r: ph n nh c a qu n th đ
c thay th b i phép lai
m ib
c.
§ m: t l đ t bi n.
Gi i thu t trên đ
c gi i thích nh sau : Ban đ u m t qu n th đ
c t o ra và
tính đ thích h p cho m i cá th trong qu n th . Sau đó, ta ch n hai cá th t t (đánh
giá t hàm đ thích nghi c a chúng) t qu n th này đ tái sinh (reproduction) b ng
cách lai t o hay đ t bi n. Sau khi các cá th con sinh ra, ta tính đ thích nghi c a nó.
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
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 19
Báo cáo lu n v n cao h c : TÌ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
`
4. 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 ng
chu 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 n
cá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à
h u đi u ki n cho các lu t.
th y đ
c các lu t if-then đ
c mã hoá b ng các chu i bit nh th nào, đ u
tiên chúng ta s d ng chu i bit đ mô t ràng bu c trên giá tr c a thu c tính đ n.
Ví d xem xét thu c tính Outlook có 3 giá tr Sunny, Overcast, ho c Rain. Th hi n
thu c tính trên, ta dùng chu i bit có đ dài là 3.
Outlook = Overcast à 010
Outlook = Overcast v Rain à 011
Outlook = 111 à chúng ta không quan tâm đ n thu c tính c a nó
Wind có 2 giá tr là Strong và Weak.
Wind = Strong à 10
Wind = Weak à 01
PlayTennis có 2 giá tr là yes và no.
PlayTennis = yes à 10
PlayTennis = no à 01
Ta th hi n câu (Outlook=Overcast Ù Rain) Ù (Wind=Strong) nh sau
Outlook Wind
011
10
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:
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 20
Báo cáo lu n v n cao h c : TÌ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
`
Outlook Wind PlayTennis
111
10
10
5. CÁC PHÉP TOÁN TRONG GI I THU T DI TRUY N (Operation):
5.1. Phép ch n l c (Selection):
Phép ch n l c là vi c ch n nh ng nhi m s c th d a theo các giá tr c a hàm
thích nghi (fitness function). Theo c ch này, nh ng cá th nào có đ thích nghi
t t thì có nhi u c h i đ
c ch n l a. Có r t nhi u phép ch n l c ch ng h n nh
roulette wheel selection, Boltzman selection, tournament selection, rank
selection, steady state selection v,v…m t s phép ch n l c đã đ
c trình bày
trên .
5.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 1101100100110110
Chromosome 2 1101111000011110
B ng 2.4 Thí d mã hóa nhi m s c th
M i nhi m s c th đ
th đ
c hình dung b ng binary string. M i bit trong string có
c hình dung cho đ c đi m c a bài tóan. S th t có r t nhi u ph
đ mã hoá. Mã hoá ph thu c vào v n đ c n đ
ng pháp
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án
lai. 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 sao
chép nh ng bit đ
sao chép t bit
c l a ch n t cha và m . Bit
v trí th i trong m i con đ
c
v trí th i c a cha ho c m . Vi c ch n l a cha ho c m đóng góp
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 21
Báo cáo lu n v n cao h c : TÌ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
`
v trí th i đ
bit
c xác đ nh b i m t n lai (crossover mask). Ta có các ki u lai
sau: Single-point, Two-point,
Chromosome 1 11001 | 00100110110
Chromosome 2 11011 | 11000011110
Offspring 1
11001 | 11000011110
Offspring 2
11011 | 00100110110
B ng 2.5 Thí d phép toán lai
5.4. Phép đ t bi n (Mutation)
Phé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 u
nhiê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 1101011000011110
Original offspring 2 1101100100110110
Mutated offspring 1 1101111000011110
Mutated offspring 2 1101101100110110
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)
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 22
Báo cáo lu n v n cao h c : TÌ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
`
-
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 th
kho ng là 20-30, đôi khi kích th
c 50-100 c ng có th đánh giá là t t. Có m t
nghiê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
cc 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 th
nê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
ng đ
th
-
b n
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ài
toá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- hard
problems), 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
n ng b r i vào l i gi i t i u c c b gi ng nh các gi i thu t khác. Chúng ta th c
hi n (implement) GA d dàng. N u mà chúng ta có gi i thu t di truy n c b n r i,
chúng ta ch c n vi t ch
ng trình bi u di n nhi m s c th (ch m t object) m i đ
gi i quy t nh ng v n đ khác nhau. V i mã hoá gi ng nhau chúng ta ch thay đ i
hàm fitness, chúng s th c thi đ
c. M c dù đ i v i m t s bài toán có ch n l c,
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.
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 23
Báo cáo lu n v n cao h c : TÌ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
`
Ph 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ài
toán tìm chí phí t i thi u gi a đ nh ngu n và đ nh đ n.
2.
NH NGH A MÔ HÌNH M NG
th vô h
ng (undirected graph) G là m t c p hai t p(N,A),
các nút (Node) và A là t p các cung (arc) không có h
ho c c ng g i là cung vô h
đây N là t p
ng. Cung không có h
ng,
ng (undirected arc) là m t c p không k đ n th t hai
nút khác nhau i và j nào đó, i c a N, j c a N kí hi u là (i , j). Vây (i, j) =(j, i) trong
đ 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 đ n
nú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 đ
(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
c g i là liên thông
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 đ
ch a cung “ t n i “
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 24
c
Báo cáo lu n v n cao h c : TÌ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
`
1
4
2
3
5
Hình 2.8
Ví d hình 2.7 là m t đ th có h
th có h
ng
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.
h
ng là đ th nh n đ
h
ng là liên thông n u đ th vô h
trong đô th vô h
Nh ng đ th có h
đ
th vô h
c khi không tính đ n h
ng t
ng t
ng trên các cung n a.
th có
ng ng là liên thông. M t đ
ng ng đ u g i là m t đ
ng t
ng ng v i m t đ th có
ng đi trong đô th có h
ng đi
ng.
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 t
cung 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). Chu
trình c ng đ nh ngh a nh
đ th vô h
g m hai nút khác nhau. M t đ
ng, nh ng
đây cho phép chu trình ch
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
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
v s l
ng. Nh ng 3, (1, 3), 1, (1, 2), 2, (3,
ng G = (N , A) cùng v i m t s thông tin
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)
GV h ng d n: TS. Lê V n D c
HV th c hi n: Sok Phong (00704901)
Trang 25