On-line maximum matching in complete multi-partite graphs with an application to optical networks

On-line maximum matching in complete multi-partite graphs with an application to optical networks

Discrete Applied Mathematics ( ) – Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locat...

397KB Sizes 4 Downloads 40 Views

Discrete Applied Mathematics (

)



Contents lists available at ScienceDirect

Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam

On-line maximum matching in complete multi-partite graphs with an application to optical networks Mordechai Shalom a,∗ , Prudence W.H. Wong b , Shmuel Zaks c a

TelHai Academic College, Upper Galilee, 12210, Israel

b

Department of Computer Science, The University of Liverpool, Liverpool, UK

c

Department of Computer Science, Technion, Haifa, Israel

article

info

Article history: Received 27 November 2013 Received in revised form 13 October 2014 Accepted 31 October 2014 Available online xxxx Keywords: On-line algorithms Maximum matching Multi-partite graphs Optical networks Switching cost

abstract Finding a maximum matching in a graph is a classical problem. The on-line versions of the problem in which the vertices and/or edges of the graph are given one at a time and an algorithm has to calculate a matching incrementally have been studied for more than two decades. Many variants of the problem are considered in the literature. The pioneering work (Karp, 1990) considers a bipartite graph where the vertices of one part are revealed one at a time together with their incident edges. In this work we consider maximal d-colorable graphs which are exactly the complete d-partite graphs. The vertices arrive one at a time together with their incident edges, or equivalently with their corresponding colors in some given d-coloring of the graph. We present an optimal 2/3-competitive deterministic algorithm for this on-line problem. This problem is closely related to that of minimizing the cost of line terminals in star topology optical network. We consider lightpaths arriving in an on-line fashion on a given star network. Our result implies a tight 10/9-competitive algorithm for finding a wavelength assignment minimizing the cost of line terminals in such a network. © 2014 Published by Elsevier B.V.

1. Introduction 1.1. Background A matching in a graph is a subset M of its edges such that every vertex of the graph is incident to at most one edge of M. A maximum matching is a matching of maximum size, i.e., having the biggest number of edges among all matchings. The problem of finding a maximum matching of a graph is a century old problem [14]. In the on-line versions of the problem, the input graph is presented incrementally, and an algorithm has to maintain at any given time a matching of the already presented part of the graph. Moreover, the algorithm cannot change its prior decisions when a new portion of the graph is revealed. The on-line bipartite maximum matching problem was introduced in [13]. In that work, the vertices of one part of the bipartite graph arrive in some preselected order together with their neighbors. The greedy algorithm that matches a vertex whenever possible, i.e. whenever a vertex with an unmatched neighbor appears, is 1/2-competitive. Indeed a maximal matching is at least 1/2 of a maximum matching. This was shown to be the best possible for deterministic on-line algorithms even when the graph is bipartite. A (1 − 1/e)-competitive randomized algorithm was



Corresponding author. E-mail addresses: [email protected] (M. Shalom), [email protected] (P.W.H. Wong), [email protected] (S. Zaks).

http://dx.doi.org/10.1016/j.dam.2014.10.040 0166-218X/© 2014 Published by Elsevier B.V.

2

M. Shalom et al. / Discrete Applied Mathematics (

)



proposed, and was proved later [4,11] to be optimal. The problem was used in various theoretical and application scenarios. This was done, for instance, in [1] for packet switching routing, in [2] for load balancing, and in [3] for QoS networks. The problem was also studied for general weighted graphs in [12], where a 1/3-competitive deterministic algorithm is given. In this work, whose preliminary version is published in [15], we consider complete multipartite graphs. To the best of our knowledge, this is the first study of on-line maximum matching in these graphs. We note that the size of a maximum matching of a given complete multipartite graph can be calculated easily following [19]. 1.2. Our contribution We consider the on-line maximum matching problem in complete multi-partite graphs. We present an optimal 2/3-competitive deterministic on-line algorithm for this problem. Due to the tight connection between this problem and the problem of line terminal minimization in star topology optical networks, the result implies that the competitive ratio of the latter problem is exactly 10/9. The reader is referred to Section 4 for the details. In Section 2 we present definitions and preliminary results. The lower bound and upper bound for the competitive ratio of the maximum matching problem are presented in Sections 3.1 and 3.2, respectively. In Section 4 we apply the results to the problem of line terminal cost minimization in optical networks. We conclude and discuss further research directions in Section 5. 2. Preliminaries 2.1. Matchings and maximal d-colorable graphs A matching of a graph H = (V , E ) is a subset M ⊆ E such that the maximum degree of the subgraph HM = (V , M ) is at most 1. A vertex is said to be matched (resp. unmatched) by M if its degree in HM is 1 (resp. 0). The size of a matching is the number |M | of its edges. A maximum matching of H is a matching of H with maximum size. A (vertex) coloring of a graph H = (V , E ) is a labeling c of its vertex set such that for every edge {u, v} ∈ E, its endpoints u and v are labeled with distinct labels (colors) c (u) ̸= c (v). In other words, whenever c (u) = c (v), we have {u, v} ̸∈ E, i.e. def

a set of vertices colored with the same color λ induces an independent set V (λ) = {v ∈ V : c (v) = λ} that is termed as the color class of λ in the coloring. A graph is d-colorable (or d-partite) if it has a coloring using (exactly) d distinct colors. Clearly, every graph on n vertices is n-colorable. The chromatic number χ (H ) of H is the smallest number d such that H is d-colorable. Without loss of generality we assume that the color set of a d-coloring is [d] = {1, . . . , d}. A graph is maximal d-colorable if it is d-colorable and any graph obtained from it by adding a single edge is not d-colorable. The following proposition implies that a graph is maximal d-colorable if and only if it is complete d-partite. Proposition 2.1. Let H be a maximal d-colorable graph and c a d-coloring of H. Then: (i) {u, v} ∈ E if and only if u, v belong to distinct color classes of c, (ii) χ (H ) = d, and (iii) the coloring c is unique up to a permutation of the colors. Proof. (i) Let H = (V , E ) be a maximal d-colorable graph, and consider a d-coloring of H with color classes V (1) , . . . , V (d) . For every pair of vertices u, v in distinct color classes, we have {u, v} ∈ E, because otherwise the graph obtained from H by adding {u, v} is d-colorable, contradicting the maximality of H. By definition of coloring, for every pair of vertices u, v in the same color class we have {u, v} ̸∈ E. (ii) Clearly, χ (H ) ≤ d. Moreover, by (i) any set of d representatives of the sets V (1) , . . . , V (d) is a clique of size d. Therefore χ(H ) ≥ d. (iii) We show that in any d-coloring c ′ , all the vertices of a set V (λ) are colored with the same color. Assume, by way of contradiction, that in some d-coloring c ′ two vertices u, v ∈ V (j) are colored with two distinct colors λ, λ′ . Consider any set of d − 1 representatives of sets V (1) , . . . , V (j−1) , V (j+1) , . . . , V (d) . They form a clique, none of the vertices of which can be colored with one of λ, λ′ . Therefore c ′ uses at least d + 1 colors, a contradiction.  Based on the above proposition, the color classes V (1) , . . . , V (d) of a maximal d-colorable graph are uniquely determined. We consider the Maximum Matching in Complete Multipartite Graphs (Mmcm) problem defined as follows: Mmcm(H ) Input: A complete multi-partite graph H. Output: A matching M of H. Objective: Maximize |M |. We use the following lemma when developing our results. (1) (d) Lemma  ([19]). Let H be a maximal d-colorable graph on n vertices with color classes V , . . . , V . H contains a matching  2.1 of size 2n if and only if |V (k) | ≤ ⌈ 2n ⌉ for every k ∈ [d].

A maximal d-colorable graph having a matching of size

n 2

is termed balanced.

M. Shalom et al. / Discrete Applied Mathematics (

)



3

2.2. The on-line problem An on-line problem is a problem where the input is presented (to an on-line algorithm) as a sequence τ1 , τ2 , . . . and the algorithm has to take irrevocable decisions on every entry τi of the input, upon its presentation. Let OPT be an optimal off-line algorithm. An on-line algorithm A to a minimization problem is said to be c-competitive (for c ≥ 1) if there exists some constant b ≥ 0 such that for any input I , A(I ) ≤ c × OPT (I ) + b, where A(I ) and OPT (I ) denote the cost of the output of A and OPT , respectively, on the instance I. Similarly, for a maximization problem A is said to be c-competitive (for c ≤ 1) if there exists some b ≥ 0 such that for any input I , A(I ) ≥ c × OPT (I ) − b. We consider the on-line variant of Mmcm problem in which the vertices {v1 , v2 , . . .} of the graph are revealed one at a time, and every vertex is given with its neighbors in H that are already revealed. We assume the colors (or color classes) are numbered according to the order in the input. More precisely, we consider the first vertex of every color class and we number the classes according to the order of these vertices in the input. V (vi ) denotes the color class of vi , Hi denotes the subgraph of H induced by the first i vertices v1 , . . . , vi of the input. For each vertex vi of the input, an on-line algorithm has to decide whether to leave it unmatched, or to match it to a currently unmatched vertex vj (with j < i). As H is maximal d-colorable, a vertex vj is eligible for a match with vi if and only if V (vi ) ̸= V (vj ) and vj is currently unmatched. Once two vertices are matched, the decision cannot be revoked. An on-line instance is completely balanced if every prefix Hi of it is balanced. Proposition 2.2. There is an optimal deterministic on-line algorithm solving Mmcm in complete bipartite graphs. Proof. Consider the greedy algorithm that matches every new vertex vi with an unmatched vertex vj ∈ V (Hi ) \ V (vi ) if such a vertex vj exists. We observe that after every input step all the unmatched vertices are in one color class. This is because if there are two unmatched verticesin two  different  color classes the vertex  that arrives  later  ismatched to the other by the  algorithm. Therefore, |M | = min V (0)  , V (1)  . On the other hand M ′  ≤ min V (0)  , V (1)  for every matching M ′ .  3. Maximum matching in complete multi-partite graphs In this section we first present a lower bound of 2/3 on the competitive ratio of deterministic algorithms for the Mmcm problem (Section 3.1) and then provide an algorithm matching this bound (Section 3.2). We note that the lower bound holds for the case where the input is not restricted to bipartite graphs. Otherwise, by Proposition 2.2, the problem can be solved optimally. 3.1. Lower bound Lemma 3.1. For any c >

2 3

and χ (H ) ≥ 3 there is no c-competitive deterministic on-line algorithm for Mmcm.

Proof. Assume, by contradiction, that there is a 23 + ϵ -competitive deterministic on-line algorithm ALG for some ϵ > 0. Then, there is a constant b ≥ 0, such that for any on-line instance H



ALG(H ) ≥



2 3



 + ϵ OPT (H ) − b.

Let k > 32bϵ , and consider the maximal 3-colorable graph H with 4k vertices, such that V (1)  = V (2)  = k and V (3)  = 2k. Consider the on-line instance in which all the vertices of V (3) are presented after the other vertices. Clearly, OPT (H2k ) = k. Then



ALG(H2k ) ≥



2 3











 2 + ϵ k − b = k + ϵk − b 3

and ALG leaves k − ALG(H2k ) unmatched vertices in each one of V (1) and V (2) . When the 2k vertices of V (3) are presented, ALG cannot do better than matching the 2(k − ALG(H2k )) unmatched vertices to the vertices of V (3) . Therefore ALG(H ) ≤ ALG(H2k ) + 2(k − ALG(H2k )) = 2k − ALG(H2k ) ≤

4 3

k − ϵ k + b.

(1)

Clearly, OPT (H ) = 2k. Then ALG(H ) ≥



2 3

   2 + ϵ OPT (H ) − b = + ϵ 2k − b. 3

(2)

4

M. Shalom et al. / Discrete Applied Mathematics (

)



Combining (1) and (2) we get



2 3

 4 + ϵ 2k − b ≤ k − ϵ k + b 3

2ϵ k − b ≤ −ϵ k + b 2b , k≤ 3ϵ a contradiction.



3.2. Upper bound In this section we present a deterministic on-line algorithm for the Mmcm problem. In particular, we show that it suffices to focus on completely balanced instances. 3.2.1. Solving unbalanced instances The following lemma shows that the difficult instances of the Mmcm problem are the completely balanced instances. Lemma 3.2. There is a c-competitive deterministic algorithm for the Mmcm problem, if and only if there is a c-competitive deterministic algorithm for the completely balanced instances of the Mmcm problem. Moreover, the additive constant is the same for both algorithms. Proof. The ‘only if’ part is immediate. We now show the ‘if’ part. Let AlgBalanced be a c-competitive deterministic on-line algorithm for completely balanced instances, for some c ∈ [0, 1] with an additive constant b ≥ 0. We claim that the following algorithm Alg(AlgBalanced) in Algorithm 1 is c-competitive for general instances of Mmcm, with an additive term b. Algorithm 1 Alg(AlgBalanced) Require: AlgBalanced is an algorithm for completely balanced instances. Initialization: 1: B ← ∅ ◃ The part of the input supplied to AlgBalanced 2: U ← ∅ ◃ The currently unmatched vertices 3: M ← ∅ ◃ The matching On input vi do: ◃ V (H ) = {v1 , ..., vi } 4: if U = ∅ then 5: if B ∪ {vi } is balanced then 6: B ← B ∪ {vi } 7: present the vertex vi to AlgBalanced 8: follow the decision of AlgBalanced 9: else 10: U ← {vi } 11: h ← c (vi ) ◃ h is the heaviest color 12: end if 13: else 14: if c (vi ) = h then 15: leave vi unmatched 16: U ← U ∪ {vi } 17: else 18: choose anarbitrary unmatched vertex vj ∈ U  19: U ← U \ vj 20: 21: 22:

M ←M∪ end if end if

  vi , vj .

◃ We use ⊎ to denote union of disjoint sets.

The algorithm treats unbalanced subsequences of the input separately and presents AlgBalanced only a completely balanced subsequence of the input. It relies on the fact that at any time the input is not balanced there is a heaviest color class containing more than half of the vertices. Furthermore, this heaviest class remains such, as long as the input remains unbalanced. Based on these observations, the heaviest color is kept in a variable h of the algorithm. B is completely balanced because the validation in line 5 guarantees that B is balanced during the execution of the algorithm. Therefore, AlgBalanced returns a matching of B. We now consider vertices of the input that are not passed to def

AlgBalanced. We denote this set as B¯ = H \ B. Vertices of B¯ are added to U if and only if they are left unmatched, and

M. Shalom et al. / Discrete Applied Mathematics (

)



5

¯ U is are removed from U whenever they are matched. Therefore U contains the set of currently unmatched vertices of B. | | completely contained in some color class V (h) of H. Indeed, this clearly holds when U = 0, and whenever a vertex is added   to a non-empty U, this fact is asserted in line 14. Therefore whenever a pair vi , vj is added to the matching (in line 20), we have vj ∈ U ⊆ V (h) and vi ̸∈ V (h) , thus the pair is eligible for a matching. We conclude that Alg is correct. To calculate its competitive ratio we first prove the following claim. Claim 3.1. After vertex vi is processed

• If U = ∅ then H is balanced.     U| • If U ̸= ∅ then V (h)  = |H |−| + |U |. 2 Proof. By induction on i. For i = 0 the claim clearly holds, as before processing any vertex U = ∅ and H is balanced. We (λ) now assume the claim holds for i − 1, and prove that it holds for i. We denote by Hi , Ui , Bi , Vi (for any color λ) the values (λ) of the sets V (H ), U , B and V after vertex vi is processed. We consider four cases according the computation path taken when processing vertex vi .

• Lines 6–8 are executed. In this case, by code inspection we have (a) Ui−1 = ∅, (b) Ui = Ui−1 , (c) Bi = Bi−1 ∪ {vi } is balanced. As Ui = ∅, B¯ i consists of matched vertices, therefore balanced. We conclude that Hi = Bi ∪ B¯ i is balanced. • Lines 10–11 are executed. In this case  have  we  (a)  Ui−1 = ∅(b) Bi = Bi−1 ∪ {vi } is not balanced, (c) Ui = {vi }. There (λ)  |Hi−1 | |H i | (λ) ≥ . By the inductive hypothesis Hi−1 is balanced. Therefore, fore, there is exactly one V with Vi  > 2 2            (λ)   (h)  |Hi−1 | |Hi−1 | (λ) (λ) {v } . We conclude that V = V ∪ V + 1 = |Hi2|−1 + 1 = , i.e. λ = h. Then, Vi−1  ≤  i i i  = i −1 2 2   |Hi |−|Ui | + |Ui |. 2         • Lines 15–16 are executed. In this case (a) Ui−1 ̸= ∅, (b) |Ui | = |Ui−1 | + 1, and (c) Vi(h)  = Vi(−h1)  + 1. By the inductive      (h)  |Hi−1 |−|Ui−1 | hypothesis we have Vi−1  = + |Ui−1 |. We conclude 2       |Hi−1 | − |Ui−1 | |Hi | − |Ui |  (h)  | | + Ui−1 + 1 = + |Ui | .  Vi  = 2

2

• Lines 18–20 are executed. In this case (a) Ui−1 ̸= ∅, (b) |Ui | = |Ui−1 | − 1, and (c) Vi(h) = Vi(−h1) . Therefore, by the inductive hypothesis

       |H | − |U |  |Hi | − 1 − (|Ui | + 1) |Hi | − |Ui | i−1 i −1  (h)  + |Ui−1 | = + |Ui | + 1 = + |Ui | .  Vi  = 2

2

2

              If Ui = ̸ ∅ we are done. Otherwise, we have Vi(h)  = |H2i | , i.e. As Vi(λ)  ≤ Vi(h)  for every λ ∈ [d] we conclude that Hi is balanced as required.



We recall that B¯ \ U is the set of all vertices matched in line 20 and we conclude:   ¯B − |U | Alg(H ) = AlgBalanced(B) + Alg(B¯ ) ≥ c · OPT (B) − b +  2     ¯  |B| + ¯B − |U | B − |U | |B| =c· + −b≥c· −b 2

 =c·

2

|H | − |U | 2



2

− b = c · OPT (H ) − b.

(h) The last  equality  clearly holds if U = ∅. By the preceding claim, after the processing of a vertex vi if U ̸= ∅ then V

contains

|H |−|U | 2

+ |U | vertices. This implies that the equality holds also when U ̸= ∅.



3.2.2. Solving balanced instances In this section we consider completely balanced instances. We present the algorithm MatchByRatio(α, β) that is designed with the lower bound proof of Lemma 3.1 in mind. The parameter α is some positive constant at most 2/3 and β is a positive constant at least 10/3. We prove that MatchByRatio(α, β) is α -competitive with an additive term β . MatchByRatio aims to maintain the size |M | of the matching close to α times the optimum (with an additive offset of β ). Each time the size of the matching M falls behind this threshold it adds one edge to M. By the definition of the on-line problem, one endpoint of this edge is the current input vertex vi . We term this vertex as the matching vertex. The other

6

M. Shalom et al. / Discrete Applied Mathematics (

)



vertex vj is chosen arbitrarily from the color class with the biggest ratio of unmatched vertices (ratio of number of unmatched vertices to total number of vertices in the color class). This vertex is called the matched vertex. The pseudo-code of MatchByRatio given in Algorithm 2 will be helpful in the analysis. Algorithm MatchByRatio keeps the vertices of the graph partitioned into three sets U , MD , MG that are the sets of unmatched, matched and matching vertices, respectively. Clearly |M | = |MG | = |MD |. Algorithm 2 MatchByRatio(α, β) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:

Initialization: U ← ∅. M ← MD ← MG ← ∅. On input  vi do: opt ← 2i . if |M | < α · opt − β then if U ⊆ V (vi ) then FAIL end if   h ← arg max ρ(V (λ) ) : λ ∈ [d] \ c (vi ) . vj ← an arbitrary (unmatched) vertex of U ∩ V (h) .   U ← U \ vj .

◃ The set of unmatched vertices ◃ The matching and the set of matched vertices ◃ H = {v1 , ..., vi } ◃ No unmatched vertex that can match vi ◃ ρ(V (h) ) > 0 because U \ V (vi ) ̸= ∅

MD ← MD ∪ vj . MG ← MG ∪ {vi }.  M ← M ∪ vi , vj . else U ← U ∪ {vi }. end if

 

For i ≥ 0, we denote by Mi , Ui , MD,i and MG,i the values of the (set-valued) variables M , U , MD and MG , respectively, after step i of the algorithm. We also denote by Hi the set of vertices of H presented at step i and before. If i = 0 this  is the initialization step, otherwise this is the step in which MatchByRatio has processed the vertex vi . Clearly, |Mi | = MD,i  =

      MG,i  , Hi = MD,i ⊎ MG,i ⊎ Ui and i = |Hi | = MD,i  + MG,i  + |Ui | = 2 |Mi | + |Ui |. For a subset Vˆ of V (H ) we define the unmatched ratio of Vˆ as     U ∩ Vˆ   def ˆ   . ρ(V ) = ˆ V      A basic property of the algorithm is that the sizes |Ui | , |Mi | , MD,i  , MG,i  do not depend on the input, but only on the         value i. However their partitions to the color classes, i.e. the sizes Ui ∩ V (λ)  , Mi ∩ V (λ)  , MD,i ∩ V (λ)  , MG,i ∩ V (λ)  do depend on the input. The following proposition quantifies this statement. We define

 α(j − i) def  . δ(i, j) = Mj  − |Mi | − 2

Clearly, δ(i, i) = 0 and δ(i, j) + δ(j, k) = δ(i, k). Proposition 3.1. Let 0 ≤ α ≤ 1 and β ≥ 0. Then for every two steps 1 ≤ i ≤ j, during which the condition in line 4 is satisfied, the following conditions hold1 :

α·i 2

− β + 1 − α ≤ |Mi | <

α·i 2

−β +1

(1 − α)i + 2β − 2 < |Ui | ≤ (1 − α)i + 2β − 2 + 2α δ(i, j) < α.

(3) (4)

Proof. We recall that an edge is added to the matching M at step i (i.e. |Mi | = |Mi−1 | + 1), if and only if the condition in line 4 is satisfied at step i. We first show by induction on i that for every i (regardless of the condition in line 4)

|Mi−1 | ≥

α·i 2

− β − α.

1 The proposition is vacuously true for α = 0 because there are no matching steps.

M. Shalom et al. / Discrete Applied Mathematics (

)



7

Indeed, if i = 1 then |M0 | = 0 ≥ −β − α2 = α2 − β − α . If i > 1 we distinguish between two cases, according to whether the condition in line 4 held at step i − 1. If the condition did not hold during step i − 1 then

|Mi−1 | = |Mi−2 | ≥ α



i−1



2

−β ≥α



i−2 2



−β =

α·i 2

−β −α

as required. Otherwise the condition held and therefore

|Mi−1 | = |Mi−2 | + 1 ≥ α

i−1 2

−β −α+1≥

α·i 2

− β − α.

We proceed with the proof of inequalities (3). As, by the assumption of the claim, the condition in line 4 holds at step i, we have

|Mi | = |Mi−1 | + 1 ≥

α·i 2

−β +1−α

and also

|Mi | = |Mi−1 | + 1 < α

  i

2

−β +1≤

α·i 2

− β + 1,

thus proving inequalities (3). The inequalities in (4) follow by subtracting the inequalities in (3) from the equation i = 2 |Mi | + |Ui |. The last inequality is obtained by subtracting the lower bound of Mj from the upper bound of Mi given in (3).  We now note that if the condition in line 4 is not satisfied then |Mi | = |Mi−1 | ≥ ⌊α · opt −β⌋ ≥ α · opt −β − 1. Otherwise by (3), |Mi | ≥ α·2 i − β + 1 − α ≥ α · opt − β . Therefore MatchByRatio is α -competitive unless it fails in line 6. It remains to prove that this does not happen whenever α ≤ 2/3. In the sequel, we assume that the algorithm fails, then use backward analysis to reach a contradiction. We first show that if the algorithm fails, then there is a color class with a high unmatched ratio at the time of the failure. Then, using backwards analysis, we show that there is a step in the past and a family of 2 color classes with a high average unmatched ratio at that step. We proceed by induction to conclude that there is some step and a family of color classes with a high average unmatched ratio at that step that constitutes a vertex cover of the matching. This implies that at this step the overall unmatched ratio was far below 1 − α , contradicting Proposition 3.1. These steps and the corresponding families of color classes are captured by the following finite sequences i and V defined inductively under the assumption that the algorithm fails:

• i0 is the step during which the algorithm failed, and def • V0 = V (vi0 ), i.e. the color class of the input vertex at step i0 . For any k > 0 : ik is the last step before ik−1 during which an edge with no endpoints in Vk−1 is added to the output M. If def

such a step does not exist then ik and Vk are undefined and the length of both sequences is k. Otherwise Vk = Vk−1 ∪ V (v ′ ) where v ′ ∈ MD is the matched vertex at step ik .   Note that a matching or a failure may occur only at even steps, because α 2i does not increase at odd steps. Therefore ik is even for all k. We first show a simple result that will be extended in the sequel. Lemma 3.3. If 0 < α < 1/2 and β ≥ 1 then MatchByRatio(α, β) does not fail. Proof. Assume, by way of contradiction, that MatchByRatio fails at some step i0 . Then Ui0 ⊆ V (vi0 ), because otherwise MatchByRatio would pair an arbitrary (unmatched) vertex of Ui0 \ V (vi0 ) with vi0 and would not fail. Therefore we have

      Ui ∩ V0  = Ui ∩ V (vi ) = Ui  > (1 − α)i0 + 2β − 2+ ≥ (1 − α)i0 > i0 /2. 0 0 0 0 On the other hand as the instance is balanced we have

    Ui ∩ V0  ≤ |V0 | = V (vi ) ≤ ⌈i0 /2⌉ = i0 /2, 0 0 contradicting the previous inequality.



At this point we note that both Proposition 3.1 and Lemma 3.3 continue to hold if line 8 of Algorithm 2 is modified so that h is any color with at least one unmatched vertex. In the following lemma implying that ρ(Hik ∩ Vk ) > 2(1 − α) under certain conditions the choice made in line 8 is crucial. This will be used in the proof of Lemma 3.5 to show that the algorithm does not fail for any α ≤ 2/3. In the Appendix we show that if we modify line 8 so that h is chosen as  a color with  a maximum number of unmatched vertices, then the resulting algorithm fails on some inputs whenever α ∈



5−1 2

, 23 .

8

M. Shalom et al. / Discrete Applied Mathematics (

)



Fig. 1. A schematic drawing of the vertices of Hik−1 . The edges are pairs of Mik−1 . The vertical axis depicts the time line. The vertices above the horizontal line are the vertices of Hik . A black vertex is a matching vertex (∈ MG,ik−1 ), and a white non-isolated vertex is a matched vertex (∈ MD,ik−1 ). Consequently, every edge has one white and one black incident vertex, where the white vertex is above the black. An isolated vertex is a vertex of Uik−1 . The figure contains all possible types of pairs and unmatched vertices. The letters on the vertices (resp. edges) denote the number of such vertices (resp. edges). As an example, the edge labeled t ′′ denotes all the t ′′ matchings established between vertices of Vk−1 until step ik .

Lemma 3.4. Let α ≤ 2/3 and β ≥ 1 + α/2. Then

      Ui ∩ Vk  > 2(1 − α) Hi ∩ Vk  + 2β − 2 − δ(ik , i0 ) > 2(1 − α) Hi ∩ Vk  k k k for every ik , Vk . Proof. The second inequality is immediate. We prove the first inequality by induction on k. For k = 0 the proof is similar to the proof of Lemma 3.3:

      Ui ∩ V0  > (1 − α)i0 + 2β − 2 = (1 − α) Hi  + 2β − 2 ≥ 2(1 − α) Hi ∩ V0  + 2β − 2 + δ(i0 , i0 ) 0 0 0 where the last inequality holds because the instance is completely balanced. For k ≥ 1 we analyze the change in the sizes of the sets H , MD , MG and U from step ik to step ik−1 . Recall that ik < ik−1 and both are even. def Consult Fig. 1 for the following discussion. First note that ik is the last step during which two elements of Vk−1 = V (H ) \ Vk−1 are matched to each other, therefore z = z ′ = 0. We note the below set sizes immediately after step ik

  MD,i ∩ Vk−1  = y + t ′′ k   MG,i ∩ Vk−1  = x + t ′′ k   Ui ∩ Vk−1  = a + u + t ′ k   Hi ∩ Vk−1  = x + y + 2t ′′ + a + u + t ′ , k

and the following set sizes immediately after step ik−1

  MD,i ∩ Vk−1  = y + a + d + t + t ′ + t ′′ k−1   MG,i ∩ Vk−1  = x + b + c + t + t ′ + t ′′ k−1   Ui ∩ Vk−1  = u + b′ k−1   Hi ∩ Vk−1  = x + y + a + b + c + d + u + b′ + 2t + 2t ′ + 2t ′′ . k−1

Moreover

    Mi  − Mi  = a + b + c + d + t + t ′ k−1    k Hi  − Hi  = a′ + b′ + a + b + 2c + 2d + 2t + t ′ . k−1

Claim 3.2.

k

b′ −a−t ′ b+c +d+b′ +2t +t ′

≤ 2(1 − α) −

δ(ik ,ik−1 ) . ik−1 −ik

M. Shalom et al. / Discrete Applied Mathematics (

)



9

Proof. b′ − a − t ′ b+c+d+

b′

+ 2t +

t′

≤ ≤

b′ − a + t b + c + d + b′ + 2t + t ′ a′ + b ′ + c + d + t a′ + b′ + a + b + 2c + 2d + 2t + t ′

.

(5)

The second inequality above holds by the following observation. If b′ − a + t ≤ 0 then the left hand side is non-positive and the right hand side is positive, therefore the inequality holds. Otherwise b′ − a + t > 0 and the left hand side is a fraction with value of at most 1. Note that the right hand side is obtained from the left hand side by adding a + a′ + c + d to both nominator and denominator. Increasing the value of both nominator and denominator by the same value increases the fraction. On the other hand we have

        − Hi  − Mi  − Mi  k  k   k− 1 Hi  − Hi  a′ + b′ + a + b + 2c + 2d + 2t + t ′ k k−1       (ik−1 − ik ) − α2 (ik−1 − ik ) + δ(ik , ik−1 ) (ik−1 − ik ) − Mik−1  − Mik  = = ik−1 − ik ik−1 − ik  α  δ(ik , ik−1 ) δ(ik , ik−1 ) = 1− ≤ 2(1 − α) − − 2 ik−1 − ik ik−1 − ik a′ + b ′ + c + d + t

=

 Hi

k−1

where the last inequality holds because α ≤ 2/3. We conclude the proof of the claim by combining (5) and (6).

(6) 

We proceed with the proof of the lemma. By the inductive assumption we have

 Ui

k−1

   ∩ Vk−1  > 2(1 − α) Hik−1 ∩ Vk−1  + 2β − 2 − δ(ik−1 , i0 ),

and by the above claim

(b + c + d + b′ + 2t + t ′ ) ik−1 − ik ′ ′ ≤ 2(1 − α)(b + c + d + b + 2t + t ) − δ(ik , ik−1 ).

b′ − a − t ′ ≤ 2(1 − α)(b + c + d + b′ + 2t + t ′ ) − δ(ik , ik−1 )

We combine both to get

    Ui ∩ Vk−1  = Ui ∩ Vk−1  − (b′ − a − t ′ ) k k−1   > 2(1 − α) Hi ∩ Vk−1  + 2β − 2 − δ(ik−1 , i0 ) k−1

− 2(1 − α)(b + c + d + b′ + 2t + t ′ ) − δ(ik , ik−1 )   = 2(1 − α) Hik−1 ∩ Vk−1  + 2β − 2 − δ(ik , i0 )   > 2(1 − α) Hik ∩ Vk−1  . Therefore ρ(Hik ∩ Vk−1 ) > 2(1 − α). Now recall that at step ik the algorithm matched two vertices, both not from Vk−1 . Consider the part V (v) of the graph containing the matched vertex v . By the behavior of the algorithm, this means that at step ik the unmatched ratio of V (v) is at least as much as each one of the color as much as entire  classes of Vk−1 , thus at least  Vk−1 , therefore ρ(V (v) ∩ Vik ) ≥ ρ(Hik ∩ Vk−1 ) > 2(1 − α), i.e. Uik ∩ V (v) > 2(1 − α) Hik ∩ V (v). Combining with the above, we get:

      Ui ∩ Vk  = Ui ∩ Vk−1  + Ui ∩ V (v) k k k     > 2(1 − α) Hik ∩ Vk−1  + 2β − 2 − δ(ik , i0 ) + 2(1 − α) Hik ∩ V (v)   = 2(1 − α) Hik ∩ Vk  + 2β − 2 − δ(ik , i0 ).  Lemma 3.5. If 1/2 ≤ α ≤ 2/3, and β ≥ 1 + 27 α then MatchByRatio(α, β) does not fail. Proof. If the algorithm fails, the sequences i0 , i1 , . . . , iℓ and the V0 , V1 , . . . , Vℓ are defined. By the definition of the sequence V and the fact that Vℓ is the last item of the sequence, no matched pair has both vertices in Vℓ , because such a pair would cause part of Vℓ to be added to Vℓ , to form Vℓ+1 . In other words all the pairs contain at least one vertex in Vℓ . Therefore

    (MG,i ∪ MD,i ) ∩ Vℓ  ≤ (MG,i ∪ MD,i ) ∩ Vℓ  . ℓ ℓ ℓ ℓ α and β satisfy the conditions of Lemma 3.4, by which we have     Ui ∩ Vℓ  > 2(1 − α) Hi ∩ Vℓ  + δ ℓ ℓ     = 2(1 − α) (MG,iℓ ∪ MD,iℓ ) ∩ Vℓ  + 2(1 − α) Uiℓ ∩ Vℓ  + δ

10

M. Shalom et al. / Discrete Applied Mathematics (

)



where δ = 2β − 2 − α . Then

   1 Ui ∩ Vℓ  ≥ (2α − 1) Ui ∩ Vℓ  ℓ ℓ

3

  > 2(1 − α) (MG,iℓ ∪ MD,iℓ ) ∩ Vℓ  + δ  2 ≥ (MG,iℓ ∪ MD,iℓ ) ∩ Vℓ  + δ, 3

that is

    Ui ∩ Vℓ  > 2 (MG,i ∪ MD,i ) ∩ Vℓ  + 3δ. ℓ ℓ ℓ We conclude

    Ui  ≥ Ui ∩ Vℓ  ℓ ℓ   > 2 (MG,iℓ ∪ MD,iℓ ) ∩ Vℓ  + 3δ     ≥ (MG,iℓ ∪ MD,iℓ ) ∩ Vℓ  + (MG,iℓ ∪ MD,iℓ ) ∩ Vℓ  + 3δ   = 2 Mi  + 3δ, ℓ

so that

    Ui  − 2 Mi  > 3δ. ℓ ℓ From (3), (4) and by recalling that α ≥ 1/2 we get

    Ui  − 2 Mi  < (1 − 2α)iℓ + 4β + 4α − 4 ≤ 4β + 4α − 4. ℓ ℓ Therefore 4β + 4α − 4 > 3δ = 6β − 6 − 3α 2β < 7α + 2 contradicting our assumption.



We combine Lemmata 3.3 and 3.5 to conclude Lemma 3.6. MatchByRatio(α, β) does not fail whenever α ≤ 2/3 and β ≥ 1 + 72 α . Therefore Theorem 3.1. Alg(MatchByRatio(2/3, 10/3)) is a tight 2/3-competitive algorithm for Mmcm. 4. Application to optical networks 4.1. Minimization of switching cost Optical wavelength-division multiplexing (WDM) is the most prominent technology that deals with the enormous growth of traffic in communication networks, like the Internet [7]. A communication between a pair of nodes is done via a lightpath, which is assigned a certain wavelength. In graph-theoretic terms, a lightpath is a simple path in the network, with a wavelength assigned to it. Given a network and a set of paths in it, the wavelength assignment task is to assign a wavelength to each lightpath such that every two lightpaths that share an edge are assigned different wavelengths. Every lightpath is terminated by two electronic line terminals called Add–Drop Multiplexers (ADMs), one at each endpoint. These devices constitute the prominent part of the switching hardware cost. The key point is that if two lightpaths sharing a common endpoint are assigned the same wavelength, then they can share the ADM at their common endpoint. Because ADMs are designed to be used mainly in SONET ring networks, an ADM may be shared by at most two lightpaths. The problem of minimizing the above described switching cost was introduced in [10] for the ring topology. In [6,17, 9] algorithms with improved approximation guarantees are presented, where the approximation ratios are 3/2, 10/7 + ϵ and 47/34 + ϵ , respectively. For general topology, approximation algorithms with approximation ratio of 85 and 1.5 + ϵ are presented in [5,8]. The off-line version of the problem can be solved optimally for trees [18]. The motivation for the on-line problem stems from the need to optimize the cost of use of the optical network. We assume that the switching equipment is installed in the network. Once a lightpath arrives, we need to assign it two electronic line terminals, and our target is to determine which wavelength to assign to the lightpath so that the switching cost is minimized. A 74 -competitive on-line algorithm for any network topology was presented in [16]. It is shown that this is the best possible competitive ratio for a deterministic on-line algorithm even for ring topologies. The same algorithm is 23 -competitive for path topologies, and this ratio is the best possible for deterministic on-line algorithms.

M. Shalom et al. / Discrete Applied Mathematics (

)



11

Formally, an instance I of MinADM is a pair I = (G, P ) where G = (V (G), E (G)) is an undirected graph and P = {P1 , P2 ,

. . .} is a multi-set of simple paths in G.

A valid chain (resp. cycle) C is an open (resp. closed) trail of G formed by the concatenation of pairwise edge-disjoint paths Pi0 , Pi1 , . . . ∈ P . Note that a set of paths can thus be assigned the same wavelength if and only if it constitutes a valid chain or a valid cycle. A solution of an instance I = (G, P ) is a partition S = {C1 , C2 , . . .} of P into valid chains and cycles. def

The cost cost (C ) of a valid chain (resp. cycle) C is |C | + 1 (resp. |C |) ADMs, and cost (S ) =



C ∈S

cost (C ).

MinADM(G, P ) Input: A graph G = (V (G), E (G)) and a set P of paths on G. Output: A partition S of P into valid chains and cycles. Objective: Minimize cost (S ). In the on-line version of the problem, the graph G is known in advance and the set P of paths is presented one element def





at a time. In this case we number the paths of P by the order they are presented. Pi = Pj ∈ P |j ≤ i consists of the first i paths of the input. 4.2. The star topology Let G be an undirected star with d edges, namely V (G) = [0, d], E (G) = {e1 , . . . , ed } and ei = {0, i} for every i ∈ [d]. In this topology the length of a path P is either 1 or 2. A path P of length 2 cannot be in the same valid chain with another path, because the next path in such a chain will have an edge in common with P. In other words, every path of length 2 constitutes a valid chain C of size 1 in every solution, with cost (C ) = |C | + 1 = 2 ADMs. We therefore assume without loss of generality that all the paths have length 1. Similarly, no three paths of length 1 can be in one chain. Therefore, in order to minimize the number of valid chains, one has to maximize the number of valid chains of size 2. Two paths P , P ′ of length 1 can form a valid chain if and only if their endpoints different from 0 are distinct. Then, maximizing the number of chains of size 2, is equivalent to finding a maximum matching in a graph H = (P , EH ) where two vertices Pi , Pj are adjacent if and only if their endpoints different from 0 are distinct. This graph is maximal d-colorable, with color classes corresponding to sets of identical paths. In the following claim that relates the performances of any solution with respect to problems Mmcm and MinADM we consider approximate solutions and allow for an additive term. Lemma 4.1. A solution to the Mmcm problem is a c-approximation (c ∈ [0, 1]) with an additive term b, if and only if the c corresponding solution of the MinADM problem is a 4− -approximation with the same additive term. 3 Proof. Let M ∗ be a maximum matching of a maximal d-colorable graph, and let M be a matching of the same graph constituting a c-approximation. There exists a constant b ≥ 0, such that |M | ≥ c |M ∗ | − b. Let S ∗ be an optimal solution of MinADM and S be a solution corresponding to the c-approximation. We have cost (S ∗ ) = 2 |P | − |M ∗ | because if no paths are matched the cost is 2 ADMs per path, and every matched pair of paths saves one ADM. Similarly, cost (S ) = 2 |P | − |M | ≤ 2 |P | − c M ∗  + b =





=

2 − c (|M ∗ | / |P |) 2 − |M ∗ | / |P |

2 |P | − c |M ∗ | 2 |P | − |M ∗ |

cost (S ∗ ) + b

cost (S ∗ ) + b.

As c ∈ [0, 1], the coefficient of cost (S ∗ ) is a non-decreasing function of |M ∗ | / |P |. Recalling that |M ∗ | / |P | ≤ 1/2 we conclude cost (S ) ≤

2 − c /2 2 − 1/2

cost (S ∗ ) + b =

4−c 3

cost (S ∗ ) + b.

c , S be a c ′ -approximation to MinADM and M be the matching it implies on the maximal On the other hand let c ′ = 4− 3 d-colorable graph. There is a constant b′ such that

cost (S ) ≤ c ′ · cost (S ∗ ) + b′ 2 |P | − |M | ≤ c ′ (2 |P | − M ∗ ) + b′





      |M | ≥ c ′ M ∗  + 2(1 − c ′ ) |P | − b′ ≥ c ′ M ∗  + 4(1 − c ′ ) M ∗  − b′   = (4 − 3c ′ ) M ∗  − b′ = c M ∗  − b′ .  By substituting c =

2 3

in Lemma 4.1, together with Theorem 3.1, we have thus proved:

Theorem 4.1. There is a tight

10 -competitive 9

deterministic on-line algorithm for the MinADM problem in star networks.

12

M. Shalom et al. / Discrete Applied Mathematics (

)



5. Conclusion and possible extensions In this paper we presented a tight bound of 2/3 for the competitive ratio of the maximum matching problem in complete multi-partite graphs. We applied this result to the line terminal minimization problem in star topologies and showed a tight 10/9 bound for it. In this work we considered deterministic algorithms. Whether a better competitive ratio can be achieved by randomized algorithms is an open question. An important research direction in the optical network application is to study the problem on tree topologies, in both deterministic and randomized settings. Acknowledgment The second author’s research was partly supported by EPSRC Grant EP/E028276/1. Appendix We present a counterexample showing that the choice of h as a color with maximum unmatched ratio was crucial to get the competitive ratio of 2/3. For this purpose we consider algorithm MatchWithMax that chooses a color with a maximum √

number of unmatched vertices at line 8. We show that for any α > 52−1 there is a completely balanced input for which MatchWithMax fails. For simplicity we assume that MatchWithMax breaks ties in favor of the higher numbered color. The input to MatchWithMax is generated by Adversary whose pseudo code is given in Algorithm 4. Algorithm 3 MatchWithMax(α, β) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:

Initialization: U ← ∅. M ← MD ← MG ← ∅. On input  vi do: opt ← 2i . if |M | < α · opt − β then if U ⊆ V (vi ) then FAIL end if    h ← arg max U ∩ V (λ)  : λ ∈ [d] \ c (vi ) . vj ← an arbitrary (unmatched) vertex of U ∩ V (h) .   U ← U \ vj .

◃ The set of unmatched vertices ◃ The matching and the set of matched vertices ◃ H = {v1 , ..., vi } ◃ No unmatched vertex that can match vi ◃ U ∩ V (λ) ̸= ∅ because U \ V (vi ) ̸= ∅

MD ← MD ∪ vj . MG ← MG ∪ {vi }.  M ← M ∪ vi , vj . else U ← U ∪ {vi }. end if

 

Adversary uses three colors, and it works in two phases. In the first phase (lines 4–14) that lasts i1 steps it distributes unmatched vertices to colors 1 and 2 evenly, and therefore causes MatchWithMax to match all the vertices colored 3 with vertices colored 2 (line 8). In the second phase (lines 15–18) Adversary presents only vertices of color 1. We analyze the first phase, i.e. i ≤ i1 . We note that Ui ∩ V (3) = ∅ for every i, because c (vi ) = 3 only in matching steps, therefore vi ̸∈ Ui . Then we observe that

     Ui ∩ V (2)  − Ui ∩ V (1)   ≤ 1. This is because (a) initially the left hand side is zero as U0 = ∅, (b) whenever a vertex is added to Ui , it not added to the bigger part (by the behavior of Adversary), and (c) whenever a vertex is removed from Ui , it is not removed from the smaller part (by the behavior of MatchWithMax). We now claim that if i + 1 is a matching step then

    Ui ∩ V (2)  ≥ Ui ∩ V (1)  .         Indeed, assume that Ui ∩ V (2)  < Ui ∩ V (1) . The only way this can happen is when Ui−1 ∩ V (2)  = Ui−1 ∩ V (1)  and i is a matching step. Therefore, i is even and i + 1 is odd, i.e. i + 1 is not a matching step. (2) As a consequence of the last fact, MatchWithMax will choose h = 2 in every matching step, implying  that  M⊆V × (3)   V . At the and of the first phase, i.e. after step i1 (which is chosen as a matching step), M consists of Mi1 edges each of   which joins a vertex of V (2) with a vertex of V (3) . The Ui1  unmatched vertices are divided almost equally between V (1) and   V (2) . Given these facts, it is easy to verify that color 2 contains the biggest number of vertices, but at most

the instance is balanced.

i1 2

of them, i.e.

M. Shalom et al. / Discrete Applied Mathematics (

)



13

Algorithm 4 Adversary(α, β) 1: 2:

ϵ ← α2 + α − 1 i1 ← the first matching step after

3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:

6αβ+4α

ϵ

◃ ϵ > 0 whenever α > − 2β − 2.

√ 5 −1 . 2

◃ A step during which the algorithm adds an edge to M

for i ← 1 to i1 do if i is a matching step then c (vi ) ← 3. else     if Ui ∩ V (1)  ≥ Ui ∩ V (2)  then c (vi ) ← 2. else c (vi ) ← 1. end if end if end for repeat c (vi ) ← 1. i ← i + 1. until Algorithm fails

We now proceed with the analysis of the second phase. Let i > i1 be a matching step in which MatchWithMax did still not fail. During this phase Adversary presents only vertices of color 1. MatchWithMax leaves some of these vertices unmatched and the rest are matched with vertices of color 2 (as all the vertices of color 3 are already matched). Therefore at the end of step i:

  • There are Mi1  edges  of M between vertices of color 2 and color 3. • There are |Mi | − Mi1  edges of M between vertices of color 2 and color 1. • The number of unmatched vertices of color 2 is          Ui ∩ V (2)  ≤  Ui1  − |Mi | − Mi  1  2    i1 α ≤ (1 − α) + β + α − (i − i1 ) + δ(i1 , i) 2

i1

α·i

2

+ β + 2α − 2 2 where the second inequality follows from Proposition 3.1 that holds for algorithm MatchWithMax too, and from the fact that i and i1 are matching steps. <

Let i be the first matching step in the second phase such that i ≥

i1 +2β+2

α

. Then − α·2 i ≤ −(i1 /2 + β + 1). Therefore,

  Ui ∩ V (2)  < 2α − 1 ≤ 1 . 3

(2)

We conclude that Ui ∩ V = ∅, i.e. at the end of step i there are no unmatched vertices of color 2. We recall that there are no unmatched vertices of color 3. Then in the next matching step MatchWithMax will fail as it will receive a vertex colored 1 that cannot be matched with any other vertex. It remains to show that the instance is completely balanced. We already know that the instance is balanced during the first phase. We now verify this for the second phase. In the second   phase all the new vertices are colored 1, therefore it suffices to verify that the number of vertices colored 1 are at most 2i . We have

    Hi ∩ V (1)  = |Mi | − Mi  + |Ui | 1 α ≤ (i − i1 ) + α + (1 − α)i + 2β − 2 + 2α 2

α

(i − i1 ) + (1 − α)i + 2β. 2 We now observe that, because α > 1/2, it follows from Proposition 3.1 that there is at least one matching step in a sequence i +2β+2 of 4 steps. Therefore, i ≤ 1 α + 4, i.e. −i1 ≤ −α · i + 2β + 2 + 4α . We conclude ≤

  Hi ∩ V (1)  ≤ α (1 − α)i + αβ + α + 2α 2 + (1 − α)i + 2β <

2 i

2

i

(−α 2 − α + 2) + 3β + 2 = (1 − ϵ) + 3β + 2. 2

(A.1)

14

M. Shalom et al. / Discrete Applied Mathematics (

As i1 was chosen such that i1 ≥ i1 + 2β + 2

α



6β + 4

ϵ

6αβ+4α

ϵ

6β + 4

ϵ



− 2β − 2, we have

.

We recall that we have chosen i such that i ≥ i≥

)

i1 +2β+2

α

. Therefore,

.

By combining with (A.1) we conclude

  Hi ∩ V (1)  ≤ i

2

as required. References [1] Y. Azar, Y. Chaiutin, Optimal node routing, in: The Proceedings of the 23rd International Symposium on Theoretical Aspects of Computer Science, Marseille, France, February 2006, pp. 596–607. [2] Y. Azar, J.S. Naor, R. Rom, The competitiveness of on-line assignments, in: The Proceedings of the 13th SIAM Symposium on Discrete Algorithms. San Francisco, CA, USA, January 2002, pp. 203–210. [3] Y. Azar, Y. Richter, Management of multi-queue switches in QoS networks, Algorithmica 43 (1–2) (2005) 81–96. [4] B. Birnbaum, C. Mathieu, On-line bipartite matching made simple, SIGACT News 39 (1) (2008) 80–87. [5] G. Călinescu, O. Frieder, P.-J. Wan, Minimizing electronic line terminals for automatic ring protection in general WDM optical networks, IEEE J. Sel. Areas Commun. 20 (1) (2002) 183–189. [6] G. Călinescu, P.-J. Wan, Traffic partition in WDM/SONET rings to minimize SONET ADMs, J. Comb. Optim. 6 (4) (2002) 425–453. [7] I. Clamtac, A. Ganz, G. Karmi, Lightpath communications: An approach to high bandwidth optical WAN’s, IEEE Trans. Commun. 40 (7) (1992) 1171–1182. [8] T. Eilam, S. Moran, S. Zaks, Lightpath arrangement in survivable rings to minimize the switching cost, IEEE J. Sel. Areas Commun. 20 (1) (2002) 172–182. [9] L. Epstein, A. Levin, B. Menahem, Minimization of SONET ADMs in ring networks revisited, Computing 87 (1–2) (2010) 3–19. [10] O. Gerstel, P. Lin, G. Sasaki, Wavelength assignment in a WDM ring to minimize cost of embedded SONET rings, in: The Proceedings of INFOCOM’98, Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies, April 1998. [11] G. Goel, A. Mehta, Online budgeted matching in random input models with applications to adwords, in: Proceedings of the Nineteenth Annual ACM–SIAM Symposium on Discrete Algorithms, San Francisco, CA, USA, January 2008, pp. 982–991. [12] B. Kalyanasundaram, K. Pruhs, On-line weighted matching, J. Algorithms 14 (3) (1993) 478–488. [13] R.M. Karp, U.V. Vazirani, V.V. Vazirani, An optimal algorithm for on-line bipartite matching, in: Proceedings of the Twenty-Second Annual ACM Symposium on Theory of Computing, STOC’90, May 1990, pp. 352–358. [14] L. Lovász, M.D. Plummer, Matching Theory, AMS Chelsea Publishing, 2009. [15] M. Shalom, P.W. Wong, S. Zaks, On-line maximum matching in complete multipartite graphs with implications to the minimum ADM problem on a star topology, in: The Proceedings of the 16th Colloqium on Structural Information and Communication Complexity, Piran, Slovenia, May 2009, pp. 281–294. [16] M. Shalom, P.W. Wong, S. Zaks, Optimal on-line colorings for minimizing the number of ADMs in optical networks, J. Discrete Algorithms 8 (2) (2010) 174–188. [17] M. Shalom, S. Zaks, A 10/7 + ϵ approximation scheme for minimizing the number of ADMs in SONET rings, IEEE/ACM Trans. Netw. 15 (6) (2007) 1593–1602. [18] F. Shou, G. Chen, L. Xu, J. Gu, Minimizing ADMs on WDM directed fiber trees, J. Comput. Sci. Tech. 18 (6) (2003) 725–731. [19] D. Sitton, Maximum matchings in complete multipartite graphs, Furman University Electronic J. Undergraduate Math. 2 (1996) 6–16.