Ứng dụng thuật toán lai giải bài toán cây khung truyền thông tối ưu Ứng dụng thuật toán lai giải bài toán cây khung truyền thông tối ưu Ứng dụng thuật toán lai giải bài toán cây khung truyền thông tối ưu luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
NGUYỄN DUY HIỆP BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN DUY HIỆP NGHÀNH CNTT ỨNG DỤNG THUẬT TOÁN LAI 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 NGÀNH CƠNG NGHỆ THƠNG TIN KHĨA 2008-2010 Hà nội – 2010 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - NGUYỄN DUY HIỆP ỨNG DỤNG THUẬT TỐN LAI GIẢI BÀI TỐN CÂY KHUNG TRUYỀN THƠNG TỐI ƯU LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH 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 – 2010 Lời cảm ơn Đầu tiên xin bày tỏ biết ơn sâu sắc PGS TS Nguyễn Đức Nghĩa, thầy tận tình giảng dạy môn học chuyên ngành nhiệt tình hướng dẫn, giúp đỡ tơi hồn thành luận văn Tơi muốn bày tỏ lịng biết ơn thầy cô khoa Công nghệ Thông tin trường Đại học Bách khoa Hà Nội giảng dạy cho mơn học chun đề khóa học Cuối xin gửi lời cảm ơn sâu sắc đến gia đình, bạn bè, người ln bên cạnh giúp đỡ, động viên tơi q trình hồn thành đồ án Mặc dù có nhiều cố gắng, kiến thức thời gian hạn chế nên chắn luận văn cịn nhiều thiếu sót Tơi xin chân thành cảm ơn mong nhận ý kiến đóng góp từ thầy bạn Những góp ý xin gửi địa chỉ: Nguyễn Duy Hiệp Bộ mơn Khoa học máy tính, viện Cơng nghệ thông tin truyền thông, trường Đại học Bách Khoa Hà Nội Email: hiepnd@soict.hut.edu.vn nguyenduyhiep@gmail.com Hà Nội, ngày 31 tháng 10 năm 2010 Nguyễn Duy Hiệp Học viên cao học Lớp Công nghệ thông tin 2008 – 2010 Trường Đại học Bách Khoa Hà Nội ~1~ Lời mở đầu Việc phát triển thuật toán hiệu để giải tốn NP – khó (NP – hard) vấn đề quan tâm nhiều nhà khoa học nghiên cứu máy tính Bởi chúng thường có nhiều ứng dụng thực tiễn, ví dụ tốn người du lịch, tốn đóng thùng, toán Steiner, toán người đưa thư Trung Hoa, … Đối với toán thuật tốn giải xác thường có thời gian tính lớn độ phức tăng nhanh kích thước tốn tăng Do người ta thường sử dụng cách tiếp cận giải gần Các phương pháp giải gần thường dùng là: thuật toán xấp xỉ (approximation schemes), tìm kiếm cục (local search), phương pháp xác xuất (probabilistic methods), tính tốn tiến hóa (evolutionary computation), thuật tốn di truyền (genetic algorithm), … Luận văn tập trung vào xây dựng thuật toán di truyền lai để giải toán khung truyền thông tối ưu (Optimal Communication Spanning Tree - OCST) Đây toán đồ thị thuộc lớp NP-khó, có ứng dụng nhiều lĩnh vực thực tế thiết kế vi mạch mô hình mạng Thuật tốn đề xuất chạy thử nghiệm liệu thường dùng nhà khoa học để đánh giá thuật toán giải tốn OCST, số liệu có kích thước lớn sinh ngẫu nhiên Kết thực nghiệm cho thấy thuật toán cho kết tốt so với số số thuật toán di truyền tốt biết Những kết đạt được trình bày thành báo chấp nhận đăng hội thảo quốc tế lần thứ 26 tính tốn ứng dụng (Symposium On Applied Computing – SAC) diễn vào 21-24/3/2011 đại học Tunghai, TaiChung, Taiwan Luận văn bố cục sau : Chƣơng trình bày số kiến thức sở lý thuyết độ phức tạp tính tốn, lớp tốn NP-khó làm tảng cho chương ~2~ Chƣơng trình bày tổng quan tốn khung truyền thơng tối ưu hướng tiếp cận đề xuất để giải tốn Chƣơng trình bày sơ đồ hai giải thuật meta-heuristic gồm giải thuật di truyền giải thuật tối ưu hóa bày đàn Chƣơng đề xuất giải thuật di truyền lai dựa giải thuật di truyền chuẩn kết hợp với giải thuật tối ưu hóa bày đàn để giải tốn khung truyền thơng tối ưu Chƣơng trình bày kết thực nghiệm giải thuật di truyền lai đề xuất chương Giải thuật thực với sáu loại mã hóa khung hai phương pháp lai ghép nhằm so sánh hiệu so với giải thuật biết Kết luận hƣớng phát triển Đánh giá tổng quan lại kết thực được, hạn chế luận văn số vấn đề mở cần tiếp tục giải ~3~ Mục lục Lời cảm ơn Lời mở đầu Danh mục hình vẽ Danh mục bảng 10 Danh mục thuật ngữ tiếng Anh 11 CHƢƠNG CÁC KHÁI NIỆM CƠ BẢN 13 1.1 Thuật toán đánh giá độ phức tạp thuật toán 13 1.1.1 Khái niệm thuật toán 13 1.1.2 Đánh giá thuật toán 19 1.2 Độ phức tạp tính tốn toán 24 1.2.1 Khái niệm độ phức tạp toán 24 1.2.2 Các toán NP 27 1.3 Một số cách tiếp cận giải toán NP-khó 36 1.3.1 Phương pháp xấp xỉ 36 1.3.2 Phương pháp xác xuất 37 1.3.3 Phương pháp heuristic .38 1.3.4 Phương pháp tính tốn tiến hóa 40 CHƢƠNG BÀI TOÁN CÂY KHUNG TRUYỀN THÔNG TỐI ƢU 46 2.1 Bài tốn khung truyền thơng tối ưu 46 2.2 Một số tính chất trường hợp đặc biệt toán OCST 49 2.2.1 Bài toán MRCT 49 2.2.2 Bài tốn khung truyền thơng tối ưu tích nhu cầu (PROCT) .51 2.2.3 Bài tốn khung truyền thơng tối ưu tổng nhu cầu (SROCT) 52 2.2.4 Bài toán nhiều nguồn (Multiple Source) 52 2.3 Một số ứng dụng toán khung truyền thông 54 ~4~ 2.4 Các phương pháp tiếp cận để giải toán OCST 57 CHƢƠNG THUẬT TOÁN DI TRUYỀN VÀ TỐI ƢU HÓA BẦY ĐÀN …………… 67 3.1 Tính tốn tiến hóa 67 3.2 Giải thuật di truyền 69 3.3 Giải thuật tối ưu hóa bầy đàn 74 CHƢƠNG GIẢI THUẬT DI TRUYỀN LAI GIẢI BÀI TOÁN OCST 79 4.1 Mơ hình lai ghép đề xuất 79 4.2 Sơ đồ giải thuật đề xuất 80 4.3 Mã hóa cá thể 83 4.3.1 Mã hóa Prufer 83 4.3.2 Mã hóa NetKeys (Network Random Keys Encoding) 85 4.3.3 Mã hóa CB-TCR 87 4.3.4 Mã hóa NB (Node Biased Encoding) 90 4.3.5 Mã hóa LB (Link Biased Encoding) 91 4.3.6 Mã hóa LNB (Link and Node Biased Encoding) .92 4.4 Chọn lọc cá thể 94 4.5 Toán tử di truyền 95 4.5.1 Toán tử lai ghép 95 4.5.2 Toán tử đột biến 96 CHƢƠNG KẾT QUẢ THỰC NGHIỆM 97 5.1 Cài đặt thử nghiệm 97 5.1.1 Dữ liệu thực nghiệm 97 5.1.2 Các tham số cho thử nghiệm .99 5.2 Kết thực nghiệm 100 5.2.1 Kết test chuẩn 100 5.2.2 Kết test ngẫu nhiên 107 ~5~ 5.3 So sánh với thuật toán khác 108 5.3.1 So sánh với giải thuật tiến hóa (Sang-moon 2006) 109 5.3.2 So sánh với giải thuật di truyền, mơ tơi luyện, tìm kiếm cục (Rothlauf 2009) 111 5.3.3 So sánh với giải thuật tối ưu hóa bầy đàn (2010) 113 KẾT LUẬN 115 TÀI LIỆU THAM KHẢO 117 ~6~ Danh mục hình vẽ Hình 1-1 Minh họa thuật toán 15 Hình 1-2 Minh họa toán chọn lịch xem phim 17 Hình 1-3 Phản ví dụ thuật tốn 17 Hình 1-4 Phản ví dụ thuật tốn 17 Hình 1-5 Cận cận để đánh giá cho độ phức tạp hàm 20 Hình 1-6 Ký hiệu -lớn 21 Hình 1-7 Ký hiệu -lớn 21 Hình 1-8 Ký hiệu -lớn 22 Hình 1-9 Tốc độ tăng theo kích thước đầu vào số hàm 23 Hình 1-10 Mối quan hệ thời gian thực kích thước đầu vào số lớp hàm 24 Hình 1-11 Mối quan hệ lớp toán P, NP Co-NP 32 Hình 1-12 Sơ đồ phép quy dẫn 32 Hình 1-13 Minh họa mối quan hệ lớp toán 35 Hình 1-14 Danh sách số tốn NP-khó sơ đồ quy dẫn chúng 35 Hình 1-15 Đồ thị vơ hướng đồ thị có hướng 41 Hình 1-16 Danh sách kề ma trận kề 44 Hình 2-1 Minh họa cách tính giá khung toán OCST 47 Hình 2-2 Minh họa tốn SROCT PROCT 48 Hình 2-3 Các biến thể toán khung truyền thơng tối ưu tổng qt 49 Hình 2-4 Minh họa cách tính độ trễ cặp đỉnh 50 Hình 2-5 Một khung 3-star, B,C,E nút A,D,E,F,G,H,I nút 51 Hình 2-6 Cây khung 1-star, với B nút nút lại nút 51 Hình 2-7 Thiết kế mạng truyền thông 56 Hình 2-8 Thủ tục xây dựng – tree building 60 ~7~ Hình 2-9 Thủ tục cải tiến – tree improvement 61 Hình 2-10 Cấu trúc thuật tốn Memetic 64 Hình 3-1 Mơ hình thuật tốn tiến hóa 68 Hình 3-2 Minh họa Allele, Gen nhiễm sắc thể 69 Hình 3-3 Sơ đồ chung thuật toán di truyền 71 Hình 3-4 Bài tốn tối ưu có nhiều cực trị 73 Hình 3-5 Mơ tả giải thuật PSO 76 Hình 3-6 Mơ tả giải thuật PSO 78 Hình 4-1 Sơ đồ giải thuật di truyền lai đề xuất 82 Hình 4-2 Giải thuật mã hóa khung thành chuỗi Prufer 83 Hình 4-3 Cây khung mã hóa chuỗi Prufer 2565 84 Hình 4-4 Giải thuật giải mã khung từ chuỗi Prufer 85 Hình 4-5 Giải thuật xây dựng khung từ chuỗi NetKeys 86 Hình 4-6 Cây thu theo mã hóa NetKeys 87 Hình 4-7 Giải thuật xây dựng khung từ chuỗi CB-TCR 88 Hình 4-8 Đồ thị minh họa cho mã hóa CB-TCR 89 Hình 4-9 Cây khung sinh từ chuỗi CB-TCR (1,5,2,1,4,3,2,5) 90 Hình 4-10 Giải thuật Prim 91 Hình 4-11 Cây khung thu từ mã hóa LNB 94 Hình 4-12 Mơ tả phương pháp chọn lọc theo vịng quay Roulette 94 Hình 4-13 Các bước phương pháp chọn lọc theo vịng quay Roulette 95 Hình 4-14 Minh họa phương pháp lai ghép điểm cắt 95 Hình 4-15 Minh họa phương pháp lai ghép đồng 96 Hình 5-1 So sánh tốc độ hội tụ sử dụng hai mã hóa CB-TCR NB 105 Hình 5-2 So sánh kết tìm hai tốn tử lai ghép Raidl100 106 ~8~ thu so với phương pháp One-Point Hơn phương pháp lai ghép Uniform cho tốc độ hội tụ nhanh Thuật toán dùng mã hóa NB phương pháp lai ghép Uniform hội tụ trung bình sau 3365.2 hệ cịn dùng One-Point phải trải qua trung bình 5109 hệ, Raidl100 9000000 Giá trị tốt tìm 8000000 7000000 6000000 5000000 4000000 One-point 3000000 Uniform 2000000 1000000 Prufer CB-TCR NetKeys NB LNB LB Mã hóa cá thể Hình 5-2 So sánh kết tìm hai toán tử lai ghép Raidl100 12000 Số hệ hội tụ 10000 8000 6000 One-Point 4000 Uniform 2000 Prufer CB-TCR NetKeys NB LNB LB Mã hóa cá thể Hình 5-3 So sánh tốc độ hội tụ giải thuật với hai loại lai ghép Raidl100 ~ 106 ~ Mặc dù thời gian tính tốn lý thuyết phương pháp lai ghép Uniform lớn so với phương pháp lai ghép One-Point Nhưng có tốc độ hội tụ nhanh nên sử dụng phương pháp lai ghép Uniform yêu cầu thời gian so với One-Point 5.2.2 Kết test ngẫu nhiên Khác với việc thử nghiệm test chuẩn, thử nghiệm thứ liệu sinh ngẫu nhiên có ba phương pháp mã hóa CB-TCR, NB LNB, phương pháp lai ghép Uniform Vì hai test có kích thước lớn nên điều kiện dừng có thay đổi dừng sau 1000 vòng hệ ghi lại chi phí khung tìm vị trí hệ chẵn trăm từ tới 1000 Từ kết thu đồ thị tốc độ hội tụ hai test Chi phí đơn vị triệu với ba loại mã hóa xây dựng sau: 70 60 50 40 CB-TCR 30 NB LNB 20 10 100 200 300 400 500 600 700 800 900 1000 Số hệ Hình 5-4 So sánh tốc độ hội tụ giải thuật test NE-RAND-200 ~ 107 ~ đơn vị triệu 190 170 Chi phí 150 130 CB-TCR NB 110 LNB 90 70 50 100 300 500 700 900 Số hệ Hình 5-5 So sánh tốc độ hội tụ giải thuật test E-RAND-200 Dựa vào bảng kết NE-RAND-200 E-RAND-200 hình V-4 V-5 ta nhận thấy rõ ràng mã hóa NB cho kết tốt từ bước khởi tạo ban đầu đạt kết từ hệ thứ 300 Trong CB-TCR cho tốc độ hội tụ chậm nhiều chất lượng lời giải xa so với NB Như thấy sáu phương pháp mã hóa áp dụng với giải thuật di truyền lai đề xuất, NB phương pháp phù hợp để thực nghiệm với test có kích thước lớn 5.3 So sánh với thuật tốn khác Kết chạy chương trình liệu chuẩn cho thấy hiệu giải thuật đề xuất so sánh với giải thuật meta-heuristic áp dụng để giải toán trước Các giải thuật sử dụng để so sánh bao gồm: giải thuật tiến hóa [37](Sang-moon 2006 ), giải thuật di truyền chuẩn [39](Rothlauf 2009), giải thuật mô tơi luyện [39] (Rothlauf 2009), giải thuật tối ưu hóa bày đàn [2] (Anh Tuan Hoang 2010) ~ 108 ~ 5.3.1 So sánh với giải thuật tiến hóa (Sang-moon 2006) Giải thuật tiến hóa Sang-moon dựa mơ hình giải thuật di truyền chuẩn Giải thuật sử dụng mã hóa CB-TCR phương pháp lai ghép ANX kèm Sang-moon đề xuất Giải thuật di truyền lai đồ án cài đặt sử dụng mã hóa CB-TCR không sử dụng lai ghép ANX mà cải tiến hai phương pháp lai ghép chuẩn điểm cắt đồng cho phù hợp với mã hóa CB-TCR Phương pháp lai ghép ANX có nhược điểm lớn so với hai phương pháp lai ghép chuẩn đòi hỏi độ phức tạp tính tốn lớn Điều phần ảnh hưởng đến thời gian tính tốn giải thuật mà Sang-moon đề xuất Bảng 5-5 So sánh độ lệch kết tìm so với kết biết % (độ lệch) Bộ test Berry6 Berry35 Berry35u Palmer6 Palmer12 Palmer24 Raidl10 Raidl20 Raidl50 Raidl75 Raidl100 Sang-moon (CB-TCR) HGA (CB-TCR) 0 0.001 0 0.01 0 - 0 0 0 0 0.14 0.75 HGA (NB) 0 19.3 0 0 0.05 0 (dấu – có nghĩa khơng có kết liệu tương ứng) HGA (CB-TCR) HGA (NB) kết chương trình chạy hai mã hóa CB-TCR NB Giải thuật tiến hóa Sang-moon coi giải thuật cho kết tốt chạy test chuẩn Tuy nhiên thời gian đòi hỏi cho giải ~ 109 ~ thuật lại lớn, Sang-moon không chạy thực nghiệm với hai test lớn Raidl75 Raidl100 Bảng so sánh thời gian tìm kết tốt giải thuật đề xuất giải thuật tiến hóa Sang-moon Bảng 5-6 So sánh thời gian tìm kết tốt Thời gian tính tốn (giây) Bộ test Sang-moon (CB-TCR) HGA (CB-TCR) HGA (NB) Berry6 Berry35 Berry35u Palmer6 3285.65 0 35 123.7 0 2.3 124.7 Palmer12 73 1.7 Palmer24 381.15 10 13.2 Raidl10 0.2 0.2 Raidl20 2.9 4.1 0.6 Raidl50 4546.65 218 190 Raidl75 - 861.5 749.6 Raidl100 1507.4 (dấu – có nghĩa khơng có kết liệu tương ứng) 1595.6 Giải thuật Sang-moon chạy thực nghiệm máy tính cấu hình PenIV 1.6 GHz RAM 512MB Cấu hình máy chạy giải thuật HGA PenIV 2.6 GHz RAM 512MB Sự chênh lệch có ảnh hưởng đến việc so sánh thời gian tính tốn hai chương trình ta nhận vượt trội thời gian giải thuật HGA so với giải thuật Sang-moon Điển hình liệu Palmer24 giải thuật HGA cho kết tốt u cầu thời gian tính tốn nhỏ khoảng 30 lần so với giải thuật Sangmoon ~ 110 ~ Ngồi giải thuật HGA cịn thể ưu tốc độ hội tụ hay số lượng hệ để giải thuật tìm lời giải tốt Kết so sánh thể bảng V-7 Bảng 5-7 So sánh số lượng hệ tối thiểu để tìm kết tốt Tốc độ hội tụ Bộ test Berry6 Berry35 Berry35u Palmer6 Palmer12 Palmer24 Raidl10 Raidl20 Raidl50 Raidl75 Sang-moon (CB-TCR) HGA (CB-TCR) HGA (NB) 0.5 21.6 1052 45.4 10000 2.25 4448.4 1.8 2432.6 949.9 294.2 5.1 4569.3 630.5 586 10.45 37.65 5000 49.9 328.5 4604.6 0.7 39.5 3365.2 - 7871.9 4506.7 Raidl100 8934.6 (dấu – có nghĩa khơng có kết liệu tương ứng) 3365.2 5.3.2 So sánh với giải thuật di truyền, mơ tơi luyện, tìm kiếm cục (Rothlauf 2009) Trong báo Rothlauf [39] thực cài giải thuật di truyền (GA-ESH), giải thuật mô luyện (Simulated Annealing - SA) giải thuật tìm kiếm cục (Local Search - LS) sử dụng ba phương pháp khởi tạo khác Các phương pháp gồm có khởi tạo ngẫu nhiên (Rnd), khởi tạo dựa khung nhỏ (MST) khởi tạo sử dụng giải thuật xấp xỉ Peleg Reshef (PeRe) Mục đích việc so sánh dựa thực nghiệm nhằm chứng minh tương đồng khung tối ưu toán ~ 111 ~ OCST khung nhỏ Kết cho thấy việc khởi tạo sử dụng khung nhỏ cho chất lượng lời giải tốt giải thuật xấp xỉ PeRe, coi giải thuật xấp xỉ tốt cho liệu Euclidean Dưới bảng so sánh kết giải thuật HGA (sử dụng hai mã hóa CB-TCR NB) với giải thuật SA, LS, GA-ESH test liệu chuẩn (bộ test Berry35u không Rothlauf sử dụng) Riêng hai giải thuật SA LS, lời giải ban đầu khởi tạo theo hai phương pháp nhắc đến MST PeRe Bảng 5-8 So sánh với số giải thuật meta-heuristic Bộ test Palmer6 Palmer12 Palmer24 Raidl10 Raidl20 Raidl50 Raidl75 Raidl100 Khởi tạo SA LS MST 698644 699740 PeRe 700927 697951 MST 3579384 3498458 PeRe 3580330 3502914 MST 1098379 1092353 PeRe 1103834 1086615 MST 54762 53699 PeRe 54796 53674 MST 158983 157570 PeRe 160943 160578 MST 828780 811098 PeRe 890082 883483 MST 2042603 1852905 PeRe 2370276 2303405 MST 2713040 2619256 ~ 112 ~ GA-ESH HGA HGA (NB) (CB-TCR) 693180 693180 693180 3623253 3429509 3429509 1250073 1086656 1086656 55761 53674 53674 158974 157570 157570 880927 807272 806864 2003433 171491 1719849 2935381 2561543 2580665 Berry6 Berry35 PeRe 2941064 2959953 MST 534 534 PeRe 534 534 MST 21818 16915 PeRe 21563 20777 534 534 534 16195 16195 16195 Bảng so sánh cho thấy hầu hết liệu chuẩn giải thuật HGA sử dụng hai loại mã hóa CB-TCR NB cho kết tốt giải thuật SA, LS GAESH Có thể thấy sử dụng phương pháp xấp xỉ để tạo lời giải ban đầu chất lượng lời giải hạn chế Do cần có phương thức cải tiến giải thuật truyền thống đạt kết tốt 5.3.3 So sánh với giải thuật tối ƣu hóa bầy đàn (2010) Giải thuật tối ưu hóa bầy đàn (PSO) giải tốn OCST ba tác giả Anh Tuan Hoang, Vinh Trong Le, Nhu Gia Nguyen [2] đề xuất gần cho kết khả quan so sánh với giải thuật di truyền chuẩn Tuy nhiên thông kê thời gian chất lượng lời giải cho thấy HGA cho kết vượt trội Giống Sang-moon giải thuật PSO chạy với test chuẩn có kích thước nhỏ 50 Dưới bảng so sánh kết giải thuật HGA giải thuật PSO giải toán OCST ~ 113 ~ Bảng 5-9 So sánh với giải thuật tối ưu hóa bầy đàn Chi phí Bộ test Berry6 Best known Thời gian (giây) HGA PSO (CB-TCR) HGA PSO (CB-TCR) 534 534 534 4.6 0.5 Berry35 16915 - 16915 - 1052 Palmer6 693180 693180 693180 4.1 Palmer12 3428509 3428509 3428509 22 1.7 Palmer24 1086656 1138360 1086656 143 10 Raidl10 53674 53674 53674 14 0.2 Raidl20 157570 157570 157570 87.3 4.1 Raidl50 806864 826499 806864 1177 218 (dấu – có nghĩa khơng có kết liệu tương ứng) Giải thuật PSO tác giả cài đặt ngôn ngữ C++ máy tính có cấu hình: AMD AthonTM 64X2 Dual Core 2.3GHz, RAM 2GB Giải thuật HGA cài đặt C++ máy PenIV 2.4GHz, RAM 512MB Rõ ràng có ưu cấu hình máy chạy chương trình, PSO tỏ hiệu so với HGA mặt tốc độ tính tốn chất lượng lời giải ~ 114 ~ KẾT LUẬN Với mục đích luận văn tìm hiểu kỹ thuật tính tốn tiến hóa, từ để áp dụng giải tốn NP-khó Luận văn hồn thành cơng việc sau: Tìm hiểu kỹ thuật tính tốn tiến hóa Tìm hiểu tốn khung truyền thơng tối ưu, phương pháp có để giải tốn Từ đề xuất thuật tốn áp dụng kỹ thuật tính tốn tiến hóa để giải tốn Luận văn đề xuất giải thuật di truyền lai dựa mơ hình giải thuật di truyền chuẩn kết hợp với ý tưởng giải thuật tối ưu hóa bầy đàn giải tốn khung truyền thơng tối ưu Ý tưởng đề xuất kết hợp thông tin khứ cá thể để hỗ trợ trình tạo hệ thuật toán di truyền Việc lưu trữ thơng tin q khứ cá thể bảo tồn gen tốt tìm thấy hệ trước kết hợp sử dụng thông tin việc tạo quần thể Sáu phương pháp mã hóa khung thơng dụng, số phương pháp lai ghép thuật toán di truyền gốc kiểm tra phần thử nhiệm thuật toán Kết thực nghiệm 11 test chuẩn lấy từ [32] cho thấy giải thuật đề xuất tạo lời giải tối ưu với 10 test có có độ sai lệch lời giải tốt tìm so với lời giải tối ưu 1% Chất lượng lời giải so sánh với giải thuật xấp xỉ metaheuristic đề xuất gần để giải toán tốt đáng kể Hơn nữa, tốc độ hội tụ thời gian tính tốn giải thuật điểm mạnh so sánh với số giải thuật đề xuất Những kết cho thấy giải thuật di truyền lai hướng tiếp cận tốt việc giải toán khung đặc biệt với toán khung truyền thông tối ưu ~ 115 ~ Mặc dù lượng công việc hoàn thiện nhiều nhiên cịn có nhiều hướng phát triển cịn chưa xét đến như: Việc khởi tạo quần thể thuật toán khởi tạo ngẫu nhiên, ưu điểm làm cho quần thể ban đầu đa dạng đồng thời làm tăng thời gian thực thuật tốn Vì cải thiện hiệu thuật tốn cách kết hợp thêm số phương pháp khởi tạo quần thể heuristic khác sử dụng MST, khởi tạo khung hình sao, hay sử dụng thuật tốn gần để khởi tạo (chẳng hạn thuật toán R K Ahuja V V S Murty) Thời gian thực thuật tốn cịn lớn liệu lớn Một hướng cải thiện thời gian thực kết hợp thêm kỹ thuật localsearch để tăng tốc độ hội tụ thuật tốn Ví dụ sử dụng kỹ thuật phần cải thiện thuật toán R K Ahuja V V S Murty đề xuất để cải thiện kết sau hệ thuật toán di truyền Một hướng khác để cải thiện thời gian thực thuật toán tiến hành song song hóa thuật tốn Một ý tưởng ta chia quần thể ban đầu thành quần thể nhỏ để chạy máy riêng, sau số lượng k hệ tiến hành trao đổi thông tin quần thể Kết nghiên cứu luận văn viết thành báo ―New Hybrid Genetic Algorithm for Solving Optimal Communication Spanning Tree Problem‖, chấp nhận đăng hội thảo quốc tế tính tốn ứng dụng lần thứ 26 (Symposium On Applied Computing – SAC) Với thực luận văn, mong đóng góp phần vào hướng nghiên cứu tính tốn tiến hóa nghiên cứu giải toán khung truyền thông tối ưu ~ 116 ~ TÀI LIỆU THAM KHẢO [1] Alon, N., Karp, R M., Peleg, D., & West, D A (1995), graph theoretic game and its application to the k-server problem SIAM Journal on Computing, pp.78-100 [2] Anh Tuan Hoang, Vinh Trong Le and Nhu Gia Nguyen (2010), ―A Novel Particle Swarm Optimization-Based Algorithm for the Optimal Communication Spanning Tree Problem‖, Second International Conference on Communication Software and Networks [3] R K Ahuja and V V S Murty (August 1987), ―Exact and Heuristic Algorithms for the Optimum Communi-cation Spanning Tree Problem‖, Transportation Science, 21(3), pp.163–170 [4] S Arora, C Lund, R Motwani, M Sundan, and M Szegedy (1998), ―Proof varification and the hardness of approximation problems,‖ Colloquium on Computational Complexity Report TR98-008, Univ of Trier [5] Bartal, Y (1996), Probabilistic approximation of metric spaces and its algorithmic applications In Proc 37th IEEE Symp on Foundations of Computer Science, pp 184-193 [6] Bartal, Y (1998), On approximating arbitrary metrics by tree metrics In Proc 30th Anual ACM Symp on Theory of Computer Science, pp 161-168 [7] J.C Bean (1994), ―Genetic algorithms and random keys for sequencing and optimization‖, ORSA J Computing, vol.6, no.2, pp.154–160 [8] D E Boyce, A Farhi and R.Weischedel (1973), ―Optimal Network Problem, A Branch and Bound Algorithm”, Environ Plan 5, pp 519-533 [9] Charikar, M., Chekuri, C., Goel, A., Guha, S., & Plotkin, S (1998, November), ―Approximating a nite metric by a small number of tree metrics‖ In Proc 39th IEEE Symp on Foundations of Computer Science, pp 111-125 [10] Nguyễn Ngọc Dương (2009), Luận văn tốt nghiệp cao học, Trường đại học Bách Khoa Hà Nội [11] R Dionne and M Florian (1979), ―Exact and Approximate Algorithms for Optimal Network Design, Networks‖, pp 37-59 ~ 117 ~ [12] T Fischer (2007), ―Improved Local Search for Large Optimum Communication Spanning Tree Problem”, MIC'2007-7th Metaheuristics International Conference [13] G Gallo (1981), ―A new Branch and Bound Algorithm for the Network Design Problem”, Report L 81-1, Instituto Di Elaborazione Dell Informazione, Pisa, Italy [14] Garey,M.R., Johnson, D.S (1979), ―Computers and Intractability: A Guide to the Theory of NP-Completeness”, W H Freeman, San Francisco, CA, USA [15] M Gen and R Chen (1997), Genetic Algorithms and Engineering Design, Wiley [16] J Gottlieb, B.A Julstrom, G.R Raidl, and F Rothlauf (2000), ―Prufer numbers: A poor representation of spanning trees of evolutionary search‖, Working Papers in Information Systems, Univ of Bayreuth [17] Goldberg, D E (1989), Genetic algorithms in search optimization and machine learning, Reading, MA: Addison-Wesley [18] H H Hoang (1973), ―A Computational Approach to Selection of an Optimal Network‖, Mgmt Sci 19, pp 488-498 [19] Holland, J H (1975), Adaptation in Natural and Artificial Systems, University of MichiganPress, Ann Arbor, MI [20] Johnson, D S., Lenstra, J K., & Kan, A H G R (1978), ―The complexity of the network design problem‖ Networks, , pp.279-285 [21] Kennedy, J., and Eberhart, R C (1995), ―Particle swarm optimization‖, Proc IEEE International Conference on Neural Networks (Perth, Australia), IEEE Service Center, Piscataway, NJ, IV, pp.1942-1948 [22] Nguyễn Đức Nghĩa (2004), Bài giảng chuyên đề phân tích thiết kế thuật toán, trường đại học Bách Khoa Hà Nội [23] Nguyễn Đức Nghĩa (2008), Bài giảng môn cấu trúc liệu giải thuật, trường đại học Bách Khoa Hà Nội [24] C.C Palmer and A KershenBaum (1995), ―An approach to a problem in network design using genetic algorithms‖, Networks, vol.26, pp.151–163 [25] C.H Papadimitriou and M Yannakakis (1991), ―Optimization, approximation, and complexity classes,‖ J Comput Syst Sci., vol.43, pp.425–440 ~ 118 ~ [26] C Papadimitriou and M Yannakakis (1988), ―Optimization, approximation, and complexity classes”, In STOC ‘88: Proceedings of the twentieth annual ACM symposium on Theory of computing, pp 229–234, New York, NY, USA, ACM Press [27] Peleg, D (1997), ―Approximating minimum communication spanning trees‖ Proc 4th Colloq on Structural Information and Communication Complexity, Ascona, Switzerland [28] Peleg, D., & Reshef, E (1998), Deterministic polylog approximation for minimum communication spanning trees Lecture Notes in Computer Science, 1443 , 670-682 [29] C Tzoppe, F Rothlauf, and H.J Pesch (Jan 2004), ―The edge-set encoding revisited: On the bias of a direct representation for trees‖ Working Paper in Information Systems, Univ of Mannheim [30] F Rothlauf, J Gerstacker, and A Heinzl (2003), ―On the optimal communication spanning tree problem‖ Working Paper 10/2003, Univ of Mannheim [31] F Rothlauf (2009), ―On optimal solutions for the optimal communication spanning tree problem”, Operation Research, Vol 57, No 2, pp 413-425 [32] F Rothlauf (2006), Representations for Genetic and Evolutionary Algorithms, 2nd edition, Springer [33] F Rothlauf, D.E Goldberg, and A Heinzl (2002), ―Network random keys—A tree network representation scheme for genetic and evolutionary algorithms‖, Evol Comput., vol.10, no.1, pp.75–97 [34] Palmer, C C and A KersheNBaum (1994), ―Representing trees in genetic algorithms‖, In Proceedings of the First IEEE Conference on Evolutionary Computation, Volume 1, Piscataway, NJ, pp 379–384 [35] Raidl, G R and B A Julstrom (2000), ―A weighted coding in a genetic algorithm for the degree-constrained minimum spanning tree problem‖, In J Carroll, E Damiani, H Haddad, and D Oppenheim (Eds.), Proceedings of the 2000 ACM Symposium on Applied Computing, pp 440–445 [36] Reshef, E (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 ~ 119 ~ [37] Sang-Moon SOAK (2006), ―A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem‖, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, E89-A(10),pp.2882-2893 [38] Steven S Skiena (2008),The Algorithm Design Manual, Second Edition, Springer- Verlag London Limited [39] Steitz Wolfgang, F Rothlauf (2009), ―New insights into the OCST problem: Integrating node degrees and their location in the graph‖, GECCO 2009 [40] T C Hu (1974), ―Optimum Communication Spanning Tree Problem‖, SIAM J Comput 3, pp 188-195 [41] Thomas Fischer, Peter Merz (October 2007), ―A Memetic Algorithm for the Optimum Communication Spanning Tree Problem‖ 4th International Workshop on Hybrid Metaheuristcs [42] Wu, B Y., Lancia, G., Bafna, Y., Chao, K M., Ravi, R., & Tang, C Y (1998, January), A polynomial time approximation schem for minimum routing cost spanning trees In Proc 9th ACM-SIAM Symp on Discrete Algorithms, pp 21-32 [43] Xiaodong et al (2006), ―A hybrid algorithm based on Particle Swarm Optimization”, ~ 120 ~ ... SROCT Cây khung truyền thông tối ưu Cây khung định tuyến tối thiểu Cây khung truyền thơng tích nhu cầu Cây khung truyền thơng tổng nhu cầu p-Source Cây khung truyền thông tối OCT MAST ưu p nguồn Cây. .. CHƢƠNG BÀI TỐN CÂY KHUNG TRUYỀN THƠNG TỐI ƢU Chương trình bày tốn khung truyền thơng tối ưu, biến thể tốn, ứng dụng toán, cách tiếp cận để giải toán kết đạt 2.1 Bài tốn khung truyền thơng tối ƣu Bài. .. khung truyền thông tối ưu hướng tiếp cận đề xuất để giải toán Chƣơng trình bày sơ đồ hai giải thuật meta-heuristic gồm giải thuật di truyền giải thuật tối ưu hóa bày đàn Chƣơng đề xuất giải thuật