Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 143 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
143
Dung lượng
3,43 MB
Nội dung
i BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI PHAN TẤN QUỐC CÁC THUẬT TOÁN GẦN ĐÚNG GIẢI BÀI TOÁN CÂY KHUNG VỚI CHI PHÍ ĐỊNH TUYẾN NHỎ NHẤT LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH Hà Nội –2015 ii BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI PHAN TẤN QUỐC CÁC THUẬT TOÁN GẦN ĐÚNG GIẢI BÀI TOÁN CÂY KHUNG VỚI CHI PHÍ ĐỊNH TUYẾN NHỎ NHẤT Chuyên ngành: Khoa học máy tính Mã số: 62480101 LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Nguyễn Đức Nghĩa Hà Nội –2015 i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nghiên cứu được trình bày trong luận án là hoàn toàn trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. GIẢNG VIÊN HƯỚNG DẪN NGHIÊN CỨU SINH PGS.TS Nguyễn Đức Nghĩa Phan Tấn Quốc ii LỜI CẢM ƠN Tôi xin trân trọng cảm ơn thầy Nguyễn Đức Nghĩa đã nhiệt tình hướng dẫn tôi học tập, nghiên cứu và thực hiện luận án này. Tôi xin trân trọng cảm ơn lãnh đạo và các chuyên viên Viện Công nghệ Thông tin và Truyền thông, Viện Đào tạo Sau Đại học - trường Đại học Bách khoa Hà Nội đã quan tâm, hỗ trợ tôi trong quá trình tôi làm nghiên cứu sinh tại Trường. Tôi xin trân trọng cảm ơn các thầy cô ở Bộ môn Khoa học máy tính Viện Công nghệ Thông tin và Truyền thông trường Đại học Bách khoa Hà Nội đã giúp đỡ tôi trong hơn 5 năm làm nghiên cứu sinh tại Bộ môn. Các thầy cô đã nhiệt tình hướng dẫn tôi thực hiện các học phần tiến sĩ, các chuyên đề tiến sĩ, tiểu luận tổng quan; tham dự các buổi seminar định kỳ, các buổi bảo vệ luận án tiến sĩ các cấp và có những góp ý quý báu để tôi hoàn thiện luận án này. Tôi xin trân trọng cảm ơn các thầy cô trong và ngoài trường đã tham gia đọc và nhận xét luận án ở các cấp Bộ môn, cấp Cơ sở, cấp phản biện độc lập, cấp Trường; đã cho tôi những ý kiến quý báu để tôi hoàn thiện luận án này. Trân trọng cảm ơn Ban Giám hiệu trường Đại học Sài Gòn, các đồng nghiệp tại khoa Công nghệ Thông tin trường Đại học Sài Gòn và gia đình đã tạo điều kiện và giúp đỡ tôi trong thời gian tôi làm nghiên cứu sinh. Hà Nội, tháng 5-2015 Tác giả luận án Phan Tấn Quốc iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT vii DANH MỤC CÁC BẢNG ix DANH MỤC CÁC HÌNH VẼ xi MỞ ĐẦU 1 Chương 1. TỔNG QUAN 5 1.1.BÀI TOÁN MRCST 5 1.1.1.Một số định nghĩa 5 1.1.2.Thuật toán tính chi phí định tuyến của cây khung 7 1.1.3.Đánh giá chi phí định tuyến của cây khung 9 1.2.ỨNG DỤNG 11 1.2.1.Ứng dụng của bài toán MRCST trong lĩnh vực thiết kế mạng 11 1.2.2.Ứng dụng của bài toán MRCST trong lĩnh vực tin sinh học 11 1.3.CÁC NGHIÊN CỨU LIÊN QUAN BÀI TOÁN MRCST 12 1.3.1.Thuật toán giải đúng 12 1.3.2.Thuật toán gần đúng cận tỉ lệ 13 1.3.3.Thuật toán heuristic 16 1.3.4.Thuật toán metaheuristic 18 1.3.5.Danh sách các thuật toán giải bài toán MRCST hiện biết 25 1.4.TIÊU CHÍ ĐÁNH GIÁ THUẬT TOÁN 26 1.5.HỆ THỐNG DỮ LIỆU THỰC NGHIỆM CHUẨN 29 1.5.1.Đồ thị đầy đủ Euclid 30 1.5.2.Đồ thị đầy đủ ngẫu nhiên 30 1.5.1.Đồ thị thưa 31 1.6.KHẢO SÁT THỰC NGHIỆM CÁC THUẬT TOÁN GIẢI BÀI TOÁN MRCST 32 1.6.1.Cấu hình máy tính thực nghiệm các thuật toán 32 1.6.2.Chất lượng lời giải 32 1.6.3.Thời gian tính 34 1.6.4.Hình vẽ minh họa so sánh chất lượng của các thuật toán hiện biết 36 iv 1.7.KẾT LUẬN CHƯƠNG 1 37 Chương 2. THUẬT TOÁN TÌM KIẾM LEO ĐỒI 39 2.1.CÂY KHUNG LÂN CẬN 39 2.2.THUẬT TOÁN HCSRI 40 2.2.1.Ý tưởng thuật toán HCSRI 40 2.2.2.Sơ đồ thuật toán HCSRI 41 2.2.3.Độ phức tạp của thuật toán HCSRI 42 2.3.THUẬT TOÁN HCSIR 42 2.3.1.Ý tưởng thuật toán HCSIR 42 2.3.2.Sơ đồ thuật toán HCSIR 43 2.3.3.Độ phức tạp của thuật toán HCSIR 44 2.4.THỰC NGHIỆM VÀ ĐÁNH GIÁ 45 2.4.1.Môi trường thực nghiệm 45 2.4.2.Tham số thực nghiệm 45 2.4.3.Chất lượng lời giải 45 2.4.4.Thời gian tính 51 2.4.5.Hình vẽ minh họa chất lượng HCSRI, HCSIR với các thuật toán khác 53 2.5.KẾT LUẬN CHƯƠNG 2 55 Chương 3. THUẬT TOÁN DI TRUYỀN 56 3.1.THUẬT TOÁN GST 56 3.1.1.Tạo quần thể ban đầu 56 3.1.2.Phép lai 57 3.1.3.Phép đột biến 60 3.1.4.Phép chọn lọc 62 3.1.5.Sơ đồ thuật toán GST 63 3.1.6.Độ phức tạp của thuật toán GST 64 3.2.THỰC NGHIỆM VÀ ĐÁNH GIÁ 64 3.2.1.Môi trường thực nghiệm 64 3.2.2.Tham số thực nghiệm 65 3.2.3.Chất lượng lời giải 65 3.2.4.Thời gian tính 69 3.2.5.Hình vẽ minh họa chất lượng thuật toán GST với các thuật toán khác 70 3.3.KẾT LUẬN CHƯƠNG 3 73 Chương 4. THUẬT TOÁN TÌM KIẾM TABU 74 v 4.1.THUẬT TOÁN TST 74 4.1.1.Ý tưởng và một số khái niệm của thuật toán tìm kiếm Tabu 74 4.1.2.Thuật toán TST tìm bước chuyển tốt nhất 75 4.1.3.Thuật toán TST cập nhật danh sách Tabu 76 4.1.4.Chiến lược đa dạng hóa lời giải của thuật toán TST 76 4.1.5.Sơ đồ của thuật toán TST 77 4.1.6.Độ phức tạp của thuật toán TST 79 4.2.THỰC NGHIỆM VÀ ĐÁNH GIÁ 79 4.2.1.Môi trường thực nghiệm 79 4.2.2.Tham số thực nghiệm 79 4.2.3.Chất lượng lời giải 80 4.2.4.Thời gian tính 84 4.2.5.Hình vẽ minh họa chất lượng thuật toán TST với các thuật toán khác 86 4.3.KẾT LUẬN CHƯƠNG 4 88 Chương 5. THUẬT TOÁN BẦY ONG 89 5.1.THUẬT TOÁN BẦY ONG CƠ BẢN 89 5.2.THUẬT TOÁN BST 91 5.2.1.Tạo quần thể ban đầu 91 5.2.2.Phân nhóm các cá thể 92 5.2.3.Tìm cây khung lân cận 93 5.2.4.Chiến lược đa dạng hóa lời giải 95 5.2.5.Sơ đồ của thuật toán BST 96 5.2.6.Độ phức tạp của thuật toán BST 98 5.3.THỰC NGHIỆM VÀ ĐÁNH GIÁ 98 5.3.1.Môi trường thực nghiệm 98 5.3.2.Tham số thực nghiệm 98 5.3.3.Chất lượng lời giải 99 5.3.4.Thời gian tính 104 5.3.5.Hình vẽ minh họa chất lượng thuật toán BST với các thuật toán khác 106 5.3.6.Hình vẽ minh họa độ lệch chuẩn của các thuật toán 109 5.4.KẾT LUẬN CHƯƠNG 5 111 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 112 KẾT LUẬN 112 HƯỚNG PHÁT TRIỂN 113 vi DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 114 TÀI LIỆU THAM KHẢO 115 PHỤ LỤC. KẾT QUẢ THỰC NGHIỆM TỪ CÁC CÔNG TRÌNH LIÊN QUAN 119 PL1. KẾT QUẢ THỰC NGHIỆM CÁC THUẬT TOÁN WONG, ADD, CAMPOS 119 PL2. KẾT QUẢ THỰC NGHIỆM CÁC THUẬT TOÁN ESCGA, BCGA 122 PL3. KẾT QUẢ THỰC NGHIỆM CÁC THUẬT TOÁN SHC, PBLS 123 PL4. KẾT QUẢ THỰC NGHIỆM CÁC THUẬT TOÁN PABC, ABC+LS 126 PL5. SO SÁNH CHI PHÍ ĐỊNH TUYẾN CỦA CÁC THUẬT TOÁN 128 vii DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt MRCST Minimum Routing Cost Spanning Tree Cây khung chi phí định tuyến nhỏ nhất OCST Optimal Communication Spanning Tree Cây khung truyền thông tối ưu BDMRCST Benchmark Data For MRCST Bộ dữ liệu chuẩn cho bài toán MRCST SPT Shortest Path Tree Cây đường đi ngắn nhất C(T) Routing Cost Chi phí định tuyến cây khung T l(e) Routing Load Tải định tuyến của cạnh e SHC Stochastic Hill Climber Search Algorithm Thuật toán tìm kiếm leo đồi ngẫu nhiên LS Local Search Algorithm Thuật toán tìm kiếm địa phương TABU Tabu Search Algorithm Thuật toán tìm kiếm Tabu GA Genetic Algorithm Thuật toán di truyền PABC Artificial Bee Colony Algorithm Thuật toán bầy ong nhân tạo ABC+LS Artificial Bee Colony Algorithm + Local Search Thuật toán bầy ong nhân tạo kết hợp với thuật toán tìm kiếm địa phương. BEE Bee Algorithm Thuật toán bầy ong Branch and Bound Algorithm Thuật toán nhánh cận Column Generation Method Phương pháp sinh cột PTAS Polynomial Time Approximation Scheme Sơ đồ xấp xỉ thời gian đa thức α -Approximation Algorithm Thuật toán gần đúng cận tỉ lệ α Network Optimization Tối ưu hóa mạng SD Standard Deviation Độ lệch chuẩn Bioinformatics Tin sinh học MSA Multiple Sequence Alignments So sánh đa trình tự HCSRI HCSRI-MRCST Thuật toán tìm kiếm leo đồi dạng loại trước-chèn sau giải bài toán MRCST viii HCSIR HCSIR-MRCST Thuật toán tìm kiếm leo đồi dạng chèn trước-loại sau giải bài toán MRCST GST GA-MRCST Thuật toán di truyền giải bài toán MRCST TST TABU-MRCST Thuật toán Tabu giải bài toán MRCST BST BEE-MRCST Thuật toán bầy ong giải bài toán MRCST [...]... T là một cây khung của G Chi phí định tuyến cho mỗi cặp đỉnh trên T được định nghĩa là tổng các chi phí định tuyến trên các cạnh của đường đi đơn nối chúng trên T và chi phí định tuyến của T được định nghĩa là tổng của tất cả các chi phí định tuyến giữa mọi cặp đỉnh của T Bài toán MRCST đặt ra là tìm một cây khung có chi phí định tuyến nhỏ nhất trong số tất cả các cây khung của G [10] Bài toán MRCST... thời gian gần đây, các công trình nghiên cứu về bài toán MRCST chỉ tập trung theo hướng phát triển các thuật toán giải gần đúng 12 1.3.2 .Thuật toán gần đúng cận tỉ lệ Thuật toán gần đúng cận tỉ lệ thường được phát triển cho các bài toán chưa có thuật toán đa thức để giải, hoặc các bài toán đã có thuật toán đa thức để giải nhưng thời gian tính quá lớn Một thuật toán được gọi là thuật toán gần đúng cận... phí định tuyến của cây khung được trình bày chi tiết trong mục tiếp theo 1.1.2 .Thuật toán tính chi phí định tuyến của cây khung Việc tính chi phí định tuyến của cây khung T dựa theo công thức (1-2) với độ phức tạp tuyến tính đã được đề cập ở các công trình [5,6,10,33] Ở đây, chúng tôi trình bày thuật toán tính chi phí định tuyến của cây khung một cách chi tiết hơn các công trình kể trên ở góc độ kỹ thuật. .. một cách tiếp cận mới cho chất lượng lời giải tương đương Mục này khảo sát các thuật toán giải bài toán MRCST theo các nhóm: Các thuật toán giải đúng, các thuật toán gần đúng cận tỉ lệ, các thuật toán heuristic và các thuật toán metaheuristic 1.3.1 .Thuật toán giải đúng Theo các định lý Cayley [10], Kirchhoff [23], ta biết số lượng cây khung của một đồ thị tăng với tốc độ hàm mũ theo số đỉnh của đồ thị... nghiệm của thuật toán BST với các thuật toán đơn lời giải 103 Bảng 5.5 So sánh thực nghiệm của thuật toán BST với các thuật toán đa lời giải 104 Bảng 5.6 Các bộ dữ liệu BST cho lời giải chất lượng tốt hơn thuật toán ABC+LS 104 ix Bảng 5.7 So sánh thời gian tính thuật toán BST với các thuật toán đơn lời giải 106 Bảng 5.8 So sánh thời gian tính thuật toán BST với các thuật toán đa lời giải 106 PL1.a... tuyến của một cây khung) Cho T = (V(T), E(T)) là một cây khung của G, chi phí định tuyến của T, ký hiệu là C(T), là tổng chi phí định tuyến giữa mọi cặp đỉnh thuộc cây T, tức là: C (T ) u ,vV (T ) dT (u, v) (1-1) Bài toán MRCST: Cho đồ thị G được định nghĩa như trên, bài toán đặt ra là trong số tất cả các cây khung của đồ thị G cần tìm một cây khung có chi phí định tuyến nhỏ nhất 5 Bài toán này được... kể trên ở góc độ kỹ thuật 7 Thuật toán 1.1 dưới đây cho phép tính chi phí định tuyến của một cây khung Algorithm 1.1 Thuật toán tính chi phí định tuyến của một cây khung RoutingCost(T) Đầu vào: Cây khung T được biểu diễn là cây có gốc tại v1 Đầu ra: Chi phí định tuyến của cây khung T 1 if (T = ) return +; // Qui ước cây rỗng có chi phí + 2 Thực hiện duyệt cây T theo chi u sâu (Depth First Search)... SPT có chi phí định tuyến nhỏ nhất 13 Thuật toán 1.3 dưới đây cho phép tìm cây đường đi ngắn nhất có chi phí định tuyến nhỏ nhất bằng thuật toán WONG Algorithm 1.3 WONG(V,E) Thuật toán WONG //Trả về cây đường đi ngắn nhất có chi phí định tuyến nhỏ nhất Đầu vào: Đồ thị G = (V(G), E(G)), V(G) = {1, 2, …, n} Đầu ra: Cây đường đi ngắn nhất có chi phí định tuyến nhỏ nhất trên G 1 Tbest = SPT(V,E,1); 2 for... Trees - OCST), bài toán cây Steiner nhỏ nhất (Steiner Minimal Trees - SMT), bài toán cây khung nhỏ nhất với đường kính bị chặn (Bounded Diameter Minimum Spanning Trees - BDMST) [20], bài toán cây khung với chi phí định tuyến nhỏ nhất (Minimum Routing Cost Spanning Trees MRCST) đã được chứng minh thuộc lớp bài toán NP-khó hoặc NP-đầy đủ MRCST là một bài toán tối ưu đồ thị nổi tiếng; bài toán này lần đầu... G Định nghĩa 1.1 [10] (Chi phí định tuyến giữa một cặp đỉnh) Cho T = (V(T), E(T)) là một cây khung của G, trọng số trên cạnh e được hiểu là chi phí định tuyến của cạnh e, ta gọi chi phí định tuyến (routing cost) của một cặp đỉnh (u,v) trên T, ký hiệu là dT(u,v), là tổng chi phí định tuyến của các cạnh trên đường đi đơn (duy nhất) nối đỉnh u với đỉnh v trên cây T Định nghĩa 1.2 [10] (Chi phí định tuyến