Sei sulla pagina 1di 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 Science Georgia State University

05-16-2012

Contribution

Edge Coloring

Experiment and Results

Conclusion

Outline

Contribution Edge Coloring Experiment and Results Conclusion

Contribution

Edge Coloring

Experiment and Results

Conclusion

Outline

Contribution Edge Coloring Experiment and Results Conclusion

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

Contribution

Edge Coloring

Experiment and Results

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

Experiment and Results

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

Experiment and Results

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

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

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

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 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

Experiment and Results

Conclusion

Matching Automata
each node in the network proceeds synchronously through the stages of the automata

D: Done

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

Conclusion

Matching Automata
initially, every node is in the choose state
D: Done

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

Conclusion

Matching Automata
Each node chooses randomly to be in the Invite or Listen State

D: Done

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

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

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

Conclusion

Matching Automata
After sending invitations, Invite nodes transition to the Waiting state to wait for replies

D: Done

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

Conclusion

Matching Automata
Nodes that received no invitations go to the Update state

D: Done

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

Conclusion

Matching Automata
Nodes that received invitations reply to exactly one of those invitations

D: Done

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

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

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

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

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

Conclusion

Matching Automata
Nodes that have no more edges to process are done

D: Done

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

Conclusion

Matching Automata
Nodes with more edges to process return to the choose state

D: Done

nished all subproblems

I: Invite a neighbor

W: Wait for response

heads
C: Choose role by coin coss U : Update subproblem solutions

start

unresolved subproblems no invitation received

tails
L: Listen for local invites R: Respond to 1 invite

Contribution

Edge Coloring

Experiment and Results

Conclusion

Outline

Contribution Edge Coloring Experiment and Results Conclusion

Contribution

Edge Coloring

Experiment and Results

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

Experiment and Results

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

Experiment and Results

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

Experiment and Results

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

Experiment and Results

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

Experiment and Results

Conclusion

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

Edge Coloring Algorithm I

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

Experiment and Results

Conclusion

Edge Coloring Algorithm II


Distributed Modication
1 2 3

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

Experiment and Results

Conclusion

Edge Coloring Algorithm III


Modication for strong directed coloring
1 2

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

Experiment and Results

Conclusion

Outline

Contribution Edge Coloring Experiment and Results Conclusion

Contribution

Edge Coloring

Experiment and Results

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

Experiment and Results

Conclusion

Results

120

100 Rounds

80

60

200 Nodes 400 Nodes

40 20 30 Average 40 50

Figure: Edge Coloring of Erdos-Renyi Graph

Contribution

Edge Coloring

Experiment and Results

Conclusion

Results
500

400

Rounds

300

200 100 Nodes 400 Nodes 100

50

100

150 Average

200

250

Figure: Edge Coloring of Scale-Free Graphs

Contribution

Edge Coloring

Experiment and Results

Conclusion

Results
150

100 Rounds

50

16 Nodes 64 Nodes 256 Nodes

10

20 Average

30

40

Figure: Edge Coloring of Small World Graphs

Contribution

Edge Coloring

Experiment and Results

Conclusion

Results

140

Rounds

120

100

200 Nodes 400 Nodes

80 16 18 20 22 Average 24 26 28 30

Figure: Strong Edge Coloring of Directed Erdos-Renyi Graph

Contribution

Edge Coloring

Experiment and Results

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

Experiment and Results

Conclusion

Outline

Contribution Edge Coloring Experiment and Results Conclusion

Contribution

Edge Coloring

Experiment and Results

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

Potrebbero piacerti anche