On the Communication Complexity of
Maximum Matching and Negative-Weight Shortest Paths


Abstract

We revisit several fundamental graph problems in the deterministic two-party communication model. Our main contributions include:

  • We give a new \(\widetilde{O}(n^{3/2})\)-bit protocol for computing a maximum matching in general graphs. While the same upper bound can be obtained by simulating the classic algorithms of Micali-Vazirani [1] and Gabow [2], our protocol is conceptually simple and avoids the intricacies of finding a maximal set of shortest augmenting paths.

  • We give a new \(\widetilde{O}(n)\)-bit protocol for negative-cycle detection and negative-weight single-source shortest paths. Our protocol simplifies that of Blikstad et al. [3] by replacing a long chain of reductions with a more direct approach based on vertex potentials.

  • We give a combinatorial \(\widetilde{O}(n)\)-bit protocol for computing a maximum matching in bipartite graphs, obtained by reinterpreting the near-linear communication protocol of Blikstad et al. [3] through a discretized analysis.

Together, these results provide simpler protocols for several basic graph problems. We hope they will inspire further advances on the communication complexity of a wide range of graph problems.

1 Introduction↩︎

Graph theory is central to computer science, both in theory and in practice. The field studies fundamental problems such as connectivity, shortest paths, matching, spanning forests, and cycle detection. Efficient solutions for these problems form the algorithmic backbone of many computational systems. While the complexity of these problems is well understood in centralized models, much less is known when the input is distributed across players with only partial views of the graph.

In this work, we study the communication complexity of graph problems in the standard two-party model [4]. The edge set of a graph is partitioned between two players, Alice and Bob, who must collaboratively solve a global graph problem while minimizing the amount of communication between them. Although this model is closely related to query, streaming, and distributed models of computation, many fundamental graph problems remain poorly understood from the perspective of communication complexity.

A recent breakthrough of Blikstad et al. [3] showed that maximum bipartite matching and several problems reducible to it admit deterministic protocols using only \(\widetilde{O}(n)\) bits of communication.5 At the core of their approach is a cutting-plane framework testing whether a polytope (or feasible region of a linear program (LP)) is empty or has non-trivial volume. This framework is particularly well-suited for the two-party edge-partition model: Given a graph problem \(\mathcal{T}\), one formulates an LP whose feasibility gives the answer to \(\mathcal{T}\), with constraints that are locally checkable and succinctly encodable for communication. The cutting-plane framework is then used to determine the feasibility of this LP, and the result is translated back into an answer for \(\mathcal{T}\).

As a concrete example, Blikstad et al. [3] obtained a near-linear communication protocol for bipartite matching via the dual LP. Specifically, they reduce maximum bipartite matching to testing the feasibility of a vertex cover LP, which can be done using \(O(n\log^2 n)\) bits of communication via the cutting-plane framework.

1.1 Our Contributions↩︎

1.1.1 Maximum Matching in General Graphs↩︎

Given the success of LP-based methods for bipartite graphs, a natural question is whether the same framework can be extended to general (non-bipartite) matching. However, general graphs do not admit a polynomial-size LP formulation with the same clean matching/vertex-cover duality as in bipartite graphs. The standard (primal) LP for non-bipartite matching has exponentially many constraints, so its dual LP has exponentially many variables. This makes it difficult to generalize the volume-based analysis in [3], which is highly sensitive to the dimension of the underlying polytope.

While achieving near-linear communication for general matching appears to require new ideas, we make partial progress by designing a simple protocol for general matching using \(\widetilde{O}(n^{3/2})\) bits of communication.

Theorem 1 (Informal). There is a deterministic two-party communication protocol for maximum matching in general graphs using \(\widetilde{O}(n^{3/2})\) bits.

This \(\widetilde{O}(n^{3/2})\)-bit upper bound is not entirely new: it can also be obtained by simulating the classic \(O(m\sqrt n)\)-time algorithms such as Micali-Vazirani [1] and Gabow [2]. However, these algorithms are quite intricate even in the sequential setting. Although local computation is free in the communication model (which makes sophisticated data structures less of a bottleneck), turning them into explicit communication-efficient protocols still requires a careful implementation of the many steps in these algorithms.

Our main contribution lies in the simplicity of both the protocol and its correctness proof. At a high level, our protocol combines a greedy approach based on the Tutte-Berge formula with a careful simulation of Edmonds’ Blossom algorithm [5]. For the protocol description, it suffices to focus on the problem of deciding whether the input graph has a perfect matching. In the first phase, we maintain the set of low-value Tutte-Berge covers (1) that cover the edges revealed so far, and greedily reveal edges that invalidate as many such covers as possible. The first phase uses \(\widetilde{O}(n^{3/2})\) bits of communication, and either correctly decides that no perfect matching exists, or returns a matching of size \(\frac{n}{2}-\widetilde{O}(\sqrt n)\). In the second phase, we simulate \(\widetilde{O}(\sqrt n)\) rounds of the Blossom algorithm to augment this partial matching to a perfect matching, using another \(\widetilde{O}(n^{3/2})\) bits of communication. It is worth noting that our greedy first phase is conceptually simple and more communication-efficient than directly simulating the Blossom algorithm from scratch (which would require \(\widetilde{O}(n^2)\) bits).

1.1.2 Beyond Bipartite Matching↩︎

We revisit the cutting-plane approach of [3]. By abstracting away the problem-specific aspects of its application to bipartite matching, we show that it provides a general framework for designing communication-efficient protocols for graph problems.

We consider the following four tasks:

  • \(\mathsf{Cycle}\): Given an unweighted directed graph, decide whether it contains a directed cycle.

  • \(\mathsf{NegativeCycle}\): Given a directed graph with integer weights in \([-W, W]\), decide whether it contains a negative-weight cycle.

  • \(\mathsf{SSSP}\): Given a directed graph with integer weights in \([0, W]\) and a source vertex \(s\), compute the shortest-path distances from \(s\) to every vertex \(v\).

  • \(\mathsf{NegativeSSSP}\): Given a directed graph with integer weights in \([-W, W]\) and a source vertex \(s\), either detect a negative-weight cycle or, if none exists, compute the shortest-path distances from \(s\) to every vertex \(v\).

Theorem 2 (Informal). There are deterministic two-party communication protocols using \(O(n \cdot \mathrm{polylog}(n, W))\) bits of communication for \(\mathsf{Cycle}\), \(\mathsf{NegativeCycle}\), \(\mathsf{SSSP}\), and \(\mathsf{NegativeSSSP}\).

Two of these problems admit straightforward near-linear communication protocols via simulations of classical algorithms: \(\mathsf{Cycle}\) can be solved using Kosaraju’s algorithm, and \(\mathsf{SSSP}\) can be solved using Dijkstra’s algorithm. We discuss these simulations in 8 and 9.

The remaining two problems, \(\mathsf{NegativeCycle}\) and \(\mathsf{NegativeSSSP}\), are more challenging due to the presence of negative edge weights. In the sequential setting, both can be solved using the Bellman-Ford algorithm. However, a straightforward simulation of Bellman-Ford requires \(\widetilde{\Omega}(n^2)\) bits in the communication model. To avoid this cost, we apply the cutting-plane framework of [3] to a vertex-potential polytope (which encodes the triangle inequalities for shortest-path distances). This gives a near-linear communication protocol for \(\mathsf{NegativeCycle}\), as we discuss in 4.1. Moreover, a feasible point of this polytope is a key ingredient in our protocol for \(\mathsf{NegativeSSSP}\).

The near-linear communication upper bound for \(\mathsf{NegativeSSSP}\) is not new: it was established in [3]. Their approach, however, proceeds through a chain of reductions, ultimately reducing \(\mathsf{NegativeSSSP}\) to bipartite min-cost \(b\)-matching, which they solve using \(\widetilde{O}(n)\) bits of communication (see 1). These layers of reductions make it difficult to extract a self-contained protocol for \(\mathsf{NegativeSSSP}\) from their work.

Figure 1: A sequence of reductions that computes negative-weight SSSP in O(n \log^2(nW)) bits of communication. The reductions (*) are given in [6] and (#) are given in [3].

Our contribution is a conceptually simple and direct protocol for \(\mathsf{NegativeSSSP}\) that avoids these reductions. At a high level, the protocol computes a feasible point of the vertex-potential polytope used for \(\mathsf{NegativeCycle}\). We then use this point as a proxy for the vertex potentials that would arise in Johnson’s algorithm for all-pairs shortest paths. Reweighting the edges using these potentials essentially yields a communication-efficient reduction from \(\mathsf{NegativeSSSP}\) to \(\mathsf{SSSP}\). Combined with an efficient simulation of Dijkstra’s algorithm, this allows us to recover the exact shortest-path distances using near-linear communication. We describe our approach in detail in 4.2.

1.1.3 Combinatorial Protocol for Bipartite Matching↩︎

We present a combinatorial variant of the near-linear communication protocol for bipartite matching in [3]. Instead of tracking the continuous volume of the vertex-cover polytope, our protocol tracks a discrete analogue: the number of feasible grid points, corresponding to \(\frac{1}{\mathrm{poly}(n)}\)-integral vertex covers. We show that this discrete “volume” is a sufficiently accurate proxy for continuous volume in the analysis. This gives a near-linear communication protocol for bipartite matching whose implementation is purely combinatorial. We discuss this in 5.

1.2 Two-Party Communication Complexity of Graph Problems↩︎

Table 1: Two-party communication complexities of various graph problems.
Problem Communication Complexity Remarks
Table Continued
Problem Communication Complexity Remarks
BFS, DFS, spanning forest, connectivity, reachability \(\Theta(n \log n)\) Direct simulation of classic algorithms; lower bound by [7].
\(k\)-edge connectivity \(O(kn \log n)\) Nagamochi-Ibaraki algorithm [8]
using \(k\) spanning forests.
\(s\)-\(t\) vertex connectivity \(\widetilde{O}(n)\) A reduction to vertex-capacitated max flow [3].
Global vertex connectivity \(\Theta(n^2)\) (det.)
\(\widetilde{\Theta}(n^{3/2})\) (rand.)
Combining local connectivity (det.);
[9] (rand.).
Bipartite maximum matching \(O(n \log^2 n)\) Continuous LP-based protocol [3]. We give a combinatorial protocol in 5.2.
General maximum matching \(\widetilde{O}(n^{3/2})\) Simulation of [1], [2]. We give a simple protocol in 2.
Strongly connected components \(O(n \log n)\) Kosaraju’s algorithm (see 8).
Directed cycle detection \(O(n \log n)\) Kosaraju’s algorithm and DFS
(see 8).
Negative cycle detection \(O(n \log^2(nW))\) A chain of reductions [3]. We give a simple protocol in 4.1.
Single-source shortest paths
(SSSP)
\(O(n \log(nW))\) Dijkstra’s algorithm (see 9).
Negative-weight SSSP \(O(n \log^2(nW))\) Reducing to bipartite
min-cost \(b\)-matching [3]. We give a simple protocol in 4.2.
Global min-cut \(\widetilde{O}(n)\) Derandomized reduction to cut-query
algorithms of [10][12].
Exact min \(s\)-\(t\) cut and undirected uncapacitated max flow \(\widetilde{O}(n^{11/7})\) (det.)
\(\widetilde{O}(n^{3/2})\) (rand.)
[13] (det.);
[14][16] (rand.).
Cut sparsification \(\widetilde{O}(n/\varepsilon^2)\) Combining local cut sparsifiers of size \(\widetilde{O}(n/\varepsilon^2)\) from both players.
\(\varepsilon\)-approximate min \(s\)-\(t\) cut \(\widetilde{O}(n/\varepsilon^2)\) Taking a min \(s\)-\(t\) cut of a cut sparsifier.
Minimum spanning tree \(\widetilde{O}(n)\) Simulating Kruskal’s algorithm.
\((\Delta+1)\)-coloring \(\widetilde{O}(n)\) (det.)
\(\Theta(n)\) (rand.)
[17] (det.);
[18] (rand.).

2 Maximum Matching in General Graphs↩︎

The problem of perfect matching in general graphs (\(\mathsf{PM}\)) is defined in the communication model as follows: Alice and Bob are given a disjoint edge partition of a graph \(G=(V,E)\) where \(n = |V|\) is even. Their goal is to determine whether \(G\) has a perfect matching and, if so, to output one.

In this section, we present a deterministic \(\widetilde{O}(n^{3/2})\)-bit communication protocol for \(\mathsf{PM}\).

Theorem 3. There is a deterministic protocol \(\mathcal{P}^{\textrm{PM}}\) that solves \(\mathsf{PM}\) using \(O(n^{3/2}\log^{3/2} n)\) bits of communication.

As a corollary, the protocol can be extended to compute a maximum matching with an additional \(O(\log n)\) factor in communication.

Corollary 1. There is a deterministic protocol \(\mathcal{P}^{\textrm{MM}}\) that computes a maximum matching in \(G\) using \(O(n^{3/2}\log^{5/2} n)\) bits of communication.

Proof. For \(0 \le r \le \frac{n}{2}\), let \(G_r\) be the graph obtained by adding \(n-2r\) new auxiliary vertices to \(G\), connecting each auxiliary vertex to every original vertex (and no edges between auxiliary vertices). Observe that \(G_r\) has a perfect matching if and only if \(G\) has a matching of size at least \(r\).6 Thus, Alice and Bob can binary search over \(r\) to find the size of a maximum matching in \(G\) using \(O(\log n)\) calls to \(\mathcal{P}^{\textrm{PM}}\) on graphs \(G_r\) with at most \(2n\) vertices. For the final value of \(r\), the original-original edges in a perfect matching of \(G_r\) form a maximum matching of \(G\). By 3, the total communication is \(O(\log n) \cdot O(n^{3/2}\log^{3/2}n) = O(n^{3/2}\log^{5/2} n)\) bits. ◻

2.0.0.1 A Two-Phase Protocol for Perfect Matching.

We now describe the protocol for 3. Fix an integer parameter \(1 \le k < \frac{n}{2}\) to be optimized later. The protocol proceeds in two phases.

  • In Phase 1, Alice and Bob either find a matching of size \(\frac{n}{2}-k\), or correctly conclude that \(G\) has no perfect matching. Phase 1 requires \(O\!\left(\frac{n^2\log^2 n}{k}\right)\) bits of communication.

  • In Phase 2, starting from a matching of size \(\frac{n}{2}-k\), Alice and Bob repeatedly find augmenting paths. This requires \(k\) iterations to reach a perfect matching if one exists. By simulating the blossom algorithm [5], each augmenting path can be found using \(O(n\log n)\) bits of communication. Phase 2 requires \(O(kn\log n)\) bits of communication.

Choosing \(k=\Theta(n^{1/2} \log^{1/2} n)\) gives total communication \[O\!\left(\frac{n^2\log^2 n}{k}+kn\log n\right) = O(n^{3/2}\log^{3/2} n),\] which proves 3.

We next describe Phase 1 and analyze its correctness and communication cost in 2.1. The implementation and analysis of Phase 2 are deferred to 6.

2.1 Phase One: Eliminating Tutte-Berge Covers↩︎

In this section, we show how to implement Phase 1 of the protocol.

Lemma 1. Let \(G = (V, E)\) be a general graph where \(n = |V|\) is even. Let \(1 \le k < \frac{n}{2}\). There is a deterministic protocol that, using \(O\!\left(\frac{n^2\log^2 n}{k}\right)\) bits of communication, either finds a matching of \(G\) of size \(\frac{n}{2}-k\), or correctly concludes that \(G\) has no perfect matching.

The key idea is based on the Tutte-Berge formula [19], [20] (4), which gives a min-max characterization of the maximum matching size in general graphs. Motivated by this, we define the notion of Tutte-Berge covers (1), which play a similar role as vertex covers in bipartite graphs: a low-value Tutte-Berge cover of \(G\) certifies that \(G\) cannot have a large matching.

Phase 1 maintains a public graph \(H\subseteq G\) and the set \(\mathcal{C}\) of low-value Tutte-Berge covers that cover \(H\). Alice and Bob repeatedly reveal edges to invalidate covers in \(\mathcal{C}\). If \(\mathcal{C}\) becomes empty, then the Tutte-Berge formula implies that \(H\) has a matching of the target size. If some cover in \(\mathcal{C}\) survives all edges of \(G\), then it certifies that \(G\) has no perfect matching. The main point of the analysis is that, when \(G\) has a perfect matching \(M\), every remaining cover is invalidated by many edges of \(M\), so the players can eliminate covers quickly.

Definition 1 (Tutte-Berge Cover). Let \(V\) be a vertex set. A Tutte-Berge cover is a tuple \(C = (A, S_1, \ldots, S_t)\) such that \(A, S_1, \ldots, S_t\) form a partition of \(V\), and each \(S_i\) has odd size.

The value of \(C\) is defined as \[\delta(C) := |A| + \sum_{i=1}^t \frac{|S_i|-1}{2}.\]

We say that \(C\) covers an edge \(e = (u, v)\) if either \(u \in A\) or \(v \in A\), or if both \(u\) and \(v\) are in \(S_i\) for some \(i \in [t]\). For a graph \(H\), we say that \(C\) covers \(H\) if it covers every edge in \(E(H)\). We say an edge \(e\) invalidates \(C\) if \(C\) does not cover \(e\).

Figure 2: An example of a Tutte-Berge cover C=(A=\{v_2\}, S_1=\{v_1,v_4,v_5\}, S_2=\{v_3\}, S_3=\{v_6\}), whose value is \delta(C)=|A|+\sum_i \frac{|S_i|-1}{2}=2.The solid edges are exactly the edges covered by C.An edge with endpoints in two different odd sets invalidates C, e.g., the dashededge (v_3,v_6).

We use the following classical result as a black box.

Theorem 4 (Tutte-Berge Formula [19], [20]). For every graph \(G\), \[\max_{\textrm{ matching M of G}} |M| = \min_{\textrm{ Tutte-Berge cover C of G}} \delta(C).\]

We now describe Phase 1 of the protocol (3).

Figure 3: Phase 1 of \mathcal{P}^{\mathsf{PM}}

The following lemma will be useful for showing that the players can make good progress.

Lemma 2. Let \(C\) and \(M\) be a Tutte-Berge cover and a matching on the same vertex set \(V\), respectively. Then \(C\) covers at most \(\delta(C)\) edges of \(M\).

In particular, if \(|V| = n\) is even, \(M\) is a perfect matching, and \(\delta(C) = \frac{n}{2} - k - 1\), then at least \(k + 1\) edges of \(M\) invalidate \(C\).

Proof. Let \(C = (A, S_1, \ldots, S_t)\). By definition, \(C\) covers an edge only if it is incident to \(A\) or lies inside some \(S_i\). Because \(M\) is a matching, at most \(|A|\) edges of \(M\) are incident to \(A\), and at most \(\frac{|S_i|-1}{2}\) edges lie inside each \(S_i\) as \(|S_i|\) is odd. Therefore, \(C\) can cover at most \(|A| + \sum_{i=1}^t \frac{|S_i|-1}{2} = \delta(C)\) edges of \(M\).

For the second claim, a perfect matching has \(\frac{n}{2}\) edges, of which at most \(\delta(C) = \frac{n}{2} - k - 1\) are covered. The remaining \(\frac{n}{2} - \bigl(\frac{n}{2} - k - 1\bigr) = k + 1\) edges are uncovered by, and each invalidates \(C\). ◻

We are now ready to prove the correctness of 3 and analyze the communication cost of simulating it.

Proof of 1. Throughout 1, \(\mathcal{C}\) is maintained to be exactly the set of Tutte-Berge covers of value \(\frac{n}{2}-k-1\) that cover the current graph \(H\). We consider each of the algorithm’s return statements.

Case 1: The algorithm returns at Line [line:phase1-no-edge] in iteration \(i\). Then \(\mathcal{C} \ne \varnothing\), otherwise the algorithm would have returned at Line [line:phase1-cover-empty] in the previous iteration. Fix any \(C \in \mathcal{C}\). We know \(C\) covers \(H\), and since no edge in \(G \setminus H\) invalidates \(C\), \(C\) covers \(G\). By 2, every matching of \(G\) has size at most \(\delta(C) = \frac{n}{2}-k-1 < \frac{n}{2}\). The algorithm correctly decides that \(G\) has no perfect matching.

Case 2: The algorithm returns at Line [line:phase1-cover-empty] in iteration \(i\). Then \(H\) has no Tutte-Berge covers of value at most \(\frac{n}{2}-k-1\).7 Consequently, by 4, the maximum matching size of \(H \subseteq G\) is at least \(\frac{n}{2}-k\). The algorithm correctly returns such a matching.

Case 3: The algorithm returns at Line [line:phase1-loop-exhausted] after \(T\) iterations. Suppose for contradiction that \(G\) has a perfect matching \(M\).

Let \(\mathcal{C}_i\) denote \(\mathcal{C}\) at the start of iteration \(i\). Then \(\mathcal{C}_i \ne \varnothing\) for all \(i = 0, \ldots, T-1\). Fix any \(i\). By 2, each \(C \in \mathcal{C}_i\) is invalidated by at least \(k+1\) edges of \(M\). By double counting and averaging, some edge \(e \in M\) invalidates at least a \(\frac{2k}{n}\)-fraction of the covers in \(\mathcal{C}_i\).

The algorithm greedily chooses the next edge, which eliminates at least this many covers, so \(|\mathcal{C}_{i+1}| \le \left(1-\frac{2k}{n}\right)|\mathcal{C}_i|\). Since \(|\mathcal{C}_0| \le (n+1)^n\), after \(T\) iterations \[|\mathcal{C}_{T}| \le \left(1-\frac{2k}{n}\right)^T (n+1)^n \le \exp\!\left(-\frac{2kT}{n}\right)(n+1)^n < 1,\] using \(1-x \le e^{-x}\) and our choice of \(T = \bigl\lceil \frac{n^2\ln n}{k}\bigr\rceil\). This contradicts \(\mathcal{C}_T \ne \varnothing\). Therefore, the algorithm correctly concludes that \(G\) has no perfect matching.

Finally, we analyze the communication cost. Since \(H\) and \(\mathcal{C}\) are public, each player can locally compute how many covers in \(\mathcal{C}\) each of their own edge invalidates. In each iteration, Alice sends her best edge and Bob sends his, and they take whichever invalidates more covers (breaking ties by taking Alice’s edge). Each iteration requires \(O(\log n)\) bits of communication. There are \(T = O\!\left(\frac{n^2 \log n}{k}\right)\) iterations, so the total communication is \(O(T \log n) = O\!\left(\frac{n^2 \log^2 n}{k}\right)\) bits. ◻

3 A Cutting-Plane Framework for Polytope Emptiness Testing↩︎

In this section, we describe a cutting-plane framework for testing whether a polytope is empty. The core idea is closely related to classical optimization techniques such as the center-of-gravity and ellipsoid methods. We do not claim novelty for this framework, as we distill it from [3], where it was used to obtain a near-linear communication protocol for bipartite matching. By abstracting away the problem-specific aspects of bipartite matching, we present it as a general framework that can be applied to other communication problems.

Consider the following “emptiness-testing” problem: given a convex polytope \(P \subseteq \mathbb{R}^n\) via a separation oracle, we are promised that either \(P = \varnothing\) or \(\operatorname{vol}(P) \ge \tau\) for some known volume threshold \(\tau > 0\). The goal is to determine which of the two cases holds using a small number of queries to the separation oracle of \(P\).

Figure 4: A cutting-plane algorithm for polytope emptiness testing

Lemma 3. Let \(P_0 \subseteq \mathbb{R}^n\) be a convex polytope with volume \(\operatorname{vol}(P_0) > 0\). Let \(0 < \tau < \operatorname{vol}(P_0)\). Let \(P \subseteq P_0\) be a convex polytope with the promise that either \(P = \varnothing\) or \(\operatorname{vol}(P) \ge \tau\). Then 4 correctly distinguishes between the two cases after making at most \(O\left(\log(\operatorname{vol}(P_0)/\tau)\right)\) queries to the separation oracle for \(P\). Moreover, in the case \(\operatorname{vol}(P) \ge \tau\), 4 also returns a point \(p \in P\).

We defer the proof of 3 to 7. 3 suggests the following general recipe for solving a graph problem \(\mathcal{T}\) via polytope emptiness testing:

  1. Reformulate a relevant (sub)problem as testing whether a convex polytope \(P\) is empty or has volume at least \(\tau\), for appropriate choices of \(P\) and \(\tau\).

  2. Show that a separation oracle for \(P\) can be efficiently simulated in the communication model.

  3. Apply 4 to distinguish between \(P = \varnothing\) and \(\operatorname{vol}(P) \ge \tau\).

  4. Translate the outcome back to the original problem \(\mathcal{T}\).

This recipe is particularly well-suited for the two-party model. Primal LP formulations of many graph problems (e.g., bipartite matching or shortest paths) have variables corresponding to edges, which are not jointly known by the players. The key observation is that the dual LPs often have one constraint per edge. In many cases, each player can locally check the constraints corresponding to their own edges, and a violated constraint can be encoded by a short message.

As concrete examples, [3] applied this framework to a fractional vertex-cover polytope (the dual of fractional matching). By Kőnig’s theorem, this polytope is empty if and only if the input graph has a perfect matching (see 5.1). In 4, we apply the same framework to a vertex-potential polytope (the dual of shortest paths) to obtain new communication protocols for negative cycle detection and negative-weight SSSP.

4 Negative Cycle Detection and Negative-Weight Shortest Paths↩︎

4.1 Negative Cycle Detection↩︎

The problem of negative cycle detection (\(\mathsf{NegativeCycle}\)) is defined as follows: Alice and Bob are given a disjoint edge partition of a directed weighted graph \(G = (V, E, w)\) with integer edge weights in \([-W, W]\). Their goal is to decide whether \(G\) has a negative cycle.

Let \(n = |V|\). We consider the following vertex-potential polytope, whose constraints encode approximate triangle inequalities. \[\label{eqn:triangle-ineq-polytope} P^{\triangle}(G) := \left\{ x \in \mathbb{R}^n \; \middle| \; \begin{align} &x_v - x_u \le w(u, v) + \tfrac{1}{n^2} && \forall (u,v) \in E \\ &0 \le x_v \le nW && \forall v \in V \end{align} \right\}.\tag{1}\]

The additive \(\frac{1}{n^2}\) slack will allow us to lower bound the volume of \(P^{\triangle}(G)\) when it is nonempty. At the same time, for integer edge weights, this slack does not affect negative-cycle detection: we show that \(P^{\triangle}(G)\) is empty if and only if \(G\) has a negative cycle.

Lemma 4. Let \(G = (V,E,w)\) be a directed weighted graph on \(n \ge 2\) vertices with integer edge weights in \([-W, W]\). Let \(P^{\triangle}(G)\) be the polytope defined in 1 .

  1. If \(G\) has a negative cycle, then \(P^{\triangle}(G) = \varnothing\).

  2. If \(G\) has no negative cycles, then \(\operatorname{vol}\!\left(P^{\triangle}(G)\right) \ge n^{-2n}\).

Proof. We first prove (1). Suppose for contradiction that \(P^{\triangle}(G) \ne \varnothing\), and let \(x \in P^{\triangle}(G)\). Let \((v_1,\ldots,v_k)\) be a negative cycle in \(G\) where \(k \le n\). Then for each \(i \in [k]\) (with \(v_{k+1} = v_1\)), we have \(x_{v_{i+1}} - x_{v_i} \le w(v_i, v_{i+1}) + \frac{1}{n^2}\). Since the cycle is negative and all edge weights are integers, \(\sum_{i \in [k]} w(v_i, v_{i+1}) \le -1\). Summing over \(i \in [k]\), we have \(0 = \sum_{i \in [k]} (x_{v_{i+1}} - x_{v_i}) \le \sum_{i \in [k]} w(v_i, v_{i+1}) + \frac{k}{n^2} \le -1 + \frac{1}{n} < 0\), which is a contradiction.

We now prove (2). When \(G\) has no negative cycles, we construct a polytope \(Q \subseteq P^{\triangle}(G)\) with volume \(n^{-2n}\). Let \(G'\) be the graph obtained from \(G\) by adding a new vertex \(s'\) and directed edges \((s', v)\) of weight \((n-1)W\) for all \(v \in V\). Since \(G'\) also has no negative cycles, shortest-path distances from \(s'\) are well-defined. Let \(d(v) := d_{G'}(s',v)\) for each \(v \in V\).

We note two properties of \(d(\cdot)\). First, \(d(\cdot)\) satisfies the triangle inequality: \(d(v) \le d(u) + w(u, v)\) for all \((u,v) \in E\). Second, \(d(v) \in [0, (n-1)W]\) for all \(v \in V\). The upper bound follows from the direct edge \((s',v)\), and for the lower bound, there is a shortest path \((s',v_1,\ldots,v_\ell = v)\) from \(s'\) to \(v\) with \(\ell \le n\), so \(d(v) = (n-1)W + \sum_{i=1}^{\ell-1} w(v_i, v_{i+1}) \ge (n-1)W + (\ell-1)(-W) \ge 0\).

Consider the \(n\)-dimensional cube \(Q := \prod_{v \in V}\!\left[d(v), d(v) + \frac{1}{n^2}\right]\). We can verify that \(Q \subseteq P^{\triangle}(G)\). Fix any \(q = (q_v)_{v \in V} \in Q\). We have \(0 \le d(v) \le q_v \le d(v) + \frac{1}{n^2} \le (n-1)W + \frac{1}{n^2} \le nW\). Moreover, for all \((u,v) \in E\), \(q_v - q_u \le d(v) + \frac{1}{n^2} - d(u) \le w(u, v) + \frac{1}{n^2}\) by the triangle inequality for \(d(\cdot)\). Therefore, \(\operatorname{vol}\!\left(P^{\triangle}(G)\right) \ge \operatorname{vol}(Q) = n^{-2n}\). ◻

We now present our protocol for \(\mathsf{NegativeCycle}\). Note that when \(G\) has no negative cycles, the protocol outputs a vector \(p \in P^{\triangle}(G)\), which we will use in 4.2 to solve \(\mathsf{NegativeSSSP}\).

Theorem 5. There is a deterministic protocol \(\mathcal{P}^{\mathsf{NegativeCycle}}\) that solves \(\mathsf{NegativeCycle}\) using \(O(n \log^2(nW))\) bits of communication. Moreover, if the input graph \(G\) has no negative cycles, the protocol outputs a vector \(p \in P^{\triangle}(G)\), where \(P^{\triangle}(G)\) is defined in 1 .

Proof. By 4, it suffices to distinguish whether \(P^{\triangle}(G) = \varnothing\) or \(\operatorname{vol}\!\left(P^{\triangle}(G)\right) \ge n^{-2n}\). Alice and Bob can do this by simulating 4 with \(P = P^{\triangle}(G)\), \(P_0 = [0,nW]^n\), and \(\tau = n^{-2n}\).

Note that \(P_0\) is public and independent of \(G\). Since \(P_i\) is entirely determined by \(P_0\) and previously communicated constraints, both players know \(P_i\) and can locally compute the center of mass \(p_i\) without communication. The constraints \(0 \le x_v \le nW\) are already captured by \(P_0\). To simulate the separation oracle for \(P\) at \(p_i\), Alice and Bob only need to check the edge constraints \(x_v - x_u \le w(u, v) + \tfrac{1}{n^2}\), each of which can be checked locally by the player holding the edge \((u,v)\). Both players send a violated constraint if they have one (or a null message otherwise). If both players send a violated constraint, they break ties by using Alice’s. If neither player sends a violated constraint, the oracle asserts \(p_i \in P\).

By 3, this protocol correctly distinguishes between the two promised cases after \(O(\log(\operatorname{vol}(P_0)/\tau)) = O(\log(n^{3n}W^n)) = O(n \log(nW))\) queries to the separation oracle, and outputs a point \(p \in P^{\triangle}(G)\) when \(P^{\triangle}(G) \ne \varnothing\). Each query to the separation oracle requires each player to communicate at most one constraint, and each constraint can be encoded using \(O(\log(nW))\) bits (i.e., an edge \((u,v)\) and its weight). Therefore, the total communication is \(O(n \log^2(nW))\) bits. ◻

4.2 Negative-Weight Single-Source Shortest Paths↩︎

The problem of negative-weight single-source shortest paths (\(\mathsf{NegativeSSSP}\)) is defined as follows: Alice and Bob are given a disjoint edge partition of a directed weighted graph \(G = (V, E, w)\) with integer edge weights in \([-W, W]\), and a source vertex \(s\in V\). Their goal is to either decide that \(G\) has a negative cycle or compute the single-source shortest-path distances \(d_G(s,v)\) for all \(v\in V\).

We use a vertex-potential reweighting idea, familiar from Johnson’s algorithm for all-pairs shortest paths [21]. For a function \(\phi: V \to \mathbb{R}\), let \[w_\phi(u,v) := w(u,v) + \phi(u) - \phi(v), \qquad \forall (u,v) \in E,\] and let \(G_\phi := (V, E, w_\phi)\). Along any path from \(s\) to \(v\), the \(\phi(\cdot)\) terms telescope. Taking the minimum over all \(s\)-\(v\) paths shows \[d_{G_\phi}(s,v) = d_G(s,v) + \phi(s) - \phi(v) \qquad \forall v \in V.\] In particular, if \(w_\phi(e) \ge 0\) for every edge \(e \in E\), one can compute \(d_{G_\phi}(s, \cdot)\) using any nonnegative-weight shortest-path algorithm and recover \(d_G(s,v)\).

In our application, setting \(\phi\) to the vector \(p \in P^{\triangle}(G)\) returned by 5 only guarantees \(w_\phi(u, v) \ge -\frac{1}{n^2}\). To obtain nonnegative edge weights, we round \(w_\phi(u, v)\) up to the nearest multiple of \(\frac{1}{n}\). This rounding has only a mild effect on shortest-path distances: it increases the weight of any single edge by at most \(\frac{1}{n}\) and the weight of any simple path by at most \(\frac{n-1}{n} < 1\). Since \(d_G(s,v)\) is an integer, we can then run a nonnegative-weight shortest-path algorithm and recover the original distances by taking floors at the end.8

Lemma 5 (Reweighting with approximate potentials). Let \(G=(V,E,w)\) be a directed graph on \(n\ge 2\) vertices with integer edge weights and no negative cycles. Suppose \(\phi:V\to\mathbb{R}\) satisfies \(w(u,v) + \phi(u) - \phi(v) \ge -\frac{1}{n^2}\) for all \((u,v)\in E\). Let \(\widetilde{G} = (V, E, \widetilde{w})\), where \[\widetilde{w}(u,v) := \frac{1}{n} \Bigl\lceil n \bigl( w(u,v) + \phi(u) - \phi(v) \bigr) \Bigr\rceil \qquad \forall (u,v)\in E.\] Then, \(\widetilde{w}(u,v)\ge 0\) for every \((u,v)\in E\). Moreover, \(G\) and \(\widetilde{G}\) have the same reachability relation, and for every vertex \(v \in V\) reachable from \(s\), \[d_G(s, v) = \Bigl\lfloor d_{\widetilde{G}}(s, v) + \phi(v) - \phi(s) \Bigr\rfloor.\]

Proof. Let \(w_\phi(u,v)=w(u,v)+\phi(u)-\phi(v)\) and \(G_\phi = (V, E, w_\phi)\). Since \(w_\phi(u,v) \ge -\frac{1}{n^2}\), we have \(n w_\phi(u,v) \ge -\frac{1}{n} > -1\). Therefore, \(\lceil n w_\phi(u,v)\rceil\ge 0\) and \(\widetilde{w}(u,v)\ge 0\).

Because \(\widetilde{G}\), \(G_\phi\), and \(G\) all share the same edge set \(E\), they share the same reachability relation.

Fix any \(v \in V\) reachable from \(s\). For every \(e \in E\), \(\widetilde{w}(e)\) rounds up \(w_\phi(e)\) to the nearest multiple of \(\frac{1}{n}\), so \[\label{eqn:w95phi95w95tilde} w_\phi(e) \le \widetilde{w}(e) < w_\phi(e) + \frac{1}{n}.\tag{2}\]

Applying the left inequality of 2 to a shortest \(s\)-\(v\) path in \(\widetilde{G}\) gives \[d_{G_\phi}(s,v) \le d_{\widetilde{G}}(s,v).\] Since reweighting preserves cycle weights and \(G\) has no negative cycles, \(G_\phi\) also has no negative cycles. Therefore, there is a shortest simple \(s\)-\(v\) path in \(G_\phi\) with at most \(n-1\) edges. Applying the right inequality of 2 to this path gives \[d_{\widetilde{G}}(s, v) < d_{G_\phi}(s, v) + \frac{n-1}{n} < d_{G_\phi}(s, v) + 1.\]

Combining these inequalities with \(d_{G_\phi}(s, v) = d_G(s, v) + \phi(s) - \phi(v)\), we have \[d_G(s, v) \le d_{\widetilde{G}}(s, v) + \phi(v) - \phi(s) < d_G(s, v)+1.\] Since \(d_G(s,v)\) is an integer, taking the floor proves the lemma. ◻

We conclude this section with a deterministic protocol for \(\mathsf{NegativeSSSP}\).

Theorem 6. There is a deterministic protocol \(\mathcal{P}^{\mathsf{NegativeSSSP}}\) that solves \(\mathsf{NegativeSSSP}\) using \(O(n \log^2(nW))\) bits of communication.

Proof. The protocol proceeds as follows.

  1. Run \(\mathcal{P}^{\mathsf{NegativeCycle}}\) (5) on \(G\). If a negative cycle is detected, terminate. Otherwise, both players obtain the same point \(p \in P^\triangle(G)\).

  2. Let \(\phi(v) := p_v\) for all \(v \in V\). Let \(\widetilde{G} = (V, E, \widetilde{w})\) where \(\widetilde{w}(u,v) := \frac{1}{n} \left\lceil n \left( w(u,v) + \phi(u) - \phi(v) \right) \right\rceil\), as in 5. Since both players know \(p\), the edge weight \(\widetilde{w}(u,v)\) can be computed locally by the player holding the edge \((u,v)\).

  3. Run \(\mathcal{P}^{\mathsf{SSSP}}\) (13) to compute \(d_{\widetilde{G}}(s,v)\) for all \(v \in V\). Formally, \(\mathcal{P}^{\mathsf{SSSP}}\) requires integer weights, so the players scale up \(\widetilde{w}\) by a factor of \(n\), run \(\mathcal{P}^{\mathsf{SSSP}}\) on \((V, E, n \widetilde{w})\) to compute \(n \cdot d_{\widetilde{G}}(s,v)\) for all \(v \in V\), and then divide by \(n\) to get \(d_{\widetilde{G}}(s,v)\).

  4. Output \(d_G(s,v) := \lfloor d_{\widetilde{G}}(s,v) + \phi(v) - \phi(s) \rfloor\) for every \(v\) reachable from \(s\), and \(d_G(s,v) := \infty\) otherwise.

For correctness, the constraints of \(P^\triangle(G)\) as defined in 1 guarantee that \(p_v - p_u \le w(u, v) + \frac{1}{n^2}\), or equivalently, \(w_\phi(u, v) \ge -\frac{1}{n^2}\), so \(\phi\) satisfies the prerequisite of 5. By 5, the edge weights \(\widetilde{w}(u, v)\) are nonnegative and multiples of \(\frac{1}{n}\), which become nonnegative integers after scaling up by a factor of \(n\). By 13, the players correctly compute \(d_{\widetilde{G}}(s, v)\) via \(\mathcal{P}^{\mathsf{SSSP}}\). The correctness of \(\mathcal{P}^{\mathsf{NegativeSSSP}}\) then follows from 5.

It remains to analyze the communication cost of the protocol. In Step 1, \(\mathcal{P}^{\mathsf{NegativeCycle}}\) requires \(O(n \log^2(nW))\) bits of communication by 5. In Step 3, since the constraints of \(P^\triangle(G)\) guarantee that \(0 \le p_v \le nW\) for all \(v \in V\), we have \(w_\phi(u,v) = w(u, v) + p_u - p_v \le (n+1)W\), and hence the scaled weights \(n\widetilde{w}(u,v)\) are nonnegative integers that are \(O(n^2 W)\), so \(\mathcal{P}^{\mathsf{SSSP}}\) requires \(O(n \log(nW))\) bits by 13. The total communication cost is \(O(n \log^2(nW))\) bits. ◻

5 Maximum Matching in Bipartite Graphs↩︎

In this section, we first restate the \(O(n \log^2 n)\)-bit protocol in [3] for bipartite matching, and then we present our combinatorial protocol (resulted from discretizing the said work) in 5.2.

5.1 A Near-Linear Communication Protocol for Bipartite Matching↩︎

In the problem of bipartite perfect matching (\(\mathsf{BPM}\)), Alice and Bob are given a disjoint edge partition of an undirected bipartite graph \(G = (V, E)\). Their goal is to decide whether \(G\) admits a perfect matching and output one if it does. We assume without loss of generality that \(n = |V|\) is even and that each side of \(G\) has exactly \(\frac{n}{2}\) vertices. The breakthrough result of [3] gave a protocol for this problem with near-linear communication complexity.

Theorem 7 ([3]). There is a deterministic protocol \(\mathcal{P}^{\mathsf{BPM}}\) which solves \(\mathsf{BPM}\) using \(O(n \log^2 n)\) bits of communication.

We briefly describe the protocol from [3], before sketching a proof for 7.

Consider the following vertex-cover polytope of \(G\): \[\label{eqn:fractional95VC95polytope} P^{\textrm{VC}}(G) := \left\{ x \in \mathbb{R}^n \; \middle| \; \begin{align} \, & x_u + x_v \ge 1 && \forall (u, v) \in E, \\ \, & \textstyle\sum_{v\in V} x_v \le \frac{n}{2} - \frac{1}{2}, \\ \, & 0\le x_v \le 1 && \forall v \in V \end{align} \right\}.\tag{3}\]

The following lemma is from [3]. For completeness, we provide its proof in 10.

lemvolumegap Let \(G\) be a bipartite graph with \(\frac{n}{2}\) vertices on each side. Let \(P^{\textrm{VC}}(G)\) be the polytope defined in 3 .

  1. If \(G\) has a perfect matching, then \(P^{\textrm{VC}}(G) = \varnothing\).

  2. If \(G\) has no perfect matching, then \(\operatorname{vol}(P^{\textrm{VC}}(G)) \ge (4n)^{-n}\).

Proof sketch of 7. By [lem:P95vertex], it is sufficient to decide whether \(P^{\textrm{VC}}(G) = \varnothing\) or \(\operatorname{vol}(P^{\textrm{VC}}(G)) \ge (4n)^{-n}\). Alice and Bob can do this by simulating 4 with \(P = P^{\textrm{VC}}(G)\), \(P_0 = [0,1]^n \cap \{x: \sum_v x_v \le \frac{n}{2} - \frac{1}{2} \}\), and \(\tau = (4n)^{-n}\).

Both players know \(P_0\) and can compute the center of mass of each \(P_i\) without communication. To simulate the separation oracle for \(P\), Alice and Bob only need to check the constraints \(x_u + x_v \ge 1\), each of which can be checked locally by the player holding the edge \((u,v)\). By 3, this protocol correctly distinguishes the two promised cases after \(O(\log(\operatorname{vol}(P_0)/\tau)) = O(n \log n)\) queries to the separation oracle. Each query requires each player to communicate at most one constraint, and each constraint can be encoded using \(O(\log n)\) bits (i.e., an edge \((u, v)\)). Therefore, the total communication is \(O(n \log^2 n)\) bits.

Let \(H\) be the graph formed by the communicated edges. If 4 returns \(P^{\textrm{VC}}(G) = \varnothing\) because \(\operatorname{vol}\!\left(P^{\textrm{VC}}(H)\right) < (4n)^{-n}\), then by [lem:P95vertex], \(H\) must have a perfect matching. ◻

5.2 A Combinatorial Protocol for Bipartite Perfect Matching↩︎

The cutting-plane framework (4) is inherently continuous: it operates over a polytope, tracks progress using its volume, and computes the center of mass to find a violated constraint that eliminates a constant fraction of the volume. In this section, we present a combinatorial protocol for \(\mathsf{BPM}\) that avoids these continuous operations.

Theorem 8. There is a deterministic protocol \(\mathcal{P}^{\mathsf{BPM}}\) that does not rely on the cutting-plane framework (4) and solves \(\mathsf{BPM}\) using \(O(n \log^2 n)\) bits of communication.

Our idea is to discretize the vertex-cover polytope \(P^{\textrm{VC}}(G)\). Consider a set of fractional vertex covers \(Q^{\textrm{VC}}(G)\) defined as follows: \[\label{eqn:fractional95VC95lattice} Q^{\textrm{VC}}(G) := \left\{ x \in \mathbb{R}^n \; \middle| \; \begin{align} \, & x_u + x_v \ge 1 && \forall (u, v) \in E, \\ \, & \textstyle\sum_{v\in V} x_v \le \frac{n}{2} - \frac{1}{2}, \\ \, & x_v \in \left\{0, \tfrac{1}{d}, \ldots, 1\right\} && \forall v \in V \end{align} \right\}.\tag{4}\]

We say that a nonnegative vector in \(\mathbb{R}^n\) is \(d\)-uniform if each of its coordinates is a multiple of \(\frac{1}{d}\). With this notation, \(Q^{\textrm{VC}}(G)\) is the set of \(d\)-uniform fractional vertex covers of \(G\) of size at most \(\frac{n}{2}-\frac{1}{2}\). For sufficiently large \(d = \mathrm{poly}(n)\), the discrete quantity \(|Q^{\textrm{VC}}(H)|\) is essentially proportional to \(\operatorname{vol}(P^{\textrm{VC}}(H))\) throughout the protocol. As the players communicate edges and add them to a shared public graph, we can use this discrete quantity as a proxy for volume to measure progress.

We formally state our protocol for \(\mathsf{BPM}\) in 5.

Figure 5: A combinatorial protocol for bipartite matching

lemdiscreteBMMprogress Let \(G\) be a bipartite graph with a perfect matching and \(\frac{n}{2}\) vertices on each side. Let \(H\) be any subgraph of \(G\) on the same vertices with \(Q^{\textrm{VC}}(H) \ne \varnothing\), where \(Q^{\textrm{VC}}(H)\) is defined in 4 for \(d=8n^7\). Then, there is an edge \(e \in (G \setminus H)\) such that \[\left|Q^{\textrm{VC}}(H \cup \{e\})\right| \le 0.9 \cdot \left|Q^{\textrm{VC}}(H)\right|.\]

We defer the proof of [lem:discrete95BMM95progress] to 10.1 and first use it to prove 8.

Proof of 8. We first show that 5 always returns an answer. Suppose for contradiction that it finishes all \(T\) iterations without reaching Line [line:BMM-no-edge] or Line [line:BMM-empty-cover]. Then \[\left|Q^{\textrm{VC}}(H_T)\right| \le (0.9)^T \cdot \left|Q^{\textrm{VC}}(H_0)\right| \le (0.9)^T \cdot (d+1)^n < 1,\] where the last inequality follows from our choice of \(T = \lceil 10\, n \ln(d+1) \rceil\). This implies \(\left|Q^{\textrm{VC}}(H_T)\right| = 0\), but then the algorithm would have returned in Line [line:BMM-empty-cover] of the final iteration, which is a contradiction. We proceed by verifying correctness at the algorithm’s return statements.

Case 1: 5 returns at Line [line:BMM-no-edge] in iteration \(i\). Then \(Q^{\textrm{VC}}(H_i) \ne \varnothing\): this is true for \(i = 0\), and for \(i > 0\) the algorithm would have returned at Line [line:BMM-empty-cover] in the previous iteration. If \(G\) had a perfect matching, [lem:discrete95BMM95progress] would guarantee the existence of an edge \(e_i\) satisfying the required condition. Hence \(G\) has no perfect matching, and the algorithm correctly decides this.

Case 2: 5 returns at Line [line:BMM-empty-cover] in iteration \(i\). Then \(Q^{\textrm{VC}}(H_{i+1}) = \varnothing\). Observe that any integral vertex cover of \(H_{i+1}\) of size \(\frac{n}{2} - 1\) is a feasible point in \(Q^{\textrm{VC}}(H_{i+1})\). Therefore, \(H_{i+1}\) has no vertex cover of size \(\frac{n}{2} - 1\). By Kőnig’s theorem, \(H_{i+1}\) has a perfect matching. Because \(H_{i+1} \subseteq G\), this is also a perfect matching of \(G\), which the algorithm outputs.

We now analyze the communication cost of simulating 5 in the two-party setting. Note that each \(H_i\) is public. In each iteration \(i\), both players locally check if they have an edge \(e \notin H_i\) satisfying \(\left|Q^{\textrm{VC}}(H_i \cup \{e\})\right| \le 0.9 \cdot \left|Q^{\textrm{VC}}(H_i)\right|\), and send such an edge if they have one. If both players send an edge, they break ties by using Alice’s. If neither player sends an edge, the algorithm returns at Line [line:BMM-no-edge]. The agreed-upon edge is then added to form \(H_{i+1}\), and both players can locally check whether \(Q^{\textrm{VC}}(H_{i+1}) = \varnothing\). Therefore, each iteration requires each player to communicate at most one edge, which can be encoded using \(O(\log n)\) bits. Since \(d = 8n^7\) and \(T = \left\lceil 10\, n \ln(d+1) \right\rceil = O(n \log n)\), the total communication is \(O(n \log^2 n)\) bits. ◻

6 Finding Augmenting Paths via the Blossom Algorithm↩︎

Fix an arbitrary matching \(M \subseteq E\). An augmenting path is a path in \(G\) that begins and ends at distinct unmatched vertices, and alternates between edges not in \(M\) and edges in \(M\). By flipping the matching status of each edge along such a path, we increase the size of the matching by one. The following fact about augmenting paths is standard.

Fact 9. \(G\) contains an augmenting path if and only if \(M\) is not a maximum matching.

In this section, we describe a procedure for finding an augmenting path in general graphs using \(O(n \log n)\) bits. Hence, by repeating the process (up to) \(k\) times starting from a matching of size \(\frac{n}{2}-k\) obtained from Phase 1, one can obtain a maximum matching.

To identify an augmenting path, we follow Edmonds’ Blossom Algorithm [5] by constructing a maximal alternating forest. Initially, the forest is empty, and all vertices are marked as “U” (unvisited). The forest grows from the unmatched vertices as roots by alternately exploring unmatched and matched edges. Each vertex, once added to the forest, is dynamically re-labeled based on the parity of its distance from its root: vertices at even distances are marked “E”, and those at odd distances are marked “O”. For convenience, we refer to an edge \((a, b)\) as an E-O edge if \(a\) is marked “E” and \(b\) is marked “O”. This notation extends analogously to other type combinations. The primary goal is to incrementally grow a maximal alternating forest and assign parity labels to vertices such that no E-U edge remains in the graph (hence the term “maximal”). An example of such a maximal alternating forest is illustrated in 6.

  1. Mark every unmatched vertex as “E”; these vertices are also the roots of the alternating forest. Mark all remaining vertices as “U”. Let \(F\) denote an edge set that is initially empty.

  2. Repeat the following steps until no E-U edge remains in \(G\):

    1. Pick any E-U edge \((a, b) \in G \setminus F\).

    2. Add edge \((a, b)\) to \(F\) and label vertex \(b\) as “O”.

    3. Let \(b'\) be the unique neighbor of \(b\) such that \((b, b') \in M\). Note that such a \(b'\) must exist, as otherwise \(b\) would have been unmatched and thus labeled “E” in Step 1.

    4. Add edge \((b, b')\) to \(F\) and label vertex \(b'\) as “E”.

  3. To be continued.

Figure 6: An example of a maximal alternating forest resulting from Steps 1-3. The blue vertices represent even vertices (E), with the top two being the roots of their respective trees. The orange vertices represent odd vertices (O), while the green vertices are unmarked (U). Solid edges are those included in the forest, with thick edges specifically indicating edges in the matching. Dashed edges denote edges in the graph that are not included in the forest.

Such a process can be efficiently simulated in the setting of two-party communication. It requires only one of the players to locally identify their E-U edge and communicate it to the other player. The remaining steps of the procedure can be executed jointly.

Following this procedure, some vertices are re-labeled according to their parity in the alternating forest \(F\). At the end of this phase, no E-U edges remain in the graph \(G\). The following fact captures an important structural consequence of this property.

Fact 10. Suppose that \(G\) contains an augmenting path and that no E-U edges remain in \(G\). Then, there must exist an E-E edge in \(G \setminus F\).

Proof. Observe that there is no E-E edge in \(F\). Assume for contradiction that every edge incident to a vertex labeled “E” has its other endpoint labeled “O”. Furthermore, by construction, every matching edge in \(M\) must be either a U-U edge or an E-O edge. Now consider an augmenting path \((a_1, b_1, a_2, b_2, \ldots, a_\ell, b_\ell)\), where \(a_1\) and \(b_\ell\) are unmatched vertices which have label “E” via Step 1. If \(\ell=1\), then \((a_1,b_1)\) is already an E-E edge, a contradiction. Then assume \(\ell\geq 2\). By the contradiction assumption, \(b_1\) is labeled “O”. Since \((b_1, a_2)\) is a matching edge, \(a_2\) is labeled “E”. Continuing this inductively, \(b_\ell\) must be labeled “O”, which leads to a contradiction. ◻

This fact allows us to continue the algorithm. If we are able to find an E-E edge in the graph, we proceed by adding it to the alternating forest. One of two outcomes will then occur (demonstrated in 7):

  • We discover an augmenting path, in which case the algorithm terminates successfully.

  • We encounter a structure known as a blossom—an odd-length cycle that includes exactly one vertex, called the tip, which is incident to two non-matching edges, while the remaining edges of the cycle alternate between matched and unmatched edges.

Figure 7: An illustration of two possible outcomes when an E-E edge is added to a maximal alternating forest, exemplified by edges e_1 and e_2 from 6. On the left, the two even vertices of e_1 have different roots. In this case, the newly added edge completes an augmenting path, highlighted in red. On the right, the two even vertices of e_2 share the same root. In this case, the newly added edge completes a blossom. We then contract this blossom into a single even super-vertex, positioned at its tip. This contraction may introduce a new E-U edge (shown as a red dashed edge), which in turn triggers the algorithm to recurse to Step 2 to continue growing a maximal alternating forest.

We emphasize the latter scenario. Blossoms are useful objects because they preserve the existence of augmenting paths even when contracted into a single supervertex. The following fact formalizes this intuition:

Fact 11 ([5]). Let \(B\) be a blossom in \(G\) that is discovered by the addition of an E-E edge to a maximal alternating forest. Then \(G\) contains an augmenting path (w.r.t. \(M\)) if and only if the graph obtained by contracting \(B\) into a single supervertex also contains an augmenting path (wrt. the induced matching in the contracted graph).

With this fact in mind, the algorithm proceeds to:

  1. Attempt to find an E-E edge \((a,b) \in G \setminus F\).

    1. If no such E-E edge exists, terminate and confirm that \(M\) is a maximum matching.

    2. If \((a,b)\) is an E-E edge and \(a\) and \(b\) lie in alternating trees with different roots, then an augmenting path is found. Terminate and augment \(M\).

    3. If \((a,b)\) is an E-E edge and both vertices share the same tree root, then a blossom is found. Contract this blossom into a single supervertex (with the tip as its representative), and assign it the label “E”. Note that this contraction may introduce new E-U edges. Recurse to Step (2) to continue growing the maximal alternating forest on the contracted graph.

Similar to before, this process only requires the players to locally identify an E-E edge and communicate it to the other player. Then, upon terminating via Step (3b), among the edges revealed so far, there must exist an augmenting path wrt. \(M\), and both players can locally find a consistent augmenting path and augment \(M\).

6.1 Analysis↩︎

Correctness follows from the standard analysis of the blossom algorithm. We focus on bounding the communication cost.

We claim that the following potential function never increases during the execution of the algorithm before reaching Step (3a) or Step (3b) after which it terminates. \[\begin{align} \Phi \;:= & \;\underbrace{(\text{\# edges communicated})}_{\Phi_1} \;+ \;\underbrace{(\text{\# unmarked vertices})}_{\Phi_2} \;+ \;\underbrace{(n - \text{\# blossoms contracted})}_{\Phi_3}. \end{align}\]

To justify this, we examine the two key steps where the potential may change:

  • In Step 2, whenever an E-U edge is revealed by one player, two new vertices are marked. Hence, \(\Phi_1\) increases by \(1\) and \(\Phi_2\) decreases by \(2\), so \(\Phi\) decreases by \(1\).

  • In Step 3c, when an E-E edge with the same root is found, this completes a blossom. One edge is communicated to complete the cycle, increasing \(\Phi_1\) by 1. The number of blossoms also increases by 1, reducing \(\Phi_3\) by 1. Thus, the net change in \(\Phi\) is zero.

Initially, no edges have been communicated, at most \(n\) vertices are unmarked, and no blossoms have been contracted. Thus, the starting potential is \(\Phi \leq 2n\) and afterwards it only increases by one if the algorithm terminates via Step (3b). At termination, the number of edges communicated is exactly \(\Phi_1\). Moreover, the number of unmarked vertices is nonnegative (i.e., \(\Phi_2 \geq 0\)), and the number of blossoms is at most \(n\) (i.e., \(\Phi_3 \geq 0\)), as each blossom reduces the number of supervertices by at least one. Thus, the number of edges communicated is bounded by \(\Phi_1 \leq \Phi \leq 2n+1\). Since each communicated edge requires \(O(\log n)\) bits to describe, this implies the procedure of finding an augmenting path can be simulated using \(O(n \log n)\) bits of communication between Alice and Bob.

7 Omitted Proofs from Section 3↩︎

Proof of 3. 4 runs for at most \(T\) iterations and queries the separation oracle exactly once per iteration, so it makes at most \(T = \left\lceil 3 \ln(\operatorname{vol}(P_0)/\tau) \right\rceil = O(\log(\operatorname{vol}(P_0)/\tau))\) queries in total. It remains to show that its output is always correct.

Note that \(P \subseteq P_i\) for every \(0 \le i \le T\). This holds initially by the assumption \(P \subseteq P_0\), and continues to hold because \(P_{i+1}\) is formed by intersecting \(P_i\) with a halfspace that contains every point of \(P\). We proceed by verifying correctness at each of the algorithm’s three return statements.

Case 1: 4 returns at Line [line:feasible] when the separation oracle asserts that \(p_i \in P\). Then \(P \ne \varnothing\), and by the promise on \(P\), the algorithm correctly decides \(\operatorname{vol}(P) \ge \tau\) and returns a point \(p_i \in P\).

Case 2: 4 returns at Line [line:infeasible-loop] in iteration \(i\). Then \(P \subseteq P_{i+1} = \varnothing\), and the algorithm correctly decides \(P = \varnothing\).

Case 3: 4 returns at Line [line:infeasible-final] after \(T\) iterations. Then \(P_T \ne \varnothing\). Because \[P_{i+1} = P_i \cap \{x : \langle a^{(i)}, x \rangle \le b^{(i)}\}\] and the center of mass \(p_i\) of \(P_i\) violates this constraint, by Grünbaum’s Theorem [23]9, we have \[\operatorname{vol}(P_{i+1}) \le \left(1 - \frac{1}{e}\right) \operatorname{vol}(P_i).\] By iteratively applying this inequality, we get \[\operatorname{vol}(P_T) \le \left(1 - \frac{1}{e}\right)^T \operatorname{vol}(P_0) \le e^{-T/e} \cdot \operatorname{vol}(P_0) < \tau,\] where we used \(1 - x \le e^{-x}\), \(\operatorname{vol}(P_0)/\tau > 1\), and \(T \ge 3 \ln(\operatorname{vol}(P_0)/\tau) > e \ln(\operatorname{vol}(P_0)/\tau)\). Because \(P \subseteq P_T\), we have \(\operatorname{vol}(P) \le \operatorname{vol}(P_T) < \tau\). By the promise on \(P\), we must have \(P = \varnothing\), and the algorithm correctly decides that. ◻

8 Directed Cycle Detection↩︎

The problem of directed cycle detection (\(\mathsf{Cycle}\)) is defined as follows: the players are given an edge partition of a directed graph \(G = (V, E)\) without self-loops and with \(n = |V|\). Their goal is to determine whether \(G\) contains a directed cycle.

Theorem 12. There is a deterministic protocol \(\mathcal{P}^{\mathsf{Cycle}}\) which solves \(\mathsf{Cycle}\) using \(O(n \log n)\) bits of communication.

We simulate Kosaraju’s algorithm to compute all strongly connected components (SCCs) of \(G\). Recall that Kosaraju’s algorithm performs two depth-first searches (DFS). We first discuss how to simulate DFS on a directed graph with a specific vertex ordering (8).

Figure 8: Depth-First Search (DFS)

In Line [line:dfs-check-vu], we simulate the loop over \(v\)’s edges as follows: Alice repeatedly checks her remaining (unchecked) edges \((v,u)\) for one with \(u\) unvisited; each time she finds one, she sends it to Bob, and both proceed to the recursive \(\Search\) call in Line [line:dfs95inner95call] before returning to check her remaining edges. Once she has exhausted all her edges leaving \(v\), she sends a single “done” message, and then it is Bob’s turn to do the same with his edges. Once Bob exhausts his edges and sends “done”, they backtrack at Line [line:dfs95return]. Both players maintain a correct copy of the \(\Visited\) array. For each vertex, each player sends exactly one “done” message. Each communicated edge leads to an unvisited vertex, which is immediately marked as visited, so at most \(n-1\) edges are communicated in total. Each edge requires \(O(\log n)\) bits to encode, so the total communication for one DFS is \(O(n \log n)\) bits.

We now build on this to discuss how to simulate Kosaraju’s algorithm.

Proof of 12. We simulate Kosaraju’s algorithm: Perform a first DFS on \(G\) with an arbitrary vertex ordering, and push a vertex \(v\) onto a stack immediately before \(\Search(v)\) returns at Line [line:dfs95return]. Then perform a second DFS on the transpose graph \(G^\top\) (where the direction of each edge is reversed, and each player can locally reverse their edges) using the stack order (last-in-first-out, i.e., in decreasing order of their finish times from the first DFS) as the vertex ordering \(L\). All vertices visited within a single outer call to \(\Search\) in Line [line:dfs95outer95call] in the second DFS form one SCC.

Note that \(G\) has a directed cycle if and only if there is at least one SCC of size at least \(2\). Therefore, after computing all SCCs, Alice and Bob can decide \(\mathsf{Cycle}\) without further communication. In total, the protocol simulates two DFS traversals and uses \(O(n\log n)\) bits of communication. ◻

9 Nonnegative-Weight Single-Source Shortest Paths↩︎

The problem of single-source shortest paths (\(\mathsf{SSSP}\)) is as follows: the players are given a disjoint edge partition of a directed weighted graph \(G = (V, E, w)\) whose weights are integers in \([0, W]\), and a source vertex \(s \in V\). Their goal is to compute the shortest path distance \(d_G(s,v)\) from \(s\) to every vertex \(v \in V\).

Theorem 13. There is a deterministic protocol \(\mathcal{P}^{\mathsf{SSSP}}\) that computes \(\mathsf{SSSP}\) using \(O(n \log(nW))\) bits of communication.

We show that Dijkstra’s algorithm can be simulated using \(O(n\log(nW))\) bits of communication. For simplicity, we first recall a basic version of Dijkstra’s algorithm without a priority queue.

Figure 9: Dijkstra’s Algorithm (without a priority queue)

Proof of 13. Let \(E_A\) and \(E_B\) denote the sets of edges held by Alice and Bob, respectively. They maintain a consistent copy of the set \(S\) and the array \(d\), and simulate 9 by replacing Lines [line:dijkstra-inner-for][line:dijkstra-set-d] with the following process: In iteration \(i\),

  1. Alice locally computes \(\widetilde{d}_A(v) := \min_{u \in S, (u, v)\in E_A}\{d(u) + w(u, v)\}\) for each vertex \(v \in V \setminus S\), where \(\widetilde{d}_A(v) := +\infty\) if no such \(u\) exists. Alice sends the vertex \(v^A_i\) minimizing \(\widetilde{d}_A(v)\) (breaking ties lexicographically) and the corresponding \(\widetilde{d}_A(v^A_i)\) to Bob. Bob does the same and sends \(v^B_i\) and \(\widetilde{d}_B(v^B_i)\) to Alice.

  2. Alice and Bob then agree on \(v_i \in \{v^A_i, v^B_i\}\) based on which of \(\widetilde{d}_A(v^A_i)\) and \(\widetilde{d}_B(v^B_i)\) is smaller (again breaking ties lexicographically).

  3. Then they set \(d(v_i) := \min(\widetilde{d}_A(v^A_i), \widetilde{d}_B(v^B_i))\). (Note that it is possible that \(v^A_i = v^B_i\) but \(\widetilde{d}_A(v^A_i) \ne \widetilde{d}_B(v^B_i)\).)

This produces the same choice of \(v_i\) and the same value \(d(v_i)\) as Lines [line:dijkstra-inner-for][line:dijkstra-set-d], because the minimum candidate over all edges from \(S\) to \(V\setminus S\) is the minimum of Alice’s best candidate and Bob’s best candidate. Since edge weights lie in \([0, W]\), all finite distances are at most \((n - 1)W\), so each distance value can be encoded using \(O(\log(nW))\) bits, where \(+\infty\) can be represented using a special symbol. Each iteration therefore uses \(O(\log n + \log(nW)) = O(\log(nW))\) bits of communication, and there are \((n-1)\) iterations. Hence, the total communication is \(O(n\log(nW))\) bits. ◻

10 Omitted Proofs from Section 5↩︎

Proof. Recall that in a bipartite graph, the sizes of the (integral) maximum matching and minimum vertex cover are the same. Moreover, the integrality gaps of the maximum matching and minimum vertex cover LPs are both \(1\).

If \(G\) has a perfect matching, then the minimum vertex cover of \(G\) has size \(\frac{n}{2}\). Because any feasible point in \(P^{\textrm{VC}}(G)\) is a fractional vertex cover of size at most \(\frac{n}{2} - \frac{1}{2}\), \(P^{\textrm{VC}}(G)\) must be empty.

If \(G\) has no perfect matching, then \(G\) has an integral vertex cover \(y \in \{0,1\}^n\) of size \(\frac{n}{2}-1\). We have \(\sum y_v \le \frac{n}{2} - 1\) and \(y_u + y_v \ge 1\) for all \((u,v) \in E\). We show that \(B \subseteq P^{\textrm{VC}}(G)\) where \[\begin{align} B = \prod_{v \in V} \begin{cases} \left[\frac{1}{4n}, \frac{1}{2n}\right] & \text{if } y_v = 0, \\ \left[1 - \frac{1}{4n}, 1\right] & \text{if } y_v = 1. \end{cases} \end{align}\] Fix any \(q \in B \subseteq [0, 1]^n\). For any edge \((u,v) \in E\), at least one of \(y_u\) or \(y_v\) is \(1\), so \(q_u + q_v \ge \frac{1}{4n} + \left(1 - \frac{1}{4n}\right) = 1\). Moreover, \(\sum_v q_v \le \sum_v \left(y_v + \frac{1}{2n}\right) = \left(\frac{n}{2} - 1\right) + \frac{1}{2} = \frac{n}{2} - \frac{1}{2}\). This shows that \(q \in P^{\textrm{VC}}(G)\). Therefore, \(B \subseteq P^{\textrm{VC}}(G)\) and \(\operatorname{vol}(P^{\textrm{VC}}(G)) \ge \operatorname{vol}(B) = (4n)^{-n}\) as claimed. ◻

10.1 Proof of Lemma [lem:discrete95BMM95progress]↩︎

We first introduce the notion of a balanced polytope.

Definition 2 (\(\beta\)-balanced polytope). Let \(P \subseteq \mathbb{R}^n\) be a polytope. We say that \(P\) is \(\beta\)-balanced if there exists a point \(p \in P\) such that \(d(p, F) \ge \beta\) for all facets \(F\) of \(P\), where \(d(p,F)\) is the distance from \(p\) to the supporting hyperplane of \(F\).

Given a bipartite graph \(G = (V, E)\), recall that we define \(P^{\textrm{VC}}(G)\) and \(Q^{\textrm{VC}}(G)\) as follows: \[\begin{align} P^{\textrm{VC}}(G) &:= \left\{ x \in \mathbb{R}^n \; \middle| \; \begin{aligned} \, & x_u + x_v \ge 1 && \forall (u, v) \in E, \\ \, & \textstyle\sum_{v\in V} x_v \le \frac{n}{2} - \frac{1}{2}, \\ \, & 0\le x_v \le 1 && \forall v \in V \end{aligned} \right\} \\ Q^{\textrm{VC}}(G) &:= \left\{ x \in \mathbb{R}^n \; \middle| \; \begin{align} \, & x_u + x_v \ge 1 && \forall (u, v) \in E, \\ \, & \textstyle\sum_{v\in V} x_v \le \frac{n}{2} - \frac{1}{2}, \\ \, & x_v \in \left\{0, \tfrac{1}{d}, \ldots, 1\right\} && \forall v \in V \end{align} \right\}. \end{align}\]

A key observation is that every non-empty vertex-cover polytope is \(\frac{1}{8n}\)-balanced. 2 follows directly from the proof of [lem:P95vertex].

Corollary 2. Let \(G\) be a bipartite graph with no perfect matching and \(\frac{n}{2}\) vertices on each side. Then, \(P^{\textrm{VC}}(G)\) is \(\frac{1}{8n}\)-balanced.

The following lemma states that if the grid has sufficiently fine resolution, the volume of a balanced polytope can be well approximated by the (scaled) number of grid points it contains. We prove [lem:approx95volume] in 10.2.

lemapproxvolume Let \(P \subseteq \mathbb{R}^n\) be a \(\beta\)-balanced polytope. Let \(d = \lceil \beta^{-1} n^{6} \rceil\). Let \(Q = P \cap \left(\mathbb{Z}/d\right)^{n}\) be the set of discretized points in \(P\). Then \[\begin{align} 1-n^{-3} \le \frac{d^{-n} \cdot |Q|}{\operatorname{vol}(P)} \le 1+n^{-3}. \end{align}\]

The following fact is immediate from the definitions of \(P^{\textrm{VC}}(G)\) and \(Q^{\textrm{VC}}(G)\).

Fact 14. \(Q^{\textrm{VC}}(G) = P^{\textrm{VC}}(G) \cap (\mathbb{Z}/d)^n\).

We are now ready to prove [lem:discrete95BMM95progress].

Proof. Since \(Q^{\textrm{VC}}(H) \ne \varnothing\), by 14, \(P^{\textrm{VC}}(H)\) is also non-empty. By [lem:P95vertex], this means \(H\) has no perfect matching, and then by 2, \(P^{\textrm{VC}}(H)\) is \(\frac{1}{8n}\)-balanced. By [lem:approx95volume], \[\operatorname{vol}\!\left(P^{\textrm{VC}}(H)\right) \le \frac{d^{-n}}{1 - n^{-3}} \cdot \left|Q^{\textrm{VC}}(H)\right|.\]

Let \(z\) be the center of mass of \(P^{\textrm{VC}}(H)\). Then \(z\) is a fractional vertex cover of \(H\) of size \(\sum_{v \in V} z_v \le \frac{n}{2} - \frac{1}{2}\). Let \(M\) be a perfect matching of \(G\). There exists an edge \(f = (a,b) \in M\) that is not covered by \(z\), i.e., \(z_a + z_b < 1\). Since \(z\) is a fractional vertex cover of \(H\), \(f \in (G \setminus H)\).

Let \(H' := H \cup \{f\}\). Because \(z\) violates the constraint of edge \(f\), Grünbaum’s Theorem [23] gives \[\operatorname{vol}\!\left(P^{\textrm{VC}}(H')\right) \le \left(1 - \frac{1}{e}\right) \cdot \operatorname{vol}\!\left(P^{\textrm{VC}}(H)\right).\]

We consider two cases. If \(P^{\textrm{VC}}(H') = \varnothing\), then \(Q^{\textrm{VC}}(H') = \varnothing\) by 14, and the lemma holds.

If \(P^{\textrm{VC}}(H') \ne \varnothing\), then by [lem:P95vertex], \(H'\) has no perfect matching. By 2, \(P^{\textrm{VC}}(H')\) is \(\frac{1}{8n}\)-balanced. By [lem:approx95volume], we have \[\operatorname{vol}\!\left(P^{\textrm{VC}}(H')\right) \ge \frac{d^{-n}}{1 + n^{-3}} \cdot \left|Q^{\textrm{VC}}(H')\right|,\] and consequently, \[\frac{\left|Q^{\textrm{VC}}(H')\right|}{\left|Q^{\textrm{VC}}(H)\right|} \le \frac{1 + n^{-3}}{1 - n^{-3}} \cdot \frac{\operatorname{vol}\!\left(P^{\textrm{VC}}(H')\right)}{\operatorname{vol}\!\left(P^{\textrm{VC}}(H)\right)} \le \frac{1 + n^{-3}}{1 - n^{-3}} \cdot \left(1 - \frac{1}{e}\right) \le 0.9,\] where the last inequality holds for all \(n \ge 2\). Thus \(f\) satisfies \(\left|Q^{\textrm{VC}}(H \cup \{f\})\right| \le 0.9 \cdot \left|Q^{\textrm{VC}}(H)\right|\), as claimed. ◻

10.2 Proof of Lemma [lem:approx95volume]↩︎

For any pair of points \(a, b \in \mathbb{R}^n\), we denote by \(ab\) the line segment with endpoints \(a\) and \(b\), and by \(|ab|\) its Euclidean length. For an affine hyperplane \(H\), let \(d(a, H)\) denote the distance from point \(a\) to \(H\). This is equal to \(|az|\), where \(z\) is the orthogonal projection of \(a\) onto \(H\). When \(F\) is a facet of a polytope, we write \(d(a,F)\) for the distance from \(a\) to the supporting hyperplane of \(F\).

Fact 15. Let \(H\) be an affine hyperplane, and let \(a,b\in\mathbb{R}^n\) be such that the segment \(ab\) intersects \(H\). Then \(d(a,H)\le |ab|\) and \(d(b,H)\le |ab|\).

Figure 10: An illustration of 15.

Now we prove our volume approximation lemma.

Proof. We first show the upper bound: \(\frac{d^{-n} \cdot |Q|}{\operatorname{vol}(P)} \le 1 + n^{-3}\). For each discrete point \(q \in Q\) define an \(n\)-dimensional cube \(B_q\) of side length \(\frac{1}{d}\), centered at \(q\): \[\begin{align} B_q = \prod_{v \in V} \left[q_v - \frac{1}{2d}, \; q_v + \frac{1}{2d} \right]. \end{align}\] Let \(\mathcal{B} = \bigcup_{q \in Q} B_q\) be the union of all such cubes. Since \(Q\) is a subset of the \(\frac{1}{d}\)-grid, the cubes \(\{B_q\}_{q\in Q}\) are interior-disjoint. Thus, \(\operatorname{vol}(\mathcal{B}) = d^{-n} \cdot |Q|\). We will also use the following fact: for any \(x \in B_q\), we have \(|xq| \le \frac{n}{d}\).

Figure 11: Left: An illustration of a polytope P in the ambient space \mathbb{R}^2. Each “\cdot” represents a discretized point q \in Q, and each overlaid square grid denotes the corresponding 2-dimensional cube B_q. The union of all such cubes (i.e., grids) forms the set \mathcal{B} = \bigcup_q B_q. Right: An illustration of a polytope P^+ obtained by scaling P from a point p using an appropriate scaling factor.

Let \(p \in P\) be a point such that \(d(p, F) \ge \beta\) for all facets \(F\) of \(P\). Such a point exists by the assumption that \(P\) is \(\beta\)-balanced. Define \(\varepsilon = \frac{n}{\beta d}\) and \[\begin{align} P^+ := \left\{ p + (1+\varepsilon) \cdot (x - p) \; \middle| \; x \in P \right\}. \end{align}\] That is, \(P^+\) is the result of scaling \(P\) by a factor of \(1+\varepsilon\) from the point \(p\). From this construction, the following fact about volumes is immediate: \[\begin{align} \operatorname{vol}(P^+) = (1+\varepsilon)^n \cdot \operatorname{vol}(P). \end{align}\]

We claim that \(\mathcal{B} \subseteq P^+\). To prove this, it suffices to show that for every \(q\in Q\) and every \(x\in B_q\), we have \(x\in P^+\). If \(x \in P\), we are done as \(P \subseteq P^+\). Otherwise, let us consider \(x \notin P\).

Figure 12: Shown on the left is an illustration of the points p,x,y, and q.Shown on the right are the similar triangles that imply \frac{|py|}{|xy|} = \frac{d(p,F)}{d(x,F)}.

Let \(y\) be the first point where the segment \(px\) intersects \(\partial P\). Choose a facet \(F\) whose supporting inequality is tight at \(y\) and violated by \(x\). To show that \(x \in P^+\), it suffices to show \(|px| \le (1+\varepsilon) \cdot |py|\) which is equivalent to \(|py| \ge \frac{|xy|}{\varepsilon}.\) This is true by the following derivation: \[\begin{align} \underbrace{\frac{|py|}{|xy|} = \frac{d(p, F)}{d(x, F)}}_{\substack{\text{by similar triangles,} \\ \text{see \Cref{fig:pqxy}}}} \ge \frac{\beta}{|xq|} \ge \frac{\beta d}{n} = \frac{1}{\varepsilon}, \end{align}\] where the inequalities use the \(\beta\)-balancedness of \(P\), the fact that \(q\in Q\subseteq P\) while \(x\) violates the facet-defining halfspace of \(F\) (and hence 15 gives \(d(x,F)\le |xq|\)), and \(|xq|\le n/d\).

It then follows that \[\begin{align} d^{-n} \cdot |Q| = \operatorname{vol}(\mathcal{B}) \le \operatorname{vol}(P^+) = (1+\varepsilon)^n \cdot \operatorname{vol}(P). \end{align}\] Rearranging yields, \[\frac{d^{-n} \cdot |Q|}{\operatorname{vol}(P)} \le (1+\varepsilon)^n = \left(1 + \frac{n}{\beta d}\right)^n \le \left(1 + n^{-5}\right)^n \le \exp(n^{-4}) \le 1 + 2n^{-4} \le 1 + n^{-3},\] where we use \(d = \lceil \beta^{-1} n^{6} \rceil \ge \beta^{-1} n^6\), \(1 + x \le e^x \le 1 + 2x\) for \(x \in [0, 1]\), and \(n \ge 2\).

For the lower bound, define \[P^- := \left\{ p+(1-\varepsilon)(x-p) \;\middle|\; x\in P \right\}.\] We claim \(P^- \subseteq \mathcal{B}\). Fix \(x\in P^-\), and let \(q\) be a nearest point to \(x\) on the \(\frac{1}{d}\)-grid, so that \(x\in B_q\) and \(|xq|\le \frac{n}{d}\). It remains to show that \(q\in P\), which would imply \(q\in Q\) and hence \(x\in\mathcal{B}\).

For every facet \(F\) of \(P\), the point \(x\) is at distance at least \[\varepsilon d(p,F) \ge \varepsilon\beta = \frac{n}{d}\] from the supporting hyperplane of \(F\). If \(q\notin P\), then \(q\) violates some facet-defining inequality. Let \(F\) be the corresponding facet, let \(H_F\) be its supporting hyperplane, and let \(H_F^+\) be the facet-defining halfspace containing \(P\). Since \(x\in P\) and \(q\notin H_F^+\), the segment \(xq\) intersects \(H_F\). By 15, \[d(x,F) = d(x,H_F) \le |xq| \le \frac{\sqrt n}{2d} < \frac{n}{d},\] where the second inequality follows because \(q\) is a nearest \(\frac{1}{d}\)-grid point to \(x\). This contradicts the lower bound \(d(x,F)\ge \frac{n}{d}\). Therefore, \(q\in P\), and hence \(P^-\subseteq\mathcal{B}\). Consequently, \[d^{-n} \cdot |Q| = \operatorname{vol}(\mathcal{B}) \ge \operatorname{vol}(P^-) = (1-\varepsilon)^n \cdot \operatorname{vol}(P).\]

It follows that \[\frac{d^{-n} \cdot |Q|}{\operatorname{vol}(P)} \ge (1-\varepsilon)^n = \left(1 - \frac{n}{\beta d}\right)^n \ge \left(1 - n^{-5}\right)^n \ge 1 - n(n^{-5}) = 1 - n^{-4} \ge 1 - n^{-3}. \qedhere\] ◻

References↩︎

[1]
S. Micali and V. V. Vazirani, “An \(O(\sqrt{|V|}\,|E|)\) algorithm for finding maximum matching in general graphs,” in Proceedings of the 21st IEEE annual symposium on foundations of computer science (FOCS), 1980, pp. 17–27.
[2]
H. N. Gabow, “The weighted matching approach to maximum cardinality matching,” Fundamenta Informaticae, vol. 154, no. 1–4, pp. 109–130, 2017.
[3]
J. Blikstad, J. van den Brand, Y. Efron, S. Mukhopadhyay, and D. Nanongkai, “Nearly optimal communication and query complexity of bipartite matching,” in Proceedings of the 63rd IEEE annual symposium on foundations of computer science (FOCS), 2022, pp. 1174–1185.
[4]
A. C.-C. Yao, “Some complexity questions related to distributed computing,” in Proceedings of the 11th annual ACM symposium on theory of computing (STOC), 1979, pp. 209–213.
[5]
J. Edmonds, “Paths, trees, and flowers,” Canadian Journal of Mathematics, vol. 17, pp. 449–467, 1965.
[6]
J. van den Brand et al., “Bipartite matching in nearly-linear time on moderately dense graphs,” in Proceedings of the 61st IEEE annual symposium on foundations of computer science (FOCS), 2020, pp. 919–930.
[7]
A. Hajnal, W. Maass, and G. Turán, “On the communication complexity of graph properties,” in Proceedings of the 20th annual ACM symposium on theory of computing (STOC), 1988, pp. 186–191.
[8]
H. Nagamochi and T. Ibaraki, “A linear-time algorithm for finding a sparse \(k\)-connected spanning subgraph of a \(k\)-connected graph,” Algorithmica, vol. 7, no. 5–6, pp. 583–596, 1992.
[9]
J. Blikstad, Y. Jiang, S. Mukhopadhyay, and S. Yingchareonthawornchai, “Global vs. \(s\)-\(t\) vertex connectivity beyond sequential: Almost-perfect reductions and near-optimal separations,” in Proceedings of the 57th annual ACM symposium on theory of computing (STOC), 2025, pp. 2305–2316.
[10]
A. Rubinstein, T. Schramm, and M. S. Weinberg, “Computing exact minimum cuts without knowing the graph,” in Proceedings of the 9th innovations in theoretical computer science conference (ITCS), 2018, pp. 39:1–39:16.
[11]
S. Apers, Y. Efron, P. Gawrychowski, T. Lee, S. Mukhopadhyay, and D. Nanongkai, “Cut query algorithms with star contraction,” in Proceedings of the 63rd IEEE annual symposium on foundations of computer science (FOCS), 2022, pp. 507–518.
[12]
Y. Kenneth-Mordoch and R. Krauthgamer, “Cut-query algorithms with few rounds,” in Proceedings of the 33rd annual european symposium on algorithms (ESA), 2025, pp. 100:1–100:14.
[13]
Y. Jiang, D. Nanongkai, and P. Sawettamalya, “Minimum \(s\)-\(t\) cuts with fewer cut queries,” in Proceedings of the 2026 annual ACM-SIAM symposium on discrete algorithms, (SODA), 2026, pp. 258–296.
[14]
H. Gholizadeh and Y. Jiang, “A subquadratic two-party communication protocol for minimum cost flow,” CoRR, vol. abs/2510.03427, 2025.
[15]
Y. Kenneth-Mordoch and R. Krauthgamer, “Faster all-pairs minimum cut: Bypassing exact max-flow,” in Proceedings of the 58th annual ACM symposium on theory of computing, (STOC), 2026, pp. 1254–1265.
[16]
J. van den Brand, Z. Song, and A. Weng, “Computing flows in subquadratic space,” CoRR, vol. abs/2605.09547, 2026.
[17]
S. Assadi, A. Chakrabarti, P. Ghosh, and M. Stoeckl, “Coloring in graph streams via deterministic and adversarially robust algorithms,” in Proceedings of the 42nd ACM SIGMOD-SIGACT-SIGAI symposium on principles of database systems (PODS), 2023, pp. 141–153.
[18]
M. Flin and P. Mittal, \((\Delta + 1)\) vertex coloring in \(O(n)\) communication,” Distributed Computing, vol. 38, no. 1, pp. 19–29, 2025.
[19]
W. T. Tutte, “The factorization of linear graphs,” Journal of the London Mathematical Society, vol. 22, no. 2, pp. 107–111, 1947.
[20]
C. Berge, “Sur le couplage maximum d’un graphe,” Comptes Rendus de l’Académie des Sciences, vol. 247, pp. 258–259, 1958.
[21]
D. B. Johnson, “Efficient algorithms for shortest paths in sparse networks,” Journal of the ACM, vol. 24, no. 1, pp. 1–13, 1977.
[22]
A. Bernstein, D. Nanongkai, and C. Wulff-Nilsen, “Negative-weight single-source shortest paths in near-linear time,” in Proceedings of the 63rd IEEE annual symposium on foundations of computer science (FOCS), 2022, pp. 600–611.
[23]
B. Grünbaum, “Partitions of mass-distributions and convex bodies by hyperplanes,” Pacific Journal of Mathematics, vol. 10, no. 4, pp. 1257–1261, 1960.

  1. Brown University. [yu_cheng@brown.edu](yu_cheng@brown.edu){.uri}. Supported in part by NSF Award CCF-2307106.↩︎

  2. Duke University. [tianle.jiang@duke.edu](tianle.jiang@duke.edu){.uri}. Supported in part by NSF Award IIS-2402823. Part of the work was done while visiting Brown University.↩︎

  3. Princeton University. [ps3122@princeton.edu](ps3122@princeton.edu){.uri}. Supported in part by NSF CAREER Award CCF-2339942.↩︎

  4. Princeton University. [yuhch123@gmail.com](yuhch123@gmail.com){.uri}. Supported in part by NSF CAREER Award CCF-2339942.↩︎

  5. Throughout this paper, we use \(\widetilde{O}(\cdot)\) to hide \(\mathrm{polylog}(n)\) factors.↩︎

  6. Given a size-\(r\) matching in \(G\), the remaining \(n-2r\) original vertices can be matched to the auxiliary vertices. Conversely, a perfect matching of \(G_r\) matches each auxiliary vertex to a distinct original vertex, leaving exactly \(2r\) original vertices to be matched among themselves.↩︎

  7. For a Tutte-Berge cover \(C\), we can increase \(\delta(C)\) by \(1\) without reducing its edge coverage, e.g., by moving a size-\(1\) odd set into \(A\) or moving two vertices from a larger odd set into \(A\).↩︎

  8. Analogous rounding arguments appear in the near-linear-time algorithm of [22] for negative-weight SSSP.↩︎

  9. Specifically, Grünbaum [23] showed that for any convex body \(K\) and any halfspace \(H\) that does not contain the center of mass of \(K\), \(\operatorname{vol}(K \cap H) \le \left(1 - \frac{1}{e}\right) \operatorname{vol}(K)\).↩︎