Luận văn Thạc sĩ Khoa học máy tính: Bài toán ghép cặp và ứng dụng trong công tác tuyển sinh
lượt xem 4
download
Luận văn “Bài toán ghép cặp và ứng dụng trong công tác tuyển sinh” nhằm mục đích định hướng cho công tác tuyển sinh của các trường đại học đạt chất lượng và hiệu quả, hỗ trợ các em học sinh được học theo đúng sở trường, năng lực để có một điều kiện tốt hơn trong tương lai. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Luận văn Thạc sĩ Khoa học máy tính: Bài toán ghép cặp và ứng dụng trong công tác tuyển sinh
- ĐẠI HỌC THÁI NGUYÊN ứ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN HỒNG HẢI BÀI TOÁN GHÉP CẶP VÀ ỨNG DỤNG TRONG CÔNG TÁC TUYỂN SINH LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2015 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 2 MỤC LỤC LỜI CẢM ƠN ............................................................................................................. 4 DANH MỤC VIẾT TẮT ............................................................................................ 5 DANH MỤC CÁC HÌNH ........................................................................................... 6 DANH MỤC CÁC BẢNG.......................................................................................... 7 Lời nói đầu .................................................................................................................. 8 Chương 1: TỔNG QUAN MỘT SỐ VẤN ĐỀ VỀ ĐỒ THỊ .................................... 11 1.1.Các khái niệm cơ bản .......................................................................................... 11 1.1.1.Đồ thị ................................................................................................................ 11 1.1.2.Đồ thị hai phía .................................................................................................. 11 1.1.3.Đồ thị hai phía đầy đủ ...................................................................................... 12 1.2.Bài toán ghép cặp không trọng............................................................................ 14 1.2.1. Bài toán ........................................................................................................... 14 1.2.2.Thuật toán đường mở ....................................................................................... 16 1.3.Bài toán ghép cặp với trọng số cực tiểu .............................................................. 17 1.3.1.Bài toán ............................................................................................................ 17 1.3.2.Các khái niệm ................................................................................................... 18 1.3.3.Thuật toán Hungari .......................................................................................... 19 1.4. Bài toán ghép cặp với trọng số cực đại .............................................................. 21 1.4.1.Bài toán ............................................................................................................ 22 1.4.2.Thuật toán......................................................................................................... 22 1.5.Kết luận chương .................................................................................................. 24 Chương 2: BÀI TOÁN GHÉP CẶP ......................................................................... 25 2.1.Giới thiệu bài toán ............................................................................................... 25 2.1.1.Phát biểu bài toán ............................................................................................. 25 2.2.Bài toán hôn nhân bền vững................................................................................ 27 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 3 2.2.1.Giới thiệu bài toán ............................................................................................ 27 2.2.2.Đặt bài toán ...................................................................................................... 28 2.2.3.Các đặc trưng của bài toán ............................................................................... 29 2.2.4.Điều kiện giải bài toán ..................................................................................... 30 2.2.5.Thuật toán cho bài toán hôn nhân bền vững .................................................... 30 2.2.5.1.Ý tưởng và lược đồ thuật toán ....................................................................... 30 2.2.5.2.Tính ổn định và bền vững ............................................................................. 35 2.2.6.Triển khai thuật toán ........................................................................................ 40 2.3.Một số ứng dụng phát triển dựa trên thuật toán hôn nhân bền vững .................. 42 2.3.1.Bài toán ghép tạng (cho và nhận thận) ............................................................. 42 2.3.2.Bài toán ghép cặp bác sĩ thực tập và bệnh viện ............................................... 43 2.4.Kết luận chương .................................................................................................. 43 Chương 3: ỨNG DỤNG THUẬT TOÁN GHÉP CẶP TRONG BỐI CẢNH TUYỂN SINH ĐẠI HỌC Ở NƯỚC TA .................................................................. 45 3.1.Giới thiệu bài toán tuyển sinh ở nước ta ............................................................. 45 3.2.Ý nghĩa bài toán .................................................................................................. 46 3.3.Đặt bài toán ......................................................................................................... 48 3.4.Ý tưởng giải quyết bài toán ................................................................................. 49 3.5.Áp dụng bài toán hôn nhân bền vững ................................................................. 49 3.6.Sự khác nhau giữa bài toán hôn nhân bền vững và tuyển sinh đại học. ............. 50 3.7.Thuật toán............................................................................................................ 51 3.8.Tính ổn định của thuật toán ................................................................................. 56 3.9.Kết luận chương .................................................................................................. 60 KẾT LUẬN ............................................................................................................... 61 TÀI LIỆU THAM KHẢO ......................................................................................... 62 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 4 LỜI CẢM ƠN Để hoàn thành luận văn này, tôi xin bày tỏ lòng biết ơn sâu sắc đến cô giáo hướng dẫn TS. Nguyễn Thị Hồng Minh đã tận tình hướng dẫn tôi trong suốt quá trình thực hiện luận văn. Tôi xin chân thành cảm ơn quý Thầy, Cô trong trường Đại học Công nghệ Thông tin & Truyền thông - Đại học Thái Nguyên; quý Thầy, Cô trong Viện Công nghệ thông tin đã tận tình truyền đạt kiến thức cho chúng tôi trong 2 năm học tập và nghiên cứu. Với vốn tiếp thu trong khóa học không chỉ là nền tảng cho quá trình nghiên cứu luận văn này mà còn là hành trang quý báu, nền tảng vững chắc để tôi tiếp tục nghiên cứu, hoạt động trong lĩnh vực công nghệ thông tin. Cuối cùng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã giúp đỡ và động viên tôi trong công việc và học tập cũng như trong quá trình thực hiện luận văn này. Xin chúc mọi người luôn mạnh khoẻ, đạt được nhiều thành tích cao trong công tác, học tập và nghiên cứu khoa học! Trân trọng cảm ơn! Thái Nguyên, ngày 12 tháng 5 năm 2015 Tác giả Nguyễn Hồng Hải Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 5 DANH MỤC VIẾT TẮT Viết tắt Viết đầy đủ Ý nghĩa Đpcm Điều phải chứng minh Điều phải chứng minh THPT Trung học phổ thông Trường trung học phổ thông Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 6 DANH MỤC CÁC HÌNH Hình 1. Đồ thị ............................................................................................................11 Hình 2. Đồ thị hai phía không có chu trình ...............................................................12 Hình 3. Đồ thị hai phía có chu trình ..........................................................................12 Hình 4.Đồ thị không phải đồ thị hai phía ..................................................................12 Hình 5.Đồ thị hai phía đầy đủ hình sao .....................................................................13 Hình 6. Đồ thị hai phía đầy đủ hình vuốt cây ...........................................................13 Hình 7. Đồ thị hai phía đầy đủ m≠n ..........................................................................14 Hình 8.Đồ thị hai phía đầy đủ m=n ...........................................................................14 Hình 9. Đồ thị hai phía và bộ ghép M .......................................................................16 Hình 10. Chú thích trong 1 ô của bảng ....................................................................32 Hình 11. Khai báo số lượng người đàn ông và số lượng người phụ nữ tham gia ghép cặp.....................................................................................................................41 Hình 12. Khai báo tập có thứ tự về tiêu chuẩn lựa chọn của mỗi người đàn ông .....41 Hình 13. Khai báo tập có thứ tự về tiêu chuẩn lựa chọn của mỗi người phụ nữ ......41 Hình 14. Kết quả thực hiện chương trình ..................................................................42 Hình 15. Chú thích trong 1 ô của bảng .....................................................................53 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 7 DANH MỤC CÁC BẢNG Bảng 1. Tập có thứ tự về tiêu chuẩn lựa chọn của 3 người đàn ông m1, m2, m3 và 3 người phụ nữ w1, w2, w3............................................................................................ 32 Bảng 2.Tập có thứ tự về tiêu chuẩn lựa chọn của 4 người đàn ông m1, m2, m3, m4 và 4 người phụ nữ w1, w2, w3, w4. ................................................................................. 33 Bảng 3.Tập có thứ tự về tiêu chuẩn lựa chọn của 4 người đàn ông m1, m2, m3, m4 và 3 người phụ nữ w1, w2, w3: ....................................................................................... 34 Bảng 4. Tập có thứ tự về tiêu chuẩn lựa chọn của 5 người đàn ông m1, m2, m3, m4, m5 và 5 người phụ nữ w1, w2, w3, w4, w5 .................................................................. 36 Bảng 5. Tập có thứ tự về tiêu chuẩn lựa chọn 2 người phụ nữ w1, w2 và 2 người đàn ông m1, m2 ................................................................................................................. 39 Bảng 6. Tập có thứ tự về tiêu chuẩn lựa chọn của 3 trường đại học u1, u2, u3 và 4 thí sinh s1, s2, s3, s4 .......................................................................................................... 54 Bảng 7. Tập có thứ tự về tiêu chuẩn lựa chọn của 3 trường đại học u1, u2, u3 và 6 thí sinh s1, s2, s3, s4, s5, s6 ................................................................................................ 55 Bảng 8. Tập có thứ tự về tiêu chuẩn lựa chọn của 3 trường đại học u1, u2, u3 và 6 thí sinh s1, s2, s3, s4, s5, s6 ................................................................................................ 56 Bảng 9. Tập có thứ tự về tiêu chuẩn lựa chọn của ba trường đại học: u1, u2, u3 và bốn thí sinh: s1, s2, s3, s4.......................................................................................... 58 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 8 Lời nói đầu Lý thuyết đồ thị là một lĩnh vực nghiên cứu đã có từ lâu và có nhiều ứng dụng hiện đại. Những tư tưởng cơ bản của lý thuyết đồ thị được đề xuất từ những năm đầu của thế kỷ 18 bởi nhà toán học lỗi lạc người Thụy Sĩ Leonhard Euler. Chính ông là người đã sử dụng đồ thị để giải bài toán nổi tiếng về các cái cầu ở thành phố Konigsberg. Từ đó lý thuyết đồ thị ngày càng khẳng định được vị trí quan trọng trong việc áp dụng để giải quyết các bài toán thực tế nhờ vào việc tìm ra ngày càng nhiều các định lý, công thức và thuật toán. Các bài toán, thuật toán trong lý thuyết đồ thị không những có nhiều ứng dụng trong thực tế mà nó còn giúp cho chúng ta mô tả một cách dễ dàng các bài toán phức tạp cụ thể, để từ đó có thể mã hóa các bài toán đó vào máy tính. Thuật toán ghép cặp trong lý thuyết đồ thị là một ví dụ cụ thể: Thuật toán ghép cặp đạt được những thành công nhất định và được áp dụng tại nhiều nước châu Âu là thuật toán được nghiên cứu bởi hai nhà khoa học David Gale và Lloyd Shapley. Thuật toán này đã được giới thiệu và đăng tải trên một tạp chí toán học vào năm 1962. Sau này, thuật toán còn được biết đến với tên gọi thuật toán Gale-Shapley. Tuy nhiên, nghiên cứu của hai nhà khoa học David Gale và Lloyd Shapley chỉ có vẻ đẹp thuần túy về mặt lý thuyết mà khó có thể áp dụng vào trong thực tiễn. Nhà kinh tế học Alvin Roth đã đi xa hơn bằng việc sáng tạo ra các luật chơi áp dụng được trong thực tế. Ông và các cộng sự đã tổ chức các trò chơi kinh tế nho nhỏ để sinh viên tham gia. Sau đó các ông thu thập và phân tích kết quả thu được và mô hình hóa các tương tác giữa những người chơi với nhau dựa trên quan sát thực tế. Nói cách khác, ông thiết kế ra các thị trường mà nếu không có các phát minh của ông thì đã không tồn tại hoặc tồn tại dưới một dạng rất không hiệu quả. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 9 Gần đây nhất, năm 2012, ứng dụng của thuật toán này đã mang lại giải thưởng Nobel kinh tế cho hai nhà khoa học người Mỹ là Alvin E.Roth và Lloyd Shapley với nghiên cứu “Lý thuyết phân phối ổn định và thực tiễn thiết kế thị trường” có khả năng ứng dụng rộng rãi trên khắp thế giới. Thực tế các lĩnh vực trong cuộc sống có liên quan đến giao dịch có yêu cầu ghép cặp là rất nhiều như: ghép cặp giữa các cặp đôi trong trung tâm môi giới hôn nhân, ghép cặp trong trường hợp hiến và ghép tạng; phân công công tác cho các sinh viên tốt nghiệp ngành y tới các bệnh viện, công tác tuyển sinh đại học… Trong các lĩnh vực nêu trên, ở nước ta việc áp dụng thuật toán ghép cặp vào các lĩnh vực đó là chưa nhiều và chưa phổ biến mặc dù có rất nhiều lĩnh vực giao dịch có yêu cầu. Tuyển sinh đại học cũng là một trong nhiều lĩnh vực có yêu cầu giao dịch ghép cặp, đặc biệt là trong khâu tuyển sinh Đại học. Công tác tuyển sinh ở nước ta hiện đang được áp dụng đó là: Kết thúc kỳ thi tốt nghiệp THPT quốc gia, các thí sinh sẽ tìm hiểu chỉ tiêu tuyển sinh, điểm xét tuyển và các điều kiện tuyển sinh khác để lựa chọn những ngành học, trường học phù hợp với nhu cầu của mình. Sau đó sẽ nộp hồ sơ xét dự thi vào những trường có khả năng trúng tuyển cao. Mỗi thí sinh đăng ký xét tuyển đại học sẽ gửi kết quả điểm thi tốt nghiệp THPT và các ngành học đăng ký vào các trường mà mình muốn học (cho phép thí sinh đăng ký tối đa 4 ngành (hoặc nhóm ngành) của một trường cho mỗi đợt xét tuyển; Các nguyện vọng này được xếp theo thứ tự ưu tiên từ 1 đến 4). Ngoài ra thí sinh còn dùng 3 bản chính Giấy chứng nhận kết quả thi dùng cho xét tuyển các nguyện vọng bổ sung để đăng ký; Kết thúc mỗi đợt xét tuyển nguyện vọng bổ sung, thí sinh không trúng tuyển được quyền rút hồ sơ đăng ký xét tuyển để đăng ký xét tuyển đợt tiếp theo. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 10 Các trường đại học tiếp nhận hồ sơ ứng tuyển của các thí sinh và sẽ lựa chọn những thí sinh có điểm từ cao xuống thấp cho đến khi hết chỉ tiêu. Mô hình tuyển sinh đại học này có rất nhiều điểm tương đồng với mô hình tuyển sinh đại học và vào các trường trung học ở Mỹ trước năm 2003: các học sinh trung học được yêu cầu liệt kê 5 trường mà mình ưa thích, tiếp theo danh sách này được gửi đến các trường đại học. Các trường học sẽ lựa chọn xem học sinh nào phù hợp và từ chối những học sinh khác. Quá trình này lặp lại khoảng hơn 2 vòng, và các trường sẽ lựa chọn được những thí sinh phù hợp với trường mình. Nhưng với hình thức tuyển sinh như vậy, kết quả là hơn 30.000 thí sinh phải theo học ở trường mà mình không liệt kê trong danh sách, các trường học bị loại bớt cơ hội lựa chọn những thí sinh mình mong muốn. Hơn nữa, cơ chế này dẫn đến việc trình bày sai sở thích của mỗi sinh viên. Với hình thức tuyển sinh ở nước ta cộng với mối liên quan mật thiết và tính áp dụng thực tế rất cao như giới thiệu trên của bài toán ghép cặp tôi xin lựa chọn đề tài: “ Bài toán ghép cặp và ứng dụng trong công tác tuyển sinh” nhằm mục đích định hướng cho công tác tuyển sinh của các trường đại học đạt chất lượng và hiệu quả, hỗ trợ các em học sinh được học theo đúng sở trường, năng lực để có một điều kiện tốt hơn trong tương lai. Bố cục của luận văn gồm 3 chương. Chương 1 trình bày nội dung tìm hiểu tổng quan về lý thuyết đồ thị. Tiếp theo chương 2 trình bày bài toán ghép cặp, bài toán hôn nhân bền vững và các ứng dụng của bài toán hôn nhân bền vững. Trong chương 3 lấy chương 2 làm tiền đề xây dựng ý tưởng, mô tả thuật toán ghép cặp ứng dụng cho bài toán tuyển sinh. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 11 Chương 1: TỔNG QUAN MỘT SỐ VẤN ĐỀ VỀ ĐỒ THỊ VÀ ĐỒ THỊ HAI PHÍA 1.1. Các khái niệm cơ bản 1.1.1. Đồ thị Đồ thị vô hướng G = (V,E) gồm[4]: - V là tập hợp khác rỗng mà các phần tử của nó gọi là đỉnh (vertex) của G. - E là đa tập hợp gồm các cặp không sắp thứ tự của hai đỉnh. Mỗi phần tử của E được gọi là một cạnh (edge) của G. Đồ thị vô hướng không có cạnh song song và không có khuyên gọi là đồ thị đơn vô hướng. Ví dụ: Hình 1. Đồ thị 1.1.2. Đồ thị hai phía Một đồ thị đơn vô hướng G:=(V,E) được gọi là hai phía nếu tồn tại một phân hoạch tập đỉnh V thành hai tập con X1 và X2 độc lập, rời nhau sao cho bất kì cạnh nào của đồ thị cũng nối một đỉnh thuộc X1 với một đỉnh thuộc X2. Khi đó người ta còn kí hiệu là: G:=(X1X2,E) với các phân hoạch X1, X2 và gọi một tập (chẳng hạn X1) là tập các đỉnh trái và tập còn lại (chẳng hạn X2) là tập Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 12 các đỉnh phải của đồ thị hai phía G. Các đỉnh thuộc X1 gọi là các X1_đỉnh, các đỉnh thuộc X2 gọi là các X2_đỉnh. Nếu |X1|=|X2| thì G được gọi là đồ thị hai phía cân bằng. Ví dụ: Hình 2. Đồ thị hai phía không có chu trình Hình 3. Đồ thị hai phía có chu trình Hình 4.Đồ thị không phải đồ thị hai phía 1.1.3. Đồ thị hai phía đầy đủ Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 13 Cho G = (V,E) là một đồ thị vô hướng hai phía, một phân hoạch V thành hai tập con X1 và X2 (X1 ≠ ≠ X2 và X1 X2 = ), sao cho không có cạnh nối giữa 2 điểm trong cùng một tập con. Khi đó G được gọi là hai phía đầy đủ nếu: Với mọi cặp đỉnh (i,j) mà iX1 và j X2 thì có đúng một cạnh nối i và j, ij là một cạnh trong E. Một đồ thị hai phía đầy đủ với các phân chia kích thước |X1| = m, |X2| = n được kí hiệu là Km,n . Hai đồ thị mà có kí hiệu giống nhau thì chúng đẳng cấu. - Đồ thị hai phía đầy đủ Km,n có: m+n đỉnh, m.n cạnh. - Các dạng đồ thị đầy đủ hai phía: K1,n với đồ thị hình sao Hình 5.Đồ thị hai phía đầy đủ hình sao K1,n với đồ thị hình vuốt cây Hình 6. Đồ thị hai phía đầy đủ hình vuốt cây Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 14 Km,n với m≠n Hình 7. Đồ thị hai phía đầy đủ m≠n Km,n với m = n Hình 8. Đồ thị hai phía đầy đủ m=n 1.2. Bài toán ghép cặp không trọng 1.2.1. Bài toán Cho một đồ thị hai phía G = (X1X2,E) ở đây X1 là các tập đỉnh trái và X2 là tập các đỉnh phải của G. X1={x1[1], x1[2],…, x1[m]}, X2={x2[1], x2[2],…, x2[n]}. Một bộ ghép (matching) của G là một tập các cạnh của G đôi một không có đỉnh chung. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 15 Bài toán ghép cặp (matching problem) là tìm một bộ ghép lớn nhất (nghĩa là có số cạnh lớn nhất) của G. Xét một bộ ghép M của G. - Các đỉnh trong M gọi là các đỉnh đã ghép (matched vertices), các đỉnh khác là chưa ghép. - Các cạnh trong M gọi là các cạnh đã ghép, các cạnh khác là chưa ghép. Nếu định hướng lại các cạnh của đồ thị thành cung, những cạnh chưa ghép được định hướng từ X1 sang X2, những cạnh đã ghép định hướng từ X2 về X1 .Trên đồ thị định hướng đó: Một đường đi xuất phát từ một X1_đỉnh chưa ghép gọi là đường pha (alternating path), một đường đi từ một X1_đỉnh chưa ghép tới một X2_đỉnh chưa ghép gọi là đường mở (augmenting path). Một cách dễ hiểu, có thể quan niệm như sau: - Một đường pha là một đường đi đơn trong G bắt đầu bằng một X1_đỉnh chưa ghép, đi theo một cạnh chưa ghép sang X2 , rồi đến một cạnh đã ghép về X1, rồi lại đến một cạnh chưa ghép sang X2… cứ xen kẽ nhau như vậy. - Một đường mở là một đường pha. Bắt đầu từ một X1_đỉnh chưa ghép kết thúc bằng một X2_đỉnh chưa ghép. Ví dụ: Với đồ thị hai phía trong hình 9 và bộ ghép M ={(x1[1],x2[1]),(x1[2],x2[2])} x1[3] và x2[3] là những đỉnh chưa ghép, các đỉnh khác là đã ghép. Đường (x1[3], x2[3], x1[2], x2[1]) là đường pha. Đường (x1[3], x2[3], x1[2], x2[1], x1[1], x2[3]) là đường mở. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 16 Hình 9. Đồ thị hai phía và bộ ghép M 1.2.2. Thuật toán đường mở Thuật toán đường mở để tìm một bộ ghép lớn nhất cho bài toán ghép cặp phát biểu như sau: Bước 1: Bắt đầu từ một bộ ghép bất kỳ M (thông thường bộ ghép được khởi gán bằng bộ ghép rỗng hay được tìm bằng các thuật toán tham lam). Bước 2: Tìm một đường mở. Bước 3: Nếu bước 2 tìm được đường mở thì mở rộng bộ ghép M: Trên đường mở, loại bỏ những cạnh đã ghép khỏi M và thêm vào M những cạnh chưa ghép. Sau đó lặp lại bước 2. Nếu bước 2 không tìm được đường mở thì thuật toán kết thúc. * Mã giả thuật toán: Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 17 Input: Đồ thị hai phía G = (X1X2,E), X1={x1[1], x1[2],…, x1[m]}, X2={x2[1], x2[2],…, x2[n]}. Output: Một bộ ghép M lớn nhất của G. Matching1() Khởi tạo một bộ ghép M; n = số cạnh đã ghép; While (có đường mở xuất phát từ x1 tới một đỉnh x2 chưa ghép X2) xóa các cạnh đã ghép khỏi M; ghép (x1, x2); n++; End. Như ví dụ trên, với bộ ghép hai cạnh M ={(x1[1],x2[1]),(x1[2],x2[2])} và đường mở tìm được gồm các cạnh: (x1[3], x2[2]) M (x2[2], x1[2]) M (x1[2], x2[1]) M (x2[1], x1[1]) M (x1[1], x2[3]) M Vậy thì ta sẽ loại đi các cạnh (x2[2], x1[2]) và (x2[1], x1[1]) trong bộ ghép cũ và thêm vào đó các cạnh (x1[3], x2[2]), (x1[2], x2[1]), (x1[1], x2[3]) được bộ ghép 3 cạnh. 1.3. Bài toán ghép cặp với trọng số cực tiểu 1.3.1. Bài toán Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 18 Cho một đồ thị hai phía G = (X1X2,E). X1={x1[1], x1[2],…, x1[m]}, X2={x2[1], x2[2],…, x2[n]}. Được cho bởi ma trận vuông C cỡ kk, c[i, j] = trọng số cạnh nối đỉnh x1[i] với x2[j]. Giả thiết c[i, j]0 (i, j) Bài toán ghép cặp với trọng số cực tiểu là tìm một bộ ghép đầy đủ trọng số nhỏ nhất. Hai định lý sau đây tuy rất đơn giản nhưng là những định lý quan trọng tạo cơ sở cho thuật toán sẽ trình bày. Định lý 1: Loại bỏ khỏi G những cạnh trọng số lớn hơn 0. Nếu những cạnh trọng số 0 còn lại tạo ra bộ ghép k cạnh trong G thì đây là bộ ghép cần tìm. Chứng minh: theo giả thiết, các cạnh của G mang trọng số không âm nên bấy kỳ bộ ghép nào trong G cũng có trọng số không âm, mà bộ ghép ở trên mang trọng số 0, nên tất nhiên đó là bộ ghép đầy đủ trọng số nhỏ nhất. Định lý 2: Với đỉnh x1[i], nếu ta cộng thêm một số (dương hay âm) vào tất cả những cạnh liên thuộc với x1[i] (tương đương với việc cộng thêm vào tất cả các phần tử thuộc hàng i của ma trận C) thì không ảnh hưởng tới bộ ghép đầy đủ trọng số nhỏ nhất. Chứng minh: Với một bộ ghép đầy đủ bất kỳ thì có một và chỉ một cạnh ghép với x1[i]. Nên việc cộng thêm vào tất cả các cạnh liên thuộc với x1[i] sẽ làm tăng trọng số bộ ghép đó lên . Vì vậy nếu như ban đầu, M là bộ ghép đầy đủ trọng số nhỏ nhất thì sau thao tác trên, M vẫn là bộ ghép đầy đủ trọng số nhỏ nhất. 1.3.2. Các khái niệm Để cho gọn, ta gọi những cạnh trọng số 0 của G là những 0_cạnh. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 19 Xét một bộ ghép M chỉ gồm những 0_cạnh. - Những đỉnh M gọi là những đỉnh đã ghép, những đỉnh còn lại gọi là những đỉnh chưa ghép. - Những 0_cạnh M gọi là những 0_cạnh đã ghép, những 0_cạnh còn lại là những 0_cạnh chưa ghép. Nếu ta định hướng lại các 0_cạnh theo cách: Những 0_cạnh chưa ghép cho hướng từ tập X1 sang tập X2, những 0_cạnh đã ghép cho hướng từ tập X2 về tập X1. Khi đó: - Đường pha là một đường đi cơ bản xuất phát từ một X1_ đỉnh chưa ghép đi theo các 0_cạnh đã định hướng ở trên. Như vậy dọc trên đường pha, các 0_cạnh chưa ghép và những 0_cạnh đã ghép xen kẽ nhau. Vì đường pha chỉ là đường đi cơ bản trên đồ thị định hướng nên việc xác định những đỉnh nào có thể đến được từ x X1 bằng một đường pha có thể sử dụng các thuật toán tìm kiếm trên đồ thị. Những đỉnh và những cạnh được duyệt qua tạo thành một cây pha gốc x. - Một đường mở là một đường pha đi từ một X1_ đỉnh chưa ghép tới một X2_đỉnh chưa ghép. Như vậy: - Đường đi trực tiếp từ một X1_đỉnh chưa ghép tới một X2_đỉnh chưa ghép qua một 0_cạnh chưa ghép cũng là một đường mở. - Dọc trên đường mở, số 0_cạnh chưa ghép nhiều hơn số 0_cạnh đã ghép đúng 1 cạnh. 1.3.3. Thuật toán Hungari Bước 1: Khởi tạo Một bộ ghép M := Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
- 20 Bước 2: với mọi đỉnh x X1, ta tìm cách ghép x: Bắt đầu từ đỉnh x, thử tìm đường mở bắt đầu ở x bằng thuật toán tìm kiếm trên đồ thị. Có hai khả năng có thể xảy ra: - Hoặc tìm được đường mở thì dọc theo đường mở, ta loại bỏ những cạnh đã ghép khỏi M và thêm vào M những cạnh chưa ghép, ta được một bộ ghép mới nhiều hơn bộ ghép cũ 1 cạnh và đỉnh x trở thành đã ghép. - Hoặc không tìm được đường mở thì có thể xác định được: VisitedX1= {Tập những X1_đỉnh có thể đến được từ x bằng một đường pha} VisitedX2= {Tập những X2_đỉnh có thể đến được từ x bằng một đường pha} Gọi là trọng số nhỏ nhất của các cạnh nối giữa một đỉnh thuộc VisitedX1 với một đỉnh không thuộc VisitedX2. Dễ thấy >0 bởi nếu =0 thì tồn tại một 0_cạnh (x1, x2) với x1VisitedX1 và x2VisitedX2. Vì x đến được x1 bằng một đường pha và (x1, x2) là một 0_cạnh nên x cũng đến được x2 bằng một đường pha, dẫn tới x2 VisitedX2, điều này vô lý. Biến đổi đồ thị G: với x1 VisitedX1, trừ vào trọng số những cạnh liên thuộc với x1, với x2 VisitedX2, cộng vào trọng số những cạnh liên thuộc với x2. Lặp lại thủ tục tìm kiếm trên đồ thị thử tìm đường mở xuất phát ở x cho tới khi tìm ra đường mở. Bước 3: Sau bước 2 thì mọi X1_đỉnh đều được ghép, in kết quả về bộ ghép tìm được. * Mã giả thuật toán Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Tóm tắt luận văn thạc sĩ khoa học xã hội và nhân văn: Ảnh hưởng của văn học dân gian đối với thơ Tản Đà, Trần Tuấn Khải
26 p | 788 | 100
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán tô màu đồ thị và ứng dụng
24 p | 493 | 83
-
Luận văn thạc sĩ khoa học: Hệ thống Mimo-Ofdm và khả năng ứng dụng trong thông tin di động
152 p | 328 | 82
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán màu và ứng dụng giải toán sơ cấp
25 p | 372 | 74
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán đếm nâng cao trong tổ hợp và ứng dụng
26 p | 414 | 72
-
Tóm tắt luận văn thạc sĩ khoa học: Nghiên cứu thành phần hóa học của lá cây sống đời ở Quãng Ngãi
12 p | 544 | 61
-
Tóm tắt luận văn Thạc sĩ Khoa học: Nghiên cứu vấn đề an ninh mạng máy tính không dây
26 p | 517 | 60
-
Luận văn thạc sĩ khoa học Giáo dục: Biện pháp rèn luyện kỹ năng sử dụng câu hỏi trong dạy học cho sinh viên khoa sư phạm trường ĐH Tây Nguyên
206 p | 300 | 60
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán tìm đường ngắn nhất và ứng dụng
24 p | 344 | 55
-
Tóm tắt luận văn thạc sĩ khoa học: Bất đẳng thức lượng giác dạng không đối xứng trong tam giác
26 p | 313 | 46
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Đặc trưng ngôn ngữ và văn hóa của ngôn ngữ “chat” trong giới trẻ hiện nay
26 p | 321 | 40
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán ghép căp và ứng dụng
24 p | 265 | 33
-
Tóm tắt luận văn thạc sĩ khoa học xã hội và nhân văn: Phật giáo tại Đà Nẵng - quá khứ hiện tại và xu hướng vận động
26 p | 236 | 22
-
Tóm tắt luận văn Thạc sĩ Khoa học: Nghiên cứu ảnh hưởng của quản trị vốn luân chuyển đến tỷ suất lợi nhuận của các Công ty cổ phần ngành vận tải niêm yết trên sàn chứng khoán Việt Nam
26 p | 287 | 14
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Thế giới biểu tượng trong văn xuôi Nguyễn Ngọc Tư
26 p | 250 | 13
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Đặc điểm ngôn ngữ của báo Hoa Học Trò
26 p | 215 | 13
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Ngôn ngữ Trường thơ loạn Bình Định
26 p | 194 | 5
-
Luận văn Thạc sĩ Khoa học giáo dục: Tích hợp nội dung giáo dục biến đổi khí hậu trong dạy học môn Hóa học lớp 10 trường trung học phổ thông
119 p | 5 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn