1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

86 354 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 663,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Designing neural networks, both architecture and weights.. - Robot trajectory, Evolving LISP programsgenetic programming.. - Strategy planning, Finding shape of protein molecules - Seq

Trang 1

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

Trang 2

1.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 4

1.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 5

1.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 6

bà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 7

Ch 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 8

C 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 9

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 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 10

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 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 11

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á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 12

Single 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 15

Phé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 16

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à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 17

Pr(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 18

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 đ 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 19

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

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 20

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 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 21

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 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 22

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 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 24

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à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 25

Hì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 27

T 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 29

5 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 30

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

d

f

a e

b

a

h i c

Trang 31

4 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 32

C 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 33

v 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 34

8 then min[H] ß Nil

9 else min[H] ß right[z]

Trang 35

17 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 36

CÁ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 37

Tabu 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 38

bà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 39

Trong 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 40

m 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

Ngày đăng: 05/12/2016, 02:46

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Single point crossover - 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.1 Single point crossover (Trang 12)
Hình 2.4 Arithmetic crossover - 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 (Trang 13)
Hình 2.6: Roulette Wheel Selection - 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.6 Roulette Wheel Selection (Trang 15)
Hình 2.7 Di u bi n c a gi i thu t di truy n - 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.7 Di u bi n c a gi i thu t di truy n (Trang 19)
Hình 2.9 d i  đ ây s  minh h a cách bi u di n - 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.9 d i đ ây s minh h a cách bi u di n (Trang 26)
Hình 2.10 Cây t a nhánh c c ti u MST - 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.10 Cây t a nhánh c c ti u MST (Trang 28)
Hình 2.11 Minh ho  v  gi i thu t Kruskal t o ra cây MST - 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.11 Minh ho v gi i thu t Kruskal t o ra cây MST (Trang 31)
Hình 2.12 Mình h a v  gi i thu t Prim t o ra cây MST - 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.12 Mình h a v gi i thu t Prim t o ra cây MST (Trang 34)
Hình 4.2: Minh h a m t l  trình c a m t du khách Hình bên trên  đ ã minh h a cho chúng ta m t hành trình là: 5 – 1 – 7 – 8 – 9 – 4 – 6 – 2 – 3 nh  th  chúng ta có th  bi u di n  đ ng d n là: (5 1 7 8 9 4 6 2 3) - 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 4.2 Minh h a m t l trình c a m t du khách Hình bên trên đ ã minh h a cho chúng ta m t hành trình là: 5 – 1 – 7 – 8 – 9 – 4 – 6 – 2 – 3 nh th chúng ta có th bi u di n đ ng d n là: (5 1 7 8 9 4 6 2 3) (Trang 44)
Hình 4.5:   th  G có góc là a - 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 4.5 th G có góc là a (Trang 58)
Hình 4.7: Preoder Traversal Walk W L: (a b c b h b a d e f e g e d a) - 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 4.7 Preoder Traversal Walk W L: (a b c b h b a d e f e g e d a) (Trang 59)
Hình 4.8: Chu trình Hamilton H - 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 4.8 Chu trình Hamilton H (Trang 60)
Hình 5.4 TSP sau khi gi i thu t k t thúc và có kho ng cách 35.381106972225055 - 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 5.4 TSP sau khi gi i thu t k t thúc và có kho ng cách 35.381106972225055 (Trang 69)
Hình 5.7: Giao di n ch ng trình TSP gi i b ng gi i thu t trên mô hình m ng - 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 5.7 Giao di n ch ng trình TSP gi i b ng gi i thu t trên mô hình m ng (Trang 71)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w