Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
462,04 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THƠNG TIN VÀ TRUYỀN THƠNG ──────── * ─────── TRÍ TUỆ NHÂN TẠO Giải thuật di truyền với toán người du lịch Sinh viên thực Trương Công Phú 20101991 Cấn Kim Tùng 20102465 Nguyễn Hoàng Long 20101802 Đinh Quang Vinh 20102786 Trần Hữu Sơn 20102109 Đào Trọng Huấn 20101600 Hà N i - 2013 Bài tập lớn môn học Trí tuệ nhân tạo M CL C L I NÓI U CH ƠNG I : GI I THU T DI TRUY N (Genetic Algorithm - GA) ng l c Thu t gi i di truy n Các toán t di truy n u tranh sinh t n CH ƠNG II : BÀI TOÁN NG I DU L CH (Travelling Salesman Problem - TSP) 10 L ch s toán : 10 Phát bi u toán : 12 Phân tích CH ƠNG III : Gi i thu t ph c t p : 12 XU T GI I THU T DI TRUYÊN GI I BÀI TOÁN NG I DU L CH 13 xu t : 13 1.1 Mã hóa toán : 13 1.2 Kh i t o qu n th : 15 1.3 Lai ghép : 15 1.4 t bi n : 17 1.5 Ch n l c t nhiên : 18 1.6 Ti n hóa : 20 Gi i thi u v chương trình : 21 K t qu ch y b d li u chu!n : 22 3.1 B d li u wi29.tsp : 23 3.2 B d li u qa194.tsp: 23 3.3 B d li u xit1083.tsp: 24 ánh giá gi i thu t c i ti n tương lai: 25 T"NG K#T 26 TÀI LI$U THAM KH O 27 PH% L%C 28 Bài tập lớn mơn học Trí tuệ nhân tạo L I NĨI U Bài toán ngư&i du l ch m t nh ng toán ư'c nghiên c u sâu nh t l(nh v c t)i ưu hóa Báo cáo s* trình bày hư ng ti p c n gi i quy t toán ngư&i du l ch s d+ng gi i thu t di truy n Gi i thu t di truy n v b n mu)n mơ ph,ng l i q trình ti n hóa c-a sinh v t t nhiên vào tốn t)i ưu hóa t ó ưa l&i gi i t)t (có th khơng t)i ưu nh t) mà không th ưa ư'c gi i thu t xác hay vi c vét c n trư&ng h'p b t kh thi M/c dù ã r t c) g0ng v1n không th tránh kh,i nh ng sai sót, mong th y giáo ch2 b o thêm Bài tập lớn môn học Trí tuệ nhân tạo CH NG I : GI I THU T DI TRUY N (Genetic Algorithm - GA) Gi i thu t di truy n c3ng ti n hóa d a khái ni m cho r4ng q trình ti n hóa t nhiên hồn h o nh t, h'p lý nh t t ã mang tính t)i ưu S t)i ưu ó ư'c th hi n ch5 th h sau bao gi& c3ng phát tri n t)t th h trư c Ti n hóa t nhiên ư'c trì nh& hai q trình b n: sinh s n ch n l c t nhiên, xuyên su)t trình ti n hóa t nhiên, th h m i ln ư'c sinh b6 sung thay th th h c3, cá th thích ng v i mơi trư&ng s* t n t i, ngư'c l i s* b th i Gi i thu t di truy n bao g m bư c chính: Mã hóa l&i gi i, kh i t o qu n th , s d+ng phép tốn di truy n ánh giá thích nghi Sau ó, l i sinh m t qu n th m i b4ng phép ch n l c r i ti p t+c s d+ng phép tốn di truy n ánh giá thích nghi c-a cá th ( i n hình b i nhi7m s0c th - NST) qu n th Thu t gi i ư'c th c hi n qua nhi u th h l&i gi i ưa t)i ưu ng l c Thu t gi i di truy n cung c p m t phương pháp h c ư'c thúc !y b i s tương t v i s ti n hóa sinh h c Thay tìm ki m gi thuy t t t6ng quát n c+ th ho/c t ơn gi n cách l/p vi c n ph c t p, GAs t o gi thuy t k ti p b4ng t bi n vi c tái h'p ph n c-a gi thuy t ư'c bi t hi n t i t)t nh t m5i bư c, m t t p gi thuy t ư'c g i qu n th hi n t i ư'c c p nh t b4ng cách thay th vài ph n nh, qu n th b i cá th c-a gi thuy t t)t nh t th&i i m hi n t i S ph6 bi n c-a GAs ư'c thúc !y b i y u t) sau: • Ti n hóa m t phương pháp m nh, thành cơng cho s thích nghi bên h th)ng sinh h c Bài tập lớn mơn học Trí tuệ nhân tạo • GA có th tìm ki m khơng gian gi thuy t có ph n tương tác ph c t p, ó nh hư ng c-a m5i ph n lên tồn th thích nghi gi thuy t khó có th mơ hình • Thu t gi i GA có th ư'c th c hi n song song có th t n d+ng thành t u c-a ph n c ng máy tính m nh Thu t gi i di truy n Bài toán dành cho GAs tìm ki m khơng gian gi thuy t ng c xác nh gi thuy t t)t nh t Trong GAs “gi thuy t t)t nh t” ư'c m t gi thuy t t)i ưu hóa m t toán s0p t i, ư'c g i i lư'ng s) ư'c nh ngh(a nh ngh(a trư c cho thích nghi c-a gi thuy t Ví d+, n u tác v+ h c h,i toán x p x2 m t hàm chưa bi t cho t p m1u hu n luy n g m d li u vào d li u u ra, thích nghi có th ư'c nh ngh(a u xác c-a gi thuy t d li u hu n luy n N u tác v+ h c chi n lư'c chơi c&, thích nghi có th s) ván th0ng c-a chi n lư'c u v i chi n lư'c khác qu n th hi n t i M/c dù thu t gi i di truy n ư'c th c hi n thay 6i theo toán c+ th , chúng chia s9 chung c u trúc tiêu bi u sau: Thu t gi i ho t ng b4ng cách c p nh t liên t+c t p gi thuy t – ư'c g i qu n th m5i l n l/p, t t c cá th qu n th ư'c c lư'ng tương ng v i hàm thích nghi R i qu n th m i ư'c t o b4ng cách l a ch n có xác su t cá th thích nghi t)t nh t t qu n th hi n t i M t s) nh ng cá th ư'c ch n ư'c ưa nguyên v:n vào qu n th k ti p Nh ng cá th khác ư'c dùng làm s cá th b4ng cách áp d+ng tác ng di truy n: lai ghép t o t bi n GA( Fitness, Fitness_threshold, p, r, m) Bài tập lớn mơn học Trí tuệ nhân tạo { // Fitness: hàm gán thang i m // Fitness_threshold: Ng cl ng xác ng cho m t gi thuy t nh tiêu chu n d ng giài thu t tìm ki m // p: S cá th qu n th gi thuy t // r: Phân s cá th qu n th ư'c áp d+ng toán t lai ghép m5i bư c // m: T l cá th b t bi n • Kh i t o qu n th : P • T o ng1u nhiên p cá th gi thuy t c lư'ng: ;ng v i m5i h P, tính Fitness(h) • while [max Fitness(h)] < Fitness_threshold T o th h m i, PS Ch n cá th : ch n theo xác su t (1 – r)p cá th qu n th P thêm vào PS Xác su t Pr(hi) c-a gi thuy t hi thu c P ư'c tính b i cơng th c: Pr(hi ) = Fitness(hi ) p j =1 Fitness(h j ) Lai ghép: ch n l c theo xác su t P, theo Pr(hi) ã tính r× p c/p gi thuy t t qu n th bư c ;ng v i m5i c/p , t o hai b4ng cách áp d+ng toán t lai ghép Thêm t t các vào PS t bi n: Ch n m% cá th c-a PS v i xác su t cho m5i cá th ;ng v i m5i cá th bi n 6i m t bit ư'c ch n ng1u nhiên cách th hi n c-a Cãp nh t: P cl PS ng: ;ng v i m5i h P, tính Fitness(h) Bài tập lớn mơn học Trí tuệ nhân tạo • Tr v gi thuy t P có thích nghi cao nh t } Figure : Các bước giải thuật Bài tập lớn mơn học Trí tuệ nhân tạo Kh i t o qu n th L a ch n cha m: Lai ghép t bi n u tranh sinh t n FALSE i u ki n d.ng TRUE Các cá th t)t nh t Figure : Lưu đồ giải thuật Bài tập lớn mơn học Trí tuệ nhân tạo Các toán t di truy n 3.1 Lai ghép : Phép lai trình hình thành NST m i s NST cha m:, b4ng cách ghép m t hay nhi u o n gen c-a hai (hay nhi u) NST cha m: khác Các c/p cha m: ư'c l a ch n ng1u nhiên xác su t x y lai ghép v i m5i c/p ư'c quy nh t trư c Có nhi u cách lai ghép khác nhau: • Lai ghép m t i m c0t, nhi u i m c0t • Lai ghép nhi u o n 3.2 t bi n : t bi n tình tr ng NST khơng có m t (ho/c m t s)) tính tr ng có mã di truy n c-a cha m: Các c/p cha m: ư'c l a ch n ng1u nhiên xác su t x y m5i c/p ư'c quy Các phép • t bi n v i nh t trư c, thư&ng r t nh, t bi n thư&ng ư'c s d+ng: o bit • Hốn v : 6i v trí c-a gen v i • • 6i giá tr : Thay 6i giá tr t i m t i m gen o o n: o th t c-a m t o n NST b t kì Bài tập lớn mơn học Trí tuệ nhân tạo u tranh sinh t n Ch n nh ng NST t qu n th k t qu theo m t quy t0c ó thay th cho cha m: sinh th h m i M t s) phương th c u tranh sinh t n b n: • Tráo 6i hồn tồn cha m: b4ng • Tráo 6i ng1u nhiên: Ch n ng1u nhiên k cha m: thay th b4ng k m i • Ch n nh ng cá th ưu tú nh t qu n th Bài tập lớn mơn học Trí tuệ nhân tạo 23 55 24 56 64 79 … 1.2 Kh i t o qu n th : Qu n th ban u ư'c kh i t o b4ng cách sinh ng1u nhiên chu trình, s) lư'ng chu trình kh i t o m t n a s) kích thư c cá th t)i a Vi c sinh ng1u nhiên s d+ng hàm t bi n (s* nói rõ phía dư i) S) kích thư c cá th t)i a có th tùy bi n theo s) 2nh c-a th c n gi i, sau nhi u l n ch y nhóm ch n kích thư c qu n th 100 cá th 1.3 Lai ghép : Phương th c lai ghép ư'c th c hi n d a cá th u vào : C1 10 C2 10 Th c hi n lai ghép i m c0t v i v trí c0t ng1u nhiên : • C0t t i m p n h t chu trình c-a C2 ưa vào chu trình m i, l y m t ví d+ p = : Bài tập lớn mơn học Trí tuệ nhân tạo 15 Con • Xét t u n cu)i chu trình 1, n p d n i m chưa có lai theo th t t ta ư'c chu trình m i : Con 10 • Tính l i chi phí cho chu trình m i sinh m b o lai m i chu trình th a mãn (*) Cách lai ghép Cài /t code : ! " $ % ' $ # & $ ( )) !*%+ !* + %)) , ' $ ' ( % )) $ % ( ' # %)) !* + !*%+ & ' % # # &)) !*% ) &+ !* + , , , Bài tập lớn mơn học Trí tuệ nhân tạo 16 , t bi n : 1.4 t bi n ư'c th c hi n d a cá th Phương th c C1 u vào : 10 t bi n b4ng tráo 6i i m gen cho S) l n tráo Th c hi n )i ư'c sinh ng1u nhiên t kho ng 5% chi u dài chu trình (t c có t)i a t bi n), v trí i m tráo c3ng ư'c sinh ng1u 10% v trí gen có th b nhiên trình ch y t bi n C1 b4ng tráo 6i l n : tráo 9, tráo 10 Khi ó Ví d+ v i ta ư'c chu trình m i : C2 (*) Cách t bi n 10 m b o cá th m i sinh chu trình th a mãn Cài /t code : ! ! ! " '' ) / $ ! " ! " ! !* ! !* + ! !* + Bài tập lớn mơn học Trí tuệ nhân tạo + ! !* + 17 ## , ! , 1.5 Ch n l c t nhiên : Kích thư c qu n th c) th m i sinh b4ng lai ghép nh qua th h m5i th h ta l i có cá t bi n ó c n ph i có s ch n l c mb o tính cân b4ng c-a qu n th c3ng tránh l5i phát sinh v b nh kích thư c qu n th l n !ố $á &ℎể &ℎế ℎệ, = -í$ℎ &ℎướ$ 1ặ$ đị ℎ, + !ố $á &ℎể 1ớ ℎ, Cách th c ch n l c cá th Cá th ư'c ánh giá d a chi phí c-a m5i chu trình ư'c ch n làm l&i gi cu)i cá th có chi phí nh, nh t qu n th sau m t s) th h ti n hóa Ban u toàn b qu n th s* ư'c s0p x p t