Computing a maximum cardinality matching is a classical problem in combinatorial optimization, with a large number of algorithms and applications. Motivated by the rise of massive graphs, much of the recent research on this problem has focused on sub-linear algorithms that are able to compute a matching without storing the entire graph in memory. One of the standard sub-linear models for processing graphs is known as thesemi-streaming model : the algorithm has access to a sequence of edges (the stream), and is allowed to make a single pass over this sequence while only using only internal memory, where is the number of vertices in the graph. Note that the memory used is still significantly smaller than the number of edges in the graph, and that memory is also necessary if we want the algorithm to output the actual edges of the matching. (One typically assume -size words, so that a single edge can be stored in space; if one were to express space in terms of the number of bits, all the space bounds in this paper would increase by a factor.)
If the edges of the stream arrive in an arbitrary order, a simple greedy algorithm can compute a maximal matching – and hence a -approximate maximum matching – in a single streaming pass and space. Going beyond a -approximation with a single pass is considered one of the main open problems in the area. The strongest lower bound is by Kapralov , who build upon an earlier lower bound of Goel et al. : any algorithm with approximation ratio requires space . But we still do not know where the right answer lies between and .
To make progress on this intriguing problem, several recent papers studied a more relaxed model, where the graph is still arbitrary, but the edges are assumed to arrive in a uniformly random order. Konrad et al. were the first to go beyond a 1/2-approximation in this setting: they showed that in random-order streams, there exists an -space algorithm that computes an .5003-approximate matching, or .5005-approximate for bipartite graphs . This was later improved to .506 in general graphs  and .539 in bipartite graphs . Assadi et al. then showed an algorithm with an approximation ratio of , but their algorithm had a significantly larger space requirement of . Finally, very recently (SODA 2020), Farhadi et al. achieved the current state of the art for space; their algorithm achieves an approximation ratio of for general graphs and for bipartite graphs . A summary of these results can be found in Table 1.
|Bipartite graphs||General graphs||Space|
|Konrad et al. |
|Gamlath et al. |
|Assadi et al. |
|Farhadi et al. |
Although this line of work suggests that computing a maximum matching might be fundamentally easier in random-order streams, we note that even in bipartite graphs, none of the previous results go beyond the best known lower bound for adversarial streams mentioned above : the algorithm of Assadi et al. uses too much space , while the result of Farhadi et al. has an approximation ratio of .
Our result is the first to go beyond the adversarial-order lower bound, thus establishing that computing a matching is provably easier in random-order streams.
Theorem 1 (Our Result).
Given any (possibly non-bipartite) graph and any approximation parameter , there exists a deterministic single-pass streaming algorithm that with high probability computes a
, there exists a deterministic single-pass streaming algorithm that with high probability computes a-approximate matching if the edges of arrive in a uniformly random order. The space usage of the algorithm is
Our result significantly improves upon the space requirement of Assadi et al.  and the approximation ratio of Farhadi et al. . In fact, our algorithm achieves the best of both those results (see Table 1). On top of that, our result is quite simple; given that it improves upon a sequence of previous results, we see this simplicity as a plus.
If the only requirement is to return an approximate estimate of thesize of the maximum matching, rather than the actual edges, a surprising result by Kapralov et al. shows that one can get away with very little space: given a single pass over a random-order stream, it is possible to estimate the size within a factor using only space ; a very recent improvement reduces the polylog factors to . There is also a line of work that estimates the size of the matching in space in adversarial streams for special classes of graphs as such planar graphs or low-arboricity graphs [14, 8, 29, 11, 30].
There are many one-pass streaming algorithms for computing a maximum matching in weighted graphs. For adversarial-order streaming, a long line of work culminated in a -approximation using space [17, 31, 13, 12, 32, 19]. Gamlath et al. recently showed that for random-order streams, one can achieve an approximation ratio of . . See also other related work on weighted graphs in .
There are several results on upper and lower bounds for computing a maximum matching in dynamic streams (where edges can also be deleted) [27, 10, 5, 9, 6]. Finally, there are several results that are able to achieve better bounds by allowing the algorithm to make multiple passes over the stream: some results focus on just two or three passes [26, 15, 22, 28], while others seek to compute a -approximate matching by allowing a large constant number (or even ) passes [31, 1, 21, 2].
Overview of Techniques
The basic greedy algorithm trivially achieves a -approximate matching in adversarial streams; in fact, Konrad et al later showed that the ratio remains even in random-order streams . Existing algorithms for improving the ratio in random-order streams generally fall into two categories. The algorithms in [26, 28, 18, 16] use the randomness of the stream to compute some fraction of short augmenting paths, thus going beyond the -approximation of a maximal matching. The result in  instead shows that one can obtain a large matching by constructing a subgraph that obeys certain degree-properties.
Our result follows the framework of . Given any graph , an earlier result of Bernstein and Stein for fully dynamic matching defined the notion of an edge-degree constrainted subgraph (denoted EDCS), which is a sparse subgraph that obeys certain degree-properties . They showed that any EDCS always contains a (-approximate matching. The streaming result of Assadi et al.  then showed that given a random-order stream, it is possible to compute an EDCS in space; returning the maximum matching in yields a -approximate matching in .
Our result also takes the EDCS as its starting point, but it is unclear how to compute an EDCS of using less than space. Our algorithm requires two new contributions. Firstly, we show that it is sufficient for to satisfy a somewhat relaxed set of properties. Our main contribution is then to use an entirely different construction of this relaxed subgraph, which uses the randomness of the stream more aggressively to compute using low space.
2 Notation and Preliminaries
Consider any graph . We define to be the degree of in and we define the degree of an edge to be . A matching in is a set of vertex-disjoint edges. All graphs in this paper are unweighted and undirected. We use to denote the size of the maximum matching in . Unless otherwise indicated, we let refer to the input graph and let and . We note that every graph referred to in the paper has the same vertex as the input graph; when we refer to subgraphs, we are always referring to a subset of edges on this same vertex set.
The input graph is given as a stream of edges . We assume that the permutation of the edges is chosen uniformly at random among all permutations of . We use to denote the substream , and we use to denote the subgraph of containing all edges in .
Our analysis will apply concentration bounds to segments of the stream. Observe that because the stream is a random permutation, any segment is equivalent to sampling edges from the stream without replacement. We can thus apply the Chernoff bound for negatively associated variables (see e.g. the primer in ).
Theorem 2 (Chernoff).
Let be negatively associated random variables taking values in
be negatively associated random variables taking values in. Let and let . Then, for any we have
The early and late sections of the stream
Our algorithm will use the first edges of the stream to learn about the graph and will effectively ignore them for the purposes of analyzing the maximum matching. Thus, we only approximate the maximum matching in the later edges of stream; because the stream is random, these edges still contain a large fraction of the maximum matching. We use the following definitions and lemmas to formalize this intuition.
We Let denote the first edges of the stream, and denote the rest: that is, , and . Define and
For the probability bounds to work out, we need to assume that . We justify this assumption by observing that every graph satisfies , so if , then the algorithm can trivially return an exact maximum matching by simply storing every edge using only space. This justifies the following:
Claim 2.1 (Assumption).
We can assume for the rest of the paper that .
Combining Claim 2.1 with Chernoff bound we get the following lemma, which allows us to focus our analysis on the edges in .
Assuming that , we have that .
Fix some maximum matching of . Define to be the indicator variable that edge appears in . Since the stream is random, and since contains exactly edges, we have that and . It is also easy to see that the are negatively associated, since these variables correspond to sampling edges without replacement. Recall from Claim 2.1 that we assume . Applying the Chernoff Bound in Theorem 2 completes the proof. ∎
Existing Work on EDCS
We now review the basic facts about the edge-degree constrained subgraph (EDCS), which was first introduced in .
Let be a graph, and a subgraph of . Given any parameters and , we say that is a -EDCS of if satisfies the following properties:
[Property P1:] For any edge ,
[Property P2:] For any edge , .
Lemma 2.3 ().
3 Our Modified Subgraph
Unlike the algorithm of , we do not actually construct an EDCS of , as we do not know how to do this in less than space. We instead rely on a more relaxed set of properties, which we analyze using Lemma 2.3 as a black-box. We now introduce some of the basic new tools used by our algorithm. Note that graph in the lemma and definitions below crucially refers to any arbitrary graph , and not necessarily the main input graph of the streaming algorithm.
We say that a graph has bounded edge-degree if for every edge , .
Let be any graph, and let be a subgraph of with bounded edge-degree . For any parameter , we say that an edge is -underfull if
The two definitions above effectively separate the two EDCS properties: any subgraph of with bounded edge-degree automatically satisfies property P1 of an EDCS, and underfull edges are then those that violate property P2. We now show that one can always construct a large matching from the combination of these two parts.
Let be any parameter, and let be parameters with , . Consider any graph , and any subgraph with bounded edge-degree . Let X contain all edges in that are -underfull. Then
Note that it is NOT necessarily the case that is an EDCS of , because adding the edges of to will increase vertex and edge degrees in , so might not satisfy property P1 of an EDCS. We thus need a more careful argument.
Let be the maximum matching in , let and let . Let . Note that by construction, , so .
We now complete the proof by showing that is a -EDCS of . Let us start by showing property P2. Recall that contains all edges in for which , so by construction contains all such edges in . Thus, every edge must have , where the last inequality is just rearranging the algebra to fit Property P2 for our new EDCS parameters of .
For property P1, note that is a matching, so for every vertex we have . Now, for we had (by property P1 of ), and for we had (by definition of ). Thus, for every we have that .
Note that because of how we set the parameters, and satisfy the requirements of Lemma 2.3. We thus have that .
4 The Algorithm
4.1 The Two Phases
Our algorithm will proceed in two phases. Once phase I terminates, the algorithm proceeds to phase II and never returns to phase I. The goal of phase I is to construct a suitable subgraph of . We now state the formal properties that will be guaranteed by phase I.
Definition 5 (parameters).
Throughout this section we use the following parameters. Let be the final approximation parameter we are aiming for. Set and set ; note that and are . Set and .
Phase I uses space and constructs a subgraph of . The phase satisfies the following properties:
Phase I terminates within the first edges of the stream. That is, Phase I terminates at the end of processing some edge with .
When Phase I terminates at the end of processing some edge , the subgraph constructed during this phase satisfies the following properties:
has bounded edge-degree . As a corollary, has edges.
With probability at least , the total number of -underfull edges in is at most . (Recall that denotes the subgraph of that contains all edges in .)
We now show that if we can ensure the properties of Lemma 4.1, our main result follows.
Proof of Theorem 1.
Let us say that Phase I terminates after edge and let be the subgraph constructed by Phase I. Phase II of the algorithm proceeds as follows. It initializes an empty set . Then, for every edge in , if (that is, if is -underfull), the algorithm adds edge to . After the algorithm completes the stream, it then returns the maximum matching in .
Let us now analyze the approximation ratio. By property 1 of Lemma 4.1, ; thus, contains all -underfull edges. By property 2a, has bounded edge-degree . Thus, applying Lemma 3.1, we have that . Combining this with Lemma 2.2, we get that ; using thus yields the desired approximation ratio.
For the space analysis, we know from Lemma 4.1 that Phase I requires space, which is the space needed to store subgraph . By Property 2b, the size of in Phase II is at most . The overall space is thus .
4.2 Decription of Phase I
. Phase I is split into epochs, each containing exactlyedges from the stream. So in epoch i, the algorithm looks at .
Phase I initializes the graph . In epoch i, the algorithm goes through the edges of one by one. For edge , if , then the algorithm adds edge to (Line 5). (Note that the algorithm changes over time, so always refers to the degrees in at the time edge is being examined.) After each edge insertion to , the algorithm runs procedure RemoveOverfullEdges() (Line 7); this procedure repeatedly picks an edge with until no such edge remains. Note that as a result, our algorithm preserves the invariant that always has bounded edge-degree .
In each epoch, the algorithm also has a single boolean FoundUnderfull, which is set to True if the algorithm ever adds an edge to during that epoch. At the end of the epoch, if FoundUnderfull is set to True, then the algorithm simply proceeds to the next epoch. If FoundUnderfull is False, then the algorithm permanently terminates Phase I and proceeds to Phase II. (The intuition is that since the ordering of the stream is random, if the algorithm failed to find an underfull edge in an entire epoch, then there must be relatively few underfull edges left in the stream, so Property 2b of Lemma 4.1 will be satisfied.)
Note that FoundUnderfull being false is the only way Phase I can terminate (Line 9); we prove in the analysis that this deterministically occurs within the first edges of the stream.
We now turn to proving Lemma 4.1. The hardest part is proving Property 1. Observe that every epoch that doesn’t terminate Phase I must add at least one edge to . To prove Property 1, we use an auxiliary lemma that bounds the total number of changes made to .
Fix any parameter . Let be a graph, with initially empty. Say that an adersary adds and removes edges from using an arbitrary sequence of two possible moves
[Deletion Move] Remove an edge from for which
[Insertion Move] Add an edge to for some pair for which .
Then, after moves, no legal move remains.
The proof is similar to that of Proposition 2.4 in . Define the following potential functions , , and the main potential function . Note that initially is empty so . We claim that at all times . To see this, note that every vertex always has , because as long as , the adversary cannot perform any insertion moves incident to . In the rest of the proof, we show that every Insertion/Deletion move increases by at least 1; combined with the fact that at all times , we get that there are at most moves in total.
Consider any Deletion Move of edge . Clearly decreases by exactly . We now show that decreases by at least . One the one hand, decreases by at least because edge no longer participates in the sum, and was before the deletion. But at the same time, since before the deletion, there are at least edges other than incident to or , and each of their edge degrees decrease by 1 in the sum for . Thus, decreases by at least , while decreases by exactly , so overall increases by at least one.
Similarly, consider any Insertion Move of edge . Clearly increases by exactly . We now show that increases by at most . Recall that before the insertion, so after the insertion we have that , so the edge itself contributes at most to the sum in . There are also at most edges other than incident to or , each of whose edge degrees increases by 1. Thus, overall, increases by at most , so increases by at least . ∎
Proof of Lemma 4.1.
Property 2a is clearly satisfied by construction, because after any insertion to the algorithm runs RemoveOnderfullEdges(H) (line 7) to ensure that has bounded edge-degree . As a result, we clearly have that every vertex degree is at most , so Phase I needs only space to store .
For the proof of Property 1, observe that any changes the algorithm makes to H follow the rules for Insertion/Deletion moves from Lemma 4.2, so Algorithm LABEL:alg:main makes at most changes to . (Line 5 of Phase I corresponds to deletion moves in Lemma 4.2, while line 2 of RemoveOverfullEdges() corresponds to insertion moves. Note that line 5 of phase I actually obeys an even stronger inequality than deletion moves, since .) Each epoch that does not terminate Phase I makes at least one change to , so phase I goes through at most epochs before termination. Each epoch contains edges, so overall Phase I goes through at most edges, as desired.
All that remains is to prove Property 2b. As mentioned above, the intuition is simple: the algorithm only exits Phase I if it fails to find a single underfull edge in the entire epoch (Line 9), and since the stream is random, such an event implies that there are probably relatively few underfull edges left in the stream. We now formalize this intuition.
Let be the event that FoundUnderfull is set to FALSE in epoch . Recall that epoch ends on edge ; let be the event that the number of -underfull edges is more than . Note that Property 2b fails to hold if and only if we have for some , so we now upper bound . Our bound relies on the randomness of the stream. Let contain all edges in the graph that have not yet appeared in the stream at the beginning of epoch (r for remaining). Let be the edges that appear in epoch (e for epoch), and note that is a subset of size chosen uniformly at random from . Define to be the subgraph at the beginning of epoch , and define to be the set (u for underfull). Observe that because of event , the graph does not change throughout epoch , so an edge that is underfull at any point during the epoch will be underfull at the end as well. Thus, is equivalent to the event that but .
Let be the event that the kth edge of epoch is not in . We have that
Now, observe that
because the first edge of the epoch is chosen uniformly at random from the set of remaining edges, and the event fails if the chosen edge is in , where by definition of . Similarly, for any ,
because conditioning on the previous events implies that no edge from has yet appeared in this epoch, so there are still at least edges from left in the stream.
Recall from Definition 5 that . Combining the three above equations yields that . There are clearly at most epochs, so union bounding over all of them shows that Property 2b fails with probability at most , as desired.
5 Open Problems
We presented a new single-pass streaming algorithm for computing a maximum matching in a random-order stream. The algorithm achieves a -approximation using space; these bounds improve upon all previous results for the problem.
But while is a natural boundary, there is no reason to believe it is the best possible. Is there an algorithm with approximation ratio ? Is it possible to compute a -approximate matching in random-order streams? A lower bound of in this setting would also be extremely interesting.
Another natural open problem is get improved bounds for weighted graphs. Gamlath et al  recently broke through the barrier of and presented an algorithm for weighted graphs that computes a -approximation (or in bipartite graphs) in random-order streams. Can we improve the approximation ratio to in weighted graphs? To ?
I want to thank Sepehr Assadi for several very helpful discussions.
-  (2013) Linear programming in the semi-streaming model with application to the maximum matching problem. Inf. Comput. 222, pp. 59–79. Cited by: §1.
-  (2015) Access to data and number of iterations: dual primal algorithms for maximum matching under resource constraints. In Proceedings of the 27th ACM on Symposium on Parallelism in Algorithms and Architectures, SPAA 2015, Portland, OR, USA, June 13-15, 2015, pp. 202–211. Cited by: §1.
-  (2019) Coresets meet EDCS: algorithms for matching and vertex cover on massive graphs. In Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2019, San Diego, California, USA, January 6-9, 2019, pp. 1616–1635. Cited by: §1, §1, Table 1, §1, §1, §3.
-  (2019) Towards a unified theory of sparsification for matching problems. In 2nd Symposium on Simplicity in Algorithms, SOSA@SODA 2019, January 8-9, 2019 - San Diego, CA, USA, pp. 11:1–11:20. Cited by: §2, Lemma 2.3, Lemma 2.3, §4.3.
-  (2016) Maximum matchings in dynamic graph streams and the simultaneous communication model. In Proceedings of the Twenty-Seventh Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2016, Arlington, VA, USA, January 10-12, 2016, R. Krauthgamer (Ed.), pp. 1345–1364. Cited by: §1.
-  (2017) On estimating maximum matching size in graph streams. In Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2017, Barcelona, Spain, Hotel Porta Fira, January 16-19, pp. 1723–1742. Cited by: §1.
-  (2015) Fully dynamic matching in bipartite graphs. In Automata, Languages, and Programming - 42nd International Colloquium, ICALP 2015, Kyoto, Japan, July 6-10, 2015, Proceedings, Part I, pp. 167–179. Cited by: §1, §2.
-  (2015) Sublinear estimation of weighted matchings in dynamic data streams. In Algorithms - ESA 2015 - 23rd Annual European Symposium, Patras, Greece, September 14-16, 2015, Proceedings, pp. 263–274. Cited by: §1, §1.
-  (2016) Kernelization via sampling with applications to finding matchings and related problems in dynamic graph streams. In Proceedings of the Twenty-Seventh Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2016, Arlington, VA, USA, January 10-12, 2016, pp. 1326–1344. Cited by: §1.
-  (2015) Parameterized streaming: maximal matching and vertex cover. In Proceedings of the Twenty-Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2015, San Diego, CA, USA, January 4-6, 2015, pp. 1234–1251. Cited by: §1.
-  (2017) The sparse awakens: streaming algorithms for matching size estimation in sparse graphs. In 25th Annual European Symposium on Algorithms, ESA 2017, September 4-6, 2017, Vienna, Austria, pp. 29:1–29:15. Cited by: §1.
-  (2014) Improved streaming algorithms for weighted matching, via unweighted matching. In APPROX/RANDOM 2014, pp. 96–104. Cited by: §1.
-  (2011) Improved approximation guarantees for weighted matching in the semi-streaming model. SIAM J. Discrete Math. 25 (3), pp. 1251–1265. Cited by: §1.
-  (2018) Streaming algorithms for estimating the matching size in planar graphs and beyond. ACM Trans. Algorithms 14 (4), pp. 48:1–48:23. Cited by: §1.
-  (2016) Finding large matchings in semi-streaming. In IEEE International Conference on Data Mining Workshops, ICDM Workshops 2016, December 12-15, 2016, Barcelona, Spain, C. Domeniconi, F. Gullo, F. Bonchi, J. Domingo-Ferrer, R. Baeza-Yates, Z. Zhou, and X. Wu (Eds.), pp. 608–614. Cited by: §1.
-  (2020) Approximate maximum matching in random streams. In Proceedings of the 2020 ACM-SIAM Symposium on Discrete Algorithms, SODA 2020, Salt Lake City, UT, USA, January 5-8, 2020, pp. 1773–1785. Cited by: §1, Table 1, §1, §1.
-  (2005) On graph problems in a semi-streaming model. Theor. Comput. Sci. 348 (2-3), pp. 207–216. External Links: Cited by: §1, §1.
-  (2019) Weighted matchings via unweighted augmentations. In Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC 2019, Toronto, ON, Canada, July 29 - August 2, 2019, P. Robinson and F. Ellen (Eds.), pp. 491–500. Cited by: §1, §1, Table 1, §1, §5.
-  (2019) Simplified and space-optimal semi-streaming (2+epsilon)-approximate matching. In 2nd Symposium on Simplicity in Algorithms, SOSA@SODA 2019, January 8-9, 2019 - San Diego, CA, USA, J. T. Fineman and M. Mitzenmacher (Eds.), OASICS, Vol. 69, pp. 13:1–13:8. Cited by: §1.
-  (2012) On the communication and streaming complexity of maximum bipartite matching. In Proceedings of the Twenty-third Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’12, pp. 468–485. External Links: Cited by: §1.
-  (2013) Superlinear lower bounds for multipass graph processing. In Proceedings of the 28th Conference on Computational Complexity, CCC 2013, K.lo Alto, California, USA, 5-7 June, 2013, pp. 287–298. Cited by: §1.
-  (2017) Maximum matching in two, three, and a few more passes over graph streams. In Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, APPROX/RANDOM 2017, August 16-18, 2017, Berkeley, CA, USA, K. Jansen, J. D. P. Rolim, D. Williamson, and S. S. Vempala (Eds.), Cited by: §1.
-  (2014) Approximating matching size from random streams. In Proceedings of the Twenty-Fifth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2014, Portland, Oregon, USA, January 5-7, 2014, pp. 734–751. Cited by: §1.
-  (2020) Space efficient approximation to maximum matching size from uniform edge samples. In Proceedings of the 2020 ACM-SIAM Symposium on Discrete Algorithms, SODA 2020, Salt Lake City, UT, USA, January 5-8, 2020, pp. 1753–1772. Cited by: §1.
-  (2013) Better bounds for matchings in the streaming model. In Proceedings of the Twenty-Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2013, New Orleans, Louisiana, USA, January 6-8, 2013, pp. 1679–1697. External Links: Cited by: §1, §1.
-  (2012) Maximum matching in semi-streaming with few passes. In Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques - 15th International Workshop, APPROX 2012, and 16th International Workshop, RANDOM 2012, Cambridge, MA, USA, August 15-17, 2012. Proceedings, pp. 231–242. Cited by: §1, §1, Table 1, §1.
-  (2015) Maximum matching in turnstile streams. In Algorithms - ESA 2015 - 23rd Annual European Symposium, Patras, Greece, September 14-16, 2015, Proceedings, pp. 840–852. Cited by: §1.
-  (2018) A simple augmentation method for matchings with applications to streaming algorithms. In 43rd International Symposium on Mathematical Foundations of Computer Science, MFCS 2018, August 27-31, 2018, Liverpool, UK, I. Potapov, P. G. Spirakis, and J. Worrell (Eds.), LIPIcs, Vol. 117, pp. 74:1–74:16. Cited by: §1, §1, Table 1, §1.
-  (2016) Planar matching in streams revisited. In Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, APPROX/RANDOM 2016, September 7-9, 2016, Paris, France, pp. 17:1–17:12. Cited by: §1.
-  (2018) A simple, space-efficient, streaming algorithm for matchings in low arboricity graphs. In 1st Symposium on Simplicity in Algorithms, SOSA 2018, January 7-10, 2018, New Orleans, LA, USA, pp. 14:1–14:4. Cited by: §1.
-  (2005) Finding graph matchings in data streams. In Approximation, Randomization and Combinatorial Optimization, Algorithms and Techniques, 8th International Workshop on Approximation Algorithms for Combinatorial Optimization Problems, APPROX 2005 and 9th InternationalWorkshop on Randomization and Computation, RANDOM 2005, Berkeley, CA, USA, August 22-24, 2005, Proceedings, pp. 170–181. External Links: Cited by: §1, §1.
-  (2017) A (2 + epsilon)-approximation for maximum weight matching in the semi-streaming model. In Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2017, Barcelona, Spain, Hotel Porta Fira, January 16-19, pp. 2153–2161. Cited by: §1.
-  Negative association: definition, properties, and applications. Note: External Links: Cited by: §2.