Friday, February 8, 2019

Stable marriage with indifference

Erel Segal:


'''Stable marriage with indifference''' is a variant of the [[Stable marriage problem|stable marriage problem]]. Like in the original problem, the goal is to match all men to all women such that no pair of man and woman who are unmarried to each other, would simultaneously like to leave their present partners and pair with each other instead.

In the classic version of the problem, each person must rank the members of the opposite sex in strict order of preference. However, in a real-world setting, a person may prefer two or more persons as equally favorable partner. Such tied preference is termed as ''indifference''.

Below is such an instance where <math>m_2</math> finds tie between <math>w_3 \& w_1</math> and <math>w_2</math> finds tie between <math>m_1 \& m_2</math>.

<math>m_1[\ w_2\ w_1\ w_3 \ ] \ \ \ \ \ \ w_1[\ m_3\ m_2\ m_1 \ ]</math>

<math>m_2[\left( w_3\ w_1 \right) w_2] \ \ \ \ \ \ w_2[\left( m_1\ m_2\right) m_3 ]</math>

<math>m_3[\ w_1\ w_2\ w_3 \ ] \ \ \ \ \ \ w_3[\ m_2\ m_3\ m_1 \ ]</math>

If tied preference lists are allowed then the stable marriage problem will have three notions of stability which are discussed in the below sections.

1. A matching is called '''weakly stable''' unless there is a couple each of whom strictly prefers the other to his/her partner in the matching. Robert W. Irving<ref name=":0">Liquid error: wrong number of arguments (1 for 2)</ref> has extended the [[Gale–Shapley algorithm]] as below to provide such weakly stable matching in <math>O(n^2)</math> time where n is size of stable marriage problem. Ties in men and women's preference list are broken arbitrarily. Preference lists are reduced as algorithm proceeds.<syntaxhighlight lang="c++" line="1">
Assign each person to be free;
while (some man m is free) do
begin
w := first woman on m’s list;
m proposes, and becomes engaged, to w;
if (some man m' is engaged to w) then
assign m' to be free;
for each (successor m'' of m on w’s list) do
delete the pair (m'', w)
end;
output the engaged pairs, which form a stable matching
</syntaxhighlight>2. A matching is called '''super-stable''' if there is no couple each of whom either strictly prefers the other to his/her partner or is indifferent between them. Robert W. Irving<ref name=":0" /> has modified the above algorithm to check whether such super stable matching exists and outputs matching in <math>O(n^2)</math> time if it exists. Below is the pseudo-code.<syntaxhighlight lang="c++" line="1">
assign each person to be free;
repeat
while (some man m is free) do
for each (woman w at the head of m’s list) do
begin
m proposes, and becomes engaged, to w;
for each (strict successor m' of m on w’s list) do
begin
if (m' is engaged) to w then
break the engagement;
delete the pair (m'. w)
end
end
for each (woman w who is multiply engaged) do
begin
break all engagements involving W;
for each (man m at the tail of w’s list) do
delete the pair (m. w)
end;
until (some man’s list is empty) or (everyone is engaged);
if everyone is engaged then
the engagement relation is a super-stable matching
else
no super-stable matching exists
</syntaxhighlight>3. A matching is '''strongly stable''' if there is no couple x, y such that x strictly prefers y to his/her partner and y either strictly prefers x to his/her partner or is indifferent between them. Robert W. Irving<ref name=":0" /> has provided the algorithm which checks if such strongly stable matching exists and outputs the matching if it exists. The algorithm computes perfect matching between sets of men and women, thus finding the critical set of men who are engaged to multiple women. Since such engagements are never stable, all such pairs are deleted and the proposal sequence will be repeated again until either 1) some man's preference list becomes empty (in which case no strongly stable matching exists) or 2) strongly stable matching is obtained. Below is the pseudo-code for finding strongly stable matching. It runs in <math>O(n^4)</math> time which is explained in the Lemma 4.6 of .<ref name=":0" /><syntaxhighlight lang="c++" line="1">
Assign each person to be free;
repeat
while (some man m is free) do
for each (woman w at the head of m's list) do
begin
m proposes, and becomes engaged, to w;
for each (strict successor m' of m on w’s list) do
begin
if (m' is engaged) to w then
break the engagement;
delete the pair (m'. w)
end
end
if (the engagement relation does not contain a perfect matching) then
begin
find the critical set Z of men;
for each (woman w who is engaged to a man in Z) do
begin
break all engagements involving w;
for each man m at the tail of w’s list do
delete the pair (m, w)
end;
end;
until (some man’s list is empty) or (everyone is engaged);
if everyone is engaged then
the engagement relation is a super-stable matching
else
no strongly stable matching exists
</syntaxhighlight>

== Structure of stable marriage with indifference ==
In many problems, there can be several different stable matchings. The set of stable matchings has a special structure. David F. Manlove<ref>Liquid error: wrong number of arguments (1 for 2)</ref> proved that, both the set of strong stable matchings and the set of super stable matchings form a [[Distributive lattice|distributive lattice]].

== References ==

[[Category:Stable matching]]


from Wikipedia - New pages [en] http://bit.ly/2UM4zyE
via IFTTT

No comments:

Post a Comment