Abstract 1 Introduction 2 Preliminaries and related work 3 Results and organisation 4 Conceptual results for local density 5 Results for dynamic algorithms 6 Results in LOCAL 7 Results in CONGEST References

Local Density and Its Distributed Approximation

Aleksander Bjørn Christiansen ORCID Technical University of Denmark, Lyngby, Denmark Ivor van der Hoog ORCID Technical University of Denmark, Lyngby, Denmark Eva Rotenberg ORCID Technical University of Denmark, Lyngby, Denmark
Abstract

The densest subgraph problem is a classic problem in combinatorial optimisation. Graphs with low maximum subgraph density are often called “uniformly sparse”, leading to algorithms parameterised by this density. However, in reality, the sparsity of a graph is not necessarily uniform. This calls for a formally well-defined, fine-grained notion of density.

Danisch, Chan, and Sozio propose a definition for local density that assigns to each vertex v a value ρ(v). This local density is a generalisation of the maximum subgraph density of a graph. I.e., if ρ(G) is the subgraph density of a finite graph G, then ρ(G) equals the maximum local density ρ(v) over vertices v in G. They present a Frank-Wolfe-based algorithm to approximate the local density of each vertex with no theoretical (asymptotic) guarantees.

We provide an extensive study of this local density measure. Just as with (global) maximum subgraph density, we show that there is a dual relation between the local out-degrees and the minimum out-degree orientations of the graph. We introduce the definition of the local out-degree g(v) of a vertex v, and show it to be equal to the local density ρ(v). We consider the local out-degree to be conceptually simpler, shorter to define, and easier to compute.

Using the local out-degree we show a previously unknown fact: that existing algorithms already dynamically approximate the local density for each vertex with polylogarithmic update time. Next, we provide the first distributed algorithms that compute the local density with provable guarantees: given any ε such that ε1O(polyn), we show a deterministic distributed algorithm in the LOCAL model where, after O(ε2log2n) rounds, every vertex v outputs a (1+ε)-approximation of their local density ρ(v). In CONGEST, we show a deterministic distributed algorithm that requires poly(logn,ε1)2O(logn) rounds, which is sublinear in n.

As a corollary, we obtain the first deterministic algorithm running in a sublinear number of rounds for (1+ε)-approximate densest subgraph detection in the CONGEST model.

Keywords and phrases:
Distributed graph algorithms, graph density computation, graph density approximation, network analysis theory
Copyright and License:
[Uncaptioned image] © Aleksander Bjørn Christiansen, Ivor van der Hoog, and Eva Rotenberg; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Graph algorithms analysis
; Theory of computation Distributed algorithms
Related Version:
Full Version: https://arxiv.org/abs/2411.12694
Funding:
This work was supported by the the VILLUM Foundation grant (VIL37507) “Efficient Recomputations for Changeful Problems”, the Independent Research Fund Denmark grant 2020-2023 (9131-00044B) “Dynamic Network Analysis”, and the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 899987.
Editors:
Olaf Beyersdorff, Michał Pilipczuk, Elaine Pimentel, and Nguyễn Kim Thắng

1 Introduction

Density or sparsity measures of graphs are widely studied and have many applications. Examples include the arboricity, the degeneracy, and the maximum subgraph density, all of which are asymptotically related within a factor of 2. Given a graph or subgraph H, its density, ρ(H), is the average number of edges per vertex in H. The maximum subgraph density ρmax(G) of a graph G is the maximum density ρ(H) amongst all subgraphs HG.

Computing maximum subgraph density has been studied both in the dynamic [10, 27], streaming [1, 4] and distributed [15, 28] setting. Often these measures are used to parameterise the sparsity of “uniformly sparse graphs” [2, 8, 25]. These measures are global measures in the sense that they measure the sparsity of the most dense part of the graph. In many cases the graph is not equally sparse (or dense) everywhere. Consider for example a lollipop graph: a large clique joined to a long path. The clique is a subgraph of high density, yet the vertices along the path sit in a part of the graph that is significantly less dense. Often, solutions for graph density related problems provide guarantees based on the most dense part of the graph. In some areas of computation more “local” solutions are desirable. Prior works of a global nature often completely disregard certain parts of the graphs, meaning that the output in sparser parts holds little to no information. We give three examples:

1) Many dynamic algorithms for estimating the subgraph density rely on modifying the solution locally. Algorithmic performance is expressed in terms of (global) graph sparsity, and thus fails to exploit the more fine-grained guarantee that local sparse areas yield.

2) In network analysis, one is often interested in determining dense subgraphs as these subgraphs can be interpreted, for instance, as communities within a social network. However, since many classical algorithms are tuned towards only detecting the densest subgraphs, these algorithms might fail to detect communities in sparser parts of the network [14, 26, 29].

3) Computing the maximum subgraph density is not very local, nor distributed. We consider the models LOCAL and CONGEST, and the lollipop graph. Here, almost instantly, the vertices of the clique realise they are part of a (very dense) clique. The vertices on the path may have to wait for diameter-many rounds before realising the maximum subgraph density of the graph. Distributed algorithms that wish to compute the value of the subgraph density are thus posed with a choice: either use Ω(D) rounds (where D is the diameter of the graph), or let every vertex output a value that is at most the maximum subgraph density.

1.1 Local density and results

We consider the definition of local density ρ(v) by Danisch, Chan, and Sozio [14], defined at each node v of the graph (Definition 7). Our contributions can be split into four categories, which we present in four sections with corresponding titles.

A: Conceptual results for local density.

Our primary contribution is an extensive overview of the theoretical properties of this local density measure. We show that, just as in the maximum-subgraph density problem, computing local density has a natural dual problem as we define the local out-degree. Consider a (fractional) orientation of the graph that is locally fair. i.e., for each directed edge (u,v), the out-degree g(u) is at most g(v). We prove that for each vertex v, the out-degree of v has the same value over all locally fair orientations. We define this value g(v) as the local out-degree of v. We prove that the local density of each vertex is the dual of its local out-degree and thereby g(v)=ρ(v). This new definition for local out-degree is considerably shorter than the definition for local density. It allows us to show some previously unknown interesting properties of local density:

B: Results for dynamic algorithms.

We prove that in an approximately fair orientation (a definition by Chekuri et al. [10]) the out-degree g(v) of each vertex is a (1+ε)-approximation of g(v)=ρ(v) (Theorem 12). This implies a previously unknown fact: that there exist dynamic polylogarithmic algorithms [10, 13, 12] where each vertex v maintains a (1+ε)-approximation of its local density ρ(v) as by Danisch, Chan, and Sozio [14].

C: Results in LOCAL.

We show that each node v can obtain a (1+ε)-approximation of ρ(v) by surveying its O(ε2log2n)-hop neighbourhood. This induces a LOCAL algorithm where each vertex vV computes a (1+ε)-approximation of ρ(v) in O(ε2log2n) rounds.

Commentary on runtime: We observe that ρmax(G) can be computed in LOCAL in O(ε1logn) rounds. In contrast, the stricter local density is computed in O(ε2log2n) rounds. This gap may be explained by considering the local density ρ(v) for low-local-density vertices v in a graph that has high global density. The local density of v can be affected by a dense subgraph within a hop distance of Θ(ε2log2n) (although it unclear if it can be affected enough to prohibit a (1+ε)-approximation of ρ(v) in o(ε2log2n) time). The potential for a barrier of O(ε2log2n) rounds is also illustrated by existing dynamic algorithms [10, 28] that maintain η-fair orientations. In this scenario, these algorithms have a worst-case recourse of Ω(ε2log2n). We consider it an interesting open problem to either improve our running time in LOCAL, or, show that O(ε2log2n) is tight.

D: Results in CONGEST.

We show a significantly more involved algorithm in CONGEST, where after O(poly{ε1,logn}2O(logn)) rounds, each vertex v outputs a (1+ε)-approximation of ρ(v). Since maxvVρ(v)=ρmax(G), this is the first deterministic algorithm for (1+ε)-approximating of the global subgraph density ρmax(G) in CONGEST, that runs in a number of rounds that is sublinear in the diameter of the graph.

In the main body, we focus on the value variant where we want each vertex v to output an approximation of ρ(v). In the full version, we extend our analysis so that each vertex v can output a subgraph H with vH where ρ(H) approximates ρ(v). See also Table 1.

Table 1: Results in LOCAL (L) or CONGEST (C) where prior work for computing the global subgraph density is compared to our running time for the local subgraph density. D denotes the diameter. Orange running times are not deterministic and occur with high probability.
Model Problem Each v outputs ρv with Rounds Source
L 2.1 ρv[(1+ε)1ρmax(G),(1+ε)ρmax(G)] Θ(D) [28]
2.2 maxvρv[(1+ε)1ρmax(G),(1+ε)ρmax(G)] O(ε1logn) [28]
3 𝝆𝒗[(𝟏+𝜺)𝟏𝝆(𝒗),(𝟏+𝜺)𝝆(𝒗)] 𝑶(𝜺𝟐𝐥𝐨𝐠𝟐𝒏) Cor. 15
C 2.1 ρv[(2+ε)1ρmax(G),(2+ε)ρmax(G)] O(Dε1logn) [15]
2.1 ρv[(1+ε)1ρmax(G),(1+ε)ρmax(G)] O(ε4log4n+D) whp. [28]
2.2 maxvρv[(1+ε)1ρmax(G),(1+ε)ρmax(G)] O(ε4log4n) whp. [28]
2.2 𝝆𝒗[(𝟏+𝜺)𝟏𝝆(𝒗),(𝟏+𝜺)𝝆(𝒗)] 𝑶(𝐩𝐨𝐥𝐲{𝐥𝐨𝐠𝒏,𝜺𝟏})𝟐𝑶(𝐥𝐨𝐠𝒏) Thm. 16
3 𝝆𝒗[(𝟏+𝜺)𝟏𝝆(𝒗),(𝟏+𝜺)𝝆(𝒗)] 𝑶(𝐩𝐨𝐥𝐲{𝐥𝐨𝐠𝒏,𝜺𝟏})𝟐𝑶(𝐥𝐨𝐠𝒏) Thm. 16
3 𝝆𝒗[(𝟏+𝜺)𝟏𝝆(𝒗),(𝟏+𝜺)𝝆(𝒗)] 𝑶(𝐩𝐨𝐥𝐲{𝐥𝐨𝐠𝒏,𝜺𝟏}) whp. Thm. 16

2 Preliminaries and related work

Let G=(V,E) be an undirected weighted graph with n vertices and m edges. For any vV and any integer k, we denote by Hk(v) the k-hop neighborhood of v. For each edge eE we denote by g(e) the weight of e. Any edge with endpoints u,v may be denoted as uv¯.

We can augment any weighted graph G with a (fractional) orientation. An orientation G assigns to each edge uv¯ two positive real values: g(uv) and g(vu) such that g(uv¯)=g(uv)+g(vu). These values may be interpreted as pointing a fraction of the edge uv¯ from u to v, and the other fraction from v to u. Given an orientation G, we denote by g(u)=vVg(uv) the out-degree of u (i.e., how much fractional edges point outwards from u in G). Given these definitions, we can consider two graph measures of G: the maximum subgraph density and the minimum orientation of G.

Global graph measures.

For any subgraph HG, its density ρ(H) is defined as ρ(H)=1|V(H)|eE(H)g(e). The maximum subgraph density ρmax(G) is then the maximum over all HG of ρ(H). A subgraph HG is densest whenever ρ(H)=ρmax(G). For any orientation G of G, its maximum out-degree Δ(G) is the maximum over all u of the out-degree g(u). The optimal out-degree of G, denoted by Δmin(G), is subsequently the minimum over all G of Δ(G). An orientation G itself is minimum whenever Δ(G)=Δmin(G).

The density of G and the optimal out-degree are closely related. One way to illustrate this is through the following dual linear programs:

DS (Densest Subgraph) FO (Fractional Orientation)
maxuv¯Eg(uv¯)yu,v s.t. minρ s.t.
xu,xvyu,v uv¯E g(uv)+g(vu)g(uv¯) uv¯E
vVxv1 ρvVg(uv) uV
xv,yu,v0 u,vV g(uv),g(vu)0 u,vV

Denote by R the optimal value of DS and by Δ the optimal value of FO. By duality, R=Δ. Moreover, Charikar [9] relates these two linear programs to the densest subgraph problem:

Theorem 1 (Theorem 1 in [9]).

Let G be a unit weight graph. Denote by R the optimal solution of DS and by D the optimal solution of FO. Then ρmax(G)=R=Δ=Δmin(G).

We show that this can be generalised to when G is a weighted graph:

Lemma 2 (See the full version).

Let G be any weighted graph. Denote by R the optimal solution of DS and by D the optimal solution of FO. Then ρmax(G)=R=D=Δmin(G).

2.1 Densest subgraph in dynamic algorithms

In a classical, non-distributed model of computation we can immediately formalise both the value variant of the (approximate) densest subgraph:

Problem 1.

Given a graph G and an ε>0, output ρ[(1+ε)1ρmax(G),(1+ε)ρmax(G)].

Alternatively, in the Fractional Orientation (FO) problem the goal is to output a (1+ε)-approximation of Δmin(G). It turns out that FO is a more accessible problem to study. The LP formulations allow for a straightforward way to compute Δmin(G) and/or ρmax(G). However, solving the LP requires information about the entire graph, and this information is expensive to collect. Sawlani and Wang [27] get around this difficulty by instead solving an approximate version of (FO). They work with a concept we call local fairness.

Definition 3.

Let G be a fractional orientation of a graph G. We say that G is locally fair whenever g(uv)>0 implies g(u)g(v).

Chekuri et al. [10] extend this definition to η-fairness:

Definition 4.

Let G be a fractional orientation of a graph G. We say that G is η-fair (for η>0) whenever g(uv)>0 implies that g(u)(1+η)g(v).

Related work in dynamic algorithms.

Chekuri et al. [10] continue to focus on computing a (1+ε)-approximation of the Densest Subgraph problem. They show that, if G is a unit weight graph, there exists a (1+ε)-approximate solution to FO that is η-fair (for some smartly chosen η). They subsequently prove that an η-fair orientation allows you to find a (1+ε)-approximate densest subgraph. This allows them to dynamically maintain the value of the densest subgraph of G in O(ε6log3nlogρmax(G)) time per insertion or deletion of edges in G. By leveraging the η-fairness of the orientation, they can report a (1+ε)-approximate densest subgraph in time proportional to the size of the subgraph.

2.2 Approximate densest subgraph in LOCAL and CONGEST

We focus on the value variant of the problem, where each vertex outputs a value (as opposed to the reporting variant in the full version, where the goal is to report a densest subgraph).

Problem 2.

Given a graph G and an ε>0, each vertex v outputs a value ρv and either:

  • Problem 2.1: we require that v,ρv[(1+ε)1ρmax(G),(1+ε)ρmax(G)], or

  • Problem 2.2: we require that maxvρv[(1+ε)1ρmax(G),(1+ε)ρmax(G)].

Related work.

Problem 2.1 has a trivial Ω(D) lower bound, obtained by constructing a lollipop graph (where D denotes the diameter). In LOCAL, it is trivial to solve Problem 2.1 in Θ(D) time. Problem 2.2 was studied by Ghaffari and Su [20] who present a randomised (1+ε)-approximation in LOCAL that uses O(ε3log4n) rounds. Fischer et al. [16] present a deterministic (1+ε)-approximation in LOCAL that uses 2O(log2(ε1logn)) rounds. Ghaffari et al. [19] improve this to O(ε9log15n) rounds. The work by Harris [24] improves this to O~(ε6log6n) rounds. Su and Vu [28] present the state-of-the-art in this area. They prove that for any graph G, there exists a vertex v such that for the k-hop neighbourhood Hk(v) (with kO(ε1logn)) the density ρmax(Hk) is a (1+ε)-approximation of ρmax(G). This immediately leads to a trivial LOCAL algorithm: each vertex u collects its k-hop neighbourhood Hk(u) in O(ε1logn) rounds, solves the LP of Densest Subgraph in its own node, and reports the value ρmax(Hk(u)).

In CONGEST, the state-of-the-art deterministic algorithm for Problem 2.1 and 2.2 is by Das Sarma et al. [15] who present a (2+ε)-approximation in O(Dε1logn) rounds. The best randomised work is by Su and Vu [28] who present a randomised algorithm for Problem 2.2 that runs in O(ε4log4n) rounds w.h.p. See also Table 1 for an overview.

2.3 Local density

Danisch, Chan, and Sozio [14] introduce a more local measure which they call the local density. Its lengthy definition assigns to each vertex v a value. We note for the reader that we almost immediately define our local out-degree (Definition 8), and only use local out-degree in proofs. Hence, the reader is not required to have a thorough understanding of the following:

Definition 5 (Definition 2.2 in  [14]).

Let G=(V,E) be a weighted graph where an edge e has weight g(e). Let BV. For any XVB, we define the quotient edges E^B(X) as all edges in G with one endpoint in X, and the other endpoint in X or B. We define:

  • for XVB, the quotient subgraph density ρ^B(X):=1|X|eE^B(X)g(e).

  • the maximum quotient density ρ^B(G):=maxXVBρ^B(X).

Definition 6 (Definition 2.3 in  [14]).

Given a weighted undirected graph G=(V,E), we define the diminishing-dense decomposition of G as the sequence B0B1B=V:

We define B0=. For i1 if Bi1=V then :=i. Otherwise:

Si:=argmaxXVBi1ρ^Bi1(X), and Bi:=Bi1Si.
Definition 7 (Definition 2.3 in [14]).

Given a weighted undirected graph G=(V,E) and a diminishing-dense decomposition , each vertex vV has one integer i where vSi. We define the local density ρ(v):=ρ^Bi1(Si).

The benefit of local measures.

Problem 2’s variants have drawbacks in a distributed model of computation. Problem 2.1 has an Ω(d) lower bound (making it trivial in LOCAL). Problem 2.2 allows some vertices to output nonsense. The definition of local density alleviates these issues, as we may define an algorithmic problem which we consider to be more natural:

Problem 3.

Given (G,ε), each vertex v outputs ρv[(1+ε)1ρ(v),(1+ε)ρ(v)].

Related work.

Danisch, Chan, and Sozio [14] introduce the local density (Definition 7). Intuitively, they define a partition V1Vk of V. For each i, they consider the set Xi=j=1iVj. They then define the graph Hi as the vertex-induced subgraph of Xi where for each edge in G between a vertex in Xi and a vertex not in Xi, they add a self loop. They define the quotient density of Vi as the density of Hi. The local density ρ(v) of a vertex v is the quotient density of Vi for vVi. Danisch, Chan, and Sozio [14] then define a quadratic program FO2. The domain of this program is the space of all orientations of the graph G. The cost function is the sum over all vertices u, of the out-degree squared. Consider an orientation G of G that optimises the cost function. Danisch, Chan, and Sozio show that for each vertex v it out-degree g(v) equals the local density ρ(v). As a consequence, over all optimal solutions to FO2, the out-degree of each vertex is unique. They provide a Frank-Wolfe based algorithm to solve the quadratic program with no theoretical guarantees.

Chekuri, Harb, and Quanrud [22] study computing the local density by solving the quadratic program. They show [22, Theorem 3.4] some interesting properties of FO2. Specifically, they show that the uniqueness property by Danish, Chan and Sozio is a special case of Fujishige’s result [18] from 1980. They additionally show that the algorithm GREEDY++ by Boob, Gao, Peng, Sawlani, Tsourakakis, Wang, and Wang [5] (when applied to this quadratic program) converges to an orientation where the out-degree of each vertex v is a (1+ε)-approximation of ρ(v). Chekuri, Harb, and Quanrud [23] subsequently show that the more general SUPER-GREEDY++ algorithm by Chekuri, Quanrud and Torres [11] also converges to (1+ε)-approximation of each ρ(v).

Borradaile, Migler, and Wilfong [7] observe that there is a correlation between the fairness of an orientation and local density. An integral orientation is any orientation of the graph where for each edge (u,v), g(uv){0,1}. They consider an egalitarian orientation which is defined as an integral orientation where “the total available out-degree is shared among the vertices as equally as allowed by the topology of the graph”. An egalitarian orientation, and other equivalent notions of “fair integral orientations”, are formally defined through an integer flow problem on the graph [6, 17, 30]. From section 2 in [6] it follows that an integral orientation is egalitarian if and only if g(uv)=1 implies that g(u)g(v)+1.

Using an egalitarian orientation, they create a decomposition of the graph that they call a density decomposition. The density decomposition by Borradaile, Migler, and Wilfong [7] is not equal to the local density. The analysis of Kopelowitz, Krauthgamer, Porat, and Solomon shows that if G is an egalitarian orientation then maxvg(v)ρ(G)+O(logn). Their decomposition, compared to the one used for the local density, can thus be viewed as one that is coarser but similar in spirit. It can thereby be argued that Borradaile, Migler, and Wilfong [7] are the first to show a connection between the local density and fair orientations of a graph. However, we note that the integrality of their orientation prevents exact (or (1+ε)-approximate) computations of the local density.

3 Results and organisation

Now we are ready to formally state our contributions. Our primary contribution is that we show a dual definition to local density, which we call the local out-degree:

Definition 8.

Given a graph G=(V,E), we define the local out-degree as:

g(u):= the out-degree g(u) in any locally fair fractional orientation of G.

It is not immediately clear that the local out-degree is well-defined. We prove (Theorem 9) that each vertex in G has the same out-degree across all locally fair orientations of G (and thus, the set of all locally fair orientations of G assigns to each vertex a real value). We believe that the local out-degree is conceptually simpler that the local density. Through this definition, we are able to show various algorithms to approximate the local density.

3.A Conceptual results for local density

We prove in Section 4 that these local definitions generalise the global definition of subgraph density and out-degree, as they exhibit the same dual behaviour. We show several previously unknown properties of the local density, which we consider to be of independent interest:

Theorem 9.

For any weighted graph G, vV, g(v) is well-defined and equals ρ(v).

Corollary 10.

Given a weighted graph G, ρmax(G)=Δmin(G)=maxvg(v).

Corollary 11.

For any graph G, there exists a fractional orientation G that is locally fair.

3.B Results for dynamic algorithms

We show in Section 5 that η-fair orientations imply approximations for our local measures:

Theorem 12.

Let G be a weighted graph and G be an η-fair fractional orientation for ηε2128logn. Then vV: (1+ε)1ρ(v)g(v)(1+ε)ρ(v).

This immediately implies the following Corollary by applying [10]:

Corollary 13.

There exists an algorithm [10] that can fractionally orient a dynamic unit-weight graph G with n vertices subject to edge insertions and deletions with deterministic worst-case O(ε6log4n)) update time such that for all vV:

g(v)[(1+ε)1ρ(v),(1+ε)ρ(v)].

3.C Results in LOCAL

The local density as a measure is not entirely local. However, we prove in Section 6 that far-away subgraphs affect the local density of a vertex v only marginally:

Theorem 14.

Let G be a unit-weight graph. For any ε>0 and vertex v, denote by ρ(v) its local density and by ρk(v) its local density in Hk(v). Then ρk(v)[(1+ε)1ρ(v),(1+ε)ρ(v)] for kΘ(ε2log2n).

This immediately implies a trivial algorithm for problem 2 in LOCAL (where each vertex v collects its k-hop neighbourhood Hk(v) for kΘ(ε2log2n) and then solves FO on Hk(v)):

Corollary 15.

There exists an algorithm in LOCAL that given a unit graph G and ε>0 computes in O(ε2log2n) rounds for all vV a value ρv[(1+ε)1ρ(v),(1+ε)ρ(v)].

3.D Results in CONGEST

Finally in Section 7, we solve Problem 3 in CONGEST by computing an η-fair orientation. We use as a subroutine algorithm to compute blocking flows in an h-layered DAG [21]:

Theorem 16.

Suppose one can compute a blocking flow in an n-node h-layered DAG in Blocking(h,n) rounds. There exists an algorithm in CONGEST that given a unit-weight graph G and ε>0 computes in O(ε3log4n(ε2log2n+Blocking(ε2log2n,n))) rounds an orientation G such that for all vV: g(v)[(1+ε)1ρ(v)),(1+ε)ρ(v)ρ(v)].

As a corollary, we obtain the first deterministic algorithm running in a sublinear number of rounds for (1+ε)-approximate dense subgraph detection in the CONGEST model (Table 1).

4 Conceptual results for local density

Our primary contribution is the definition of local out-degree as a dual to local density.

Lemma 17.

The local density is well-defined. That is, for any two locally fair orientations G or G where a vertex u has out-degree g(u) or g(u) respectively, g(u)=g(u).

Proof.

Suppose for the sake of contradiction that there exists two locally fair orientations (G,G) and a vertex uV where g(u)>g(u). We define their symmetric difference graph S as a digraph where the vertices are V and there exists an edge ab whenever g(ab)>g(ab). We may assume that S contains no directed cycles:

Indeed if S contains any directed cycle π we change G, where for all abπ we slightly increase g(ab) until S loses an edge. This operation does not change the out-degree of any vertex in G. So, we still have two locally fair orientations (G,G) with g(u)>g(u).

Since g(u)>g(u), the vertex u must have at least one out-edge in S and since S has no cycles, it follows that u must have some directed path πv to a sink v in S. Since v is a sink in the symmetric difference graph it follows that g(v)<g(v).
However we now observe the following property of the path πv:

  • abπv, g(ab)>g(ab). Thus, g(ab)>0 and so there exists a directed path from u to v in G. Since G is locally fair this implies that g(u)g(v).

  • abπv, g(ab)>g(ab). Thus, g(ab)<g(ab) and so g(ba)>0. It follows that there exists a directed path from v to u in G. Local fairness implies g(v)g(u).

The 4 equations: g(u)>g(u), g(v)<g(v), g(u)g(v), and g(u)g(v) give a contradiction.

Lemma 17 would imply that the local out-degree is well-defined, if the set of locally fair orientations is non-empty. Bera, Bhattacharya, Choudhari and Ghosh already aim to prove this in Section 4.1 of [3] (right above Equation 9). They claim that a locally fair orientation always exist by the following argument: They consider an arbitrary orientation G that is not locally fair. They claim that for any pair (u,v) where g(u)>g(v) and g(uv)>0 it is possible to transfer some out-degree from g(u) to g(v). The existence of a locally fair orientation would follow, if it can be shown that this procedure converges to a locally fair orientation. Indeed, since the space of all orientations is a compact polytope, the limit of a converging sequence over this domain must lie within the space.

It is intuitive but not clear that this procedure indeed converges. Indeed, decreasing g(u) and increasing g(v) may cause some other edge (w,u) or (v,w) to start violating local fairness. One way to show convergence is to define a potential function and to show that such a transfer always decreases the potential. We define the potential function vVg2(v), thereby creating a quadratic program where the domain is the space of all orientations of G. We prove that any optimal solution to this quadratic program must be a locally fair orientation. Any quadratic function over a compact domain has an optimum and so the existence of a locally fair orientation follows.

See 9

Proof.

We consider the following quadratic program FO2 from [14, Section 4] where we compute a fractional orientation of the graph G subject to a quadratic cost function:

ming(u)2 s.t.
g(uv)+g(vu)g(uv¯) uv¯E
g(u)vVg(uv) uV
g(uv),g(vu)0 u,vV

Consider any optimal solution to the quadratic program. It must be that g(u)=vVg(uv). Danisch, Chan, and Sozio [14, Corollary 4.4] prove that for any vertex u, the local density ρ(u)=g(u).

We first note that any solution to the quadratic program is an orientation. Indeed, suppose for the sake of contradiction that there exists an edge uv¯E where g(uv)+g(vu)>g(uv¯). We may now decrease either g(uv) or g(vu) to obtain another viable solution to the program. Consider decreasing g(uv), then we may decrease g(u) and maintain a viable and better solution to the program – a contradiction.

Secondly, we claim that the optimal solution to the quadratic program is a locally fair orientation. Suppose for the sake of contradiction that there exist u,v with g(u)=g(v)+δ and g(uv)=δ for δ,δ>0. We can decrease g(uv) to zero by increasing g(vu) by Δ=min{δ,δ} and still maintain a solution to the program. This reduces the solution’s value by (g(u)Δ)2(g(v)+Δ)2. However, we now found a solution to the quadratic program with a lower value than the optimal solution – a contradiction.

Thus, the solution to FO2 gives a locally fair orientation G where each vertex u has out-degree g(u). The local density g(u)=g(u) is by Lemma 17 well-defined. Danisch, Chan and Sozio [14, Corollary 4.4] show that ρ(u)=g(u), which proves the theorem. Since the local density equals the local out-degree, we conclude from [14] that:

See 10

Since a quadratic program over a convex domain always has a solution, we may also note the following interesting fact:

See 11

5 Results for dynamic algorithms

We use our definition of local out-degree to show that there already exist dynamic algorithms that approximate the local density of each vertex. Recall that an orientation G is η-fair whenever for all uv¯E(G), g(uv)>0 implies that g(u)(1+η)g(v). We show that if we choose ηε2128logn, then for any η-fair orientation, for all v, the out-degree g(v) is a (1+ε) approximation of g(v)=ρ(v). Moreover, we prove that the maximal local out-degree (i.e. maxuVg(u)) is a (1+ε) approximation of Δmin(G)=ρmax(G); illustrating that approximating the local measures is a strictly more general problem. To this end, we prove the following helper lemma:

Lemma 18.

Let ηε2128logn and klog(1+116ε)n. Then (1+η)k(1+0.5ε)1.

Proof.

Using log(1+x)x/2 whenever x<1, we obtain:

log1+ε16(n)=log(n)log1+ε16log(n)ε32ε4128log(n)ε2
(1+η)k(1+ε2128clogn)clog1+ε16(n)(1+ε2128clogn)ε4128clog(n)ε2
(1+η)kEXP[ε4]EXP[log(1+ε2)](1+ε2)1

See 12

Proof.

First, we show that for all vertices v, g(v)(𝟏+ε)ρ(v).

Suppose for the sake of contradiction that there exists a vertex u with g(u)>(1+ε)ρ(u). We fix ρ(u)=g(u)=γ and work with γ throughout the remainder of this proof to show a contradiction. By Corollary 11, there exists at least one locally fair fractional orientation Gx. By Corollary 10, every vertex v in this orientation has out-degree gx(v)=g(v)=ρ(v). And thus, the fractional orientation Gx is not equal to G.

Given G and a locally fair fractional orientation Gx, we do three steps:

  • We partition the vertices of G to create two graphs G1 and G2. The partition is based on the orientation Gx as we set: G1=G[vVgx(v)γ] and by G2=G[vVgx(v)>γ]. For ease of notation, we write any edge with one endpoint aV(G1) and one endpoint bV(G2) as (a,b) and never as (b,a).

  • From G1, we create a family of nested subgraphs using G. We define graphs Gi1:=G1[vV(G1)g(v)g(u)(1+η)i]. We denote by k the lowest integer such that |V(Gk+11)|<(1+ε16)|V(Gk1)|. We apply Lemma 18 to observe that (1+η)k(1+ε/2)1.

  • Finally, we use both orientations to create three claims that contradict one another.

The first claim. We denote by E the set of all edges e=(a,b) with aV(Gk+11) and bV(G2) and claim that:

eE(Gk+11)g(e)+eEg(e)vV(Gk+11)gx(v). (1)

Indeed for ab¯E(Gk+11), both endpoints are in V(Gk+1). Because Gx is locally fair, this implies that gx(ab)+gx(ba)=g(ab¯). For all ab¯E, gx(b)>γgx(a) per definition of G1 and G2. By local fairness, gx(ab)=g(ab¯) and the inequality follows.
The second claim. We secondly claim that:

vV(Gk1)g(v)>vV(Gk+11)gx(v). (2)

This is because we can lower bound vV(Gk1)g(v) as follows:

vV(Gk1)g(v) (1+η)kg(u)|V(Gk1)|>(1+η)kg(u)|V(Gk+11)|(1+ε16)1
>(1+ε2)1(1+ε)γ|V(Gk+11)|(1+ε16)1γ|V(Gk+11)|

The claim follows by noting that per definition of G1, for all vV(Gk+11), gx(v)γ.
The third claim. Lastly, we claim that:

vV(Gk1)g(v)eE(Gk+11)g(e)+eEg(e) (3)

Consider any vV(Gk1) and any vertex a with g(va)>0. Recall that G is an η-fair orientation. Thus, if aG1, then va¯E(Gk+11). If aG2, then per definition va¯E. Per definition of a fractional orientation g(va)g(va¯) and so the claim follows.
A contradiction. Equation 1, 2 and 3 contradict each other. Thus, we have proven that for all vertices v, g(v)(1+ε)ρ(v).

The full version finishes the proof by showing the other direction.

If G is a unit-weight graph, Chekuri et al. [10] present a dynamic algorithm to maintain an η-fair orientation in a unit-weight graph with ηO(ε2logn). Thus, by Theorem 12, we may now conclude that they approximate the local density (and/or the local out-degree):

See 13

6 Results in LOCAL

We prove that the local out-degree of each vV is (largely) determined by its local neighbourhood. As a result, we immediately get an algorithm to solve Problem 3 in LOCAL.

See 14

Proof.

To prove the theorem, we design a simple deletion-only algorithm to maintain an η-fair orientation. For η=ε2128logn, this algorithm has a recursive depth of O(ε2log2n).

Specifically, we say that a directed edge uv¯ is bad whenever g(uv)>0 and g(u)>(1+η)g(v). In an η-fair orientation no edge is bad. Whenever we delete an edge x1x0¯, the out-degree g(x1) decreases by g(x1x0). For vertices x2 with g(x2x1)>0, it may now be that g(x2)>(1+η)g(x1) (and thus the edge x2x1¯ becomes bad). Note if there exists such a vertex x2, then it must hold for the vertex x2:=argmaxx2V{g(x2)g(x2x1)>0}. This leads to a recursive algorithm to decrease the out-degree of a vertex (Algorithm 1).

Algorithm 1 decrease(g(uv) by Δ – assuming that Δg(uv)).

We claim that this algorithm as a recursive depth of O(log1+ηn). Indeed any sequence of recursive calls is a path in G. Denote the path belonging to the longest sequence of recursive calls by x0,x1,x. Since Δ is always at most 1, it must hold for all i that: g(xi)>(1+η)(g(xi1)1)). Since a graph may have at most n2 edges, g(x)n and it follows that the recursive depth is at most O(log1+ηn). We now apply log(1+x)x/2 and note that: lognlog(1+η)lognη/2O(logn64ε2/logn)O(log2nε2).

Given this theoretical algorithm, we prove the lemma. Consider any fair orientation G. Then by Theorem 9 for any vertex v, g(v)=ρ(v). Choose some kΘ(ε2log2n) sufficiently large and let Hk(v) be the k-hop neighbourhood of v and Ek be all the edges in Hk+1(v) that are not in Hk.

Choose η=ε2128logn. The orientation G is per definition an η-fair orientation. We run on G our deletion-only algorithm, deleting all edges in Ek. Since our algorithm has a recursive depth of <k, we end up with an η-fair orientation of Hk(v) where g(v)=ρ(v). We apply Theorem 12 to conclude that ρ(v)=g(v)[(1+ε)1ρk(v),(1+ε)1ρk(v)] which concludes the theorem.

See 15

7 Results in CONGEST

We now describe an algorithm in CONGEST that for any unit-weight graph G, creates an η-fair orientation (with η=ε2128logn). Our algorithm uses as a subroutine a distributed algorithm to compute a blocking flow in an h-layered DAG in O(Blocking(h,n)) rounds.

Definition 19.

An edge-capacitated DAG G is h-layered if the vertices can be embedded on a grid of height h, such that every directed edge uv¯ points downwards.

Definition 20.

For an edge-capacitated DAG G with sources S and terminals T, a flow f from S to T is blocking if every augmenting path of f contains at least one saturated edge.

Lemma 21 (Lemma 7.2 and 9.1 in [21]).

There exists an algorithm which, given an n-node h-layer edge-capacitated DAG D with sources S and terminals T computes a blocking ST-flow in CONGEST in:

  • Blocking(h,n)=O~(h4) rounds with high probability,

  • Blocking(h,n)=O~(h62clogn) deterministic rounds for some constant c.

We compute an η-fair orientation by repeatedly constructing a DAG with hO(ε2log2n) and computing blocking flows. Theorem 12 implies in an η-fair orientation (for our choice of η) the out-degree of each vertex v is a (1+ε)-approximation ρ(v).

The initialising step.

Before we start our algorithm, we create a starting orientation where we set for every edge e=uv¯, g(uv)=12g(e) and g(vu)=12g(e). This gives each vertex u some out-degree g(u) which we partition:

Definition 22.

Let each vertex u have out-degree g(u). We define level i as:

Li:={uVg(u)[(1+η2)i,(1+η2)i+1]}.

A vertex uLi is at level i and denotes the highest level that is not empty.
Whenever g(u)=(1+η2)i, u may decide whether uLi or uLi1; whenever our algorithm increases g(u) the vertex u defaults to the lowest possible level and vice versa.

Definition 23.

Consider an edge uv¯ with uLi and vLj. We say that:

  • (u,v) is an out-edge from u and an in-edge into v whenever i>j and g(uv)>0, and

  • (u,v) is violating whenever i>j+1 and g(uv)>0

Note that the orientation is η-fair whenever there exist no violating edges.

Figure 1: Given a graph G, we arbitrarily orient G. This allows us to partition the vertices of G into levels L1,L6 based on their current out-degree. We say that an edge (u,v) is violating whenever g(uv)>0, uLi, vLj and i>j+1. We show violating edges in red. Our algorithm iterates over an integer h from high to low, and tries to flip all violating edges from level Lh.
Lemma 24.

Let ηε2128logn. For our orientation, let be the highest level such that L is not empty then ε2log2n.

Proof.

The maximal out-degree of a vertex is n. Thus, lognlog(1+η2). We now apply log(1+x)x/2 and note that: lognlog(1+η2)lognη/4=logn32ε2/lognlog2nε2.

7.1 Algorithm overview

Denote =ε2log2n. Our algorithm runs on a “clock” denoted by (h:m:s) where:

  • Each hour h lasts 2η1+2 minutes,

  • Each even minute m lasts 4log8/7n+2 rounds,

  • Each odd minute m in hour h lasts h+1 seconds,

  • Each second s lasts +Blocking(,n) rounds.

Each vertex tracks the clock to know which actions of our algorithm it should execute (if any). Our clock is special, in the sense that hours tick downwards. Minutes and seconds tick upwards, starting from zero. Each vertex v in our graph keeps track of the current time, measured in the current hour h, minute m and second s. We maintain the following:

Invariant 1.

During hour h, there are no violating out-edges from level k for all k>h+1. At the start of each even minute in hour h, there are no violating out-edges from level k for all k>h.

This invariant implies that we compute an η-fair orientation when the clock reaches (0:0:0). Going from hour h to hour h1 we maintain this invariant by flipping directed paths:

Definition 25.

For any edge uv¯ with g(uv)>0, we say that our algorithm is flipping uv¯ whenever it decreases g(uv) (increasing g(vu)). Moreover, we say that uv¯ is flipped whenever our algorithm has decreased g(uv) such that g(uv)=0.

Algorithm (see also Figure 2 and Algorithms 2 and 3 and 4 and 5).

Each time frame has a purpose:

  • Each hour h, the goal is to identify and “fix” all violating out-edges from vertices in Lh; without introducing violating out-edges from vertices in a level Lk with k>h. We do this iteratively, using two different steps:

    • Each even minute, we fix all violating out-edges from vertices in Lh, possibly creating violating out-edges from vertices in Lh+1 to vetices in Lh1.

    • Each odd minute, we fix all violating out-edges from vertices in Lh+1 to vertices in Lh1. We do this in such a manner, that we create no new violating out-edges from vertices in Lk for k>h. However, we may create violating out-edges from level Lh.

  • Each even minute m, we define the set VmLh of vertices that have at least one violating out-edge. Over 4log8/7n+2 rounds, each uVm flips violating out-edges uv¯. Moreover:

    • The out-degree g(u) is decreased such that u drops at most one level, and

    • The out-degree g(v) such that v increases its level up to at most h1.

    We prove that at the end of this minute m, there exist no more uVm with a violating out-edge. Thus, for each vertex uVm, either u decreased one level, or all uv¯ that were violating now have that g(uv)=0, or vLh1.

  • In each odd minute m, we inspect the vertices Tm:={uVm1 that dropped a level}. For each uTm, for each edge wu¯ with wLh+1 and g(wu)>0 the edge (w,u) has become a violating in the previous minute. We want to fix these edges, whilst guaranteeing that we create no violating in-edges from vertices in level h+2 and above.
    We obtain this, by recording at the start of the minute for every vertex u its level lm(u). We then invoke h+1 seconds. Each second s, we create a DAG Ds where the sinks are Tm. We increase for all uTm the out-degree g(u) by flipping a directed path from a source in Ds to Tm. We construct our DAG in such a manner that this procedure does not create new violating in-edges, and that for all seconds s, Ds+1 is a subgraph of Ds.

  • At the start of second s of each minute m, we fix for every edge uv¯ the values gs(uv), and the levels ls(u) and ls(v) of u and v. We then define a graph Ds=(Vs,Es) as follows:

    • The edges Es are all violating in-edges to vertices in Tm plus all uv¯ with:
      ls(u)=lm(u)>h+1, ls(u)>ls(v), and gs(uv)>0.

    • The vertices Vs include Tm plus all vertices in G with a directed path to Tm in Es.

    • The vertices SsVs are all sources in Ds (these are not in Tm).

    For each vTm we increase g(v) by flipping a directed path from a vertex in Ss to v. We continue this until either g(v)=(1+η2)h+1, or, there exist no more edges (u,v)Es with g(uv)>0. In both cases, v has no more violating in-edges. To find these directed paths, we create a flow problem on a graph Ds where the maximal path has length +2:

    • For each uSs, we define σ(u)=g(u)(1+η2)lm(u)1 (the maximal amount we can decrease g(u) such that is does not arrive in level lm(u)2). We connect every uSs to a unique source su where the edge suu¯ has capacity σ(u).

    • For each vTm, we define δ(v)=(1+η2)h+1g(v) (the maximal amount we can increase g(v) such that it does not arrive in level h+1). We connect every vTm to a unique sink tv where the edge vtv¯ has capacity δ(v).

    • Each other edge uv¯Es has capacity g(uv).

Figure 2: (4:0:0) – at the first minute start in hour 4, we consider all violating out-edges uv¯ from level 4 (red). Per definition, these edges point to level 2 or lower.
(4:0:0) – at the first minute end, either u has dropped a level (pink), v increased their level to h1 (green) or the edge uv¯ is flipped (blue). We consider violating in-edges to pink vertices (orange)
(4:1:0) – at the first second start, we construct a DAG D0 where the edges are the orange edges plus black edges. The vertex set are all u with a directed path to a pink vertex (vT1). The yellow vertices are S0.
(4:1:0) – at the first second end, edges in the DAG may have flipped (blue), vertices in S0 may have dropped a level or vertices in T1 may have increased a level (making some edges no longer violating – purple).
(4:1:1) – at the second second start, we construct a DAG D1. Note that D1 is a subgraph of D0.

7.2 Formal algorithm definition

We now formalise our algorithm top-down, starting with defining variables.

Definition 26.

At the start of (h,m,0), where m is even, we fix the set Vm:={vLhv has at least one violating out-edge}. At the start of (h,m,0) where m is odd, we fix:

Tm:={vVm1 v decreased by one level in the previous minute and
v has at least one violating in-edge}.

Finally, we denote for any vertex u by lm(u) its level at the start of the minute m.

Definition 27.

At the start of (h:m:s), where m is odd, we fix the following:

  • For any vertex u, we denote by ls(u) its level at the start of the second.

  • For any edge uv¯ denote by gs(uv) the out-degree from u to v at the start of the second.

  • We define the edge set Es as all violating in-edges to vertices in Tm plus all uv¯ with:
    ls(u)=lm(u)>h+1, ls(u)>ls(v), and gs(uv)>0.

  • Vs are all vertices with a directed path to a vertex in Tm.

  • Ds=(Vs,Es) is a DAG where Ss are all the sources (per definition SsTm=).

Definition 28.

At the start of (h,m,s) where m is odd, given Tm, Ss and Ds, we define the DAG Ds by connecting all uSs to a unique sink su and all vTm to a unique sink tv.

  • For uSs, the edge suu¯ has capacity σ(u)=gs(u)(1+η2)lm(u)1.

  • For vTm, the edge vtv¯ has capacity δ(v)=(1+η2)h+1gs(v).

  • Each other edge uv¯Es has capacity gs(uv).

Observation 29.

At the start of (h:m:s) with m odd, if every vertex u is given lm(u), whether uTm, and h, then we may compute all elements of Definitions 27 and 28 in rounds.

Algorithm 2 hour(h).
Algorithm 3 evenminute(int h, int m).
Algorithm 4 oddminute(int h, int m).
Algorithm 5 second(int h, int m, int s).

7.3 Proving our algorithm’s correctness

Per definition, our algorithm runs in O(η1logn(+Blocking(,n))=O(ε3log4n(ε2log2n+Blocking(ε2log2n,n))) rounds. What remains is to show that we maintain Invariant 1, which implies that we compute an η-fair orientation.
We note that by the choice of our algorithm’s variables, we have the following property:

Observation 30.

For all times (h:m:s) with m odd:

  • Vertices at level k>h only decrease their level and by at most one (because afterwards, ls(u)<lm(u) and thus u has no out-edges in Es),

  • vertices at level h1 only increase their level (by at most 1), and

  • vertices at level k<h1 and level h do not change their level.

We use this observation in the full version to show that we maintain Invariant 1 by induction. Trivially, Invariant 1 holds at the start of (:0:0). We now assume that the invariant holds at (h:0:0), i.e. that there are no violating out-edges from level Lk with k>h. We prove that our algorithm ensures that at the start of (h1:0:0) there are no violating out-edges from level Lk with kh.

Moreover, we maintain the invariant that throughout hour (h1) there are no violating out-edges from level Lk with k>h+1. We prove this in the following way:

  • During (h:m:s) for m even, our algorithm eliminates all violating edges going from Lh. We show that in each iteration, the number of violating edges from Lh drops by a factor 7/8. The graph has at most n2 edges. This implies that after the minute, there are no more violating edges going from Lh. However, there may now be violating out-edges from vertices in Lh+1 to vertices in Tm+1Lh1.

  • During (h:m:s) for m odd, our algorithm eliminates all violating edges going from Lh+1 to Tm. We show that for all s, the DAG Ds is a subgraph of Ds1 where the height is one fewer. Since the height of Ds is at most h+1, this implies that after the minute m, the graph Ds is empty and there are no more violating in-edges to Tm.

  • Each minute, our algorithm alternates between having violating edges from Lh and Lh+1. We show that our algorithm can alternate at most η times before there are no violating edges from both Lh and Lh+1, which implies Invariant 1 at the start of (h1:0:0).

Invariant 1 implies that we compute an η-fair orientation at time (0:0:0), thus: See 16 We plug in the runtime of Blocking(h,n) of Lemma 21 by Haeupler, Hershkowitz, and Saranurak [21] to obtain the following runtime:

Corollary 31.

There is an algorithm in CONGEST that given a unit-weight graph G and an ε>0 computes an orientation G such that vV, the out-degree g(v)[(1+ε)1ρ(v),(1+ε)ρ(v)] in:

  • O~(ε11log12n) rounds with high probability, or

  • O~(ε15log16n2O(logn)) deterministic rounds.

Finally, we apply Corollary 10 which states that ρmax(G)=Δmin(G)=maxvg(v) to conclude:

Corollary 32.

There is a deterministic algorithm in CONGEST that given a unit-weight graph G and an ε>0, that computes an orientation G such that:

maxvVg(v)[(1+ε)1ρmax(G),(1+ε)ρmax(G)],

in a number of rounds that is sublinear in n.

This is the first deterministic sublinear algorithm that solves Problem 2.2.

References

  • [1] Bahman Bahmani, Ravi Kumar, and Sergei Vassilvitskii. Densest subgraph in streaming and mapreduce. Proc. VLDB Endow., 5(5):454–465, 2012. doi:10.14778/2140436.2140442.
  • [2] Soheil Behnezhad, Mahsa Derakhshan, Alireza Farhadi, MohammadTaghi Hajiaghayi, and Nima Reyhani. Stochastic matching on uniformly sparse graphs. In Algorithmic Game Theory: 12th International Symposium, SAGT 2019, Athens, Greece, September 30 – October 3, 2019, Proceedings, pages 357–373, Berlin, Heidelberg, 2019. Springer-Verlag. doi:10.1007/978-3-030-30473-7_24.
  • [3] Suman K. Bera, Sayan Bhattacharya, Jayesh Choudhari, and Prantar Ghosh. A new dynamic algorithm for densest subhypergraphs. In Frédérique Laforest, Raphaël Troncy, Elena Simperl, Deepak Agarwal, Aristides Gionis, Ivan Herman, and Lionel Médini, editors, WWW ’22: The ACM Web Conference 2022, Virtual Event, Lyon, France, April 25 - 29, 2022, pages 1093–1103. ACM, 2022. doi:10.1145/3485447.3512158.
  • [4] Sayan Bhattacharya, Monika Henzinger, Danupon Nanongkai, and Charalampos E. Tsourakakis. Space- and time-efficient algorithm for maintaining dense subgraphs on one-pass dynamic streams. In Rocco A. Servedio and Ronitt Rubinfeld, editors, Proceedings of the Forty-Seventh Annual ACM on Symposium on Theory of Computing, STOC 2015, Portland, OR, USA, June 14-17, 2015, pages 173–182. ACM, 2015. doi:10.1145/2746539.2746592.
  • [5] Digvijay Boob, Yu Gao, Richard Peng, Saurabh Sawlani, Charalampos Tsourakakis, Di Wang, and Junxing Wang. Flowless: Extracting densest subgraphs without flow computations. In Proceedings of The Web Conference 2020, 2020.
  • [6] Glencora Borradaile, Jennifer Iglesias, Theresa Migler, Antonio Ochoa, Gordon Wilfong, and Lisa Zhang. Egalitarian graph orientations. Journal of Graph Algorithms and Applications, 2017.
  • [7] Glencora Borradaile, Theresa Migler, and Gordon Wilfong. Density decompositions of networks. In Conference on Complex Networks (CompleNet). Springer, 2018.
  • [8] Gerth Stølting Brodal and Rolf Fagerberg. Dynamic representations of sparse graphs. In In Proc. 6th International Workshop on Algorithms and Data Structures (WADS), pages 342–351. Springer-Verlag, 1999. doi:10.1007/3-540-48447-7_34.
  • [9] Moses Charikar. Greedy approximation algorithms for finding dense components in a graph. In Approximation Algorithms for Combinatorial Optimization (APPROX). Springer, 2003.
  • [10] Chandra Chekuri, Aleksander Bjørn Christiansen, Jacob Holm, Ivor van der Hoog, Kent Quanrud, Eva Rotenberg, and Chris Schwiegelshohn. Adaptive out-orientations with applications. In Proceedings of the 2024 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 3062–3088. SIAM, 2024.
  • [11] Chandra Chekuri, Kent Quanrud, and Manuel R Torres. Densest subgraph: Supermodularity, iterative peeling, and flow. In Proceedings of the 2022 Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). SIAM, 2022.
  • [12] Aleksander Bjørn Grodt Christiansen, Krzysztof Nowicki, and Eva Rotenberg. Improved dynamic colouring of sparse graphs. In Barna Saha and Rocco A. Servedio, editors, Proceedings of the 55th Annual ACM Symposium on Theory of Computing, STOC 2023, Orlando, FL, USA, June 20-23, 2023, pages 1201–1214. ACM, 2023. doi:10.1145/3564246.3585111.
  • [13] Aleksander Bjørn Grodt Christiansen and Eva Rotenberg. Fully-Dynamic α+2 Arboricity Decompositions and Implicit Colouring. In Mikołaj Bojańczyk, Emanuela Merelli, and David P. Woodruff, editors, 49th International Colloquium on Automata, Languages, and Programming (ICALP 2022), volume 229 of Leibniz International Proceedings in Informatics (LIPIcs), pages 42:1–42:20, Dagstuhl, Germany, 2022. Schloss Dagstuhl – Leibniz-Zentrum für Informatik. doi:10.4230/LIPIcs.ICALP.2022.42.
  • [14] Maximilien Danisch, T.-H. Hubert Chan, and Mauro Sozio. Large scale density-friendly graph decomposition via convex programming. In Proceedings of the 26th International Conference on World Wide Web, WWW ’17, pages 233–242, Republic and Canton of Geneva, CHE, 2017. International World Wide Web Conferences Steering Committee. doi:10.1145/3038912.3052619.
  • [15] Atish Das Sarma, Ashwin Lall, Danupon Nanongkai, and Amitabh Trehan. Dense subgraphs on dynamic networks. In Marcos K. Aguilera, editor, Distributed Computing - 26th International Symposium, DISC 2012, Salvador, Brazil, October 16-18, 2012. Proceedings, volume 7611 of Lecture Notes in Computer Science, pages 151–165. Springer, 2012. doi:10.1007/978-3-642-33651-5_11.
  • [16] Manuela Fischer, Mohsen Ghaffari, and Fabian Kuhn. Deterministic distributed edge-coloring via hypergraph maximal matching. In 2017 IEEE 58th Annual Symposium on Foundations of Computer Science (FOCS), pages 180–191. IEEE, 2017. doi:10.1109/FOCS.2017.25.
  • [17] András Frank and Kazuo Murota. Fair integral network flows. Mathematics of Operations Research, 2023.
  • [18] Satoru Fujishige. Lexicographically optimal base of a polymatroid with respect to a weight vector. Mathematics of Operations Research, 5(2):186–196, 1980. doi:10.1287/MOOR.5.2.186.
  • [19] Mohsen Ghaffari, David G Harris, and Fabian Kuhn. On derandomizing local distributed algorithms. In 2018 IEEE 59th Annual Symposium on Foundations of Computer Science (FOCS), pages 662–673. IEEE, 2018. doi:10.1109/FOCS.2018.00069.
  • [20] Mohsen Ghaffari and Hsin-Hao Su. Distributed degree splitting, edge coloring, and orientations. In Philip N. Klein, editor, Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2017, Barcelona, Spain, Hotel Porta Fira, January 16-19, pages 2505–2523. SIAM, 2017. doi:10.1137/1.9781611974782.166.
  • [21] Bernhard Haeupler, D Ellis Hershkowitz, and Thatchaphol Saranurak. Maximum length-constrained flows and disjoint paths: Distributed, deterministic, and fast. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, pages 1371–1383, 2023. doi:10.1145/3564246.3585202.
  • [22] Elfarouk Harb, Kent Quanrud, and Chandra Chekuri. Faster and scalable algorithms for densest subgraph and decomposition. Advances in Neural Information Processing Systems, 35:26966–26979, 2022.
  • [23] Elfarouk Harb, Kent Quanrud, and Chandra Chekuri. Convergence to lexicographically optimal base in a (contra) polymatroid and applications to densest subgraph and tree packing. In European Symposium on Algorithms (ESA). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPICS.ESA.2023.56.
  • [24] David G Harris. Distributed local approximation algorithms for maximum matching in graphs and hypergraphs. In 2019 IEEE 60th Annual Symposium on Foundations of Computer Science (FOCS), pages 700–724. IEEE, 2019. doi:10.1109/FOCS.2019.00048.
  • [25] Krzysztof Onak, Baruch Schieber, Shay Solomon, and Nicole Wein. Fully dynamic mis in uniformly sparse graphs. ACM Trans. Algorithms, 16(2), March 2020. doi:10.1145/3378025.
  • [26] Lu Qin, Rong-Hua Li, Lijun Chang, and Chengqi Zhang. Locally densest subgraph discovery. In Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD ’15, pages 965–974, New York, NY, USA, 2015. Association for Computing Machinery. doi:10.1145/2783258.2783299.
  • [27] Saurabh Sawlani and Junxing Wang. Near-optimal fully dynamic densest subgraph. In Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, pages 181–193, 2020. doi:10.1145/3357713.3384327.
  • [28] Hsin-Hao Su and Hoa T. Vu. Distributed dense subgraph detection and low outdegree orientation. In Hagit Attiya, editor, 34th International Symposium on Distributed Computing, DISC 2020, October 12-16, 2020, Virtual Conference, volume 179 of LIPIcs, pages 15:1–15:18. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPIcs.DISC.2020.15.
  • [29] Nikolaj Tatti and Aristides Gionis. Density-friendly graph decomposition. In Proceedings of the 24th International Conference on World Wide Web, WWW ’15, pages 1089–1099, Republic and Canton of Geneva, CHE, 2015. International World Wide Web Conferences Steering Committee. doi:10.1145/2736277.2741119.
  • [30] Yalong Zhang, Rong-Hua Li, Qi Zhang, Hongchao Qin, and Guoren Wang. Efficient algorithms for density decomposition on large static and dynamic graphs. Proceedings of the VLDB Endowment, 2024.