• 沒有找到結果。

A NECESSARY AND SUFFICIENT CONDITION FOR THE EXISTENCE OF A COMPLETE STABLE MATCHING

N/A
N/A
Protected

Academic year: 2021

Share "A NECESSARY AND SUFFICIENT CONDITION FOR THE EXISTENCE OF A COMPLETE STABLE MATCHING"

Copied!
25
0
0

加載中.... (立即查看全文)

全文

(1)

A Necessary

and Sufficient

Condition

for the

Existence

of a Complete

Stable Matching

JIMMY J. M. TAN*

Department of Computer and Information Science, National Chiao Tung University, Hsinchu, Taiwan, Republic of China

Received January 15, 1989; revised May 4, 1990

The stable roommates problem is a well-known problem of matching n people into n/2 disjoint pairs so that no two unmatched persons both prefer each other to their partners under the matching. We call such a matching “a complete stable matching.” It is known that a complete stable matching may not exist. Irving described an O(n’) algorithm that would find one complete stable matching if there is one, or would report that none exists. In this paper, we give a necessary and sufficient condition for the existence of a complete stable matching; namely, the non-existence of any odd party, which will be defined subsequently. We define a new structure called a “stable partition,” which generalizes the notion of a complete stable matching, and prove that every instance of the stable roommates problem has at least one such structure. We also show that a stable partition contains all the odd parties, if there are any. Finally we have an O(n*) algorithm that finds one stable partition which in turn gives all the odd parties. Q 1991 Academic Press, Inc.

1. INTROD~JCTION

The stable roommates problem is defined as follows. There is a set S of n people. Each person i has a preference list that includes a subset Si of S - {i} and a rank ordering (most preferred first) of the persons in Si. For person i, the set Si has the meaning that the only persons he is willing to be matched with are those in Si. A complete matching M is a partition of the n persons into n/2 disjoint pairs of roommates such that for every pair {a, b) in M, a is on b’s list and b is on a’s list. A complete matching M is unstable if there are two persons who are not matched and both

*This research was supported by National Science Council of Republic of China under Grant NSC 77-0408-E009-18.

154

0196-6774/91 $3.00

Copyright 0 1991 by Academic Press. Inc. All rights of reproduction in any form resewed.

(2)

JIMMY J. M. TAN 155

prefer each other to their partners under the matching; such a pair is said

to block the matching M. A complete matching which is not unstable is

called stable. The problem here is to find a complete stable matching.

Gale and Shapley Ill proposed this problem and gave the following

example to show that a complete stable matching may not exist. In this example anyone paired with person 4 will cause instability.

Person Preference list

1 234

2 314

3 124

4 Arbitrary

Knuth [ll] demonstrated that multiple solutions could exist and asked for an efficient algorithm to generate a solution, if one exists. Irving [61 solved this problem by proposing an 0(n*> algorithm that would find one complete stable matching if there is one, or would report that none exists. Recently, Gusfield [4] gave a detailed analysis of the structure of the complete stable matchings for those instances that contain at least one solution. We refer the reader to the recently published book of Gusfield and Irving [5] for a general introduction and comprehensive discussion of this and related problems. However, for a given instance without any complete stable matching, it is not immediately clear why it does not have one except by tracing Irving’s algorithm step by step. Therefore, it is desirable to have a “compact” condition that would support the existence or non-existence of a solution.

In this paper, we give a necessary and sufficient condition for the existence of a complete stable matching; namely, the non-existence of any odd party, which will be defined subsequently. We define a new structure called a “stable partition,” which generalizes the notion of a complete stable matching and prove that every instance of the stable roommates

problem has at least one such structure. We also show that a stable

partition contains all the odd parties, if there are any. Finally, we have an U(n*) algorithm, which is a modified version of Irving’s [6], that finds one stable partition which in turn gives all the odd parties.

Remark. One of the main contributions of this paper is to provide an

easy way to convince a person (not a computer) who knows only the

definition of the problem that a given problem instance has no stable

matching. Once a stable partition has been computed, and it has an odd party, we can easily convince the person as follows: show them the stable partition and point out the odd party; then show the person a proof of Theorem 3.3 (it shows that if there is a stable partition with an odd party

(3)

then there can be no stable matching) which has been specialized to that particular stable partition. The proof of Theorem 3.3 is short and easy, and so this provides a simple convincing demonstration for the person that no stable matching is possible. In contrast, while the execution trace of Irving’s algorithm provides a good machine-verifiable proof that no stable matching exists, it provides a proof for a human only if that person understands Irving’s algorithm.

2. DEFINITIONS

An instance of the stable roommates problem is specified by its prefer- ence lists. We define a preference relation to be a pair (S, T), where S is a set of n persons, and T is the table of preference lists of these 12 people.

Throughout this paper, we assume that the table T is symmetric, i.e.,

person a is on b’s list if and only if b is on a’s. If person b is on the preference list of person a, then write (alb) to denote the entry b in a’s preference list.

Define da, b) = k, if person b occupies position k in u’s preference list. If da, b) < da, c>, it means that person a prefers b to c.

Let (S, T) be a preference relation, and let A be a subset of S. Denote IA I the cardinality of set A. A cyclic permutation II(A) = (a,, u2, a3,. . . , uk> of the persons in A, where k = IA I, is called a semi-party

permutation if one of the following three conditions holds:

(iI IA I 2 3, ai+, and ai-, are on ai’s preference list, and r(ui, ai+ 1) < r(ai, a,-,>, i = 1,2,3,. . . , k (subscripts modulo k);

(ii) IA I = 2, and a,-, is on ui’s preference list, i = 1,2 (subscript modulo 2);

(iii> IAl = 1. For example,

Person Preference list

Arbitrary Arbitrary 2 . 5 * 3 . 1 . 4 Arbitrary 2 Arbitrary 5 . 3 * 1 . 4 . 7 Arbitrary 6

In this example, (1,2,3,4,5> and (6,7) are semi-party permutations for persons {1,2,3,4,5) and (6,7), respectively.

(4)

JIMMY J. M. TAN 157

With a specified semi-party permutation II(A) = (a,, a2,. . . , ak> for persons in A, we classify the entries in the preference lists of A into the following categories:

(I) If JAI 2 3, we say that entry (uilb> is

(i) a superior entry with respect to II(A), if r(ai, b) < r(u,, u,-~); (ii) an inferior entry with respect to II(A), if da,, ai-,> I r(ai, b) (note: the inequality is “ < ” not “ < 9;

(iii) a party entry with respect to II(A), if b = U~+~ or b = uiPl; for

i = 1,2,3, . . . , k (subscripts modulo k).

(II) If IAl = 2, i.e., k = 2, we say that (uilb) is

(i) a superior entry with respect to II(A), if r(ai, b) < r(ai, a,-,>; (ii) an inferior entry with respect to II(A), if r(ui, uiel> < r(u,, b) (note: the inequality is “ < ” not “ I “);

(iii) a party entry with respect to II(A), if b = ai-,; for i = 1,2 (subscripts modulo 2).

(III) If IA

I

= 1, we say that (u,lb> is a superior entry with respect to II(A) for every person b on ai’s preference list.

In the above definition, if there is no ambiguity, we will omit the words “with respect to II(A).”

Given a preference relation (S, T), a stable partition II of (S, T) consists of a partition of the set S; S = lJ im_iAi, A,

n

Aj = 0 if i f j, and a specified semi-party permutation II for each Ai, i = 1,2,. . . , m, such that the following stable condition is satisfied:

If (a I b) is a superior entry then (b la) is an inferior entry.

Remark. Recall that the table T of preference lists is assumed to be

symmetric, i.e., a is on b’s list if and only if b is on u’s. If T is not symmetric, then the above stable condition should be modified as follows: If (a lb) is a superior entry then either (blu) is an inferior entry or a is not on b’s preference list.

In the context of the above definition, the associated semi-party permu- tation IN Ai) is called a party permutation for A,; and each A, is called a

party. An odd party (even party, respectively) is a party having odd (even,

respectively) cardinality. More precisely, these terms are defined with

respect to the given stable partition II. If there are ambiguities, we will say that Ai is a party in II, and (ulb) is a superior entry in II, etc.

A stable partition II is specified by its party permutations and will be

(5)

said to be a matching pair (or matched) in II if {a, b) forms a two-person party in II. A subset A of the all-person set S is said to form a party (an odd party, respectively), if there exists a stable partition II such that A is a party (an odd party, respectively) in II.

We have two remarks about the definition of a stable partition.

Remark 1. (ulb) is a party entry in stable partition II if and only if

(blu) is.

Remark 2. Let A be a party in stable partition II:

If IA) r 3, then any entry on u’s list is either superior or inferior in IJ, for each a EA.

If (A( = 2, then the party entry (ulb) is neither superior nor inferior in II, for each a EA.

For a given preference relation, it is not clear whether any stable partition exists. We will show later that such a partition does exist and describe an efficient algorithm to find one. On the other hand, there may exist many distinct stable partitions. However, we will prove that any two stable partitions have exactly the same odd parties (not only having the

same persons involved in a corresponding odd party, but also with the

same party permutation). Therefore, the existence of an odd party de-

pends on the preference relation, not on a particular stable partition. Moreover, we will show that there exists a complete stable matching if and only if there does not exist any odd party.

To illustrate the above definitions, we give the following example: Person 1 2 3 4 5 6 7 8 9 10 11 12 Superior Superior Superior Preference list 2 . 3 . 4 Superior 5 * 1 . Superior 8 . 9 Superior 10 . 7 . 12 5 . 1 . 2 Inferior 3 . 4 . 10 . 7 Inferior 8 . 9 . Inferior 11

(6)

JIMMY J. M. TAN 159

A stable partition is shown above, there are four parties; namely

A, = {1,2,3,4,5), A, = (61, A, = (7,8,9, lo), A, = (11,121, and II = ((1,2,3,4,5), (6), (7,8,9, lo), (11,12)}. To complete this example, we just have to fill in all the other entries and follow the rule that whenever (a lb) is a superior entry, then @Ia) is inferior.

A preference relation may have more than one stable partition. We can identify at least two other stable partitions in the above example:

and

II, = {(1,2,3,4,5>,(6),(7,S),(9,10),(11,12)}

II2 = { (1,2,3,4,5), (6), (g,9), (7, lo), (11,12)).

3. STABLE PARTITIONS AND STABLE MATCHINGS

The notion of the stable partition generalizes that of the complete stable matching in the following sense.

PROPOSITION 3.1. A complete stable matching is a stable partition in which every party has cardinal@ two and vice versa.

Proof This is directly from the definitions. M = ((a,, bJli = 1 to n/2}

is a complete stable matching if and only if II = {(ai, b2) Ii = 1 to n/2} is a stable partition. 0

PROPOSITION 3.2. A stable partition without any odd party induces a complete stable matching.

Proof Suppose that II is a stable partition without any odd party. Let

A be an even party in IT with party permutation (a,, a*, u3,. . . , azk),

k 2 2. Then decomposing party A into k matching pairs (a,,

a&, (as, ad), . . . , (a2k-1, alk), we have a new stable partition II’ = (II -

((a,, a2,. . . , a,,>)> u {(a,, a,>, (as, ad), . . . , (azkF1, azk>). This is be- cause every superior entry in II’ is a superior entry in II, and every inferior entry in II, other than the party entries, is an inferior entry in II’.

By continuing to decompose any even party having cardinality four or

more, eventually we obtain a stable partition in which every party has cardinality two. q

The next theorem shows that having an odd party is a sufficient

condition for not having a complete stable matching.

THEOREM 3.3. For any preference relation, if it has a stable partition containing an odd party, then there does not exist any complete stable matching .

(7)

Proof. Suppose not. Let II be a stable partition which contains at least one odd party and let M be a complete stable matching. Hence M is a stable partition in which every party has cardinality two. Let S, be the set of persons whose partners in M are superior entries in IT, and let Z, be the set of persons whose partners in M are inferior entries in II. For the stability of II, every person in S, has an M-partner in I,. So IS,1 I 11,l. Consider a party A in stable partition Il, and let (a,, a2,. . . , ak> be the associated party permutation of A. For the stability of M, no two consecu- tive persons a, and a,,, (subscripts module k) can be in I,, otherwise a, and aj+ t block the matching M.

Therefore, if A is an odd party in II, then IA n s,I > IA n r,l. And if A is an even party in II, then

IA n s,/ 2 IA flZ,l.

Since stable partition Il contains at least one odd party, we have

IS,1 = C IMi n S,l > C IA, n z,I = lZ,l.

A, is a party A, in a party

in Il in Il

This is a contradiction, and the theorem follows. 0

We will prove that the inverse of Theorem 3.3 is also true. Let us point out one use of the above theorem. Suppose that we want to convince a

person that a particular roommates instance has no complete stable

matching. There are two efficient ways available to do so; one is the execution trace of Irving’s algorithm, and the other is the construction of a stable partition containing an odd party. Of course, to find a stable partition one has to, for example, apply the algorithm described later in this paper; once obtained it gives a certificate of non-solvability. A person needs only to know the definition of the roommates problem to follow the proof of Theorem 3.3. So anyone who has the certificate in hand for an instance can use it to prove that no complete stable matching is possible. While the trace of Irving’s algorithm is only convincing if one understand the correctness of the whole algorithm, which may not be trivial.

4. IRVING’S ALGORITHM

Given Proposition 3.2 and Theorem 3.3, we now must prove that having an odd party is also a necessary condition for not having a complete stable

(8)

JIMMY J. M. TAN 161 matching. Our proof is a constructive one, and is based on a modified version of Irving’s algorithm [6], which finds a complete stable matching if one exists, or reports that none exists. We show that there exists at least one stable partition for every preference relation, and it leads to an 0(n2> algorithm to find one. We also obtain an interesting result that every

stable partition contains exactly the same odd parties. Combining these

facts and Theorem 3.3, we conclude that having an odd party is a

characterization for not having a complete stable matching.

Before describing our modifications and extensions, we first summarize Irving’s algorithm [6].

IRVING’S ALGORITHM.

Input: A table of preference lists.

Output: Either output a complete stable matching or report that none

exists.

The algorithm successively deletes entries from preference lists until either each person has only one entry on his list, or until someone has no entries. In the first case, the entries specify a complete stable matching, and in the second case, there are no solutions. For ease of exposition, we need a definition.

DEFINITION. The current set of preference lists an any point in the algorithm is called a table.

Irving’s algorithm is divided into two phases:

Phase 1. The first phase of the algorithm is based on a sequence of

“proposals” from one person to another. When a person receives a

proposal, then

(i) he holds it for consideration if it is the best proposal he has so far received, simultaneously rejecting any poorer proposal already held;

(ii) he rejects it at once if he already holds a better proposal.

Each person proposes to the others in the order in which they appear in his preference list, pausing when a promise of consideration is received; and resuming his sequence of proposals upon any subsequent rejection.

This phase of the algorithm will terminate either (i) with every person holding a proposal, or (ii) with one person rejected by everyone.

We note that, in this phase of the algorithm, each person both receives and makes proposals; unlike the classical stable marriage case [l, 121, where only the persons of one sex make proposals and the members of the opposite sex receive proposals.

(9)

(a) Original table (b) Phase 1 table Person Preference list

1 3 2 4 5 6 2 6 3 1 5 3 5 4 2 1 4 1 3 6 5 1 2 6 3 6 1 4 5 2

Person Preference list

1 3 2 4 2 6 3 1 5 3 5 4 2 1 4 1 3 6 5 2 6 3 6 4 5 2 FIGURE 1

It is proved in [l, 6, 121 that if b rejects a in the proposal sequence, then a and b cannot be partners in any complete stable matching. Moreover, at any stage of the proposal process, if a proposes to b, then in any complete stable matching:

(i) a cannot have a better partner than b; (ii) b cannot have a worse partner than a.

Therefore, the following entries can be deleted from the table when person b holds a proposal from a:

(i) every entry (blx), with r(b, a> < r(b, x);

(ii) every entry (x(b), where entry (blx) is described in case (9. The remaining set of lists at the end of phase 1 is called the Phase 1 table.

EXAMPLE (Fig. 1). Checking the resulting table at the end of Phase 1, (i) if some list is empty then there is no complete stable matching, (ii) if every list contains just one person then the lists specify a complete stable matching,

(iii) if none of(i) and (ii) hold and some of the lists contain more than one person, this brings us to the second phase of the algorithm.

Phase 2. In this phase, entries are also deleted successively from the

table, in a very special way, until either each person has only one entry on his list, or until someone has no entries. The basic idea in the second phase of the algorithm is that of a rotation.

DEFINITION. Let T be a table. A rotation R exposed in table T,

denoted by R = (a,, a2,. . . , a,)l(bl, b,,. . . , b,), is a cyclic sequence a,, a2,. . . , a, of distinct people, where bi is the first person on ai’s list in T, i = 1 to r, such that the first person bi on a,‘s list is the second person on ai-l ‘s 7 i = 1 to r (subscript modulo r).

(10)

JIMMY J. M. TAN 163 EXAMPLE. In Fig. lB, (1,5,2)1(3,2,6) is an exposed rotation in Phase 1 table.

DEFINITION. A table T is said to be in the second phase, or in Phase 2, if

(i) the table has been subjected to Phase 1 reduction as described before,

(ii) the table has been subjected to zero or more Phase 2 reductions (so-called rotation eliminations), as described below.

DEFINITION. Let T be a table. A complete stable matching M is said to

be contained in a table T, if and only if every matched pair in M is in T,

i.e., a is on b’s list and b is on a’s list for every pair (a, b} in M.

Consider a table T in the second phase of the algorithm; the following crucial result is proved in [6].

THEOREM 4.1. Let T be a table in phase 2 and let R = (a,,

a2,. . . , a,)l(bI, b,, . . . , b,) be a rotation exposed in T. Then

(i) in any complete stable matching contained in T, either ai and b, are

matched for all values of i, or for no value of i;

(ii> if there is a complete stable matching in which ai and bi are matched, then there is another in which they are not.

We need one more definition.

DEFINITION. Let R = (a,, a2,. . . , a,)](bl, b,, . . . , b,) be a rotation ex- posed in table T. Rotation R is said to be eliminated from T, if the following entries are deleted from T:

(i) every entry (biIx) with r(bi, aiel) < r(bi, x), i = 1 to r (subscript modulo r);

(ii) every entry (x Ibi), where entry (bi]x) is described in case (i>.

As a consequence of Theorem 4.1, if the original problem instance

admits a complete stable matching, then there is one contained in the

resulting table after eliminating an exposed rotation. Furthermore, Irving [6] proved algorithmically that, given a table T in Phase 2, if there is a person whose current list has more than one entry, then there is a rotation exposed in T. Since the concept of a rotation also plays a central role later in our algorithm for finding a stable partition, we give a formal statement of this result.

PROPOSITION 4.2 (Irving [6]). Let T be a table in Phase 2; if there is a

person whose current list has more than one entry, then there is a rotation exposed in T.

(11)

In summary, the second phase of Irving’s algorithm can be stated as follows

(i) While some person has more than one entry on his list, and no list is empty, find and eliminate an exposed rotation.

(ii) If every person has exactly one entry on his list, then the lists specify a complete stable matching.

(iii) If there is an empty list, then there are no complete stable matchings.

EXAMPLE. Consider the example given in Fig. la. The Phase 1 table is shown in Fig. lb. Eliminate exposed rotations successively in the following order, R, = (1,5,2)1(3,2,6), R, = (3,6)/C&4), and R, = (2,4))(3,1). Then the resulting table is as follows, and {{1,21, {3,4), (5,611 is a complete stable matching:

Person Preference list

1 2 2 1 3 4 4 3 5 6 6 5

The correctness of Irving’s algorithm is proved in [6] and will not be repeated here. The overall time complexity is 0(n2). Our modifications and extensions in the following sections will be self-contained and fully proved.

5. PHASE 1 OF THE STABLE PARTITION ALGORITHM

Given a preference relation (S, T), we now consider the problem of

finding a stable partition. Our algorithm basically utilizes the idea used in

Irving’s algorithm with some modifications and extensions. We examine

closely the processes of the two phases in Irving’s algorithm, and investi- gate the effect of these processes on the structure of the stable partitions. By doing so, we discover new information concerning stable partition and obtain an algorithm for finding one. To locate a stable partition, it suffices to identify all its party entries,

DEFINITION. A stable partition II is said to be contained in a table T, if every party entry in II is in T.

(12)

JIMMY J. M. TAN 165 Our first observation is that no entry removed in Phase 1 of Irving’s algorithm can be a party entry in any stable partition. The following proposition justifies this fact.

PROPOSITION 5.1. Given a preference relation, let T,, be the initial table, and let T, be a table obtained from TO by removing zero or more entries which are not the party entries in any stable partition. Suppose that person c is the current first person on both a’s and b’s lists in T,, and r(c, a) < r(c, b). Then no entry (c Ix), with r(c, a) < r(c, x1, can be a party entry in any stable partition.

Proof Suppose, on the contrary, that some entry (clx) with r(c, q) <

r(c, X) is a party entry in stable partition II. Then (cla) is superior in II, and so (a Ic) is inferior in II. Therefore, in a’s original list, there should be a party entry before the inferior entry (a lc). This is a contradiction, since in a’s list no entry before (a Ic) can be a party entry in any stable partition.

Hence the proposition follows. 0

So the first phase of our algorithm for finding a stable partition is simply

applying the proposal and rejection process, and removing impossible

entries from the table, as stated in Proposition 5.1, until each person either

(i) holds a proposal; or (ii) has an empty list.

PROPOSITION 5.2. No entry removed in Phase 1 can be a party entry in any stable partition. More precisely, if a person a proposes to c, then all the entries (clx) and (xlc), with r(c, a) < r(c, x1, can be removed from the table; no stable partition is affected.

Proof This follows by inductively applying Proposition 5.1 during

Phase 1, i.e., when a proposes to c. 0

Similarly as before, the table obtained at the end of this phase is also called the Phase 1 table. Before going into details of Phase 2, we summa- rize some useful properties which are either immediately, or are explicit or implicit in [6].

Let TO be the original table of preference lists. We assume that the table TO is symmetric, i.e., person a appears on b’s list if and only if b appears on a’s. Let T, be a resulting table obtained from T,, after Phase 1 process and after eliminating zero or more rotations. Recall that such a table T2 is called a table in Phase 2. We note that the Phase 1 table is also a table in Phase 2.

(13)

Properw 5.3. Let T2 be a table in Phase 2. Person a appears on b’s list in T2 if and only if b appears on a’s list in T2.

Property 5.4. Let Tz be a table in Phase 2. Person a appears first on

b’s list in T2 if and only if b appears last on a’s list in T2.

Property 5.5. Let TO be the original table, and let T2 be a table in

Phase 2 (obtained from TO). Suppose that entry (a lb) is originally in table TO, but is not in T2. Let x and y be the persons who appear last on a’s and b’s lists in T,, respectively. Then either b appears after x on a’s list in TO, or a appears after y on b’s list in TO.

Property 5.5 follows directly from the rules of entry deletion in Irving’s algorithm. Let (S, TO) be a preference relation, and let T be a table obtained from TO by deleting some entries. Then (S, T) can be viewed as a new preference relation. We say that II is a stable partition for instance T, if II is a stable partition of the preference relation (S, T). From Property 5.5, the following result follows immediately.

PROPOSITION 5.6. Let TO be the original table, and let T2 be a table in Phase 2 (obtained from T,,).

(i) If n is a stable partition for instance TO and n is contained in T2,

then H is a stable partition for instance T2.

(ii> Conversely, if n is a stable partition for instance T2, then n is a stable partition for instance TO.

Pro05 (i> By Property 5.3, this is trivial.

(ii) This follows directly from Property 5.5; i.e., if (alb) is superior in TO, then (bla) must be inferior in TO. q

At the end of Phase 1, let T1 be the resulting table obtained. Then we have the following result.

PROPOSITION 5.7. In table T,, if every person has zero or one entry on his list, then the lists specify a stable partition.

Proof: By Properties 5.3 and 5.4, if b is the only person on a’s list in

T,, then a is also the only person on b’s list in T1. So a and b form a pair in table T1. Let {{ai, bill i = 1 to k) be the set of all such pairs in T,, and let {cjl j = 1 to ml be the set of all persons whose lists are empty in T,. Then it is obvious that II = {(ai, bi>l i = 1 to k) U I( j = 1 to m) is a stable partition for instance T,. Thus, by Proposition 5.6, TI is also a stable partition for the original instance TO. 0

(14)

JIMMY J. M. TAN 167

So, checking the Phase 1 table at the end of this phase,

(i) if every person has zero or one entry on his list, then the lists specify a stable partition,

(ii) if someone has more than one entry on his list, this brings us to the second phase of the algorithm.

6. PHASE 2 OF THE ALGORITHM

In the second phase of our algorithm, we also use rotation elimination to delete more entries from the table. We have to investigate the effect of the rotation elimination on a stable partition. Let T be a table in Phase 2. Suppose that there is a person whose current list in T has more than one entry; then, by Proposition 4.2, there is a rotation exposed in T. In the following, we have a series of results which reveal the relationship between the structure of an exposed rotation and that of a stable partition. We start our discussion by considering the case that the elimination of a rotation results in some list empty, and study the structure of such a rotation. Let us use the following example to get some intuition (espe- cially, for part (iv) of Lemma 6.1 below).

EXAMPLE (Fig. 2). In Fig, 2a, the current table contains an exposed rotation R = (1,2,3,4,5,6)1(4,5,6,7,1,2,3). After eliminating R, the lists of all the persons involved in this rotation become empty. Let us write this exposed rotation as R = (a,, q,. . , ,a,)l(b,, b,, . . . , b,) and point out some special properties about it.

(i) Each person uk has only two persons on his list.

(ii) A = B, where A = (a,, u2,. . . ,a,) and B = (b,, b,, . . . , b,).

(a) Person Preference list (b) Person Preference list

1 45 4 71 2 56 7 34 3 67 3 67 4 71 6 23 5 12 2 56 6 23 5 12 7 34 1 45

The rest The rest The rest The rest

(15)

(iii) This rotation contains an odd number of persons, i.e., r is odd. (iv) (1,2,3,4,5,6,7} forms an odd party with the cyclic permutation

(4,7,3,6,2,&l> as shown in Fig. 2b.

Let us explain the sequence of this permutation as follows: In this case r = 2m - 1, where r = 7 and m = 4. Consider Fig. 2a, the cyclic permu-

tation starts from the “middle” person, 4 (= m), goes down to the

“bottom” person, 7 (= 2m - l), then the pattern follows: 4 and 7, 3 and 6, 2 and 5, and ends up at the “top” person 1.

These are not mere coincidences; in fact, we will see in Theorem 6.2, that in some sense this is the only situation that the elimination of a rotation results in some list empty. We now begin to state and prove the

results. We need the following lemma later in Theorem 6.2 and in

Theorem 6.5; one may wish to skip the proof temporarily, and come back for it afterwards.

LEMMA 6.1. Let T be a table in Phase 2, and let R =

(a,, a2,. . . , a,>l(bl, b,, . . . , b,) be a rotation exposed in T. Suppose that, for some fixed i and j, ai = bj, and suppose that the second person on ai’s list in T is the same as the last person on bj’s, i.e., bi+, = aj (subscript mod&o r). Then

(i) in table T, each person ak has only two persons on his current list

(i.e., b, and bk+ ,>, for k = 1,2, . . . , r (subscript mod&o r),

(ii) A = B, where A = (a,, a2,. . . , a,} and B = {b,, b,, . . . , b,), (iii) A has odd cardinality ,

(iv) the cyclic permutation II(A) = (a,, a,, _ ,, a,- ,, azrnp2,. . . ,

a,-k~a2m-(k+l)~*~~~a2~atn+l~ a, ) is a semi-party permutation for A, where

[AI =r=2m- 1.

Remark. We will see later that, with the cyclic permutation II(A), A

forms an odd party in every stable partition.

Proof With respect to the given table T and the given rotation

R = (a,, a2,. . . , a,)l(bl, b,, . . . , b,), we define property (i, j> to be the following property: ai = bj and the second person on a,‘s current list is the same as the last person on bj’s current list. Suppose that, for some fixed i and j, property (i, j) is true. We claim that property (i - 1, j - 1) is also true (index module r).

AI1 the subscripts considered below are module r. We first prove that if property (i, j) is true, then so is property (j - 1, i). All we have to show is that (1) aj-, = bi, and (2) bi = ai (i.e., the second person on aj-,‘s list is the same as the last person on hi’s list). Because property (i, j) is true, we

(16)

JIMMY J. M. TAN 169

on ai’s list is the last person on his list (since ai = bj), so there are only two persons on ai’s current list. Since a, = bj, bj also has only two persons on his current list. Then by the definition of a rotation, bi and bi+l (ajpl and aj, respectively) are the only two persons on aj’s list (bj’s list, respectively). Thus bi = aj- r and bi + 1 = aj. This proves (1). Hence prop- erty (j - 1, i) holds. Replacing (i, j) by (j - 1, i), it follows that property (i - 1, j - 1) is true.

Repeating this argument shows that property (i - k, j - k) holds, for

k = 0, 1,2, . . . , r - 1 (index modulo r). We now start to prove the results:

(i) Since, for some fixed i and j, property (i - k, j - k) holds for

k = 0, 1,2, . . . , r - 1, we know that ai-k = bjek and the second person on

aiek’s current list is the last person on his list. So uiek has only two persons on his current list, k = 0, 1,2,. . . , r - 1 (subscript modulo r). This proves (i).

(ii) Again by property (i - k, j - k), we have uiek = bjpk and b;- k+l =ajek, k=0,1,2 ,..., r - 1 (subscript modulo r). Thus A = B.

(iii) We now show that the cardinality of A is odd. Since aiek = bjpk and b,- k+l = aj-ky for k = 0, 1,2,. . . , r - 1, substituting k = i - 1 into

the first equality, and k = j - 1 into the second, we have a, = bj-i+ r and

bi-j,2 = a, (subscript modulo r):

-j -i+l=i-j+2(modulor).

* 2( j - i) = 1 (modulo r).

Since 2( j - i) is even, r must be odd. This proves that IA I = r is an odd number.

We need the following result in part (iv):

Let m = j - i (modulo r) and Ormlr-1

=$ 2m = 1 (modulo r) .

Note that 0 I m I r - 1, the last equation has only one solution 2m =

1 + r. So r = 2m - 1.

(iv) We claim that the cyclic permutation n(A) = (a,,b,,a,-,,b,-,,...,a,,b,,a,)

is a semi-party permutation for A. Observe that ak and b, have only two persons on their current list; the first person on ak’s, bk’s, and u,‘s current lists are b,, akWl, and b,, respectively, k = 1,2,. . . , m (note b, = a,; this is because biek+ 1 = aj...k, for k = 0,1,2 ,..., r - 1, substituting k = i, we have b, = aidi = a,,,). Put all this information together and trace the current table T; the claim follows.

(17)

Notice that biek+, = ajex-, k = 0, 1,2,. . . , r - 1; substituting k = i - t + 1, we have b, = aCj-ij-l+t, t = 1,2,. . . , r (subscripts rnodulo r). Since m = j - i (module r), so that 6, = a,- ,+I, t = 1,2,. . . , r (sub- scripts modulo r). Thus

n(A) = (a,,b,,a,-l,bm-,, . . . . am-k,bm-k....,a2,b2,a~)

= (a mra2m-l,am-lTa2m-2T.. . Tam-k,a2m-(k+l), . . . , a2ya,+1? 4

and (iv) follows. III

We are now ready to state and prove the following theorem as claimed before.

THEOREM 6.2. Let T be a table in Phase 2, and let R =

(a,,+,. . . ,aJl(b,,b,,. . . , 6,) be a rotation exposed in T. Suppose that

there is a person c whose current list is not empty, but is so after eliminating

R. Then (9, (ii), (iii>, and (iv) in Lemma 6.1 hold, and c E A =

(a,, a2,. . . , a,).

Proof: Eliminating of rotation R can be divided into three steps:

(1) Remove entry (biIx) and entry (xlbi), with r(b,, ai-,) < r(bi, x) < r(b,, a,), for all such X, i = 1,2,. . . , r (subscript modulo r).

(2) Remove entry (bilai), i = 1,2,. . . , r. (3) Remove entry (ailbi), i = 1,2,. . . , r.

No list is caused to be empty after step (l), because x is not the last person on hi’s list and bi is not the first person on x’s. Observe that after step (l), ai and bi have at least two persons on their lists, i = 1,2,. . . , r, e.g., the entries that form the exposed rotation R. During step (21, we delete the last entry (bilai) on hi’s lists, i = 1,2,. . . , r. So, after step (21, each bi still has aiel on his list, and thus no list is caused to be empty.

However, there is a person whose list was not empty, but is so after step (3). In step (3), we only delete the first entry (ailbi> on a,‘s list, i =

1,2,..., r. Therefore, it must be some person ai whose list becomes

empty, and this person ai has only one entry left on his list after step (2). Note that after step (11, a, has at least two persons on his list, but after step (21, ai has only one entry left. So, it must be that a, = bj, for some j, and that the last person on bj’s list in T is the same as the second person

on a,‘s list in T. Then the theorem follows from Lemma 6.1. 17

Conversely, suppose that we discover an exposed rotation R =

(a,, a2,. . . , a,)l(bl, b,, . . . , b,) satisfying (i) to (iv) as stated in Lemma 6.1. Then the lists of every person involved in this rotation become empty after eliminating R. We will see later that such a rotation gives us an odd party

(18)

JIMMY J. M. TAN 171 A = (a,, u2,. . .) a,} with the party permutation II(A) as stated in (iv) of

Lemma 6.1.

From the above observation, if the elimination of rotation R makes

some list empty, it indicates an odd party. We shall backup the algorithm to the table, where R was eliminated, and never permit R to be elimi- nated again. We then separate the preference lists of persons in A = b,, QT. * * > a,} from the table, and treat the rest of the table as a smaller

instance table (in Phase 2). The rest of the table is unchanged, because any person in A is not on the current lists of the rest of the persons. For convenience, such a rotation is called an odd rotation (for persons in A).

EXAMPLE.

Persons Preference list Person Preference list

7 16 5 64 3 42 1 27 6 75 4 53 2 3 1

The rest The rest

1 27 2 31 3 42 4 53 5 64 6 75 7 16

The rest The rest

In this example (7,5,3,1,6,4,2)1(1,6,4,2,7,5,3) is an exposed rotation

satisfying (i) to (iv> as stated in Lemma 6.1. Rearranging the table, we see that (1,2,3,4,5,6,7) is a semi-party permutation.

The following two results are prepared for the case that the elimination of a rotation makes no list empty, even though they hold for odd rotation.

THEOREM 6.3. Let T be a table in Phase 2, let R = (a,, a2,. . . , a,)l(b,, b,, . . . , b,)

be u rotation exposed in T, and let II be a stable partition contained in T. If, for some fLved i, (u,lbJ is a party entry in n, then (ujlbj) is also a party entry in lI for every j = 1,2,. . . , r.

Proof All the subscripts considered in the following are modulo r. By

the definition of the stable partition, (uilbi) is a party entry in Il if and only if (bilui) is a party entry in II. Since r(b,,uiel) < r(b,, a,), so

(bilui-I> is superior in II, and hence (~,-~(b,) is inferior in II. Before the

inferior entry (aim1 I bi) in the current list of a,-i, there must be a party entry in II. The only entry before (ui-Ilb,) is (ui-l(bi-,), so (ui-l(bi-,) is

(19)

a party entry in II. Repeating this argument shows that (ajlbj) is party entry in II, for all j = 1,2,. . . , r. This completes the proof. c3

In the context of the above theorem, in any stable partition either (ailbi) and (bilai) are party entries for all values of i, 1 5 i I r, or for no value of i. In the following proposition, notice that bi is the first person on a,‘s list in table T, and bit, is the second.

LEMMA 6.4. Let T be a table in Phase 2, and let

R = (a,,a, ,..., a,)l(b,,b,,...,b,)

be a rotation exposed in T. Let n be a stable partition contained in T such

that (ajlbi> is a party entry for all i = 1,2,. . . , r. Then

6) either all the entries (a,lb,+ ,), i = 1,2,. . . , r, are party entries in II

(subscript modulo r 1,

(ii) or none are; in this case, A n B = 0, where A = {a,, a2, _. . , a,),

B = {b,, b,, . . . , b,}, and (ai, bi) is a two-person party in II, for i =

1,2, . . . , r.

Proof Suppose that for some fixed i, (ailbi+ i) is not a party entry in

II. We claim that (a,-,lb,) is not a party entry in II either. In the following, party entry, superior entry, and inferior entry are all with respect to the given stable partition II.

Since r(bi+r, ai) < r(b,+,, ai+1 , ) and (ai+llbi+,) is a party entry if and only if (b,+,Jai+l) is, hence (bi+llai) is superior, and so (Ui(b,+l) is inferior. Observe that person bi+ , is the second entry on ai’s list in T, and

(ailb,+ ,I is inferior but is not a party entry. Therefore in ai’s list, only one

entry can be a party entry; namely, the first one (ailbi>. So {ai, bJ is a two-person party in II. Thus (~~-~lb~) cannot be a party entry in II, as

claimed. Replacing i by i - 1, and repeating the same argument, it

follows that (ajlbj+,) is not a party entry, and that {aj, bj} is a two-person in II, for j = 1,2,. . . , r (subscript modulo r). It remains to show that, in this case, A n B = 0. Note that, for any ai E A and bj E B, ai is matched with the first person on his list, and bj is matched with the last person on his list. Person a, and bj both have at least two persons on their lists, so a, # b, and hence A n B = 0. 0

Now we consider the case that the elimination of a rotation makes no list empty. The following theorem is one of our main results.

THEOREM 6.5. Let T be a table in Phase 2, and let

R = (a,,a,,...,a,)l(b,,b,,...,b,)

be a rotation exposed in T. Suppose that no list, which is non-empty in T,

(20)

JIMMY .I. M. TAN 173

contained in T, in which (ailbi), i = 1,2,. . . , r, are all party entries, then

there is another II’ in which they are not. Moreover, II and II’ have exactly

the same odd parties (not only having the same persons involved in a

corresponding odd party, but also with the same party permutation).

Proof. All the subscripts considered in the following are modulo r. By

Lemma 6.4, either all the entries (ailbi+ r), i = 1,2,. . . , r, are party entries in II or none are. Suppose that the latter case holds. Then, again by Lemma 6.4, {ai, bi) is a two-person party in fI, i = 1,2,. . . , r, and A

n

B = 0. Break the pair a, and bi, and match ai with the second person on his list, let II’ = (II - {(a,, bi) I i = 1 to r}) U ((a,, b,,,) I i = 1 to r). We claim that ff’ is a stable partition. (Obviously, II and IT’ have the same odd parties). We need some observations. In stable partition II, a, (bj, respectively) is matched with the first person b, (the last person ai, respectively) on his list in table T. While in TI’, ai is matched with the second person bi+I, and bj is matched with ajel whom he prefers to aj. Therefore, in table T, any instability in fI’ must involve some ai. By Proposition 5.6, if we can prove that IT’ is a stable partition for instance T, then II’ is a stable partition for the original instance. Now, in table T, every person ai has only one superior entry in fI’; namely, (ailbi). Since bi is matched with aiel in fI’ and r(b,, ai-,) < r(b;, a,), hence (bilai) is inferior in II’, and the claim follows. Note that, in the stable partition fI’, (ailhi) is not a party entry, for i = 1,2,. . . , r.

Now consider the former case that all the entries (ailbi+l), i =

1,2,..., r, are party entries in II. There are two cases: (i) A n B # 0 or (ii) A rl B = 0, where A = (a,, a2, . . . , a,) and B = {b,, b,, . . . , b,.}.

(i) Suppose A CI B # 0, say a, = bj for some fixed i and j. For person a, (bj, respectively), (ailbi) and (ailb,+l) ((bjlaj-l) and (bjlaj), respectively) are party entries in II. Since ai = b,, it must be that (ailbi) =

(bjlaj-,I and (ailbi+,) E (bjlaj), i.e., bi = ajel and bi+l = aj. So the

second person bi+ 1 on ai’s hst in T and the last person aj on bj’s are the same. By Lemma 6.1, the list of every person a, in A will become empty after eliminating rotation R. This is a contradiction, and so A

n

B = 0. (ii) Consider A

n

B = 0. We claim that A U B, with the permuta- tion (a,, b,, a,-,, b,-,, . . . , a2, b,, a,, b,), is an even party in II. Observe that

1. the persons in A and B are all distinct, IA I = IBI, so IA u BI is an even number,

2. (ailbi> and (bilai-l) are party entries in ff,

3.

(bilai>

and

(ailbi+l>

are also party entries in II,

4. r(ai, bi) < r(ai, bi+l> and r(bi, ai-l) < r(bi, a,), i = 1,2,. . . , r (subscripts modulo r).

(21)

So the claim follows. Now, decomposing the even party A U B into pairs, let II’ = (II - {(a,, b,,~,-l,b,-~ ,..., a2,b2,al, b,)I) U {(Uiybi+l)l i = 1 to r). By the proof of Proposition 3.2, II’ is a stable partition, in which (ai Jbi) is not a party entry for i = 1,2, . . . , r. Since no odd party is affected, II’ and II have exactly the same odd parties. This completes the proof of the theorem. q

Before describing our modified version of Phase 2, we need the follow- ing definitions. Assume that the initial table of preference lists is symmet- ric.

DEFINITION. Let T be the current table at a certain point of the

algorithm. The preference list of a person is said to be inactiue, if (i) the list is empty,

(ii) the list has only one person, or

(iii) the list is involved in an odd rotation which has been discovered before.

The preference list of a person is active, if it is not inactive.

DEFINITION. The active part of a table T is the part of the table

obtained from T by deleting all the inactive lists.

If there is someone whose preference list is still active, then his list contains at least two persons. Hence by Proposition 4.2, there is a rotation exposed in T. Phase 2 of the algorithm for finding a stable partition can be summarized as follows:

1. While the active part of the table is not empty, find an exposed rotation.

(i> If the elimination of this rotation results in some list empty, then do not eliminate it (i.e., backup to the table where this rotation was eliminated), and declare inactive the lists of all the persons involved in this rotation. (They form an odd party.)

(ii) Otherwise, eliminate this rotation. If some list has only one person left on it due to the elimination, then declare this list inactive.

2. If the active part of the table is empty, stop, the current table specifies a stable partition.

Let us discuss the above algorithm. By Theorem 6.2, going through step (9 of 1 results in the finding of an odd rotation. We will see soon that this indicates an odd party. Consider step (ii) of 1; by Theorem 6.5, if the original instance admits a stable partition II then there is another II’ contained in the resulting table after eliminating the rotation. Further-

(22)

JIMMY J. M. TAN 175

more II and II’ have exactly the same odd parties. Phase 2 of the algorithm terminates with every list being inactive. In the final table T, there are a collection of persons whose lists have one person left, a collection (cjl i = 1 to s} of persons whose lists are empty, and a collection

{Ril i = 1 to m) of disjoint odd rotations. Any one of these three

collections may be empty. Recall that, throughout the algorithm, a is on b’s list if and only if b is on a’s. So those persons whose lists have only one entry appear in pairs, let {(ai, pi}1 i = 1 to k} be the set of all such pairs. For each odd rotation R = (al, a*,. . ., a,)l(bl,b2,. . . , b,), by Theorem 6.2, there is a cyclic permutation II(A) such that II(A) is a semi-party permutation for A = (a,, u2,. . . , a,}. Let n(Ai) be that semi-party per- mutation for the corresponding rotation Ri, i = 1 to m. Then obviously,

KI = ((ai, pi>1 i = 1 to k) U I( i = 1 to s} U {II i = 1 to m} is a

stable partition for the final instance T, because there are no other entries in T except the party entries. By Proposition 5.6, II is also a stable partition for the initial instance To. The correctness of the whole algorithm is thus established. As for the time complexity, since our algorithm is basically Irving’s algorithm with some modification and extension, the time bound is exactly the same as that of Irving’s algorithm, namely, O(n2). The analysis is also similar to that of Irving’s [6] which will not be repeated here.

Remark 1. Notice that every list which is non-empty at the end of

Phase 1, remains non-empty through the whole process of our modified

version of Phase 2. Therefore, all the single-person odd parties are found at the end of Phase 1.

Remark 2. By Theorem 6.5, every stable partition contains the same

odd parties as II does, where II is the stable partition contained in the final table.

To illustrate our algorithm, we give the following example. This

example looks complicated, so it is helpful to know the way that we

created it. First, we have a stable partition II in mind, II =

((1,2,3,4,5), (6), (7,8,9, lo), (l&12), (13), (14)). After putting down the party entries, whenever we write an entry (a lb) in a superior position, immediately write (b la) in an inferior position. To make the example more interesting, a rotation (5,10,12)1(11,1,7) is there. The example is shown in Fig. 3a. The Phase 1 table is displayed in Fig. 3b. After exposed rotation (5,10,12)((11,1,7) is eliminated from the Phase 1 table, the resulting table

is shown in Fig. 3c. If we try to eliminate exposed rotation

(1,4,2,5,3)1(2,5,3,1,4), then the lists of all the persons 1, 2, 3, 4, and 5 become empty. So this rotation should not be eliminated. By Theorem 6.2,

{1,2,3,4,5} is an odd party with party permutation (2,3,4,5,1> =

(23)

(a) Original table ______-

Person Preference list

(b) Phase 1 table Person Preference list

1 3 2 5 4 10 6 13 14 1 2 5 4 10 2 5 3 1 6 13 14 2 3 1 3 4 2 1 6 13 14 3 4 2 4 51 3 6 13 14 4 5 13 5 11 1 4 2 6 13 14 5 11 1 4 6 1 2 3 4 5 711 6 Empty 7 9 8 10 12 6 13 14 7 8 10 12 8 10 9 11 7 8 9 11 7 9 10 8 7 9 10 8 10 17 9 8 10 1 7 9 11 12 8 5 6 13 14 11 12 8 5 12 7 11 12 7 11 13 1 2 3 4 5 711 13 Empty 14 1 2 3 4 5 7 11 14 Empty Person Cc) (d) Final table

Preference list Person Preference list

1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 5 3 1 4 2 5 3 1 4 Empty 8 10 9 I 10 8 7 9 12 11 Emotv . . Empty 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 5 3 1 4 2 5 3 1 4 Empty 8 I 10 9 12 11 . ~ Empty FIGURE 3

inactive, and the final table is shown in Fig. 3d. We obtain a stable partition II, = {(1,2,3,4,5), (6), (7,8), (9, lo), (11,12), (13), (14)).

The following two results should now be clear.

THEOREM 6.6. For any given preference relation, there exists at least one

stable partition. And any two stable partitions have exactly the same odd

parties.

The above theorem follows from the algorithm and Theorem 6.5. And

the following theorem follows from the algorithm, Proposition 3.2, and

(24)

JIMMY J. M. TAN 177 THEOREM 6.7. For any instance of the stable roommates problem, there

exists a complete stable matching if and only if there does not exist any odd

party.

7. CONCLUSIONS

We conclude this paper by relating our results to two others in [l, 21 concerning the stable marriage problem. At the end, we would like to mention a further research result of ours.

The stable roommates problem is a generalization of the well-known

stable marriage problem, which has been discussed in many articles [l-3, 8, 9, 11, 121. In the stable marriage problem, there are it men and n women; each person ranks all the members of the opposite sex in order of preference. A stable marriage is a complete matching of men and women such that no man and woman who are not partners both prefer each other to their actual partners under the matching. Gale and Shapley [l] proved that at least one stable marriage exists for every instance of the stable

marriage problem. This result can also be obtained directly from our

Theorem 6.7, because an instance of the stable marriage problem can be viewed as an instance of the stable roommates problem. In this particular instance, it is obvious that there does not exist any odd party of cardinality 3 or more, since the preference list of each person contains only the member of the opposite sex. There does not exist any single-person odd party either, because the preference list of each person contains all the members of the opposite sex. Therefore, by our Theorem 6.7, there exists at least one complete stable matching (i.e., a stable marriage).

In 121, Gale and Sotomayor consider another classical form of the stable marriage problem, namely, the college admission problem. More precisely, they consider the problem of medical school graduates applying to hospi- tals for serving a year’s residency. One of their results is as follows.

Let M be any stable matching, let S(M) be the set of applicants

admitted to some hospital and let n,(M) be the number of applicants

admitted to hospital H. Then the set S(M) and numbers n,(M) are the

same for all stable M.

Let us restate this result in our terms. Consider the following form of the stable marriage problem, where the number of males and the number of females may not be equal and where the preference list of each person may include only a proper subset of the members of the opposite sex. Then Gale and Sotomayor’s result above can be restated as follows.

Given an instance of the stable marriage problem described above, then the (single-person) odd parties are the same for all stable partitions. Our result, Theorem 6.6, is therefore a generalization of this one.

(25)

Given a preference relation (S, T), since there may not exist any complete stable matching, it is natural to consider the problem of finding a

maximum stable matching; i.e., a maximum number of disjoint pairs of

persons such that these pairs are stable among themselves. Recently, we obtained an algorithm for solving this problem; the result will appear in a subsequent paper [lo].

One final remark. After finishing writing this paper, we were informed

of a research report of Irving’s [7]. We notice that our results, Lemma 6.1 and Theorem 6.2, are already in [7], though ours extend the idea to the stable partition. In that report, Irving also had the following result: an instance of the stable roommates problem admits a stable matching if and only if the shortlists are non-empty and there is no improper rotation. Translate this result into our terms: an instance of the stable roommates problem admits a complete stable matching if and only if there does not exist any single-person odd party and there is no odd rotation.

ACKNOWLEDGMENT

The author would like to thank the referee for his detailed comments and valuable suggestions.

REFERENCES

1. D. GALE AND L. SHAPLEY, College admissions and the stability of marriage, Amer. Math. Mmfh~y 69 (19621, 9-1.5.

2. D. GALE AND M. SOTOMAYOR, Some remarks on the stable matching problem, Discrere A&. Math. 11 (1985), 223-232.

3. D. GUSFIELD, Three fast algorithms for four problems in stable marriage, SL4M J. Comput. 16 (1987), 111-128.

4. D. GUSFIELD, The structure of the stable roommates problem: Efficient representation

and enumeration of all stable assignments, SIAMJ. Comput. 17 (1988), 742-769.

5. D. GUSFIELD AND R. IRVING, “The Stable Marriage Problem: Structure and Algorithms,”

MIT Press, Boston, MA, 1989.

6. R. IRVING, An efficient algorithm for the stable roommates problems, J. Algorithms 6 (198.51, 577-595.

7. R. IRVING, “On the Stable Room-Mates Problem,” Research Report CSC/86/R5, Department of Computing Science, University of Glasgow, July 1986.

8. R. IRVING AND P. LEATHER, The complexity of counting stable marriages, SOlM J.

Comput. 15 (1986), 655-667.

9. R. IRVING, P. LEATHER, AND D. GUSFIELD, An efficient algorithm for the “optimal” stable marriage, J. Assoc. Comput. Much. 34 (1987), 532-543.

10. J. J. M. TAN, On a maximum stable matching problem, in preparation.

11. D. E. KNUTH, “Mariages Stables,” Presses Univ. Montreal, Montreal, 1976. [French] 12. D. MCVITIE AND L. B. WILSON, The stable marriage problem, Comm. ACM 14 (1971)

參考文獻

相關文件

² Stable kernel in a goals hierarchy is used as a basis for establishing the architecture; Goals are organized to form several alternatives based on the types of goals and

A Complete Example with equal sample size The analysis of variance indicates whether pop- ulation means are different by comparing the variability among sample means with

To be an effective practitioner, a defined body of formal knowledge and skills is the necessary, but not sufficient, condition to meet workplace requirements. The important

The CME drastically changes the time evolution of the chiral fluid in a B-field. - Chiral fluid is not stable against a small perturbation on v

(1) Determine a hypersurface on which matching condition is given.. (2) Determine a

In this work, for a locally optimal solution to the nonlin- ear SOCP (4), under Robinson’s constraint qualification, we show that the strong second-order sufficient condition

files Controller Controller Parser Parser.

There is no general formula for counting the number of transitive binary relations on A... The poset A in the above example is not