1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và tìm kiếm cục bộ cho bài toán hôn nhân ổn định

50 9 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 1,01 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong toán học và khoa học máy tính, bài toán hôn nhân ổn định SM yêu cầu tìm một cặp ghép ổn định giữa các phần tử của hai tập hợp theo thứ tự ưu tiên của mỗi phần tử.. Trong luận văn n

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH

PHẠM VĂN SỸ

NGHIÊN CỨU TÌM KIẾM CỤC BỘ CHO BÀI TOÁN

HÔN NHÂN ỔN ĐỊNH Chuyên ngành: CÔNG NGHỆ THÔNG TIN

Mã số:

LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN

Người hướng dẫn: TS HOÀNG HỮU VIỆT

Nghệ An, 2018

Trang 3

LỜI CẢM ƠN

Lời đầu tiên tôi xin bày tỏ lòng cảm ơn và biết ơn chân thành nhất của mình tới tất cả những người đã hỗ trợ, giúp đỡ tôi trong quá trình thực hiện luận văn tốt nghiệp

Tôi xin cảm ơn Ngành Công nghệ Thông tin, Viện Kỹ thuật và Công nghệ, Phòng sau đại học, Trường Đại học Vinh cũng như quý thầy cô giáo trong khoa đã giúp đỡ, tạo mọi điều kiện thuận lợi nhất, hỗ trợ, giảng dạy giúp đỡ tôi trong quá trình học tập và thực hiện luận văn tốt nghiệp Đặc biệt

tôi muốn gửi lời cảm ơn chân thành đến TS Hoàng Hữu Việt, là người

hướng dẫn, nhận xét, giúp đỡ để tôi có thể hoàn thành được luận văn này Tôi xin được gửi lời cảm ơn đến gia đình, bạn b đ ng nghiệp đã luôn bên cạnh động viên tôi trong quá trình hoàn thiện luận văn

Nhân đây, tôi xin kính chúc quý Thầy, Cô giáo sức khỏe và tiếp tục đạt nhiều thành công trong nghiên cứu khoa học và trong sự nghiệp giảng dạy, chúc Viện Kỹ thuật và Công nghệ ngày một phát triển

Mặc dù đã có nhiều cố gắng nhưng quá trình thực hiện luận văn không thể tránh khỏi thiếu sót, vì vậy tôi rất mong nhận được những ý kiến đóng góp

bổ sung của thầy cô giáo và các bạn để luận văn của tôi được hoàn thiện hơn

Tôi xin chân thành cảm ơn!

Nghệ An, tháng năm 2018

Học viên

Phạm Văn Sỹ

Trang 4

MỤC LỤC

Trang

LỜI CẢM ƠN 3

MỞ ĐẦU 7

1 Sự cần thiết của vấn đề nghiên cứu 7

2 Mục tiêu nghiên cứu 8

2.1 Mục tiêu tổng quát 8

2.2 Mục tiêu cụ thể 8

3 Đối tượng và phạm vi nghiên cứu 9

3.1 Đối tượng nghiên cứu 9

3.2 Phạm vi nghiên cứu 9

4 Nội dung nghiên cứu 9

5 Kết cấu của luận văn 10

Chương 1 TỔNG QUAN VỀ BÀI TOÁN HÔN NHÂN ỔN ĐỊNH 12

1.1 Bài toán hôn nhân ổn định 12

1.1.1 Phát biểu bài toán 12

1.2.2 Các định nghĩa 13

1.2.3 Các biến thể của bài toán hôn nhân ổn định 14

1.2.3.1 Bài toán phân công giảng viên hướng dẫn sinh viên thực hiện đề tài14 1.2.3.2 Bài toán xếp phòng ở ký túc xá 15

1.2 Các hướng tiếp cận giải bài toán hôn nhân ổn định 15

1.3 Kết luận Chương 16

Chương 2 THUẬT TOÁN GALE – SHAPLEY VÀ THUẬT TOÁN VÉT CẠN CHO BÀI TOÁN HÔN NHÂN ỔN ĐỊNH 18

2.1 Thuật toán Gale - Shapley 18

2.1.1 Mô tả thuật toán 18

2.1.2 Ví dụ minh họa 19

2.1.3 Ưu/nhược điểm của thuật toán Gale - Shapley 22

Trang 5

2.2 Thủ tục phá vỡ hôn nhân 22

2.3 Thuật toán vét cạn tìm tất cả các phép ghép ổn định 24

2.4 Kết luận chương 28

Chương 3 TÌM KIẾM CỤC BỘ CHO BÀI TOÁN HÔN NHÂN ỔN ĐỊNH 29

3.1 Thuật toán tìm kiếm cục bộ 29

3.2 Thuật toán tìm kiếm cục bộ một chiều cho bài toán hôn nhân ổn định30 3.3 Thuật toán tìm kiếm cục bộ hai chiều cho bài toán hôn nhân ổn định32 3.4 So sánh thuật toán tìm kiếm cục bộ với thuật toán vét cạn 38

3.4.1 Thực nghiệm với các bài toán hôn nhân ổn định có kích thước 50 39 3.4.2 Thực nghiệm với các bài toán hôn nhân ổn định có kích thước 10040 3.4.3 Thực nghiệm với các bài toán hôn nhân ổn định có kích thược 20042 3.5 Một số đánh giá các thuật toán 44

3.6 Kết luận chương 45

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 47

1 Kết luận 47

2 Kiến nghị và hướng phát triển 48

TÀI LIỆU THAM KHẢO 50

Trang 6

DANH MỤC CÁC BẢNG, HÌNH VẼ

Trang Bảng

Bảng 2.1 Danh sách "thích" của 8 nam và 8 nữ 20 Bảng 2.2 Các bộ ghép ổn định của ví dụ 1 26 Bảng 3.1 Các phép ghép được sinh ra của ví dụ 2.1 theo thủ tục

Trang 7

MỞ ĐẦU

1 Sự cần thiết của vấn đề nghiên cứu

Vấn đề hôn nhân ổn định (SM) là một vấn đề nổi tiếng về kết hợp nam giới và phụ nữ bình đẳng để thỏa mãn sự ổn định nhất định Vấn đề này được Gale và Shapley giới thiệu lần đầu tiên và gần đây đã nhận được sự chú ý của cộng đ ng nghiên cứu do vai trò quan trọng của nó trong một loạt các ứng dụng như phân công công việc cho công nhân, xếp thời khóa biểu ở trường đại học, tuyển sinh đại học, cho và nhận trong ghép tạng, phân công các bác

sĩ thường trú cho các bệnh viện ghép đôi bác sĩ thực tập và bệnh viện, học sinh tiểu học đến trường trung học cũng như trong các giao dịch trên thị trường

Trong toán học và khoa học máy tính, bài toán hôn nhân ổn định (SM) yêu cầu tìm một cặp ghép ổn định giữa các phần tử của hai tập hợp theo thứ

tự ưu tiên của mỗi phần tử Một cặp ghép là một ánh xạ từ các phần tử của tập hợp này tới các phần tử của tập hợp kia Một cặp ghép là ổn định nếu hai điều

kiện sau không đ ng thời xảy ra: (i) Một phần tử x của tập hợp thứ nhất thích phần tử y của tập hợp thứ hai hơn phần tử được ghép với x và (ii) y cũng thích

x hơn phần tử được ghép với y Nói cách khác, một cặp ghép là ổn định nếu không t n tại cặp (x, y) trong đó cả x và y đều thích phần tử kia hơn phần tử

được ghép với chúng

Bài toán hôn nhân ổn định thường được phát biểu như sau: Có n người đàn ông và n phụ nữ trong đó mỗi người xếp hạng tất các mọi người khác giới từ 1 đến n theo thứ tự ưu tiên cần tìm cách tổ thức hôn nhân sao cho

không t n tại hai người khác giới yêu nhau hơn vợ/ch ng của họ Nếu không

t n tại những người như vậy thì tất cả các cuộc hôn nhân là "ổn định"

Trang 8

ừ thực tế cho thấy trong hôn nhân có một số người đàn ông và phụ nữ độc thân muốn kết hôn Mỗi người có một tiêu chuẩn riêng với những người

mà họ muốn kết hôn Với các ràng buộc như vậy, việc mỗi người đều kết hôn được với người lý tưởng nhất của mình là điều gần như không thể

Vậy câu hỏi đặt ra là làm thế nào để việc "ghép đôi" thực hiện một cách tốt nhất có thể Năm 1962 David Gale và Lloyd Shapley đã nghiên cứu và đưa ra một thuật toán giải quyết cho bài toán ghép đôi trên và nhiều bài toán tương tự đã thu hút được các nhà nghiên cứu trong các lĩnh vực khác nhau như toán học, kinh tế học, lý thuyết trò chơi khoa học máy tính Tuy nhiên, thuật toán Gale - Shapley chỉ tối ưu được cho một phía nghĩa là nó chỉ tìm được nghiệm tối ưu cho những người đàn ông hoặc cho những người phụ nữ Thuật toán Gale-Shapley áp dụng cho bài toán có số lượng nam nữ bằng nhau

Trong luận văn này chúng tôi nghiên cứu thuật toán tìm kiếm cục bộ để tìm kiếm các phép ghép ổn định bình đẳng hoặc phép ghép cân bằng giới tính của một bài toán hôn nhân ổn định

2 Mục tiêu nghiên cứu

2.1 Mục tiêu tổng quát

Nghiên cứu các thuật toán tìm kiếm cục bộ một chiều và thuật toán tìm kiếm cục bộ hai chiều giải bài toán hôn nhân ổn định với số lượng nam và nữ bằng nhau

2.2 Mục tiêu cụ thể

Đề tài tập trung vào các mục tiêu chính sau:

i) Nghiên cứu tổng quan về bài toán hôn nhân ổn định

ii) Nghiên cứu thuật toán Gale-Shapley

Trang 9

iii) Nghiên cứu thuật toán vét cạn cho bài toán hôn nhân ổn định

iv) Nghiên cứu các thuật toán tìm kiếm cục bộ cho bài toán hôn nhân ổn

định

v) Cài đặt thuật toán tìm kiếm cục bộ cho bài toán hôn nhân ổn định đưa

ra nhận xét và đề xuất

3 Đối tượng và 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 các tài liệu về bài toán hôn nhân ổn định đã công bố ở trong

và ngoài nước; các kết quả khảo sát có tính chất đánh giá của các nghiên cứu

đi trước; các tài liệu lập trình để thực thi thuật toán

(b) Nghiên cứu thực nghiệm

Sử dụng ngôn ngữ lập trình Matlab để cài đặt và thực thi các thuật toán tìm kiếm vét cạn và tìm kiếm cục bộ cho bài toán hôn nhân ổn định Đánh giá các thuật toán dựa trên thực nghiệm

3.2 Phạm vi nghiên cứu

Trong phạm vi luận văn này chúng tôi tập trung áp dụng các thuật toán tìm kiếm cục bộ để giải quyết bài toán hôn nhân ổn định với số lượng nam và

nữ bằng nhau

4 Nội dung nghiên cứu

- Nghiên cứu bài toán hôn nhân ổn định với số lượng nam và nữ bằng nhau

- Nghiên cứu các thuật toán Gale-Shapley cho bài toán hôn nhân ổn định

Trang 10

- Nghiên cứu tổng quan các phương pháp giải bài toán hôn nhân ổn định

- Nghiên cứu thuật toán vét cạn, thuật toán tìm kiếm cục bộ cho bài toán hôn nhân ổn định

- Cài đặt các thuật toán vét cạn, thuật toán tìm kiếm cục bộ cho bài toán hôn nhân ổn định

- Đánh giá hiệu quả của các thuật toán vét cạn, thuật toán tìm kiếm cục

bộ cho bài toán hôn nhân ổn định

5 Kết cấu của luận văn

Luận văn g m 3 chương với nội dung của các chương như sau:

Chương 1 Tổng quan về bài toán hôn nhân ổn định: Chương này

giới thiệu về bài toán hôn nhân ổn định và các định nghĩa về các tiêu chuẩn ổn định tối ưu của bài toán Chương này cũng trình bày về các biến thể của bài toán hôn nhân ổn định và các hướng tiếp cận giải bài toán hôn nhân ổn định

Chương 3 Tìm kiếm cục bộ cho bài toán hôn nhân ổn định: Chương

này trình bày về thuật toán tìm kiếm cục bộ cũng như thuật toán tìm kiếm cục một chiều và thuật toán tìm kiếm cục bộ hai chiều cho bài toán ôn nhân ổn

Trang 11

định Ngoài ra chương này cũng mô tả các kết quả thực nghiệm so sánh hiệu quả giữa các thuật toán vét cạn, thuật toán tìm kiếm cục bộ một chiều và thuật toán tìm kiếm cục bộ 2 chiều cho bài toán hôn nhân ổn định Cuối cùng, chương này đưa ra một số đánh giá về hiệu qủa của các thuật toán thực thi cho bài toán hôn nhân ổn định

Trang 12

Chương 1 TỔNG QUAN VỀ BÀI TOÁN HÔN NHÂN ỔN ĐỊNH

Chương này giới thiệu về bài toán hôn nhân ổn định và các định nghĩa về các tiêu chuẩn ổn định tối ưu của bài toán Chương này cũng trình bày về các biến thể của bài toán hôn nhân ổn định và các hướng tiếp cận giải bài toán hôn nhân ổn định đã có

1.1 Bài toán hôn nhân ổn định

1.1.1 Phát biểu bài toán

Bài toán được giới thiệu bởi Gale and Shapley [1] và đã nhận được nhiều

sự quan tâm của nhiều nhà nghiên cứu vì vai trò quan trọng của nó trong nhiều ứng dụng như bài toán phân công giảng viên hướng dẫn đề tài/dự án cho sinh viên [2], bài toán ghép cặp sinh viên ở ký túc xá [3], v.v

Bài toán hôn nhân ổn định (the stable marriage problem) là một bài toán ghép cặp của một số tương đương giữa nam và nữ để thõa mãn một điều kiện

ổn định nào đó Bài toán hôn nhân ổn định kích thước n g m một tập n người đàn ông và một tập n người phụ nữ trong đó mỗi người xếp hạng thứ tự

"thích" những người khác giới theo một thứ tự ưu tiên từ 1 đến n trong một danh sách mà được gọi là danh sách xếp hạng thứ tự thích Một phép ghép M

là một tập n cặp (nam, nữ) trong đó mỗi người đàn ông chỉ được ghép với một người phụ nữ duy nhất và ngược lại Nếu một nam m và một nữ w là một cặp trong phép ghép M thì m và w được gọi là "bạn ghép" hay cặp ghép trong M

và được ký hiệu là m = M(w) và w = M(m) Một nam m và một nữ w tạo thành một cặp ghép khối (blocking pair) trong M nếu m "thích" w hơn M(m) (tức là thứ tự ưu tiên của w bé hơn M(m) trong danh sách thích của m) và w thích m hơn M(w) Một phép ghép M mà không chứa mọi cặp ghép khối thì M được gọi là phép ghép ổn định ngược lại M được gọi là không ổn định Ký hiệu mr(m,w) là thứ tự của nữ w trong danh sách xếp hạng thích của nam m và

Trang 13

wr(w,m) là thứ tự của nam m trong danh sách xếp hạng thích của nữ w Với một phép ghép M, giá của phép ghép M của tập nam, ký hiệu là sm(M), và giá của ghép ghép M của tập nữ, ký hiệu là sw(M) được định nghĩa như sau:

Định nghĩa 1 (tối ưu cho tập nam) [4]: Một phép ghép M được gọi là

phép ghép ổn định tối ưu cho tập nam (man-optimal) nếu M có giá trị sm(M)

là bé nhất trong tất cả các phép ghép ổn định

Định nghĩa 2 (tối ưu cho tập nữ) [4]: Một phép ghép M được gọi là

phép ghép ổn định tối ưu cho tập nữ giới (woman-optimal) nếu M có giá trị sw(M) là bé nhất trong tất cả các phép ghép ổn định

Cho bài toán hôn nhân ổn định kích thước n, Gale and Shapley đã đề

nghị một thuật toán, gọi là thuật toán Gale-Shapley [1] để tìm một nghiệm tối

ưu cho tập nam giới trong thời gian O(n 2

) Về cơ bản, thuật toán là một dãy các đề nghị từ mỗi nam tới những người nữ giới để tìm phép ghép tối ưu cho tập nam giới Nếu vai trò của nam giới được thay đổi cho nữ giới, tức là đề nghị từ mỗi nữ tới các nam giới, thì nghiệm của thuật toán Gale-Shapley là nghiệm tối ưu theo tập nữ giới Chú ý rằng, trong phép tối ưu theo tập nam giới thì mỗi nam chọn được một nữ mà mình thích nhất nhưng mỗi nữ sẽ có người nam mà mình ít thích nhất ương tự, trong phép tối ưu theo tập nữ giới thì mỗi nữ chọn được một nam mà mình thích nhất nhưng mỗi nam sẽ có

người nữ mà mình ít thích nhất Với bài toán hôn nhân ổn định kích thước n,

Trang 14

có thể có nhiều phép ghép ổn định khác với phép ghép ổn định tối ưu theo tập nam và phép ghép ổn định tối ưu theo tập nữ Hơn nữa, có thể nói rằng phép ghép ổn định tối ưu theo tập nam và phép ghép ổn định tối ưu theo tập nữ là những phép ghép "ích kỷ" cho tập nam và tập nữ Do đó cần tìm các phép ghép ổn định tối ưu khác mà cân bằng cho cả tập nam và tập nữ Cho một

phép ghép ổn định M, giá của phép ghép bình đẳng theo giới tính (egalitarian cost) của M, ký hiệu là c(M), và giá của ghép tương đương theo giới tính (sex- equality cost) của M, ký hiệu là d(M) được định nghĩa như sau:

Định nghĩa 3 (tối ưu bình đẳng theo giới tính) [4]: Một phép ghép M

được gọi là phép ghép ổn định tối ưu bình đẳng theo giới tính (egalitarian

cost) nếu M có giá trị c(M) là bé nhất trong tất cả các phép ghép ổn định

Định nghĩa 4 (tối ưu tương đương theo giới tính) [4]: Một phép ghép

M được gọi là phép ghép ổn định tối ưu tương đương theo giới tính equality cost) nếu M có giá trị d(M) là bé nhất trong tất cả các phép ghép ổn

(sex-định

1.2.3 Các biến thể của bài toán hôn nhân ổn định

1.2.3.1 Bài toán phân công giảng viên hướng dẫn sinh viên thực hiện đề tài

Bài toán phân công giảng viên hướng dẫn sinh viên thực hiện đề tài/đ

án là bài toán thường gặp trong các trường đại học Bài toán này thường được thực hiện bằng cách khoa đào tạo phân công trực tiếp giảng viên hướng dẫn cho sinh viên hoặc sinh viên xin xác nhận hướng dẫn của giảng viên và sau đó đăng ký giảng viên hướng dẫn với khoa đào tạo Khi mỗi giảng viên bị hạn chế về số lượng hướng dẫn sinh viên thì hướng giải quyết này không hiệu quả

Trang 15

vì khó đáp ứng thõa mãn đ ng thời yêu cầu chọn sinh viên của giảng viên và chọn giảng viên của sinh viên Để tìm lời giải tối ưu cho bài toán bài toán đã được mô hình theo dạng tìm nghiệm của bài toán phân công giảng viên-sinh viên (Lecturer-Student Allocation hoặc LSA) thực hiện đề tài/đ án trong đó mỗi giảng viên đề xuất hướng dẫn một danh sách sinh viên được sắp xếp theo thứ tự ưu tiên và mỗi sinh viên cũng đề xuất một danh sách giảng viên hướng dẫn làm đề tài/đ án được sắp xếp theo thứ tự ưu tiên Như vậy bài toán LSA trở thành bài toán ghép cặp các phần tử của 2 tập hợp L (tập giảng viên) và S (tập sinh viên) không giao nhau (two-sided matching problem), tức là tìm một tập con của tập LS nhằm tối ưu nguyên vọng đề xuất của giảng viên và sinh viên

1.2.3.2 Bài toán xếp phòng ở ký túc xá

Bài toán ghép cặp sinh viên ở ký túc xá là bài toán thường gặp ở mỗi đầu năm học của phòng quản lý sinh viên ở các trường đại học, các sinh viên nhập học đăng ký ở ký túc xá đ ng thời đưa ra thứ tự ưu tiên các nguyện vọng và sở thích (hoặc lựa chọn cho mình phòng và người bạn cùng phòng)

để lựa chọn người bạn cùng phòng Sinh viên thứ (x) đề nghị người đầu tiên trong danh sách của mình về cùng phòng, nếu trong danh sách của sinh viên được đề nghị có người khác có thứ hạng cao hơn thì họ (sinh viên x) sẻ từ chối đề nghị, lúc này sinh viên (x) sẽ tiếp tục đề nghị người thứ 2 trong danh

sách và bài toán này trở nên bài toán ghép cặp của 2 sinh viên trong tập n

sinh viên

1.2 Các hướng tiếp cận giải bài toán hôn nhân ổn định

Tiếp cận bài toán hôn nhân ổn định bằng thuật toán Gale - Shapley và nêu ra một số hạn chế khi áp dụng thuật toán Người ta đã chứng minh rằng trong kết hợp ổn định tối ưu cho người đàn ông và trong kết hợp ổn định tối

Trang 16

ưu cho phụ nữ, mỗi người đàn ông có đối tác t i tệ nhất mà anh ta có thể có trong bất kỳ sự kết hợp ổn định nào Vì vậy, thích hợp để tìm kiếm các kết hợp ổn định tối ưu khác để tạo sự lựa chọn cân bằng hơn cho cả đàn ông và phụ nữ Đ ng thời qua đó đưa ra tất cả các kết quả ổn định và hiển thị kết quả phù hợp

Nghiên cứu các thuật toán tìm kiếm cục bộ để tìm ra được các kết quả tối

ưu hơn dựa vào các kết quả đề xuất trước đó và đảm bảo thõa mãn cả nam và

nữ tránh được việc bất cân bằng và bình đẳng nam nữ Đề xuất một thuật toán tìm kiếm cục bộ để tìm các kết hợp cân bằng và ổn định giới tính trong vấn đề hôn nhân ổn định Dựa trên mối quan hệ bình đẳng của các kết hợp ổn định theo quan điểm của nam giới, cách tiếp cận của chúng tôi phát hiện ra các kết hợp cân bằng và ổn định giới tính từ kết hợp ổn định tối ưu Bằng cách sử dụng thủ tục phá vỡ hôn nhân (breakmarriage) để tìm kết quả lân cận

ổn định của kết hợp ổn định hiện tại và chuyển sang đối sánh lân cận tốt nhất, tìm kiếm cục bộ của chúng tôi tìm ra giải pháp trong khi di chuyển về phía ổn định phụ nữ tối ưu phù hợp Mô phỏng cho thấy thuật toán đề xuất của chúng tôi là hiệu quả cho vấn đề hôn nhân ổn định

1.3 Kết luận Chương

Chương 1 đã trình bày tổng quan về bài toán hôn nhân ổn định và một số biến thể của bài toàn Nội dung chương đã trình bày một số khái niệm định nghĩa liên quan để vận dụng vào giải quyết bài toán luận văn đề cập tới Chương này cũng đã trình bày về hôn nhân và hôn nhân ổn định; phép ghép

ổn định tối ưu cho tập nam, phép ghép ổn định tối ưu cho tập nữ; phép ghép

ổn định tối ưu bình đẳng theo giới tính; phép ghép ổn định tối ưu tương đương theo giới tính Nội dung chương trình bày một số bài toán là biến thể của bài toán hôn nhân ổn định trong thực tế như: Bài toán phân công giảng

Trang 17

viên hướng dẫn sinh viên thực hiện đề tài; Bài toán ghép cặp sinh viên ở ký túc xá

Trang 18

Chương 2 THUẬT TOÁN GALE – SHAPLEY VÀ THUẬT TOÁN VÉT

CẠN CHO BÀI TOÁN HÔN NHÂN ỔN ĐỊNH

Chương này sẽ trình bày thuật toán Gale-Shapley để tìm phép ghép tối

ưu cho tập nam và tập nữ của bài toán hôn nhân ổn định Ngoài ra chương này cũng sẽ trình bày thủ tục phá vỡ hôn nhân (breakmarriage) của một bộ phép ổn định để sinh ra một bộ ghép ổn định khác Dựa trên thủ tục phá vỡ hôn nhân chương này giới thiệu một thuật toán vét cạn để tìm tất cả các phép ghép ổn định của bài toán và từ đó tìm các phép ghép ổn định tối ưu theo một tiêu chuẩn nào đó

2.1 Thuật toán Gale - Shapley

2.1.1 Mô tả thuật toán

Để giải quyết bài toán hôn nhân đề cập ở Chương 1 Shapley và Gale đưa ra một thuật toán mà sau này trở nên nổi tiếng với tên gọi “ huật toán Gale-Shapley” và được mô tả như thuật toán 2.1 [1]

Cho bài toán hôn nhân ổn định kích thước n, thuật toán Gale-Shapley để tìm một nghiệm tối ưu cho tập nam giới trong thời gian O(n 2) Về cơ bản, thuật toán là một dãy các đề nghị từ mỗi nam tới những người nữ giới để tìm phép ghép tối ưu cho tập nam giới Thuật toán khởi tạo mỗi nam và mỗi nữ

chưa được ghép cặp Ở mỗi vòng lặp, thuật toán tìm một nam m chưa được ghép cặp và tìm một nữ w mà nam m thích nhất trong danh sách xếp hạng

"thích" của nam m mà m chưa chọn trước đó Nếu nữ w chưa được ghép cặp với ai thì m và w được tạo thành một cặp (m,w) Ngược lại, nếu nữ w đã được ghép cặp với một nam m' nào đó thì nữ w sẽ từ chối một trong hai người nam

m hoặc m' mà nữ w ít thích hơn để ghép cặp với người nam còn lại Sau đó

người nam bị loại sẽ trở thành độc thân Thuật toán kết thúc khi tất cả mọi nam đều được ghép cặp

Trang 19

Thuật toán 2.1: Thuật toán Gale-Shapley

1: Vào: danh sách "thích" của tập nam và tập nữ

2: Ra: phép ghép ổn định tối ưu cho tập nam

3: Khởi tạo tất cả các nam và nữ độc thân, tức là chưa được ghép cặp

4: while (t n tại một nam m chưa được ghép cặp) do

5: Nam m đề cử nữ w là người thích nhất mà chưa đề cử;

6: if (w chưa được ghép cặp) then

Xét ví dụ về bài toán hôn nhân ổn định kích thước 8 (tức là có 8 nam và

8 nữ) trong đó danh sách "thích" của các nam và nữ được cho trong bảng 2.1

[5] Ví dụ nam m 1 xếp hạng "thích" các cô gái theo thứ tự từ 1 đến 8 tương

Trang 20

- Lặp 2: m 2 chưa được ghép cặp do đó m 2 chọn w 5 , tức là M = {(m 1 ,w 4),

(m 2 ,w 5)}

- Lặp 3: m 3 chưa được ghép cặp do đó m 3 chọn w 3 , tức là M = {(m 1 ,w 4),

(m 2 ,w 5 ), (m 3 ,w 3)}

- Lặp 4: m 4 chưa được ghép cặp và do đó m 4 chọn w 5 Vì w 5 đã được

ghép với m 2 nhưng w 5 thích m 4 hơn m 2 do đó w 5 được ghép với m 4 và m 2 bị

loại hay m 2 chưa được ghép cặp, tức là M = {(m 1 ,w 4 ), (m 3 ,w 3 ), (m 4 ,w 5)}

Bảng 2.1 Danh sách "thích" của 8 nam và 8 nữ

Nam Danh sách thích Nữ Danh sách thích

- Lặp 5: m 2 chưa được ghép cặp và do đó m 2 chọn tiếp w 3 Vì w 3 đã được

ghép với m 3 nhưng thích m 2 hơn m 3 do đó w 3 được ghép với m 2 và m 3 bị loại,

hay m 3 chưa được ghép cặp, tức là M = {(m 1 ,w 4 ), (m 2 ,w 3 ), (m 4 ,w 5)}

- Lặp 6: m 3 chưa được ghép cặp và do đó m 3 chọn tiếp w 8 Vì w 8 chưa

được ghép cặp do đó m 3 chọn w 8 , tức là M = {(m 1 ,w 4 ), (m 2 ,w 3 ), (m 3 ,w 8),

(m 4 ,w 5)}

Trang 21

- Lặp 7: m 5 chưa được ghép cặp và do đó m 5 chọn w 1 Vì w 1 chưa được

ghép cặp do đó m 5 chọn w 1 , tức là M = {(m 1 ,w 4 ), (m 2 ,w 3 ), (m 3 ,w 8 ), (m 4 ,w 5),

(m 5 ,w 1)}

- Lặp 8: m 6 chưa được ghép cặp và do đó m 6 chọn w 8 Vì w 8 đã được

ghép với m 3 nhưng thích m 3 hơn m 6 do đó w 3 được ghép với m 3 và m 6 bị loại,

hay m 6 chưa được ghép cặp, tức là M = {(m 1 ,w 4 ), (m 2 ,w 3 ), (m 3 ,w 8 ), (m 4 ,w 5),

- Lặp 11: m 8 chưa được ghép cặp và do đó m 8 chọn w 5 Vì w 5 đã được

ghép với m 4 nhưng thích m 4 hơn m 8 do đó w 5 được ghép với m 4 và m 8 bị loại,

hay m 8 chưa được ghép cặp, tức là M = {(m 1 ,w 4 ), (m 2 ,w 3 ), (m 3 ,w 8 ), (m 4 ,w 5),

(m 5 ,w 1 ), (m 6 ,w 6 ), (m 7 ,w 2)}

- Lặp 12: m 8 chưa được ghép cặp và do đó m 8 chọn tiếp w 7 Vì w 7 chưa

được ghép cặp do đó m 8 chọn w 7 , tức là M = {(m 1 ,w 4 ), (m 2 ,w 3 ), (m 3 ,w 8),

(m 4 ,w 5 ), (m 5 ,w 1 ), (m 6 ,w 6 ), (m 7 ,w 2 ), (m 8 ,w 7)}

- Lặp 13: ở bước này, tất cả các nam đã được ghép cặp và thuật toán

dừng Thuật toán trả về nghiệm ổn định tối ưu cho tập nam là M = {(m 1 ,w 4),

(m 2 ,w 3 ), (m 3 ,w 8 ), (m 4 ,w 5 ), (m 5 ,w 1 ), (m 6 ,w 6 ), (m 7 ,w 2 ), (m 8 ,w 7)}

Trang 22

Nếu đổi vai trò để cử tập nam cho tập nữ, thuật toán Gale-Shapley cho

trả về nghiệm ổn định tối ưu cho tập nữ là M = {(m 1 ,w 1 ), (m 2 ,w 4 ), (m 3 ,w 7),

(m 4 ,w 8 ), (m 5 ,w 3 ), (m 6 ,w 5 ), (m 7 ,w 6 ), (m 8 ,w 2)}

2.1.3 Ưu/nhược điểm của thuật toán Gale - Shapley

Thuật toán Gale - Shapley kết thúc sau hữu hạn bước và luôn cho một phép ghép ổn định tối ưu theo tập nam Nếu vai trò của nam và nữ được thay đổi phép ghép được tìm thấy bởi Gale-Shapley là phép ghép ổn định tối ưu cho tập nữ Người ta đã chứng minh rằng trong phép ghép ổn định tối ưu cho tập nam, mỗi người phụ nữ có bạn ghép t i tệ nhất mà cô ta có trong bất kỳ các phép ghép ổn định và trong phép ghép ổn định tối ưu cho tập nữ, mỗi người nam có một bạn ghép t i tệ nhất mà anh có trong bất kỳ phép ghép ổn định Vì vậy, thích hợp để tìm kiếm các phép ghép ổn định tối ưu khác để tạo

sự lựa chọn cân bằng hơn cho cả đàn ông và phụ nữ

2.2 Thủ tục phá vỡ hôn nhân

Gọi M là một phép ghép ổn định và (m,w) là một cặp ghép trong phép

ghép M Thủ tục phá vỡ hôn nhân (break marriage) [6], ký hiệu là

breakmarriage(M,m), nhằm tìm một phép ghép ổn định M' từ phép ghép ổn định M và nam m Ý tưởng của thủ tục breakmarriage(M,m) tương tự như thuật toán Gale-Shapley Ban đầu, thủ tục gán w = M(m) và gán m là độc thân

Ở mỗi vòng lặp, thuật toán thực hiện một dãy các đề cử, loại bỏ và chấp nhận

giống như thuật toán Gale-Shapley Thuật toán dừng khi hoặc là một nam m nào đó bị loại bỏ bởi tất cả các nữ hoặc là nữ w chấp nhận một nam m' nào đó

mà cô ta thích hơn bạn ghép hiện thời (tức là M(w)) của w' Bởi vì luôn có một nam độc thân ở mọi thời gian thực hiện của thuật toán, nếu một nữ w chấp nhận một nam m' thì sẽ không có nam nào độc thân và thủ tục breakmarriage(M,m) sẽ trả về một phép ghép ổn định M' của n cặp ghép

Trang 23

Ví dụ breakmarriage(M 0 ,1), trong đó M 0 là phép ghép tối ưu của tập

nam trong ví dụ 2.1, sẽ trả về phép ghép ổn định M' = {(m 1 ,w 4 ), (m 2 ,w 3),

(m 3 ,w 2 ), (m 4 ,w 5 ), (m 5 ,w 1 ), (m 6 ,w 6 ), (m 7 ,w 8 ), (m 8 ,w 7)} Tuy nhiên

breakmarriage(M 0 ,2) sẽ không trả về phép ghép ổn định nào, tức là trả về

phép ghép rỗng

Nếu thủ tục breakmarriage(M,m) được áp dụng cho mọi nam trong tập

nam thì sẽ sinh ra các phép ghép ổn định bị lặp lại nhiều lần Xét ví dụ với thủ

tục breakmarriage như sau:

- Thủ tục breakmarriage(M 0 ,1) sẽ sinh ra M 1 = {(1,3), (2,4), (3,8), (4,5), (5,1), (6,6), (7,2), (8,7)}

- Thủ tục breakmarriage(M 0 ,3) sẽ sinh ra M 2 = {(1,4), (2,3), (3,2), (4,5), (5,1), (6,6), (7,8), (8,7)}

- Thủ tục breakmarriage(M 1 ,3) sẽ sinh ra M 3 = {(1,3), (2,4), (3,2), (4,5), (5,1), (6,6), (7,8), (8,7)}

- Thủ tục breakmarriage(M 2 ,1) sẽ sinh ra M 3 = {(1,3), (2,4), (3,2), (4,5), (5,1), (6,6), (7,8), (8,7)}

Như vậy dễ thấy rằng M 3 được sinh ra tử 2 phép ghép M 1 và M 2 Để tìm tất cả các phép ghép ổn định mà mỗi phép ghép chỉ được sinh ra đúng mọt

lần McVitie and Wilson [6] đề nghị một thuật toán breakmarriage với hai

tính chất sau:

i) Nếu thủ tục breakmarriage(M,m) trả về một phép ghép ổn định M' thì breakmarriage(M',i) chỉ thực hiện với những nam i ≥ m

ii) Trong thủ tục breakmarriage(M,m) chỉ những nam m' ≥ m đề cử, tức

là nếu một nam m' nào đó là độc thân và m' < m trong quá trình thực hiện thuật toán thì breakmarriage(M,m) dừng và trả về phép ghép rỗng

Trang 24

iii) Trong phép ghép tối ưu cho tập nữ M t, mỗi nam có bạn ghép t i nhất

mà anh ta có trong tất cả các bộ ghép ổn định Do đó với mỗi nam m, chỉ hạn chế tìm kiếm tới w mà có trong M t

Thủ tục breakmarriage(M,m) với các tính chất trên được mô tả trong

thuật toán 2.2

Thuật toán 2.2 Thủ tục breakmarriage

1: Vào: - Danh sách xếp hạng thích của tập nam X và của tập nữ Y;

2: - Bộ ghép ổn định M, nam m và bộ ghép tối ưu cho tập nữ M t ;

3: Ra: - Một bộ ghép ổn định M' hoặc rỗng;

4: Khởi tạo w = M(m) và M(w) = 0;

5: while (true) do

6: Tìm một nam m' chưa được ghép cặp;

7: if (không tìm thấy m') then trả về M' = M;

Trang 25

Phần này chúng tôi mô tả một thuật toán vét cạn dựa trên thủ tục

breakmarriage để tìm tất cả các phép ghép ổn định của bài toán hôn nhân ổn định kích thước n Thuật toán vét cạn được xây dựng dựa trên định lý sau:

Định lý 1 [6]: Mọi phép ghép ổn định M i (i = 1, 2, , t) có thể đạt được bằng một chuỗi thực hiện thủ tục breakmarriage bắt đầu từ phép ghép ổn định tối ưu cho tập nam M0, với M t là phép ghép ổn định tối ưu cho tập nữ

Thuật toán vét cạn tìm ra tất cả các bộ ghép ổn định được mô tả như thuật toán 2.3 Đầu tiên, thuật toán Gale-Shapley được dùng để tìm các bộ

ghép tối ưu cho tập nam M 0 và bộ ghép tối ưu cho tập nữ M t Bắt đầu ở

nghiệm M 0, thuật toán tìm tất cả các bộ ghép ổn đinh như sau Đầu tiên thuật

toán sẽ tìm tất cả các bộ ghép ổn định được sinh ra từ bộ ghép ổn định M 0 với

mọi nam từ 1 đến n bằng thủ tục breakmarriage Tiếp theo, thuật toán tiếp tục tìm tất cả bộ ghép ổn định được sinh ra từ các bộ ghép mà được sinh ra từ M 0 với mọi nam từ 1 đến n bằng thủ tục breakmarriage Quá trình sinh các bộ ghép tiếp tục cho đến khi có một bộ ghép M mà không sinh ra bất kỳ bộ ghép

ổn định nào với mọi nam từ 1 đến n heo định lý 1, vì bộ ghép ổn định tối ưu cho tập nữ M t không sinh ra các bộ ghép ổn định khác nên khi thuật toán tìm

thấy M t thì nó sẽ dừng

Thuật toán 2.3 Thuật toán vét cạn tìm tất cả các bộ ghép ổn định

1: Vào: - Danh sách thích của tập nam X và tập nữ Y;

2: Ra: - Tất cả các phép ổn định của bài toán hôn nhân ổn định;

3: - Phép ghép ổn định tối ưu theo hàm đánh giá tiêu chuẩn tối ưu f;

4: Tìm M 0 dùng thuật toán Gale-Shapley;

5: Tìm M t dùng thuật toán Gale-Shapley;

6: Gán M best = M 0;

7: Gán parrentSet = M 0;

8: Gán stableSet = M 0;

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Gale, D., Shapley, L.S.: College admissions and the stability of marriage Sách, tạp chí
Tiêu đề: College admissions and the stability of marriage
Tác giả: D. Gale, L.S. Shapley
[3] Irving, R.W.: An ecient algorithm for the \stable roommates" problem Sách, tạp chí
Tiêu đề: An ecient algorithm for the "stable roommates" problem
Tác giả: R.W. Irving
[4] 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) Sách, tạp chí
Tiêu đề: Genetic algorithm for sex-fair stable marriage problem
Tác giả: Nakamura, M., Onaga, K., Kyan, S., Silva, M
Nhà XB: 1995 IEEE International Symposium on Circuits and Systems
Năm: 1995
[5] Viet, H.H., Trang, L.H., Lee, S.G., Chung, T.C.: A bidirectional local search for the stable marriage problem. In: Proceedings of the 2016 International Conference on Advanced Computing and Applications (ACOMP), pp. 18-24. Can Tho City, VietNam (2016) Sách, tạp chí
Tiêu đề: A bidirectional local search for the stable marriage problem
Tác giả: Viet, H.H., Trang, L.H., Lee, S.G., Chung, T.C
Nhà XB: Proceedings of the 2016 International Conference on Advanced Computing and Applications (ACOMP)
Năm: 2016
[7] Russel, S., Norvig, P.: Articial Intelligence A Modern Approach. Pearson Education, 3nd Ed. (2010) Sách, tạp chí
Tiêu đề: Artificial Intelligence A Modern Approach
Tác giả: Russel, S., Norvig, P
Nhà XB: Pearson Education
Năm: 2010
[8] 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 Pacic Rim International Conference on Arti cial Intelligence - PRICAI 2016: Trends in Articial Intelligence, pp. 556-564. Phuket, Thailand (2016) Sách, tạp chí
Tiêu đề: Proceedings of the 14th Pacic Rim International Conference on Arti cial Intelligence - PRICAI 2016: Trends in Articial Intelligence
Tác giả: Viet, H.H., Trang, L.H., Lee, S.G., Chung, T.C
Năm: 2016
[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) Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w