Toolbox

C1: Network Decomposition (Low-Diameter Graph Decomposition)

Reminder: This post contains 6524 words · 19 min read · by Xianbin

What is network decompositions?

Definitions

Definition\textbf{Definition}[Strong Diameter Decomposition]. Given a graph G=(V,E)G=(V, E), and (,D)(\ell,D)-strong diameter decomposition of GG is a partition of GG into vertex-disjoint graphs G1,G2,,GG_1, G_2,\ldots,G_\ell such that for each i[]i\in[\ell], we have

Each connected component of GiG_i has diameter at most DD.

The weak diameter decomposition has a weaker requirement for the diameter, i.e., for any two node u,vGiu,v\in G_i, there is a path of length at most DD connecting uu and vv (this path can use nodes outside GiG_i).

We should notice that in LOCAL model, weak network decomposition is good enough, but in the CONGEST model, we need strong network decomposition.

Applications

The techniques of network decomposition are really useful. There are many many great results obtained by this technique.

Here is a simple example.

Theorem\textbf{Theorem}. Given an (,D)(\ell, D)-weak decomposition of the input graph GG, We can obtain a (Δ+1)(\Delta+1)-coloring

The proof is simple. We color each GiG_i one by one, which causes the \ell factor. We only need to prove that in each GiG_i, O(D)O(D) rounds are enough, which is trivial.

The key is how to obtain such a network decomposition?

Construction of Network Decompositions

Wise men learn from history.

In the following, we consider (α(n),β(n))(\alpha(n), \beta(n)) network decomposition, which means that:

  1. Every induced subgraph of a cluster CiC_i is connected and its diameter at most O(α(n))O(\alpha(n)).

  2. The cluster graph can be colored with O(β(n))O(\beta(n)) colors.

Cluster graph : Given a input graph G=(V,E)G = (V, E) and a set of clusters C={Ci}C = \{C_i\}, the cluster graph GCG_C induced by CC is the graph with vertex set V(GC)=CV(G_C) = C and edge set

E(GC):={(Ci,Cj):ij,uCi,vCj,(u,v)E}E(G_C): = \{(C_i,C_j): i \neq j, \exists u\in C_i, v \in C_j, (u, v) \in E\}

That is to say, after obtaining a set of clusters, we consider each cluster as a node. Then, we obtain a new graph G[C]G[C], this graph can be colored with O(β(n))O(\beta(n)) colors (Each cluster has the same color).

Theorem[3]\textbf{Theorem}[3]. There exists a (a1,b1)(a_1,b_1) network decomposition where a1=b1=nO(loglognlogn)=2O(lognloglogn)a_1 = b_1 = n^{O(\sqrt{\frac{\log \log n}{\log n}})}=2^{O(\sqrt{\log n \cdot \log \log n})}.

A Useful Tool: Ruling Sets

Recall that the definition of (α,β)(\alpha, \beta)-ruling set is as follows. Given a graph G=(V,E)G=(V, E), and a set RVR\subseteq V is a (α,β)(\alpha, \beta)-ruling set if any two nodes u1,u2Ru_1,u_2 \in R have dist(u1,u2)αdist(u_1,u_2) \geq \alpha and for any node wVw\in V, there exists a node uRu\in R such that dist(w,u)βdist(w,u) \leq \beta.

In the following, we will use ruling sets to construct network decomposition.

The algorithm consists of two phases. The first phase is to divide the graph into clusters of small diameter. The second phase is to color the cluster graph GiG_i produced by the first phase using (Δ+1)(\Delta^*+1) colors where Δ\Delta^* is the bounded arboricity in GiG_i.

Phase 1:

  1. Make each node into a cluster and let CC be the set of these singleton clusters.

  2. Let L=lognlogΔL = \frac{\log n}{\log \Delta^*}. Repeating the following process for LL times:

Lemma\textbf{Lemma}. There exists an algorithm Ruling-Set on input (G[V],V,k)(G[V],V',k) that can produce a (k,klogn)(k,k\log n)-ruling set in O(klogn)O(k\log n) rounds.

Proof\textbf{Proof}. We first show the algorithm. Let V0(V1)VV_0 (V_1) \subseteq V denote the node with last bit 0(1). We divide VV into V0V_0 and V1V_1 and recursively execute the algorithm on V0V_0 and V1V_1 to obtain S0S_0 and S1S_1. Then, for each node vS1v\in S_1, we remove any other nodes in S1S_1 that has distance to vv at most kk. The algorithm ends with returning S=S0S1S = S_0\cup S_1.

Next, we prove the correctness. The first condition that for any two nodes u,vSu,v\in S is at most kk is clear from the process of the algorithm. We need to show that any node vVv\in V, there is a node uu such that dist(u,v)klogndist(u,v) \leq k\log n. At the bottom of the recursive tree, the distance is at most kk. Why? We can prove it can by contradiction. If there is an node vv with dist(v,u)>kdist(v, u) > k where uSu\in S, then the algorithm will put it into SS. So, there is no such a node. Recall that the recursive tree is at most logn\log n depth, so the backtrace will be logn\log n times, which means the tree will be merged by logn\log n times. Then, the distance will be increased by at most logn\log n times (When we merge trees, we will remove nodes in SS. That is the reason why the distance may increase). So, the distance is klognk\log n at most.

The depth is logn\log n and in each level of recursion takes O(k)O(k) rounds, so the round complexity is proved.

Question: How does the distributed algorithm run recursive algorithms?

Actually, it should be hard. But in Ruling-set algorithm, we only need to care about kk-hops. So, we do not need to find all S0S_0 and S1S_1 which may take O(D)O(D) rounds in the LOCAL model where DD the diameter of the input graph.

Now, let us talk about the Merge-Clusters algorithm.

The input is a forest in a cluster graph, and the output is a new cluster graph which is built from merging clusters in each one of the trees of the input forest.

That is to say, only the singleton cluster does not merge. According to Phase 1, these singleton clusters will not be in CC'. Thus, we obtain a separated cluster CiC_i.

Obervation\textbf{Obervation}. If a cluster has depth at most d1d_1 and the diameter of each cluster (node) in the new cluster graph is at most d2d_2, then, the maximum depth of any new cluster is at most O(d1d2)O(d_1d_2).

The above observation applies to merging for one time. If the merging for LL times, then, the maximum depth of the new cluster is i=1Ldi\prod_{i=1}^L d_i.

Notice that we obtain the set of clusters {Ci}\{C_i\} in the line of 2.4. So, we need to prove that all nodes are in Ci\cup C_i.

Lemma\textbf{Lemma}. At the end of Phase 1, each node must belong to some CiC_i where i[L]i\in [L].

Proof\textbf{Proof}. Recall that the distance between roots (selected nodes in the 3-ruling set) is at least 3. So, the merging of each tree does not influence each other. And, the degree is at most Δ\Delta^* in G[C]G[C], so the number of clusters decreases by the ratio of at least Δ\Delta^*. Then, at the end of Phase 1, there is at most one cluster left. Then, a node must be in some CiC_i.

Lemma\textbf{Lemma}. The maximum depth of a cluster by the algorithm is bounded by (9logn)L(9\log n)^L, where L=logn/logΔL = \log n/\log \Delta^*.

Phase 2:

  1. Color G[Ci]G[C_i] with Δ+1\Delta^*+1 colors in parallel.
  2. Color clusters sequentially.

By taking Δ=nO(loglognlogn)\Delta^* = n^{O(\sqrt{\frac{\log \log n}{\log n}})}, we can prove Theorem 1.

Improved one

Theorem[2]\textbf{Theorem}[2]. There is a deterministic LOCAL algorithm that computes a (,D)(\ell,D)-strong network decomposition of GG in LL rounds where L,C,D=2O(logn)L, C, D = 2^{O(\sqrt{\log n})}.

Reference

[1]. Distributed Graph Algorithms. Mohsen Ghaffari.

[2]. Alessandro Panconesi and Aravind Srinivasan. Improved distributed algorithms for coloring and network decomposition problems. In Proc. of the Symp. on Theory of Comp. (STOC), pages 581–592. ACM, 1992.

[3]. Awerbuch, B., Goldberg, A.V., Luby, M. and Plotkin, S.A., 1989, October. Network decomposition and locality in distributed computation. In FOCS (Vol. 30, pp. 364-369).