Sự phức tạp của vấn đề kết hôn?


8

Giả sử bạn có nam và nữ. Mỗi người có thuộc tính. Mỗi người chỉ ra một tập các thuộc tính mà một ứng cử viên có thể nên có. Một kết hợp là một tập hợp các cặp. Mỗi cặp ràng buộc một nam với một nữ. Sự hài lòng của một kết hợp là số lượng thuộc tính hài lòng cho người kém may mắn nhất. n mnnm

Là tìm kiếm một sự phù hợp với sự hài lòng tối đa có thể giải quyết một cách hiệu quả hay là -hard?NP


Là số lượng thuộc tính trung bình thỏa mãn là thước đo sự hài lòng tốt hơn số lượng thuộc tính hài lòng cho người kém may mắn nhất?
Dónal

Câu trả lời:


7

Hãy bắt đầu với phiên bản quyết định của vấn đề: với "mức độ hài lòng" k, có tồn tại sự phù hợp trong đó mọi người được khớp với một người có ít nhất k thuộc tính mong muốn. Đây chỉ là giải quyết khớp bipartite trên biểu đồ nơi chúng ta kết nối nam và nữ nếu mỗi người có được sự hài lòng từ người kia. (Thời gian chạy có vẻ như O (mn ^ 2).) Để có được vấn đề ban đầu, chỉ cần thực hiện tìm kiếm nhị phân trên k (để biết thêm yếu tố log (m) trong thời gian chạy.)


Có vẻ là giải pháp tương tự như trong nhận xét của Tsuyoshi đối với câu trả lời của Tomer Vromen?
Jukka Suomela

Thuật toán của bạn có khái quát cho trường hợp mỗi người chỉ ra một tập các thuộc tính mong muốn và một tập hợp các thuộc tính không mong muốn không?
Mohammad Al-Turkistany

7

Tôi có thể đã hiểu nhầm câu hỏi, bởi vì câu trả lời của tôi mâu thuẫn với Serge. Theo hiểu biết của tôi, bạn đang hỏi về vấn đề chuyển nhượng nút cổ chai tuyến tính. Điều này được biết là được giải quyết trong O (n ^ 2.5).

Nguồn thông tin đầy đủ nhất là [1], mặc dù tôi thực sự không thích phong cách của cuốn sách. Ngoài ra còn có một trang web: http : //www.ass queprobols.com/linearBNAP.htm

EDIT: Để làm rõ, chúng tôi muốn một nhiệm vụ sao cho cạnh với chi phí tối đa được giảm thiểu. Chi phí sẽ là số lượng tối đa của các thuộc tính chưa được gán cho cả nam và nữ được khớp.

EDIT2: Tôi chỉ có thể cung cấp tài liệu tham khảo từ cuốn sách tôi đã trích dẫn. Ba trong số đó là:

  1. G. Carpaneto và P. Toth Thuật toán cho giải pháp của bài toán gán cổ chai. Máy tính , 27: 179-187m 1981
  2. U. Derigs. Chiến lược thay thế để giải quyết các vấn đề gán cổ chai - phân tích và kết quả tính toán. Máy tính , 33: 95-106, 1984
  3. U. Derigs và U. Zimmermann. Một phương pháp đường dẫn tăng để giải quyết các vấn đề gán tắc nghẽn tuyến tính. Máy tính , 19: 285-295, 1978

Bạn nên cố gắng giữ cuốn sách, vì liệt kê một số thuật toán có sẵn.

[1] Các vấn đề chuyển nhượng của Rainer Burkard, Mauro Dell'Amico, Silvano Martello


Tôi nghĩ rằng điều này làm việc. Bạn có thể đưa ra một tham chiếu cho thuật toán thời gian O (n ^ 2.5) không?
Serge Gaspers

@Serge, tôi đã chỉnh sửa câu trả lời của mình để bao gồm các tài liệu tham khảo
Tomer Vromen

2
Nhân tiện, nếu chúng tôi hài lòng với thuật toán chậm hơn, có thể dễ dàng giải quyết vấn đề chuyển nhượng tuyến tính của tuyến tính (Tôi không biết tên, tại sao Truyền tuyến tính?) Trong thời gian đa thức bằng cách sử dụng tìm kiếm nhị phân và giải quyết hoàn hảo vấn đề phù hợp trong mỗi lần lặp.
Tsuyoshi Ito

3

Như Tsuyoshi chỉ ra trong một bình luận dưới đây, không có lý do gì giải pháp cho vấn đề phải là một kết hợp ổn định. Vì vậy, cách tiếp cận của câu trả lời này có thể không hoạt động; đặc biệt là vì tôi tin rằng câu trả lời của Tomer là đúng.


Có vẻ như phiên bản của bạn về vấn đề Hôn nhân tương đương với sự hối tiếc Tối thiểu Sự cố hôn nhân ổn định với Ties, nơi mọi người xếp các thành viên của giới tính khác bằng các mối quan hệ có thể, và mục tiêu là tối đa hóa "hạnh phúc" tối thiểu.

Điều này được thể hiện trong [1] rằng hối tiếc tối thiểu Vấn đề hôn nhân ổn định với Ties không thể tính gần đúng trong , đối với mọi , trừ khi P = NP, trong đó là số lượng đàn ông trong một người nhất định ví dụ của vấn đề, ngay cả khi các mối quan hệ chỉ ở một bên, có nhiều nhất một cà vạt cho mỗi danh sách và mỗi cà vạt có độ dài 2. ε > 0 NN1ϵϵ>0N

[1]: David Manlove, Robert W. Irving, Kazuo Iwama, Shuichi Miyazaki, Yasufumi Morita: Những biến thể khó của hôn nhân bền vững. Lý thuyết. Tính toán. Khoa học. 276 (1-2): 261-279 (2002). Dấu ấn .


1
Thật vậy, tôi nghĩ rằng bạn có thể chuyển đổi vấn đề đã cho sang tình huống hối tiếc tối thiểu: nếu một thành viên có thuộc tính mong muốn , thì thứ hạng sẽ theo thứ tự giảm dần, trong đó là tập hợp các thuộc tính của người , khác nhau trên các thành viên khác giới. | S A i | Một i i iS|SAi|Aiii
Neeldhara

1
Tôi không thể thấy lý do tại sao một giải pháp trong câu hỏi được hỏi phải phù hợp ổn định, mặc dù tôi chưa hiểu hoàn toàn câu hỏi được hỏi.
Tsuyoshi Ito

0

Đây không phải là một biến thể của kết hợp lưỡng cực tối đa chi phí tối thiểu sao? Trọng số cho mỗi cạnh bằng với số lượng thuộc tính hài lòng và thay vì tìm kết quả khớp tối đa mang lại cho bạn tổng trọng số nhỏ nhất, bạn muốn một trọng số mà trọng lượng cạnh tối thiểu được tối đa hóa.

Nếu cách hiểu này là chính xác, tôi sẽ nghĩ rằng một thuật toán đường dẫn tăng tương tự như Busacker Kiếm Gowen [ 1 ] sẽ hoạt động. Thay vì luôn luôn tìm đường tăng giá rẻ nhất (tính theo tổng trọng lượng), bạn sẽ tìm đường tốt nhất (tối đa hóa cạnh tối thiểu). Điều đó, một lần nữa, có thể thực hiện được với một sửa đổi nhỏ đối với bất kỳ thuật toán đường đi ngắn nhất tiêu chuẩn nào (như Dijkstra, được sử dụng trong phiên bản Busacker, Gowen sử dụng điều chỉnh trọng lượng của Edmonds và Karp).

Tôi đoán bạn sẽ phải làm lại bằng chứng chính xác, nhưng tôi nghĩ nó nên hoạt động? Thời gian chạy cho một luồng tối ưu với giá trị luồng v (nghĩa là, các cặp khớp v trong trường hợp này) sẽ là trong trường hợp chung; Ở đây tôi đoán đó sẽ là , mặc dù nó có thể còn thấp hơn cho ứng dụng cụ thể để khớp hai bên. (BusackerTHER Gowen là một thuật toán dòng chi phí tối thiểu chung.)O ( v n 2 lg n )O(v|E|lg|V|)O(vn2lgn)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.