Bài toán hôn nhân bền vững

Một phần của tài liệu ghép cặp và bài toán phân việc trên đồ thị (Trang 44 - 46)

3 Một số ứng dụng của ghép cặp

3.3 Bài toán hôn nhân bền vững

Cho một đồ thị hai phần đầy đủ G = (U ∪V, E), bao gồm hai tập đỉnh

U, V với |U| = |V| = n và tập cạnh E = U ×V. Mỗi đỉnh u ∈ U biểu thị một cô gái, mỗi đỉnh v ∈ V biểu thị một chàng trai. Mỗi cô gái (chàng trai) có một danh sách các chàng trai (cô gái), sao cho người đầu tiên trong danh sách là chàng trai (cô gái) mà người đó ưa thích nhất và người cuối cùng trong danh sách là chàng trai (cô gái) mà người đó kém ưa thích nhất. Danh sách ưa thích của mỗi cô gái (chàng trai) phải bao gồm đầy đủ n người khác giới.

Một cách hình thức, mỗi cô gái u ∈ U có một danh sách:

ρ(u) ={ρ1(u), ρ2(u), . . . , ρn(u)}, ρi(u), ρj(u) ∈ V, ρi(u) 6= ρj(u)

và mỗi chàng trai v ∈ V có một danh sách:

π(v) ={π1(v), π2(v), . . . , πn(v)}, πk(v), πl(v) ∈ U, πk(v) 6= πl(v)

Mỗi ghép cặp hoàn hảo H trên G được gọi là một cuộc hôn nhân và mỗi cạnh ghép (u, v) ∈ H với u ∈ U, v ∈ V được gọi là một cặp vợ chồng. Một cuộc hôn nhân H gọi là không bền vững nếu có đôi nữ - nam, không phải là cặp vợ chồng trong H ((u, v) ∈/ H) mà họ lại ưa thích nhau hơn so với người bạn đời trong H của họ. Chẳng hạn, giả sử Lan - Phong, Mai - Tân là hai cặp vợ chồng trong H. Nhưng trong danh sách ưa thích của Lan, Tân lại đứng trước Phong và trong danh sách ưa thích của Tân, Lan lại đứng trước Mai. Ghép cặp Lan - Phong và Mai - Tân như trên, về lâu dài là không bền vững.

Lan - Phong : Danh sách ưa thích của Lan = { ... Tân ... Phong ... } Mai - Tân : Danh sách ưa thích của Tân = { ... Lan ... Mai ... }

Hãy tìm trong G một ghép cặp hoàn hảo, biểu thị cuộc hôn nhân bền vững?

Bước 1. Mỗi chàng trai ngỏ lời với cô gái đầu tiên trong danh sách ưa thích của mình.

Bước 2. Mỗi cô gái nhận được lời đề nghị cầu hôn của các chàng trai, kiểm tra danh sách ưa thích của mình và sẽ nhận lời (hứa hôn) với chàng trai có mức ưa thích cao nhất trong số các chàng trai đã ngỏ lời với mình.

Bước 3. Trong vòng lựa chọn tiếp theo, các chàng trai chưa được hứa hôn với ai sẽ ngỏ lời với cô gái tiếp theo trong danh sách ưa thích của mình. Bước 4. Khi một cô gái đã hứa hôn với một chàng trai, cô ta kiểm tra xem có lời đề nghị nào khác từ phía các chàng trai có mức ưa thích cao hơn hay không, nếu có (như một số cô gái vẫn làm!) cô ta sẽ huỷ bỏ lời hứa hôn với người yêu cũ và nhận lời với chàng trai có mức ưa thích cao nhất trong số các chàng trai vừa mới ngỏ lời với cô ta. Trong vòng lựa chọn tiếp theo, các chàng trai bị mất người yêu trong cuộc đua tài, sẽ ngỏ lời với cô gái đứng liền ngay sau người yêu vừa bị mất trong danh sách ưa thích của mình.

Bước 5. Lặp lại các Bước 3 và 4 cho tới khi mọi người đều được ghép đôi.

Thuật toán nêu trên bao giờ cũng phải dừng, bởi vì khi một chàng trai ngỏ lời với cô gái cuối cùng trong danh sách của mình thì các cô gái đứng trước trong danh sách đã hứa hôn với n− 1 chàng trai khác, vì thế cô gái chưa hứa hôn với ai phải chấp nhận lời đề nghị này của chàng trai và thuật toán kết thúc.

Mệnh đề 3.1. Hôn nhân tìm được theo thuật toán nêu trên là bền vững.

Chứng minh. Giả sử trái lại, hôn nhân tìm được không bền vững, nghĩa là có cặp Lan và Tân như đã mô tả ở trên. Vì Lan đứng trước Mai trong danh sách ưa thích của Tân nên Tân phải ngỏ lời với Lan trước Mai. Vì Lan từ chối Tân, nên cô ta hứa hôn với chàng trai đứng trước Tân trong danh sách ưa thích của mình. Lan chỉ huỷ bỏ lời hứa hôn khi có lời đề nghị của chàng trai đứng trước chàng trai hiện thời của cô ta trong danh sách, như vậy Phong phải đứng trước Tân trong danh sách ưa thích của Lan. Mâu thuẫn này cho thấy hôn nhân tìm được là bền vững.

Mô hình bài toán nêu trên có nhiều ứng dụng trong thực tiễn, đặc biệt trong bố trí người thực hiện các công việc theo sở trường sao cho hiệu quả nhất.

Một phần của tài liệu ghép cặp và bài toán phân việc trên đồ thị (Trang 44 - 46)

Tải bản đầy đủ (PDF)

(50 trang)