Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Edge Coloring
Conclusion
05-16-2012
Contribution
Edge Coloring
Conclusion
Outline
Contribution
Edge Coloring
Conclusion
Outline
Contribution
Edge Coloring
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
Contribution
Edge Coloring
Conclusion
Denitions
Structure and Assumptions Our algorithm assumes a Message Passing Model of 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.
Contribution
Edge Coloring
Conclusion
Denitions
Structure and Assumptions Our algorithm assumes a Message Passing Model of 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 2 3 4
The distributed computer is represented by a network Compute nodes can only communicate with their direct neighbors Compute nodes can communicate with every neighbor in each round Communication rounds are synchronized
Contribution
Edge Coloring
Conclusion
Denitions
Structure and Assumptions Our algorithm assumes a Message Passing Model of 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 time complexity of our algorithm is based on the number of synchronized commucation rounds required to nd a solution.
Contribution
Edge Coloring
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
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 Matching A matching on a graph G(V, E) is a set E | e(u, v) E , e(v, w) E e(u, w) E . / /
Contribution
Edge Coloring
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 Matching A matching on a graph G(V, E) is a set E | 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
Conclusion
Matching Automata
each node in the network proceeds synchronously through the stages of the automata
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
initially, every node is in the choose state
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
Each node chooses randomly to be in the Invite or Listen State
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
Each node in the Invite state chooses a neighbor at random to send an invitation to, nodes in the Listen state listen for invitations from their neighbors
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
After sending invitations, Invite nodes transition to the Waiting state to wait for replies
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
Nodes that received no invitations go to the Update state
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
Nodes that received invitations reply to exactly one of those invitations
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
Those replies are heard by nodes in the wait state: the pairings between invitors and invitees compose a matching on the problem graph
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
All nodes are in the update state. Nodes which have formed Invitor/Invitee pairs update the affected edge and share the new information with their neighbors
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
Nodes that have no more edges to process are done
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Matching Automata
Nodes with more edges to process return to the choose state
D: Done
I: Invite a neighbor
heads
C: Choose role by coin coss U : Update subproblem solutions
start
tails
L: Listen for local invites R: Respond to 1 invite
Contribution
Edge Coloring
Conclusion
Outline
Contribution
Edge Coloring
Conclusion
Denitions 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 edge coloring of G is a mapping: f (e) = E C | e(u, v), e (v, w) E, c C f (e) = c = f (e ) = c
Contribution
Edge Coloring
Conclusion
Denitions II
8 5
6 4 7 1 0 2
Figure: Edge Colorings: assigning a color to the solid edge makes that color unavailable to the dashed edges, but not to the dotted edges
Contribution
Edge Coloring
Conclusion
Denitions 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 strong edge 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
Conclusion
Denitions IV
Strong Directed Edge Coloring A 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 cC f (e) = c = f (e ) = c, f (e ) = c, f (e ) = c
Contribution
Edge Coloring
Conclusion
Denitions V
1 8 5 7 4 6 3
Figure: Edge Colorings: assigning a color to the solid edge makes that color unavailable to the dashed edges, but not to the dotted edges
Contribution
Edge Coloring
Conclusion
Strategy Find a sequential strategy that depends on edge evaluation Use the matching automata to execute the strategy in parrallel
Contribution
Edge Coloring
Conclusion
Sequential Strategy
1 2 3 4 5
Number the colors Choose an edge For each endpoint, nd the used colors Remove those colors from the available colors Assign the lowest available color to the edge
Contribution
Edge Coloring
Conclusion
Assume each node knows its neighbors free colors Choose to invite or receive An invitator node u sends an invitation for a specic node v to use a specic color c to color edge u, v. c is the lowest indexed free color common to u and v a response from a node v indicates the id of a single invitor v and the color c to be used. u and v update their neighbors that c is no longer a free color
4 5
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
Conclusion
all steps up to step 5 are the same. 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. v can respond to a single invitor v with the color c to be used. u and v update their neighbors that c is no longer a free color
In a strong directed coloring, there is a conict 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
Conclusion
Outline
Contribution
Edge Coloring
Conclusion
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
Conclusion
Results
120
100 Rounds
80
60
40 20 30 Average 40 50
Contribution
Edge Coloring
Conclusion
Results
500
400
Rounds
300
50
100
150 Average
200
250
Contribution
Edge Coloring
Conclusion
Results
150
100 Rounds
50
10
20 Average
30
40
Contribution
Edge Coloring
Conclusion
Results
140
Rounds
120
100
80 16 18 20 22 Average 24 26 28 30
Contribution
Edge Coloring
Conclusion
Analysis
Time Complexity Our rst hypothesis, that the running time would be O(), was supported by experiment. Message complexity for this algorithm is also bounded by , as no node will ever need to share more than 2 integers with any neighbor in any round (the color to be used and the id of the sender). Solution Quality In the case of small world graphs, our algorithm performs relatively badly, requiring more than + 1 colors in some highly dense graphs, with a maximum of + 5 in the experimental run of 256 nodes and 45.
Contribution
Edge Coloring
Conclusion
Outline
Contribution
Edge Coloring
Conclusion
Conclusion
Probabilistic O() constant-approximate algorithm for Edge Coloring Probabilistic O() solution for Strong Directed Edge Coloring Framework successfully adapted to solve two new problems Additional research/analysis required to understand behavior under different graph structures