Maximum Matching on Trees in the Online Preemptive and the Incremental Dynamic Graph Models
Abstract
We study the Maximum Cardinality Matching (MCM) and the Maximum Weight Matching (MWM) problems, on trees and on some special classes of graphs, in the Online Preemptive and the Incremental Dynamic Graph models. In the Online Preemptive model, the edges of a graph are revealed one by one and the algorithm is required to always maintain a valid matching. On seeing an edge, the algorithm has to either accept or reject the edge. If accepted, then the adjacent edges are discarded, and all rejections are permanent. In this model, the complexity of the problems is settled for deterministic algorithms [11, 15]. Epstein et al. [5] gave a competitive randomized algorithm for MWM, and also proved a lower bound of for MCM. The same lower bound applies for MWM.
In an Incremental Dynamic Graph, at each update step an edge is added to the graph. Gupta [7] proved that for any , there exists an algorithm that maintains a approximate MCM for an incremental bipartite graph in an “amortized” update time. No approximation algorithm with a worst case update time of is known in this model, even for special classes of graphs.
In this paper we show that some of the results can be improved in the case of trees and some special classes of graphs. In the online preemptive model, we present a competitive (in expectation) randomized algorithm (which uses only two bits of randomness) for MCM on trees.
Inspired by the above mentioned algorithm for MCM, we present the main result of the paper, a randomized algorithm for MCM with a “worst case” update time of , in the incremental dynamic graph model, which is approximate (in expectation) on trees, and approximate (in expectation) on general graphs with maximum degree .
We also present a minor result for MWM in the online preemptive model, a competitive (in expectation) randomized algorithm (that uses only bits of randomness) on growing trees (where the input revealed upto any stage is always a tree, i.e. a new edge never connects two disconnected trees).
1 Introduction
The Maximum (Cardinality/Weight) Matching problem is one of the most extensively studied problems in Combinatorial Optimization. See Schrijver’s book [13] and references therein for a comprehensive overview of classic work. A matching is a set of edges such that at most one edge is incident on any vertex. Traditionally the problem was studied in the offline setting where the entire input is available to the algorithm beforehand. But over the last few decades it has been extensively studied in various other models where the input is revealed in pieces, like the vertex arrival model (adversarial and random), the edge arrival model (adversarial and random), streaming and semistreaming models, the online preemptive model, etc. [10, 5, 4, 11, 6, 9]. In this paper, we study the Maximum Cardinality Matching (MCM) and the Maximum Weight Matching (MWM) problems, on trees and on some special classes of graphs, in the Online Preemptive model, and in the Incremental Dynamic Graph model. (Refer Appendix D for a comparison between the two models.)
In the online preemptive model, the edges arrive in an online manner, and the algorithm is supposed to accept or reject an edge on arrival. If accepted, the algorithm can reject it later, and all rejections are permanent. The algorithm is supposed to always maintain a valid matching. There is a competitive deterministic algorithm due to McGregor [11] for MWM, and a tight lower bound on deterministic algorithms due to Varadaraja [15]. Epstein et al. [5] gave a competitive randomized algorithm for MWM, and also proved a lower bound on the competitive ratio achievable by any randomized algorithm for MCM. No better lower bound is known for MWM.
In [3], the authors gave the first randomized algorithm with competitive ratio ( in expectation) less than for MCM in the online preemptive model, on growing trees (defined in Section 1.1). In Section 2, we extend their algorithm to give a competitive (in expectation) randomized (which uses only two bits of randomness) algorithm for trees. Although the algorithm is an extension of the one for growing trees in [3], it serves as a basis of the algorithm (described in Section 3) for MCM in the incremental dynamic graph model.
Note that the adversary presenting the edges in the online preemptive model is oblivious, and does not have access to the random choices made by the algorithm.
In recent years, algorithms for approximate MCM in dynamic graphs have been the focus of many studies due to their wide range of applications. Here [1, 2, 8, 14] is a nonexhaustive list some of the studies. The objective of these dynamic graph algorithms is to efficiently process an online sequence of update operations, such as edge insertions and deletions. It has to quickly maintain an approximate maximum matching despite an adversarial order of edge insertions and deletions. Dynamic graph problems are usually classified according to the types of updates allowed: incremental models allow only insertions, decremental models allow only deletions, and fully dynamic models allow both. We study MCM in the incremental model. Gupta [7] proved that for any , there exists an algorithm that maintains a approximate MCM on bipartite graphs in the incremental model in an “amortized” update time of . We present a randomized algorithm for MCM in the incremental model with a “worst case” update time of , which is approximate (in expectation) on trees, and approximate (in expectation) on general graphs with maximum degree . Note that the algorithm of Gupta [7] is based on multiplicative weights update, and it therefore seems unlikely that a better running time analysis for special classes of graphs is possible.
We present a minor result in Section 4, a competitive (in expectation) randomized algorithm (which uses only bits of randomness) for MWM on growing trees in the online preemptive model. Although, growing trees is a very restricted class of graphs, there are a couple of reasons to study the performance of the algorithm on this class of input. Firstly, almost all lower bounds, including the one due to Varadaraja [15] for MWM are on growing trees. Secondly, even for this restricted class, the analysis is involved. We use the primaldual technique for analyzing the performance of this algorithm, and show that this analysis is indeed tight by giving an example, for which the algorithm achieves the competitive ratio . We describe the algorithm for general graphs, but were only able to analyze it for growing trees, and new ideas are needed to prove a better bound for general graphs.
1.1 Preliminaries
We use primaldual techniques to analyze the performance of all the randomized algorithms described in this paper. Here are the well known Primal and Dual formulations of the matching problem.
Primal LP  Dual LP 

For MCM, for any edge. Any matching implicitly defines a feasible primal solution. If an edge , then , otherwise .
Suppose an algorithm outputs a matching , then let be the corresponding primal feasible solution. Let denote some feasible dual solution. The following claim can be easily proved using weak duality.
Claim 1.
If , then the algorithm is competitive.
If is any matching, then for an edge , denotes edges in which share a vertex with the edge . We will say that a vertex(/an edge) is covered by a matching if there is an edge in which is incident on(/adjacent to) the vertex(/edge). We also say that an edge is covered by a matching if it belongs to .
In the online preemptive model, growing trees are trees, such that a new edge has exactly one vertex common with already revealed edges.
2 MCM in the Online Preemptive Model
In this section, we present a randomized algorithm (that uses only bits of randomness) for MCM on trees in the online preemptive model.
The algorithm maintains four matchings , and it tries to ensure that a large number of input edges are covered by some or other matchings. (Here, the term “large number” is used vaguely. Suppose more than four edges are incident on a vertex, then at most four of them will belong to matchings, one to each.) One of the four matchings is output uniformly at random. A more formal description of the algorithm follows.
Although, is picked randomly at the beginning of the algorithm, this value is not known to the adversary.
Note that in the switching phase, the expected size of the matching stored by the algorithm might decrease. For example, consider two disjoint edges and that have been revealed. Each of them will belong to all four matchings. So the expected size of the matching stored by the algorithm is . Now, if an edge is revealed between and , then will be added to and . The expected size of the matching is now . The important thing to notice here is that the decrease is not too much, and we are able to prove that the competitive ratio of the algorithm still remains below .
We begin with the following observations.

After an edge is revealed, its end points are covered by all four matchings.

An edge that does not belong to any matching has four edges incident on its end points such that each of these edges belongs to a distinct matching. This holds when the edge is revealed, and does not change subsequently.

Every edge is covered by at least three matchings.
An edge is called internal if there are edges incident on both its end points which belong to some matching. An edge is called a leaf edge either if one of its end point is a leaf or if all the edges incident on one of its end points do not belong to any matching. An edge is called bad if its end points are covered by only three matchings.
We begin by proving some properties about the algorithm. The key structural lemma that keeps “influences” of bad edges local is given below.
Lemma 2.
At most five consecutive vertices on a path can have bad edges incident on them.
According to Lemma 2, there can be at most four consecutive internal bad edges or at most five bad leaf edges incident on five consecutive vertices of a path. Lemma 2 is proved in Appendix A.
Once all edges have been seen, we distribute the primal charge among the dual variables, and use the primaldual framework to infer the competitive ratio. If end points of every edge are covered with four matchings, then the distribution of dual charge is easy. However we do have bad edges, and would like the edges in matchings to contribute more to the endpoints of these edges. Then, the charge on the other endpoint would be less and we need to balance this through other edges. Details follow.
Lemma 3.
There exists an assignment of the primal charge to the dual variables such that the dual constraint for each edge is satisfied at least in expectation, i.e. .
Proof.
Root the tree at an arbitrary vertex. For any edge , let be the parent vertex, and be the child vertex. The dual variable assignment is done after the entire input is seen, as follows.
Dual Variable Management: An edge will distribute its primal weight between its endpoints. The exact values are discussed below. In general, we look to transfer all of the primal charge to the parent vertex. But this does not work and we need a finer strategy. This is detailed below.

If does not belong to any matching, then it does not contribute to the value of dual variables.

If belongs to a single matching then, depending on the situation, one of , , , , , or of its primal charge will be assigned to and the rest will be assigned to .

If belongs to two matchings, then at most of its primal charge will be assigned to as required. The rest is assigned to .

If belongs to three or four matchings, then its entire primal charge is assigned to .
We will show that for such an edge, when summed over all four matchings. The value of is chosen later.
For the sake of analysis, if there are bad leaf edges incident on both end points of an internal edge, then we analyze it as a bad internal edge. We need to do this because a bad leaf edge might need to transfer its entire primal charge to the vertex on which there are edges which do not belong to any matching. Note that the end points of the internal edge would still be covered by three matchings, even if we consider that the bad leaf edges do not exist on its end points. The analysis breaks up into eight cases.
Case 1. Suppose does not belong to any matching. There must be a total of at least edges incident on and besides , each belonging to a distinct matching. Of these , at least a total of , say , , and , must be between some children of and , to and respectively. The edges , , and , each assign a charge of at least to and , respectively. Therefore, .
Case 2. Suppose is a bad leaf edge that belongs to a single matching, and internal edges are incident on . This implies that there is an edge from a child vertex of to , which belongs to single matching, and another edge , also belonging to single matching from to its parent vertex. The edge assigns a charge of to . If assigns a charge of or or or or to , then assigns or or or or respectively to . In either case, . The key fact is that could not have assigned to its child vertex. Since, then, by Lemma 2, cannot be a bad edge.
Case 3. Suppose is a bad leaf edge that belongs to a single matching, and internal edges are incident on . This implies that there are two edges and from children of to , each belonging to a single distinct matching. The edge assigns a charge of to . Both and assign a charge of at least to . In either case, . The key fact is that neither nor could have assigned more than to their corresponding child vertices. Since, then, by Lemma 2, cannot be a bad edge.
Case 4. Suppose is an internal bad edge. This implies (by Lemma 2) that there is an edge from a child vertex of to , which belongs to a single matching. Also, there is an edge , from to its parent vertex (or from a child vertex to ), which also belongs to a single matching. The edge assigns its remaining charge ( or or or or ) to . If assigns a charge of or or or or to , then assigns or or or or respectively to . In either case, . The key fact is that could not have assigned to its child vertex. Since, then, by Lemma 2, cannot be a bad edge.
Case 5. Suppose is not a bad edge, and it belongs to a single matching. Then either there are at least two edges and from child vertices of or to or respectively, or on and on , each belonging to a single matching, or one edge from a child vertex of or to or , respectively, which belongs to two matchings, or one edge from a child vertex of or to or , respectively, which belongs to single matching, and one edge from to its parent vertex which belongs to two matchings. In either case, .
Case 6. Suppose is a bad edge that belongs to two matchings, and internal edge is incident on or . This implies that there is an edge , from a child vertex of to or from to its parent vertex which belongs to a single matching. The edge assigns a charge of to , and the edge assigns a charge of to or respectively. Thus, .
Case 7. Suppose is not a bad edge and it belongs to two matchings. This means that either there is an edge from a child vertex of to , which belongs to at least one matching, or there is an edge from child vertex of to that belongs to at least one matching, or there is an edge from to its parent vertex which belongs to two matchings. The edge assigns a charge of among and . The neighboring edges assign a charge of to or (depending on which vertex it is incident to), yielding .
Case 8. Suppose, belongs to or matchings, then trivially .
From the above cases, and . The best value for the competitive ratio is obtained when , yielding . ∎
Theorem 4.
Algorithm 1 is a competitive randomized algorithm for finding MCM on trees.
3 MCM in the Incremental Dynamic Graph Model
In this section, we present our main result, a randomized algorithm (that uses only bits of randomness) for MCM in the incremental dynamic graph model, which is approximate (in expectation) on trees, and is approximate (in expectation) on general graphs with maximum degree . It is inspired by the randomized algorithm for MCM on trees described in Section 2. In the online preemptive model, we cannot add edges in the matching which were discarded earlier, which results in the existence of bad edges. But in the incremental dynamic graph model, there is no such restriction. For some , let be switched out by some edge , i.e. . If there is an edge for , then we can add to if possible. Using this simple trick, we get a better approximation ratio in this model, and also, the analysis becomes significantly simpler. Details follow.
Note that the end points of every edge will be covered by all three matchings.
We again use the primaldual technique to analyze the performance of this algorithm on trees.
Lemma 5.
There exists an assignment of the primal charge amongst the dual variables such that the dual constraint for each edge is satisfied at least rd in expectation.
Proof.
Root the tree at an arbitrary vertex. For any edge , let be the parent vertex, and be the child vertex. The dual variable assignment is done at the end of input, as follows.

If does not belong to any matching, then it does not contribute to the value of dual variables.

If belongs to a single matching, then its entire primal charge is assigned to as .

If belongs to two matchings, then its entire primal charge is assigned equally amongst and , as and .

If belongs to three matchings, then its entire primal charge is assigned to as .
The analysis breaks up into three cases.
Case 1. Suppose does not belong to any matching. There must be a total of at least edges incident amongst and besides , each belonging to a distinct matchings, from their respective children. Therefore, .
Case 2. Suppose belongs to a single matching. Then either there is an edge incident on or which belongs to a single matching, from their respective children, or there is an edge incident on or which belongs to two matchings. In either case, .
Case 3. Suppose belongs to two or three matchings, then trivially.
∎
Theorem 6.
Algorithm 2 is a approximate (in expectation) randomized algorithm for MCM on trees, with a worst case update time of .
We also analyze Algorithm 2 for general graphs with maximum degree , and prove the following Theorem.
Theorem 7.
Algorithm 2 is a approximate (in expectation) randomized algorithm for MCM on general graphs with maximum degree , with a worst case update time of .
4 MWM in the Online Preemptive Model
In this section, we present a randomized algorithm (that uses only bits of randomness) for MWM in the online preemptive model, and analyze its performance for growing trees. We describe the algorithm next. (An intuition for the algorithm is presented in Appendix B.)
Note that we cannot just output the best of two matchings because that could violate the constraints of the online preemptive model.
4.1 Analysis
We use the primaldual technique to analyze the performance of this algorithm. The primaldual technique used to analyze McGregor’s deterministic algorithm for MWM described in [3] is fairly straightforward. However the management becomes complicated with the introduction of randomness, and we are only able to analyze the algorithm in a very restricted class of graphs, which are growing trees.
Theorem 8.
The expected competitive ratio of Algorithm 3 on growing trees is
where is the probability to output .
We maintain both primal and dual variables along with the run of the algorithm. Consider a round in which an edge is revealed, where is the new vertex. Before is revealed, let and be the edges incident on which belong to and respectively. If such an does not exist, then we may assume . The primal and dual variables are updated as follows.

is rejected by both matchings, we set the primal variable , and the dual variable .

is added to only, then we set the primal variable , and the dual variable , and ;.

is added to only, then we set the primal variable , and the dual variable , and .

is added to both the matchings, then we set the primal variable , and the dual variables and .

When an edge is evicted from (or ), we decrease its primal variable by (or respectively), and the corresponding dual variables are unchanged.
We begin with three simple observations.

The cost of the primal solution is equal to the expected weight of the matching maintained by the algorithm.

The dual variables never decrease. Hence, if a dual constraint is feasible once, it remains so.

.
The idea behind the analysis is to prove a bound on the ratio of the dual cost and the primal cost while maintaining dual feasibility. By Observation , to ensure dual feasibility, it is sufficient to ensure feasibility of the dual constraint of the new edge. If the new edge is not accepted in any , then . Hence, the dual constraint is satisfied by Observation . Else, it can be seen that the dual constraint is satisfied by the updates performed on the dual variables.
Lemma 9.
after every round.
We will use the following simple technical lemma to prove Lemma 9.
Lemma 10.
increases with iff .
of Lemma 9.
There are four cases to be considered.

If edge is accepted in , but not in . Then . By Observation , before was revealed, . After is accepted in , , and . Hence,

If edge is accepted in , but not in . Then . By Observation , before was revealed, . After is accepted in , , and . Hence,

If edge is accepted in both the matchings, and . By Observation , before was revealed, . After is accepted in both the matchings, . The change in primal cost is
By Lemma 10, this value increases, for a fixed , with if , and its worst case value is achieved when . Thus,

If is accepted in both the matchings, and . By Observation , before was revealed, . The following bound can be proved similarly.
∎
The following theorem is an immediate consequence of Theorem 8.
Theorem 11.
Algorithm 3 is a competitive (in expectation) randomized algorithm for MWM on growing trees, when , , and ; and the analysis is tight.
In Appendix C, we present an input for which both and are simultaneously of rd the weight of the optimum.
Note. In the analysis of Algorithm 3 for growing trees, we crucially use the following fact in the dual variable assignment. If an edge for some , then a new edge incident on its leaf vertex will definitely be added to , and it suffices to assign a zero charge to the corresponding dual variable. This is not necessarily true for more general classes of graphs, and new ideas are needed to analyze the performance for those classes.
Acknowledgements
References
 [1] Aaron Bernstein and Cliff Stein. Faster fully dynamic matchings with small approximation ratios. In Proceedings of the TwentySeventh Annual ACMSIAM Symposium on Discrete Algorithms, SODA 2016, Arlington, VA, USA, January 1012, 2016, pages 692–711, 2016. doi:10.1137/1.9781611974331.ch50.
 [2] Sayan Bhattacharya, Monika Henzinger, and Danupon Nanongkai. Fully dynamic approximate maximum matching and minimum vertex cover in O(log n) worst case update time. In Proceedings of the TwentyEighth Annual ACMSIAM Symposium on Discrete Algorithms, SODA 2017, Barcelona, Spain, Hotel Porta Fira, January 1619, pages 470–489, 2017. doi:10.1137/1.9781611974782.30.
 [3] Ashish Chiplunkar, Sumedh Tirodkar, and Sundar Vishwanathan. On randomized algorithms for matching in the online preemptive model. In Algorithms  ESA 2015  23rd Annual European Symposium, Patras, Greece, September 1416, 2015, Proceedings, pages 325–336, 2015. doi:10.1007/9783662483503_28.
 [4] Leah Epstein, Asaf Levin, JuliÃ¡n Mestre, and Danny Segev. Improved approximation guarantees for weighted matching in the semistreaming model. SIAM J. Discrete Math., 25(3):1251–1265, 2011.
 [5] Leah Epstein, Asaf Levin, Danny Segev, and Oren Weimann. Improved Bounds for Online Preemptive Matching. In 30th International Symposium on Theoretical Aspects of Computer Science, STACS 2013, Kiel, Germany, pages 389–399, 2013. doi:10.4230/LIPIcs.STACS.2013.389.
 [6] Joan Feigenbaum, Sampath Kannan, Andrew McGregor, Siddharth Suri, and Jian Zhang. On Graph Problems in a Semistreaming Model. Theor. Comput. Sci., 348(2):207–216, December 2005.
 [7] Manoj Gupta. Maintaining approximate maximum matching in an incremental bipartite graph in polylogarithmic update time. In 34th International Conference on Foundation of Software Technology and Theoretical Computer Science, FSTTCS 2014, December 1517, 2014, New Delhi, India, pages 227–239, 2014. doi:10.4230/LIPIcs.FSTTCS.2014.227.
 [8] Manoj Gupta and Richard Peng. Fully Dynamic Approximate Matchings. In Proceedings of the 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, FOCS ’13, pages 548–557, Washington, DC, USA, 2013. IEEE Computer Society. doi:10.1109/FOCS.2013.65.
 [9] B. Kalyanasundaram and K. Pruhs. Online weighted matching. Journal of Algorithms, 14(3):478 – 488, 1993. doi:http://dx.doi.org/10.1006/jagm.1993.1026.
 [10] R. M. Karp, U. V. Vazirani, and V. V. Vazirani. An Optimal Algorithm for Online Bipartite Matching. In Proceedings of the Twentysecond Annual ACM Symposium on Theory of Computing, STOC ’90, pages 352–358, New York, NY, USA, 1990. ACM.
 [11] Andrew McGregor. Finding Graph Matchings in Data Streams. In Proceedings of the 8th International Workshop on Approximation, Randomization and Combinatorial Optimization Problems, and Proceedings of the 9th International Conference on Randomization and Computation: Algorithms and Techniques, APPROX’05/RANDOM’05, pages 170–181, Berlin, Heidelberg, 2005. SpringerVerlag.
 [12] Silvio Micali and Vijay V. Vazirani. An Algorithm for Finding Maximum Matching in General Graphs. In Proceedings of the 21st Annual Symposium on Foundations of Computer Science, SFCS ’80, pages 17–27, Washington, DC, USA, 1980. IEEE Computer Society. doi:10.1109/SFCS.1980.12.
 [13] A. Schrijver. Combinatorial Optimization  Polyhedra and Efficiency. Springer, 2003.
 [14] Shay Solomon. Fully dynamic maximal matching in constant update time. In IEEE 57th Annual Symposium on Foundations of Computer Science, FOCS 2016, 911 October 2016, Hyatt Regency, New Brunswick, New Jersey, USA, pages 325–334, 2016. doi:10.1109/FOCS.2016.43.
 [15] Ashwinkumar Badanidiyuru Varadaraja. Buyback Problem  Approximate Matroid Intersection with Cancellation Costs. In Automata, Languages and Programming  38th International Colloquium, ICALP 2011, Zurich, Switzerland, Proceedings, Part I, pages 379–390, 2011. doi:10.1007/9783642220067_32.
Appendix A Proof of Lemma 2
We crucially use the following lemma to prove Lemma 2.
Lemma 12.
(a) If an edge belongs only to at the end of input, then bad edges cannot be incident on both its end points.
(b) Also, if an edge was added to only in the switching phase, then cannot be a bad edge.
Proof.
There are two cases to consider.

Suppose was added to only when it was revealed. Then on one of its end point either there should be two edges incident (other than ), such that each of them belongs to a single matching, or there should be one edge which belongs to two matchings. In either case, the edges incident on that end point of should have neighboring edges which belong to some matching (by description of algorithm). And hence, these edges cannot be bad.

Suppose was added to as well as some other matching when it was revealed. If belonged to three matchings when it was revealed, then its neighboring edge will have its end points covered by at least four matching edges, and this number can never go below four. If belonged to two matchings when it was revealed, then it
– (a) either has one neighboring edge which belongs to two matchings,
– (b) or one neighboring edge on each of its end points, each belonging to distinct matching,
– (c) or two neighboring edges on one of its end points, such that both of them belong to distinct matchings.
In Case (a), this neighboring edge should have a neighboring edge on its other end point which belongs to some matching, and hence it cannot be a bad edge. In Case (b), each of these edge should have at least two neighboring edges of their own on their respective other end point, which belong to certain matching. Hence, both these edges cannot be bad. In Case (c), both these edges should have neighboring edges of their own on their respective other end point, which belong to certain matching. Hence, both these edges cannot be bad.
For the second part of lemma, if edge added to in the switching phase, then it means that will have three neighboring edges ,, and , belonging to , , and , respectively. This is because will be added to in the switching phase only if it is not added to or in the switching phase, which means there are edges which belong only to and respectively. ∎
Proof.
(of Lemma 2) There are two cases to consider.

Suppose if there is a bad leaf edge which belongs to . If is added to in the switching phase, then cannot be a bad edge (by part (b) of Lemma 12). So, has to be added to in the augment phase for it to be a bad leaf edge in future.

If was added to alone when revealed, then it must have neighbors and such that both of them do not belong to . Then, they must have had neighboring edges and respectively which belonged to (at some stage). Suppose (and/or ) switches (and/or respectively) out of , then (and/or respectively) cannot be a bad edge (by part (b) of Lemma 12). Otherwise, the Lemma holds due to part (a) of Lemma 12.

If was added to two matchings ( being one of them) when it was revealed, and finally has only one internal neighboring edge , then will have a neighboring edge on its other end point. Either belongs to or its neighboring edge on other end point belongs to . The lemma holds if finally belongs to (by part (a) of Lemma 12) or if finally the neighboring edge of belongs to (by part (b) of Lemma 12). (The proof for this case will also work for the case when was revealed first as a single disconnected edge, and then was revealed on one of its end points.)

If was added to two or three matchings ( being one of them) when it was revealed, and finally has two internal neighboring edges and , then and must have neighboring edges and respectively which belong to (at some stage). Suppose (and/or ) switches (and/or respectively) out of , then (and/or respectively) cannot be a bad edge (by part (b) of Lemma 12). Otherwise, the Lemma holds due to part (a) of Lemma 12.


Let and be two bad internal edges which do not belong to . Then, they must have had neighboring edges and respectively which belonged to (at some stage). Suppose (and/or ) switches (and/or respectively) out of , then (and/or respectively) cannot be a bad edge (by part (b) of Lemma 12). Otherwise, the Lemma holds due to part (a) of Lemma 12.
∎
Appendix B Motivation for Randomized Algorithm for MWM
McGregor’s deterministic algorithm [11] for MWM is easy to describe – if the weight of the new edge is more than times the weight of the conflicting edges in current matching, then evict them and add the new edge. The algorithm is competitive, and attains the best competitive ratio of for . It achieves this competitive ratio for the following example. Start by presenting an edge of weight to the algorithm. This edge will be added to the matching. Assume inductively that after iteration , the algorithm’s matching has only the edge of weight . In iteration , give an edge of weight on one end point of . This edge will not be accepted in the algorithm’s matching. Give an edge of weight on the other end point of . This edge will be accepted in the algorithm’s matching, and will be evicted. This process terminates for some large , letting . The edge of weight will not be accepted in the algorithm’s matching. The algorithm will hold only the edge of weight , whereas the optimum matching would include edges of weight . It can be easily inferred that this gives the required lower bound on the competitive ratio.
Notice that the edges presented in the example crucially depended on . To beat this, we maintain two matching, with values and respectively, and choose one at random.
Appendix C Tight Example for Algorithm 3
The input for which Algorithm 3 is competitive is as follows. Start by presenting an edge of weight . It will be added to both and . Assume inductively, that currently both matching only contain an edge of weight . Present an edge of weight on one end point of . This edge will not be accepted in either of the matchings. Present an edge of weight on the other end point of . This edge will be accepted in both the matchings, and will be evicted. For a sufficiently large value , let . So edge of weight will not be accepted in either of the matchings. Both the matchings will hold only the edge of weight , whereas the optimum matching would include edges of weight . The weight of the matching stored by the algorithm is , whereas the weight of the optimum matching is (we have ignored the terms here). This gives the competitive ratio .
Appendix D Online Preemptive Model vs. Incremental Dynamic Graph Model
There are two main differences between these models. Firstly, in the online preemptive model, once an edge is rejected/removed from the matching maintained by the algorithm, it cannot be added into its matching, whereas in the incremental dynamic graph model, rejected/removed edges can be added to the matching later on. Secondly, there is no restriction on how much time an algorithm in the online preemptive model can use to process a revealed edge, whereas in the incremental dynamic graph model, the algorithm is supposed to process the revealed edge fast. The term “fast” is used loosely, and is specific to any problem. For example, MCM on general graphs can be found in time when the entire input is available [12]. But for dynamic graphs, every time an edge is inserted, the algorithm is expected to maintain a matching, approximate if not exact, in time lower than the time required by the optimal offline algorithm for MCM (say, for instance, in amortized time).
Appendix E Analysis of Algorithm 2 for General Graphs with Maximum Degree
As already noted in Section 3, end points of all edges are covered by all three matchings. We use the following Lemma to prove Theorem 7.
Lemma 13.
There exists an assignment of the primal charge amongst the dual variables such that the dual constraint for each edge is satisfied at least th in expectation.
Proof.
The dual variable assignment is done at the end of input, as follows.

If does not belong to any matching, then it does not contribute to the value of dual variables.

If belongs to a single matching, then there are two sub cases.

W.l.o.g., if is covered by a single matching, then primal charge is divided as and .

If both and are covered by at least two matchings, then primal charge is divided as and .


If belongs to two or three matchings, then its entire primal charge is divided equally amongst and .
The analysis breaks up into three cases.
Case 1. Suppose does not belong to any matching. Then and must be covered by a total of at least matchings (counting multiplicities). W.l.o.g., if is covered by a single matching, then has to be covered by at least two matchings. Hence, , and . Else, both and are covered by at least two matchings, then and . Therefore, .
Case 2. Suppose belongs to a single matching. Then, .
Case 3. Suppose belongs to two or three matchings, then trivially.
The proof of Lemma is complete with . ∎