Victor

On the Complexity of
Distributed Network
Decomposition
Alessandro Panconesi
and
Aravind Srinivasan
JOURNAL OF ALGORITHMS 20, 356-374 (1996)
What we saw last week
β€’ Awerbuch, Goldberg, Luby, Plotkin (1989): A network decomposition
can be computed in time:
𝑛𝑂(πœ– 𝑛 )
where πœ– 𝑛 =
π‘™π‘œπ‘”π‘™π‘œπ‘”π‘›
π‘™π‘œπ‘”π‘›
.
Today
β€’ A network decomposition can be computed in time:
nO πœ–(𝑛)
where πœ– 𝑛 =
π‘™π‘œπ‘”π‘™π‘œπ‘”π‘›
π‘™π‘œπ‘”π‘›
=
1
π‘™π‘œπ‘”π‘›
β€’ Near-optimal decomposition.
β€’ Completeness result.
.
Setting
β€’ A message-passing distributed network is an undirected graph 𝐺 =
(𝑉, 𝐸) where vertices correspond to processors and edges to
bidirectional communication links.
β€’ The network is synchronous (=rounds).
β€’ We do not charge for local computations.
β€’ Messages are unbounded in size.
Definitions - reminder
β€’ πœ’: 𝑉 β†’ [π‘˜] is a called a π‘˜-coloring of 𝐺 if for every 𝑒, 𝑣 ∈ 𝐸 it holds
that πœ’ 𝑒 β‰  πœ’(𝑣).
β€’ 𝐼 βŠ† 𝑉 is called an independent set if for every 𝑒, 𝑣 ∈ 𝐼, 𝑒, 𝑣 β‰  𝐸.
β€’ 𝐼 βŠ† 𝑉 Is called a maximal independent set if it is not a strict subset of
any other independent set.
Definitions - Network Decomposition
β€’ We will assume from now on that 𝑉 = 𝑛.
β€’ Given a graph 𝐺 and a partition 𝑉 =βˆͺ𝑖 𝐢𝑖 , the cluster graph 𝐺 is
defined:
𝑉 𝐺 = {𝐢𝑖 }
𝐸(𝐺) = {(𝐢𝑖 , 𝐢𝑗 )|𝑖 β‰  𝑗, βˆƒπ‘’ ∈ 𝐢𝑖 , βˆƒπ‘£ ∈ 𝐢𝑗 𝑠. 𝑑. 𝑒, 𝑣 ∈ 𝐸)
β€’ The cluster graph is said to be a (𝑑 𝑛 , 𝑐 𝑛 )-decomposition of 𝐺 if:
β€’ Every 𝐺 𝐢𝑖 (the graph induced by 𝐢𝑖 ) is connected and is of 𝑂(𝑑 𝑛 )
diameter;
β€’ The cluster graph 𝐺 is vertex colored with 𝑂(𝑐 𝑛 ) colors.
β€’ Note that a 𝑐-coloring of 𝐺 is a 0, 𝑐 -decomposition.
Why network decomposition?
β€’ Problems like MIS, (Ξ” + 1)-coloring and others can be solved in
𝑂(𝑑 𝑛 β‹… 𝑐 𝑛 ) time, given a (𝑑 𝑛 , 𝑐 𝑛 )-decomposition of 𝐺.
β€’ The generic algorithm for such problems, given a cluster
decomposition, will iterate through the color classes, clusters of color
1 being processed first in parallel, clusters of color 2 being processed
next, and so on.
β€’ In each cluster, 𝐢𝑖 , the trivial 𝑂(𝑑 𝑛 ) algorithm (β€œglobal
information”) can be used.
Example – Computing MIS
β€’ Suppose we are given an (𝑑, 𝑐)-decomposition, 𝐺 = 𝑉, 𝐸 , of 𝐺.
β€’ For simplicity, assume that 𝑉 = {𝐢𝑖 } are colored differently. In
particular 𝐢𝑖 is of color 𝑖 where 𝑖 = 1, … 𝑐.
β€’ For 𝑖 = 1, compute 𝑀𝐼𝑆 on 𝐢1 and denote this set by 𝐼1 .
β€’ For 𝑖 = 2, … , 𝑐 compute 𝑀𝐼𝑆 on 𝐢𝑖 excluding all vertices from βˆͺπ‘–βˆ’1
𝑛=1 𝐼𝑛
and their neighbors.
β€’ The set 𝐼 = βˆͺ 𝐼𝑖 is a 𝑀𝐼𝑆 of the original graph, 𝐺.
Example – Computing MIS
Example – Computing MIS
compute 𝑀𝐼𝑆 on 𝐢1 and denote this set by 𝐼1
Example – Computing MIS
Example – Computing MIS
compute 𝑀𝐼𝑆 on 𝐢2 , excluding 𝐼1 and their neighbors, and denote this set by 𝐼2
Example – Computing MIS
compute 𝑀𝐼𝑆 on 𝐢3 , excluding 𝐼1 βˆͺ 𝐼2 and their neighbors, and denote this set by 𝐼3
Example – Computing MIS
compute 𝑀𝐼𝑆 on 𝐢4 , excluding 𝐼1 βˆͺ 𝐼2 βˆͺ 𝐼3 and their neighbors, and denote this set by 𝐼4
Example – Computing MIS
The 𝐼 =βˆͺ𝑖 𝐼𝑖 is a 𝑀𝐼𝑆 of 𝐺
More definitions
β€’ Given a graph 𝐺 = 𝑉, 𝐸 and a set 𝑆 βŠ† 𝑉, denote by 𝐺[π‘˜, 𝑆] the
following graph:
𝑉(𝐺 π‘˜, 𝑆 ) = 𝑆
𝐸(𝐺 π‘˜, 𝑆 ) = 𝑒, 𝑣 𝑒, 𝑣 ∈ 𝑆, 𝑑𝐺 𝑒, 𝑣 ≀ π‘˜
β€’ Example:
𝐺 = (𝑉, 𝐸)
𝐺[2, 𝑉]
More definitions (2)
β€’ An 𝛼, 𝛽 -ruling set, S, with respect to 𝐺 = 𝑉, 𝐸 and 𝑃 βŠ† 𝑉 is a set
of vertices such that
β€’ 𝑆 βŠ† 𝑃;
β€’ For any two 𝑒 β‰  𝑣 ∈ 𝑆, 𝑑𝐺 𝑒, 𝑣 β‰₯ 𝛼;
β€’ For any 𝑒 ∈ 𝑃 there is 𝑣 ∈ 𝑆 such that 𝑑𝐺 𝑒, 𝑣 ≀ 𝛽.
Example 1: any MIS is a (2,1)-ruling set
Example 2: any MIS on G[2,V] is a (3,2)-ruling set
More definitions (3)
β€’ An (𝛼, 𝛽)-ruling forest with respect to 𝐺 = (𝑉, 𝐸) and 𝑃 βŠ† 𝑉 is a
forest of rooted trees 𝐹 = {𝑇𝑖 }, where each tree is a subgraph of 𝐺,
with the following properties:
β€’
β€’
β€’
β€’
β€’
For all 𝑖, the root of 𝑇𝑖 , denoted by ri , is in 𝑃;
For every 𝑒 ∈ 𝑃 there is 𝑖 such that 𝑒 ∈ 𝑇𝑖 ;
𝑇𝑖 ∩ 𝑇𝑗 = βˆ… for 𝑖 β‰  𝑗;
For every 𝑖 β‰  𝑗, 𝑑𝐺 π‘Ÿπ‘– , π‘Ÿπ‘— β‰₯ 𝛼;
Tree depth is at most 𝛽.
Ruling forest – black boxes
β€’ Recall from the previous talk that we know how to compute an
(𝛼, 𝛽)-ruling forest given an 𝛼, 𝛽 -ruling set in 𝑂 𝛽 rounds.
β€’ In addition, an π‘˜, π‘˜π‘™π‘œπ‘”π‘› -ruling forest can be computed in 𝑂(π‘™π‘œπ‘”π‘›).
Question
β€’ Assume we’re given:
β€’
β€’
β€’
β€’
A graph 𝐺 such that 𝑉 = 𝐴 βˆͺ 𝐡;
A 𝑑, 𝑐 -decomposition of 𝐺[𝐴];
We know: maximum degree of 𝐺[𝐡] is at most cβˆ’1;
𝑐-coloring of 𝐺[B].
β€’ Is it possible to compute a 𝑑, 𝑐 -decomposition of the whole graph
𝐺?
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
β€’ Input: (𝑑, 𝑐)-decomposition of G[𝐴], 𝑐-coloring of G[𝐡]
β€’ Output: (𝑑, 𝑐)-decomposition of G
1. 𝑉 𝐺 ← 𝑉(𝐺[𝐴]) βˆͺ {{𝑏}|𝑏 ∈ 𝐡}
2. For i = 1, … , 𝑐 in parallel for each vertex with color 𝑖 choose a color
in [𝑐] not chosen by any of its neighbors.
β€’ Time complexity?
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
c=
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
c=
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
c=
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
c=
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
c=
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
c=
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
c=
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
c=
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’
Network Decomposition - Strategy
1. Choose a number 𝑝(𝑛) and divide the vertices into high-degree and
low-degree groups (high-degree iff deg 𝐺 𝑣 β‰₯ 𝑝(𝑛) etc).
2. Collapse high-degree vertices with their neighborhoods, resulting in
a cluster graph πΊβ„Žπ‘–π‘”β„Ž . Compute the network decomposition
recursively on πΊβ„Žπ‘–π‘”β„Ž .
3. Color the low-degree vertices on the remaining graph πΊπ‘™π‘œπ‘€ .
4. Call πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’ to get a network decomposition of 𝐺.
Network Decomposition - Strategy (2)
P(n)=6
Choose a number 𝑝(𝑛) and divide the vertices into high-degree and low-degree groups (high-degree iff deg 𝐺 𝑣 β‰₯ 𝑝(𝑛) etc).
Network Decomposition - Strategy (2)
Collapse high-degree vertices with their neighborhoods, resulting in a cluster graph πΊβ„Žπ‘–π‘”β„Ž . Compute the network
decomposition recursively on πΊβ„Žπ‘–π‘”β„Ž .
Network Decomposition - Strategy (2)
Color the low-degree vertices on the remaining graph(s).
Network Decomposition - Strategy (2)
Network Decomposition - Strategy (2)
Call πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’ to get a network decomposition of 𝐺.
Network Decomposition - Strategy (3)
β€’ PROBLEM: It may happen that the neighborhoods of high-degree
vertices intersect! This is a symmetry-breaking problem.
Network Decomposition - Strategy (4)
β€’ Solution: we handle the problem by computing a (3,4)-ruling forest
with respect to the set 𝑃 of high-degree vertices and the graph 𝐺.
β€’ We collapse trees with their root, instead of collapsing
neighborhoods.
β€’ The improvement of this algorithm compared to last week comes
from the computation of a (3,4)-ruling forest instead of a (3,3π‘™π‘œπ‘”π‘›)ruling forest. The recursion can terminate faster.
3,4 -ruling forest how?
We will see in a few slides…
Network Decomposition - Algorithm outline
β€’ The algorithm uses two procedures:
β€’ π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’(𝐺) to compute a (π‘›πœ– 𝑛 , π‘›πœ– 𝑛 )-decomposition of
some graph 𝐺 with πœ– 𝑛 = 1/π‘™π‘œπ‘”π‘›.
β€’ π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘(𝑃, 𝐺) to compute a (3,4)-ruling forest with respect to set 𝑃
and graph 𝐺.
β€’ We will show the algorithm achieves 𝑂 π‘›πœ–
β€’ Definition: 𝑂 𝑓 𝑛
=𝑂 𝑓 𝑛
𝑂 1
.
𝑛
running time.
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’
β€’ Input: a graph H = (𝑉, 𝐸) with 𝑙 ≀ 𝑛 vertices
β€’ Output: an (8log𝑝 𝑙 , 𝑝)-network decomposition of 𝐻.
1. Define 𝑃 ≔ {𝑣| deg 𝐻 𝑣 β‰₯ 𝑝} and call 𝐹 = {𝑇𝑖 } ← π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘(P, H)
2. Construct the graph HF in the following manner:
β€’ 𝑉(HF ) = {𝑇𝑖 }
β€’ E(HF ) = {(Ti , Tj )|i β‰  𝑗, βˆƒπ‘’ ∈ 𝑇𝑖 , 𝑣 ∈ 𝑇𝑗 : 𝑒, 𝑣 ∈ 𝐸(𝐻)}
3. Call π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’(HF ).
4. Let 𝑆 ≔ 𝑉\F. Compute a 𝑝-coloring of H 𝑆 .
5. Call πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿπ‘€π‘’π‘Ÿπ‘”π‘’ on HF and H[𝑆].
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ – Correctness &
complexity
β€’ Claim 1:
𝑉(𝐻)
𝑉(𝐻)
𝑉(HF ) ≀
≀
𝑝+1
𝑝
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ - Correctness &
complexity (2)
β€’ Claim 1:
𝑉(𝐻)
𝑉(𝐻)
𝑉(HF ) ≀
≀
𝑝+1
𝑝
β€’ Claim 2:
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ computes a network decomposition with
clusters of at most 8log𝑝 𝑙 diameter.
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ - Correctness &
complexity (3)
β€’ Claim 1:
𝑉(𝐻)
𝑉(𝐻)
𝑉(HF ) ≀
≀
𝑝+1
𝑝
β€’ Claim 2:
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ computes a network decomposition with
clusters of at most 8log𝑝 𝑙 diameter.
β€’ Claim 3:
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ computes a network decomposition that uses
at most 𝑝 colors.
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ - Correctness &
complexity (4)
β€’ What is the time complexity?
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ - Correctness &
complexity (5)
β€’ The time complexity 𝑇𝑁𝐷 satisfies the following recursive inequality:
𝑇𝑁𝐷 𝑙 ≀ 𝑇𝑅𝐹 𝑙 + 8 β‹… 𝑇𝑁𝐷
𝑙
+ 𝑂(𝑝 β‹… π‘™π‘œπ‘”π‘›)
𝑝
Computing a (3,4)-ruling forest
β€’ In comparison to a (3,3π‘™π‘œπ‘”π‘›)-ruling forest, it is not known how to
compute (3, π‘˜)-ruling forest in 𝑂(π‘™π‘œπ‘”π‘›) time.
β€’ However, a (3,4)-ruling forest can be computed using network
decomposition, in (hopefully) running time 𝑂 π‘›πœ–(𝑛) .
β€’ We will see that this modification improves the overall time
complexity.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘
β€’ Input: a graph 𝐻 with 𝑙 ≀ 𝑛 vertices and a set 𝑃 βŠ† 𝑉(𝐻).
β€’ Output: a (3,4)-ruling forest with respect to 𝑃 and 𝐻.
1. Compute a (3,3π‘™π‘œπ‘”π‘›)-ruling forest 𝐹 = {π‘‡π‘˜ } with respect to 𝑃 and
𝐻.
2. Within each tree π‘‡π‘˜ , the root π‘Ÿπ‘˜ will assign numbers 1,2, … , 𝑝
cyclically to the vertices in π‘‡π‘˜ ∩ 𝑃. Let 𝑃𝑖 be the set of all vertices in
𝑃 with color 𝑖.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘
3. From each 𝑃𝑖 we obtain a new set 𝑄𝑖 βŠ† 𝑃𝑖 by marking some
elements of 𝑃𝑖 ; 𝑄𝑖 is the set of unmarked vertices in 𝑃𝑖 . Let 𝑄1 = 𝑃1 .
In phases 2, … , 𝑝 repeat the following: in phase 𝑖, any vertex 𝑒 ∈ 𝑃𝑖
such that 𝑑𝐻 𝑒, 𝑣 ≀ 2 for some vertex 𝑣 ∈βˆͺ𝑗<𝑖 𝑄𝑗 will be marked.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘
4. Consider 𝐻[2, 𝑄𝑖 ]. In parallel, for all 𝑖, invoke
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’(𝐻 2, 𝑄𝑖 ) to compute a network
decomposition and use it to get an 𝑀𝐼𝑆 𝐼𝑖 in 𝐻[2, 𝑄𝑖 ].
5. 𝐼 =βˆͺ𝑖 𝐼𝑖 is a (3,4)-ruling set; use it to compute a 3,4 -ruling forest.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - example
P(n)=2
Everyone is in 𝑃!
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - example
Compute a (3,3π‘™π‘œπ‘”π‘›)-ruling forest 𝐹 = {π‘‡π‘˜ } with respect to 𝑃 and 𝐻.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - example
Within each tree π‘‡π‘˜ , the root π‘Ÿπ‘˜ will assign numbers 1,2, … , 𝑝 cyclically to the vertices in π‘‡π‘˜ ∩ 𝑃.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - example
𝑄1 = 𝑃1 , 𝑄2 = βˆ…
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - example
In parallel, compute 𝑀𝐼𝑆 𝐼𝑖 in 𝐻[2, 𝑄𝑖 ].
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - example
𝐼 =βˆͺ𝑖 𝐼𝑖 is a (3,4)-ruling set; use it to compute a 3,4 -ruling forest.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - Correctness & complexity
β€’ Claim 1:
for all 𝑖 ∈ [𝑝], we have
2𝑙
𝑃𝑖 ≀ .
𝑝
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - Correctness & complexity (2)
β€’ Claim 1:
for all 𝑖 ∈ [𝑝], we have
2𝑙
𝑃𝑖 ≀ .
𝑝
β€’ Claim 2:
The set 𝐼 =βˆͺ𝑖 𝐼𝑖 is a (3,4)-ruling set with respect to 𝑃 and 𝐻.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - Correctness & complexity (3)
β€’ What is the time
complexity?
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - Correctness & complexity (4)
β€’ The complexity of 𝑇𝑅𝐹 satisfies the following inequality:
𝑇𝑅𝐹 𝑙 ≀ 𝑂 π‘™π‘œπ‘”π‘› + 𝑂 𝑝 + 2𝑇𝑁𝐷 (2𝑙/𝑝)
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - Correctness & complexity (4)
β€’ The complexity of 𝑇𝑅𝐹 satisfies the following inequality:
𝑇𝑅𝐹 𝑙 ≀ 𝑂 π‘™π‘œπ‘”π‘› + 𝑂 𝑝 + 2𝑇𝑁𝐷 (2𝑙/𝑝)
𝑇𝑁𝐷 𝑙 ≀ 𝑇𝑅𝐹 𝑙 + 8 β‹… 𝑇𝑁𝐷
𝑙
+ 𝑂(𝑝 β‹… π‘™π‘œπ‘”π‘›)
𝑝
Time complexities combined
β€’ Combining the inequalities for 𝑇𝑁𝐷 , TRF we get (assuming 𝑝 β‰₯ π‘™π‘œπ‘”π‘›)
𝑇𝑁𝐷 𝑙 ≀ 𝑂 π‘π‘™π‘œπ‘”π‘› + 10𝑇𝑁𝐷
2𝑙
𝑝
≀ 𝑂 π‘π‘™π‘œπ‘”π‘› 10log𝑝/2 𝑙
= 𝑓(𝑙, 𝑝)
β€’ The minimum is attained when 𝑝 = 2πœƒ(βˆšπ‘™π‘œπ‘”π‘›) = 𝑂(π‘›πœ–
𝑛
).
THEOREM 1:
Given a graph 𝐺 with 𝑛 vertices, procedure
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ computes an
(π‘›πœ– 𝑛 , π‘›πœ– 𝑛 )-decomposition of 𝐺 in 𝑂 π‘›πœ– 𝑛
time, where πœ– 𝑛 = 1/ π‘™π‘œπ‘”π‘›.
Part 2
Near-optimal decomposition
Near-optimal decomposition
β€’ A (π‘™π‘œπ‘”π‘›, π‘™π‘œπ‘”π‘›)-decomposition is called a near-optimal
decomposition. We would be interested in computing a near-optimal
decomposition in 𝑂 π‘›πœ– 𝑛 .
β€’ Suppose there is a procedure 𝐴𝐿𝐺 which computes a (𝑑 𝑛 , 𝑐 𝑛 )decomposition in time 𝑂(𝑑 𝑛 ).
β€’ We will prove one can compute a near-optimal decomposition in time
𝑂(𝑑 𝑛 log 𝑛 + 𝑐 𝑛 𝑑 𝑛 log 2 𝑛)
A sequential scheme
β€’ For any index 𝑖 and vertex 𝑣 ∈ 𝑉 define (β€œcluster” and β€œboundary”)
𝐢𝑣 ≔ 𝑒 𝑑𝐺 𝑣, 𝑒 ≀ 𝑖
𝐡𝑣 ≔ 𝑒 𝑑𝐺 𝑣, 𝑒 = 𝑖 + 1
β€’ Now, either there exists an index 𝑖,
0 ≀ 𝑖 ≀ log 2 𝑛 βˆ’ 1
such that 𝐡𝑣 ≀ 𝐢𝑣 or not.
β€’ If there exists no such index, then 𝐺 has 𝑂(π‘™π‘œπ‘”π‘›) diameter, so we can
take the whole graph to be one cluster.
β€’ Otherwise let 𝑙𝑣 = 𝑂(π‘™π‘œπ‘”π‘›) always be the smallest such index.
A sequential scheme (2)
1. For the procedure, start with any vertex 𝑣.
2. Choose i = 𝑙𝑣 to be the smallest such that 𝐡𝑣 ≀ |𝐢𝑣 |.
3. Proceed by removing the vertices 𝐢𝑣 βˆͺ 𝐡𝑣 and the edges incident at
them and repeat this process on the remaining graph.
4. Each set 𝐢𝑣 now becomes a cluster and gets color 1.
5. Repeat the above process on the remaining graph (union of 𝐡𝑣 ) to
assign color classes 2,3, ….
A sequential scheme - correctness
β€’ Claim 1:
The diameter of each cluster 𝐢𝑣 is at most 𝑂(π‘™π‘œπ‘”π‘›).
β€’ Claim 2:
The coloring of the cluster graph is valid.
β€’ Claim 3:
There are at most 𝑂(π‘™π‘œπ‘”π‘›) colors.
A distributed scheme
β€’ Any sequential algorithm can be computed trivially in 𝑂(𝑑) rounds,
where 𝑑 is the diameter of the given graph.
β€’ We seek a faster approach by exploiting the idea of network
decomposition, in a similar manner MIS, for instance, is computed.
β€’ Technical assumption: 𝑑 𝑛 , 𝑐 𝑛 β‰₯ Ξ©(logn).
A distributed scheme
1. Use 𝐴𝐿𝐺 to compute a (𝑑(𝑛), 𝑐(𝑛))-decomposition of 𝐺[2π‘™π‘œπ‘”π‘›, 𝑉]
2. For π‘›π‘’π‘€π‘π‘œπ‘™π‘œπ‘Ÿ = 1, … , π‘™π‘œπ‘”π‘› do
β€’ For 𝑐 = 1, … , 𝑂(𝑐(𝑛)), each cluster with color 𝑐 in 𝐺[2π‘™π‘œπ‘”π‘›, 𝑉] proceeds as
follows. Each cluster 𝑐 simulates the sequential algorithm to compute the sets
𝐢𝑣 , makes them new clusters with color π‘›π‘’π‘€π‘π‘œπ‘™π‘œπ‘Ÿ (vertices are allowed to
β€œeat into” old clusters which are not of color 𝑐). Newly colored clusters are
removed from the network.
A distributed scheme - correctness
β€’ Since the initial (𝑑(𝑛), 𝑐(𝑛))-decomposition was computed on
𝐺 2π‘™π‘œπ‘”π‘›, 𝑉 , vertices with the same old color that belong to different
clusters are at least 2 π‘™π‘œπ‘” 𝑛 + 1 apart.
β€’ In addition, if two clusters receive the same π‘›π‘’π‘€π‘π‘œπ‘™π‘œπ‘Ÿ there are two
possibilities:
β€’ They’re in the same old cluster – by the correctness of the sequential algorithm the
clusters will not have an edge between them.
β€’ They're in different clusters – because of the above bullet and that clusters are at
most π‘™π‘œπ‘”π‘› in diameter, they don’t interfere with each other.
β€’ Hence the created cluster graph has a valid coloring. There are at most
π‘™π‘œπ‘”π‘› new colors. Additionally, each cluster is at most π‘™π‘œπ‘” 𝑛 in diameter as
in the sequential case.
β€’ We have obtained a (π‘™π‘œπ‘”π‘›, π‘™π‘œπ‘”π‘›)-decomposition.
A distributed scheme - time complexity?
1. Use 𝐴𝐿𝐺 to compute a (𝑑(𝑛), 𝑐(𝑛))-decomposition of 𝐺[2π‘™π‘œπ‘”π‘›, 𝑉]
2. For π‘›π‘’π‘€π‘π‘œπ‘™π‘œπ‘Ÿ = 1, … , π‘™π‘œπ‘”π‘› do
β€’ For 𝑐 = 1, … , 𝑂(𝑐(𝑛)), each cluster with color 𝑐 in 𝐺[2π‘™π‘œπ‘”π‘›, 𝑉] proceeds as
follows. Each cluster 𝑐 simulates the sequential algorithm to compute the sets
𝐢𝑣 , makes them new clusters with color π‘›π‘’π‘€π‘π‘œπ‘™π‘œπ‘Ÿ (vertices are allowed to
β€œeat into” old clusters which are not of color 𝑐). Newly colored clusters are
removed from the network.
THEOREM 2:
Suppose there is a procedure 𝐴𝐿𝐺 which
computes a (𝑑 𝑛 , 𝑐 𝑛 )-decomposition in time
𝑂(𝑑 𝑛 ). Then we can compute a near-optimal
decomposition in
2
𝑂(𝑑 𝑛 π‘™π‘œπ‘”π‘› + 𝑐 𝑛 𝑑 𝑛 log 𝑛).
Applications
β€’ Corollary: Given a graph 𝐺 with 𝑛 vertices, the following functions can
be computed in 𝑂(π‘›πœ– 𝑛 ) time in the distributed model of
computation:
β€’
β€’
β€’
β€’
β€’
Maximal independent set
(Ξ” + 1)-vertex coloring
(2Ξ” βˆ’ 1)-edge coloring
Maximal matching
(π‘™π‘œπ‘”π‘›, π‘™π‘œπ‘”π‘›)-decomposition
Part 3
Completeness
Completeness
β€’ In the previous parts we gave an algorithm for computing a network
decomposition in time 𝑂 π‘›πœ– 𝑛 .
β€’ One can ask a question from a different angle: suppose that we know
how to compute a decomposition in 𝑂(π‘™π‘œπ‘”π‘›) but only for some
graphs. Can we use it in conjunction with other methods to compute
a decomposition for all graphs?
β€’ We call this a completeness result: we seek a class of 𝑛-vertex graphs
which is complete for the task of computing a network
decomposition.
Completeness (2)
β€’ We will see a result of the following nature
In order to have a (π‘π‘œπ‘™π‘¦π‘™π‘œπ‘”π‘›, π‘π‘œπ‘™π‘¦π‘™π‘œπ‘”π‘›)-decomposition running in 𝑂(π‘™π‘œπ‘”π‘›) time,
we just need to look at graphs of maximum degree Ξ” ≀ 𝑂(𝑛1/π‘™π‘œπ‘”π‘™π‘œπ‘”π‘› ).
Completeness (3)
β€’ In general, let β„Ž(𝑛) be any non-decreasing function and let
𝑔 𝑛 = 𝑝 𝑛 1/β„Ž(𝑛)
π‘ž 𝑛 = 𝑝 𝑛 β„Ž(𝑛)
where 𝑝 𝑛 = 𝑂(𝑛1/ π‘™π‘œπ‘”π‘› ).
β€’ Suppose we have an algorithm, 𝐴𝐿𝐺, that computes a (𝑔 𝑛 , 𝑔 𝑛 )decomposition of graphs with maximum degree Ξ” ≀ π‘ž(𝑛) in time
𝑂(𝑔 𝑛 ). We wish to compute a decomposition on all graphs.
β€’ For 𝑔 𝑛 = 𝑂(π‘™π‘œπ‘”π‘›), we have
β„Ž 𝑛 = π‘™π‘œπ‘”π‘›/π‘™π‘œπ‘”π‘™π‘œπ‘”π‘›
Completeness - strategy
β€’ To compute a network decomposition for all 𝑛-vertex graphs, we will
use a modified version of the mutually recursive procedures
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ and π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘.
β€’ As one could expect, we will divide the vertices into high-degree and
low-degree ones. This will allow us to use algorithm 𝐴𝐿𝐺 which
operates only on graphs of degree Ξ” ≀ π‘ž(𝑛).
β€’ In addition, π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ will compute a (3,6)-ruling forest.
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’
β€’ Input: a graph H = (𝑉, 𝐸) with 𝑙 ≀ 𝑛 vertices
β€’ Output: an (𝑔(𝑙), 𝑔 𝑛 log π‘ž 𝑛 𝑙)-network decomposition of 𝐻.
1. Define 𝑃 ≔ {𝑣| deg 𝐻 𝑣 β‰₯ π‘ž(𝑛)} and call 𝐹 = {𝑇𝑖 }
← π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘(P, H)
2. Construct the graph 𝐻𝐹 in the following manner:
β€’ 𝑉(𝐻𝐹 ) = {𝑇𝑖 }
β€’ E(HF ) = {(Ti , Tj )|i β‰  𝑗, βˆƒπ‘’ ∈ 𝑇𝑖 , 𝑣 ∈ 𝑇𝑗 : 𝑒, 𝑣 ∈ 𝐸𝐻 }
3. Call π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’(𝐻𝐹 ).
4. Let 𝑆 ≔ 𝑉\F. Compute a (𝑔 𝑛 , 𝑔 𝑛 )-decomposition of H 𝑆 using 𝐴𝐿𝐺
with fresh colors.
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ - Correctness &
complexity
β€’ Claim 1:
𝑉(𝐻)
𝑉(𝐻)
𝑉(𝐻𝐹 ) ≀
≀
π‘ž(𝑛) + 1
π‘ž(𝑛)
β€’ Claim 2:
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ computes a network decomposition with
clusters of at most 𝑔(𝑙) diameter.
β€’ Claim 3:
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ uses at most 𝑂 𝑔 𝑛 log 𝑙 / log π‘ž 𝑛
colors.
π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’ - Correctness &
complexity (2)
β€’ The complexity of 𝑇𝑁𝐷 satisfies the following inequality:
𝑇𝑁𝐷 𝑙 ≀ 𝑇𝑅𝐹 𝑙 + 12 β‹… 𝑇𝑁𝐷
𝑙
+ 𝑂(𝑔 𝑛 )
π‘ž
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘
β€’ Input: a graph 𝐻 with 𝑙 ≀ 𝑛 vertices and a set 𝑃 βŠ† 𝑉(𝐻).
β€’ Output: a (3,6)-ruling forest with respect to 𝑃 and 𝐻.
1. Partition 𝑃 into disjoint sets 𝑃𝑖 , 𝑖 ∈ π‘ž , as before, by computing a
(3,3π‘™π‘œπ‘”π‘›)-ruling forest and assigning numbers 1,2, . . , π‘ž cyclically
inside each tree.
2. Let 𝐻𝑖 = 𝐻 4, 𝑃𝑖 . In parallel, for all 𝑖 ∈ [π‘ž], compute an MIS 𝐼𝑖 of 𝐻𝑖
by calling π‘π‘’π‘‘π‘€π‘œπ‘Ÿπ‘˜π·π‘’π‘π‘œπ‘šπ‘π‘œπ‘ π‘’(𝐻𝑖 ). Let 𝐼 =βˆͺ𝑖 𝐼𝑖 .
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘
3. Let 𝐹 = 𝐻[2, 𝐼]. Invoke 𝐴𝐿𝐺 to compute a MIS, 𝐽, of 𝐹. (Ξ” 𝐹 ≀ π‘ž)
4. The set 𝐽 is a (3,6)-ruling set; use it to compute a (3,6)-ruling
forest.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - Correctness & complexity
β€’ Claim 1:
for all 𝑖 ∈ [π‘ž], we have
2𝑙
𝑃𝑖 ≀ .
π‘ž
β€’ Claim 2:
We have
Ξ” 𝐹 β‰€π‘ž 𝑛 .
β€’ Claim 3:
The set 𝐽 is a (3,6)-ruling set with respect to 𝑃 and 𝐻.
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - Correctness & complexity (2)
β€’ The complexity of 𝑇𝑅𝐹 satisfies the following inequality:
𝑇𝑅𝐹 𝑙 ≀ 𝑂 π‘™π‘œπ‘”π‘› + 4𝑇𝑁𝐷 (2𝑙/π‘ž)+ 𝑂 𝑔(𝑛)
π‘…π‘’π‘™π‘–π‘›π‘”πΉπ‘œπ‘Ÿπ‘’π‘ π‘‘ - Correctness & complexity (3)
β€’ The complexity of 𝑇𝑅𝐹 satisfies the following inequality:
𝑇𝑅𝐹 𝑙 ≀ 𝑂 π‘™π‘œπ‘”π‘› + 4𝑇𝑁𝐷 (2𝑙/π‘ž)+ 𝑂 𝑔(𝑛)
𝑇𝑁𝐷 𝑙 ≀ 𝑇𝑅𝐹 𝑙 + 12 β‹… 𝑇𝑁𝐷
𝑙
+ 𝑂(𝑔 𝑛 )
π‘ž
Time complexities combined
β€’ Combining the inequalities for 𝑇𝑁𝐷 , TRF we get (assuming 𝑝 β‰₯ π‘™π‘œπ‘”π‘›)
𝑇𝑁𝐷
2𝑙
𝑙 ≀ 16𝑇𝑁𝐷
+ 𝑂(𝑔 𝑛 )
π‘ž
≀ 𝑂(𝑔 𝑛 )
THEOREM 3:
Let 𝑝 𝑛 = 2 π‘™π‘œπ‘”π‘› . Suppose we want an 𝑂(𝑝 n 1/β„Ž 𝑛 )
time algorithm to distributively compute an
(𝑂(𝑝 n 1/β„Ž 𝑛 ), 𝑂(𝑝 n 1/β„Ž 𝑛 ))-decomposition, for any
non-decreasing function β„Ž β‹… . This is self-reducible to
graphs of maximum degree O(p n β„Ž 𝑛 ).
Thank you!
Questions?