Deterministic Ξ + 1 -Coloring in Sublinear (in Ξ)
Time in Static, Dynamic and Faulty Networks
Leonid Barenboim
Presented by Idan Hasson
Reminder
β’ A communication network is represented by an n-vertex graph: πΊ = π, πΈ
of maximum degree Ξ.
β’
β’
β’
β’
The vertices = processors, The communication is over the edges.
Each vertex has a unique identity number (ID) consisting of O(log n)
Computation proceeds in discrete synchronous rounds
The running time of an algorithm is the number of rounds it requires
Reminder
β’ A proper k-coloring π of a graph πΊ = (π, πΈ) is a function π: π β π
(where π = {0,1, β¦ , π β 1} such that for each π’, π£ π πΈ it holds that
π π’ β π(π£).
Last Week..
β’ We saw an algorithm for distributed (Ξ + 1)-Coloring in Linear (in Ξ) Time
Our Goal Today
β’ Overcome the barrier of linear time, and find an algorithm of distributed
(Ξ + 1)-Coloring in Sublinear (in Ξ) Time
What are we going to talk about?
β’ Some definitions in graph theory
β’ The sublinear algorithm:
Procedure
Partition
Procedure Color
β’ Analysis
β’ (Bonus β Optional) Generalization β Intuition only
Procedure
Recolor
Some Definitions
β’ For a vertex v in a graph πΊ = π, πΈ , the set of neighbors of v is denoted
Ξ π£ .
2
Ξ 1 = {2, 3}
1
3
Some Definitions
β’ An oriented forest is an acyclic subgraph with orientation on the edges with
out degree at most 1.
β’ Each edge in an oriented forest is directed towards the parent.
2
1
2
3
1
3
Some Definitions
β’ A k-forest decomposition is a partition of the edge set E of a graph G into
at most k sets, such that each set is an oriented forest.
β’ Hence, the out degree of each vertex in this case is at most k. (=at most k
parents)
β’ The set of parents is denoted by Ξ (π£).
Some Definitions
β’ The arboricity π = π(πΊ) is the minimum number of forests into which the
edge set can be partitioned.
Example
Arboricity meaning
β’ Arboricity = number of forests
β’ In a k-forest decomposition there are maximum k parents
β’ => In a π(πΊ) β πππππ π‘ ππππππππ ππ‘πππ there are maximum π(πΊ) parents
What are we going to talk about?
β’ Some definitions in graph theory
β’ The sublinear algorithm:
Procedure
Partition
Procedure Color
β’ Analysis
β’ (Bonus β Optional) Generalization β Intuition only
Procedure
Recolor
Procedure Partition
β’ Input:
β’ Graph G
β’ Positive parameters p, q: p<q
β’ Goal:
β’ Compute a vertex disjoint partition πΊ1 , πΊ2 , β¦ , πΊπ
Ξ
β’ Each πΊπ has arboricity π(π) (and some logarithmic factors)
β’ We use q in the algorithm. It influence the running time.
Black Boxes
Linial algorithm get a graph πΊ with n vertices and maximum degree Ξ, and
computes a coloring π of the graph using π Ξ2 colors in π(log β π) running
time.
Linial
Black Boxes
β’ Simple Arbdefective algorithm:
β’ Input:
β’ A graph πΊ with an acyclic orientation of the edges, Integer k>0
β’ Maximum out-degree is d
β’ Output:
π
β’ A partition of G into k subgraphs, each with arboricity βπ β
β’ Running Time:
β’ Suppose that the longest consistently oriented path in G has length π
β’ The running time is π(π)
Simple
Arbdefective
Back to Our Algorithm
How do we start?
β’ First, we use the Linial algorithm for s = πΞ2 coloring of G. we denote the
resulting coloring by π0 .
Next step - Grouping
β’ For a parameter π > π we group the π(Ξ ) colors into t =
2
Ξ2
πΞ2
π( )=
π
π
disjoint color classes.
β’ ππ =
π£ π β 1 π β€ π0 (π£) β€ π β π} , π β 1,2 β¦ , π‘ β 1
π£ π‘ β 1 π β€ π0 π£
, π=π‘
β’ For example: q=3, number of colors =11
β’ Each class with at least q colors and at most 2q
3
3
5
Next step - Orientation
β’ Let πΊ1 , πΊ2 , β¦ , πΊπ‘ be the subgraphs induced by vertices of the t colors.
β’ We orient the edges of G towards end-points of greater color.
Example
<
<
Example
<
<
Next step - Arbdefective
β’ We invoke Procedure Simple-Arbdefective in parallel on the subgraphs
πΊ1 , πΊ2 , β¦ , πΊπ‘ with the input parameter π = π. (Itβs acyclic graph. Why?)
Next step - Arbdefective
πΊ1 , πΊ2 , β¦ , πΊπ‘
πΎ=π
πΎ=π
πΎ=π
πΊ1,1 , πΊ1,2 , β¦ , πΊ1,π
πΊπ‘,1 , πΊπ‘,2 , β¦ , πΊπ‘,π
πΊ2,1 , πΊ2,2 , β¦ , πΊ2,π
Next step - Arbdefective
β’ As a result we obtain a vertex labeling using p labels in each subgraph.
β’ The union of all labels results in a p*t labeling: (i, label in πΊπ )
Conclusions till Now
β’ As we saw:
β’ π=π
β’ Max degree π = Ξ
β’ Arboricity of each subgraph (=same label) is
π
π
Ξ
π
=β β
β’ Arboricity = maximum number of parents
Ξ
=> each vertex has at most β β outgoing-edge neighbors in G with the same label as that
π
of v. (because the arboricity is in each subgraph)
Next
β’ Remove the edges with endpoints of the same label.
β’ This results in a subgraph πΊβ² of G that is proper colored using π‘ β π colors.
β’ π‘=
πΞ2
π
colors by
βπ‘βπ=
π
.
π
πΞ2
π
π, and because π < π we reduced the number of
Next - Induction
β’ After removing these edges we got Gβ which is s = p β
colored
β’ π1 = the new coloring
β’ We repeat all stages:
π
πΞ2
π
β’ πΊ1 , πΊ2 , β¦ , πΊπ‘ , π‘ = π, each with q colors (last with maximum 2π)
β’ Orient the graphs
β’ Simple-Arbdefective, π = π
π
β’ New coloring with π β π, remove monochromatic edges
Break condition
β’ We continue while π > π, because the Simple-arbdefective get k=p.
β’ Total number of rounds: π = O(log π Ξ)
π
β’ If we set π = βlog π (c β Ξ2 )β we get:
π
π
π
π
πΞ2 =
π
π
cβΞ2
π βlogπ
π
π
βlogπ (cβΞ2 )β
π
πΞ2 β€
π
π
logπ cβΞ2
π
1
πΞ2 = πΞ2 πΞ2 = 1 β€ π
β’ In the last round we have p labels β these are our πΊ1 , πΊ2 , β¦ , πΊπ
πΞ2 =
Total Arboricity
Ξ
β’ As we saw, each vertex has at most βπβ outgoing-edge neighbors in G with the same
Ξ
label as that of v in each round = we remove maximum β β edges of vertex each
π
round.
Ξ
β’ After i rounds we removed maximum i β βπβ = maximum number of outgoing-edge
Ξ
π
neighbors with the same label in G is i β β β
Ξ
β’ arboricity is O(log π Ξ β π)
π
Total complexity
β’ Linial β π log β π
β’ Number of Rounds βO(log π Ξ)
π
β’ Each round β π(π)
β’ Simple arbdefective is π(π) and here π < 2π because each subgraph from πΊ1 , β¦ , πΊπ‘
has maximum 2π colors.
β’ Total: π(π β log π Ξ + log β π)
π
What are we going to talk about?
β’ Some definitions in graph theory
β’ The sublinear algorithm:
Procedure
Partition
Procedure Color
β’ Analysis
β’ (Bonus β Optional) Generalization β Intuition only
Procedure
Recolor
Black Box
Arb-Linial algorithm get a graph πΊ with arboricity π(πΊ), and computes a
coloring π of the graph using π π2 colors in π(log β π) running time.
ArbLinial
Procedure color
β’ The procedure gets πΊ, π, π and the vertex v which runs the algorithm
Ξ
β’ First we create a partition πΊ1 , πΊ2 , β¦ , πΊπ , each with π = π(π)
β’ How?
Procedure Partition
Procedure color
β’ Then, each πΊπ is properly colored by Arb-Linial algorithm in ππ2 colors.
(The coloring function denoted by ππ for each πΊπ )
Intuition
πΊ1
πΊ2
πΊ
Procedure color
β’ Goal: Recolor πΊπ in such a way that colors of vertices in πΊπ do not conflict
with final colors of their neighbors in πΊ.
How will it work
β’ We have:
π1
π2
π3
β¦.
ππ
How will it work
β’ We will build a coloring function π for entire G.
β’ For each vertex before the algorithm: π π£ = ππ’ππ
β’ First:
π1
π2
π3
β¦.
ππ
π
How will it work
Now we have to find how to recolor πΊ2 without conflicts with the new
coloring π of πΊ1 .
π1
π2
π3
β¦.
ππ
π
How will it work
And so on for p iterations β we will find how to recolor πΊπ without conflicts
with the new coloring π of πΊ1 βπΊ2 β¦ βπΊπβ1 .
π1
π2
π3
β¦.
ππ
π
What we still donβt know?
β’ How to recolor?
What are we going to talk about?
β’ Some definitions in graph theory
β’ The sublinear algorithm:
Procedure
Partition
Procedure Color
β’ Analysis
β’ (Bonus β Optional) Generalization β Intuition only
Procedure
Recolor
Procedure Recolor
β’ Denote:
β’ πΏ π£ = π π’ π’πΞ π£
π π’ β ππ’ππ} β The list of forbidden colors
β’ The upper bound of πΏ π£ is π = Ξ.
β’ πΏ(1) = {πππππ}
1
π
π
Procedure Recolor
β’ Denote:
β’ Ξ π£ = π’ π’ππ πΊπ
π’ β Ξ (π£)} β The parents which are in πΊπ
β’ π΅ π£ = {π(π’)|π’ β Ξ π£ }
β’ The upper bound of Ξ π£ is π½ = π.
β’ Ξ 1 ={2}
β’ π΅(1) = {πππ’π}
1
π
3
π
2
Procedure Recolor
β’ The procedure accepts as input for each vertex:
β’ The coloring π
β’ πΏ π£ , π=Ξ
β’ Ξ π£ , π΅ π£ , π½=π
β’ The output in iteration i will be π(π£) for each π£ β πΊπ .
β’ Each one of these iterations performed in a separate round.
Steps of algorithm
β’ For a universal constant c>4 we find π:
π +
π π½ β€ π β€ 2(
β’ π is a prime number. (exists, believe me ο )
π +
π π½)
Steps of algorithm
β’ Each vertex calculates:
β’ π=
π π£
β ππ½2 β
, π = π π£ πππ β
ππ½ 2 β
9 = 1*5 +4
(1,4)
β’ (π, π) is a representation of π(π£)
β’ Each vertex constructs a set of π polynomials: π0π£ (π₯), π1π£ π₯ , . . , ππβ1π£ (π₯)
β’ πππ£ π₯ = π + π β π₯ + π β π₯ 2 (over ππ )
β’ Foreach π’, π£ β π such that π π’ β π π£ the set of polynomials of u and v are
disjoint. (a or b will be different)
Example
β’ π π£ = 10, c=4.1, Ξ²=4, l=0
β’
ππ½ 2 =
β’
π +
β’ π=
4.1 β 42 = 8.09 = 9
π π½=
π π£
β ππ½2 β
=
β’ π = π π£ πππ
β’ π = 13
v
4.1 β 4 = 12
10
9
=1
ππ½ 2 = 10 πππ 9 = 1
=10
Example
β’ π = 1, π = 1, π = 13
β’ πππ£ π₯ = π + π β π₯ + π β π₯ 2
β’ π0π£ π₯ = 1 β π₯ + 1 β π₯ 2
β’ π1π£ π₯ = 1 + 1 β π₯ + 1 β π₯ 2
β¦..
β’ π12π£ π₯ = 12 + 1 β π₯ + 1 β π₯ 2
v
Next Step
β’ Calculate πΏ π£ β© πππ£ π + ππ π = 0,1, β¦ , π β 1} for each π β π
β’ Choose the index i such that this set has the minimum size. We denote this
set by: πΏπ π£ .
β’ In πΏ(π£) there are maximum π items
β’ We intersect πΏ(π£) with π disjoint sets (disjoint because πππ£ π₯ is over ππ )
β’ By pigeonhole principle: the size of πΏπ π£ is at most
π
.
π
Recolor idea
β’ Denote: πΏπ π£ = πππ£ π + ππ π = 0,1, β¦ , π β 1}\L(π£)
β’ There exists π β 0,1, β¦ , π β 1 such that: πππ£ π + ππ β πΏπ π£ and
πππ£ π β πππ’ π for all π’ β Ξ(π£) (proof immediately(
β’ πππ£ π + ππ β πππ’ π β² + πβ²π (πππ£ π₯ is over ππ )
β’ πππ£ π + ππ not in πΏ(π£), and not in neighborβs πΏπ π£
β’ We can use it!
β’ Take the smallest k as above: π π£ = πππ£ π + ππ
Proof
There exists π β π, π, β¦ , π β π such that: πππ π + ππ β π³π π and
πππ π β πππ π for all π β π(π)
β’ Basic idea:
There exists π β π, π, β¦ , π β π such that: πππ π + ππ β π³π π and
πππ π β πππ π for all π β π(π)
β’ πΏπ π£ = πππ£ π + ππ π = 0,1, β¦ , π β 1}\L(π£)
π
β’ the size of πΏπ π£ is at most π
β’
πΏπ π£
π
π
β₯ π β β₯ π + ππ½ β
β’
πβ₯
β’
πΆ>4
π +
π
π
= ππ½ > 2π½
π π½
β’ There are Ξ π£ β€ π½ parents
β’ πππ£ π₯ intersects with πππ’ π₯ in at most 2 points
β’ There is at least one number in πΏπ π£ which is not one of these points
πππ£ π + ππ
π
πΏπ π£
π
π
πΏ(π£)
π
Colors
β’ (Without proof) π has at most:
π+π
colors.
π β π½ + π½2
What are we going to talk about?
β’ Some definitions in graph theory
β’ The sublinear algorithm:
Procedure
Partition
Procedure Color
β’ Analysis
β’ (Bonus β Optional) Generalization β Intuition only
Procedure
Recolor
Running time
β’ Procedure Color runtime:
β’ Partition: π(π β log π Ξ + log β π)
π
β’ Parallel execution of Arb-Linial: π(log β π)
β’ p iterations of recolor, each with constant time: π(π)
β’ Total: π π β log π Ξ + log β π + π = π(π β log π Ξ + log β π)
π
π
Colors
β’ π has at most:
π+π
π β π½ + π½2
colors.
β’ π=Ξ
Ξ
β’ π½ = π = O(log π Ξ β π)
π
β’ Total:Ξ + π
Ξ
π
Ξ
π
Ξ β log π Ξ β + (log π Ξ β )2
π
π
What ifβ¦
3
4
β’ π = Ξ , π = 2π
β’ Complexity: π(π β log π Ξ +
log β π)
3
4
= π(Ξ β πππ Ξ + log β π)
π
β’ Colors: Ξ + 1 coloring
β’ π=
Ξ log 2 Ξ , π = 2π
β’ Complexity: π(π β log π Ξ + log β π) = π( Ξ log 3 Ξ + log β π)
π
β’ Colors: (1 + o 1 )Ξ coloring
Edge Coloring
β’ An edge coloring of a graph G is a coloring of the edges of G such that
adjacent edges receive different colors.
From π(Ξ) vertex coloring to π(2Ξ β 2) edge
coloring
β’ Convert each edge to node.
β’ 2 nodes in the new graph will be connected, if the 2 edges they represent
share a vertex in the original graph.
e1
v2
e2
v2
v4
v1
e3
v3
e4
e2
v4
e4
e1
v1
e3
v3
From π(Ξ) vertex coloring to π(2Ξ β 2) edge
coloring
The Maximum Degree of the New Graph:
e1
Ξβ1
Ξβ1
e1
2Ξ β 2
Conclusion
β’ From the result of Ξ + 1 vertex coloring algorithm, we conclude
2Ξ β 2 + 1 = 2Ξ β 1
edge coloring algorithm in sublinear time.
What are we going to talk about?
β’ Some definitions in graph theory
β’ The sublinear algorithm:
Procedure
Partition
Procedure Color
β’ Analysis
β’ (Bonus β Optional) Generalization β Intuition only
Procedure
Recolor
Different Settings of Networks
β’ Static Graphs β the input graph topology never change.
Begin:
End:
Different Settings of Networks
β’ Dynamic Graphs β the graph topology changes:
β’ A subset of vertices π β π is removed, and a new set of vertices U is added.
β’ A subset of edges of E is removed, and a new set of edges is added.
β’ The number of vertices in the network is upper-bounded by n
Begin:
End:
Different Settings of Networks
β’ Faulty graphs β the input graph is static, but a subset π β π (respectively,
πΈ β² β πΈ) may lose the computed solution as a result of faults.
Begin:
Middle:
End:
Different Settings of Networks
β’ The goal of a dynamic distributed algorithm is to compute a solution for the
new graph πΊβ given a solution for πΊ.
β’ The goal of a distributed algorithm for a faulty network is to compute a new
solution for U such that it is consistent with the solution of V\U.
(respectively for the edges)
Sounds Familiar?(Intuition)
β’ We saw an algorithm for recoloring the graph, based on partial colored
graph.
β’ We can use it here!
What are we going to talk about?
β’ Some definitions in graph theory
β’ The sublinear algorithm:
Procedure
Partition
Procedure Color
β’ Analysis
β’ (Bonus β Optional) Generalization β Intuition only
Procedure
Recolor
Questions?
© Copyright 2026 Paperzz