1 / 159

Distributed Vertex Coloring

This algorithm assigns a valid color to each vertex in a graph, ensuring that adjacent nodes have different colors. It uses a sequential coloring approach and can be reduced to the Maximum Independent Set (MIS) problem.

rconnell
Download Presentation

Distributed Vertex Coloring

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Vertex Coloring

  2. Vertex Coloring: each vertex is assigned a color

  3. Vertex Coloring: each vertex is assigned a color

  4. Valid Vertex Coloring: each vertex is assigned a color so that any two adjacent nodes have different color Valid vertex coloring

  5. Invalid vertex coloring

  6. In algorithms, each color can be represented by an integer

  7. a valid coloring with colors Example:

  8. Chromatic number : The smallest number of colors that can be used to give a valid coloring in graph This number cannot be approximated (within a reasonable factor) unless

  9. Sequential -coloring For any graph there is a -coloring Therefore,

  10. Basic idea for: Each node keeps a color Palette of size : Color: :degree of node

  11. Color Palette of node Color: Suppose that neighbors of have picked colors

  12. Color Palette of node Color: unavailable color available color Number of available colors At least one available color (uncolored neighbors)

  13. Color Palette of node Color: Still, a color is available Worst case scenario: every neighbor has a different color

  14. Color Palette of node Color: Node can pick color for itself

  15. Sequential Coloring Algorithm Mark all entries in the palettes of all the nodes as available Repeat: 1. Pick an uncolored node 2. Let be an available color (from ‘s palette) (such a color always exists) 3. Color node with color 4. Mark as unavailable in the color palette of every neighbor of Until all nodes are colored

  16. Example execution Palette of All are available colors

  17. Palette of Picks first available color

  18. Palette of

  19. Palette of Picks first available color

  20. Palette of Picks first available color

  21. Palette of Picks first available color

  22. Termination

  23. Coloring and MIS In a valid coloring, the nodes of same color form an independent set Independent Set

  24. However, the independent set may not be maximal: New Independent set (Maximal)

  25. Vertex Coloring is reduced to MIS Consider an uncolored graph Coloring algorithm for using MIS: Repeat: Find a MIS in the uncolored nodes; Assign color to each node in MIS; Until every node is colored;

  26. Example: initially, all nodes are uncolored

  27. Iteration 1: Find an MIS of the uncolored nodes and give to the nodes color

  28. Iteration 2: Find an MIS of the uncolored nodes and give to the nodes color

  29. Iteration 3: Find an MIS of the uncolored nodes and give to the nodes color

  30. Lemma: The algorithm terminates in iterations Proof: At end of an iteration, each uncolored node is adjacent to a node in the MIS

  31. The degree in the uncolored graph Thus, the effective degree of each uncolored node is reduced by at least one at each iteration

  32. After at most iterations, the degree of each uncolored node becomes 0 At iteration each uncolored node has to enter MIS END OF PROOF

  33. Since the number of iteration is , we obtain a coloring (at each iteration we use a different color)

  34. Using Luby’s distributed and randomized MIS algorithm, we obtain a coloring algorithmwhich gives: -coloring in time steps time to compute MIS with high probability #iterations

  35. A Simple Randomized -Coloring Algorithm • Distributed Algorithm • Randomized Algorithm Running time: with high probability ( is the number of nodes)

  36. Each node has a palette with colors Palette of node Initially all colors in palette are available (Recall: is the node’s degree)

  37. The algorithm works in phases At the beginning of a phase, there are two kinds of nodes: uncolored colored

  38. Palette of node available color unavailable color

  39. Palette of node Node chooses randomly and uniformly an available color

  40. Palette of node At the same time, uncolored neighbors pick randomly a color too (from their palettes)

  41. Palette of node If then node accepts color for all and exits the algorithm

  42. Palette of node If then node rejects color for some Conflict

  43. Palette of node All the nodes that conflict reject their colors and try again in the next phase

  44. Algorithm for node Repeat (iteration = phase) Pick a color uniformly at random from available palette colors; Send color to neighbors; If (some neighbor chose same color ) Then Reject color ; Else Accept color ; Inform neighbors about color ; (so that they mark color as unavailable) Until color is accepted;

  45. Example execution

  46. Phase 1: (iteration 1 of synchronous exectution) Nodes pick random colors

  47. Successful Colors

  48. Phase 2: (iteration 2) Nodes pick random colors

  49. Successful Colors

  50. Phase 3: (iteration 3) Nodes pick random colors

More Related