Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.Nghiên cứu phát triển thuật toán metaheuristic giải bài toán cây steiner nhỏ nhất định hướng ứng dụng cho thiết kế hệ thống mạng.
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG Trần Việt Chương NGHIÊN CỨU PHÁT TRIỂN THUẬT TOÁN METAHEURISTIC GIẢI BÀI TOÁN CÂY STEINER NHỎ NHẤT ĐỊNH HƯỚNG ỨNG DỤNG CHO THIẾT KẾ HỆ THỐNG MẠNG Chuyên ngành: Hệ thống thông tin Mã số: 9.48.01.04 TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT Hà Nội – 2023 Cơng trình hồn thành tại: Học viện Cơng nghệ Bưu Viễn thơng Người hướng dẫn khoa học: PGS.TS Hà Hải Nam TS Phan Tấn Quốc Phản biện 1: Phản biện 2: Phản biện 3: Luận án bảo vệ trước Hội đồng chấm luận án cấp Học viện tại: Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: ……giờ ngày tháng…… năm 2023 Có thể tìm hiểu luận án thư viện: MỞ ĐẦU Tính cấp thiết đề tài Việc kết nối tập điểm cho trước với chi phí tối thiểu xem toán quan trọng thiết kế mạng truyền thơng Mạng truyền thơng mơ hình hóa đồ thị vơ hướng, liên thơng có trọng số Do vậy, từ năm 70 kỷ trước, toán Cây Steiner (Steiner Tree Problem - STP) đồ thị hay toán Cây Steiner nhỏ (Steiner Minimal Trees Problem - SMT), toán tối ưu tổ hợp, nhà khoa học quan tâm nghiên cứu để áp dụng cho thiết kế mạng nhiều ứng dụng quan trọng khác khoa học kỹ thuật Phần lớn toán tối ưu tốn thuộc lớp NP-hard, khơng thể giải thời gian đa thức Chỉ với toán quy mơ nhỏ giải phương pháp tốn xác Các tốn khác giải phương pháp xấp xỉ để tạo giải pháp đủ tốt thời gian hợp lý, phương pháp heuristic metaheuristic Do chất toán tối ưu thuộc lớp NP-hard, nên nay, toán tiếp tục nhà khoa học quan tâm nghiên cứu nhằm làm phong phú cách giải tìm lời giải hiệu cho ứng dụng thực tế, đặc biệt ứng dụng thiết kế hệ thống mạng Hiện tại, có hàng loạt thuật tốn giải tốn SMT đề xuất, chia chúng thành hướng tiếp cận sau: Các thuật toán rút gọn đồ thị, thuật tốn cận tỉ lệ, thuật tốn tìm lời giải đúng, thuật toán heuristic metaheuristic Trong thuật toán heuristic áp dụng hiệu cho tốn cụ thể, thuật tốn metaheuristic xem khung thuật tốn tổng qt áp dụng cho nhiều toán tối ưu Cho đến tại, hướng tiếp cận metaheuristic cho chất lượng lời giải tốt số thuật toán giải gần Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu Bài toán SMT, thuật toán heuristic metaheuristic, cơng trình cơng bố liên quan đến thuật toán heuristic, metaheuristic giải toán SMT ứng dụng toán SMT - Phạm vi nghiên cứu Luận án giới hạn nghiên cứu thuật toán heuristic, metaheuristic giải toán Cây Steiner với khoảng cách ngẫu nhiên Mục tiêu nghiên cứu Mục tiêu luận án nghiên cứu phát triển số thuật toán dạng heuristic metaheuristic nhằm giải toán SMT cách hiệu định hướng ứng dụng cho thiết kế hệ thống mạng Phương pháp nghiên cứu Luận án kết hợp phương pháp nghiên cứu lý thuyết thực nghiệm Trên sở khảo sát cơng trình khoa học liên quan đến toán SMT ứng dụng thiết kế mạng Các thuật toán đề xuất cải tiến thực nghiệm, đánh giá dựa hệ thống liệu thực nghiệm chuẩn mở rộng Việc đánh giá so sánh hiệu thuật toán dựa độ phức tạp thuật toán, chất lượng lời giải thời gian chạy thực nghiệm Nội dung nghiên cứu Đề xuất số thuật toán heuristic, metaheuristic cải tiến, dựa ý tưởng tìm đường ngắn nhất, khung nhỏ nhất, chiến lược tìm kiếm lân cận lược đồ metaheuristic để giải toán SMT định hướng ứng dụng cho thiết kế hệ thống mạng Những đóng góp luận án Sau đóng góp luận án: - Đề xuất hai thuật tốn heuristic mới: SPT-Steiner PDSteiner giải toán SMT trường hợp đồ thị thưa - Đề xuất hai thuật toán heuristic cải tiến: i-SPT-Steiner i-PD-Steiner giải toán SMT trường hợp đồ thị thưa kích thước lớn lên đến 100000 đỉnh - Đề xuất ba thuật toán metaheuristic dạng cá thể, quần thể giải toán SMT gồm: Thuật tốn Bees-Steiner, thuật tốn tìm kiếm lân cận biến đổi VNS thuật tốn tìm kiếm leo đồi Hill climbing search (HCSMT) - Ngoài ra, luận án đề xuất thêm chiến lược tìm kiếm lân cận: Tham lam có xác suất, sử dụng khung thuật toán metaheuristic nhằm nâng cao chất lượng lời giải Ý nghĩa khoa học thực tiễn Việc đề xuất thuật toán dạng heuristic, metaheuristic giải tốn SMT có ý nghĩa quan trọng; mặt, nhằm giải toán ứng dụng đặt thực tiễn đặc biệt thiết kế hệ thống mạng; mặt khác, sở để giải số toán tối ưu thuộc lớp NP-hard khác Bố cục luận án Bố cục luận án tổ chức thành chương phần kết luận, cụ thể sau: - Chương 1: Trình bày tổng quan sở lý thuyết toán SMT với nội dung: Một số định nghĩa, định lý liên quan; dạng toán SMT; sơ lược số hướng tiếp cận Tiếp theo, khảo sát số thuật toán metaheuristic giải toán SMT, cụ thể như: Giới thiệu sơ đồ số thuật toán metaheuristic thường gặp như: thuật toán local search, thuật tốn leo đồi, thuật tốn tìm kiếm lân cận biến đổi, thuật tốn bầy ong; tiêu chí đánh giá chất lượng thuật toán metaheuristic; khảo sát kết số thuật toán heuristic, metaheuristic biết giải toán SMT; định hướng ứng dụng toán SMT thiết kế hệ thống mạng cuối giới thiệu hệ thống liệu thực nghiệm chuẩn mở rộng cho toán - Chương 2: Đề xuất thuật toán heuristic SPTSteiner, PD-Steiner giải toán SMT trường hợp đồ thị thưa thuật toán heuristic cải tiến i-SPT-Steiner, i-PDSteiner giải toán SMT trường hợp đồ thị thưa kích thước lớn - Chương 3: Đề xuất thuật toán metaheuristic giải toán SMT; thuật toán dựa khung thuật toán metaheuristic gồm: Thuật toán Bees, Hill climbing search Variable neighborhood search Luận án đề xuất thêm số chiến lược tìm kiếm lân cận cho tốn SMT, đồng thời phân tích ưu nhược điểm thuật tốn cụ thể qua định hướng áp dụng vào thực tế cho thuật toán đề xuất Trong phần Kết luận, luận án trình bày kết đạt định hướng phát triển cho nghiên cứu tương lai áp dụng kết luận án vào thực tiễn CHƯƠNG TỔNG QUAN VỀ BÀI TOÁN CÂY STEINER NHỎ NHẤT VÀ ĐỊNH HƯỚNG ỨNG DỤNG CHO THIẾT KẾ HỆ THỐNG MẠNG 1.1 Cơ sở lý thuyết 1.1.1 Một số định nghĩa Định nghĩa 1.1 Cây Steiner Cho G = (V(G), E(G)) đơn đồ thị vơ hướng liên thơng, có trọng số khơng âm cạnh, V(G) tập gồm n đỉnh, E(G) tập gồm m cạnh, w(e) trọng số cạnh e với e E(G) Cho L tập đỉnh V(G), T qua tất đỉnh L gọi Cây Steiner ứng với tập L đồ thị G Tập L gọi tập terminal, đỉnh thuộc tập L gọi đỉnh terminal Đỉnh thuộc T mà không thuộc tập L gọi đỉnh Steiner Định nghĩa 1.2 Chi phí Cây Steiner Cho T = (V(T), E(T)) Cây Steiner đồ thị G Chi phí T, ký hiệu C(T), tổng trọng số cạnh thuộc T, tức C(T) = eE(T) w(e) Định nghĩa 1.3 Cây Steiner nhỏ Cho đồ thị G mô tả trên, tốn tìm Cây Steiner có chi phí nhỏ gọi toán Cây Steiner nhỏ (Steiner minimal trees problem - SMT); gọi ngắn gọn toán Cây Steiner (Steiner trees problem) Định lý 1.1 Định lý số đỉnh Steiner Cho đồ thị G tập terminal L, Cây Steiner T L có p đỉnh số đỉnh Steiner T không vượt p - Định nghĩa 1.4 Cạnh cầu Steiner Cho đồ thị G tập terminal L, cạnh euv gọi cạnh cầu Steiner G loại cạnh euv tập đỉnh terminal L không thuộc thành phần liên thông Định nghĩa 1.5 Đồ thị rút gọn Steiner Cho đồ thị G tập terminal L, G’ gọi đồ thị rút gọn Steiner G số đỉnh số cạnh G’ nhỏ số đỉnh số cạnh G G’ tồn Cây Steiner nhỏ ứng với tập terminal L đồ thị G 1.1.2 Một số dạng toán SMT Bài toán SMT nghiên cứu dạng sau đây: - Thứ toán Cây Steiner với khoảng cách Euclide - Thứ hai toán Cây Steiner với khoảng cách chữ nhật - Thứ ba toán Cây Steiner với khoảng cách ngẫu nhiên (đây dạng toán nghiên cứu luận án) 1.1.3 Tổng quan nghiên cứu liên quan đến toán SMT Có nhiều hướng tiếp cận giải tốn SMT, cụ thể sau: - Các thuật toán rút gọn đồ thị - Các thuật tốn tìm lời giải - Các thuật toán gần cận tỉ lệ - Các thuật toán heuristic - Các thuật toán metaheuristic 1.2 Tiếp cận thuật toán metaheuristic giải toán SMT 1.2.1 Thuật toán metaheuristic Thuật toán metaheuristic xem khung thuật tốn tổng qt áp dụng cho nhiều toán tối ưu Thuật toán sử dụng nhiều heuristic kết hợp với kỹ thuật phụ trợ nhằm khai phá khơng gian tìm kiếm lời giải tốn 1.2.2 Tính tăng cường tính đa dạng Hai yếu tố quan trọng thuật toán metaheuristic tính tăng cường (intensification) tính đa dạng (diversification) Tăng cường hóa nhằm mục đích khai thác sâu vùng không gian lời giải tiềm để hy vọng tìm lời giải có chất lượng tốt Đa dạng hóa nhằm khai phá vùng khơng gian tìm kiếm mới, tránh việc tìm kiếm rơi vào bẫy tối ưu cục 1.2.3 Tiêu chí đánh giá chất lượng thuật toán metaheuristic Chất lượng thuật toán metaheuristic đánh giá qua chất lượng lời giải thời gian tính Thời gian tính ngồi việc phụ thuộc vào độ phức tạp thuật tốn cịn phụ thuộc vào môi trường thực nghiệm Đánh giá độ phức tạp thuật toán thường dựa vào tài nguyên nhớ thời gian mà thuật toán sử dụng Hiện nay, người sử dụng quan tâm nhiều đến yếu tố thời gian 1.2.4 Phân tích thành phần thuật toán metaheuristic - Khởi tạo lời giải ban đầu - Chiến lược tăng cường hóa lời giải - Chiến lược đa dạng hóa lời giải - Điều kiện dừng thuật toán metaheuristic 1.2.5 Giới thiệu sơ đồ số thuật toán metaheuristic thường gặp - Thuật toán Local Search - Thuật toán Hill Climbing Search - Thuật tốn tìm kiếm lân cận biến đổi - Thuật tốn Bees 1.3 Khảo sát số thuật toán tiêu biểu giải toán SMT Khảo sát, phân tích đánh giá số thuật tốn heuristic metaheuristic giải toán SMT biết thuật toán: SPH, Heu, NB, PB, TS, PGA 1.4 Định hướng ứng dụng kết nghiên cứu cho thiết kế hệ thống mạng 1.4.1 Giới thiệu toán quy hoạch mạng - Bài toán thứ nhất: Là toán nâng cấp, mở rộng hệ thống mạng có - Bài tốn thứ hai: Là toán xây dựng hệ thống mạng 1.4.2 Giới thiệu tốn quy hoạch mạng Một số mơ hình định hướng ứng dụng tốn SMT việc thiết kế hệ thống mạng - Mơ hình 1: Thiết kế hệ thống mạng cục - Mơ hình 2: Cung cấp dịch vụ mạng riêng ảo - Mơ hình 3: Bài tốn truyền thơng đa hướng - Mơ hình 4: Thiết kế vi mạch VLSI - Mơ hình 5: Bài tốn kết nối nhóm - Mơ hình 6: Bài tốn Steiner nhiều pha - Mơ hình 7: Bài tốn mạng Steiner nhiều pha - Mơ hình 8: Bài tốn phát sinh loài 1.5 Lựa chọn liệu thực nghiệm Luận án sử dụng 78 liệu đồ thị thưa hệ thống liệu thực nghiệm chuẩn dùng cho toán Cây Steiner địa chỉ: http://people.brunel.ac.uk/~mastjjb/jeb/orlib/steininfo.html, đồ thị có tối đa 2500 đỉnh Ngoài ra, luận án đề xuất thêm 80 liệu đồ thị thưa kích thước lớn lên đến 100000 đỉnh: steinf, steing, steinh, steini Các đồ thị sinh từ khung ngẫu nhiên 11 2.5 Cải tiến thuật toán heuristic giải toán SMT trường hợp đồ thị thưa kích thước lớn 2.5.1 Thuật toán i-SPT-Steiner Algorithm 2.3: i-SPT-Steiner Input: Đồ thị G = (V(G), E(G)); Output: Cây Steiner nhỏ T; Sử dụng Thuật tốn Dial tìm đường ngắn xuất phát đỉnh thuộc tập terminal L: SPT1, SPT2, …, SPTL for (T {SPT1, SPT2, …, SPTL}) Với đỉnh treo u T, u L xóa cạnh chứa đỉnh u khỏi E(T), xóa đỉnh u V(T) cập nhật bậc đỉnh kề với đỉnh u T Lặp lại bước đến T khơng cịn thay đổi (bước gọi bước xóa cạnh dư thừa); sau bước này, thu SPTi’ tương ứng với SPTi end for Tìm SPTi’ có tổng trọng số cạnh nhỏ SPTmin; return SPTmin; Thuật tốn i-SPT-Steiner có độ phức tạp thời gian tính là: O(|L|(m + nC)) 2.5.2 Thuật toán i-PD-Steiner Algorithm 2.4: i-PD-Steiner Input: Đồ thị G = (V(G), E(G)); Output: Cây Steiner nhỏ T; Chọn đỉnh u L, đặt V(T) = {u}; for đỉnh v ∈ L 12 Tìm đường ngắn xuất phát từ đỉnh v; (Ở bước sử dụng Thuật tốn Dial để tìm) end for while (T chưa chứa tất đỉnh thuộc tập L) Từ đỉnh v ∈ L v ∉ V(T), Chọn đường ngắn P xuất phát từ đỉnh v đến đỉnh z ∈ V(T), với z đỉnh kết thúc đường ngắn tất đường ngắn xuất phát từ v đến đỉnh V(T); Kết nạp đỉnh cạnh đường P vào T; end while Output T Thuật toán i-PD-Steiner có độ phức tạp là: O(|L|max(m + nC, |L||V(T)|)) 2.6 Thực nghiệm đánh giá Đánh giá tổng số 80 liệu, thuật toán i-PD-Steiner, i-SPT-Steiner cho lời giải có chất lượng tốt hơn, tương đương, thuật toán MST-Steiner là: (97.5%, 2.5%, 0.0%), (30.0%, 2.5%, 67.5%); thuật tốn i-PD-Steiner cho lời giải có chất lượng tốt hơn, tương đương, thuật toán i-SPT-Steiner là: (88.75%, 6.25%, 5.0%) số liệu Kết so sánh thuật toán i-SPT-Steiner, i-PD-Steiner MST-Steiner minh họa biểu đồ Hình 2.2 Hình 2.2 So sánh thuật toán 80 liệu 13 Thuật tốn i-PD-Steiner có thời gian chạy nhanh so với thuật toán MST-Steiner thuật toán i-SPT-Steiner Thuật tốn i-SPT-Steiner có thời gian chạy chậm so với thuật toán MST-Steiner 2.7 Đánh giá thuật tốn thơng qua độ phức tạp Thơng qua Bảng 2.1 ta thấy, thuật tốn SPT-Steiner có độ phức tạp thời gian lớn nhất, thuật tốn i-PD-Steiner có độ phức tạp thời gian nhỏ nhất, qua cung cấp thêm thơng tin tính hiệu thuật tốn Bảng 2.1 Độ phức tạp thời gian thuật toán Thuật toán Độ phức tạp thời gian MST-Steiner O(n|L|2) SPT-Steiner O(mnlog n) PD-Steiner O(|L|n2) i-SPT-Steiner O(|L|(m + nC)) i-PD-Steiner O(|L|max(m + nC, |L||V(T)|)) Các thuật toán SPT-Steiner, i-SPT-Steiner, PDxếp theo độ phức tạp Steiner, MST-Steiner, i-PD-Steiner thời gian giảm dần: CHƯƠNG 3: ĐỀ XUẤT THUẬT TOÁN METAHEURISTIC GIẢI BÀI TOÁN CÂY STEINER NHỎ NHẤT 3.1 Giới thiệu hướng tiếp cận metaheuristic giải toán SMT Thuật toán metaheuristic sử dụng nhiều heuristic kết hợp với kỹ thuật phụ trợ nhằm khai phá khơng gian tìm kiếm 3.2 Khởi tạo lời giải ban đầu 14 - Khởi tạo Cây Steiner theo heuristic - Khởi tạo Cây Steiner ngẫu nhiên - Khởi tạo Cây Steiner dựa vào xác suất 3.3 Các chiến lược tìm kiếm Cây Steiner lân cận Định nghĩa 3.1 1-lân cận Cây Steiner T Cho đồ thị G T Cây Steiner G Ta gọi 1-lân cận Cây Steiner T tập tất Cây Steiner đồ thị G sai khác với T cạnh Nếu T’ Cây Steiner thuộc 1-lân cận T ta nói T T’ 1-lân cận với Định nghĩa 3.2 k-lân cận Cây Steiner T Cho đồ thị G T Cây Steiner Ta gọi k-lân cận Cây Steiner T tập tất Cây Steiner đồ thị G sai khác với T không k cạnh Nếu T’ Cây Steiner thuộc k-lân cận T ta nói T T’ k-lân cận với Tiếp theo, luận án trình bày số chiến lược tìm kiếm Cây Steiner lân cận biết - Chiến lược chèn cạnh - xóa cạnh - Chiến lược tìm lân cận tốt - Chiến lược tìm lân cận ngẫu nhiên - Chiến lược tìm lân cận Node-base - Chiến lược tìm lân cận Path-based - Chiến lược tìm kiếm lân cận tham lam - Chiến lược tìm kiếm lân cận có xác suất Các hàm sử dụng thuật toán: InitPopulation (V(G), E(G), N): Hàm tạo quần thể ban đầu; SortPopulation (P, N, h, p): Hàm xếp cá thể quần thể; NeighSearch (Ti, ki): Hàm tìm kiếm Cây Steiner lân cận; RandSearch (Ti, ki): Hàm tìm kiếm Cây Steiner ngẫu nhiên 15 3.4 Thuật toán Bees giải toán SMT Thuật toán Bees-Steiner giải toán SMT Algorithm 3.1: Bees-Steiner algorithm Input: Đồ thị G = (V(G), E(G)); Output: Cây Steiner có chi phí nhỏ tìm Tbest; InitPopulation (V(G), E(G), N); // Tạo quần thể P gồm Cây Steiner T1, T2, ,TN While (điều kiện dừng chưa thỏa) SortPopulation (P, N, h, p); Cập nhật Tbest = T1; For i = h NeighSearch (Ti, k1); For i = h + p NeighSearch (Ti, k2); For i = p + N 10 RandSearch (Ti, k3); 11 end while 12 Cập nhật cá thể Tbest; 13 Return Tbest Độ phức tạp thuật toán Bees-Steiner là: O(N(Nlog(N) + V(hk1 + (p - h)k2 + (N - p)k3))) 3.5 Thuật tốn tìm kiếm lân cận biến đổi giải toán SMT Algorithm 3.2: VNS algorithm Input: Đồ thị G = (V(G), E(G)); Output: Cây Steiner có chi phí nhỏ nhất; T khung ngẫu nhiên tạo thuật toán tựa Prim; 16 Xóa cạnh dư thừa T để thu Cây Steiner; while (điều kiện dừng chưa thỏa) Lần lượt thực hai chiến lược tìm kiếm lân cận Node-based Path-based; Trong trình thực chiến lược tìm kiếm lân cận trên, ghi nhận lại lời giải tốt nhất; Khi thực chiến lược tìm kiếm lân cận, tìm kỉ lục quay trở lại thực thuật tốn VNS từ đầu (sau vịng lặp while); ngược lại, chuyển sang chiến lược tìm kiếm lân cận tiếp theo; Thuật toán VNS kết thúc điều kiện dừng thỏa; điều kiện dừng lựa chọn thuật toán 10*n, với n số đỉnh đồ thị end while Trả lời giải tốt tìm Độ phức tạp thuật toán VNS là: O(N2(Elog(E))) 3.6 Thuật toán Hill climbing search giải toán SMT Algorithm 3.3: HCSMT algorithm Input: Đồ thị G = (V(G), E(G)); Output: Cây Steiner có chi phí nhỏ tìm Tbest; stop = false; d = 0; //d số lần tăng cường T Cây Steiner khởi tạo ngẫu nhiên; Tbest = T; //lưu lại Cây Steiner tốt trước thực chiến lược đa dạng hóa while (d < N) //N số lần lặp định trước stop = true; 17 S = E – E(T); for (với cạnh e S ) 10 = +∞; if (cạnh e có đỉnh (u, v) T) then F = T {e}; 11 12 Xác định chu trình Cycle F chứa e; 13 for (với cạnh e’ Cycle) 14 if (C(F – e’) < min) then 15 = C(F – e’); 16 Ghi nhận T’ = F – e’; 17 end if 18 end for 19 if (min < C(T)) then 20 T = T’; 21 stop = false; 22 23 end if end if 24 end for 25 if (stop) then 26 d++; //tăng số biến đếm tăng cường 27 if (C(T) < C(Tbest)) Tbest = T; 28 while (Thỏa điều kiện đa dạng hóa) 29 Loại bỏ số cạnh ngẫu nhiên Cây Steiner xét; 30 Chọn ngẫu nhiên số cạnh cạnh lại đồ thị G T liên thông trở lại (điều kiện cạnh thêm vào là: Phải có đỉnh thuộc T thêm vào để tránh trường hợp 18 thêm vào nhiều lần T không liên thông trở lại) Sử dụng định nghĩa k-lân cận trên; 31 Nếu thêm nhiều lần mà khơng làm cho T liên thơng trở lại, tiếp tục đa dạng hóa lại với cạnh khác; 32 33 end while end if 34 end while 35 return Tbest Độ phức tạp thuật toán HCSMT là: O(N(Elog (E) + EV)) 3.7 Thực nghiệm đánh giá thuật toán metaheuristic giải toán SMT 3.7.1 Thuật toán Bees-Steiner Đánh giá chung tổng số 38 liệu, thuật toán BeesSteiner cho chất lượng lời giải tốt hơn, tương đương thuật toán: MST-Steiner, SPT-Steiner, PGA-Steiner là: (86.8%, 13.2%, 0.0%), (86.8%, 13.2%, 0.0%), (0.0%, 81.6%, 18.4%) số liệu Kết so sánh thuật toán Bees-Steiner với thuật toán: MST-Steiner, SPT-Steiner PGA-Steiner minh họa biểu đồ Hình 3.1 Hình 3.1 So sánh thuật tốn 38 liệu 3.7.2 Thuật tốn tìm kiếm lân cận biến đổi (VNS) 19 Đánh giá chung 78 liệu đồ thị thưa hệ thống liệu thực nghiệm chuẩn; thuật toán VNS cho lời giải chất lượng tốt hơn, tương đương thuật toán MSTSteiner là: (93.6%, 6.4%, 0.0%) số liệu; thuật toán VNS cho lời giải chất lượng tốt hơn, tương đương thuật toán SPT-Steiner là: (84.6%, 14.1%, 1.3%) số liệu; thuật toán VNS cho lời giải chất lượng tốt hơn, tương đương thuật toán PD-Steiner là: (76.9%, 21.8%, 1.3%) số liệu; thuật toán VNS cho lời giải chất lượng tốt hơn, tương đương thuật toán Nodebased là: (7.5%, 70.0%, 22.5%) số liệu; thuật toán VNS cho lời giải chất lượng tốt hơn, tương đương thuật toán Path-based là: (20.0% 72.5%, 7.5%) số liệu Kết so sánh thuật toán VNS với thuật toán: MST-Steiner, SPT-Steiner, PD-Steiner, Node-based Pathbased minh họa biểu đồ Hình 3.2 Hình 3.2 So sánh thuật toán 78 liệu 3.7.3 Thuật toán Hill Climbing Search (HCSMT) Đánh giá chung tổng số 60 liệu; thuật toán HCSMT cho chất lượng lời giải tốt hơn, tương đương thuật toán Heu là: (46.7%, 51.7%, 1.6%) số liệu; thuật toán HCSMT cho chất lượng lời giải tốt hơn, tương 20 đương thuật toán PD-Steiner là: (78.4%, 21.6%, 0.0%) số liệu; thuật toán HCSMT cho chất lượng lời giải tốt hơn, tương đương thuật toán VNS là: (1.7%, 70%, 28.3%) số liệu; thuật toán HCSMT cho chất lượng lời giải tốt hơn, tương đương thuật toán TS là: (26.7%, 46.6%, 26.7%) số liệu Kết so sánh thuật toán HCSMT với thuật toán: Heu, PD-Steiner, VNS TS minh họa biểu đồ Hình 3.3 Hình 3.3 So sánh thuật toán 60 liệu 3.8 Đánh giá thuật tốn thơng qua độ phức tạp Thơng qua Bảng 3.1 ta thấy, thuật tốn Bees-Steiner có độ phức tạp thời gian lớn nhất, thuật tốn HCSMT có độ phức tạp thời gian nhỏ nhất, qua cung cấp thêm thơng tin tính hiệu thuật tốn 1Bảng 3.1 Độ phức tạp thời gian thuật toán Thuật toán Bees-Steiner Độ phức tạp thời gian O(N(Nlog(N) + V(hk1 + (p - h)k2 + (N - p)k3)))) VNS O(N2(Elog(E))) HCSMT O(N(Elog (E) + EV)) Các thuật toán xếp theo độ phức tạp thời gian giảm dần: Bees-Steiner, VNS, HCSMT 21 KẾT LUẬN Hiện tại, có nhiều hướng tiếp cận để giải tốn SMT, chia thành hai nhóm sau: Giải xác, tốn có kích thước nhỏ; giải gần tốn có kích thước lớn, có phát triển thuật tốn heuristic metaheuristic để giải tốn Vì tốn SMT địi hỏi phải nghiên cứu cách đa chiều toàn diện Từ nghiên cứu đó, phạm vi ứng dụng tốn cách rõ ràng cụ thể thực tế Dựa phương pháp nghiên cứu sử dụng thông qua số sở lý thuyết toán học, xây dựng phát triển thuật toán cài đặt thực nghiệm để phân tích, so sánh đánh giá, kết hợp với công cụ thống kê Các kết luận án trình bày Chương Chương Các đóng góp luận án 1.1 Đề xuất hai thuật toán heuristic giải toán SMT trường hợp đồ thị thưa, thuật toán đề xuất cài đặt thực nghiệm cho kết tốt số liệu so sánh với heuristic công bố trước đó, cụ thể là: - Đóng góp thứ nhất: Đề xuất thuật toán heuristic SPTSteiner giải toán SMT - Đóng góp thứ hai: Đề xuất thuật tốn heuristic PDSteiner giải toán SMT 1.2 Đề xuất hai thuật toán heuristic cải tiến giải toán SMT trường hợp đồ thị thưa kích thước lớn lên đến 100000 đỉnh, thuật toán đề xuất thực nghiệm cho kết tốt số liệu so sánh với heuristic cơng bố trước đó, cụ thể là: 22 - Đóng góp thứ ba: Đề xuất thuật toán heuristic cải tiến i-SPT-Steiner giải toán SMT - Đóng góp thứ tư: Đề xuất thuật tốn heuristic cải tiến i-PD-Steiner giải toán SMT 1.3 Đề xuất ba thuật toán metaheuristic dạng cá thể, quần thể giải toán SMT trường hợp đồ thị thưa, thuật toán đề xuất cài đặt thực nghiệm cho kết tốt số liệu so sánh với heuristic, metaheuristic công bố trước đó, cụ thể là: - Đóng góp thứ năm: Đề xuất thuật toán metaheuristic dạng quần thể Bees-Steine giải tốn SMT - Đóng góp thứ sáu: Đề xuất thuật toán metaheuristic dạng cá thể VNS giải tốn SMT - Đóng góp thứ bảy: Đề xuất thuật toán metaheuristic dạng cá thể Hill Climbing Search (HCSMT) giải tốn SMT 1.4 Đề xuất chiến lược tìm kiếm lân cận sử dụng lược đồ thuật toán metaheuristic nhằm nâng cao hiệu thuật toán metaheuristic việc giải tốn SMT - Đóng góp thứ tám: Luận án nghiên cứu chi tiết đặc tính thuật toán metaheuristic việc giải toán SMT Đóng góp luận án tổng hợp thuật tốn với chiến lược tìm kiếm lân cận sở đặc tính tốn SMT - Đóng góp thứ chín: Dựa kết thực nghiệm thuật toán phát triển, luận án đề xuất hướng áp dụng thuật toán vào loại đồ thị Qua làm sâu sắc hơn, phong phú thêm việc giải hiệu toán SMT định hướng ứng dụng cho thiết kế hệ thống mạng Những nội dung nghiên cứu 23 Hiện nay, hướng tiếp cận giải xác giải gần tốn SMT nói chung nhà khoa học, tập tồn cơng nghệ lớn quan tâm, đầu tư nghiên cứu phát triển Do toán tối ưu thuộc lớp NP-hard, nên phương án đưa có nhiều ưu điểm ngày hiệu Theo hướng này, thời gian tới luận án tiếp tục phát triển nội dung sau: - Tiếp tục phát triển chiến lược tăng cường hóa, đa dạng hóa lời giải (các chiến lược tìm kiếm lân cận), áp dụng vào sơ đồ thuật toán đề xuất nhằm nâng cao chất lượng lời giải cho thuật toán - Tiếp tục cải tiến cấu trúc liệu, kỹ thuật lập trình cài đặt thực nghiệm thuật tốn với hy vọng rút ngắn thời gian chạy thuật toán làm việc với đồ thị thưa kích thước lớn (cỡ 100000 đỉnh) - Dựa vào sơ đồ thuật toán đề xuất thuật toán biết tác giả khác, phát triển thuật toán dạng metaheuristic để giải số toán khung truyền thơng tối ưu, tốn định tuyến đồ thị thuộc lớp NP-hard khác - Dựa vào kết nghiên cứu đạt được, xây dựng ứng dụng giải toán SMT áp dụng kết đạt vào thiết kế hệ thống mạng cụ thể thực tế CÁC CƠNG TRÌNH NGHIÊN CỨU CỦA TÁC GIẢ TẠP CHÍ KHOA HỌC [CT1] Trần Việt Chương, Phan Tấn Quốc, Hà Hải Nam (2017), Thuật toán Bees giải toán Cây Steiner nhỏ 24 trường hợp đồ thị thưa, Tạp chí Khoa học Cơng nghệ thông tin Truyền thông, Học viện Công nghệ Bưu Viễn thơng, Bộ Thơng tin Truyền thơng, ISSN: 2525-2224, Số 02 & 03 (CS.01) 2017, trang 24-28 [CT2] Tran Viet Chuong, Ha Hai Nam (2018), A variable neighborhood search algorithm for solving the Steiner minimal tree problem in sparse graphs, EAI Endorsed Transactions on Context-aware Systems and Applications, ISSN: 2409-0026, Issue 15, Vol 5, EAI 2018 (https://eudl.eu/issue/casa/5/15), pp 1-6 [CT3] Trần Việt Chương, Phan Tấn Quốc, Hà Hải Nam (2020), Thuật tốn tìm kiếm Hill climbing giải tốn Cây Steiner nhỏ nhất, Chun san Các cơng trình nghiên cứu, phát triển ứng dụng Cơng nghệ thơng tin Truyền thơng, Tạp chí Thơng tin Truyền thông, Bộ Thông tin Truyền thông, Tập 2020, Số 1, tháng 6, trang 1-8 [CT4] Trần Việt Chương, Phan Tấn Quốc, Hà Hải Nam (2021), Đề xuất chiến lược tìm kiếm lân cận cho tốn Cây Steiner nhỏ nhất, Tạp chí Khoa học Cơng nghệ thơng tin Truyền thơng, Học viện Cơng nghệ Bưu Viễn thông, Bộ Thông tin Truyền thông, ISSN: 2525-2224, Số 01 (CS.01) 2021, trang 90-97 [CT5] Trần Việt Chương, Phan Tấn Quốc, Hà Hải Nam (2022), Improving the Heuristic Algorithms to Solve a Steiner-minimaltree Problem in Large Size Sparse Graphs, Chun san Cơng trình nghiên cứu, phát triển ứng dụng Công nghệ thông tin Truyền thông, Tạp chí Thơng tin Truyền thơng, Bộ Thơng tin Truyền thông, Tập 2022, Số 1, tháng 3, pp 43-52 HỘI NGHỊ KHOA HỌC QUỐC TẾ [CT6] Trần Việt Chương, Phan Tấn Quốc, Hà Hải Nam (2017), Đề xuất số thuật toán Heuristic giải toán Cây Steiner nhỏ nhất, Kỷ yếu Hội nghị Khoa học Công nghệ Quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR); Trường Đại học Đà Nẵng, ngày 17- 25 18/08/2017, ISBN: 978-604-913-614-6, NXB Khoa học Kỹ thuật, trang 138-147 [CT7] Tran Viet Chuong, Ha Hai Nam (2018), A Variable Neighborhood Search Algorithm for Solving the Steiner Minimal Tree Problem, Kỷ yếu Hội nghị khoa học Quốc tế EAI lần thứ - ICCASA lần thứ - ICTCC 2018, chủ đề ContextAware Systems and Applications, and Nature of Computation and Communication, LNICST 266, Springer, pp 218-225 [CT8] Trần Việt Chương, Phan Tấn Quốc, Hà Hải Nam (2019), Khảo sát số thuật toán giải toán Cây Steiner nhỏ trường hợp đồ thị thưa, Kỷ yếu Hội thảo Quốc gia lần thứ XXII Một số vấn đề chọn lọc Công nghệ thông tin Truyền thông, chủ đề Chuyển đổi số điều hành Kinh tế Xã hội cách mạng công nghiệp 4.0, Viện CNTT Trường Đại học Thái Bình tổ chức ngày 28-29/6/2019 TP Thái Bình, NXB Khoa học Kỹ thuật, trang 132-137