A 0.510.510.510.51-Approximation of Maximum Matching
in Sublinear n1.5superscript𝑛1.5n^{1.5}italic_n start_POSTSUPERSCRIPT 1.5 end_POSTSUPERSCRIPT Time

Sepideh Mahabadi Microsoft Research. E-mail: \email[email protected].    Mohammad Roghani Stanford University. E-mail: \email[email protected]. Work done while the author was an intern at Microsoft Research.    Jakub Tarnawski Microsoft Research. E-mail: \email[email protected].
Abstract

We study the problem of estimating the size of a maximum matching in sublinear time. The problem has been studied extensively in the literature and various algorithms and lower bounds are known for it. Our result is a 0.51090.51090.51090.5109-approximation algorithm with a running time of O~⁒(n⁒n)~𝑂𝑛𝑛\tilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ).

All previous algorithms either provide only a marginal improvement (e.g., 2βˆ’280superscript22802^{-280}2 start_POSTSUPERSCRIPT - 280 end_POSTSUPERSCRIPT) over the 0.50.50.50.5-approximation that arises from estimating a maximal matching, or have a running time that is nearly n2superscript𝑛2n^{2}italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. Our approach is also arguably much simpler than other algorithms beating 0.50.50.50.5-approximation.

1 Introduction

Given a graph G=(V,E)𝐺𝑉𝐸G=(V,E)italic_G = ( italic_V , italic_E ), a matching is a set of edges with no common endpoints, and the maximum matching problem asks for finding a largest such subset. Matching is a fundamental combinatorial optimization problem, and a benchmark for new algorithmic techniques in all major computational models. It also has a wide range of applications such as ad allocation, social network recommendations, and information retrieval, among others. Given that many of these applications need to handle large volumes of data, the study of sublinear time algorithms for estimating the maximum matching size has received considerable attention over the past two decades.111It is impossible to find the edges of any constant-approximate matching in time sublinear with respect to the size of the input [PR07]. A sublinear time algorithm is not allowed to read the entire graph, which would take Ω⁒(n2)Ξ©superscript𝑛2\Omega(n^{2})roman_Ξ© ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time where n=|V|𝑛𝑉n=|V|italic_n = | italic_V |; instead it is provided oracle access to the input graph and must run in o⁒(n2)π‘œsuperscript𝑛2o(n^{2})italic_o ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time. There are two main oracles for graph problems considered in the literature, which we also consider in this work.

  • β€’

    Adjacency list oracle. Here, the algorithm can query (v,i)𝑣𝑖(v,i)( italic_v , italic_i ), where v∈V𝑣𝑉v\in Vitalic_v ∈ italic_V and i≀n𝑖𝑛i\leq nitalic_i ≀ italic_n, and the oracle reports the i𝑖iitalic_i-th neighbor of the vertex v𝑣vitalic_v in its adjacency list, or NULL if i𝑖iitalic_i is larger than the number of v𝑣vitalic_v’s neighbors.

  • β€’

    Adjacency matrix oracle. Here, the algorithm can query (u,v)𝑒𝑣(u,v)( italic_u , italic_v ), where u,v∈V𝑒𝑣𝑉u,v\in Vitalic_u , italic_v ∈ italic_V, and the oracle reports whether there exists an edge between u𝑒uitalic_u and v𝑣vitalic_v.

Earlier results on estimating the size of the maximum matching in sublinear time mostly focused on graphs with bounded degree ΔΔ\Deltaroman_Ξ”, starting with the pioneering work of Parnas and Ron [PR07], and later works of [NO08, YYI09, RTVX11, ARVX12, LRY17, Gha22]. However, for Ξ”=Ω⁒(n)ΔΩ𝑛\Delta=\Omega(n)roman_Ξ” = roman_Ξ© ( italic_n ) these do not lead to sublinear time algorithms. Thus, later works focused on general graphs with arbitrary maximum degree and managed to obtain sublinear time algorithms for them [CKK20, KMNFT20, Beh21, BRRS23, BKS23b, BKS23a]. In particular, the state of the art results can be categorized into two regimes:

  • β€’

    Algorithms that run in slightly sublinear time, i.e., n2βˆ’Ξ©Ξ΅β’(1)superscript𝑛2subscriptΞ©πœ€1n^{2-\Omega_{\varepsilon}(1)}italic_n start_POSTSUPERSCRIPT 2 - roman_Ξ© start_POSTSUBSCRIPT italic_Ξ΅ end_POSTSUBSCRIPT ( 1 ) end_POSTSUPERSCRIPT. For example, the works of [BRR23b, BKS23b] gave a (2/3βˆ’Ξ΅)23πœ€(2/3-\varepsilon)( 2 / 3 - italic_Ξ΅ )-approximation algorithm that runs in time n2βˆ’Ξ©Ξ΅β’(1)superscript𝑛2subscriptΞ©πœ€1n^{2-\Omega_{\varepsilon}(1)}italic_n start_POSTSUPERSCRIPT 2 - roman_Ξ© start_POSTSUBSCRIPT italic_Ξ΅ end_POSTSUBSCRIPT ( 1 ) end_POSTSUPERSCRIPT. Later, [BKS23a] improved the approximation factor to 1βˆ’Ξ΅1πœ€1-\varepsilon1 - italic_Ξ΅.

  • β€’

    Algorithms whose approximation factor is 0.5+Ξ΅0.5πœ€0.5+\varepsilon0.5 + italic_Ξ΅. The state of the art result in this category is the work of [BRRS23], whose running time is n1+Ξ΅superscript𝑛1πœ€n^{1+\varepsilon}italic_n start_POSTSUPERSCRIPT 1 + italic_Ξ΅ end_POSTSUPERSCRIPT for an approximation factor of 0.5+ΩΡ⁒(1)0.5subscriptΞ©πœ€10.5+\Omega_{\varepsilon}(1)0.5 + roman_Ξ© start_POSTSUBSCRIPT italic_Ξ΅ end_POSTSUBSCRIPT ( 1 ). However, the best approximation factor one can get using their trade-off is only 0.5+2βˆ’280.0.5superscript22800.5+2^{-280}.0.5 + 2 start_POSTSUPERSCRIPT - 280 end_POSTSUPERSCRIPT .222More specifically, for Ρ∈(0,1/4)πœ€014\varepsilon\in(0,1/4)italic_Ξ΅ ∈ ( 0 , 1 / 4 ), they get an algorithm with approximation factor of 0.5+2βˆ’70/Ξ΅0.5superscript270πœ€0.5+2^{-70/\varepsilon}0.5 + 2 start_POSTSUPERSCRIPT - 70 / italic_Ξ΅ end_POSTSUPERSCRIPT that runs in time O⁒(n1+Ξ΅)𝑂superscript𝑛1πœ€O(n^{1+\varepsilon})italic_O ( italic_n start_POSTSUPERSCRIPT 1 + italic_Ξ΅ end_POSTSUPERSCRIPT ). Indeed, they mention: We do not expect our techniques to lead to a better than, say, 0.510.510.510.51-approximation in n2βˆ’Ξ©β’(1)superscript𝑛2Ξ©1n^{2-\Omega(1)}italic_n start_POSTSUPERSCRIPT 2 - roman_Ξ© ( 1 ) end_POSTSUPERSCRIPT time.

Thus, all known algorithms either give only a marginal improvement over the 0.50.50.50.5-approximation arising from estimating the size of a maximal matching (which can be done even in O~⁒(n)~𝑂𝑛\widetilde{O}(n)over~ start_ARG italic_O end_ARG ( italic_n ) timeΒ [Beh21]), or have a running time that is nearly n2superscript𝑛2n^{2}italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. Making a significant improvement on both fronts simultaneously has remained an elusive open question.

Our results.

In this work, we show how to beat the factor 0.50.50.50.5 in time that is strongly sublinear. Specifically, we present an algorithm that runs in time O⁒(n⁒n)𝑂𝑛𝑛O(n\sqrt{n})italic_O ( italic_n square-root start_ARG italic_n end_ARG ) and achieves an approximation factor of 0.51090.51090.51090.5109 for estimating the size of the maximum matching.

It is worth noting that our algorithm is much simpler, both in terms of implementation and analysis, compared to the prior works that beat 0.50.50.50.5-approximationΒ [BRRS23].

Theorem 1.1.

There exists an algorithm that, given access to the adjacency list of a graph, estimates the size of the maximum matching with a multiplicative approximation factor of 0.51090.51090.51090.5109 and runs in O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time with high probability.

Theorem 1.2.

There exists an algorithm that, given access to the adjacency matrix of a graph, estimates the size of the maximum matching with a multiplicative-additive approximation factor of (0.5109,o⁒(n))0.5109π‘œπ‘›(0.5109,o(n))( 0.5109 , italic_o ( italic_n ) ) and runs in O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time with high probability.

Moreover, our algorithm can be employed as a subroutine for Theorem 2 of [Beh23] to obtain an improved approximation ratio in the dynamic setting. More precisely, that result requires a subroutine for estimating the maximum matching size in O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time, for which it uses the 0.50.50.50.5-approximation ofΒ [Beh21]. Our algorithm can be used instead, resulting in a very slight improvement to the overall approximation guarantee forΒ [Beh23].

We note that the framework ofΒ [BKS23a] can also be used to obtain a similar result. Their algorithm, which performs a single iteration to find a constant fraction of augmenting paths of length three on top of a maximal matching, likewise yields a better-than-2 approximate matching with n2βˆ’Ξ©β’(1)superscript𝑛2Ξ©1n^{2-\Omega(1)}italic_n start_POSTSUPERSCRIPT 2 - roman_Ξ© ( 1 ) end_POSTSUPERSCRIPT running time. However, the trade-off in this approach is worse in terms of both the approximation ratio and the running time.

Related work.

On the lower bound front, Parnas and Ron [PR07] demonstrated that any algorithm getting a constant approximation of the maximum matching size needs at least Ω⁒(n)Ω𝑛\Omega(n)roman_Ξ© ( italic_n ) time. More recently, the work of [BRR23b] established that any algorithm providing a (2/3+Ω⁒(1),Ρ⁒n)23Ξ©1πœ€π‘›(2/3+\Omega(1),\varepsilon n)( 2 / 3 + roman_Ξ© ( 1 ) , italic_Ξ΅ italic_n )-multiplicative-additive approximation requires at least n6/5βˆ’o⁒(1)superscript𝑛65π‘œ1n^{6/5-o(1)}italic_n start_POSTSUPERSCRIPT 6 / 5 - italic_o ( 1 ) end_POSTSUPERSCRIPT time. For sparse graphs, a lower bound of ΔΩ⁒(1/Ξ΅)superscriptΔΩ1πœ€\Delta^{\Omega(1/\varepsilon)}roman_Ξ” start_POSTSUPERSCRIPT roman_Ξ© ( 1 / italic_Ξ΅ ) end_POSTSUPERSCRIPT was shown for any Ρ⁒nπœ€π‘›\varepsilon nitalic_Ξ΅ italic_n additive approximation [BRR23a]. For dense graphs, [BRR24] showed a lower bound of n2βˆ’OΡ⁒(1)superscript𝑛2subscriptπ‘‚πœ€1n^{2-O_{\varepsilon}(1)}italic_n start_POSTSUPERSCRIPT 2 - italic_O start_POSTSUBSCRIPT italic_Ξ΅ end_POSTSUBSCRIPT ( 1 ) end_POSTSUPERSCRIPT for the runtime of algorithms achieving such additive approximations.

Paper organization.

In SectionΒ 2, we provide an overview of the challenges encountered while designing our algorithm and the techniques used to address them. We first develop an algorithm for bipartite graphs with a multiplicative-additive error in SectionΒ 4, avoiding additional challenges that arise from general graphs, trying to obtain multiplicative error (in the adjacency list model), or working with the adjacency matrix. In SectionΒ 5, we extend our algorithm to handle general graphs. In SectionΒ 6, we demonstrate how to achieve a multiplicative approximation guarantee. Finally, in SectionΒ 7, we present a simple reduction showing that our algorithm also works in the adjacency matrix model with a multiplicative-additive error.

2 Technical Overview

In this section, we provide an overview of the techniques used in this paper to design our algorithm. We begin with the two-pass semi-streaming algorithm of Konrad and NaiduΒ [KN21] for bipartite graphs. In the first pass, the algorithm constructs a maximal matching M𝑀Mitalic_M. In the second pass, it constructs a maximal b𝑏bitalic_b-matching between vertices matched in M𝑀Mitalic_M and those unmatched in M𝑀Mitalic_M. More specifically, each vertex in V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ) has a capacity of kπ‘˜kitalic_k, while each vertex in Vβˆ–V⁒(M)𝑉𝑉𝑀V\setminus V(M)italic_V βˆ– italic_V ( italic_M ) has a capacity of k⁒bπ‘˜π‘kbitalic_k italic_b, where b=1+2𝑏12b=1+\sqrt{2}italic_b = 1 + square-root start_ARG 2 end_ARG and kπ‘˜kitalic_k is a large constant. The idea is that if M𝑀Mitalic_M is far from maximum, the b𝑏bitalic_b-matching will contain many length-3 augmenting paths that can be used to augment M𝑀Mitalic_M. This algorithm obtains a (2βˆ’2)β‰ˆ0.585220.585(2-\sqrt{2})\approx 0.585( 2 - square-root start_ARG 2 end_ARG ) β‰ˆ 0.585-approximation.

Our goal is to develop a sublinear-time algorithm by translating this semi-streaming two-pass algorithm to the sublinear time model. When trying to do so, several challenges arise. In this section we describe them step by step, and show how to overcome them.

Challenge (1): constructing a maximal matching in sublinear time is not possible.

In fact, finding all edges of any constant-factor approximation of the maximum matching is impossible in sublinear time due to [PR07]. Dynamic algorithms for maximum matching [Beh23, BKSW23] use the following approach: they maintain a maximal matching M𝑀Mitalic_M and then apply the sublinear-time random greedy maximal matching (RGMM) algorithm of BehnezhadΒ [Beh21] to estimate the size of the maximal b𝑏bitalic_b-matching. In our setting, we cannot afford to explicitly construct M𝑀Mitalic_M. However, we can obtain oracle access to M𝑀Mitalic_M using the sublinear-time RGMM algorithm of [Beh21]. More specifically, we can query whether a vertex v𝑣vitalic_v is matched in M𝑀Mitalic_M or not in O~⁒(n)~𝑂𝑛\widetilde{O}(n)over~ start_ARG italic_O end_ARG ( italic_n ) time. Therefore, a possible solution to address the first challenge is to design two nested oracles: the outer oracle attempts to build a maximal b𝑏bitalic_b-matching, whereas the inner oracle checks the status of vertices (matched or not in M𝑀Mitalic_M) to correctly filter edges and assign capacities to each vertex.

Challenge (2): two nested oracles require Ω⁒(n2)Ξ©superscript𝑛2\Omega(n^{2})roman_Ξ© ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) time.

The algorithm of [Beh21] runs in O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) time, where d¯⁒(G)¯𝑑𝐺\bar{d}(G)overΒ― start_ARG italic_d end_ARG ( italic_G ) denotes the average degree of the graph G𝐺Gitalic_G. Additionally, for the outer oracle, it requires O~⁒(d¯⁒(G⁒[V⁒(M),Vβˆ–V⁒(M)]))~𝑂¯𝑑𝐺𝑉𝑀𝑉𝑉𝑀\widetilde{O}(\bar{d}(G[V(M),V\setminus V(M)]))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G [ italic_V ( italic_M ) , italic_V βˆ– italic_V ( italic_M ) ] ) ) time (i.e., queries to the inner oracle). Unfortunately, it is possible for both d¯⁒(G)¯𝑑𝐺\bar{d}(G)overΒ― start_ARG italic_d end_ARG ( italic_G ) and d¯⁒(G⁒[V⁒(M),Vβˆ–V⁒(M)])¯𝑑𝐺𝑉𝑀𝑉𝑉𝑀\bar{d}(G[V(M),V\setminus V(M)])overΒ― start_ARG italic_d end_ARG ( italic_G [ italic_V ( italic_M ) , italic_V βˆ– italic_V ( italic_M ) ] ) to be as large as Ω⁒(n)Ω𝑛\Omega(n)roman_Ξ© ( italic_n ). For example, consider a graph with a vertex set AβˆͺB𝐴𝐡A\cup Bitalic_A βˆͺ italic_B, where |A|=|B|=n/2𝐴𝐡𝑛2|A|=|B|=n/2| italic_A | = | italic_B | = italic_n / 2. The edges within A𝐴Aitalic_A form a complete bipartite graph, while there is an Ρ⁒n/2πœ€π‘›2\varepsilon n/2italic_Ξ΅ italic_n / 2-regular graph between A𝐴Aitalic_A and B𝐡Bitalic_B. After running the RGMM algorithm, most edges in the maximal matching belong to G⁒[A]𝐺delimited-[]𝐴G[A]italic_G [ italic_A ], and most vertices in B𝐡Bitalic_B are unmatched. Consequently, we have d¯⁒(G⁒[V⁒(M),Vβˆ–V⁒(M)])=Ω⁒(n)¯𝑑𝐺𝑉𝑀𝑉𝑉𝑀Ω𝑛\bar{d}(G[V(M),V\setminus V(M)])=\Omega(n)overΒ― start_ARG italic_d end_ARG ( italic_G [ italic_V ( italic_M ) , italic_V βˆ– italic_V ( italic_M ) ] ) = roman_Ξ© ( italic_n ).

To address this issue, we sparsify the original graph while manually constructing a matchingΒ M𝑀Mitalic_M. In a preprocessing step, starting from an empty M𝑀Mitalic_M, for each unmatched vertex in the graph, we sample Θ~⁒(n)~Ξ˜π‘›\widetilde{\Theta}(\sqrt{n})over~ start_ARG roman_Θ end_ARG ( square-root start_ARG italic_n end_ARG ) neighbors uniformly at random. If an unmatched neighbor exists, we match the two vertices and add this edge to M𝑀Mitalic_M. Using this preprocessing step, we show that after spending O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time, the induced subgraph of vertices that remain unmatched in M𝑀Mitalic_M has a maximum degree of n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG with high probability. Moreover, since we explicitly materialize M𝑀Mitalic_M, we are able to check if any vertex is matched in M𝑀Mitalic_M in O⁒(1)𝑂1O(1)italic_O ( 1 ) time, eliminating the need for costly oracle calls. Note that M𝑀Mitalic_M need not be maximal in G𝐺Gitalic_G; therefore we next extend it to a maximal matching.

Let Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT be a maximal matching in G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] obtained by running the sublinear time RGMM algorithm of [Beh21]. Now MβˆͺM′𝑀superscript𝑀′M\cup M^{\prime}italic_M βˆͺ italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT is a maximal matching for G𝐺Gitalic_G. Inspired by the two-pass semi-streaming algorithm of [KN21], we attempt to augment the maximal matching MβˆͺM′𝑀superscript𝑀′M\cup M^{\prime}italic_M βˆͺ italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT in two possible ways (see also FigureΒ 1):

  1. 1.

    Augment Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT using a b𝑏bitalic_b-matching between V⁒(Mβ€²)𝑉superscript𝑀′V(M^{\prime})italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) and Vβˆ–V⁒(M)βˆ–V⁒(Mβ€²)𝑉𝑉𝑀𝑉superscript𝑀′V\setminus V(M)\setminus V(M^{\prime})italic_V βˆ– italic_V ( italic_M ) βˆ– italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ). The algorithm then outputs the size of the augmented matching, plus the size of the previously constructed matching M𝑀Mitalic_M.

  2. 2.

    Augment M𝑀Mitalic_M using a b𝑏bitalic_b-matching between V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ) and Vβˆ–V⁒(M)𝑉𝑉𝑀V\setminus V(M)italic_V βˆ– italic_V ( italic_M ). The algorithm then outputs the size of the augmented matching.

M𝑀Mitalic_MMβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPTB1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTB2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTG⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ]
Figure 1: Our algorithm explicitly constructs a matching M𝑀Mitalic_M (blue), which need not be maximal inΒ G𝐺Gitalic_G. We extend it with another matching Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT (red), such that MβˆͺM′𝑀superscript𝑀′M\cup M^{\prime}italic_M βˆͺ italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT is maximal. The highlighted (light blue) subgraph G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] has degree at most n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG with high probability. In case 1, our algorithm augments Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT using a b𝑏bitalic_b-matching B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (zigzag edges, brown). In case 2, our algorithm augments M𝑀Mitalic_M using a b𝑏bitalic_b-matching B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT (swirly edges, green).

The key intuition here (think of the case when MβˆͺM′𝑀superscript𝑀′M\cup M^{\prime}italic_M βˆͺ italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT yields only a 0.50.50.50.5-approximation) is that either Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT is sufficiently large, making |M|+(2βˆ’2)β‹…2⁒|Mβ€²|𝑀⋅222superscript𝑀′|M|+(2-\sqrt{2})\cdot 2|M^{\prime}|| italic_M | + ( 2 - square-root start_ARG 2 end_ARG ) β‹… 2 | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | larger than the approximation guarantee, or M𝑀Mitalic_M itself is large enough so that (2βˆ’2)β‹…2⁒|M|β‹…222𝑀(2-\sqrt{2})\cdot 2|M|( 2 - square-root start_ARG 2 end_ARG ) β‹… 2 | italic_M | meets our approximation guarantee (note that (2βˆ’2)22(2-\sqrt{2})( 2 - square-root start_ARG 2 end_ARG ) is the approximation guarantee of [KN21]). Augmenting M𝑀Mitalic_M using a b𝑏bitalic_b-matching is easier since we have explicit access to M𝑀Mitalic_M and only need to run a single RGMM oracle to estimate the size of the b𝑏bitalic_b-matching. Our first estimate, which requires finding a b𝑏bitalic_b-matching between V⁒(Mβ€²)𝑉superscript𝑀′V(M^{\prime})italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) and Vβˆ–V⁒(M)βˆ–V⁒(Mβ€²)𝑉𝑉𝑀𝑉superscript𝑀′V\setminus V(M)\setminus V(M^{\prime})italic_V βˆ– italic_V ( italic_M ) βˆ– italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ), is more challenging since we do not have explicit access to Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT. To avoid the Ω⁒(n2)Ξ©superscript𝑛2\Omega(n^{2})roman_Ξ© ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) running time of the two nested oracles, we make crucial use of the aforementioned property that the subgraph of vertices unmatched in M𝑀Mitalic_M has low induced degree (at most n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG); this is the reason why we only try to augment Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT rather than MβˆͺM′𝑀superscript𝑀′M\cup M^{\prime}italic_M βˆͺ italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT. We will discuss this in the next paragraphs.

Challenge (3): the algorithm does not have access to the adjacency list of G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ].

After the sparsification step, the average degree d𝑑ditalic_d of G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] is at most n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG. Hence, if the algorithm had access to the adjacency list of G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ], it could run the nested oracles in O~⁒(d2)=O~⁒(n)~𝑂superscript𝑑2~𝑂𝑛\widetilde{O}(d^{2})=\widetilde{O}(n)over~ start_ARG italic_O end_ARG ( italic_d start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) = over~ start_ARG italic_O end_ARG ( italic_n ) time by executing two RGMM algorithms: inner oracle for computing Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT and outer oracle for the b𝑏bitalic_b-matching to augment Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT. But, since the nested oracles may visit up to n𝑛nitalic_n vertices, and retrieving the full adjacency list of a vertex in G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] requires Ω⁒(n)Ω𝑛\Omega(n)roman_Ξ© ( italic_n ) time, it seems that the overall running time of the algorithm could still be as high as Ω⁒(n2)Ξ©superscript𝑛2\Omega(n^{2})roman_Ξ© ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

Here, we leverage two key properties of the RGMM algorithm to refine the runtime analysis. The first property is that at each step, the algorithm requires only a random neighbor of the currently visited vertex. Intuitively, if a vertex has degree Θ⁒(n)Ξ˜π‘›\Theta(n)roman_Θ ( italic_n ) in G𝐺Gitalic_G, in expectation it takes O⁒(n/d)𝑂𝑛𝑑O(n/d)italic_O ( italic_n / italic_d ) samples from the adjacency list of the original graph to encounter a vertex from G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ]. Thus, if all vertices in G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] had degree d𝑑ditalic_d, one could easily argue that the running time of the algorithm is O~⁒(d2β‹…n/d)=O~⁒(n⁒n)~𝑂⋅superscript𝑑2𝑛𝑑~𝑂𝑛𝑛\widetilde{O}(d^{2}\cdot n/d)=\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_d start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT β‹… italic_n / italic_d ) = over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ). However, vertex degrees can vary, and for a vertex with a constant degree, we would need Ω⁒(n)Ω𝑛\Omega(n)roman_Ξ© ( italic_n ) samples from the adjacency list of G𝐺Gitalic_G to find a single neighbor in G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ]. To address this challenge, we utilize another property of the RGMM algorithm, recently proven by [MRTV25]. Informally, this result shows that during oracle calls for RGMM, a vertex is visited proportionally to its degree, implying that low-degree vertices are visited only a small number of times.

Challenge (4): outer oracle creates biased inner oracle queries.

The final main challenge we discuss here is that the simple O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) bound, which we informally proved in the previous paragraph, relies on the tacit assumption that the inner oracle queries generated by the outer oracle correspond to O~⁒(n)~𝑂𝑛\widetilde{O}(\sqrt{n})over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG ) uniformly random calls to the inner oracle. Indeed, the running time of the algorithm of [Beh21] is analyzed for a uniformly random query vertex; however, there may exist a vertex v𝑣vitalic_v in the graph for which calling the inner oracle takes significantly more than O~⁒(d)~𝑂𝑑\widetilde{O}(d)over~ start_ARG italic_O end_ARG ( italic_d ) time. Consequently, if all outer oracle calls end up querying v𝑣vitalic_v, the running time could be significantly worse than O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ). To overcome this issue, we use the result of [MRTV25] along with the fact that the maximum degree of G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] is O~⁒(n)~𝑂𝑛\widetilde{O}(\sqrt{n})over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG ). We show that for any vertex v𝑣vitalic_v, the outer oracle queries the inner oracle for v𝑣vitalic_v at most O~⁒(degG⁒[Vβˆ–V⁒(M)]⁑(v)/n)~𝑂subscriptdegree𝐺delimited-[]𝑉𝑉𝑀𝑣𝑛\widetilde{O}(\deg_{G[V\setminus V(M)]}(v)/\sqrt{n})over~ start_ARG italic_O end_ARG ( roman_deg start_POSTSUBSCRIPT italic_G [ italic_V βˆ– italic_V ( italic_M ) ] end_POSTSUBSCRIPT ( italic_v ) / square-root start_ARG italic_n end_ARG ) times in expectation. This enables us to formally prove that the total running time of the algorithm remains at most O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ).

General graphs and the adjacency matrix model.

There are additional challenges when dealing with general graphs as opposed to bipartite graphs, such as the fact that the sizes of the maximal matching and the b𝑏bitalic_b-matching alone are insufficient to achieve a good approximation ratio. For general graphs, our algorithm estimates the maximum matching in the union of the maximal matching and the b𝑏bitalic_b-matching, which requires using the (1βˆ’Ξ΅)1πœ€(1-\varepsilon)( 1 - italic_Ξ΅ )-approximate local computation algorithm (LCA) by [LRY17] on the subgraph formed by this union, to which we only have oracle access. We encourage readers to refer to SectionΒ 5 for more details about the techniques used there.

Additionally, for more information on the extension of the algorithm that operates in the adjacency matrix model, we recommend readers to check SectionΒ 7.

3 Preliminaries

Given a graph G𝐺Gitalic_G, we use V⁒(G)𝑉𝐺V(G)italic_V ( italic_G ) to denote its set of vertices and use E⁒(G)𝐸𝐺E(G)italic_E ( italic_G ) to refer to its set of edges. For a vertex v∈V⁒(G)𝑣𝑉𝐺v\in V(G)italic_v ∈ italic_V ( italic_G ), we use degG⁑(v)subscriptdegree𝐺𝑣\deg_{G}(v)roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) to denote the degree of the vertex, i.e., the number of edges with one endpoint equal to v𝑣vitalic_v. We use Δ⁒(G)Δ𝐺\Delta(G)roman_Ξ” ( italic_G ) to denote the maximum degree over all vertices in the graph, and d¯⁒(G)¯𝑑𝐺\bar{d}(G)overΒ― start_ARG italic_d end_ARG ( italic_G ) to denote the average degree of the graph. Further, we use μ⁒(G)πœ‡πΊ\mu(G)italic_ΞΌ ( italic_G ) to denote the size of the maximum matching in G𝐺Gitalic_G.

Given a graph G=(V,E)𝐺𝑉𝐸G=(V,E)italic_G = ( italic_V , italic_E ), and a subset of vertices AβŠ†V𝐴𝑉A\subseteq Vitalic_A βŠ† italic_V, G⁒[A]𝐺delimited-[]𝐴G[A]italic_G [ italic_A ] is defined to be the induced subgraph consisting of all edges with both endpoints in A𝐴Aitalic_A. Further, given disjoint subsets A,BβŠ‚V𝐴𝐡𝑉A,B\subset Vitalic_A , italic_B βŠ‚ italic_V of vertices, G⁒[A,B]𝐺𝐴𝐡G[A,B]italic_G [ italic_A , italic_B ] is defined to be the bipartite subgraph of G𝐺Gitalic_G consisting of all edges between A𝐴Aitalic_A and B𝐡Bitalic_B.

Given a matching M𝑀Mitalic_M in G𝐺Gitalic_G, an augmenting path is a simple path starting and ending at different vertices, such that the first and the last vertices are unmatched in M𝑀Mitalic_M, and the edges of the path alternate between not belonging to M𝑀Mitalic_M and belonging to M𝑀Mitalic_M.

Given a vector b𝑏bitalic_b of integer capacities of dimension |V⁒(G)|𝑉𝐺|V(G)|| italic_V ( italic_G ) |, a b𝑏bitalic_b-matching in G𝐺Gitalic_G is a multi-set F𝐹Fitalic_F of edges in G𝐺Gitalic_G such that each vertex v∈V𝑣𝑉v\in Vitalic_v ∈ italic_V appears no more than bvsubscript𝑏𝑣b_{v}italic_b start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT times as an endpoint of an edge in F𝐹Fitalic_F.

Given a graph G𝐺Gitalic_G and a permutation Ο€πœ‹\piitalic_Ο€ over its edges, GMM⁒(G,Ο€)GMMπΊπœ‹\textup{GMM}(G,\pi)GMM ( italic_G , italic_Ο€ ) is used to refer to the unique matching M𝑀Mitalic_M obtained by the following process. We let M𝑀Mitalic_M be initialized as empty, and consider the edges of G𝐺Gitalic_G one by one according to the permutation Ο€πœ‹\piitalic_Ο€. We add an edge to the matching M𝑀Mitalic_M if none of its endpoints are already matched in M𝑀Mitalic_M. A random greedy maximal matching, i.e., RGMM⁒(G)RGMM𝐺\textup{RGMM}(G)RGMM ( italic_G ) is the matching obtained by picking a permutation Ο€πœ‹\piitalic_Ο€ uniformly at random and outputting GMM⁒(G,Ο€)GMMπΊπœ‹\textup{GMM}(G,\pi)GMM ( italic_G , italic_Ο€ ).

Proposition 3.1 ([Beh21]).

There exists an algorithm that, given adjacency list access to a graphΒ G𝐺Gitalic_G of average degree d𝑑ditalic_d, for a random vertex v𝑣vitalic_v and a random permutation Ο€πœ‹\piitalic_Ο€, determines if v𝑣vitalic_v is matched in GMM⁒(G,Ο€)GMMπΊπœ‹\textup{GMM}(G,\pi)GMM ( italic_G , italic_Ο€ ) in O~⁒(d)~𝑂𝑑\widetilde{O}(d)over~ start_ARG italic_O end_ARG ( italic_d ) expected time.

Given the problem of maximizing a function f:D→ℝ:𝑓→𝐷ℝf:D\rightarrow\mathbb{R}italic_f : italic_D β†’ blackboard_R defined over a domain D𝐷Ditalic_D, with optimal value fβˆ—superscript𝑓f^{*}italic_f start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT, an (Ξ±,Ξ²)𝛼𝛽(\alpha,\beta)( italic_Ξ± , italic_Ξ² )-multiplicative-additive approximation of fβˆ—superscript𝑓f^{*}italic_f start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT is a solution s∈D𝑠𝐷s\in Ditalic_s ∈ italic_D such that (fβˆ—/Ξ±)βˆ’Ξ²β‰€f⁒(s)≀fβˆ—superscript𝑓𝛼𝛽𝑓𝑠superscript𝑓(f^{*}/\alpha)-\beta\leq f(s)\leq f^{*}( italic_f start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT / italic_Ξ± ) - italic_Ξ² ≀ italic_f ( italic_s ) ≀ italic_f start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT.

4 Algorithm for Bipartite Graphs

We begin by describing our algorithm for bipartite graphs. We focus on implementing an algorithm with a multiplicative-additive approximation guarantee. Also, we assume that we have access to the adjacency list of the graph. These assumptions will help us avoid certain complications and challenges that arise when working with general graphs, the adjacency matrix model, or when trying to obtain a multiplicative approximation guarantee. To lift these assumptions, we can leverage strong tools and methods from the literature, which, with slight modifications, can be applied here. This section contains the main novelties of our approach and proofs. Our algorithm for bipartite graphs can be seen as a translation and implementation of a two-pass streaming algorithm, which we discuss in the next subsection.

4.1 Two-Pass Streaming Algorithm for Bipartite Graphs

Our starting point is the two-pass streaming algorithm which is described in AlgorithmΒ 1. This algorithm, or its variations, has appeared in previous works on designing streaming or dynamic algorithms for maximum matching [KN21, BKSW23, Beh23]. In words, the first pass of the algorithm only finds a maximal matching M𝑀Mitalic_M. In the second pass, the algorithm finds a maximal b𝑏bitalic_b-matching B𝐡Bitalic_B in G⁒[V⁒(M),Vβˆ–V⁒(M)]𝐺𝑉𝑀𝑉𝑉𝑀G[V(M),V\setminus V(M)]italic_G [ italic_V ( italic_M ) , italic_V βˆ– italic_V ( italic_M ) ], where V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ) is the set of vertices matched by M𝑀Mitalic_M. The capacities of vertices in V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ) and in Vβˆ–V⁒(M)𝑉𝑉𝑀V\setminus V(M)italic_V βˆ– italic_V ( italic_M ) for the b𝑏bitalic_b-matching are kπ‘˜kitalic_k and k⁒bπ‘˜π‘kbitalic_k italic_b, respectively. Moreover, in the second pass of the algorithm, when an edge (u,v)𝑒𝑣(u,v)( italic_u , italic_v ) arrives in the stream, we add multiple copies of the edge to the subgraph B𝐡Bitalic_B, as long as doing so does not violate the capacity constraints.

1
2Parameter: let b=1+2𝑏12b=1+\sqrt{2}italic_b = 1 + square-root start_ARG 2 end_ARG and kπ‘˜kitalic_k be an integer larger than 1b⁒Ρ31𝑏superscriptπœ€3\frac{1}{b\varepsilon^{3}}divide start_ARG 1 end_ARG start_ARG italic_b italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG.
3First Pass: M←←𝑀absentM\leftarrowitalic_M ← maximal matching of G𝐺Gitalic_G. β–·β–·\trianglerightβ–· Finding maximal matching
4Second Pass: β–·β–·\trianglerightβ–· Finding b𝑏bitalic_b-matching
5Let B=βˆ…π΅B=\emptysetitalic_B = βˆ….
6forΒ (u,v)∈G⁒[V⁒(M),V⁒(M)Β―]𝑒𝑣𝐺𝑉𝑀¯𝑉𝑀(u,v)\in G[V(M),\overline{V(M)}]( italic_u , italic_v ) ∈ italic_G [ italic_V ( italic_M ) , overΒ― start_ARG italic_V ( italic_M ) end_ARG ] where u∈V⁒(M)𝑒𝑉𝑀u\in V(M)italic_u ∈ italic_V ( italic_M )Β do
7Β Β Β Β Β Β  whileΒ degB⁑(u)<ksubscriptdegreeπ΅π‘’π‘˜\deg_{B}(u)<kroman_deg start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ( italic_u ) < italic_k and degB⁑(v)<⌈k⁒bβŒ‰subscriptdegreeπ΅π‘£π‘˜π‘\deg_{B}(v)<{\left\lceil{kb}\right\rceil}roman_deg start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ( italic_v ) < ⌈ italic_k italic_b βŒ‰Β do
8Β Β Β Β Β Β Β Β Β Β Β Β  B←Bβˆͺ(u,v)←𝐡𝐡𝑒𝑣B\leftarrow B\cup{(u,v)}italic_B ← italic_B βˆͺ ( italic_u , italic_v ). β–·β–·\trianglerightβ–· We allow multi edges
9Β Β Β Β Β Β 
10
11return (1βˆ’1/b)β‹…|M|+1/(k⁒b)β‹…|B|β‹…11𝑏𝑀⋅1π‘˜π‘π΅(1-1/b)\cdot|M|+1/(kb)\cdot|B|( 1 - 1 / italic_b ) β‹… | italic_M | + 1 / ( italic_k italic_b ) β‹… | italic_B |.
AlgorithmΒ 1 Two-pass Streaming Algorithm for Bipartite Graphs

Intuitively, the algorithm tries to find length-3 augmenting paths using the b𝑏bitalic_b-matching that it finds in the second pass. The following lemma shows the approximation guarantee of AlgorithmΒ 1.

Lemma 4.1 (Lemma 3.3 inΒ [BKSW23]).

For any Ρ∈(0,1)πœ€01\varepsilon\in(0,1)italic_Ξ΅ ∈ ( 0 , 1 ), the output of AlgorithmΒ 1 is a (2βˆ’2βˆ’Ξ΅)22πœ€(2-\sqrt{2}-\varepsilon)( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ )-approximation for maximum matching of G𝐺Gitalic_G.

4.2 Sublinear Time Implementation of AlgorithmΒ 1

In this section, we demonstrate how to implement a modification of AlgorithmΒ 1 in the sublinear time model, as outlined in SectionΒ 2.

Sparsification:

In order to be able to use two levels of recursive oracle calls, we need to sparsify the graph. We first sample O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) edges and construct a maximal matching on the sampled edges to sparsify the induced subgraph of unmatched vertices. This sparsification step is formalized in AlgorithmΒ 2. In LemmaΒ 4.3, we show that if we sample enough edges, then vertices that remain unmatched after this phase have an induced degree of n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG. This step is very similar to the algorithm ofΒ [CKK20, Appendix A] for approximating a maximal matching.

1 Parameter: let c=2⁒nβ‹…log⁑n𝑐⋅2𝑛𝑛c=2\sqrt{n}\cdot\log nitalic_c = 2 square-root start_ARG italic_n end_ARG β‹… roman_log italic_n be the sparsification parameter that controls the number of edges that the algorithm samples.
2Mβ†βˆ…β†π‘€M\leftarrow\emptysetitalic_M ← βˆ…
3forΒ v∈V𝑣𝑉v\in Vitalic_v ∈ italic_VΒ do
4Β Β Β Β Β Β  ifΒ vβˆ‰V⁒(M)𝑣𝑉𝑀v\notin V(M)italic_v βˆ‰ italic_V ( italic_M )Β then
5Β Β Β Β Β Β Β Β Β Β Β Β  Sample c𝑐citalic_c vertices u1,…,ucsubscript𝑒1…subscript𝑒𝑐u_{1},\ldots,u_{c}italic_u start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_u start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT from N⁒(v)𝑁𝑣N(v)italic_N ( italic_v ).
6Β Β Β Β Β Β Β Β Β Β Β Β forΒ i←1⁒…⁒c←𝑖1…𝑐i\leftarrow 1\ldots citalic_i ← 1 … italic_cΒ do
7Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  ifΒ uiβˆ‰V⁒(M)subscript𝑒𝑖𝑉𝑀u_{i}\notin V(M)italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT βˆ‰ italic_V ( italic_M )Β then
8Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β  M←Mβˆͺ{(v,ui)}←𝑀𝑀𝑣subscript𝑒𝑖M\leftarrow M\cup\{(v,u_{i})\}italic_M ← italic_M βˆͺ { ( italic_v , italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) }
9Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β break;
10Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β 
11Β Β Β Β Β Β Β Β Β Β Β Β 
12Β Β Β Β Β Β 
13
14return M𝑀Mitalic_M
AlgorithmΒ 2 Sparsification of the Induced Subgraph of Unmatched Vertices
Claim 4.2.

AlgorithmΒ 2 runs in O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time.

Proof.

For each vertex v𝑣vitalic_v in the graph, the algorithm samples O~⁒(n)~𝑂𝑛\widetilde{O}(\sqrt{n})over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG ) vertices from the adjacency list of the vertex v𝑣vitalic_v if it is not matched by the time the algorithm processes the vertex in Line 3. Thus, the total running time is at most O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ). ∎

Lemma 4.3.

With high probability, we have Δ⁒(G⁒[Vβˆ–V⁒(M)])≀nΔ𝐺delimited-[]𝑉𝑉𝑀𝑛\Delta(G[V\setminus V(M)])\leq\sqrt{n}roman_Ξ” ( italic_G [ italic_V βˆ– italic_V ( italic_M ) ] ) ≀ square-root start_ARG italic_n end_ARG.

Proof.

We will show that for every v∈V𝑣𝑉v\in Vitalic_v ∈ italic_V, the probability that v∈Vβˆ–V⁒(M)𝑣𝑉𝑉𝑀v\in V\setminus V(M)italic_v ∈ italic_V βˆ– italic_V ( italic_M ) and the degree of v𝑣vitalic_v in G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] is larger than n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG is at most 1/n21superscript𝑛21/n^{2}1 / italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. The lemma then follows by a union bound over all v∈V𝑣𝑉v\in Vitalic_v ∈ italic_V.

Consider the moment before v𝑣vitalic_v is processed. Assume that at this time, still v∈Vβˆ–V⁒(M)𝑣𝑉𝑉𝑀v\in V\setminus V(M)italic_v ∈ italic_V βˆ– italic_V ( italic_M ) and the degree of v𝑣vitalic_v in G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] is larger than n𝑛\sqrt{n}square-root start_ARG italic_n end_ARG. Then, each of the c𝑐citalic_c samples has a probability of at least n/n𝑛𝑛\sqrt{n}/nsquare-root start_ARG italic_n end_ARG / italic_n to be one of the unmatched neighbors, in which case v𝑣vitalic_v will become matched. Thus the probability that v𝑣vitalic_v remains unmatched after it is processed is at most

(1βˆ’1n)c=(1βˆ’1n)2⁒n⁒log⁑n≀(1e)2⁒log⁑n=1n2.superscript11𝑛𝑐superscript11𝑛2𝑛𝑛superscript1𝑒2𝑛1superscript𝑛2\displaystyle\left(1-\frac{1}{\sqrt{n}}\right)^{c}=\left(1-\frac{1}{\sqrt{n}}% \right)^{2\sqrt{n}\log n}\leq\left(\frac{1}{e}\right)^{2\log n}=\frac{1}{n^{2}}.( 1 - divide start_ARG 1 end_ARG start_ARG square-root start_ARG italic_n end_ARG end_ARG ) start_POSTSUPERSCRIPT italic_c end_POSTSUPERSCRIPT = ( 1 - divide start_ARG 1 end_ARG start_ARG square-root start_ARG italic_n end_ARG end_ARG ) start_POSTSUPERSCRIPT 2 square-root start_ARG italic_n end_ARG roman_log italic_n end_POSTSUPERSCRIPT ≀ ( divide start_ARG 1 end_ARG start_ARG italic_e end_ARG ) start_POSTSUPERSCRIPT 2 roman_log italic_n end_POSTSUPERSCRIPT = divide start_ARG 1 end_ARG start_ARG italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG .

∎

Augmenting M𝑀Mitalic_M using nested oracles:

Now we are ready to present our sublinear algorithm. After sparsifying the graph by finding a partially maximal matching M𝑀Mitalic_M, we try to augment M𝑀Mitalic_M in two different ways that we have outlined in SectionΒ 2 and which are formalized in AlgorithmΒ 3. See also FigureΒ 1.

For simplicity, we pretend that k⁒bβˆˆβ„€π‘˜π‘β„€kb\in\mathbb{Z}italic_k italic_b ∈ blackboard_Z throughout the paper. Since kπ‘˜kitalic_k is an arbitrarily large constant, using k⁒bπ‘˜π‘kbitalic_k italic_b instead of ⌈k⁒bβŒ‰π‘˜π‘\lceil kb\rceil⌈ italic_k italic_b βŒ‰ leads to an arbitrarily small error in the calculations. We also note that a maximal b𝑏bitalic_b-matching can be viewed as maximal matching if we duplicate vertices multiple times.

First, we try to augment the matching by designing a maximal matching oracle for G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] vertices and then another oracle for finding a b𝑏bitalic_b-matching between the vertices newly matched using the new oracle and unmatched vertices. Let Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT be the maximal matching of G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] that can be obtained by the oracle. We try to augment it with a b𝑏bitalic_b-matching B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT.

However, it is also possible that |Mβ€²|superscript𝑀′|M^{\prime}|| italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | is small compared to |M|𝑀|M|| italic_M |, which implies that in the previous case, the b𝑏bitalic_b-matching does not help to find many augmenting paths, as the size of the maximal matching that we try to augment is too small. To account for this case, the algorithm also finds a b𝑏bitalic_b-matching B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT between V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ) and Vβˆ–V⁒(M)𝑉𝑉𝑀V\setminus V(M)italic_V βˆ– italic_V ( italic_M ).

Note that because the algorithm finds the initial matching M𝑀Mitalic_M explicitly, checking whether a vertex belongs to V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ) or not can be done in O⁒(1)𝑂1O(1)italic_O ( 1 ) time.

1
2Run AlgorithmΒ 2 with c=2⁒n⁒log⁑n𝑐2𝑛𝑛c=2\sqrt{n}\log nitalic_c = 2 square-root start_ARG italic_n end_ARG roman_log italic_n and let M𝑀Mitalic_M be its output.
3Let ΞΌMβ€²subscriptπœ‡superscript𝑀′\mu_{M^{\prime}}italic_ΞΌ start_POSTSUBSCRIPT italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT and ΞΌB1subscriptπœ‡subscript𝐡1\mu_{B_{1}}italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT be the estimate of the size of a random greedy maximal matching Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT in G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] and the estimate of the size of a random greedy maximal b𝑏bitalic_b-matching B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT in G⁒[V⁒(Mβ€²),Vβˆ–V⁒(M)βˆ–V⁒(Mβ€²)]𝐺𝑉superscript𝑀′𝑉𝑉𝑀𝑉superscript𝑀′G[V(M^{\prime}),V\setminus V(M)\setminus V(M^{\prime})]italic_G [ italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) , italic_V βˆ– italic_V ( italic_M ) βˆ– italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) ] by running AlgorithmΒ 4. β–·β–·\trianglerightβ–· Case 1
4Let ΞΌ1:=|M|+(1βˆ’1b)⁒μMβ€²+1k⁒b⁒μB1assignsubscriptπœ‡1𝑀11𝑏subscriptπœ‡superscript𝑀′1π‘˜π‘subscriptπœ‡subscript𝐡1\mu_{1}:=|M|+(1-\frac{1}{b})\mu_{M^{\prime}}+\frac{1}{kb}\mu_{B_{1}}italic_ΞΌ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT := | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) italic_ΞΌ start_POSTSUBSCRIPT italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. β–·β–·\trianglerightβ–· Case 1
5Let ΞΌB2subscriptπœ‡subscript𝐡2\mu_{B_{2}}italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT be the estimate of the size of a random greedy maximal b𝑏bitalic_b-matching B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in G⁒[V⁒(M),Vβˆ–V⁒(M)]𝐺𝑉𝑀𝑉𝑉𝑀G[V(M),V\setminus V(M)]italic_G [ italic_V ( italic_M ) , italic_V βˆ– italic_V ( italic_M ) ] by running AlgorithmΒ 5. β–·β–·\trianglerightβ–· Case 2
6Let ΞΌ2:=(1βˆ’1b)⁒|M|+1k⁒b⁒μB2assignsubscriptπœ‡211𝑏𝑀1π‘˜π‘subscriptπœ‡subscript𝐡2\mu_{2}:=(1-\frac{1}{b})|M|+\frac{1}{kb}\mu_{B_{2}}italic_ΞΌ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT := ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. β–·β–·\trianglerightβ–· Case 2
7return max⁑(ΞΌ1,ΞΌ2)subscriptπœ‡1subscriptπœ‡2\max(\mu_{1},\mu_{2})roman_max ( italic_ΞΌ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ΞΌ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ).
AlgorithmΒ 3 Sublinear Time Algorithm for Bipartite Graphs with Access to the Adjacency List (see FigureΒ 1)
1 Let b=1+2𝑏12b=1+\sqrt{2}italic_b = 1 + square-root start_ARG 2 end_ARG and kπ‘˜kitalic_k be an integer larger than 1b⁒Ρ31𝑏superscriptπœ€3\frac{1}{b\varepsilon^{3}}divide start_ARG 1 end_ARG start_ARG italic_b italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG.
2Let Ο€πœ‹\piitalic_Ο€ be a random permutation over edges of G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] and let Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT be its corresponding random greedy maximal matching.
3Let G1:=G⁒[A,B]assignsubscript𝐺1𝐺𝐴𝐡G_{1}:=G[A,B]italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT := italic_G [ italic_A , italic_B ] where A=V⁒(Mβ€²)𝐴𝑉superscript𝑀′A=V(M^{\prime})italic_A = italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) and B=Vβˆ–V⁒(M)βˆ–V⁒(Mβ€²)𝐡𝑉𝑉𝑀𝑉superscript𝑀′B=V\setminus V(M)\setminus V(M^{\prime})italic_B = italic_V βˆ– italic_V ( italic_M ) βˆ– italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ).
4Let G1β€²subscriptsuperscript𝐺′1G^{\prime}_{1}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT be a bipartite graph obtained from G1subscript𝐺1G_{1}italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT by adding kπ‘˜kitalic_k copies of vertices in A𝐴Aitalic_A and k⁒bπ‘˜π‘kbitalic_k italic_b copies of vertices in B𝐡Bitalic_B. Further, if there exists an edge between u∈A𝑒𝐴u\in Aitalic_u ∈ italic_A and v∈B𝑣𝐡v\in Bitalic_v ∈ italic_B in G1subscript𝐺1G_{1}italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, we add edges between all copies of u𝑒uitalic_u and v𝑣vitalic_v in G1β€²subscriptsuperscript𝐺′1G^{\prime}_{1}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT.
5r←6⁒log3⁑nβ†π‘Ÿ6superscript3𝑛r\leftarrow 6\log^{3}nitalic_r ← 6 roman_log start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT italic_n.
6Run the algorithm of PropositionΒ 3.1 for rπ‘Ÿritalic_r random vertices and fixed permutation Ο€πœ‹\piitalic_Ο€ in G⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ] and let Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the indicator if the i𝑖iitalic_i-th vertex is matched.
7Let Xβ†βˆ‘i=1rXi←𝑋superscriptsubscript𝑖1π‘Ÿsubscript𝑋𝑖X\leftarrow\sum_{i=1}^{r}X_{i}italic_X ← βˆ‘ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ΞΌM′←n⁒X2⁒rβˆ’n2⁒log⁑n←subscriptπœ‡superscript𝑀′𝑛𝑋2π‘Ÿπ‘›2𝑛\mu_{M^{\prime}}\leftarrow\frac{nX}{2r}-\frac{n}{2\log n}italic_ΞΌ start_POSTSUBSCRIPT italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ← divide start_ARG italic_n italic_X end_ARG start_ARG 2 italic_r end_ARG - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG.
8Run nested oracles of PropositionΒ 3.1 for rπ‘Ÿritalic_r random vertices and fixed permutation Ο€πœ‹\piitalic_Ο€ in G1β€²subscriptsuperscript𝐺′1G^{\prime}_{1}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and let Yisubscriptπ‘Œπ‘–Y_{i}italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the indicator if the i𝑖iitalic_i-th vertex is matched.
9Let Yβ†βˆ‘i=1rYiβ†π‘Œsuperscriptsubscript𝑖1π‘Ÿsubscriptπ‘Œπ‘–Y\leftarrow\sum_{i=1}^{r}Y_{i}italic_Y ← βˆ‘ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ΞΌB1←n⁒Y2⁒rβˆ’n2⁒log⁑n←subscriptπœ‡subscript𝐡1π‘›π‘Œ2π‘Ÿπ‘›2𝑛\mu_{B_{1}}\leftarrow\frac{nY}{2r}-\frac{n}{2\log n}italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ← divide start_ARG italic_n italic_Y end_ARG start_ARG 2 italic_r end_ARG - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG.
10return ΞΌMβ€²subscriptπœ‡superscript𝑀′\mu_{M^{\prime}}italic_ΞΌ start_POSTSUBSCRIPT italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT and ΞΌB1subscriptπœ‡subscript𝐡1\mu_{B_{1}}italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT.
AlgorithmΒ 4 Algorithm for the First Case
1 Let b=1+2𝑏12b=1+\sqrt{2}italic_b = 1 + square-root start_ARG 2 end_ARG and kπ‘˜kitalic_k be an integer larger than 1b⁒Ρ31𝑏superscriptπœ€3\frac{1}{b\varepsilon^{3}}divide start_ARG 1 end_ARG start_ARG italic_b italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG.
2Let G2:=G⁒[A,B]assignsubscript𝐺2𝐺𝐴𝐡G_{2}:=G[A,B]italic_G start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT := italic_G [ italic_A , italic_B ] where A=V⁒(M)𝐴𝑉𝑀A=V(M)italic_A = italic_V ( italic_M ) and B=Vβˆ–V⁒(M)𝐡𝑉𝑉𝑀B=V\setminus V(M)italic_B = italic_V βˆ– italic_V ( italic_M ).
3Let G2β€²subscriptsuperscript𝐺′2G^{\prime}_{2}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT be a bipartite graph obtained from G2subscript𝐺2G_{2}italic_G start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT by adding kπ‘˜kitalic_k copies of vertices in A𝐴Aitalic_A and k⁒bπ‘˜π‘kbitalic_k italic_b copies of vertices in B𝐡Bitalic_B. Further, if there exists an edge between u∈A𝑒𝐴u\in Aitalic_u ∈ italic_A and v∈B𝑣𝐡v\in Bitalic_v ∈ italic_B in G2subscript𝐺2G_{2}italic_G start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, we add edges between all copies of u𝑒uitalic_u and v𝑣vitalic_v in G2β€²subscriptsuperscript𝐺′2G^{\prime}_{2}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT.
4r←6⁒log3⁑nβ†π‘Ÿ6superscript3𝑛r\leftarrow 6\log^{3}nitalic_r ← 6 roman_log start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT italic_n.
5Run the algorithm of PropositionΒ 3.1 for rπ‘Ÿritalic_r random vertices and permutations in G2β€²subscriptsuperscript𝐺′2G^{\prime}_{2}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and let Zisubscript𝑍𝑖Z_{i}italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the indicator that shows if the i𝑖iitalic_i-th vertex is matched.
6Let Zβ†βˆ‘i=1rZi←𝑍superscriptsubscript𝑖1π‘Ÿsubscript𝑍𝑖Z\leftarrow\sum_{i=1}^{r}Z_{i}italic_Z ← βˆ‘ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_r end_POSTSUPERSCRIPT italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and ΞΌB2←n⁒Z2⁒rβˆ’n2⁒log⁑n←subscriptπœ‡subscript𝐡2𝑛𝑍2π‘Ÿπ‘›2𝑛\mu_{B_{2}}\leftarrow\frac{nZ}{2r}-\frac{n}{2\log n}italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ← divide start_ARG italic_n italic_Z end_ARG start_ARG 2 italic_r end_ARG - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG.
7return ΞΌB2subscriptπœ‡subscript𝐡2\mu_{B_{2}}italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT.
AlgorithmΒ 5 Algorithm for the Second Case

Implementation details of the algorithm:

There are some technical details in the implementation of the algorithm that are not included in the pseudocode:

  • β€’

    Access to the adjacency list of an induced subgraph: Both in AlgorithmΒ 4 and AlgorithmΒ 5, we run the algorithm of PropositionΒ 3.1 for some induced subgraph of G𝐺Gitalic_G (for example, line 5 of AlgorithmΒ 5). However, PropositionΒ 3.1 works with access to the adjacency list of the input graph. To address this issue, we leverage an important property of the algorithm in PropositionΒ 3.1, namely that it only needs to find a random neighbor of a given vertex at each step of its execution. Now, whenever the algorithm requires a random neighbor of vertex v𝑣vitalic_v in a subgraph H𝐻Hitalic_H, it queries random neighbors in the original graph G𝐺Gitalic_G until it finds one that belongs to H𝐻Hitalic_H. This increases the running time of the algorithm, as it may take ω⁒(1)πœ”1\omega(1)italic_Ο‰ ( 1 ) time to locate a valid neighbor in H𝐻Hitalic_H, which we will formally bound in our runtime analysis.

  • β€’

    Nested oracles in line 8 of AlgorithmΒ 4: Unlike M𝑀Mitalic_M, we do not explicitly construct the maximal matching Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT in AlgorithmΒ 4. Moreover, the edges of the subgraph G1β€²superscriptsubscript𝐺1β€²G_{1}^{\prime}italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT connect vertices matched by Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT with those that remain unmatched in either M𝑀Mitalic_M or Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT. Hence, to verify whether an edge belongs to G1β€²superscriptsubscript𝐺1β€²G_{1}^{\prime}italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT, we need to determine whether its endpoints are matched or unmatched in Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT by accessing the algorithm of PropositionΒ 3.1. This again increases the algorithm’s runtime, which we will also formally bound in our runtime analysis.

4.3 Analysis of the Approximation Ratio

The following lemma, an analogue of ObservationΒ 3.1 inΒ [BKSW23], substantiates the soundness of the estimates ΞΌ1subscriptπœ‡1\mu_{1}italic_ΞΌ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and ΞΌ2subscriptπœ‡2\mu_{2}italic_ΞΌ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT produced in AlgorithmΒ 3.

Lemma 4.4.

Let M𝑀Mitalic_M, Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT, B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT be as in the description of AlgorithmΒ 3. Then

  • β€’

    μ⁒(G)β‰₯μ⁒(MβˆͺMβ€²βˆͺB1)β‰₯|M|+(1βˆ’1b)⁒|Mβ€²|+1k⁒b⁒|B1|πœ‡πΊπœ‡π‘€superscript𝑀′subscript𝐡1𝑀11𝑏superscript𝑀′1π‘˜π‘subscript𝐡1\mu(G)\geq\mu(M\cup M^{\prime}\cup B_{1})\geq|M|+(1-\frac{1}{b})|M^{\prime}|+% \frac{1}{kb}|B_{1}|italic_ΞΌ ( italic_G ) β‰₯ italic_ΞΌ ( italic_M βˆͺ italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) β‰₯ | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT |,

  • β€’

    μ⁒(G)β‰₯μ⁒(MβˆͺB2)β‰₯(1βˆ’1b)⁒|M|+1k⁒b⁒|B2|πœ‡πΊπœ‡π‘€subscript𝐡211𝑏𝑀1π‘˜π‘subscript𝐡2\mu(G)\geq\mu(M\cup B_{2})\geq(1-\frac{1}{b})|M|+\frac{1}{kb}|B_{2}|italic_ΞΌ ( italic_G ) β‰₯ italic_ΞΌ ( italic_M βˆͺ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) β‰₯ ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT |.

Proof.

Since G𝐺Gitalic_G is bipartite, by integrality of the bipartite matching polytope, it is enough to exhibit a fractional matching xπ‘₯xitalic_x of the appropriate value βˆ‘exesubscript𝑒subscriptπ‘₯𝑒\sum_{e}x_{e}βˆ‘ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT. For case 1, we set

xe={1e∈M,1βˆ’1be∈Mβ€²,1k⁒be∈B1.subscriptπ‘₯𝑒cases1𝑒𝑀11𝑏𝑒superscript𝑀′1π‘˜π‘π‘’subscript𝐡1x_{e}=\begin{cases}1&e\in M,\\ 1-\frac{1}{b}&e\in M^{\prime},\\ \frac{1}{kb}&e\in B_{1}.\end{cases}italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = { start_ROW start_CELL 1 end_CELL start_CELL italic_e ∈ italic_M , end_CELL end_ROW start_ROW start_CELL 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG end_CELL start_CELL italic_e ∈ italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT , end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG end_CELL start_CELL italic_e ∈ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT . end_CELL end_ROW

Note that M𝑀Mitalic_M, Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT and B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT are pairwise disjoint, and B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT has no edge to V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ). Therefore it is easy to verify that the degree constraints for xπ‘₯xitalic_x are satisfied. For case 2, we similarly set

xe={1βˆ’1be∈M,1k⁒be∈B2.subscriptπ‘₯𝑒cases11𝑏𝑒𝑀1π‘˜π‘π‘’subscript𝐡2x_{e}=\begin{cases}1-\frac{1}{b}&e\in M,\\ \frac{1}{kb}&e\in B_{2}.\end{cases}italic_x start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = { start_ROW start_CELL 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG end_CELL start_CELL italic_e ∈ italic_M , end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG end_CELL start_CELL italic_e ∈ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT . end_CELL end_ROW

∎

The following lemma states the (2βˆ’2)22(2-\sqrt{2})( 2 - square-root start_ARG 2 end_ARG )-approximation guarantee of the ”maximal matching plus b𝑏bitalic_b-matching” approach obtained in prior work, for both bipartite and general graphs. We will invoke it for appropriate subgraphs of G𝐺Gitalic_G to obtain our guarantee.

Lemma 4.5.

Let Gβ€²superscript𝐺′G^{\prime}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT be a graph, Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT be any maximal matching in Gβ€²superscript𝐺′G^{\prime}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT, and B𝐡Bitalic_B be a maximal b𝑏bitalic_b-matching in G′⁒[V⁒(Mβ€²),V⁒(Gβ€²)βˆ–V⁒(Mβ€²)]superscript𝐺′𝑉superscript𝑀′𝑉superscript𝐺′𝑉superscript𝑀′G^{\prime}[V(M^{\prime}),V(G^{\prime})\setminus V(M^{\prime})]italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT [ italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) , italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) βˆ– italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) ] for vertex capacities kπ‘˜kitalic_k for vertices in V⁒(Mβ€²)𝑉superscript𝑀′V(M^{\prime})italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) and k⁒bπ‘˜π‘kbitalic_k italic_b for vertices in V⁒(Gβ€²)βˆ–V⁒(Mβ€²)𝑉superscript𝐺′𝑉superscript𝑀′V(G^{\prime})\setminus V(M^{\prime})italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) βˆ– italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ), where k>1b⁒Ρ3π‘˜1𝑏superscriptπœ€3k>\frac{1}{b\varepsilon^{3}}italic_k > divide start_ARG 1 end_ARG start_ARG italic_b italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG and b=1+2𝑏12b=1+\sqrt{2}italic_b = 1 + square-root start_ARG 2 end_ARG. Then:

  • β€’

    for bipartite Gβ€²superscript𝐺′G^{\prime}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT, we have μ⁒(Mβ€²βˆͺB)β‰₯(1βˆ’1b)⁒|Mβ€²|+1k⁒b⁒|B|β‰₯(2βˆ’2βˆ’Ξ΅)⁒μ⁒(Gβ€²)πœ‡superscript𝑀′𝐡11𝑏superscript𝑀′1π‘˜π‘π΅22πœ€πœ‡superscript𝐺′\mu(M^{\prime}\cup B)\geq(1-\frac{1}{b})|M^{\prime}|+\frac{1}{kb}|B|\geq(2-% \sqrt{2}-\varepsilon)\mu(G^{\prime})italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B ) β‰₯ ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B | β‰₯ ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) italic_ΞΌ ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ),

  • β€’

    for general Gβ€²superscript𝐺′G^{\prime}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT, if B𝐡Bitalic_B is a random greedy maximal b𝑏bitalic_b-matching, we still have E⁑[μ⁒(Mβ€²βˆͺB)]β‰₯(2βˆ’2βˆ’Ξ΅)⁒μ⁒(Gβ€²)Eπœ‡superscript𝑀′𝐡22πœ€πœ‡superscript𝐺′\operatorname{\textbf{E}}[\mu(M^{\prime}\cup B)]\geq(2-\sqrt{2}-\varepsilon)% \mu(G^{\prime})E [ italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B ) ] β‰₯ ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) italic_ΞΌ ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ).

Proof.

The first statement is the same as Lemma 4.1, and shown as Lemma 3.3 in [BKSW23]. The second statement is shown as Claim 5.5 in [ABR24]. ∎

The following lemma is the crux of our approximation ratio analysis.

Lemma 4.6.

In a bipartite graph G𝐺Gitalic_G, let M𝑀Mitalic_M, Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT, B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT be as in the description of AlgorithmΒ 3. Then

max⁑[|M|+(1βˆ’1b)⁒|Mβ€²|+1k⁒b⁒|B1|,(1βˆ’1b)⁒|M|+1k⁒b⁒|B2|]β‰₯0.5109⋅μ⁒(G).𝑀11𝑏superscript𝑀′1π‘˜π‘subscript𝐡111𝑏𝑀1π‘˜π‘subscript𝐡2β‹…0.5109πœ‡πΊ\max\left[|M|+(1-\frac{1}{b})|M^{\prime}|+\frac{1}{kb}|B_{1}|,(1-\frac{1}{b})|% M|+\frac{1}{kb}|B_{2}|\right]\geq 0.5109\cdot\mu(G).roman_max [ | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | , ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | ] β‰₯ 0.5109 β‹… italic_ΞΌ ( italic_G ) .
Proof.

Fix a maximum matching Mβˆ—superscript𝑀M^{*}italic_M start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT in G𝐺Gitalic_G, and partition its edges as follows (see FigureΒ 2):

  • β€’

    M2βˆ—superscriptsubscript𝑀2M_{2}^{*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT are those with both endpoints in V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ),

  • β€’

    M2βˆ—β€²M_{2}^{{}^{\prime}*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT are those with one endpoint in V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ) and the other in V⁒(Mβ€²)𝑉superscript𝑀′V(M^{\prime})italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ),

  • β€’

    M2βˆ—β€²β€²M_{2}^{{}^{\prime\prime}*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT are those with both endpoints in V⁒(Mβ€²)𝑉superscript𝑀′V(M^{\prime})italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ),

  • β€’

    M1βˆ—superscriptsubscript𝑀1M_{1}^{*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT are those with one endpoint in V⁒(M)𝑉𝑀V(M)italic_V ( italic_M ) and the other in Vβˆ–V⁒(M)βˆ–V⁒(Mβ€²)𝑉𝑉𝑀𝑉superscript𝑀′V\setminus V(M)\setminus V(M^{\prime})italic_V βˆ– italic_V ( italic_M ) βˆ– italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ),

  • β€’

    M1βˆ—β€²M_{1}^{{}^{\prime}*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT are those with one endpoint in V⁒(Mβ€²)𝑉superscript𝑀′V(M^{\prime})italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) and the other in Vβˆ–V⁒(M)βˆ–V⁒(Mβ€²)𝑉𝑉𝑀𝑉superscript𝑀′V\setminus V(M)\setminus V(M^{\prime})italic_V βˆ– italic_V ( italic_M ) βˆ– italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ).

M2βˆ—superscriptsubscript𝑀2M_{2}^{*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM𝑀Mitalic_MMβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPTB1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTB2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPTG⁒[Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑉𝑀G[V\setminus V(M)]italic_G [ italic_V βˆ– italic_V ( italic_M ) ]G⁒[V⁒(M)]βˆͺG⁒[V⁒(M),Vβˆ–V⁒(M)]𝐺delimited-[]𝑉𝑀𝐺𝑉𝑀𝑉𝑉𝑀G[V(M)]\cup G[V(M),V\setminus V(M)]italic_G [ italic_V ( italic_M ) ] βˆͺ italic_G [ italic_V ( italic_M ) , italic_V βˆ– italic_V ( italic_M ) ]M2βˆ—superscriptsubscript𝑀2M_{2}^{*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM1βˆ—superscriptsubscript𝑀1M_{1}^{*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM1βˆ—superscriptsubscript𝑀1M_{1}^{*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM1βˆ—superscriptsubscript𝑀1M_{1}^{*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM1βˆ—superscriptsubscript𝑀1M_{1}^{*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM2βˆ—β€²β€²M_{2}^{{}^{\prime\prime}*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM2βˆ—β€²M_{2}^{{}^{\prime}*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM1βˆ—β€²M_{1}^{{}^{\prime}*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPTM1βˆ—β€²M_{1}^{{}^{\prime}*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT
Figure 2: Illustration for the proof of LemmaΒ 4.6. The thick edges belong to a fixed maximum matching Mβˆ—superscript𝑀M^{*}italic_M start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT. Each of them is labeled with its partition (M2βˆ—superscriptsubscript𝑀2M_{2}^{*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT, M2βˆ—β€²M_{2}^{{}^{\prime}*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT, M2βˆ—β€²β€²M_{2}^{{}^{\prime\prime}*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT, M1βˆ—superscriptsubscript𝑀1M_{1}^{*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT, or M1βˆ—β€²M_{1}^{{}^{\prime}*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT). The two subgraphs for which we invoke LemmaΒ 4.5 are marked (case 1 – highlighted in light blue, case 2 – dashed line).

Since MβˆͺM′𝑀superscript𝑀′M\cup M^{\prime}italic_M βˆͺ italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT is maximal, Mβˆ—superscript𝑀M^{*}italic_M start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT cannot have edges with no endpoints in V⁒(M)βˆͺV⁒(Mβ€²)𝑉𝑀𝑉superscript𝑀′V(M)\cup V(M^{\prime})italic_V ( italic_M ) βˆͺ italic_V ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ). We thus have

μ⁒(G)=|Mβˆ—|=|M1βˆ—|+|M1βˆ—β€²|+|M2βˆ—|+|M2βˆ—β€²|+|M2βˆ—β€²β€²|.\mu(G)=|M^{*}|=|M_{1}^{*}|+|M_{1}^{{}^{\prime}*}|+|M_{2}^{*}|+|M_{2}^{{}^{% \prime}*}|+|M_{2}^{{}^{\prime\prime}*}|.italic_ΞΌ ( italic_G ) = | italic_M start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | = | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | . (1)

Also, by maximality of Mβˆ—superscript𝑀M^{*}italic_M start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT and simple counting,

|M|𝑀\displaystyle|M|| italic_M | =|M2βˆ—|+12⁒|M1βˆ—|+12⁒|M2βˆ—β€²|.\displaystyle=|M_{2}^{*}|+\frac{1}{2}|M_{1}^{*}|+\frac{1}{2}|M_{2}^{{}^{\prime% }*}|.= | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG 2 end_ARG | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG 2 end_ARG | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | . (2)

We will use LemmaΒ 4.5 to analyze both cases in AlgorithmΒ 3. For case 1, we can use Gβ€²=G⁒[Vβˆ–V⁒(M)]superscript𝐺′𝐺delimited-[]𝑉𝑉𝑀G^{\prime}=G[V\setminus V(M)]italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT = italic_G [ italic_V βˆ– italic_V ( italic_M ) ]; in this graph, Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT is a maximal matching, and B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is a b𝑏bitalic_b-matching as in the statement of LemmaΒ 4.5 (see FigureΒ 2), thus we have

(1βˆ’1b)⁒|Mβ€²|+1k⁒b⁒|B1|β‰₯(2βˆ’2βˆ’Ξ΅)⁒μ⁒(G⁒[Vβˆ–V⁒(M)])β‰₯(2βˆ’2βˆ’Ξ΅)⁒(|M1βˆ—β€²|+|M2βˆ—β€²β€²|)(1-\frac{1}{b})|M^{\prime}|+\frac{1}{kb}|B_{1}|\geq(2-\sqrt{2}-\varepsilon)\mu% (G[V\setminus V(M)])\geq(2-\sqrt{2}-\varepsilon)(|M_{1}^{{}^{\prime}*}|+|M_{2}% ^{{}^{\prime\prime}*}|)( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | β‰₯ ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) italic_ΞΌ ( italic_G [ italic_V βˆ– italic_V ( italic_M ) ] ) β‰₯ ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | )

since M1βˆ—β€²βˆͺM2βˆ—β€²β€²M_{1}^{{}^{\prime}*}\cup M_{2}^{{}^{\prime\prime}*}italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT βˆͺ italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT is a matching in Gβ€²=G⁒[Vβˆ–V⁒(M)]superscript𝐺′𝐺delimited-[]𝑉𝑉𝑀G^{\prime}=G[V\setminus V(M)]italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT = italic_G [ italic_V βˆ– italic_V ( italic_M ) ]. With 2 this gives

|M|+(1βˆ’1b)⁒|Mβ€²|+1k⁒b⁒|B1|β‰₯|M2βˆ—|+12⁒|M1βˆ—|+12⁒|M2βˆ—β€²|+(2βˆ’2βˆ’Ξ΅)⁒(|M1βˆ—β€²|+|M2βˆ—β€²β€²|).|M|+(1-\frac{1}{b})|M^{\prime}|+\frac{1}{kb}|B_{1}|\geq|M_{2}^{*}|+\frac{1}{2}% |M_{1}^{*}|+\frac{1}{2}|M_{2}^{{}^{\prime}*}|+(2-\sqrt{2}-\varepsilon)(|M_{1}^% {{}^{\prime}*}|+|M_{2}^{{}^{\prime\prime}*}|).| italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | β‰₯ | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG 2 end_ARG | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG 2 end_ARG | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) . (3)

For case 2, we can instead use Gβ€²=G⁒[V⁒(M)]βˆͺG⁒[V⁒(M),Vβˆ–V⁒(M)]superscript𝐺′𝐺delimited-[]𝑉𝑀𝐺𝑉𝑀𝑉𝑉𝑀G^{\prime}=G[V(M)]\cup G[V(M),V\setminus V(M)]italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT = italic_G [ italic_V ( italic_M ) ] βˆͺ italic_G [ italic_V ( italic_M ) , italic_V βˆ– italic_V ( italic_M ) ]; in this graph, M𝑀Mitalic_M is a maximal matching, and B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is a b𝑏bitalic_b-matching as in the statement of LemmaΒ 4.5 (see FigureΒ 2), thus

(1βˆ’1b)⁒|M|+1k⁒b⁒|B2|β‰₯(2βˆ’2βˆ’Ξ΅)⁒μ⁒(Gβ€²)β‰₯(2βˆ’2βˆ’Ξ΅)⁒(|M2βˆ—|+|M2βˆ—β€²|+|M1βˆ—|)(1-\frac{1}{b})|M|+\frac{1}{kb}|B_{2}|\geq(2-\sqrt{2}-\varepsilon)\mu(G^{% \prime})\geq(2-\sqrt{2}-\varepsilon)(|M_{2}^{*}|+|M_{2}^{{}^{\prime}*}|+|M_{1}% ^{*}|)( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | β‰₯ ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) italic_ΞΌ ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) β‰₯ ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) (4)

since M2βˆ—βˆͺM2βˆ—β€²βˆͺM1βˆ—M_{2}^{*}\cup M_{2}^{{}^{\prime}*}\cup M_{1}^{*}italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT βˆͺ italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT βˆͺ italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT is a matching in Gβ€²superscript𝐺′G^{\prime}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT. Using 3 andΒ 4, we can bound the left-hand side of this lemma’s statement as

max⁑[…]…\displaystyle\max\left[...\right]roman_max [ … ] β‰₯max[|M2βˆ—|+12|M1βˆ—|+12|M2βˆ—β€²|+(2βˆ’2βˆ’Ξ΅)(|M1βˆ—β€²|+|M2βˆ—β€²β€²|),\displaystyle\geq\max[|M_{2}^{*}|+\frac{1}{2}|M_{1}^{*}|+\frac{1}{2}|M_{2}^{{}% ^{\prime}*}|+(2-\sqrt{2}-\varepsilon)(|M_{1}^{{}^{\prime}*}|+|M_{2}^{{}^{% \prime\prime}*}|),β‰₯ roman_max [ | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG 2 end_ARG | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG 2 end_ARG | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) ,
(2βˆ’2βˆ’Ξ΅)(|M2βˆ—|+|M2βˆ—β€²|+|M1βˆ—|)]\displaystyle\qquad\quad\ \;(2-\sqrt{2}-\varepsilon)(|M_{2}^{*}|+|M_{2}^{{}^{% \prime}*}|+|M_{1}^{*}|)]( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) ]
β‰₯…absent…\displaystyle\geq...β‰₯ …

We bound the maximum by a weighted average with weights β𝛽\betaitalic_Ξ² and 1βˆ’Ξ²1𝛽1-\beta1 - italic_Ξ² for some β∈[0,1]𝛽01\beta\in[0,1]italic_Ξ² ∈ [ 0 , 1 ] to be determined (max⁑(x,y)β‰₯β⁒x+(1βˆ’Ξ²)⁒yπ‘₯𝑦𝛽π‘₯1𝛽𝑦\max(x,y)\geq\beta x+(1-\beta)yroman_max ( italic_x , italic_y ) β‰₯ italic_Ξ² italic_x + ( 1 - italic_Ξ² ) italic_y):

……\displaystyle...… β‰₯|M2βˆ—|⁒(Ξ²+(2βˆ’2βˆ’Ξ΅)⁒(1βˆ’Ξ²))absentsuperscriptsubscript𝑀2𝛽22πœ€1𝛽\displaystyle\geq|M_{2}^{*}|(\beta+(2-\sqrt{2}-\varepsilon)(1-\beta))β‰₯ | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ( italic_Ξ² + ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( 1 - italic_Ξ² ) )
+(|M1βˆ—|+|M2βˆ—β€²|)⁒(Ξ²2+(2βˆ’2βˆ’Ξ΅)⁒(1βˆ’Ξ²))\displaystyle\qquad+(|M_{1}^{*}|+|M_{2}^{{}^{\prime}*}|)\left(\frac{\beta}{2}+% (2-\sqrt{2}-\varepsilon)(1-\beta)\right)+ ( | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) ( divide start_ARG italic_Ξ² end_ARG start_ARG 2 end_ARG + ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( 1 - italic_Ξ² ) )
+(|M1βˆ—β€²|+|M2βˆ—β€²β€²|)⁒(2βˆ’2βˆ’Ξ΅)⁒β\displaystyle\qquad+(|M_{1}^{{}^{\prime}*}|+|M_{2}^{{}^{\prime\prime}*}|)(2-% \sqrt{2}-\varepsilon)\beta+ ( | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) italic_Ξ²
β‰₯(|M2βˆ—|+|M1βˆ—|+|M2βˆ—β€²|)⁒(Ξ²2+(2βˆ’2βˆ’Ξ΅)⁒(1βˆ’Ξ²))+(|M1βˆ—β€²|+|M2βˆ—β€²β€²|)⁒(2βˆ’2βˆ’Ξ΅)⁒β\displaystyle\geq(|M_{2}^{*}|+|M_{1}^{*}|+|M_{2}^{{}^{\prime}*}|)\left(\frac{% \beta}{2}+(2-\sqrt{2}-\varepsilon)(1-\beta)\right)+(|M_{1}^{{}^{\prime}*}|+|M_% {2}^{{}^{\prime\prime}*}|)(2-\sqrt{2}-\varepsilon)\betaβ‰₯ ( | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) ( divide start_ARG italic_Ξ² end_ARG start_ARG 2 end_ARG + ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( 1 - italic_Ξ² ) ) + ( | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) italic_Ξ²
β‰₯(βˆ—)(|M2βˆ—|+|M1βˆ—|+|M2βˆ—β€²|)⁒γ+(|M1βˆ—β€²|+|M2βˆ—β€²β€²|)⁒γ\displaystyle\stackrel{{\scriptstyle(*)}}{{\geq}}(|M_{2}^{*}|+|M_{1}^{*}|+|M_{% 2}^{{}^{\prime}*}|)\gamma+(|M_{1}^{{}^{\prime}*}|+|M_{2}^{{}^{\prime\prime}*}|)\gammastart_RELOP SUPERSCRIPTOP start_ARG β‰₯ end_ARG start_ARG ( βˆ— ) end_ARG end_RELOP ( | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) italic_Ξ³ + ( | italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | + | italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT start_FLOATSUPERSCRIPT β€² β€² end_FLOATSUPERSCRIPT βˆ— end_POSTSUPERSCRIPT | ) italic_Ξ³
=(⁒1⁒)γ⋅μ⁒(G).superscriptitalic-(1italic-)absentβ‹…π›Ύπœ‡πΊ\displaystyle\stackrel{{\scriptstyle\eqref{eq1}}}{{=}}\gamma\cdot\mu(G).start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG italic_( italic_) end_ARG end_RELOP italic_Ξ³ β‹… italic_ΞΌ ( italic_G ) .

We want (βˆ—)(*)( βˆ— ) to hold for some γ𝛾\gammaitalic_Ξ³ (the approximation ratio) as large as possible. For (βˆ—)(*)( βˆ— ) to hold, we need to satisfy:

Ξ²2+(2βˆ’2βˆ’Ξ΅)⁒(1βˆ’Ξ²)𝛽222πœ€1𝛽\displaystyle\frac{\beta}{2}+(2-\sqrt{2}-\varepsilon)(1-\beta)divide start_ARG italic_Ξ² end_ARG start_ARG 2 end_ARG + ( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) ( 1 - italic_Ξ² ) β‰₯Ξ³,absent𝛾\displaystyle\geq\gamma,β‰₯ italic_Ξ³ ,
(2βˆ’2βˆ’Ξ΅)⁒β22πœ€π›½\displaystyle(2-\sqrt{2}-\varepsilon)\beta( 2 - square-root start_ARG 2 end_ARG - italic_Ξ΅ ) italic_Ξ² β‰₯Ξ³.absent𝛾\displaystyle\geq\gamma.β‰₯ italic_Ξ³ .

By solving for Ξ²2+(2βˆ’2)⁒(1βˆ’Ξ²)=(2βˆ’2)⁒β𝛽2221𝛽22𝛽\frac{\beta}{2}+(2-\sqrt{2})(1-\beta)=(2-\sqrt{2})\betadivide start_ARG italic_Ξ² end_ARG start_ARG 2 end_ARG + ( 2 - square-root start_ARG 2 end_ARG ) ( 1 - italic_Ξ² ) = ( 2 - square-root start_ARG 2 end_ARG ) italic_Ξ² we get Ξ²=12+2⁒217𝛽122217\beta=\frac{12+2\sqrt{2}}{17}italic_Ξ² = divide start_ARG 12 + 2 square-root start_ARG 2 end_ARG end_ARG start_ARG 17 end_ARG and Ξ³=4⁒(5βˆ’2⁒2)17βˆ’O⁒(Ξ΅)>0.5109𝛾452217π‘‚πœ€0.5109\gamma=\frac{4(5-2\sqrt{2})}{17}-O(\varepsilon)>0.5109italic_Ξ³ = divide start_ARG 4 ( 5 - 2 square-root start_ARG 2 end_ARG ) end_ARG start_ARG 17 end_ARG - italic_O ( italic_Ξ΅ ) > 0.5109. ∎

Lemma 4.7.

Let max⁑(ΞΌ1,ΞΌ2)subscriptπœ‡1subscriptπœ‡2\max(\mu_{1},\mu_{2})roman_max ( italic_ΞΌ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ΞΌ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) be the output of AlgorithmΒ 3. With high probability, it holds that

0.5109⋅μ⁒(G)βˆ’o⁒(n)≀max⁑(ΞΌ1,ΞΌ2)≀μ⁒(G).β‹…0.5109πœ‡πΊπ‘œπ‘›subscriptπœ‡1subscriptπœ‡2πœ‡πΊ\displaystyle 0.5109\cdot\mu(G)-o(n)\leq\max(\mu_{1},\mu_{2})\leq\mu(G).0.5109 β‹… italic_ΞΌ ( italic_G ) - italic_o ( italic_n ) ≀ roman_max ( italic_ΞΌ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ΞΌ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ≀ italic_ΞΌ ( italic_G ) .

The proof of LemmaΒ 4.7 is routine.

Proof.

By LemmaΒ 4.6, we have

0.5109⋅μ⁒(G)≀max⁑[|M|+(1βˆ’1b)⁒E⁑|Mβ€²|+1k⁒b⁒E⁑|B1|,(1βˆ’1b)⁒|M|+1k⁒b⁒E⁑|B2|]≀μ⁒(G).β‹…0.5109πœ‡πΊπ‘€11𝑏Esuperscript𝑀′1π‘˜π‘Esubscript𝐡111𝑏𝑀1π‘˜π‘Esubscript𝐡2πœ‡πΊ\displaystyle 0.5109\cdot\mu(G)\leq\max\left[|M|+(1-\frac{1}{b})\operatorname{% \textbf{E}}|M^{\prime}|+\frac{1}{kb}\operatorname{\textbf{E}}|B_{1}|,(1-\frac{% 1}{b})|M|+\frac{1}{kb}\operatorname{\textbf{E}}|B_{2}|\right]\leq\mu(G).0.5109 β‹… italic_ΞΌ ( italic_G ) ≀ roman_max [ | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG E | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | , ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG E | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | ] ≀ italic_ΞΌ ( italic_G ) . (5)

Let Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, Yisubscriptπ‘Œπ‘–Y_{i}italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and Zisubscript𝑍𝑖Z_{i}italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be as defined in AlgorithmΒ 4 and AlgorithmΒ 5. By the definition of Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, Yisubscriptπ‘Œπ‘–Y_{i}italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and Zisubscript𝑍𝑖Z_{i}italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT we have

E⁑[Xi]=Pr⁑[Xi=1]=2⁒E⁑|Mβ€²|n,Esubscript𝑋𝑖Prsubscript𝑋𝑖12Esuperscript𝑀′𝑛\displaystyle\operatorname{\textbf{E}}[X_{i}]=\operatorname*{\textnormal{Pr}}[% X_{i}=1]=\frac{2\operatorname{\textbf{E}}|M^{\prime}|}{n},E [ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] = Prob [ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 ] = divide start_ARG 2 E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | end_ARG start_ARG italic_n end_ARG ,
E⁑[Yi]=Pr⁑[Yi=1]=2⁒E⁑|B1|n,Esubscriptπ‘Œπ‘–Prsubscriptπ‘Œπ‘–12Esubscript𝐡1𝑛\displaystyle\operatorname{\textbf{E}}[Y_{i}]=\operatorname*{\textnormal{Pr}}[% Y_{i}=1]=\frac{2\operatorname{\textbf{E}}|B_{1}|}{n},E [ italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] = Prob [ italic_Y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 ] = divide start_ARG 2 E | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | end_ARG start_ARG italic_n end_ARG ,
E⁑[Zi]=Pr⁑[Zi=1]=2⁒E⁑|B2|n.Esubscript𝑍𝑖Prsubscript𝑍𝑖12Esubscript𝐡2𝑛\displaystyle\operatorname{\textbf{E}}[Z_{i}]=\operatorname*{\textnormal{Pr}}[% Z_{i}=1]=\frac{2\operatorname{\textbf{E}}|B_{2}|}{n}.E [ italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] = Prob [ italic_Z start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 ] = divide start_ARG 2 E | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | end_ARG start_ARG italic_n end_ARG .

Thus,

E⁑[X]=2⁒rβ‹…E⁑|Mβ€²|n,E𝑋⋅2π‘ŸEsuperscript𝑀′𝑛\displaystyle\operatorname{\textbf{E}}[X]=\frac{2r\cdot\operatorname{\textbf{E% }}|M^{\prime}|}{n},E [ italic_X ] = divide start_ARG 2 italic_r β‹… E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | end_ARG start_ARG italic_n end_ARG ,
E⁑[Y]=2⁒rβ‹…E⁑|B1|n,Eπ‘Œβ‹…2π‘ŸEsubscript𝐡1𝑛\displaystyle\operatorname{\textbf{E}}[Y]=\frac{2r\cdot\operatorname{\textbf{E% }}|B_{1}|}{n},E [ italic_Y ] = divide start_ARG 2 italic_r β‹… E | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | end_ARG start_ARG italic_n end_ARG ,
E⁑[Z]=2⁒rβ‹…E⁑|B2|n.E𝑍⋅2π‘ŸEsubscript𝐡2𝑛\displaystyle\operatorname{\textbf{E}}[Z]=\frac{2r\cdot\operatorname{\textbf{E% }}|B_{2}|}{n}.E [ italic_Z ] = divide start_ARG 2 italic_r β‹… E | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | end_ARG start_ARG italic_n end_ARG .

Then, using Chernoff bound, we obtain

Pr⁑[|Xβˆ’E⁑[X]|β‰₯6⁒E⁑[X]⁒log⁑n]≀2⁒exp⁑(6⁒E⁑[X]⁒log⁑n3⁒E⁑[X])=2n2,Pr𝑋E𝑋6E𝑋𝑛26E𝑋𝑛3E𝑋2superscript𝑛2\displaystyle\operatorname*{\textnormal{Pr}}[|X-\operatorname{\textbf{E}}[X]|% \geq\sqrt{6\operatorname{\textbf{E}}[X]\log n}]\leq 2\exp\left(\frac{6% \operatorname{\textbf{E}}[X]\log n}{3\operatorname{\textbf{E}}[X]}\right)=% \frac{2}{n^{2}},Prob [ | italic_X - E [ italic_X ] | β‰₯ square-root start_ARG 6 E [ italic_X ] roman_log italic_n end_ARG ] ≀ 2 roman_exp ( divide start_ARG 6 E [ italic_X ] roman_log italic_n end_ARG start_ARG 3 E [ italic_X ] end_ARG ) = divide start_ARG 2 end_ARG start_ARG italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ,
Pr⁑[|Yβˆ’E⁑[Y]|β‰₯6⁒E⁑[Y]⁒log⁑n]≀2⁒exp⁑(6⁒E⁑[Y]⁒log⁑n3⁒E⁑[Y])=2n2,Prπ‘ŒEπ‘Œ6Eπ‘Œπ‘›26Eπ‘Œπ‘›3Eπ‘Œ2superscript𝑛2\displaystyle\operatorname*{\textnormal{Pr}}[|Y-\operatorname{\textbf{E}}[Y]|% \geq\sqrt{6\operatorname{\textbf{E}}[Y]\log n}]\leq 2\exp\left(\frac{6% \operatorname{\textbf{E}}[Y]\log n}{3\operatorname{\textbf{E}}[Y]}\right)=% \frac{2}{n^{2}},Prob [ | italic_Y - E [ italic_Y ] | β‰₯ square-root start_ARG 6 E [ italic_Y ] roman_log italic_n end_ARG ] ≀ 2 roman_exp ( divide start_ARG 6 E [ italic_Y ] roman_log italic_n end_ARG start_ARG 3 E [ italic_Y ] end_ARG ) = divide start_ARG 2 end_ARG start_ARG italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ,
Pr⁑[|Zβˆ’E⁑[Z]|β‰₯6⁒E⁑[Z]⁒log⁑n]≀2⁒exp⁑(6⁒E⁑[Z]⁒log⁑n3⁒E⁑[Z])=2n2.Pr𝑍E𝑍6E𝑍𝑛26E𝑍𝑛3E𝑍2superscript𝑛2\displaystyle\operatorname*{\textnormal{Pr}}[|Z-\operatorname{\textbf{E}}[Z]|% \geq\sqrt{6\operatorname{\textbf{E}}[Z]\log n}]\leq 2\exp\left(\frac{6% \operatorname{\textbf{E}}[Z]\log n}{3\operatorname{\textbf{E}}[Z]}\right)=% \frac{2}{n^{2}}.Prob [ | italic_Z - E [ italic_Z ] | β‰₯ square-root start_ARG 6 E [ italic_Z ] roman_log italic_n end_ARG ] ≀ 2 roman_exp ( divide start_ARG 6 E [ italic_Z ] roman_log italic_n end_ARG start_ARG 3 E [ italic_Z ] end_ARG ) = divide start_ARG 2 end_ARG start_ARG italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG .

Therefore, with a probability of 1βˆ’2/n212superscript𝑛21-2/n^{2}1 - 2 / italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT,

ΞΌMβ€²=n⁒X2⁒rβˆ’n2⁒log⁑nsubscriptπœ‡superscript𝑀′𝑛𝑋2π‘Ÿπ‘›2𝑛\displaystyle\mu_{M^{\prime}}=\frac{nX}{2r}-\frac{n}{2\log n}italic_ΞΌ start_POSTSUBSCRIPT italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = divide start_ARG italic_n italic_X end_ARG start_ARG 2 italic_r end_ARG - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG ∈n⁒(E⁑[X]Β±6⁒E⁑[X]⁒log⁑n)2⁒rβˆ’n2⁒log⁑nabsent𝑛plus-or-minusE𝑋6E𝑋𝑛2π‘Ÿπ‘›2𝑛\displaystyle\in\frac{n(\operatorname{\textbf{E}}[X]\pm\sqrt{6\operatorname{% \textbf{E}}[X]\log n})}{2r}-\frac{n}{2\log n}∈ divide start_ARG italic_n ( E [ italic_X ] Β± square-root start_ARG 6 E [ italic_X ] roman_log italic_n end_ARG ) end_ARG start_ARG 2 italic_r end_ARG - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG
=E⁑|Mβ€²|βˆ’n2⁒log⁑nΒ±3⁒n⁒E⁑|Mβ€²|⁒log⁑n2⁒rabsentplus-or-minusEsuperscript𝑀′𝑛2𝑛3𝑛Esuperscript𝑀′𝑛2π‘Ÿ\displaystyle=\operatorname{\textbf{E}}|M^{\prime}|-\frac{n}{2\log n}\pm\sqrt{% \frac{3n\operatorname{\textbf{E}}|M^{\prime}|\log n}{2r}}= E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG Β± square-root start_ARG divide start_ARG 3 italic_n E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | roman_log italic_n end_ARG start_ARG 2 italic_r end_ARG end_ARG
=E⁑|Mβ€²|βˆ’n2⁒log⁑nΒ±n⁒E⁑|Mβ€²|4⁒log2⁑nabsentplus-or-minusEsuperscript𝑀′𝑛2𝑛𝑛Esuperscript𝑀′4superscript2𝑛\displaystyle=\operatorname{\textbf{E}}|M^{\prime}|-\frac{n}{2\log n}\pm\sqrt{% \frac{n\operatorname{\textbf{E}}|M^{\prime}|}{4\log^{2}n}}= E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG Β± square-root start_ARG divide start_ARG italic_n E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | end_ARG start_ARG 4 roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n end_ARG end_ARG (SinceΒ r=6⁒log3⁑n)SinceΒ r=6⁒log3⁑n\displaystyle(\text{Since $r=6\log^{3}n$})( Since italic_r = 6 roman_log start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT italic_n )
=E⁑|Mβ€²|βˆ’n2⁒log⁑nΒ±n2⁒log⁑n.absentplus-or-minusEsuperscript𝑀′𝑛2𝑛𝑛2𝑛\displaystyle=\operatorname{\textbf{E}}|M^{\prime}|-\frac{n}{2\log n}\pm\frac{% n}{2\log n}.= E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG Β± divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG .

By repeating the same argument for Yπ‘ŒYitalic_Y and Z𝑍Zitalic_Z, we get

ΞΌB1∈E⁑|B1|βˆ’n2⁒log⁑nΒ±n2⁒log⁑n,subscriptπœ‡subscript𝐡1plus-or-minusEsubscript𝐡1𝑛2𝑛𝑛2𝑛\displaystyle\mu_{B_{1}}\in\operatorname{\textbf{E}}|B_{1}|-\frac{n}{2\log n}% \pm\frac{n}{2\log n},italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ E | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG Β± divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG ,
ΞΌB2∈E⁑|B2|βˆ’n2⁒log⁑nΒ±n2⁒log⁑n.subscriptπœ‡subscript𝐡2plus-or-minusEsubscript𝐡2𝑛2𝑛𝑛2𝑛\displaystyle\mu_{B_{2}}\in\operatorname{\textbf{E}}|B_{2}|-\frac{n}{2\log n}% \pm\frac{n}{2\log n}.italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ E | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | - divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG Β± divide start_ARG italic_n end_ARG start_ARG 2 roman_log italic_n end_ARG .

Plugging 5 in the bounds obtained above implies

max⁑(ΞΌ1,ΞΌ2)subscriptπœ‡1subscriptπœ‡2\displaystyle\max(\mu_{1},\mu_{2})roman_max ( italic_ΞΌ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ΞΌ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) =max⁑[|M|+(1βˆ’1b)⁒μMβ€²+1k⁒b⁒μB1,(1βˆ’1b)⁒|M|+1k⁒b⁒μB2]absent𝑀11𝑏subscriptπœ‡superscript𝑀′1π‘˜π‘subscriptπœ‡subscript𝐡111𝑏𝑀1π‘˜π‘subscriptπœ‡subscript𝐡2\displaystyle=\max\left[|M|+(1-\frac{1}{b})\mu_{M^{\prime}}+\frac{1}{kb}\mu_{B% _{1}},(1-\frac{1}{b})|M|+\frac{1}{kb}\mu_{B_{2}}\right]= roman_max [ | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) italic_ΞΌ start_POSTSUBSCRIPT italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ]
≀max⁑[|M|+(1βˆ’1b)⁒E⁑|Mβ€²|+1k⁒b⁒E⁑|B1|,(1βˆ’1b)⁒|M|+1k⁒b⁒E⁑|B2|]absent𝑀11𝑏Esuperscript𝑀′1π‘˜π‘Esubscript𝐡111𝑏𝑀1π‘˜π‘Esubscript𝐡2\displaystyle\leq\max\left[|M|+(1-\frac{1}{b})\operatorname{\textbf{E}}|M^{% \prime}|+\frac{1}{kb}\operatorname{\textbf{E}}|B_{1}|,(1-\frac{1}{b})|M|+\frac% {1}{kb}\operatorname{\textbf{E}}|B_{2}|\right]≀ roman_max [ | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG E | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | , ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG E | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | ]
≀μ⁒(G).absentπœ‡πΊ\displaystyle\leq\mu(G).≀ italic_ΞΌ ( italic_G ) .

On the other hand, we have

max⁑(ΞΌ1,ΞΌ2)subscriptπœ‡1subscriptπœ‡2\displaystyle\max(\mu_{1},\mu_{2})roman_max ( italic_ΞΌ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ΞΌ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) =max⁑[|M|+(1βˆ’1b)⁒μMβ€²+1k⁒b⁒μB1,(1βˆ’1b)⁒|M|+1k⁒b⁒μB2]absent𝑀11𝑏subscriptπœ‡superscript𝑀′1π‘˜π‘subscriptπœ‡subscript𝐡111𝑏𝑀1π‘˜π‘subscriptπœ‡subscript𝐡2\displaystyle=\max\left[|M|+(1-\frac{1}{b})\mu_{M^{\prime}}+\frac{1}{kb}\mu_{B% _{1}},(1-\frac{1}{b})|M|+\frac{1}{kb}\mu_{B_{2}}\right]= roman_max [ | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) italic_ΞΌ start_POSTSUBSCRIPT italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ]
β‰₯max⁑[|M|+(1βˆ’1b)⁒(E⁑|Mβ€²|βˆ’nlog⁑n)+1k⁒b⁒(E⁑|B1|βˆ’nlog⁑n),(1βˆ’1b)⁒|M|+1k⁒b⁒(E⁑|B2|βˆ’nlog⁑n)]absent𝑀11𝑏Esuperscript𝑀′𝑛𝑛1π‘˜π‘Esubscript𝐡1𝑛𝑛11𝑏𝑀1π‘˜π‘Esubscript𝐡2𝑛𝑛\displaystyle\geq\max\left[|M|+(1-\frac{1}{b})(\operatorname{\textbf{E}}|M^{% \prime}|-\frac{n}{\log n})+\frac{1}{kb}(\operatorname{\textbf{E}}|B_{1}|-\frac% {n}{\log n}),(1-\frac{1}{b})|M|+\frac{1}{kb}(\operatorname{\textbf{E}}|B_{2}|-% \frac{n}{\log n})\right]β‰₯ roman_max [ | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) ( E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | - divide start_ARG italic_n end_ARG start_ARG roman_log italic_n end_ARG ) + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG ( E | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | - divide start_ARG italic_n end_ARG start_ARG roman_log italic_n end_ARG ) , ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG ( E | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | - divide start_ARG italic_n end_ARG start_ARG roman_log italic_n end_ARG ) ]
β‰₯max⁑[|M|+(1βˆ’1b)⁒E⁑|Mβ€²|+1k⁒b⁒E⁑|B1|,(1βˆ’1b)⁒|M|+1k⁒b⁒E⁑|B2|]βˆ’2⁒nlog⁑nabsent𝑀11𝑏Esuperscript𝑀′1π‘˜π‘Esubscript𝐡111𝑏𝑀1π‘˜π‘Esubscript𝐡22𝑛𝑛\displaystyle\geq\max\left[|M|+(1-\frac{1}{b})\operatorname{\textbf{E}}|M^{% \prime}|+\frac{1}{kb}\operatorname{\textbf{E}}|B_{1}|,(1-\frac{1}{b})|M|+\frac% {1}{kb}\operatorname{\textbf{E}}|B_{2}|\right]-\frac{2n}{\log n}β‰₯ roman_max [ | italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) E | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG E | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | , ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG E | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | ] - divide start_ARG 2 italic_n end_ARG start_ARG roman_log italic_n end_ARG
β‰₯0.5109⋅μ⁒(G)βˆ’2⁒nlog⁑nabsentβ‹…0.5109πœ‡πΊ2𝑛𝑛\displaystyle\geq 0.5109\cdot\mu(G)-\frac{2n}{\log n}β‰₯ 0.5109 β‹… italic_ΞΌ ( italic_G ) - divide start_ARG 2 italic_n end_ARG start_ARG roman_log italic_n end_ARG

which completes the proof. ∎

4.4 Running Time Analysis

For the analysis of the running time, we use a crucial property of random greedy maximal matching algorithm that was proved recently in [MRTV25].

Proposition 4.8 (Lemma 5.14 of [MRTV25]).

Let Q⁒(v)𝑄𝑣Q(v)italic_Q ( italic_v ) be the expected number of times that the oracle queries an adjacent edge of v𝑣vitalic_v if we start the oracle calls from a random vertex, for a random permutation over the edges of the graph G𝐺Gitalic_G when running random greedy maximal matching. It holds that Q⁒(v)=O~⁒(degG⁑(v)/|V⁒(G)|)𝑄𝑣~𝑂subscriptdegree𝐺𝑣𝑉𝐺Q(v)=\widetilde{O}(\deg_{G}(v)/|V(G)|)italic_Q ( italic_v ) = over~ start_ARG italic_O end_ARG ( roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) / | italic_V ( italic_G ) | ).

Proposition 4.9 (Corollary 5.15 of [MRTV25]).

Let T⁒(v)𝑇𝑣T(v)italic_T ( italic_v ) be the expected time needed to return a random neighbor of vertex v𝑣vitalic_v. Then, the expected time to run the random greedy maximal matching oracle for a random vertex and a random permutation in graph G𝐺Gitalic_G is βˆ‘v∈V⁒(G)O~⁒(T⁒(v)β‹…degG⁑(v)/|V⁒(G)|)subscript𝑣𝑉𝐺~𝑂⋅𝑇𝑣subscriptdegree𝐺𝑣𝑉𝐺\sum_{v\in V(G)}\widetilde{O}(T(v)\cdot\deg_{G}(v)/|V(G)|)βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_V ( italic_G ) end_POSTSUBSCRIPT over~ start_ARG italic_O end_ARG ( italic_T ( italic_v ) β‹… roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) / | italic_V ( italic_G ) | ).

Lemma 4.10.

AlgorithmΒ 4 runs in O~⁒(d¯⁒(G)β‹…n)~𝑂⋅¯𝑑𝐺𝑛\widetilde{O}(\bar{d}(G)\cdot\sqrt{n})over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) β‹… square-root start_ARG italic_n end_ARG ) time in expectation.

Proof.

Without loss of generality, we assume that |Vβˆ–V⁒(M)|=Ω⁒(n)𝑉𝑉𝑀Ω𝑛|V\setminus V(M)|=\Omega(n)| italic_V βˆ– italic_V ( italic_M ) | = roman_Ξ© ( italic_n ); otherwise, AlgorithmΒ 3 does not need to execute AlgorithmΒ 4, as the estimate from AlgorithmΒ 5 suffices.

The proof consists of two parts: first we show that line 6 of the algorithm can be implemented in O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) expected time, and then we prove that line 8 of the algorithm can be implemented in O~⁒(d¯⁒(G)β‹…n)~𝑂⋅¯𝑑𝐺𝑛\widetilde{O}(\bar{d}(G)\cdot\sqrt{n})over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) β‹… square-root start_ARG italic_n end_ARG ) expected time.

For the first part, let Gβ€²β€²=G⁒[Vβˆ–V⁒(M)]superscript𝐺′′𝐺delimited-[]𝑉𝑉𝑀G^{\prime\prime}=G[V\setminus V(M)]italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT = italic_G [ italic_V βˆ– italic_V ( italic_M ) ] and let v𝑣vitalic_v be a vertex in Gβ€²β€²superscript𝐺′′G^{\prime\prime}italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT. In the adjacency list of v𝑣vitalic_v in the original graph, which contains degG⁑(v)subscriptdegree𝐺𝑣\deg_{G}(v)roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) elements, only degG′′⁑(v)subscriptdegreesuperscript𝐺′′𝑣\deg_{G^{\prime\prime}}(v)roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) of them are neighbors in Gβ€²β€²superscript𝐺′′G^{\prime\prime}italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT. Thus, to find a neighbor in Gβ€²β€²superscript𝐺′′G^{\prime\prime}italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT, we need to randomly sample T⁒(v)=degG⁑(v)/degG′′⁑(v)𝑇𝑣subscriptdegree𝐺𝑣subscriptdegreesuperscript𝐺′′𝑣T(v)=\deg_{G}(v)/\deg_{G^{\prime\prime}}(v)italic_T ( italic_v ) = roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) / roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) elements from v𝑣vitalic_v’s adjacency list in expectation. Consequently, using PropositionΒ 4.9, the expected time required to execute the random greedy maximal matching oracle for a randomly chosen vertex and permutation in Gβ€²β€²superscript𝐺′′G^{\prime\prime}italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT is

βˆ‘v∈V⁒(Gβ€²β€²)O~⁒(T⁒(v)β‹…degG′′⁑(v)|V⁒(Gβ€²β€²)|)=βˆ‘v∈V⁒(Gβ€²β€²)O~⁒((degG⁑(v)/degG′′⁑(v))β‹…degG′′⁑(v)|V⁒(Gβ€²β€²)|)subscript𝑣𝑉superscript𝐺′′~𝑂⋅𝑇𝑣subscriptdegreesuperscript𝐺′′𝑣𝑉superscript𝐺′′subscript𝑣𝑉superscript𝐺′′~𝑂⋅subscriptdegree𝐺𝑣subscriptdegreesuperscript𝐺′′𝑣subscriptdegreesuperscript𝐺′′𝑣𝑉superscript𝐺′′\displaystyle\sum_{v\in V(G^{\prime\prime})}\widetilde{O}\left(\frac{T(v)\cdot% \deg_{G^{\prime\prime}}(v)}{|V(G^{\prime\prime})|}\right)=\sum_{v\in V(G^{% \prime\prime})}\widetilde{O}\left(\frac{(\deg_{G}(v)/\deg_{G^{\prime\prime}}(v% ))\cdot\deg_{G^{\prime\prime}}(v)}{|V(G^{\prime\prime})|}\right)βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT over~ start_ARG italic_O end_ARG ( divide start_ARG italic_T ( italic_v ) β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) | end_ARG ) = βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT over~ start_ARG italic_O end_ARG ( divide start_ARG ( roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) / roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) ) β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) | end_ARG )
=βˆ‘v∈V⁒(Gβ€²β€²)O~⁒(degG⁑(v)|V⁒(Gβ€²β€²)|)=O~⁒(|E⁒(G)||V⁒(Gβ€²β€²)|)=O~⁒(|E⁒(G)||V⁒(G)|)=O~⁒(d¯⁒(G)).absentsubscript𝑣𝑉superscript𝐺′′~𝑂subscriptdegree𝐺𝑣𝑉superscript𝐺′′~𝑂𝐸𝐺𝑉superscript𝐺′′~𝑂𝐸𝐺𝑉𝐺~𝑂¯𝑑𝐺\displaystyle\qquad\qquad=\sum_{v\in V(G^{\prime\prime})}\widetilde{O}\left(% \frac{\deg_{G}(v)}{|V(G^{\prime\prime})|}\right)=\widetilde{O}\left(\frac{|E(G% )|}{|V(G^{\prime\prime})|}\right)=\widetilde{O}\left(\frac{|E(G)|}{|V(G)|}% \right)=\widetilde{O}(\bar{d}(G)).= βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT over~ start_ARG italic_O end_ARG ( divide start_ARG roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) | end_ARG ) = over~ start_ARG italic_O end_ARG ( divide start_ARG | italic_E ( italic_G ) | end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) | end_ARG ) = over~ start_ARG italic_O end_ARG ( divide start_ARG | italic_E ( italic_G ) | end_ARG start_ARG | italic_V ( italic_G ) | end_ARG ) = over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) .

In the algorithm, we choose a permutation Ο€πœ‹\piitalic_Ο€ and run the random greedy maximal matching for r=O~⁒(1)π‘Ÿ~𝑂1r=\widetilde{O}(1)italic_r = over~ start_ARG italic_O end_ARG ( 1 ) randomly chosen vertices. By linearity of expectation, the expected running time of the first part is O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ).

We prove the second part in a few steps. As a first step, for simplicity, assume that we have access to the adjacency list of G1β€²subscriptsuperscript𝐺′1G^{\prime}_{1}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and there is no need to run nested oracles. Then, using PropositionΒ 3.1, the expected running time of line 8 is bounded by O~⁒(d¯⁒(G1β€²))~𝑂¯𝑑subscriptsuperscript𝐺′1\widetilde{O}(\bar{d}(G^{\prime}_{1}))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ) for r=O~⁒(1)π‘Ÿ~𝑂1r=\widetilde{O}(1)italic_r = over~ start_ARG italic_O end_ARG ( 1 ) random permutations and random vertices.

Now, suppose that we have access to the adjacency list of Gβ€²β€²=G⁒[Vβˆ–V⁒(M)]superscript𝐺′′𝐺delimited-[]𝑉𝑉𝑀G^{\prime\prime}=G[V\setminus V(M)]italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT = italic_G [ italic_V βˆ– italic_V ( italic_M ) ] instead of G1β€²subscriptsuperscript𝐺′1G^{\prime}_{1}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. By PropositionΒ 4.9, the total expected runtime of the outer (b𝑏bitalic_b-matching) oracle is

O~⁒(βˆ‘v∈G1β€²Touter⁒(v)β‹…degG1′⁑(v)/|V⁒(G1β€²)|),~𝑂subscript𝑣subscriptsuperscript𝐺′1β‹…subscript𝑇outer𝑣subscriptdegreesubscriptsuperscript𝐺′1𝑣𝑉subscriptsuperscript𝐺′1\widetilde{O}\left(\sum_{v\in G^{\prime}_{1}}T_{\mathrm{outer}}(v)\cdot\deg_{G% ^{\prime}_{1}}(v)/|V(G^{\prime}_{1})|\right),over~ start_ARG italic_O end_ARG ( βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_T start_POSTSUBSCRIPT roman_outer end_POSTSUBSCRIPT ( italic_v ) β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) / | italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) | ) ,

where Touter⁒(v)subscript𝑇outer𝑣T_{\mathrm{outer}}(v)italic_T start_POSTSUBSCRIPT roman_outer end_POSTSUBSCRIPT ( italic_v ) is the expected time needed to find a random neighbor of v𝑣vitalic_v in G1β€²superscriptsubscript𝐺1β€²G_{1}^{\prime}italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT. To find such a neighbor, we sample neighbors w𝑀witalic_w of v𝑣vitalic_v in Gβ€²β€²superscript𝐺′′G^{\prime\prime}italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT and check whether w𝑀witalic_w is matched in Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT using the inner oracle. The expected number of these checks until a vertex w𝑀witalic_w with (v,w)∈E⁒(G1β€²)𝑣𝑀𝐸superscriptsubscript𝐺1β€²(v,w)\in E(G_{1}^{\prime})( italic_v , italic_w ) ∈ italic_E ( italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ) is found is O~⁒(degG′′⁑(v)/degG1′⁑(v))~𝑂subscriptdegreesuperscript𝐺′′𝑣subscriptdegreesubscriptsuperscript𝐺′1𝑣\widetilde{O}(\deg_{G^{\prime\prime}}(v)/\deg_{G^{\prime}_{1}}(v))over~ start_ARG italic_O end_ARG ( roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) / roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) ). The expected cost of each check is Ew:(v,w)∈E⁒(Gβ€²β€²)⁑[costinner⁒(w)]subscriptE:𝑀𝑣𝑀𝐸superscript𝐺′′subscriptcostinner𝑀\operatorname{\textbf{E}}_{w:(v,w)\in E(G^{\prime\prime})}[\mathrm{cost}_{% \mathrm{inner}}(w)]E start_POSTSUBSCRIPT italic_w : ( italic_v , italic_w ) ∈ italic_E ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT [ roman_cost start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_w ) ], where costinner⁒(w)subscriptcostinner𝑀\mathrm{cost}_{\mathrm{inner}}(w)roman_cost start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_w ) is the runtime of invoking the inner oracle to check if w𝑀witalic_w is matched in Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT. Putting this together, the expected total runtime is

O~⁒(βˆ‘v∈G1β€²Touter⁒(v)β‹…degG1′⁑(v)|V⁒(G1β€²)|)~𝑂subscript𝑣subscriptsuperscript𝐺′1β‹…subscript𝑇outer𝑣subscriptdegreesubscriptsuperscript𝐺′1𝑣𝑉subscriptsuperscript𝐺′1\displaystyle\widetilde{O}\left(\frac{\sum_{v\in G^{\prime}_{1}}T_{\mathrm{% outer}}(v)\cdot\deg_{G^{\prime}_{1}}(v)}{|V(G^{\prime}_{1})|}\right)over~ start_ARG italic_O end_ARG ( divide start_ARG βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_T start_POSTSUBSCRIPT roman_outer end_POSTSUBSCRIPT ( italic_v ) β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) | end_ARG ) =O~⁒(1|V⁒(G1β€²)|β’βˆ‘v∈G1β€²degG′′⁑(v)degG1′⁑(v)β‹…βˆ‘w:(v,w)∈E⁒(Gβ€²β€²)costinner⁒(w)degG′′⁑(v)β‹…degG1′⁑(v))absent~𝑂1𝑉subscriptsuperscript𝐺′1subscript𝑣subscriptsuperscript𝐺′1β‹…subscriptdegreesuperscript𝐺′′𝑣subscriptdegreesubscriptsuperscript𝐺′1𝑣subscript:𝑀𝑣𝑀𝐸superscript𝐺′′subscriptcostinner𝑀subscriptdegreesuperscript𝐺′′𝑣subscriptdegreesubscriptsuperscript𝐺′1𝑣\displaystyle=\widetilde{O}\left(\frac{1}{|V(G^{\prime}_{1})|}\sum_{v\in G^{% \prime}_{1}}\frac{\deg_{G^{\prime\prime}}(v)}{\deg_{G^{\prime}_{1}}(v)}\cdot% \frac{\sum_{w:(v,w)\in E(G^{\prime\prime})}\mathrm{cost}_{\mathrm{inner}}(w)}{% \deg_{G^{\prime\prime}}(v)}\cdot\deg_{G^{\prime}_{1}}(v)\right)= over~ start_ARG italic_O end_ARG ( divide start_ARG 1 end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) | end_ARG βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG β‹… divide start_ARG βˆ‘ start_POSTSUBSCRIPT italic_w : ( italic_v , italic_w ) ∈ italic_E ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) end_POSTSUBSCRIPT roman_cost start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_w ) end_ARG start_ARG roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) )
=O~⁒(1|V⁒(G1β€²)|β’βˆ‘w∈Gβ€²β€²costinner⁒(w)β‹…degG′′⁑(w))absent~𝑂1𝑉subscriptsuperscript𝐺′1subscript𝑀superscript𝐺′′⋅subscriptcostinner𝑀subscriptdegreesuperscript𝐺′′𝑀\displaystyle=\widetilde{O}\left(\frac{1}{|V(G^{\prime}_{1})|}\sum_{w\in G^{% \prime\prime}}\mathrm{cost}_{\mathrm{inner}}(w)\cdot\deg_{G^{\prime\prime}}(w)\right)= over~ start_ARG italic_O end_ARG ( divide start_ARG 1 end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) | end_ARG βˆ‘ start_POSTSUBSCRIPT italic_w ∈ italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roman_cost start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_w ) β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_w ) )
=O~⁒(βˆ‘w∈Gβ€²β€²costinner⁒(w)|V⁒(Gβ€²β€²)|β‹…degG′′⁑(w))absent~𝑂subscript𝑀superscript𝐺′′⋅subscriptcostinner𝑀𝑉superscript𝐺′′subscriptdegreesuperscript𝐺′′𝑀\displaystyle=\widetilde{O}\left(\sum_{w\in G^{\prime\prime}}\frac{\mathrm{% cost}_{\mathrm{inner}}(w)}{|V(G^{\prime\prime})|}\cdot\deg_{G^{\prime\prime}}(% w)\right)= over~ start_ARG italic_O end_ARG ( βˆ‘ start_POSTSUBSCRIPT italic_w ∈ italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_cost start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_w ) end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) | end_ARG β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_w ) )
=LemmaΒ 4.3O~⁒(nβ‹…Ew∈G′′⁑[costinner⁒(w)])superscriptLemmaΒ 4.3absent~𝑂⋅𝑛subscriptE𝑀superscript𝐺′′subscriptcostinner𝑀\displaystyle\stackrel{{\scriptstyle\lx@cref{creftypecap~refnum}{lem:sparsific% ation-maximal}}}{{=}}\widetilde{O}\left(\sqrt{n}\cdot\operatorname{\textbf{E}}% _{w\in G^{\prime\prime}}[\mathrm{cost}_{\mathrm{inner}}(w)]\right)start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG end_ARG end_RELOP over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG β‹… E start_POSTSUBSCRIPT italic_w ∈ italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ roman_cost start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_w ) ] )
=PropositionΒ 4.9O~⁒(nβ‹…βˆ‘v∈Gβ€²β€²degG′′⁑(v)β‹…Tinner⁒(v)β‹…1|V⁒(Gβ€²β€²)|)superscriptPropositionΒ 4.9absent~𝑂⋅𝑛subscript𝑣superscript𝐺′′⋅⋅subscriptdegreesuperscript𝐺′′𝑣subscript𝑇inner𝑣1𝑉superscript𝐺′′\displaystyle\stackrel{{\scriptstyle\lx@cref{creftypecap~refnum}{prop:outdegre% e-bound}}}{{=}}\widetilde{O}\left(\sqrt{n}\cdot\sum_{v\in G^{\prime\prime}}% \deg_{G^{\prime\prime}}(v)\cdot T_{\mathrm{inner}}(v)\cdot\frac{1}{|V(G^{% \prime\prime})|}\right)start_RELOP SUPERSCRIPTOP start_ARG = end_ARG start_ARG end_ARG end_RELOP over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG β‹… βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) β‹… italic_T start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_v ) β‹… divide start_ARG 1 end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) | end_ARG )

where Tinner⁒(v)subscript𝑇inner𝑣T_{\mathrm{inner}}(v)italic_T start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_v ) is the expected time needed to find a random neighbor of v𝑣vitalic_v in Gβ€²β€²superscript𝐺′′G^{\prime\prime}italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT. Under our assumption of having access to the adjacency list of Gβ€²β€²superscript𝐺′′G^{\prime\prime}italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT, Tinner⁒(v)=O⁒(1)subscript𝑇inner𝑣𝑂1T_{\mathrm{inner}}(v)=O(1)italic_T start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_v ) = italic_O ( 1 ) and thus we can finish bounding with O~⁒(nβ‹…d¯⁒(Gβ€²β€²))=O~⁒(nβ‹…d¯⁒(G))~𝑂⋅𝑛¯𝑑superscript𝐺′′~𝑂⋅𝑛¯𝑑𝐺\widetilde{O}(\sqrt{n}\cdot\bar{d}(G^{\prime\prime}))=\widetilde{O}(\sqrt{n}% \cdot\bar{d}(G))over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG β‹… overΒ― start_ARG italic_d end_ARG ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) ) = over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG β‹… overΒ― start_ARG italic_d end_ARG ( italic_G ) ).

Now we lift the assumption of having access to the adjacency list of Gβ€²β€²superscript𝐺′′G^{\prime\prime}italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT. This means that, similarly as in the first part, we need to sample Tinner⁒(v)=degG⁑(v)/degG′′⁑(v)subscript𝑇inner𝑣subscriptdegree𝐺𝑣subscriptdegreesuperscript𝐺′′𝑣T_{\mathrm{inner}}(v)=\deg_{G}(v)/\deg_{G^{\prime\prime}}(v)italic_T start_POSTSUBSCRIPT roman_inner end_POSTSUBSCRIPT ( italic_v ) = roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) / roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) vertices from the adjacency list of v𝑣vitalic_v in expectation (checking if a vertex is matched in M𝑀Mitalic_M is done in O⁒(1)𝑂1O(1)italic_O ( 1 ) time). Then the total bound becomes

O~⁒(nβ‹…βˆ‘v∈Gβ€²β€²degG′′⁑(v)β‹…degG⁑(v)degG′′⁑(v)β‹…1|V⁒(Gβ€²β€²)|)=O~⁒(nβ‹…|E⁒(G)||V⁒(Gβ€²β€²)|)=O~⁒(nβ‹…d¯⁒(G)).~𝑂⋅𝑛subscript𝑣superscript𝐺′′⋅subscriptdegreesuperscript𝐺′′𝑣subscriptdegree𝐺𝑣subscriptdegreesuperscript𝐺′′𝑣1𝑉superscript𝐺′′~𝑂⋅𝑛𝐸𝐺𝑉superscript𝐺′′~𝑂⋅𝑛¯𝑑𝐺\displaystyle\widetilde{O}\left(\sqrt{n}\cdot\sum_{v\in G^{\prime\prime}}\deg_% {G^{\prime\prime}}(v)\cdot\frac{\deg_{G}(v)}{\deg_{G^{\prime\prime}}(v)}\cdot% \frac{1}{|V(G^{\prime\prime})|}\right)=\widetilde{O}\left(\sqrt{n}\cdot\frac{|% E(G)|}{|V(G^{\prime\prime})|}\right)=\widetilde{O}(\sqrt{n}\cdot\bar{d}(G)).over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG β‹… βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) β‹… divide start_ARG roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG β‹… divide start_ARG 1 end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) | end_ARG ) = over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG β‹… divide start_ARG | italic_E ( italic_G ) | end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² β€² end_POSTSUPERSCRIPT ) | end_ARG ) = over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG β‹… overΒ― start_ARG italic_d end_ARG ( italic_G ) ) .

Also Touter⁒(v)subscript𝑇outer𝑣T_{\mathrm{outer}}(v)italic_T start_POSTSUBSCRIPT roman_outer end_POSTSUBSCRIPT ( italic_v ) increases by degG⁑(v)/degG1′⁑(v)subscriptdegree𝐺𝑣subscriptdegreesuperscriptsubscript𝐺1′𝑣\deg_{G}(v)/\deg_{G_{1}^{\prime}}(v)roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) / roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ( italic_v ), which increases the total runtime only by

O~⁒(1|V⁒(G1β€²)|β’βˆ‘v∈G1β€²degG⁑(v)degG1′⁑(v)β‹…degG1′⁑(v))=O~⁒(d¯⁒(G)).~𝑂1𝑉subscriptsuperscript𝐺′1subscript𝑣subscriptsuperscript𝐺′1β‹…subscriptdegree𝐺𝑣subscriptdegreesubscriptsuperscript𝐺′1𝑣subscriptdegreesubscriptsuperscript𝐺′1𝑣~𝑂¯𝑑𝐺\displaystyle\widetilde{O}\left(\frac{1}{|V(G^{\prime}_{1})|}\sum_{v\in G^{% \prime}_{1}}\frac{\deg_{G}(v)}{\deg_{G^{\prime}_{1}}(v)}\cdot\deg_{G^{\prime}_% {1}}(v)\right)=\widetilde{O}(\bar{d}(G)).over~ start_ARG italic_O end_ARG ( divide start_ARG 1 end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) | end_ARG βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) ) = over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) .

∎

Lemma 4.11.

AlgorithmΒ 5 runs in O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) time in expectation.

Proof.

It is enough to show that it takes O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) time to run the algorithm of PropositionΒ 3.1 (the b𝑏bitalic_b-matching oracle) for each sampled vertex and permutation, as we have r=O~⁒(1)π‘Ÿ~𝑂1r=\widetilde{O}(1)italic_r = over~ start_ARG italic_O end_ARG ( 1 ). We repeat the same arguments as in the proof ofΒ LemmaΒ 4.10.

Let v𝑣vitalic_v be a vertex in the graph G2β€²=G⁒[V⁒(M),Vβˆ–V⁒(M)]subscriptsuperscript𝐺′2𝐺𝑉𝑀𝑉𝑉𝑀G^{\prime}_{2}=G[V(M),V\setminus V(M)]italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_G [ italic_V ( italic_M ) , italic_V βˆ– italic_V ( italic_M ) ]. Note that in the adjacency list of v𝑣vitalic_v in the original graph, which contains degG⁑(v)subscriptdegree𝐺𝑣\deg_{G}(v)roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) elements, only degG2′⁑(v)subscriptdegreesubscriptsuperscript𝐺′2𝑣\deg_{G^{\prime}_{2}}(v)roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) of the elements are neighbors in G2β€²subscriptsuperscript𝐺′2G^{\prime}_{2}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Thus, we need to randomly sample T⁒(v)=degG⁑(v)/degG2′⁑(v)𝑇𝑣subscriptdegree𝐺𝑣subscriptdegreesubscriptsuperscript𝐺′2𝑣T(v)=\deg_{G}(v)/\deg_{G^{\prime}_{2}}(v)italic_T ( italic_v ) = roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) / roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) elements of the adjacency list of v𝑣vitalic_v to find a neighbor in G2β€²subscriptsuperscript𝐺′2G^{\prime}_{2}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Recall that we can check whether a vertex is matched in M𝑀Mitalic_M in O⁒(1)𝑂1O(1)italic_O ( 1 ) time. Therefore, using PropositionΒ 4.9, the expected time needed to run the random greedy maximal matching for a random vertex and permutation in G2β€²subscriptsuperscript𝐺′2G^{\prime}_{2}italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is

βˆ‘v∈V⁒(G2β€²)O~⁒(T⁒(v)β‹…degG2′⁑(v)|V⁒(G2β€²)|)=βˆ‘v∈VO~⁒((degG⁑(v)/degG2′⁑(v))β‹…degG2′⁑(v)n)subscript𝑣𝑉subscriptsuperscript𝐺′2~𝑂⋅𝑇𝑣subscriptdegreesubscriptsuperscript𝐺′2𝑣𝑉subscriptsuperscript𝐺′2subscript𝑣𝑉~𝑂⋅subscriptdegree𝐺𝑣subscriptdegreesubscriptsuperscript𝐺′2𝑣subscriptdegreesubscriptsuperscript𝐺′2𝑣𝑛\displaystyle\sum_{v\in V(G^{\prime}_{2})}\widetilde{O}\left(\frac{T(v)\cdot% \deg_{G^{\prime}_{2}}(v)}{|V(G^{\prime}_{2})|}\right)=\sum_{v\in V}\widetilde{% O}\left(\frac{(\deg_{G}(v)/\deg_{G^{\prime}_{2}}(v))\cdot\deg_{G^{\prime}_{2}}% (v)}{n}\right)βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) end_POSTSUBSCRIPT over~ start_ARG italic_O end_ARG ( divide start_ARG italic_T ( italic_v ) β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG | italic_V ( italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) | end_ARG ) = βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_V end_POSTSUBSCRIPT over~ start_ARG italic_O end_ARG ( divide start_ARG ( roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) / roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) ) β‹… roman_deg start_POSTSUBSCRIPT italic_G start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG italic_n end_ARG )
=βˆ‘v∈VO~⁒(degG⁑(v)n)=O~⁒(|E⁒(G)|n)=O~⁒(d¯⁒(G)).absentsubscript𝑣𝑉~𝑂subscriptdegree𝐺𝑣𝑛~𝑂𝐸𝐺𝑛~𝑂¯𝑑𝐺\displaystyle\qquad\qquad=\sum_{v\in V}\widetilde{O}\left(\frac{\deg_{G}(v)}{n% }\right)=\widetilde{O}\left(\frac{|E(G)|}{n}\right)=\widetilde{O}(\bar{d}(G)).= βˆ‘ start_POSTSUBSCRIPT italic_v ∈ italic_V end_POSTSUBSCRIPT over~ start_ARG italic_O end_ARG ( divide start_ARG roman_deg start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( italic_v ) end_ARG start_ARG italic_n end_ARG ) = over~ start_ARG italic_O end_ARG ( divide start_ARG | italic_E ( italic_G ) | end_ARG start_ARG italic_n end_ARG ) = over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) .

∎

Lemma 4.12.

AlgorithmΒ 3 runs in O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time with high probability.

Proof.

By ClaimΒ 4.2, the sparsification step takes O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time. Also, by LemmasΒ 4.10 andΒ 4.11, AlgorithmsΒ 4 andΒ 5 run in O~⁒(d¯⁒(G)β‹…n)~𝑂⋅¯𝑑𝐺𝑛\widetilde{O}(\bar{d}(G)\cdot\sqrt{n})over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) β‹… square-root start_ARG italic_n end_ARG ) and O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) expected time, respectively. To establish a high probability bound on the time complexity, we execute O⁒(log⁑n)𝑂𝑛O(\log n)italic_O ( roman_log italic_n ) instances of the algorithm in parallel and halt as soon as the first one completes. By applying Markov’s inequality, we deduce that each individual instance terminates within O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time with constant probability. As a result, with high probability, at least one of these instances finishes within O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time. This concludes the proof. ∎

Now we are ready to prove the final theorem of this section.

Theorem 4.13.

There exists an algorithm that, given access to the adjacency list of a bipartite graph, estimates the size of the maximum matching with a multiplicative-additive approximation factor of (0.5109,o⁒(n))0.5109π‘œπ‘›(0.5109,o(n))( 0.5109 , italic_o ( italic_n ) ) and runs in O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time with high probability.

Proof.

By LemmaΒ 4.7, AlgorithmΒ 3 achieves multiplicative-additive approximation of (0.5109,o⁒(n))0.5109π‘œπ‘›(0.5109,o(n))( 0.5109 , italic_o ( italic_n ) ). Moreover, the running time of AlgorithmΒ 3 is O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) with high probability by LemmaΒ 4.12. ∎

5 Algorithm for General Graphs

The following is an analogue of LemmaΒ 4.6 for general graphs.

Lemma 5.1.

In a general graph G𝐺Gitalic_G, let M𝑀Mitalic_M, Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT, B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT be as in the description of AlgorithmΒ 3. Then

(1βˆ’Ξ΅)⁒max⁑[|M|+E⁑[μ⁒(Mβ€²βˆͺB1)],E⁑[μ⁒(MβˆͺB2)]]β‰₯0.5109⋅μ⁒(G).1πœ€π‘€Eπœ‡superscript𝑀′subscript𝐡1Eπœ‡π‘€subscript𝐡2β‹…0.5109πœ‡πΊ(1-\varepsilon)\max\left[|M|+\operatorname{\textbf{E}}[\mu(M^{\prime}\cup B_{1% })],\operatorname{\textbf{E}}[\mu(M\cup B_{2})]\right]\geq 0.5109\cdot\mu(G).( 1 - italic_Ξ΅ ) roman_max [ | italic_M | + E [ italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ] , E [ italic_ΞΌ ( italic_M βˆͺ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ] ] β‰₯ 0.5109 β‹… italic_ΞΌ ( italic_G ) .
Proof.

The proof proceeds as that of LemmaΒ 4.6, with the following modifications:

  • β€’

    we invoke the second rather than the first part of LemmaΒ 4.5 to obtain analogues of inequalities (3) and (4), i.e., instead of lower-bounding |M|+(1βˆ’1b)⁒|Mβ€²|+1k⁒b⁒|B1|𝑀11𝑏superscript𝑀′1π‘˜π‘subscript𝐡1|M|+(1-\frac{1}{b})|M^{\prime}|+\frac{1}{kb}|B_{1}|| italic_M | + ( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT |, we lower-bound |M|+E⁑[μ⁒(Mβ€²βˆͺB1)]𝑀Eπœ‡superscript𝑀′subscript𝐡1|M|+\operatorname{\textbf{E}}[\mu(M^{\prime}\cup B_{1})]| italic_M | + E [ italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ], and instead of lower-bounding (1βˆ’1b)⁒|M|+1k⁒b⁒|B2|11𝑏𝑀1π‘˜π‘subscript𝐡2(1-\frac{1}{b})|M|+\frac{1}{kb}|B_{2}|( 1 - divide start_ARG 1 end_ARG start_ARG italic_b end_ARG ) | italic_M | + divide start_ARG 1 end_ARG start_ARG italic_k italic_b end_ARG | italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT |, we lower-bound E⁑[μ⁒(MβˆͺB2)]Eπœ‡π‘€subscript𝐡2\operatorname{\textbf{E}}[\mu(M\cup B_{2})]E [ italic_ΞΌ ( italic_M βˆͺ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ],

  • β€’

    the (1βˆ’Ξ΅)1πœ€(1-\varepsilon)( 1 - italic_Ξ΅ ) factor on the left-hand side of the statement can be folded into the O⁒(Ξ΅)π‘‚πœ€O(\varepsilon)italic_O ( italic_Ξ΅ ) term in γ𝛾\gammaitalic_Ξ³ at the end of the proof, for small enough Ξ΅πœ€\varepsilonitalic_Ξ΅.

∎

In this section, we show how to extend our algorithm to work for general graphs. The main difference between bipartite and general graphs is that the estimate based on the sizes of |M|𝑀|M|| italic_M |, |Mβ€²|superscript𝑀′|M^{\prime}|| italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT |, |B1|subscript𝐡1|B_{1}|| italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT |, and |B2|subscript𝐡2|B_{2}|| italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | is insufficient to achieve a 0.5109 approximation guarantee. In LemmaΒ 5.1, we show that we can achieve this approximation ratio by estimating μ⁒(MβˆͺB2)πœ‡π‘€subscript𝐡2\mu(M\cup B_{2})italic_ΞΌ ( italic_M βˆͺ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) and μ⁒(Mβ€²βˆͺB1)πœ‡superscript𝑀′subscript𝐡1\mu(M^{\prime}\cup B_{1})italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ). More formally, to produce ΞΌ1subscriptπœ‡1\mu_{1}italic_ΞΌ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and ΞΌ2subscriptπœ‡2\mu_{2}italic_ΞΌ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in AlgorithmΒ 3, we use |M|+μ⁒(Mβ€²βˆͺB1)π‘€πœ‡superscript𝑀′subscript𝐡1|M|+\mu(M^{\prime}\cup B_{1})| italic_M | + italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and μ⁒(MβˆͺB2)πœ‡π‘€subscript𝐡2\mu(M\cup B_{2})italic_ΞΌ ( italic_M βˆͺ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), respectively. Also, AlgorithmΒ 4 and AlgorithmΒ 5 output μ⁒(Mβ€²βˆͺB1)πœ‡superscript𝑀′subscript𝐡1\mu(M^{\prime}\cup B_{1})italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and μ⁒(MβˆͺB2)πœ‡π‘€subscript𝐡2\mu(M\cup B_{2})italic_ΞΌ ( italic_M βˆͺ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), respectively.

In both AlgorithmΒ 4 and AlgorithmΒ 5 we have access to oracles that can return whether a vertex is matched in Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT, B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, or B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT for a fixed permutation Ο€πœ‹\piitalic_Ο€. These oracles can also be used to return the edge of the matching if the vertex is matched, which is a corollary of PropositionΒ 3.1 since the algorithm of PropositionΒ 3.1 can be also used to return the edge of the matching.

Lemma 5.2.

For a vertex v𝑣vitalic_v, there exists an algorithm that returns the edges of v𝑣vitalic_v in Mβ€²superscript𝑀′M^{\prime}italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT and B1subscript𝐡1B_{1}italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT in O~⁒(d¯⁒(G)β‹…n)~𝑂⋅¯𝑑𝐺𝑛\widetilde{O}(\bar{d}(G)\cdot\sqrt{n})over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) β‹… square-root start_ARG italic_n end_ARG ) expected time.

Proof.

The proof follows from Lemma 4.10 and the fact that the algorithm in Proposition 3.1 can return the edge of the matched vertex in the same running time. ∎

Lemma 5.3.

For a vertex v𝑣vitalic_v, there exists an algorithm that returns the edges of v𝑣vitalic_v in M𝑀Mitalic_M and B2subscript𝐡2B_{2}italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) expected time.

Proof.

If v𝑣vitalic_v is matched in M𝑀Mitalic_M, we can return the edge in O⁒(1)𝑂1O(1)italic_O ( 1 ) time since we have access to this maximal matching. The rest of the proof follows from LemmaΒ 4.11 and the fact that the algorithm in PropositionΒ 3.1 can return the edge of the matched vertex in the same running time. ∎

Local computation algorithms (LCA) is a model of computation, also motivated by large data sets, in which the algorithm is not expected to produce the entire output at once. Instead, the algorithm is queried for parts of the output, and must produce a consistent and approximately optimal output. We use the following local computation algorithm (LCA) by [LRY17] to design our algorithm.

Proposition 5.4 ([LRY17]).

There exists a (1βˆ’Ξ΅)1πœ€(1-\varepsilon)( 1 - italic_Ξ΅ )-approximate local computation algorithm for maximum matching of graph G𝐺Gitalic_G in O~⁒(Δ⁒(G)1/Ξ΅2)~𝑂Δsuperscript𝐺1superscriptπœ€2\widetilde{O}(\Delta(G)^{1/\varepsilon^{2}})over~ start_ARG italic_O end_ARG ( roman_Ξ” ( italic_G ) start_POSTSUPERSCRIPT 1 / italic_Ξ΅ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ) time with access to the adjacency list of G𝐺Gitalic_G.

Now we prove the main technical part of this section that can be used to estimate μ⁒(Mβ€²βˆͺB1)πœ‡superscript𝑀′subscript𝐡1\mu(M^{\prime}\cup B_{1})italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and μ⁒(MβˆͺB2)πœ‡π‘€subscript𝐡2\mu(M\cup B_{2})italic_ΞΌ ( italic_M βˆͺ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ).

Lemma 5.5.

Let H𝐻Hitalic_H be a subgraph of graph G𝐺Gitalic_G. Suppose that H𝐻Hitalic_H is the union of a constant number of random greedy maximal matching on different subsets of vertices. Also, we have oracle access to edges of random greedy maximal matching. We can query a vertex to obtain the matching edge of vertex v𝑣vitalic_v in O~⁒(T)~𝑂𝑇\widetilde{O}(T)over~ start_ARG italic_O end_ARG ( italic_T ) expected time. Moreover, the maximum degree of H𝐻Hitalic_H is constant. Then, there exists a (1βˆ’Ξ΅)1πœ€(1-\varepsilon)( 1 - italic_Ξ΅ )-approximate algorithm that estimates the size of the maximum matching of H𝐻Hitalic_H in O~⁒(T)~𝑂𝑇\widetilde{O}(T)over~ start_ARG italic_O end_ARG ( italic_T ) expected time.

Proof.

We run the algorithm of PropositionΒ 5.4. Each time the algorithm visits a new vertex u𝑒uitalic_u, we first query all the constant number of oracles for random greedy maximal matching to get the adjacency list of u𝑒uitalic_u in H𝐻Hitalic_H. If the algorithm in PropositionΒ 5.4 made uniform queries to the oracle, then we could conclude the proof since Δ⁒(H)Δ𝐻\Delta(H)roman_Ξ” ( italic_H ) and Ξ΅πœ€\varepsilonitalic_Ξ΅ are constant. However, note that queries to the oracles are not independent and we have an expected time guarantee on the running time of the oracles. So it is possible that the way that the algorithm of PropositionΒ 5.4 works might result in making biased queries to oracles.

Let ℒ⁒(u,Ο€)β„’π‘’πœ‹\mathcal{L}(u,\pi)caligraphic_L ( italic_u , italic_Ο€ ) be the set of vertices the algorithm of PropositionΒ 5.4 visits when we run the algorithm for vertex u𝑒uitalic_u and we use permutation Ο€πœ‹\piitalic_Ο€ for random greedy maximal matchings of the subgraph H𝐻Hitalic_H. Let F⁒(u,Ο€)πΉπ‘’πœ‹F(u,\pi)italic_F ( italic_u , italic_Ο€ ) be the running time of the oracle for vertex u𝑒uitalic_u and permutation Ο€πœ‹\piitalic_Ο€. Also, let L⁒(u,Ο€)πΏπ‘’πœ‹L(u,\pi)italic_L ( italic_u , italic_Ο€ ) be the running time of the algorithm of PropositionΒ 5.4 on vertex u𝑒uitalic_u using permutation Ο€πœ‹\piitalic_Ο€ for random greedy maximal matchings. Hence, we have

Eu,π⁑[F′⁒(u,Ο€)]=βˆ‘Ο€βˆ‘uβˆ‘vβˆˆβ„’β’(u,Ο€)E⁑[F⁒(v,Ο€)]nβ‹…|E⁒(G)|!subscriptEπ‘’πœ‹superscriptπΉβ€²π‘’πœ‹subscriptπœ‹subscript𝑒subscriptπ‘£β„’π‘’πœ‹EπΉπ‘£πœ‹β‹…π‘›πΈπΊ\displaystyle\operatorname{\textbf{E}}_{u,\pi}[F^{\prime}(u,\pi)]=\sum_{\pi}% \sum_{u}\sum_{v\in\mathcal{L}(u,\pi)}\frac{\operatorname{\textbf{E}}[F(v,\pi)]% }{n\cdot|E(G)|!}E start_POSTSUBSCRIPT italic_u , italic_Ο€ end_POSTSUBSCRIPT [ italic_F start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ( italic_u , italic_Ο€ ) ] = βˆ‘ start_POSTSUBSCRIPT italic_Ο€ end_POSTSUBSCRIPT βˆ‘ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT βˆ‘ start_POSTSUBSCRIPT italic_v ∈ caligraphic_L ( italic_u , italic_Ο€ ) end_POSTSUBSCRIPT divide start_ARG E [ italic_F ( italic_v , italic_Ο€ ) ] end_ARG start_ARG italic_n β‹… | italic_E ( italic_G ) | ! end_ARG

Further, the algorithm in PropositionΒ 5.4 explores the local neighborhood of a vertex to answer each query. Therefore, if two vertices w𝑀witalic_w and z𝑧zitalic_z are at a distance greater than Δ⁒(H)1/Ξ΅3Ξ”superscript𝐻1superscriptπœ€3\Delta(H)^{1/\varepsilon^{3}}roman_Ξ” ( italic_H ) start_POSTSUPERSCRIPT 1 / italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT, the algorithm does not visit z𝑧zitalic_z when answering a query for w𝑀witalic_w. Thus,

Eu,π⁑[F′⁒(u,Ο€)]subscriptEπ‘’πœ‹superscriptπΉβ€²π‘’πœ‹\displaystyle\operatorname{\textbf{E}}_{u,\pi}[F^{\prime}(u,\pi)]E start_POSTSUBSCRIPT italic_u , italic_Ο€ end_POSTSUBSCRIPT [ italic_F start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT ( italic_u , italic_Ο€ ) ] β‰€βˆ‘Ο€βˆ‘vΔ⁒(H)(Δ⁒(H)1/Ξ΅3)β‹…E⁑[F⁒(v,Ο€)]nβ‹…|E⁒(G)|!absentsubscriptπœ‹subscript𝑣⋅Δsuperscript𝐻Δsuperscript𝐻1superscriptπœ€3EπΉπ‘£πœ‹β‹…π‘›πΈπΊ\displaystyle\leq\sum_{\pi}\sum_{v}\Delta(H)^{\left(\Delta(H)^{1/\varepsilon^{% 3}}\right)}\cdot\frac{\operatorname{\textbf{E}}[F(v,\pi)]}{n\cdot|E(G)|!}≀ βˆ‘ start_POSTSUBSCRIPT italic_Ο€ end_POSTSUBSCRIPT βˆ‘ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT roman_Ξ” ( italic_H ) start_POSTSUPERSCRIPT ( roman_Ξ” ( italic_H ) start_POSTSUPERSCRIPT 1 / italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ) end_POSTSUPERSCRIPT β‹… divide start_ARG E [ italic_F ( italic_v , italic_Ο€ ) ] end_ARG start_ARG italic_n β‹… | italic_E ( italic_G ) | ! end_ARG
=Δ⁒(H)(Δ⁒(H)1/Ξ΅3)β‹…βˆ‘Ο€βˆ‘vE⁑[F⁒(v,Ο€)]nβ‹…|E⁒(G)|!absentβ‹…Ξ”superscript𝐻Δsuperscript𝐻1superscriptπœ€3subscriptπœ‹subscript𝑣EπΉπ‘£πœ‹β‹…π‘›πΈπΊ\displaystyle=\Delta(H)^{\left(\Delta(H)^{1/\varepsilon^{3}}\right)}\cdot\sum_% {\pi}\sum_{v}\frac{\operatorname{\textbf{E}}[F(v,\pi)]}{n\cdot|E(G)|!}= roman_Ξ” ( italic_H ) start_POSTSUPERSCRIPT ( roman_Ξ” ( italic_H ) start_POSTSUPERSCRIPT 1 / italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ) end_POSTSUPERSCRIPT β‹… βˆ‘ start_POSTSUBSCRIPT italic_Ο€ end_POSTSUBSCRIPT βˆ‘ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT divide start_ARG E [ italic_F ( italic_v , italic_Ο€ ) ] end_ARG start_ARG italic_n β‹… | italic_E ( italic_G ) | ! end_ARG
≀O~⁒(T),absent~𝑂𝑇\displaystyle\leq\widetilde{O}(T),≀ over~ start_ARG italic_O end_ARG ( italic_T ) ,

where the first inequality follows by the fact that each vertex has at most Δ⁒(H)(Δ⁒(H)1/Ξ΅3)Ξ”superscript𝐻Δsuperscript𝐻1superscriptπœ€3\Delta(H)^{\left(\Delta(H)^{1/\varepsilon^{3}}\right)}roman_Ξ” ( italic_H ) start_POSTSUPERSCRIPT ( roman_Ξ” ( italic_H ) start_POSTSUPERSCRIPT 1 / italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ) end_POSTSUPERSCRIPT neighbors in H𝐻Hitalic_H within a distance of Δ⁒(H)1/Ξ΅3Ξ”superscript𝐻1superscriptπœ€3\Delta(H)^{1/\varepsilon^{3}}roman_Ξ” ( italic_H ) start_POSTSUPERSCRIPT 1 / italic_Ξ΅ start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT, and the last inequality because Δ⁒(H)Δ𝐻\Delta(H)roman_Ξ” ( italic_H ) and Ξ΅πœ€\varepsilonitalic_Ξ΅ are constants. Therefore, even with the biased queries, we can implement PropositionΒ 5.4 on subgraph H𝐻Hitalic_H in O~⁒(T)~𝑂𝑇\widetilde{O}(T)over~ start_ARG italic_O end_ARG ( italic_T ) time, which completes the proof. ∎

Lemma 5.6.

There exists an algorithm that outputs a (1βˆ’Ξ΅)1πœ€(1-\varepsilon)( 1 - italic_Ξ΅ )-approximate estimation of the value of μ⁒(MβˆͺB2)πœ‡π‘€subscript𝐡2\mu(M\cup B_{2})italic_ΞΌ ( italic_M βˆͺ italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) in O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) expected time.

Proof.

The proof follows by plugging LemmaΒ 5.3 into LemmaΒ 5.5 and running the algorithm for rπ‘Ÿritalic_r samples. ∎

Lemma 5.7.

There exists an algorithm that outputs a (1βˆ’Ξ΅)1πœ€(1-\varepsilon)( 1 - italic_Ξ΅ )-approximate estimation of the value of μ⁒(Mβ€²βˆͺB1)πœ‡superscript𝑀′subscript𝐡1\mu(M^{\prime}\cup B_{1})italic_ΞΌ ( italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT βˆͺ italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) in O~⁒(d¯⁒(G)β‹…n)~𝑂⋅¯𝑑𝐺𝑛\widetilde{O}(\bar{d}(G)\cdot\sqrt{n})over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) β‹… square-root start_ARG italic_n end_ARG ) expected time.

Proof.

The proof follows by plugging LemmaΒ 5.2 into LemmaΒ 5.5 and running the algorithm for rπ‘Ÿritalic_r samples. ∎

Theorem 5.8.

There exists an algorithm that, given access to the adjacency list of a graph, estimates the size of the maximum matching with a multiplicative-additive approximation factor of (0.5109,o⁒(n))0.5109π‘œπ‘›(0.5109,o(n))( 0.5109 , italic_o ( italic_n ) ) and runs in O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time with high probability.

Proof.

By LemmaΒ 5.1 and a Chernoff bound similar to LemmaΒ 4.7, we achieve a multiplicative-additive approximation of (0.5109,o⁒(n))0.5109π‘œπ‘›(0.5109,o(n))( 0.5109 , italic_o ( italic_n ) ). Moreover, the expected running time is O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) by ClaimΒ 4.2, LemmaΒ 5.6, and LemmaΒ 5.7. To establish a high probability bound on the time complexity, we execute O⁒(log⁑n)𝑂𝑛O(\log n)italic_O ( roman_log italic_n ) instances of the algorithm in parallel and halt as soon as the first one completes. By applying Markov’s inequality, we deduce that each individual instance terminates within O⁒(n⁒n)𝑂𝑛𝑛O(n\sqrt{n})italic_O ( italic_n square-root start_ARG italic_n end_ARG ) time with constant probability. As a result, with high probability, at least one of these instances finishes within O⁒(n⁒n)𝑂𝑛𝑛O(n\sqrt{n})italic_O ( italic_n square-root start_ARG italic_n end_ARG ) time. This concludes the proof. ∎

6 Multiplicative Approximation

In this section, we show that we can achieve a multiplicative approximation guarantee by slightly increasing the number of samples in AlgorithmΒ 4 and AlgorithmΒ 5. First, we prove a simple lower bound for the size of the maximum matching of a graph based on its maximum and average degree.

Claim 6.1.

For any graph G𝐺Gitalic_G, it holds that μ⁒(G)β‰₯n⁒d¯⁒(G)/(4⁒Δ⁒(G))πœ‡πΊπ‘›Β―π‘‘πΊ4Δ𝐺\mu(G)\geq n\bar{d}(G)/(4\Delta(G))italic_ΞΌ ( italic_G ) β‰₯ italic_n overΒ― start_ARG italic_d end_ARG ( italic_G ) / ( 4 roman_Ξ” ( italic_G ) ).

Proof.

Any graph with a maximum degree of Δ⁒(G)Δ𝐺\Delta(G)roman_Ξ” ( italic_G ) can be colored greedily using 2⁒Δ⁒(G)2Δ𝐺2\Delta(G)2 roman_Ξ” ( italic_G ) colors. Furthermore, the edges of each color create a matching. Thus, we have μ⁒(G)β‰₯|E⁒(G)|/(2⁒Δ⁒(G))πœ‡πΊπΈπΊ2Δ𝐺\mu(G)\geq|E(G)|/(2\Delta(G))italic_ΞΌ ( italic_G ) β‰₯ | italic_E ( italic_G ) | / ( 2 roman_Ξ” ( italic_G ) ). Combining with |E⁒(G)|=n⁒d¯⁒(G)/2𝐸𝐺𝑛¯𝑑𝐺2|E(G)|=n\bar{d}(G)/2| italic_E ( italic_G ) | = italic_n overΒ― start_ARG italic_d end_ARG ( italic_G ) / 2, we can conclude the proof. ∎

The goal is to obtain a multiplicative approximation guarantee of (0.5109βˆ’Ξ΅)⁒μ⁒(G)0.5109πœ€πœ‡πΊ(0.5109-\varepsilon)\mu(G)( 0.5109 - italic_Ξ΅ ) italic_ΞΌ ( italic_G ). It is important to note that if any of |M|𝑀|M|| italic_M |, |Mβ€²|superscript𝑀′|M^{\prime}|| italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT |, |B1|subscript𝐡1|B_{1}|| italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT |, or |B2|subscript𝐡2|B_{2}|| italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | is not a constant fraction of the others, it can be omitted from the equation in the statement of LemmaΒ 4.6 without affecting the approximation by more than a function of Ξ΅πœ€\varepsilonitalic_Ξ΅. Thus, without loss of generality, we can assume that |M|=Ω⁒(μ⁒(G))π‘€Ξ©πœ‡πΊ|M|=\Omega(\mu(G))| italic_M | = roman_Ξ© ( italic_ΞΌ ( italic_G ) ), |Mβ€²|=Ω⁒(μ⁒(G))superscriptπ‘€β€²Ξ©πœ‡πΊ|M^{\prime}|=\Omega(\mu(G))| italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT | = roman_Ξ© ( italic_ΞΌ ( italic_G ) ), |B1|=Ω⁒(μ⁒(G))subscript𝐡1Ξ©πœ‡πΊ|B_{1}|=\Omega(\mu(G))| italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | = roman_Ξ© ( italic_ΞΌ ( italic_G ) ), and |B2|=Ω⁒(μ⁒(G))subscript𝐡2Ξ©πœ‡πΊ|B_{2}|=\Omega(\mu(G))| italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | = roman_Ξ© ( italic_ΞΌ ( italic_G ) ). Consequently, using ClaimΒ 6.1 and as an application of Chernoff bound, we can use O~Ρ⁒(Δ⁒(G)/d¯⁒(G))subscript~π‘‚πœ€Ξ”πΊΒ―π‘‘πΊ\widetilde{O}_{\varepsilon}(\Delta(G)/\bar{d}(G))over~ start_ARG italic_O end_ARG start_POSTSUBSCRIPT italic_Ξ΅ end_POSTSUBSCRIPT ( roman_Ξ” ( italic_G ) / overΒ― start_ARG italic_d end_ARG ( italic_G ) ) samples in AlgorithmΒ 4 and AlgorithmΒ 5 to obtain multiplicative estimation of ΞΌMβ€²subscriptπœ‡superscript𝑀′\mu_{M^{\prime}}italic_ΞΌ start_POSTSUBSCRIPT italic_M start_POSTSUPERSCRIPT β€² end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, ΞΌB1subscriptπœ‡subscript𝐡1\mu_{B_{1}}italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT, and ΞΌB2subscriptπœ‡subscript𝐡2\mu_{B_{2}}italic_ΞΌ start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT.

By LemmaΒ 4.10, AlgorithmΒ 4 runs in O~⁒(d¯⁒(G)β‹…n)~𝑂⋅¯𝑑𝐺𝑛\widetilde{O}(\bar{d}(G)\cdot\sqrt{n})over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) β‹… square-root start_ARG italic_n end_ARG ) time when we have r=O~⁒(1)π‘Ÿ~𝑂1r=\widetilde{O}(1)italic_r = over~ start_ARG italic_O end_ARG ( 1 ) samples. By increasing the number of samples to O~Ρ⁒(Δ⁒(G)/d¯⁒(G))subscript~π‘‚πœ€Ξ”πΊΒ―π‘‘πΊ\widetilde{O}_{\varepsilon}(\Delta(G)/\bar{d}(G))over~ start_ARG italic_O end_ARG start_POSTSUBSCRIPT italic_Ξ΅ end_POSTSUBSCRIPT ( roman_Ξ” ( italic_G ) / overΒ― start_ARG italic_d end_ARG ( italic_G ) ), the running time of AlgorithmΒ 4 increases to O~⁒(Δ⁒(G)β‹…n)~𝑂⋅Δ𝐺𝑛\widetilde{O}(\Delta(G)\cdot\sqrt{n})over~ start_ARG italic_O end_ARG ( roman_Ξ” ( italic_G ) β‹… square-root start_ARG italic_n end_ARG ). Moreover, by LemmaΒ 4.11, AlgorithmΒ 5 runs in O~⁒(d¯⁒(G))~𝑂¯𝑑𝐺\widetilde{O}(\bar{d}(G))over~ start_ARG italic_O end_ARG ( overΒ― start_ARG italic_d end_ARG ( italic_G ) ) time when we have r=O~⁒(1)π‘Ÿ~𝑂1r=\widetilde{O}(1)italic_r = over~ start_ARG italic_O end_ARG ( 1 ) samples. By increasing the number of samples to O~Ρ⁒(Δ⁒(G)/d¯⁒(G))subscript~π‘‚πœ€Ξ”πΊΒ―π‘‘πΊ\widetilde{O}_{\varepsilon}(\Delta(G)/\bar{d}(G))over~ start_ARG italic_O end_ARG start_POSTSUBSCRIPT italic_Ξ΅ end_POSTSUBSCRIPT ( roman_Ξ” ( italic_G ) / overΒ― start_ARG italic_d end_ARG ( italic_G ) ), the running time of AlgorithmΒ 5 increases to O~⁒(Δ⁒(G))~𝑂Δ𝐺\widetilde{O}(\Delta(G))over~ start_ARG italic_O end_ARG ( roman_Ξ” ( italic_G ) ). Therefore, the total running time of the algorithm is within O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ).

Finally, we can obtain the degree of each vertex in the graph using binary search. Therefore, we can assume that we have access to Δ⁒(G)Δ𝐺\Delta(G)roman_Ξ” ( italic_G ) and d¯⁒(G)¯𝑑𝐺\bar{d}(G)overΒ― start_ARG italic_d end_ARG ( italic_G ) by spending O~⁒(n)~𝑂𝑛\widetilde{O}(n)over~ start_ARG italic_O end_ARG ( italic_n ) time. Thus we get:

See 1.1

7 Algorithm with Access to the Adjacency Matrix

In this section, we use a simple reduction to show that with a small modification, our algorithm can be adapted to the setting where we have access to the graph’s adjacency matrix. A slightly different version of this kind of reduction appeared in previous works on sublinear time algorithms for maximum matching [Beh21, BRRS23].

It is important to note that obtaining a constant-factor multiplicative approximation is impossible when the algorithm only has access to the adjacency matrix of the graph. This is because if the graph is guaranteed to contain either a single edge or be completely empty, any algorithm would require Ω⁒(n2)Ξ©superscript𝑛2\Omega(n^{2})roman_Ξ© ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) adjacency matrix queries to distinguish between these two cases. Consequently, we allow the algorithm to have an additive error of o⁒(n)π‘œπ‘›o(n)italic_o ( italic_n ) in addition to the multiplicative approximation ratio.

We build an auxiliary graph H𝐻Hitalic_H with the following vertex set and edge set:

  • β€’

    Vertex set: V⁒(H)𝑉𝐻V(H)italic_V ( italic_H ) contains n+2𝑛2n+2italic_n + 2 disjoint sets of n𝑛nitalic_n vertices V1,V2subscript𝑉1subscript𝑉2V_{1},V_{2}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, and U1,…,Unsubscriptπ‘ˆ1…subscriptπ‘ˆπ‘›U_{1},\ldots,U_{n}italic_U start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_U start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT. Each Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is a copy of the vertices of the original graph. Each Uisubscriptπ‘ˆπ‘–U_{i}italic_U start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT contains n⁒log2⁑n𝑛superscript2𝑛n\log^{2}nitalic_n roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n vertices.

  • β€’

    Edge set: For each vertex v∈V1𝑣subscript𝑉1v\in V_{1}italic_v ∈ italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, the i𝑖iitalic_i-th neighbor of v𝑣vitalic_v is the i𝑖iitalic_i-th vertex in V1subscript𝑉1V_{1}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT if (v,i)∈E⁒(G)𝑣𝑖𝐸𝐺(v,i)\in E(G)( italic_v , italic_i ) ∈ italic_E ( italic_G ), and otherwise it is the i𝑖iitalic_i-th vertex in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Similarly, for each vertex v∈V2𝑣subscript𝑉2v\in V_{2}italic_v ∈ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, the i𝑖iitalic_i-th neighbor of v𝑣vitalic_v is i𝑖iitalic_i-th vertex in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT if (v,i)∈E⁒(G)𝑣𝑖𝐸𝐺(v,i)\in E(G)( italic_v , italic_i ) ∈ italic_E ( italic_G ), and otherwise it is the i𝑖iitalic_i-th vertex in V1subscript𝑉1V_{1}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Also, each v∈V2𝑣subscript𝑉2v\in V_{2}italic_v ∈ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is connected to all vertices of Uvsubscriptπ‘ˆπ‘£U_{v}italic_U start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. As a result, the degree of each vertex in U1βˆͺU2βˆͺ…βˆͺUnsubscriptπ‘ˆ1subscriptπ‘ˆ2…subscriptπ‘ˆπ‘›U_{1}\cup U_{2}\cup\ldots\cup U_{n}italic_U start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT βˆͺ italic_U start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT βˆͺ … βˆͺ italic_U start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT is 1, the degree of each vertex in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is n𝑛nitalic_n, and the degree of each vertex in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is n+n⁒log2⁑n𝑛𝑛superscript2𝑛n+n\log^{2}nitalic_n + italic_n roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n. Therefore, we have Δ⁒(H)=O~⁒(n)Δ𝐻~𝑂𝑛\Delta(H)=\widetilde{O}(n)roman_Ξ” ( italic_H ) = over~ start_ARG italic_O end_ARG ( italic_n ).

Because of the way we constructed the graph, it is not hard to see that we can find the i𝑖iitalic_i-th neighbor of the adjacency list of each vertex in H𝐻Hitalic_H using only a single query to the adjacency matrix of G𝐺Gitalic_G.

Observation 7.1.

For each vertex v𝑣vitalic_v in graph H𝐻Hitalic_H, the i𝑖iitalic_i-th neighbor of H𝐻Hitalic_H can be found using at most a single adjacency matrix query in G𝐺Gitalic_G.

Proof.

If i>degH⁑(v)𝑖subscriptdegree𝐻𝑣i>\deg_{H}(v)italic_i > roman_deg start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_v ), we can simply certify this since the degree of each vertex in H𝐻Hitalic_H is determined by the vertex set to which v𝑣vitalic_v belongs. If v∈Uj𝑣subscriptπ‘ˆπ‘—v\in U_{j}italic_v ∈ italic_U start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, then the only neighbor of v𝑣vitalic_v is j𝑗jitalic_j in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. If v∈V1𝑣subscript𝑉1v\in V_{1}italic_v ∈ italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, we make an adjacency matrix query for (v,i)𝑣𝑖(v,i)( italic_v , italic_i ), and based on the result, the i𝑖iitalic_i-th neighbor is either vertex i𝑖iitalic_i in V1subscript𝑉1V_{1}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT or in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. A similar procedure applies for v∈V2𝑣subscript𝑉2v\in V_{2}italic_v ∈ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT when i≀n𝑖𝑛i\leq nitalic_i ≀ italic_n. If i>n𝑖𝑛i>nitalic_i > italic_n for v∈V2𝑣subscript𝑉2v\in V_{2}italic_v ∈ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, we return the (iβˆ’n)𝑖𝑛(i-n)( italic_i - italic_n )-th vertex in Uvsubscriptπ‘ˆπ‘£U_{v}italic_U start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. ∎

Modification to the algorithm:

Since the graph contains Θ~⁒(n2)~Θsuperscript𝑛2\widetilde{\Theta}(n^{2})over~ start_ARG roman_Θ end_ARG ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) vertices, we cannot afford to apply the sparsification step to all vertices. However, vertices in U1βˆͺ…βˆͺUnsubscriptπ‘ˆ1…subscriptπ‘ˆπ‘›U_{1}\cup\ldots\cup U_{n}italic_U start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT βˆͺ … βˆͺ italic_U start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT have degree 1. Therefore, we apply the sparsification step only to vertices in V1subscript𝑉1V_{1}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Since we have |V1|+|V2|=2⁒nsubscript𝑉1subscript𝑉22𝑛|V_{1}|+|V_{2}|=2n| italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT | + | italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT | = 2 italic_n, we can apply the sparsification for these sets in O~⁒(n⁒n)~𝑂𝑛𝑛\widetilde{O}(n\sqrt{n})over~ start_ARG italic_O end_ARG ( italic_n square-root start_ARG italic_n end_ARG ) time. We first iterate over the vertices in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and apply the sparsification step, and then we apply it to the vertices in V1subscript𝑉1V_{1}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. This ordering ensures that most vertices in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT get matched to vertices in U1βˆͺ…βˆͺUnsubscriptπ‘ˆ1…subscriptπ‘ˆπ‘›U_{1}\cup\ldots\cup U_{n}italic_U start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT βˆͺ … βˆͺ italic_U start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT in this step, which is desirable for our application.

Claim 7.2.

After the sparsification step, each vertex in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is matched by M𝑀Mitalic_M with high probability. Moreover, at most n/log⁑n𝑛𝑛n/\log nitalic_n / roman_log italic_n vertices in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are matched to vertices in V1βˆͺV2subscript𝑉1subscript𝑉2V_{1}\cup V_{2}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT βˆͺ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT with high probability.

Proof.

Note that we first process the vertices in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. At the time we process a vertex v∈V2𝑣subscript𝑉2v\in V_{2}italic_v ∈ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, it has at least n⁒log2⁑n𝑛superscript2𝑛n\log^{2}nitalic_n roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n neighbors due to its neighbors in Uvsubscriptπ‘ˆπ‘£U_{v}italic_U start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. Since, after sparsification, each vertex must have a degree of O~⁒(n)~𝑂𝑛\widetilde{O}(\sqrt{n})over~ start_ARG italic_O end_ARG ( square-root start_ARG italic_n end_ARG ) with high probability by LemmaΒ 4.3, all vertices in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT will be matched with high probability.

Additionally, at the time we process a vertex v∈V2𝑣subscript𝑉2v\in V_{2}italic_v ∈ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, it has n⁒log2⁑n𝑛superscript2𝑛n\log^{2}nitalic_n roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n unmatched neighbors in Uvsubscriptπ‘ˆπ‘£U_{v}italic_U start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. On the other hand, it has at most n𝑛nitalic_n neighbors in the rest of the graph. Thus, with a probability of at most 1/log2⁑n1superscript2𝑛1/\log^{2}n1 / roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n, it gets matched to a vertex outside Uvsubscriptπ‘ˆπ‘£U_{v}italic_U start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. Therefore, in expectation, at most n/log2⁑n𝑛superscript2𝑛n/\log^{2}nitalic_n / roman_log start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_n vertices in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are matched to vertices in V1βˆͺV2subscript𝑉1subscript𝑉2V_{1}\cup V_{2}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT βˆͺ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Using the Chernoff bound, we can conclude that at most n/log⁑n𝑛𝑛n/\log nitalic_n / roman_log italic_n vertices in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are matched to vertices in V1βˆͺV2subscript𝑉1subscript𝑉2V_{1}\cup V_{2}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT βˆͺ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT with high probability. ∎

Equipped with this reduction, we can now simply run the rest of the algorithm for vertices in V1subscript𝑉1V_{1}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. The only difference is that we exclude the edges of M𝑀Mitalic_M that lie between V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and U1βˆͺ…βˆͺUnsubscriptπ‘ˆ1…subscriptπ‘ˆπ‘›U_{1}\cup\ldots\cup U_{n}italic_U start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT βˆͺ … βˆͺ italic_U start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT in the estimation. Additionally, in the final estimation, the algorithm returns the previous estimate minus n/log⁑n𝑛𝑛n/\log nitalic_n / roman_log italic_n, accounting for the vertices in V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT that are not matched within V1βˆͺV2subscript𝑉1subscript𝑉2V_{1}\cup V_{2}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT βˆͺ italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, which introduces an additional o⁒(n)π‘œπ‘›o(n)italic_o ( italic_n ) additive error. Thus we obtain:

See 1.2

References

  • [ABR24] Amir Azarmehr, Soheil Behnezhad, and Mohammad Roghani. Fully dynamic matching: (2βˆ’2)22(2-\sqrt{2})( 2 - square-root start_ARG 2 end_ARG )-approximation in polylog update time. In DavidΒ P. Woodruff, editor, Proceedings of the 2024 ACM-SIAM Symposium on Discrete Algorithms, SODA 2024, Alexandria, VA, USA, January 7-10, 2024, pages 3040–3061. SIAM, 2024.
  • [ARVX12] Noga Alon, Ronitt Rubinfeld, Shai Vardi, and Ning Xie. Space-Efficient Local Computation Algorithms. In Proceedings of the Twenty-Third Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2012, Kyoto, Japan, January 17-19, 2012, pages 1132–1139, 2012.
  • [Beh21] Soheil Behnezhad. Time-optimal sublinear algorithms for matching and vertex cover. In 62nd IEEE Annual Symposium on Foundations of Computer Science, FOCS 2021, Denver, CO, USA, February 7-10, 2022, pages 873–884. IEEE, 2021.
  • [Beh23] Soheil Behnezhad. Dynamic algorithms for maximum matching size. In Nikhil Bansal and Viswanath Nagarajan, editors, Proceedings of the 2023 ACM-SIAM Symposium on Discrete Algorithms, SODA 2023, Florence, Italy, January 22-25, 2023, pages 129–162. SIAM, 2023.
  • [BKS23a] Sayan Bhattacharya, Peter Kiss, and Thatchaphol Saranurak. Dynamic (1+Ξ΅)1πœ€(1+\varepsilon)( 1 + italic_Ξ΅ )-approximate matching size in truly sublinear update time. In 2023 IEEE 64th Annual Symposium on Foundations of Computer Science (FOCS), pages 1563–1588. IEEE, 2023.
  • [BKS23b] Sayan Bhattacharya, Peter Kiss, and Thatchaphol Saranurak. Sublinear algorithms for (1.5+Ξ΅πœ€\varepsilonitalic_Ξ΅)-approximate matching. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, pages 254–266, 2023.
  • [BKSW23] Sayan Bhattacharya, Peter Kiss, Thatchaphol Saranurak, and David Wajc. Dynamic matching with better-than-2 approximation in polylogarithmic update time. In Nikhil Bansal and Viswanath Nagarajan, editors, Proceedings of the 2023 ACM-SIAM Symposium on Discrete Algorithms, SODA 2023, Florence, Italy, January 22-25, 2023, pages 100–128. SIAM, 2023.
  • [BRR23a] Soheil Behnezhad, Mohammad Roghani, and Aviad Rubinstein. Local computation algorithms for maximum matching: New lower bounds. In 2023 IEEE 64th Annual Symposium on Foundations of Computer Science (FOCS), pages 2322–2335. IEEE, 2023.
  • [BRR23b] Soheil Behnezhad, Mohammad Roghani, and Aviad Rubinstein. Sublinear time algorithms and complexity of approximate maximum matching. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, pages 267–280, 2023.
  • [BRR24] Soheil Behnezhad, Mohammad Roghani, and Aviad Rubinstein. Approximating maximum matching requires almost quadratic time. In Proceedings of the 56th Annual ACM Symposium on Theory of Computing, pages 444–454, 2024.
  • [BRRS23] Soheil Behnezhad, Mohammad Roghani, Aviad Rubinstein, and Amin Saberi. Beating greedy matching in sublinear time. In Nikhil Bansal and Viswanath Nagarajan, editors, Proceedings of the 2023 ACM-SIAM Symposium on Discrete Algorithms, SODA 2023, Florence, Italy, January 22-25, 2023, pages 3900–3945. SIAM, 2023.
  • [CKK20] YuΒ Chen, Sampath Kannan, and Sanjeev Khanna. Sublinear algorithms and lower bounds for metric tsp cost estimation. arXiv preprint arXiv:2006.05490, 2020.
  • [Gha22] Mohsen Ghaffari. Local computation of maximal independent set. In 63rd IEEE Annual Symposium on Foundations of Computer Science, FOCS 2022, Denver, CO, USA, October 31 - November 3, 2022, pages 438–449, 2022.
  • [KMNFT20] Michael Kapralov, Slobodan MitroviΔ‡, Ashkan Norouzi-Fard, and Jakab Tardos. Space efficient approximation to maximum matching size from uniform edge samples. In Proceedings of the Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1753–1772. SIAM, 2020.
  • [KN21] Christian Konrad and KheeranΒ K. Naidu. On two-pass streaming algorithms for maximum bipartite matching. In Mary Wootters and Laura Sanita, editors, Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, APPROX/RANDOM 2021, August 16-18, 2021, University of Washington, Seattle, Washington, USA (Virtual Conference), volume 207 of LIPIcs, pages 19:1–19:18, 2021.
  • [LRY17] Reut Levi, Ronitt Rubinfeld, and Anak Yodpinyanee. Local computation algorithms for graphs of non-constant degrees. Algorithmica, 77(4):971–994, 2017.
  • [MRTV25] Sepideh Mahabadi, Mohammad Roghani, Jakub Tarnawski, and Ali Vakilian. Sublinear Metric Steiner Tree via Improved Bounds for Set Cover. In Raghu Meka, editor, 16th Innovations in Theoretical Computer Science Conference (ITCS 2025), volume 325 of Leibniz International Proceedings in Informatics (LIPIcs), pages 74:1–74:24, Dagstuhl, Germany, 2025. Schloss Dagstuhl – Leibniz-Zentrum fΓΌr Informatik.
  • [NO08] HuyΒ N Nguyen and Krzysztof Onak. Constant-time approximation algorithms via local improvements. In 2008 49th annual IEEE symposium on foundations of computer science, pages 327–336. IEEE, 2008.
  • [PR07] Michal Parnas and Dana Ron. Approximating the Minimum Vertex Cover in Sublinear Time and a Connection to Distributed Algorithms. Theor. Comput. Sci., 381(1-3):183–196, 2007.
  • [RTVX11] Ronitt Rubinfeld, Gil Tamir, Shai Vardi, and Ning Xie. Fast local computation algorithms. In Innovations in Computer Science - ICS 2011, Tsinghua University, Beijing, China, January 7-9, 2011. Proceedings, pages 223–238, 2011.
  • [YYI09] Yuichi Yoshida, Masaki Yamamoto, and Hiro Ito. An improved constant-time approximation algorithm for maximum matchings. In Michael Mitzenmacher, editor, Proceedings of the 41st Annual ACM Symposium on Theory of Computing, STOC 2009, Bethesda, MD, USA, May 31 - June 2, 2009, pages 225–234. ACM, 2009.