Thuật toán di truyền giải bài toán cây khung truyền thông tối ưu

119 517 1
Thuật toán di truyền giải bài toán cây khung truyền thông tối ưu

Đ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

Mẫu 1a MẪU BÌA LUẬN VĂN CÓ IN CHỮ NHŨ VÀNG Khổ 210 x 297 mm HỌ VÀ TÊN TÁC GIẢ LUẬN VĂN BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN NGỌC QUANG CHUYÊN NGÀNH THUẬT TOÁN DI TRUYỀN GIẢI BÀI TOÁN CÂY KHUNG TRUYỀN THÔNG TỐI ƯU LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN KHOÁ Hà Nội – Năm 2011 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN NGỌC QUANG THUẬT TOÁN DI TRUYỀN GIẢI BÀI TOÁN CÂY KHUNG TRUYỀN THÔNG TỐI ƯU Chuyên ngành : Công nghệ thông tin LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC : PGS TS Nguyễn Đức Nghĩa Hà Nội – Năm 2011 LỜI CÁM ƠN Đầu tiên, em xin cảm ơn toàn thể thầy cô giáo trường Đại học Bách Khoa Hà Nội nói chung thầy cô Viện Công nghệ thông tin truyền thông, Khoa học máy tính nói riêng Trong suốt trình học hoàn thành luận văn cao học, em thầy cô dạy cung cấp kiến thức quý báu chuyên môn đạo đức Đặc biệt, em xin chân thành cảm ơn thầy, PGS.TS Nguyễn Đức Nghĩa, người trực tiếp hướng dẫn, cung cấp tài liệu định hướng, bảo tận tình suốt trình em làm luận văn tốt nghiệp Trong trình thầy giảng dạy hoàn thành luận văn hướng dẫn thầy, em học cách tiếp cận vấn đề, tinh thần làm việc nghiêm túc, trung thực cách nghiên cứu khoa học hiệu Đó hành trang, định hướng trình làm việc em sau Cuối cùng, xin gửi lời cảm ơn chân thành tới gia đình, công ty bạn bè Những người chỗ dựa tinh thần, động viên, khuyến khích, giúp đỡ suốt trình học tập nghiên cứu để hoàn thành luận văn tốt nghiệp Hà Nội, ngày 24 tháng năm 2011 Nguyễn Ngọc Quang Lớp Cao học Công nghệ thông tin – Khóa 2009 Đại học Bách Khoa Hà Nội LỜI CAM ĐOAN Tôi Nguyễn Ngọc Quang - Học viên lớp cao học Công Nghệ Thông Tin Khóa 2009 – trường Đại Học Bách Khoa Hà Nội Mã số học viên: CB091341 Tôi cam đoan luận văn tốt nghiệp kết nghiên cứu thân hướng dẫn PGS TS Nguyễn Đức Nghĩa Các số liệu, kết luận văn tốt nghiệp trung thực, chép toàn văn công trình khác Học viên Nguyễn Ngọc Quang TÓM TẮT LUẬN VĂN THẠC SĨ Đề tài: Thuật toán di truyền giải toán khung truyền thông tối ưu Tác giả luận văn: Nguyễn Ngọc Quang Khóa: 2009 Người hướng dẫn: PGS TS Nguyễn Đức Nghĩa Nội dung tóm tắt: a) Lý chọn đề tài Bài toán khung truyền thông tối ưu (Optimal Communication Spanning Tree OCST) toán có nhiều ứng dụng thực tế thiết kế mạng đơn giản, thiết kế mạng/vận tải … Tuy nhiên, OCST toán thuộc lớp NP-khó nên chưa có thuật toán xác tìm lời giải tối ưu Ngay từ đưa vào năm 1974 HU nay, có nhiều phương pháp đề xuất với toán này: phương pháp tìm kiếm có heuristic, thuật toán leo đồi… Một hướng tiếp cận quan tâm sử dụng thuật toán di truyền (Genetic Algorithm – GA) để tìm lời giải xấp xỉ Ý tưởng thuật toán di truyền xuất phát từ nguyên lý “chọn lọc tự nhiên” học thuyết tiến hóa Darwin Thuật toán áp dụng cho toán tối ưu tổ hợp tối ưu số như: toán người du lịch, toán túi, toán vận tải,… Thuật toán di truyền thường mang lại lời giải tốt thời gian chấp nhận Thuật toán cho kết khả quan, toán OCST, thuật toán cho lời giải tương đối tốt so với số phương pháp khác Do đó, lựa chọn luận văn với đề tài: Thuật toán di truyền giải toán khung truyền thông tối ưu b) Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu Luận văn tập trung nghiên cứu mô hình thuật toán di truyền áp dụng thuật toán di truyền giải toán OCST Bên cạnh đó, luận văn trình bày sồ phương pháp mã hóa cá thể cụ thể giải thuật di truyền áp dụng cho toán OCST Thông qua kết thực nghiệm, luận văn đưa đánh giá việc áp dụng thuật toán di truyền giải toán OCST hiệu phương pháp mã hóa cá thể c) Tóm tắt cô đọng nội dung đóng góp tác giả Với mục đích tìm hiểu thuật toán di truyền nói chung thuật toán di truyền áp dụng cho toán OCST nói riêng, luận văn chia làm phần: phần đầu nói đến khái niệm liên quan đồ thị, khung, toán tối ưu phát biểu toán; phần hai, nêu thuật toán di truyền: từ tổng quan thuật toán di truyền đến thao tác, chiến thuật lựa chọn, thông số cho thuật toán di truyền; phần ba, nêu phương pháp mã hoá khung để áp dụng thuật toán di truyền: phương pháp mã hoá Prufer, mã hóa vectơ đặc trưng, mã hóa thiên kiến cạnh, mã hóa thiên kiến nút, mã hóa thiên kiến cạnh nút, mã hóa NetKey, mã hóa tập cạnh Mỗi phương pháp có nhận xét ưu, nhược điểm cách mã hoá đó; phần bốn, phần cài đặt thực nghiệm Trên sở lý thuyết kết thực nghiệm, luận văn ảnh hưởng phương pháp mã hóa hội tụ, đa dạng thiên kiến thuật toán di truyền d) Phương pháp nghiên cứu Luận văn sử dụng phương pháp nghiên cứu: tìm hiểu lý thuyết, phân tích, xây dựng thực nghiệm rút đánh giá Trong trình nghiên cứu lý thuyết phân tích, luận văn thực phân tích diễn dịch: tìm hiểu thuật toán di truyền nói chung, tìm hiểu toán OCST áp dụng thuật toán di truyền giải toán OCST e) Kết luận Luận văn trình bày toán khung truyền thông tối ưu; hướng tiếp cận giải toán sâu nghiên cứu sử dụng thuật toán di truyền để giải toán khung truyền thông tối ưu Trong toán tử di truyền, phương pháp mã hóa cá thể ảnh hưởng tính hiệu thuật toán di truyền Nó định không gian thuật toán di truyền, ảnh hưởng tính cục tính đa dạng quần thể Luận văn trình bày hai phương pháp mã hóa cây: biểu diễn trực tiếp biểu diễn gián tiếp Các phương pháp biểu diễn gián tiếp luận văn bao gồm: mã hóa vectơ đặc trưng, mã hóa số Prufer, mã hóa thiên kiến cạnh, mã hóa thiên kiến nút, mã hóa thiên kiến cạnh nút mã hóa NetKey; phương pháp mã hóa tập cạnh phương pháp biểu diễn trực tiếp tập cạnh khung Các phương pháp mã hóa gián tiếp khung sử dụng hai không gian: không gian kiểu gen (không gian cá thể mã hóa), không gian kiểu hình (không gian khung) cách ánh xạ hai không gian Trong trường hợp không gian kiểu gen lớn không gian kiểu hình phương pháp mã hóa dư thừa (mã hóa CV, mã hóa LB, mã hóa LNB, mã hóa NetKey); không gian kiểu gen kiểu hình không tạo dư thừa mã hóa Prufer Phương pháp mã hóa trực tiếp có không gian khung nên không cần ánh xạ không tạo dư thừa mã hóa Thông qua lý thuyết kết thực nghiệm cho thấy tính chất phương pháp mã hóa cá thể sau:  Giải thuật di truyền giải toán OCST với mã hóa cá thể: mã hóa CV, mã hóa Prufer, mã hóa NB, mã hóa LB, mã hóa LNB, mã hóa NetKey cho kết tương đối tốt so với phương pháp khác giải toán OCST  GA sử dụng mã hóa Prufer không dư thừa có tính hội tụ thấp  Phương pháp mã hóa véctơ đặc trưng mã hóa dư thừa thiên kiến nên không đảm bảo tính hội tụ GA  Phương pháp mã hóa LNB phụ thuộc vào giá trị P1 P2 Nếu giá trị P1 P2 nhỏ ( P1  1, P2  thiên kiến trở thành khung nhỏ MST)  Phương pháp mã hóa LB mã hóa dư thừa đồng thiên kiến ( P1  ) nên thiên kiến trở thành khung nhỏ MST  Phương pháp Mã hóa NB mã hóa dư thừa đồng thiên kiến Mặt khác, mã hóa NB biểu diễn tất khung mà biểu diễn phần nhỏ không gian lời giải có thiên kiến trở thành hình khung nhỏ MST  Phương pháp mã hóa NetKey mã hóa dư thừa đồng nhất, không thiên kiến nên cá thể GA sử dụng mã hóa NetKey không phụ thuộc vào cấu trúc khung tối ưu  Phương pháp mã hóa EgdeSet không heuristic mã hóa không dư thừa, không thiên kiến có tính cục cao nên thao tác di truyền có xu hướng tạo cá thể giống gần giống Đối với liệu thực nghiệm đề cập luận văn GA sử dụng mã hóa NetKey mã hóa LNB cho kết tốt so với các phương pháp mã hóa lại MỤC LỤC MỤC LỤC DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT DANH MỤC HÌNH DANH MỤC BẢNG PHẦN MỞ ĐẦU 10 CHƢƠNG PHÁT BIỂU BÀI TOÁN 12 1.1 Một số khái niệm sở 12 1.1.1 Định nghĩa đồ thị 12 1.1.2 Đường tính liên thông 13 1.1.3 Cây khung đồ thị 14 1.2 Bài toán tối ưu 16 1.2.1 Phát biểu toán tối ưu 16 1.2.2 Một số khái niệm 16 1.2.3 Các ký hiệu tiệm cận 17 1.2.4 Độ phức tạp tính toán toán 19 1.3 Các lớp toán tối ưu 19 1.3.1 Một số khái niệm 19 1.3.2 Lớp toán P, NP co-NP 20 1.3.3 Quy dẫn 21 1.3.4 NP-đầy đủ NP-khó 23 1.4 Bài toán khung truyền thông tối ưu 24 1.4.1 Phát biểu toán khung truyền thông tối ưu 24 1.4.2 Ứng dụng toán 27 CHƢƠNG GIẢI THUẬT DI TRUYỀN 30 2.1 Giải thuật tiến hóa 30 2.1.1 Lịch sử phát triển 30 2.1.2 Các phương pháp khác 31 2.2 Các thành phần giải thuật di truyền 34 + int fitness: giá trị thích nghi quần thể Các phương thức lớp để khởi tạo quần thể theo phương pháp mã hóa cá thể gồm: void GenerateNetKeys(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tạo cá thể theo phương pháp mã hóa NetKey void GenerateNodeBias(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tạo cá thể theo phương pháp mã hóa thiên kiến nút void GenerateLinkBias(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tạo cá thể theo phương pháp mã hóa thiên kiến cạnh void GenerateNodeLinkBias(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tạo cá thể theo phương pháp mã hóa thiên kiến cạnh nút void GenerateEdgeSet(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tạo cá thể theo phương pháp mã hóa tập cạnh void GenerateCharacVetor(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice) : tạo cá thể theo phương pháp mã hóa vectơ đặc trưng void GeneratePruferNumber(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tạo cá thể theo phương pháp mã hóa số Prufer Các phương thức tái tạo tính giá trị khung từ biểu diễn mã hóa tương ứng: double ConstructingTreeNetKey(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tái tạo tính giá trị khung từ cá thể mã hóa theo phương pháp NetKey 96 double ConsAndEvalTreeNodeBias(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tái tạo tính giá trị khung từ cá thể mã hóa theo phương pháp thiên kiến nút double ConsAndEvalTreeLinkBias(double **ppdbDistance, double **g_ppdbDemand, int iNum): tái tạo tính giá trị khung từ cá thể mã hóa theo phương pháp thiên kiến cạnh double ConsAndEvalTreeNodeLinkBias(double **ppdbDistance, double **g_ppdbDemand, int iNum): tái tạo tính giá trị khung từ cá thể mã hóa theo phương pháp thiên kiến cạnh nút double ConsAndEvalTreeEdgeSet(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tái tạo tính giá trị khung từ cá thể mã hóa theo phương pháp tập cạnh double ConsAndEvalTreeCV(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tái tạo tính giá trị khung từ cá thể mã hóa theo phương pháp vectơ đặc trưng double ConsAndEvalTreePruferNumber(double **ppdbDistance, double **g_ppdbDemand, int iNumVertice): tái tạo tính giá trị khung từ cá thể mã hóa theo phương pháp số Prufer Lớp OCSTDlg Các thuộc tính lớp OCSTDlg bao gồm: + m_txtSet: thứ tự test + m_editDataPath: đường dẫn liệu + m_editDiameter: đường kính tối đa khung + m_editPop: kích thước quần thể + m_editMaxPop: số quần thể tối đa 97 + m_editTime: thời gian thực chương trình + m_editBestTree: lời giải tốt + m_CrossoverPercent: tỷ lệ lai ghép + m_MutationPercent: tỷ lệ đột biến Đối với phương pháp mã hóa có phương thức tương ứng: void Solve (int m_editDiameter, int m_editPop, int m_editMaxPop, int iter, CBDSpanningTree *bestTree): phương thức thực giải thuật di truyền sử dụng phương pháp mã hóa cá thể tương ứng void BuildPop (CBDSpanningTree *P, int iDiameter, int iPop, int iNumVertice): khởi tạo quần thể theo phương pháp mã hóa cá thể tương ứng int Selection (CBDSpanningTree *T, int iPop): toán tử chọn lọc cá thể void Crossover (CBDSpanningTree *T, CBDSpanningTree T1, CBDSpanningTree T2, int iNumVertice): toán tử lai ghép cá thể theo phương pháp mã hóa cá thể tương ứng void Mutation (CBDSpanningTree *T, int iNumVertice): toán tử đột biến cá thể theo phương pháp mã hóa cá thể tương ứng  Hƣớng dẫn sử dụng chƣơng trình: Để bắt đầu sử dụng chương trình, người sử dụng cần nhập đường dẫn liệu khối minh họa hình 4.1 Bộ liệu phải có cấu trúc miêu tả mục 4.1.1 Chương trình thiết lập đường dẫn mặc định \\Test\Berry6.oct Sau trình đọc liệu, người sử dụng nhập giá trị kích thước quần thể số hệ tối đa khối minh họa hình 4.1 Giá trị mặc định kích thước quần thể 10 số hệ tối đa 1000 Ở khối thứ 3, người sử dụng lựa chọn phương pháp mã hóa cá thể tương ứng Phương pháp mã hóa mã hóa mặc định phương pháp mã hóa véctơ đặc trưng 98 Để bắt đầu chạy chương trình, người sử dụng cần nhập tham số cho toán tử lựa chọn cá thể, phần trăm lai ghép phần trăm đột biến Giá trị mặc định cùa toán tử lai ghép 80% toán tử đột biến 6% Sau lần thực hiện, giá khung tốt thời gian thực tương ứng hiển thị khối hình minh họa 4.1 Nếu người sử dụng muốn chương trình thực thoát khỏi hệ điều hành sau hoàn thành đánh dấu lựa chọn ô “Auto Shutdown” Hình 4.1 Giao diện chương trình thực nghiệm 4.2 Kết thực nghiệm 4.2.1 Bảng kết thực nghiệm Mỗi phương pháp mã hóa chạy 20 lần liệu để thực thống kê kết 99 Kết tính toán trình bày bảng 4.3, sử dụng ký hiệu sau:  Cbest : giá trị hàm mục tiêu phương án tốt tìm  p = (Cbest  Copt ) / Copt 100% o Copt : giá trị tối ưu  Cavg : Giá trị trung bình giá trị hàm mục tiêu phương án tốt tìm  Gap  (Cavg  Copt ) / Copt 100%  Std: Độ lệch chuẩn giá trị hàm mục tiêu phương án tốt tìm  Gen: Giá trị trung bình số hệ đạt kết tốt  Time: thời gian thực thuật toán (tính theo giây) liệu mã hóa p CV 693180 0,00 708743,60 Prufer 723349 4,35 NB 693180 LB 1155,41 38,40 0,20 723333,33 4,35 40337,57 0,00 1,00 0,00 693180,00 0,00 0,00 1,40 0,20 693180 0,00 696162,00 0,43 0,00 13,20 0,25 LNB 693180 0,00 693180,00 0,00 0,00 47,20 0,40 NetKey 693180 0,00 723654,40 4,40 1155,41 16,20 0,20 EdgeSet 693180 0,00 693180,00 0,00 0,00 23,00 0,20 CV 3431693 0,09 3555169,40 3,69 44118,51 64,40 19,00 Prufer 3698788 7,88 3698675,51 7,88 447488,46 0,00 24,00 NB 3428509 0,00 3428509,00 0,00 0,00 0,00 18,80 LB 3428509 0,00 3429145,80 0,02 0,00 44,00 19,80 LNB 3428509 0,00 3446290,80 0,52 20819,34 67,20 20,40 NetKey 3428509 0,00 3474183,60 1,33 20819,34 27,80 23,60 EdgeSet 4171078 21,66 4212014,80 22,85 28817,43 131,60 18,80 6,92 1188144,00 9,34 23457,56 148,40 274,20 CV 1161808 Gap = 6 2,25 pt Gen o Std C Copt = 3428509 Cavg Cbest P a l m e r Palmer12 Copt = 693180 P.pháp Palmer6 Bộ 100 Time Copt = 53674 (157570) Copt = 534 Copt = 16915 1125116 3,54 1125123,62 3,54 326951,30 0,00 207,40 NB 2433136 123,91 2765160,40 154,47 204987,43 87,60 230,80 LB 1102278 1,44 1128824,00 3,88 25068,35 140,40 289,20 LNB 1197978 10,24 1495898,80 37,66 33297,66 165,00 290,40 NetKey 1100356 1,26 1178238,40 8,43 28814,60 67,00 455,60 EdgeSet 4056796 273,33 4098885,20 277,20 17199,67 86,00 333,20 CV 53674 0,00 54646,60 1,81 0,00 17,00 3,20 Prufer 79437 48,00 79437,52 48,00 16186,02 0,00 20,00 NB 53674 0,00 53674,00 0,00 0,00 0,80 2,80 LB 53674 0,00 53922,40 0,46 878,23 20,20 3,20 LNB 53674 0,00 53674,00 0,00 0,00 16,80 3,20 NetKey 53674 0,00 56815,40 5,85 6321,53 31,00 3,20 EdgeSet 60217 12,19 61417,00 14,43 692,96 12,60 3,40 CV 173222 9,93 186121,20 1,81 20079,71 96,20 162,40 Prufer 259191 64,49 259186,89 64,49 68396,09 0,00 229,00 NB 157570 0,00 157570,00 0,00 0,00 23,40 181,00 LB 157570 0,00 158532,80 0,61 0,00 22,40 176,80 LNB 157570 0,00 161776,60 2,67 5009,85 40,40 193,40 NetKey 164544 4,43 183889,00 16,70 1332,90 43,60 253,40 EdgeSet 471453 199,20 510635,00 224,07 24777,02 4,80 189,60 CV 534 0,00 610,40 14,31 0,00 0,20 44,60 Prufer 579 8,43 579,02 8,43 14,76 0,00 1,00 NB 534 0,00 534,00 0,00 0,00 0,20 0,40 LB 534 0,00 534,00 0,00 0,00 0,40 0,20 LNB 534 0,00 534,00 0,00 0,00 0,60 0,40 NetKey 534 0,00 585,60 9,66 4,24 6,40 0,20 EdgeSet 534 0,00 534,00 0,00 0,00 62,60 0,20 CV 25615 51,43 33747,80 99,51 4611,75 188,40 295,00 Prufer 21931 29,65 22796,35 34,77 25092,39 0,00 248,20 NB 16915 0,00 16915,00 0,00 0,00 57,20 313,60 LB 16915 0,00 17283,00 2,18 192,33 100,80 341,20 LNB 21353 26,24 21781,40 28,77 461,03 147,60 308,20 NetKey 33693 99,19 42561,80 151,62 6221,13 53,40 599,20 EdgeSet 137435 712,50 143566,60 748,75 1702,71 1,60 331,00 CV 22638 39,11 24004,40 47,51 1665,94 133,60 704,80 Prufer 22422 37,79 21571,49 32,56 4570,74 0,00 253,13 Copt = 1627 Raidl10 Raidl20 Berry6 Berry35 Berr y35u Prufer 101 Copt = 60883 Copt = 58619 Rothfaul1 Rothfaul2 NB 21513 32,20 21513,00 32,20 0,00 0,00 362,00 LB 17480 7,42 18327,00 12,62 1267,14 166,00 1197,75 LNB 19587 20,37 22653,80 39,21 1748,68 154,20 1042,00 NetKey 17616 8,25 18556,00 14,03 193,04 83,25 1978,50 EdgeSet 22688 39,42 22881,80 40,61 118,09 1,40 1156,20 CV 77348 27,04 77348 27,04 0,00 23,20 12,60 Prufer 77364 27,07 77863 27,89 236,00 0,00 14,80 NB 77348 27,04 77348 27,04 0,00 4,60 36,80 LB 77752 27,71 78413,20 28,79 200,11 119,20 35,00 LNB 77348 27,04 77534,80 27,35 352,85 114,80 35,00 NetKey 77348 27,04 78006,60 28,13 1900,70 74,60 49,60 EdgeSet 90458 48,58 94477,80 55,18 7526,44 111,20 38,20 CV 64100 9,35 64100,00 9,35 0,00 7,80 18,80 Prufer 67481 15,12 66221 12,97 1960,00 0,00 19,20 NB 64100 9,35 64100,00 9,35 0,00 5,00 35,00 LB 64303 9,70 64866,60 10,66 53,74 114,40 32,40 LNB 64100 9,35 65938,60 12,49 2212,54 133,00 31,60 NetKey 64100 9,35 64100,00 9,35 0,00 56,40 34,40 EdgeSet 68336 16,58 77273,00 31,82 4604,68 117,00 30,40 Bảng 4.3 Bảng tổng hợp kết thực nghiệm Để làm rõ kết bảng 4.3, hình 4.2 thể lời giải tốt phương pháp mã hóa cá thể liệu; hình 4.3 thể giá trị trung bình lời giải tốt phương pháp mã hóa cá thể liệu; hình 4.4 thể giá trị Gap phương pháp mã hóa cá thể liệu hình 4.5 thể số hệ đạt kết tốt phương pháp mã hóa cá thể liệu 102 Hình 4.2 Biểu đồ giá trị tốt đạt phương pháp mã hóa liệu Hình 4.3 Biểu đồ giá trị trung bình đạt phương pháp mã hóa liệu 103 Hình 4.4 Biểu đồ giá trị Gap qua hệ phương pháp mã hóa liệu Hình 4.5 Biểu đồ hệ qua hệ phương pháp mã hóa liệu 104 4.4.2 Nhận xét kết thực nghiệm Từ bảng kết 4.3 hình 4.4-4.8, thấy rằng:  GA sử dụng mã hóa Prufer có độ lệch chuẩn cao nên tính hội tụ thấp đạt kết tối ưu liệu nhỏ  GA sử dụng mã hóa NetKey có chất lượng lời giải tốt GA sử dụng mã hóa Prufer, mã hóa CV, mã hóa EgdeSet không tốt GA sử dụng mã hóa LB, mã hóa NB mã hóa LNB liệu khác Thông qua giá trị Gap thấy lời giải GA sử dụng mã hóa NetKey không phụ thuộc vào tính chất lời giải tối ưu  GA sử dụng mã hóa CV đạt kết tốt liệu có kích thước nhỏ số thệ hệ để đạt kết tốt lớn Đối với liệu có kích thước lớn, GA sử dụng mã hóa CV có giá trị Gap nhỏ so với GA sử dụng mã hóa Prufer mã hóa EdgeSet lớn so với GA sử dụng mã hóa lại  GA sừ dụng mã hóa NB, LB LNB với giá trị P1 P2 cho chất lượng lời giải tốt so với phương pháp mã hóa lại , đặc biệt với liệu có giá trị tối ưu gần với MST (Bộ liệu Berry6, Berry35, Palmer6) Trong giá trị tốt GA sử dụng mã hóa LNB thường thuộc khoảng giá trị tốt GA sử dụng mã hóa NB LB Tuy nhiên số hệ để đạt lời giải tốt GA sử dụng mã hóa LNB lớn so với phương pháp mã hóa lại  GA sử dụng mã hóa EdgeSet không heuristic cho chất lượng lời giải tồi phương pháp lại không phụ thuộc vào tính chất giá trị tối ưu GA sử dụng mã hóa EdgeSet không heuristic có giá trị gap độ lệch chuẩn lớn so với phương pháp khác Do đó, GA sử dụng mã hóa EdgeSet có tính hội tụ thấp Do tính hội tụ thấp nên thời gian số hệ đạt lời giải tốt lớn so với phương pháp lại 105 KẾT LUẬN Bài toán khung truyền thông tối ưu dạng toán xuất cách lâu Tuy nhiên, thuộc dạng NP-khó nên giải toán thách thức nhà nghiên cứu lí thuyết tính toán Luận văn trình bày toán khung truyền thông tối ưu; hướng tiếp cận giải toán sâu nghiên cứu sử dụng giải thuật di truyền để giải toán khung truyền thông tối ưu Trong toán tử di truyền, phương pháp mã hóa cá thể ảnh hưởng tính hiệu giải thuật di truyền Nó định không gian giải thuật di truyền, ảnh hưởng tính cục tính đa dạng quần thể Luận văn trình bày hai phương pháp mã hóa cây: biểu diễn trực tiếp biểu diễn gián tiếp Các phương pháp biểu diễn gián tiếp luận văn bao gồm: mã hóa vectơ đặc trưng, mã hóa số Prufer, mã hóa thiên kiến cạnh, mã hóa thiên kiến nút, mã hóa thiên kiến cạnh nút mã hóa NetKey; phương pháp mã hóa tập cạnh phương pháp biểu diễn trực tiếp tập cạnh khung Các phương pháp mã hóa gián tiếp khung sử dụng hai không gian: không gian kiểu gen (không gian cá thể mã hóa), không gian kiểu hình (không gian khung) cách ánh xạ hai không gian Trong trường hợp không gian kiểu gen lớn không gian kiểu hình phương pháp mã hóa dư thừa (mã hóa CV, mã hóa LB, mã hóa LNB, mã hóa NetKey); không gian kiểu gen kiểu hình không tạo dư thừa mã hóa Prufer Phương pháp mã hóa trực tiếp có không gian khung nên không cần ánh xạ không tạo dư thừa mã hóa Thông qua lý thuyết kết thực nghiệm cho thấy tính chất phương pháp mã hóa cá thể sau:  Giải thuật di truyền giải toán OCST với mã hóa cá thể: mã hóa CV, mã hóa Prufer, mã hóa NB, mã hóa LB, mã hóa LNB, mã hóa 106 NetKey cho kết tương đối tốt so với phương pháp khác giải toán OCST  GA sử dụng mã hóa Prufer không dư thừa có tính hội tụ thấp  Phương pháp mã hóa véctơ đặc trưng mã hóa dư thừa thiên kiến nên không đảm bảo tính hội tụ GA  Phương pháp mã hóa LNB phụ thuộc vào giá trị P1 P2 Nếu giá trị P1 P2 nhỏ ( P1  1, P2  thiên kiến trở thành khung nhỏ MST)  Phương pháp mã hóa LB mã hóa dư thừa đồng thiên kiến ( P1  ) nên thiên kiến trở thành khung nhỏ MST  Phương pháp Mã hóa NB mã hóa dư thừa đồng thiên kiến Mặt khác, mã hóa NB biểu diễn tất khung mà biểu diễn phần nhỏ không gian lời giải có thiên kiến trở thành hình khung nhỏ MST  Phương pháp mã hóa NetKey mã hóa dư thừa đồng nhất, không thiên kiến nên cá thể GA sử dụng mã hóa NetKey không phụ thuộc vào cấu trúc khung tối ưu  Phương pháp mã hóa EgdeSet không heuristic mã hóa không dư thừa, không thiên kiến có tính cục cao nên thao tác di truyền có xu hướng tạo cá thể giống gần giống Đối với liệu thực nghiệm đề cập luận văn GA sử dụng mã hóa NetKey mã hóa LNB cho kết tốt so với các phương pháp mã hóa lại Bên cạnh kết đạt luận văn mốt số hạn chế chưa thực nghiên cứu phương pháp mã hóa cá thể khác mã hóa NetDir, mã hóa Cycle Breaking Tree Construction Routing (CB-TCR) để có so sánh tổng 107 quát Ngoài ra, chương trình thực nghiệm chưa thực điều chỉnh tham số Do hướng phát triển luận văn tiếp tục nghiên cứu thêm hướng tiếp cận giải toán OCST để so sánh đối chiếu với hướng tiếp cận sử dụng GA giải toán OCST; sử dụng GA giải toán thuộc lớp NP khác 108 TÀI LIỆU THAM KHẢO A Bookstein and S T Klein (1996), “Compression of Correlated Bit-Vectors”, Information Systems, 16 (4), pp 387-400 Bang Ye Wu and Kun-Mao Chao (2004), Spanning Trees and Optimization Problems, CRC Press, London C.C Palmer (1994), An Approach to a problem in network design using genetic algorithms, unpublished PhD thesis, Polytechnic University, Troy, NewYork C.C Palmer and A Kershenbaum (27-29 June 1994), “Representing trees in genetic algorithms”, Proceedings of the First IEEE Conference on Evolutionary Computation, pp 379-384 E Reshef (1999), Approximating minimum communication cost spanning trees and related problems, Master’s thesis, Feinberg Graduate School of the Weizmann Institute of Science, Rehovot 76100, Israel K Bala, K Petropoulos, and T E Stern (1993), “Multicasting in a linear Lightwave Network”, in Proceedings of IEEE INFOCOM’93, pp 1350–1358 Michael Affenzeller, Stefan Wagner, Stephan Winkler and Andreas Beham (2009), Genetic Algorithms and Genetic Programming – Modern Concepts and Practical Applications, CRC Press, Boca Raton, London, NewYork M.R Garey and D.S.Johnson (1979), Computers and Intractability: A Guide to the Theory of NP-Completeness, W.H.Freeman, New York James C Bean (1994), “Genetics and Random Keys for Sequencing and Optimization”, ORSA Journal on Computing, pp 154-160 10 J Gottlieb, B.A Julstrom, F Rothlauf, and G.R Raidl (2001), “Prufer Numbers: A Poor Representation of Spanning Trees for Evolutionary Search”, in Proceedings of the Genetic and Evolutionary Computation Conference (GECCO’2001), pp.343-350 11 F Rothlauf (2009), On optimal solutions for the optimal communications spanning tree problem, Operations research, vol 57, no.2, pp 413-425 12 F Rothlauf (2006), Representations for Genetic and Evolutionary Algorithms, Springer Verlag 13 G Kortsarz and D Peleg, Approximating Shallow-light Trees, in Proceedings of the 8th Symposium on Discrete Algorithms, 1997, pp 103-110 14 G Kortsarz and D Peleg, Approximating the Weight of Shallow Steiner Trees, Discrete Application Mathematics, 93, 1999, pp 265-285 109 15 C.C Palmer and A Kershenbaum, Representing Trees in Genetic Algorithms, in Proceedings of The First IEEE Conference on Evolutionary Computation, 1994, pp 379-384 16 G.R Raidl and B.A Julstrom, “A weighted coding in a genetic algorithm for the degree-constrained minimum spanning tree problem”, Proceedings of the 2000 ACM Symposium on Applied Computing, Ianice Carroll, Ernesto Damiani, Hisham Haddad and Dave Oppenheim, Eds 2000, pp 440-445, ACM Press 17 G.R Raidl and B.A Julstrom, “Edge-sets: An Effective Evolutionary Coding of Spanning Trees”, IEEE Transactions on Evolutionary Computation, 7, 2003, pp.225239 18 Nguyễn Đức Nghĩa (2008), Bài giảng Phân tích thiết kế giải thuật, NXB ĐHBK Hà Nội 19 Nguyễn Đình Thức (2000), Trí tuệ nhân tạo lập trình tiến hóa, NXB Giáo dục 20 R.L Graham and Pavol Hell (1985), “On the History of the Minimum Spanning Tree Problem”, Ann History Computing 7, pp 43-57 21 S.N Sivanandam, S.N Deepa (2008), Introduction to Genetic Algorithms, Springer- Verlag Berlin Heidelberg NewYork 22 Thomas Fischer, Peter Merz, A Memetic Algorithm for the Optimal Communication Spanning Tree Problem, 4th International Workshop on Hybrid Metaheuristics, Dortmund, Germany, October 8-9, 2007, volume 4771 of LNCS, pp 170-184 110 ... tiếp cận giải toán sâu nghiên cứu sử dụng thuật toán di truyền để giải toán khung truyền thông tối ưu Trong toán tử di truyền, phương pháp mã hóa cá thể ảnh hưởng tính hiệu thuật toán di truyền. .. quan đồ thị, khung, toán tối ưu phát biểu toán; phần hai, nêu giải thuật di truyền: từ tổng quan giải thuật di truyền đến thao tác, chiến thuật lựa chọn, thông số cho giải thuật di truyền; phần... phân tích di n dịch: tìm hiểu thuật toán di truyền nói chung, tìm hiểu toán OCST áp dụng thuật toán di truyền giải toán OCST e) Kết luận Luận văn trình bày toán khung truyền thông tối ưu; hướng

Ngày đăng: 27/07/2017, 20:34

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT

  • DANH MỤC BẢNG

  • CHƢƠNG 1. PHÁT BIỂU BÀI TOÁN

  • CHƢƠNG 2. GIẢI THUẬT DI TRUYỀN

  • CHƢƠNG 4. KẾT QUẢ THỰC NGHIỆM

  • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan