Graph coloring

 

Definition :

It is a process or procedure of assigning colors to each corner or vertex in a particular graph in such a way that no particular adjacent vertices or corners get the same color.

It’s main objective is to reduce the amount of colors or number of colors while coloring in a given graph.

Vertex coloring is used efficiently and therefore is used more often. There are other graph coloring methods like Edge Coloring and Face Coloring which can be transformed into a vertex coloring method.

Edge Coloring :

Where none of the vertex is adjacent to two edge of the same color.

Face Coloring :

Or the other name is Geographical Map Coloring, used for geographical purposes.

Chromatic number of the graph :

It is the smallest number of colors that is required for coloring a graph.

 

How to Color a Graph :

We should follow the steps given below to color a given graph  :

  1. Firstly, arrange the given vertices of the given graph in a particular order.
  2. Then, select the first corner and color it with the first color.
  3. Similarly, select the next vertex and color it with the color that is lowest numbered which has not been used as a color on any of the corners and if all the vertices are colored with similar color then introduce a new color to it. Keep repeating these steps unless all the vertices are colored  properly.

 

Applications of the Graph Coloring :

  1. Used in creating schedule or timetable:  Every problem or important thing can be highlighted or represented using a graph where each vertex is a particular subject. Therefore, it will be a graph coloring method where the least number of slots of time is used and is equal to a chromatic number of the given graph.
  2. Used in digital equipment such as Mobile Radio Frequency Assessment: When a particular type of frequency is assigned to the tower, the other tower towers must have different frequencies in that particular location. So, in order to assign frequencies and a minimum number of frequencies can be represented using graph coloring, where each tower will represent a corner or vertex and the edge between the two towers can be represented as the range for each other.
  3. Most widely used in Register Allocation: While optimization process in a compiler, the register allocation is a type of process for assigning a huge number of program target variables upon the least number of CPU registers. It is also a method of graph coloring.
  4. Used in Bipartite Graphs: It can be used to check if a given graph is a Bipartite graph or not by using two colors to color the graph. If that given graph is two colorable then that graph is Bipartite else it’s not.
  5. Used in Map coloring: widely used for geographical purposes for geographical maps of different countries where no same state or country can have a similar color. In short four colors are enough to color a given map.

 

Reference

Graph coloring