edge color pcos

Upload: philosodad

Post on 05-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

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