# Distributed Vertex Coloring 1 Vertex Coloring each vertex

- Slides: 60

Distributed Vertex Coloring 1

Vertex Coloring: each vertex is assigned a color 2

Vertex Coloring: each vertex is assigned a color 3

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

Invalid vertex coloring 5

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

a valid coloring with colors Example: 7

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 8

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

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

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

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

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

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

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 15

Example execution Palette of All are available colors 16

Palette of Picks first available color 17

Palette of 18

Palette of Picks first available color 19

Palette of Picks first available color 20

Palette of Picks first available color 21

Termination 22

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

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

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

Example: initially, all nodes are uncolored 26

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

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

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

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

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

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

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

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

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

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

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

Palette of node unavailable color 38

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

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

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

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

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

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 Until color is accepted; ) as unavailable) ; 44

Example execution 45

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

Successful Colors 47

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

Successful Colors 49

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

End of execution 51

Analysis Consider phase (iteration ) Palette of node unavailable color Set of available colors: Example: 52

: set of neighbors of which are uncolored at the beginning of the phase Example: 53

At the beginning of phase Palette of node 54

: available colors after every node in chooses a random color Palette of node Color used by Color in 55

Palette of node Since at most colors in are used by neighbors 56

A successful color choice for node : node has picked a color in (this color is not picked by any neighbor) Probability of success: space of successful random choices space of all random choices 57

Probability that node in a phase: at least succeeds is the number of nodes Probability that node for phases: fails at most 58

Probability that node fails for phases: at most Probability that some node fails for phases: at most Probability that every node succeeds in the first phases: at least 59

Duration of each phase: The algorithm terminates in time steps phases with probability at least Total time steps: (with high probability) 60

- Query decomposition in dbms
- Transaction management in distributed database
- More multiplication properties of exponents
- Identify each line or segment that intersects each circle
- Graph coloring problem
- Respiratory system coloring page
- Is hammering wood together physical or chemical
- Winter coloring page
- Periodic table color activity
- List the objectives of hair lighteners
- Label rock cycle
- Leaf anatomy coloring sheet
- Hair coloring 101
- Milk and food coloring lab report
- Adams food coloring
- Homologous structures coloring worksheet
- What is graph coloring
- Art labeling activity: figure 14.1 (3 of 3)
- Periodic table coloring activity
- Adaptation of predators
- Graph coloring problem
- Transcription and translation coloring
- Dna double helix coloring worksheet answer key
- Welsh powell algorithm
- Anchor container security
- Pada kasus coloring banyak warna yang dipergunakan diminta
- Balancing chemical equations coloring snowman
- The lorax worksheet answers
- Day of pentecost coloring page
- Paper chromatography food coloring
- Map coloring prolog
- Skill 15 parallel structure with paired conjunctions
- Cheshire cat fahrenheit 451
- Protist coloring sheet answer key
- Integumentary system the integument epidermis coloring page
- A student obtains a liquid sample of green food coloring
- Coloringws
- Define graph coloring
- Face coloring in graph theory
- Transformation solutionsê
- Distributed operating system
- Distributed information systems
- Difference between flat and nested distributed transactions
- Napster and its legacy
- Google distributed systems
- Distributed query processing
- Burgess model
- Cs 677 umass
- Ceph distributed file system
- Blender distributed rendering
- Distributed computing
- Git distributed
- Distributed systems
- Distributed systems
- What is distributed system in software engineering
- Matrix clock in distributed system
- Message passing system in distributed system
- Transaction recovery in distributed systems
- Globally distributed database
- Remote file access in distributed file system
- Mutual exclusion in distributed systems