• 検索結果がありません。

Stable Matchings in Trees

N/A
N/A
Protected

Academic year: 2021

シェア "Stable Matchings in Trees"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)Vol.2013-AL-145 No.10 2013/11/6. IPSJ SIG Technical Report. Stable Matchings in Trees Satoshi TAYU1,a). Shuichi UENO1,b). Abstract: The maximum stable matching problem (Max-SMP) and the minimum stable matching problem (MinSMP) have been known to be NP-hard for bipartite graphs, while Max-SMP can be solved in polynomial time for a bipartite graph G with degG (v) ≤ 2 for any v ∈ X, where (X, Y) is a bipartition of G. This paper shows that both MaxSMP and Min-SMP can be solved in linear time for trees. This is the first polynomially solvable case for Min-SMP, as far as the authors know.. 1.. Introduction. Let G be a simple bipartite graph (bigraph). For each vertex v ∈ V(G), let IG (v) be the set of all edges incident with v, and degG (v) = |IG (v)|. For each v ∈ V(G), v is a total preorder (a binary relation with transitivity, totality, and hence reflexivity) on I(v), and G = {v | v ∈ V(G)}. A total preorder v is said to be strict if e v f and e , f imply f v e, and G is said to be strict if v is strict for every v ∈ V(G). It should be noted that a strict total preorder is just a linear order. A pair (G, G ) is called a preference system. A preference system (G, G ) is said to be strict if G is strict. We say that an edge e dominates f at vertex v if e v f . A matching M of G is said to be stable if each edge of G is dominated by some edge in M. The stable matching problem (SMP) is to find a stable matching of a preference system (G, G ). It is well-known that any preference system (G, G ) has a stable matching, and SMP can be solved in O(m) time by using the Gale/Shapley algorithm [1], where m = |E(G)|. It is also well-known that every stable matching for a strict preference system has the same size and spans the same set of vertices, while a general preference system can have stable matchings of different sizes, and we have the following two problems [2]. The maximum stable matching problem (Max-SMP) is to find a stable matching with the maximum cardinality, and the minimum stable matching problem (Min-SMP) is to find a stable matching with the minimum cardinality. It is known that Max-SMP and Min-SMP are both NP-hard [6]. Let (X, Y) be a bipartition of a bigraph G. A bigraph G is called a (p, q)-graph if degG (x) ≤ p for every x ∈ X, and degG (y) ≤ q for every y ∈ Y. It is shown in [5] that Max-SMP is NP-hard even for (3, 3)-graphs, while Max-SMP can be solved in polynomial time for (2, ∞)-graphs. Some indepth consideration on the 1. a) b). Department of Communication and Computer Engineering, Tokyo Institute of Technology, 152-8550-S3-57, Japan [email protected] [email protected]. ⓒ 2013 Information Processing Society of Japan. approximation for both problems can be found in [3]. The purpose of the paper is to show that Max-SMP and MinSMP can be solved in linear time if G is a tree. This is the first polynomially solvable case for Min-SMP, as far as the authors know.. 2.. Stable Matchings in Trees. Let T be a tree, and (T, T ) be a preference system. We use the following notations: • u v w and w v u if (u, v) v (v, w), • u ≡v w if (u, v) v (v, w) and (v, w) v (u, v), and • u ≺v w and w ≻v u if u v w and u .v w. It should be noted that if v is strict then u ≡v w if and only if u = w. We consider T as a rooted tree with the root r, which is a leaf of T . For each vertex v ∈ V(T ) − {r}, p(v) is the parent of v, and D(v) is the set of descendants of v. For any v ∈ V(T ) − {r}, we denote by T (v) the subtree induced by D(v) ∪ {p(v)}. A matching M of T (v) is said to be v-stable if every edge of E(T (v)) − {(v, p(v))} is dominated by some edge in M. A vertex v is said to be matched with u in M if (u, v) ∈ M. We define five sets of v-stable matchings as follows. • MvP is the set of v-stable matchings in which v is matched with the parent, p(v). • MvH is the set of v-stable matchings in which v is matched with a child c with c v p(v). • MvL is the set of v-stable matchings in which v is matched with a child c with c ≻v p(v). • MvF is the set of v-stable matchings in which v is not matched with any other vertices. • MvP is the set of v-stable matchings in which v is not matched with the parent. It should be noted that MvP = MvH ∪ MvL ∪ MvF , MvP ∩ MvP = ∅, and every v-stable matching of T (v) is in MvP ∪ MvP , by definition. Let r′ be the child of r. Since r′ is the only child of r, we obtain the following. Lemma 1 M ⊆ E(T ) is a stable matching of T if and only if M ∈ MrH′ ∪ MrP′ . 1.

(2) Vol.2013-AL-145 No.10 2013/11/6. IPSJ SIG Technical Report. Proof. Let M be a stable matching of T . Since M is an r′ -stable matching, M ∈ MSr′ for some S ∈ {P, H, L, F}. If (r, r′ ) ∈ M then M ∈ MvP , by definition. Otherwise, (r, r′ ) must be dominated by an edge in M. Therefore, there is a child c of r′ such that (r′ , c) ∈ M and c v r. Thus, we have M ∈ MrH′ . Conversely, let M ∈ MrH′ ∪ MrP′ . Since M is an r′ -stable matching of T = T (r′ ), every edge in E(T (v)) − {(r, r′ )} is dominated by an edge in M. Thus, it suffices to show that (r, r′ ) is dominated by an edge in M. If M ∈ MrP′ , (r, r′ ) is dominated by itself. Otherwise, M ∈ MvH , and there exists a child c of r′ such that (c, r′ ) ∈ M and c r′ r. Therefore, (r, r′ ) is dominated by (c, r′ ) ∈ M, and M is a stable matching of T . Thus, we have the lemma. For a vertex v ∈ V(T ), let C(v) be the set of children of v. For any M ⊆ E(T ) and v ∈ V(T ) − {r}, we define M(v) = E(T (v)) ∩ M. Lemma 2 If M is a v-stable matching of T (v) then M(c) is a c-stable matching of T (c) for any c ∈ C(v). Proof. Since M is a matching of T (v), M(c) = M ∩ E(T (c)) is a matching of T (c). Since M is a v-stable matching of T (v), every edge e ∈ E(T (c))−{(c, v)} is dominated by an edge in M∩E(T (c)). Thus, M(c) is a c-stable matching of T (c). Lemma 3 For any M ⊆ E(T (v)), M is in MvP if and only if the following conditions are satisfied: (i) (v, p(v)) ∈ M, (ii) M(c) ∈ McP for every c ∈ C(v) with c v p(v) , and (iii) M(c) ∈ McH for every c ∈ C(v) with c ≺v p(v). Proof. Let M ∈ MvP . Then, we have (i) by definition. From Lemma 2, M(c) is a c-stable matching of T (c) for every c ∈ C(v). For c v p(v), M(c) ∈ McP holds, since (i) holds, and M(c) is a matching. Thus, we have (ii). For any c ≺v p(v), (v, p(v)) ∈ M does not dominate (c, v), and v is matched with p(v). Therefore, (c, v) must be dominated by an edge (g, c) for some vertex g with g c v. Since v is the parent of c, g is a child of c. Therefore, (c, g) ∈ M(c), and we have (iii). Conversely, suppose a set M ⊆ E(T (v)) satisfies (i)–(iii). Then, M is a matching of T (v), since there is only one common vertex v for subtrees T (c), and edges in M(c) are not incident with v. Moreover, all edges of M(c) − {(c, v)} are dominated by an edge in M(c) for any c ∈ C(v), since M(c) is a c-stable matching. Therefore, the rest of the proof is to show that every (c, v) is dominated by an edge in M, since (v, p(v)) ∈ M. For any c ≺v p(v), we have M(c) ∈ McH by (iii), and thus, (c, v) is dominated by an edge (c, g) ∈ M(c) for some g ∈ C(c). For any c v p(v), (c, v) is dominated by (v, p(v)) ∈ M by (ii). Thus, all edges in M(v) − {(v, p(v))} are dominated by edges in M, i.e., M is v-stable. Therefore, M is in MvP , since (v, p(v)) ∈ M. Fig. 1 shows an example of a subtree T (v) and a matching M in MvP , where ci are the children of v such that c1 ≻v p(v), c2 ≡v c3 ≡v p(v), and ci ≺v p(v) for i ≥ 4. Some edges of the matching is shown by bold lines. Since M ∈ MvP and c1 ≻v p(v), some edge (c1 , g) with g c1 v must be contained in M. For a tree T and a vertex v ∈ V(T ), let T − v be a tree obtained from T by deleting v and edges incident with v. ⓒ 2013 Information Processing Society of Japan. p(v). ≺v pv ≡v pv. v. ( v , c) c2. c = c1. c4. c3. ≻v. ≻v pv. c5. c6. g T c1. T c2 Fig. 1. T c3. T c4. T c5. T c6. a matching M of T (v) in MvP .. Lemma 4 For any M ⊆ E(T (v)), M is in MvH if and only if the following conditions are satisfied: (i) (v, p(v)) < M, (ii) there exists c′ v p(v) such that M(c′ ) ∈ McP′ , (iii) M(c) ∈ McH for every c ∈ C(v) with c ≺v c′ , and (iv) M(c) ∈ McP for every c ∈ C(v) with c v c′ and c , c′ . Proof. Let M ∈ MvH , and c′ ∈ C(v) be the child of v such that (c′ , v) ∈ M. Then, we have (i) by definition. From Lemma 2, M(c) is a c-stable matching of T (c) for every c ∈ C(v). Since M ∈ MvH , there exists c′ ∈ C(v) such that c′ v p(v) and (c′ , v) ∈ M. Therefore, M(c′ ) ∈ McP′ and we have (ii). For any c ≺v c′ , the edge (c, v) is not dominated by (c′ , v). Therefore, (c, v) must be dominated by an edge (g, c) incident with c. Since g ∈ C(c), we have M(c) ∈ McH . Therefore, (iii) holds. For any c v c′ , (c, v) is dominated by (c′ , v). Therefore, M(c) ∈ McP , and we have (iv). Conversely, suppose a set M ⊆ E(T (v)) satisfies (i)–(iv). Then, M is a matching of T (v), since there is only one common vertex v for subtrees T (c), there is only one edge (c, v) of M incident with v, and (v, p(v)) < M. Moreover, all edges in M(c) − {(c, v)} are dominated by an edge in M(c) for any c ∈ C(v), since M(c) is a c-stable matching. In addition, there exists c′ v p(v). Therefore, the rest of the proof is to show that every (c, v) is dominated by an edge in M, since (v, p(v)) < M by (i). Since (c′ , v) ∈ M, (c, v) is dominated by (c′ , v) for c v c′ . For c ≺v c′ , (c, v) is dominated by (g, c) for some g ∈ C(c), since M(c) ∈ McH by (iii). Moreover, (c′ , v) is dominated by itself. Therefore, all edges (c, v) for c ∈ C(v) are dominated by an edge in M, and M(c) is v-stable. Thus, M is in MvH . Fig. 2 shows an example of a subtree T (v) and a matching M in MvH , where ci are the children of v such that (c2 , v) ∈ M, c1 ≺v p(v), c2 ≡v c3 ≡v p(v), and ci ≻v p(v) for i ≥ 4. Some edges of the matching is shown by bold lines. Since M ∈ MvH and c1 ≺v p(v), some edge (c1 , g1 ) with g1 c1 v must be contained in M. Lemma 5 For any M ⊆ E(T (v)), M is in MvL if and only if the following conditions are satisfied: (i) (v, p(v)) < M, (ii) there exists c′ ≻v p(v) such that M(c′ ) ∈ McP′ , (iii) M(c) ∈ McH for every c ∈ C(v) with c ≺v c′ , and (iv) M(c) ∈ McP for every c ∈ C(v) with c v c′ and c , c′ . Proof. Let M ∈ MvH , and c′ ∈ C(v) be the child of v 2.

(3) Vol.2013-AL-145 No.10 2 013/11/6. IPSJ SIG Technical Report. pv. v. c1. c2. c5. c4. c3. c6. g1 T c1. T c2. T c3 Fig. 2. T c4. T c5. T c6. M ∈ MvH .. such that (c′ , v) ∈ M. Then, we have (i) by definition. From Lemma 2, M(c) is a c-stable matching of T (c) for every c ∈ C(v). Since M ∈ MvL , there exists c′ ∈ C(v) such that c′ ≻v p(v) and (c′ , v) ∈ M. Therefore, M(c′ ) ∈ McP′ and we have (ii). For any c ≺v c′ , the edge (c, v) is not dominated by (c′ , v). Therefore, (c, v) must be dominated by an edge (g, c) incident with c. Since g ∈ C(c), we have M(c) ∈ McH . Therefore, (iii) holds. For any c v c′ , (c, v) is dominated by (c′ , v). Therefore, M(c) ∈ McP , and we have (iv). Conversely, suppose a set M ⊆ E(T (v)) satisfies (i)–(iv). Then, M is a matching of T (v), since there is only one common vertex v for subtrees T (c), there is only one edge (c, v) of M incident with v, and (v, p(v)) < M. Moreover, all edges in M(c) − {(c, v)} are dominated by an edge in M(c) for any c ∈ C(v), since M(c) is a c-stable matching. In addition, there exists c′ ≻v p(v). Therefore, the rest of the proof is to show that every (c, v) is dominated by an edge in M, since (v, p(v)) < M by (i). Since (c′ , v) ∈ M, (c, v) is dominated by (c′ , v) for c v c′ . For c ≺v c′ , (c, v) is dominated by (g, c) for some g ∈ C(c), since M(c) ∈ McH by (iii). Moreover, (c′ , v) is dominated by itself. Therefore, all edges (c, v) for c ∈ C(v) are dominated by an edge in M, and M(c) is v-stable. Thus, M is in MvH . Fig. 3 shows an example of a subtree T (v) and a matching M in MvL , where ci are the children of v such that (c5 , v) ∈ M, ci ≺v c5 for i ≤ 4, p(v) ≺v c5 , and c6 ≡v c5 Some edges of the matching is shown by bold lines. Since M ∈ MvL and ci ≺v c5 for i ≤ 4, some edge (ci , gi ) with gi ≺ci v must be contained in M for i ≤ 4. p(v). v. c1. c2. c5. c4. c3. c6. Proof. Let M ∈ MvH . Then, we have (i) by definition. From Lemma 2, M(c) is a c-stable matching of T (c) for every c ∈ C(v). Since M ∈ MvH , (c, v) < M for any c ∈ C(v). Therefore, M(c) ∈ McP , and we have (ii). Conversely, suppose a set M ⊆ E(T (v)) satisfies (i) and (ii). Then, M is a matching of T (v), since there is only one common vertex v for subtrees T (c), and there is no edge in M(c) incident with v. In this case, all edges of M(c) − {(c, v)} are dominated by an edge in M(c) for any c ∈ C(v), since M(c) is a c-stable matching. Moreover, for any c ∈ C(v), every edge (c, v) is dominated by (g, c) for some g ∈ C(c), since M(c) ∈ McH . Thus, all edges in M(v) − {(v, p(v))} are dominated by edges in M, i.e., M is v-stable. Therefore, M is in MvF , since (v, p(v)) < M. Fig. 4 shows an example of a subtree T (v) and a matching M in MvF , where ci are the children of v. Some edges of the matching is shown by bold lines. Since M ∈ MvF and ci ≺v c4 for i ≤ 3, some edge (ci , gi ) with gi ≺ci v must be contained in M for any i. p(v). v. c1. c2. g2. g3. g4. g5. g6. T c1. T c2. T c3. T c4. T c5. T c6. M ∈ MvF .. Linear Time Algorithm for Trees. 3.1 Computing the Size of Maximum Stable Matchings In this section, we show a linear time algorithm to compute the size of a maximum stable matching in a tree. Our algorithm applies a dynamic programing scheme based on the results in the previous section. The algorithm can be modified to find a maximum stable matching in a tree as shown in the next section. MinSMP can be solved n in linear otime by a similar method. For any S ∈ P, H, L, F, P , let µSv be the maximum number of edges of a v-stable matching in MSv , where µSv = −∞ if MSv = ∅. If v is a leaf, T (v) is a tree consisting of only one edge (v, p(v)). Since v has no child, we have MvH = MvL = ∅ and thus, µvH = µvL = −∞. Since {(v, p(v))} is a unique v-stable matching containing (v, p(v)), µvP = 1. Moreover, M = ∅ is also v-stable matching with M ∈ MvF , we have µF = 0. Thus, if v is a leaf then µvH = µvL = −∞. g1. g2. g3. g4. T c1. T c2. T c3. T c4. Fig. 3. T c5. T c6. M ∈ MvL .. Lemma 6 For any M ⊆ E(T (v)), M is in the following conditions are satisfied: (i) (v, p(v)) < M, and (ii) M(c) ∈ McH for any c ∈ C(v). ⓒ 2013 Information Processing Society of Japan. MvF. if and only if. c6. g1. Fig. 4. 3.. c5. c4. c3. (1). µvP = 1, and µvF = 0. Define that for c ∈ C(v), X µv,c = µcH′ + µcP + c′ ≺v c,c′ ,p(v). X. From Lemmas 3–6, we have X X µvP = µcH + µcP + 1, c≺v p(v). µcP′ .. (2). c′ v c,c′ ,c,c′ ,p(v). (3). cv p(v),c′ ,p(v). 3.

(4) Vol.2013-AL-145 No.10 2013/11/6. IPSJ SIG Technical Report. µvH = max{µv,c | c v p(v), c′ , p(v)},. (4). µvL. (5). = max{µv,c | c ≻v p(v)}, X F µv = µcH , and. (6). c∈C(v). µvP = max{µvH , µvL , µvF }.. (7). From (2), we have  x−2  X  P P P  −  µci + µcx−1 + µcx . µv,cx = µv,cx−1. i=y.   x−1  X µcHi + µcPx  . +  i=y. Define that, for c ∈ C(v), [c]v = {c′ | c′ ≡v c, c′ , p(v)}. In order to compute the size of a maximum stable matching, we use a recursive procedure Comp µ(v) shown in Fig. 5. From Lemma 1, the maximum size of a stable matching in T is obtained by computing max{µrH′ , µrP′ }, and µrH′ and µrP′ are obtained by executing Comp µ(r′ ). We use variables γ(H, v) and γ(P, v) to denote children c of v such that (c, v) ∈ M for M ∈ MvH and M ∈ MvP , if any. These variables will be used when a maximum stable matching is computed. Input v ∈ V(T ) − {r}. begin for all c ∈ C(v) Comp µ(c). endfor for all c ∈X C(v) µv,c = µcH′ + µcP + c′ ≺v c. X. µcP′ .. c′ v c,c′ ,c. endforX X µvP = µcH + µcP + 1. c≺v p(v). µvF =. X. cv p(v). µcH , where µvF = 0 if v is a leaf.. c∈C(v). µvH = max µv,c , where µvH = −∞ if v is a leaf. cv p(v). µvL = max µv,c , where µvL = −∞ if v is a leaf. c≺v p(v). let γ(H, v) be a child c of v such that µvH = µv,c and c v p(v). if µvH ≥ max{µvL , µvF } then µvP = µvH . γ(P, v) = γ(H, v). elseif µvL ≥ µvF then µvP = µvL . let γ(P, v) be a child c of v such that µvL = µv,c and c ≻v p(v). else /∗ µvF > max{µvH , µvL } ∗/ µvP = µvF . γ(P, v) = NULL. endif end Fig. 5 Procedure Comp µ(v).. n o Lemma 7 Given µSc for all S ∈ P, H, L, F, P and c ∈ C(v), {µv,c | c ∈ C(v)} can be computed in O(δ) time. Proof. Let c1 , c2 , . . . , cδ be a sequence of the children of v such that ci v ci+1 . From (2), µv,c1 can be computed in O(δ) time. Let x ≥ 2. If c x ≡v c x−1 then µv,cx = µv,cx−1 − (µcPx−1 + µcPx ) + (µcPx−1 + µcPx ). Thus, by (2), µv,cx can be computed in O(1) time by using µv,cx−1 . If c x−1 ≺v c x , let y be the integer such that [c x−1 ]v = {cy , cy+1 , . . . , c x−1 }. ⓒ 2013 Information Processing Society of Japan. (8). Therefore, µv,cx can be computed in O(|[c x−1 ]v |) time by using µv,cx−1 . Thus, the computation of {µv,c | c ∈ C(v)} can be done in O(δ) time, since computation shown in (8) is executed once for each [c x−1 ]v . n Once µv,c are obtained o for all c ∈ C(v), the computation of µSv | S ∈ {H, L, P, F, P} can be done in O(δ) = O(degT (v)) time, by (3)–(7). From Lemma 7, except for the recursive calls, Comp µ(v) for each vertex v can be done in O(degT (v)) time. Since P v∈V(T ) degT (v) = O(|V(T )|), we have the following. Theorem 1 The maximum size of a stable matching of trees can be computed in linear time. 3.2 Computing Maximum Stable Matchings In order to compute a maximum stable matching of T , we use the procedure Add Edges(v, S, M) shown in Fig. 6. In the execution of Add Edges(v, S, M) except for the recursive calls in it, only edge (v, p(v)) can be added to M. In addition, Add Edges(v, S, M) is executed by a depth first search strategy for v. Therefore, we have the following. Lemma 8 In the execution of Add Edges(r′ , S, M) start with M = ∅, M ∩ V(T (v)) = ∅ before the execution of Add Edges(v, S, M) for v ∈ V(T ) − {r, r′ }. Input v ∈ V(T ) − {r}, S ∈ {P, H, P}, M ⊆ E(T ). begin if S = P then c0 = p(v). elseif S = H then c0 = γ(v, H). else c0 = γ(v, P). endif for all c ∈ C(v) with c ≺v c0 /∗ where c ≺v NULL for c ∈ C(v) ∗/ Add Edges(c, H, M). endfor for all c ∈ C(v) with c v c0 and c , c0 Add Edges(c, P, M). endfor if S = P then add (v, p(v)) to M. elseif c0 , NULL then /∗ S = H or P ∗/ Add Edges(c0 , P, M). endif end Fig. 6. Procedure Add Edges(v, S , M).. Lemma 9 If µSv ≥ 0 for S ∈ {P, H, P} and M ∩ E(T (v)) = ∅, then Add Edges(v, S, M) adds edges in M ′ to M for some M ′ ∈ MSv with |M ′ | = µSv . Proof. We prove the lemma by induction. Assume that v is a leaf. Then, µvP = 1, µvP = 0, and µvH = −∞. Therefore, we only need to consider the cases of S ∈ {P, P}. In 4.

(5) Vol.2013-AL-145 No.10 2013/11/6. IPSJ SIG Technical Report. this case, Add Edges(v, S, M) adds (v, p(v)) to M if S = P, and adds no edge if S = P. Thus, we have the lemma. Let v be an internal vertex and assume that the lemma holds for all children c ∈ C(v) and S ∈ {P, H, P}. We distinguish four cases. Case 1 S = P. From Lemma 3, µcH ≥ 0 for c ∈ C(v) with c ≺v p(v), and µcP ≥ 0 for c ∈ C(v) with c v p(v). In the execution of Add Edges(v, S, M), Add Edges(c, H, M) is executed for c ∈ C(v) with c ≺v p(v), Add Edges(c, P, M) is executed for c ∈ C(v) with c v p(v), and (v, p(v)) is added to M. Thus by induction hypothesis and Lemma 8, edges in S S M ′ = c≺v p(v) McH ∪ cv p(v) McP ∪ {(v, p(v))} are added to M such that McH ∈ McH , McP ∈ McP , µhc = |McH |, and µcP = |McP |. Therefore, from Lemma 3 and (3), we obtain M ′ ∈ MvH and µvH = |M ′ |. Thus, we have the lemma. Case 2 S = H. In this case, γ(v, H) is set to a child c′ of v such that µvH = µv,c′ . From Lemma 4, we have µcH ≥ 0 for c ∈ C(v) with c ≺v c′ , µcP′ ≥ 0, and µcP ≥ 0 for c ∈ C(v) with c v c′ . Then, Add Edges(c, H, M) for c ∈ C(v) with c ≺v c′ , Add Edges(c, P, M) for c ∈ C(v) with c v c′ , and Add Edges(c′ , P, M) are executed in Add Edges(v, S, M). Thus by induction hypothesis and Lemma 8, edges in M ′ = S S H P P c≺v c′ Mc ∪ cv c′ Mc ∪ Mc are added to M such that H H P P P Mc ∈ Mc , Mc ∈ Mc , Mc′ ∈ McP′ , µhc = |McH |, µcP = |McP |, and µcP′ = |McP′ |. Therefore, from Lemma 4 and (4), we obtain M ′ ∈ MvP and µvP = |M ′ |, respectively. Thus, we have the lemma. Case 3 S = P and γ(v, P) , NULL. In this case, γ(v, P) is set to a child c′ of v such that µvP = µv,c′ . Then by similar arguments to Case 2, we have the lemma. Case 4 S = P and γ(v, P) = NULL. Since γ(v, P) = NULL, µvP = µvF > max{µvH , µvL }. From Lemma 6, µcH ≥ 0 for c ∈ C(v). Then, Add Edges(c, H, M) for c ∈ C(v) are executed in Add Edges(v, P, M). Thus by inS duction hypothesis and Lemma 8, edges in M ′ = c∈C(v) Mc are added to M, such that Mc ∈ McH and |Mc | = µcH . Therefore, from Lemma 6 and (6), we obtain M ′ ∈ MvF ⊆ MvP and |M ′ | = µvF = µvP . Thus, we have the lemma. From Lemma 9, r′ -stable matchings M P ∈ MrP′ with |M P | = µrP′ and M H ∈ MrH′ with |M H | = µhr′ can be computed in linear time. From Lemma 1, such M P or M H is a maximum stable matching. Thus, we have the following. Theorem 2 A maximum stable matching of trees can be computed in linear time.. 4.. Concluding Remarks. 4.1 Min-SMP We can also compute minimum stable matchings by similar arguments as mentioned in Section3.1. In fact, by replacing (1), (4), (5), and (7) with. µvH = min{µv,c | c v p(v), c′ , p(v)}, µvL = max{µv,c | c ≻v p(v)}, and µvP = max{µvH , µvL , µvF }, respectively, we can obtain the size of a minimum stable matching by the algorithm shown in Fig. 5. Therefore, we can easily obtain an algorithm for computing a minimum stable matching by modifying algorithms shown in Figs. 5 and 6. 4.2 Extensions The preference system can be defined for general graphs without any modification. The general stable matching problem (GSMP) is to find a stable matching of a preference system (G, G ), where G is a general graph. It has been known that there exists a preference system which has no stable matching, and GSMP is NP-hard [4], [7]. We can define associated optimization problems Max-GSMP and Min-GSMP as follows. Max-GSMP Instance : A general graph G, a total preorder v for every v ∈ V(G), a weight function w : E(G) → Z+ . Question : Find a stable matching M such that X w(e) e∈M. is maximum. Min-GSMP Instance : A general graph G, a total preorder v for every v ∈ V(G), a weight function w : E(G) → Z+ . Question : Find a stable matching M such that X w(e) e∈M. is minimum. Since GSMP is a generalization of SMP, we have the following. Theorem 3 Both Max-GSMP and Min-GSMP are NP-hard. It is interesting to note that both Max-GSMP and Min-GSMP can be solved in plynomial time if the treewidth of G is bounded by a constant. We can prove the following by extending our resutlts on trees, although the proof might be complicated. Theorem 4 Both Max-GSMP and Min-GSMP can be solved in O(|V(G)|∆Gk+1 ) time if the treewidth of G is bounded by k, where ∆G is the maximum degree of a vertex of G. References [1] [2] [3]. [4]. µvH. =. µvL. = +∞. ⓒ 2013 Information Processing Society of Japan. [5]. D. Gale and L.S. Shapley, “College admissions and the stability of marriage,” American Mathematical Monthly, vol.69, no.1, pp.9–15, 1962. D. Gale and M. Sotomayor, “Some remarks on the stable matching problem,” Discrete Applied Mathematics, vol.11, pp.9–15, 1985. M. Halld´orsson, R. Irving, K. Iwama, D. Manlove, S. Miyazaki, Y. Morita, and S. Scott, “Approximability results for stable marriage problems with ties,” Theoretical Computer Science, vol.306, no.1-3, pp.431–447, 2003. R.W. Irving and D. Manlove, “The stable roommates problem with ties,” J. Algorithms, vol.43, no.1, pp.85–105, 2002. R.W. Irving, D. Manlove, and G. O’Malley, “Stable marriage with ties. 5.

(6) IPSJ SIG Technical Report. [6] [7]. Vol.2013-AL-145 No.10 2013/11/6. and bounded length preference lists,” J. Discrete Algorithms, vol.1, no.2, pp.213–219, 2009. D. Manlove, R. Irving, K. Iwama, S. Miyazaki, and Y. Morita, “Hard variants of stable marriage,” Theoretical Computer Science, vol.276, no.1-2, pp.261–279, 2002. E. Ronn, “NP-complete stable matching problems,” J. Algorithms, vol.11, no.2, pp.285–304, 1990.. ⓒ 2013 Information Processing Society of Japan. 6.

(7)

Fig. 1 shows an example of a subtree T (v) and a matching M in M P v , where c i are the children of v such that c 1 ≻ v p(v), c 2 ≡ v c 3 ≡ v p(v), and c i ≺ v p(v) for i ≥ 4
Fig. 3 shows an example of a subtree T (v) and a matching M in M L v , where c i are the children of v such that (c 5 , v) ∈ M, c i ≺ v c 5 for i ≤ 4, p(v) ≺ v c 5 , and c 6 ≡ v c 5 Some edges of the matching is shown by bold lines
Fig. 6 Procedure A dd E dges (v, S, M).

参照

関連したドキュメント

In Section 3, we study the determining number of trees, providing a linear time algorithm for computing minimum determining sets.. We also show that there exist trees for which

In Section 4, we use double-critical decomposable graphs to study the maximum ratio between the number of double-critical edges in a non-complete critical graph and the size of

In section 3 all mathematical notations are stated and global in time existence results are established in the two following cases: the confined case with sharp-diffuse

In this work, we present an asymptotic analysis of a coupled sys- tem of two advection-diffusion-reaction equations with Danckwerts boundary conditions, which models the

A wave bifurcation is a supercritical Hopf bifurcation from a stable steady constant solution to a stable periodic and nonconstant solution.. The bifurcating solution in the case

Here we do not consider the case where the discontinuity curve is the conic (DL), because first in [11, 13] it was proved that discontinuous piecewise linear differential

Keywords: Lévy processes, stable processes, hitting times, positive self-similar Markov pro- cesses, Lamperti representation, real self-similar Markov processes,

We present sufficient conditions for the existence of solutions to Neu- mann and periodic boundary-value problems for some class of quasilinear ordinary differential equations.. We