Nghiên cứu áp dụng giải thuật tối ưu hóa đàn kiến cho bài toán hôn nhân ổn định

69 18 0
Nghiên cứu áp dụng giải thuật tối ưu hóa đàn kiến cho bài toán hôn nhân ổn định

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC VINH NGUYỄN LÊ HẢI LUẬN VĂN THẠC SỸ Chuyên ngành: CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU ÁP DỤNG GIẢI THUẬT TỐI ƢU HĨA ĐÀN KIẾN CHO BÀI TỐN HƠN NHÂN ỔN ĐỊNH Giáo viên hƣớng dẫn: TS HOÀNG HỮU VIỆT Vinh, 5/2018 MỤC LỤC MỞ ĐẦU CHƢƠNG TỔNG QUAN 12 1.1 Bài tốn nhân ổn định 12 1.1.1 Phát biểu toán 12 1.1.2 Các định nghĩa 13 1.1.3 Các biến thể tốn nhân ổn định 14 1.2 Các hướng tiếp cận giải toán hôn nhân ổn định 18 1.3 Một số ứng dụng tốn nhân ổn định 20 1.3.1 Bài tốn phân cơng giảng viên hướng dẫn sinh viên thực tập 20 1.3.2 Bài toán ghép cặp sinh viên ký túc xá 21 1.3.3 Bài tốn phân cơng bác sĩ thực tập bệnh viện 22 1.4 Kết luận Chương 22 CHƢƠNG THUẬT TOÁN VÉT CẠN CHO BÀI TỐN HƠN NHÂN ỔN ĐỊNH 23 2.1 Thuật toán Gale – Shapley 23 2.1.1 Mơ tả thuật tốn 23 2.1.2 Ví dụ minh họa 24 2.2 Biểu diễn toán theo danh sách ngắn (short-list) 27 2.3 Thủ tục Breakmarriage 29 2.4 Thuật tốn vét cạn tìm tất phép ghép ổn định 30 2.5 Kết luận chương 38 CHƢƠNG THUẬT TỐN TỐI ƢU HĨA ĐÀN KIẾN CHO BÀI TỐN HÔN NHÂN ỔN ĐỊNH 39 3.1 Giới thiệu thuật toán tối ưu hóa đàn kiến 39 3.2 Thuật tốn tối ưu hóa đàn kiến cho toán người du lịch 41 3.2.1 Bài toán người du lịch 41 3.2.2 Thuật toán AS 42 3.2.3 Thuật toán ACS 44 3.3 Áp dụng thuật tốn tối ưu hóa đàn kiến cho tốn hôn nhân ổn định 46 3.3.1 Định nghĩa heuristic cho hàm tìm kiếm tối ưu theo tập nam 49 3.3.2 Định nghĩa heuristic cho hàm tìm kiếm tối ưu theo tập nữ 49 3.3.3 Định nghĩa heuristic cho hàm tìm kiếm tối ưu cân nam-nữ 50 3.3.4 Định nghĩa heuristic cho hàm tìm kiếm tối ưu bình đẳng nam-nữ 50 3.4 Cài đặt đánh giá thuật toán 51 3.4.1 Thực nghiệm kiểm tra thực thuật toán 51 3.4.2 Thực nghiệm so sánh thuật toán vét cạn với ACS 53 3.5 Một số đánh giá thuật toán 57 3.6 Kết luận chương 58 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 59 Kết luận 59 Kiến nghị hướng phát triển 60 TÀI LIỆU THAM KHẢO 61 DANH MỤC CÁC TỪ VIẾT TẮT ACO Ant colony optimization ACS Ant Colony System AS Ant System GA Genetic Algorithm NP Non-deterministic Polynomial-time SM Stable Marriage TSP Travelling Salesman Problem DANH MỤC HÌNH ẢNH Bảng 2.1 Danh sách "thích" nam nữ ……………………………25 Bảng 2.2 Danh sách ngắn "thích" nam nữ theo hướng nam ……28 Bảng 2.3 Danh sách ngắn "thích" nam nữ theo hướng nữ …… 29 Bảng 2.4 Danh sách ngắn "thích" nam nữ ……………………… 32 Bảng 2.5 Các ghép ổn đinh ví dụ ……………………………………36 DANH MỤC BẢNG Hình 2.2 Cây mơ tả ghép ổn định sinh thủ tục breakmarriage ……………………………………………………………….38 Hình 3.1 Cách đàn kiến tìm đường ngắn dựa vết mùi ……………39 Hình 3.1 Giá trị hàm đánh giá F(M) ghép giá trị trung bình hàm đánh giá theo vòng lặp thuật tốn để tìm ghép cân tối ưu ……………………………………………………………………………….52 Hình 3.2 Giá trị hàm đánh giá F(M) ghép giá trị trung bình hàm đánh giá theo vịng lặp thuật tốn để tìm ghép bình đẳng tối ưu ……………………………………………………………………………52 Bảng 3.1 Thực nghiệm cho tốn nhân ổn định với kích thước 50…53 Bảng 3.2 Thực nghiệm cho tốn nhân ổn định với kích thước 100 55 Bảng 3.3 Thực nghiệm cho tốn nhân ổn định với kích thước 150 56 LỜI CẢM ƠN Tơi xin chân thành cảm ơn Trường đại học Vinh tạo điều kiện môi trường sở vật chất cho công việc học tập nghiên cứu Đồng cảm ơn Thầy, Cô giáo Ngành Công nghệ thông tin giảng dạy giúp đỡ trình học tập nghiên cứu chuyên ngành CNTT, với Thầy TS Hồng Hữu Việt nhiệt tình tâm huyết hướng dẫn giúp đỡ tơi hồn thành luận văn Tôi chân thành cảm ơn bạn học viên cao học K24 Trường đại học Vinh giúp trao đổi vấn đề thuộc lĩnh vực mà nghiên cứu Vinh, ngày tháng năm 2018 Học viên Nguyễn Lê Hải LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu áp dụng giải thuật tối ƣu hóa đàn kiến cho tốn nhân ổn định” cơng trình nghiên cứu tơi với hướng dẫn khoa học TS Hoàng Hữu Việt, tài liệu sử dụng cho việc nghiên cứu ghi rõ phần tài liệu tham khảo, kết thực nghiệm nghiên cứu thực tế môi trường thực nghiệm, kết thực nghiệm ghi nhận cách khách quan, trung thực chưa cơng bố hình thức trước Vinh, ngày tháng năm 2018 Học viên Nguyễn Lê Hải MỞ ĐẦU Sự cần thiết vấn đề nghiên cứu Bài tốn ghép đơi (two-sided matching problem) toán nhận nhiều quan tâm nghiên cứu vai trị quan trọng nhiều ứng dụng tốn phân cơng bác sĩ đến thực tập bệnh viện, toán phân công giảng viên hướng dẫn sinh viên thực đề tài, toán ghép cặp sinh viên trọ ký túc xá, v.v Bài tốn nhân ổn định (stable marriage problem) toán kinh điển tốn ghép đơi việc giải tốn hôn nhân bền vững mở nhiều hướng giải cho tốn ghép đơi Bài tốn nhân bền vững (stable marriage problem) giới thiệu Gale Shapley năm 1962 toán ghép cặp tập hợp nam nữ có số phân tử để thỏa mãn tiêu chuẩn Gale Shapley đề xuất thuật tốn Gale-Shapley để tìm cặp ghép bền vững tối ưu từ phía (man-optimal woman-optimal) Hiện tốn nhân ổn định giải phương pháp vét cạn, phương pháp tìm kiếm cục bộ, để giải tốn nhằm tìm cặp ghép bền vững tối ưu theo tiêu chuẩn đó, nhiên phương pháp đề xuất nói chung chưa hiệu cho tốn với kích thước lớn Trong luận văn thực thử nghiệm nghiên cứu áp dụng giải thuật tối ưu hóa đàn kiến cho tốn nhân ơn định với đề tài "Nghiên cứu áp dụng giải thuật tối ưu hóa đàn kiến cho tốn ghép đơi" Chúng tơi hy vọng với nghiên cứu mở rộng ứng dụng giải thuật tối ưu hóa đàn kiến đề xuất giải thuật hiệu giải tốn nhân ổn định Mục tiêu nghiên cứu 2.1 Mục tiêu tổng quát Nghiên cứu áp dụng giải thuật tối ưu hóa đàn kiến cho tốn nhân ổn định với số lượng nam nữ 2.2 Mục tiêu cụ thể Đề tài tập trung vào mục tiêu sau: (i) Nghiên cứu tổng quan tốn nhân ổn định (ii) Nghiên cứu thuật toán Gale-Shapley (iii) Nghiên cứu biểu diễn danh sách ngắn (short-lists) biểu diễn toán (iv) Nghiên cứu thuật tốn vét cạn cho tốn nhân ổn định (v) Nghiên cứu thuật toán tối ưu hóa đàn kiến cho tốn nhân ổn định (vi) Cài đặt thuật toán vét cạn thuật toán tối ưu hóa đàn kiến cho tốn nhân ổn định, đưa nhận xét đề xuất Đối tƣợng phạm vi nghiên cứu 3.1 Đối tƣợng nghiên cứu (a) Nghiên cứu lý thuyết Nghiên cứu tài liệu tốn nhân ổn định cơng bố ngồi nước; nghiên cứu thuật tốn tối ưu hóa đàn kiến; nghiên cứu áp dụng thuật tốn tối ưu hóa đàn kiến cho tốn nhân ổn định; nghiên cứu ngơn ngữ lập trình, MATLAB để thực thi thuật toán (b) Nghiên cứu thực nghiệm 10 thuật toán xấp xỉ Như vậy, thử nghiệm này, thuật toán vét cạn tốt thuật toán ACS Bảng 3.2 Thực nghiệm cho tốn nhân ổn định với kích thước 100 Thuật toán vét cạn Thuật toán ACS Thời gian Stt c d Thời gian c d (giây) (giây) 2117 0.893 2117 0.691 2021 45 0.613 2021 51 0.421 1875 59 0.366 1925 59 0.513 1956 48 0.550 1956 48 0.530 2001 0.479 2001 0.431 1989 53 0.576 1993 53 0.517 2033 0.459 2033 0.323 1861 24 0.540 1861 24 0.510 1956 160 0.821 1956 160 0.611 10 1961 27 0.456 1981 27 0.716 11 1936 0.362 1936 0.412 12 2084 11 1.425 2084 11 1.215 13 1965 0.861 1965 21 0.716 14 1766 60 1.239 1766 60 1.151 15 1800 2.511 1800 2.146 55 3.4.2.3 Thực nghiệm Trong thực nghiệm này, chúng tơi tạo 15 tốn nhân ổn định với kích thước 150 thực thuật toán vét cạn thuật toán ACS Kết thực nghiệm bảng 3.3 Tương tự thực nghiệm với tốn nhân ổn định với kích thước n = 100, số trường hợp thuật tốn ACS tìm phép ghép xấp xỉ tối ưu Tuy nhiên, thời gian thực thuật toán ACS nhỏ thời gian thực hiên thuật toán vét cạn Bảng 3.3 Thực nghiệm cho tốn nhân ổn định với kích thước 150 Thuật toán vét cạn Thuật toán ACS Thời gian Stt c d Thời gian c d (giây) (giây) 3773 23 2.233 3773 23 2.513 3556 35 2.194 3573 35 2.042 3547 8.490 3547 6.310 3898 61 4.270 3898 61 4.010 3758 81 3.459 3758 81 3.059 3553 110 4.422 3562 110 4.125 3630 16 3.754 3630 16 3.454 3754 97 1.734 3754 97 2.131 3671 4.720 3671 4.226 10 3630 40 2.990 3630 46 2.141 56 11 3614 35 5.990 3614 35 4.892 12 3818 3.769 3829 3.315 13 3659 4.401 3659 4.131 14 3567 65 7.057 3567 65 6.154 15 3555 243 1.932 3555 243 1.832 3.5 Một số đánh giá thuật tốn Trong q trình cài đặt thử nghiệm thuật tốn cho tốn nhân ổn định với danh sách "thích" tạo ngẫu nhiên, chung tơi có số nhận xét sau: - Thuật tốn ACS việc phụ thuộc vào tham số luật chuyển trạng thái luật cập nhật, phụ thuộc mạnh vào số kiến chọn để tìm nghiệm Nói chung số kiến thiết lập lớn chu trình ngắn dễ tìm thuật toán chạy chậm - Thuật toán ACS thuật tốn tìm nghiệm xấp xỉ tối ưu phụ thuộc vào giá trị ngẫu nhiên tạo q trình thực hiện, thuật tốn hội tụ nghiệm khác lần thực khác - Với toán nhân ổn định có kích thước nhỏ, thuật tốn vét cạn hiệu thuật toán ACS chất lượng thời gian tìm nghiệm Điều thuật tốn vét cạn ln tìm nghiệm thuật toán ACS thuật toán xấp xỉ tối ưu Ngồi ra, thuật tốn ACS cần phải khởi tạo ma trận đường cho kiến lớn nên thời gian tính tốn chậm Tuy nhiên với tốn nhân ổn định có kích thước lớn, thuật tốn ACS 57 hiệu thuật tốn vét cạn thời gian tìm kiếm nghiệm Điều độ phức tạp tính tốn tốn tăng lên theo hàm mũ thuật tốn vét cạn khơng hiệu quả, thuật tốn ACS dùng nhiều kiến (tác nhân) để tìm nghiệm đồng thời giảm thời gian tìm nghiệm - Thuật toán ACS phụ thuộc vào việc định nghĩa hàm tìm kiếm theo kinh nghiệm (heuristic), với cách định nghĩa hàm tìm kiếm theo kinh nghiệm khác hiệu thuật tốn ACS khác Do vậy, cần tiếp tục nghiên cứu đề xuất hàm tìm kiếm theo kinh nghiệm cho tốn nhân ổh định để thuật tốn ACS áp dụng cho toán hiệu 3.6 Kết luận chƣơng Chương trình bày thuật tốn tối ưu hóa đàn kiến, thuật tốn tối ưu hóa đàn kiến cho tốn người du lịch Ngồi ra, chương trình bày việc áp dụng thuật tốn tối ưu hóa đàn kiến cho tốn nhân ổn định đưa định nghĩa hàm heuristic cho tìm kiếm tối ưu theo tập nam, tìm kiếm tối ưu theo tập nữ, tìm kiếm tối ưu cân nam-nữ tìm kiếm tối ưu bình đẳng nam-nữ Cuối cùng, chương đưa kết thử nghiệm thuật toán vét cạn thuật tốn tối ưu hóa đàn kiến đánh giá thuật tốn cho tốn nhân ổn định 58 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết luận Sau thời gian thực luận văn, với nỗ lực thân giúp đỡ tận tình giảng viên hướng dẫn, luận văn thực theo đề cương phê duyệt Bản thân tự đánh giá đạt số kết sau: a) Về mặt lý thuyết - Hiểu tốn nhân ổn định với số lượng nam nữ - Hiểu thuật tốn Gale-Shapley cho tốn nhân ổn định với số lượng nam nữ - Biết phương pháp giải tốn nhân ổn định với số lượng nam nữ - Hiểu biểu diễn tốn nhân ổn định theo dạng danh sách ngắn (short-lists) áp dụng danh sách ngắn cho việc lập trình thuật tốn - Hiểu thuật tốn vét cạn giải tốn nhân ổn định dựa thủ tục breakmarriage - Hiểu thuật tốn tối ưu hóa đàn kiến áp dụng thuật tốn cho tốn nhân ổn định b) Về thực nghiệm - Cài đặt thuật toán vét cạn thuật toán tối ưu hóa đàn kiến cho tốn nhân ổn định - Thực tạo số liệu thực nghiệm, lựa chọn tham số tối ưu cho thuật toán 59 - So sánh hiệu thuật toán dựa liệu thực nghiệm từ đưa đánh giá chung hiệu thuật tốn cho tốn nhân ổn định Kiến nghị hƣớng phát triển Từ kết nghiên cứu lý thuyết thực nghiệm, thu nhận kiến thức hữu ích thuật tốn vét cạn thuật tốn tối ưu hóa đàn kiến cho tốn nhân ổn định Tuy nhiên chúng tơi nhận thấy cịn nhiều vấn đề cần phải nghiên cứu đánh giá ảnh hưởng tham số thuật tốn tối ưu hóa đàn kiến với tốn nhân ổn định, nghiên cứu áp dụng hàm tìm kiếm heuristic hiệu cho tốn Ngồi cần nghiên cứu áp dụng thuật tốn tối ưu hóa đàn kiến cho tốn nhân ổn định với số lượng nam nữ khác hay áp dụng cho toán ghép cặp khác tốn phân cơng giảng viên hướng dẫn sinh viên thực đề tài, toán xếp phòng trọ ký túc xá, Trong thời gian thực luận văn, với nỗ lực thân giúp đỡ tận tình giảng viên hướng dẫn, luận văn thực theo nhiệm vụ giao thời hạn theo yêu cầu Tuy nhiên với thân, đề tài khó, khơng thể tránh khỏi khiếm khuyết mong Q Thầy, Cơ giáo đồng nghiệp góp ý để tơi tiếp tục hồn thiện luận văn tốt Một lần tơi xin bày tỏ lịng biết ơn chân thành tới Thầy, Cô giáo Ngành Công nghệ Thông tin, Viện Kỹ thuật Công nghệ, Trường Đại học Vinh truyền thụ kiến thức, kinh nghiệm giúp đỡ tơi q trình học tập Đặc biệt tơi xin chân thành cảm ơn tới TS Hồng Hữu Việt hướng dẫn tận tình Thầy, Cơ giáo phản biện đóng góp ý kiến quý báu để luận văn hoàn thành 60 TÀI LIỆU THAM KHẢO [1] Gale, D., Shapley, L.S.: College admissions and the stability of marriage The American Mathematical Monthly 9(1), 9-15 (1962) [2] Abraham, D.J., Irving, R.W., Manlove, D.F.: The student-project allocation problem In: Proceedings of the 14th International Symposium, pp 474{484 Kyoto, Japan (2003) [3] Irving, R.W.: An ecient algorithm for the stable roommates" problem Journal of Algorithms 6(1), 577{595 (1985) [4] Guseld, D.: Three fast algorithms for four problems in stable marriage SIAM Journal on Computing 16(1), 111-128 (1987) [5] Irving, R.W., Leather, P., Guseld, D.: An ecient algorithm for the "optimal" stable marriage Journal of the Association for Computing Machinery 34(3), 532-543 (1987) [6] McVitie, D.G., Wilson, L.B.: The stable marriage problem Communication of ACM 14(7), 486-490 (1971) [7] Marco Dorigo, Luca Maria Gambardella Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem IEEE Transactions on Evolutionary Computation, Vol.1, No.1, 1997 [8] L.M Gambardella, M Dorigo, Solving symmetric and asymmetric TSPs by ant colonies, tr 622–627, 1996 [9] Irving, R.W., Leather, P.: The complexity of counting stable marriages SIAM Journal on Computing 15(3), 655667 (1986) 61 [10] Nakamura, M., Onaga, K., Kyan, S., Silva, M.: Genetic algorithm for sex-fair stable marriage problem In: Circuits and Systems, 1995 ISCAS ’95., 1995 IEEE International Symposium on, pp 509–512 Seattle, WA (1995) [11] Vien, N.A., Viet, N.H., Kim, H., Lee, S., Chung, T.: Ant colony based algorithm for stable marriage problem In: Advances and Innovations in Systems, Computing Sciences and Software Engineering, pp 457–461 (2007) [12] Zavidovique, B., Suvonvorn, N., Seetharaman, G.: A novel representation and algorithms for (quasi) stable marriages In: 2005 Proceedings of the Second International Conference on Informatics in Control, Automation and Robotics (ICINCO), pp 63–70 Barcelona, Spain (2005) [13] Iwama, K., Miyazaki, S., Yanagisawa, H.: Approximation algorithms for the sex-equal stable marriage problem ACM Transactions on Algorithms 7(1), 2:1–2:17 (2010) [14] Everaere, P., Morge, M., Picard, G.: Minimal concession strategy for reaching fair, optimal and stable marriages In: Proceedings of the 2013 International Conference on Autonomous Agents and Multi-agent Systems (AAMAS), pp 1319–1320 St Paul, MN, USA (2013) [15] Giannakopoulos, I., Karras, P., Tsoumakos, D., Doka, K., Koziris, N.: An equitable solution to the stable marriage problem In: 2015 IEEE 27th International Conference on Tools with Artificial Intelligence (ICTAI), pp 989–996 Vietri sul Mare, Italy (2015) [16] Gelain, M., Pini, M.S., Rossi, F., Venable, K.B., Walsh, T.: Local search approaches in stable matching problems Algorithms 6(1), 591–617 (2013) 62 [17] Viet, H.H., Trang, L.H., Lee, S.G., Chung, T.C.: An empirical local search for the stable marriage problem In: Proceedings of the 14th Pacific Rim International Conference on Artificial Intelligence - PRICAI 2016: Trends in Artificial Intelligence, pp 556–564 Phuket, Thailand (2016) 63 Phụ lục: MÃ LỆNH LẬP TRÌNH THUẬT TỐN ACS Mã lệnh thuật tốn ACS cho tốn nhân ổn định function ACS_for_ShortList_SMP_Test() clc; clear all; close all; for i = 1:15 n = 50; filename1 = ['test',num2str(n),'\men',num2str(i),'.mat']; filename2 = ['test',num2str(n),'\women',num2str(i),'.mat']; %define man preference list load(filename1); load(filename2); ACS_for_ShortList_SMP(i,menList,womenList); end end %================================================== function ACS_for_ShortList_SMP(iter,menList,womenList) %Shortlist, man and woman optimal solution [menShortlist0,womenShortlist0,M0] = GSManOptimalShortlists(menList,womenList); [womenShortlist_t,menShortlist_t,Mt] = GSWomanOptimalShortlists(womenList,menList); %merge shortlists to obtain the better shortlists n = size(menShortlist0,1); menShortlist = zeros(n,n); womenShortlist = zeros(n,n); for i = 1:n for j = 1:n if (menShortlist0(i,j) == menShortlist_t(i,j)) menShortlist(i,j) = menShortlist0(i,j); end if (womenShortlist0(i,j) == womenShortlist_t(i,j)) womenShortlist(i,j) = womenShortlist0(i,j); end end end %Maximum iterations MAX_ITERS = 50; 64 %type of finding optimal matching type = 3; %define the number of ants m = 20; %parameter standard values alpha = 0.1; beta = 2.0; rho = 0.1; q0 = 0.85; %define target length best_tour = []; best_cost = -inf; %Initialize paramaters tau = ones(n,n); for i = 1:size(M0,2) tau(i,M0(i)) = n; tau(i,Mt(i)) = n; end %% main loop tic; t = 1; while (t

Ngày đăng: 01/08/2021, 11:40

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan