Post on 05-Apr-2018
7/31/2019 Edge Color Pcos
1/40
Contribution Edge Coloring Experiment and Results Conclusion
Two Edge Coloring Algorithms Using a Simple
Matching Discovery Automata
J. Paul Daigle & Sushil K. Prasad
Department of Computer ScienceGeorgia State University
05-16-2012
http://find/7/31/2019 Edge Color Pcos
2/40
Contribution Edge Coloring Experiment and Results Conclusion
Outline
1 Contribution
2 Edge Coloring
3 Experiment and Results
4 Conclusion
http://find/7/31/2019 Edge Color Pcos
3/40
Contribution Edge Coloring Experiment and Results Conclusion
Outline
1 Contribution
2 Edge Coloring
3 Experiment and Results
4 Conclusion
http://find/7/31/2019 Edge Color Pcos
4/40
Contribution Edge Coloring Experiment and Results Conclusion
2 Novel Algorithms
Constant approximation for edge coloring of a graph
Probabilistic, distributed algorithm
Previous best time complexity: 2+ 1 for acyclic graphs
Our algorithm time: O() for all graphs
http://find/7/31/2019 Edge Color Pcos
5/40
Contribution Edge Coloring Experiment and Results Conclusion
Definitions
Structure and Assumptions
Our algorithm assumes a Message Passing Modelofdistributed computing. Each node in the distributed computer is
analogous to a vertex in the input graph, with communication
links between nodes being analogous to edges in the input
graph.
C ib i Ed C l i E i d R l C l i
http://find/7/31/2019 Edge Color Pcos
6/40
Contribution Edge Coloring Experiment and Results Conclusion
Definitions
Structure and AssumptionsOur algorithm assumes a Message Passing Modelof
distributed computing. Each node in the distributed computer is
analogous to a vertex in the input graph, with communication
links between nodes being analogous to edges in the input
graph.
Message Passing Model
The message passing model of distributed computing assumes
that:1 The distributed computer is represented by a network
2 Compute nodes can only communicate with their direct neighbors
3 Compute nodes can communicate with every neighbor in each round
4
Communication rounds are synchronized
C t ib ti Ed C l i E i t d R lt C l i
http://find/7/31/2019 Edge Color Pcos
7/40
Contribution Edge Coloring Experiment and Results Conclusion
Definitions
Structure and Assumptions
Our algorithm assumes a Message Passing Modelof
distributed computing. Each node in the distributed computer is
analogous to a vertex in the input graph, with communicationlinks between nodes being analogous to edges in the input
graph.
Message Passing ModelThe time complexity of our algorithm is based on the number of
synchronized commucation rounds required to find a solution.
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
8/40
Contribution Edge Coloring Experiment and Results Conclusion
Distributed Matching
Computation by edges
We adapt sequential algorithms that meet the following criteria:
One computation is required for each edge of the graph
The order of the computations is arbitrary
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
9/40
Contribution Edge Coloring Experiment and Results Conclusion
Distributed Matching
Computation by edges
We adapt sequential algorithms that meet the following criteria:
One computation is required for each edge of the graphThe order of the computations is arbitrary
Matching
A matching on a graph G(V,E) is a setE | e(u, v) E, e(v,w) / E e(u,w) / E.
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
10/40
Contribution Edge Coloring Experiment and Results Conclusion
Distributed Matching
Computation by edgesWe adapt sequential algorithms that meet the following criteria:
One computation is required for each edge of the graph
The order of the computations is arbitrary
Matching
A matching on a graph G(V,E) is a setE | e(u, v) E, e(v,w) / E e(u,w) / E.
Equivalence to Sequential Evaluation
A simultaneous computation between the endpoints of the
edges in a matching has identical results to any arbitrary
sequency of computations between those same endpoints.
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
11/40
Contribution Edge Coloring Experiment and Results Conclusion
Matching Automata
each node in the network proceeds syn-chronously through the stages of the au-tomata
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
12/40
Contribution Edge Coloring Experiment and Results Conclusion
Matching Automata
initially, every node is in the choose state
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
13/40
g g p
Matching Automata
Each node chooses randomly to be in theInvite or Listen State
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
14/40
g g p
Matching Automata
Each node in the Invite state chooses aneighbor at random to send an invitationto, nodes in the Listen state listen for invi-tations from their neighbors
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
15/40
Matching Automata
After sending invitations, Invite nodestransition to the Waiting state to wait forreplies
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
16/40
Matching Automata
Nodes that received no invitations go tothe Update state
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
17/40
Matching Automata
Nodes that received invitations reply toexactly one of those invitations
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
18/40
Matching Automata
Those replies are heard by nodes in thewait state: the pairings between invitorsand invitees compose a matching on theproblem graph
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponseW: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
19/40
Matching Automata
All nodes are in the update state. Nodeswhich have formed Invitor/Invitee pairsupdate the affected edge and share thenew information with their neighbors
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
20/40
Matching Automata
Nodes that have no more edges to pro-cess are done
C: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
21/40
Matching Automata
Nodes with more edges to process returnto the choose state
C: Choose roleby coin cossstartC: Choose roleby coin cossstart
I: Invite a neigh-bor
L: Listen for localinvites
W: Wait for re-sponse
R: Respond to 1invite
U: Update sub-problem solutions
D: Done
heads
tails
no invitation received
finished all subprob-lems
unresolved subprob-
lems
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
22/40
Outline
1 Contribution
2 Edge Coloring
3 Experiment and Results
4 Conclusion
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
23/40
Definitions I
Edge Coloring
An edge coloring of a graph is an assignment of colors to the
edges of a graph in such a way that no two adjacent edges are
assigned the same color.
Formally, given a graph, G(V,E), and set of colors C, an edgecoloring of G is a mapping:
f(e) = E C| e(u, v), e
(v,w) E, c Cf(e) = c = f(e) = c
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
24/40
Definitions II
0
1
2
3
4
5
6
7
8
Figure: Edge Colorings: assigning a color to the solid edge makesthat color unavailable to the dashed edges, but not to the dottededges
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
25/40
Definitions III
Strong Edge Coloring
A strong edge coloring of a graph is an assignment of colors to
the edges of a graph such that no two edges that can be
connected by a common edge are assigned the same color.Formally, given a graph G(V,E) and a set of colors C, a strongedge coloring is a mapping:
f(e) = C E| e(u, v), e(v,w), e(w,x) E, c C
f(e) = c = f(e) = c f(e) = c
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
26/40
Definitions IV
Strong Directed Edge ColoringA strong edge coloring is an assignment of colors to the edges
of the graph such that no two edges that can be connected by a
common edge are assigned the same color.
In the directed case, a strong edge coloring is a mapping:
f(e) = C E| e(u, v)
e(v, u)
e(w, v)
e(w,x) E
c C
f(e) = c = f(e) = c,f(e) = c,f(e) = c
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
27/40
Definitions V
0
1
2
3
4
5
6
7
8
Figure: Edge Colorings: assigning a color to the solid edge makesthat color unavailable to the dashed edges, but not to the dottededges
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
28/40
Solving Edge Coloring with distributed matching
Strategy
Find a sequential strategy that depends on edge evaluation
Use the matching automata to execute the strategy in
parrallel
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
29/40
Edge Coloring Algorithm I
Sequential Strategy
1 Number the colors
2 Choose an edge
3 For each endpoint, find the used colors
4 Remove those colors from the available colors
5
Assign the lowest available color to the edge
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
30/40
Edge Coloring Algorithm II
Distributed Modification1 Assume each node knows its neighbors free colors
2 Choose to invite or receive
3 An invitator node u sends an invitation for a specific node v
to use a specific color c to color edge u, v.4 c is the lowest indexed free color common to u and v
5 a response from a node v indicates the id of a single invitor
v and the color c to be used.
6 uand
vupdate their neighbors that
cis no longer a freecolor
A key point about step 6 is that a free color, in this context,
means free for u or for v. The neighbors of u and v are still free
to use that color.
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
31/40
Edge Coloring Algorithm III
Modification for strong directed coloring
1 all steps up to step 5 are the same.
2 a responding node v will not respond to an invitation to use
a color c if there is more than one invitation to use c in vs
neighborhood.
3 v can respond to a single invitor v with the color c to be
used.
4 u and v update their neighbors that c is no longer a free
color
In a strong directed coloring, there is a conflict if an origin
vertex uses a color that is used by a terminal neighbor, but not
if the color is being used by an origin neighbor. The meaning of
a free color is therefore one that is not being used by any
terminal neighbor.
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
32/40
Outline
1 Contribution
2 Edge Coloring
3 Experiment and Results
4 Conclusion
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
33/40
Design
Simulator
Simulation program written in Ruby
Discrete time simulation
Code is available for download
Graph Types
Experiments with the edge coloring algorithm were performed
on Erdos-Renyi, Small World, and Scale Free graphs, with
large variations in Average and number of nodes.Experiments were conducted on Erdos-Renyi graphs alone for
the directed edge coloring algorithm.
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
34/40
Results
20 30 40 50
40
60
80
100
120
Average
Roun
ds
200 Nodes
400 Nodes
Figure: Edge Coloring of Erdos-Renyi Graph
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
35/40
Results
50 100 150 200 250
100
200
300
400
500
Average
Round
s
100 Nodes
400 Nodes
Figure: Edge Coloring of Scale-Free Graphs
Contribution Edge Coloring Experiment and Results Conclusion
http://find/7/31/2019 Edge Color Pcos
36/40
Results
10 20 30 40
50
100
150
Average
Rounds
16 Nodes
64 Nodes
256 Nodes
Figure: Edge Coloring of Small World Graphs
Contribution Edge Coloring Experiment and Results Conclusion
R l
http://find/7/31/2019 Edge Color Pcos
37/40
Results
16 18 20 22 24 26 28 30
80
100
120
140
Average
Rounds
200 Nodes
400 Nodes
Figure: Strong Edge Coloring of Directed Erdos-Renyi Graph
http://find/7/31/2019 Edge Color Pcos
38/40
Contribution Edge Coloring Experiment and Results Conclusion
O tli
7/31/2019 Edge Color Pcos
39/40
Outline
1 Contribution
2 Edge Coloring
3 Experiment and Results
4 Conclusion
Contribution Edge Coloring Experiment and Results Conclusion
C l i
http://find/7/31/2019 Edge Color Pcos
40/40
Conclusion
Probabilistic O() constant-approximate algorithm forEdge Coloring
Probabilistic O() solution for Strong Directed EdgeColoring
Framework successfully adapted to solve two new
problems
Additional research/analysis required to understand
behavior under different graph structures
http://find/