Graph colouring

12,851 views 29 slides Feb 24, 2015
Slide 1
Slide 1 of 29
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29

About This Presentation

It is related to Graph Theory. Graph colouring is important for Computer science & Engineering.


Slide Content

Maulana Azad National Maulana Azad National InstituteInstitute of of
TechnologyTechnology
Department of Computer Science & EngineeringDepartment of Computer Science & Engineering
Presentation Presentation
OnOn
Graph ColoringGraph Coloring
Presented By:Presented By:
Priyank JainPriyank Jain
Shweta SaxenaShweta Saxena

What is Graph Coloring?What is Graph Coloring?
Graph Coloring is an assignment of colors Graph Coloring is an assignment of colors
(or any distinct marks) to the vertices of a (or any distinct marks) to the vertices of a
graph. Strictly speaking, a coloring is a graph. Strictly speaking, a coloring is a
proper coloring if no two adjacent vertices proper coloring if no two adjacent vertices
have the same color.have the same color.

Origin of the problemOrigin of the problem

Origin of the problemOrigin of the problem

Why Graph Coloring?Why Graph Coloring?
Many problems can be formulated as a Many problems can be formulated as a
graph coloring problem including Time graph coloring problem including Time
Tabling, Tabling, Channel AssignmentChannel Assignment etc. etc.
A lot of research has been done in this A lot of research has been done in this
area.area.

Channel AssignmentChannel Assignment
Find a channel assignment to R radio Find a channel assignment to R radio
stations such that no station has a conflict stations such that no station has a conflict
(there is a conflict if they are in vicinity)(there is a conflict if they are in vicinity)
Vertices – radio stations, edges – conflict, Vertices – radio stations, edges – conflict,
colors – available channelscolors – available channels

TerminologyTerminology
K-ColoringK-Coloring
A k-coloring of a graph G is a mapping of A k-coloring of a graph G is a mapping of
V(G) onto the integers 1..k such that adjacent V(G) onto the integers 1..k such that adjacent
vertices map into different integers.vertices map into different integers.
A k-coloring partitions V(G) into k disjoint A k-coloring partitions V(G) into k disjoint
subsets such that vertices from different subsets such that vertices from different
subsets have different colors.subsets have different colors.

TerminologyTerminology
K-colorableK-colorable
A graph G is k-colorable if it has a k-coloring.A graph G is k-colorable if it has a k-coloring.
Chromatic NumberChromatic Number
The smallest integer k for which G is k-The smallest integer k for which G is k-
colorable is called the chromatic number of G.colorable is called the chromatic number of G.

TerminologyTerminology
K-chromatic graphK-chromatic graph
A graph whose chromatic number is k is A graph whose chromatic number is k is
called a k-chromatic graph.called a k-chromatic graph.
ColoringColoring
A coloring of a graph G assigns colors to the A coloring of a graph G assigns colors to the
vertices of G so that adjacent vertices are vertices of G so that adjacent vertices are
given different colorsgiven different colors

ExampleExample
The chromatic number is four. Therefore this a 4-Chromatic Graph

ExampleExample
Problem: A state legislature has a Problem: A state legislature has a
number of committees that meet each number of committees that meet each
week for one hour. How can we schedule week for one hour. How can we schedule
the committee meetings times such that the committee meetings times such that
the least amount of time is used but such the least amount of time is used but such
that two committees with overlapping that two committees with overlapping
membership do not meet at the same membership do not meet at the same
time.time.

Example (cont)Example (cont)
The chromatic number of this graph is four. Thus four hours suffice to schedule
committee meetings without conflict.
An edge represents a conflict between to meetings
An vertex represents a meeting

Graph Colouring AlgorithmGraph Colouring Algorithm
There is no efficient algorithm available for There is no efficient algorithm available for
coloring a graph with minimum number of coloring a graph with minimum number of
colors.colors.
 Graph coloring problem is a known NP Graph coloring problem is a known NP
Complete problem. Complete problem.

NP Complete Problem NP Complete Problem
NP complete problems are problems NP complete problems are problems
whose status is unknown. whose status is unknown.
No polynomial time algorithm has yet No polynomial time algorithm has yet
been discovered for any NP complete been discovered for any NP complete
problemproblem
 It is not established that no polynomial-It is not established that no polynomial-
time algorithm exist for any of them. time algorithm exist for any of them.

NP Complete ProblemNP Complete Problem
The interesting part is, if any one of the The interesting part is, if any one of the
NP complete problems can be solved in NP complete problems can be solved in
polynomial time, then all of them can be polynomial time, then all of them can be
solved.solved.
Although Graph coloring problem is NP Although Graph coloring problem is NP
Complete problem there are some Complete problem there are some
approximate algorithms to solve the graph approximate algorithms to solve the graph
coloring problem.coloring problem.

Basic Greedy AlgorithmBasic Greedy Algorithm
1.1.Color first vertex with first color.Color first vertex with first color.
2. Do following for remaining V-1 vertices. 2. Do following for remaining V-1 vertices.
a) a) Consider the currently picked vertex Consider the currently picked vertex
and color it with the lowest numbered and color it with the lowest numbered
color that has not been used on any color that has not been used on any
previously colored vertices adjacent to it. previously colored vertices adjacent to it.
If all previously used colors appear on If all previously used colors appear on
vertices adjacent to v, assign a new color vertices adjacent to v, assign a new color
to it. to it.

Analysis of Greedy AlgorithmAnalysis of Greedy Algorithm
The above algorithm doesn’t always use The above algorithm doesn’t always use
minimum number of colors. Also, the minimum number of colors. Also, the
number of colors used sometime depend number of colors used sometime depend
on the order in which vertices are on the order in which vertices are
processedprocessed

Example:Example:
For example, consider the following two For example, consider the following two
graphs. Note that in graph on right side, graphs. Note that in graph on right side,
vertices 3 and 4 are swapped. If we vertices 3 and 4 are swapped. If we
consider the vertices 0, 1, 2, 3, 4 in left consider the vertices 0, 1, 2, 3, 4 in left
graph, we can color the graph using 3 graph, we can color the graph using 3
colors. But if we consider the vertices 0, 1, colors. But if we consider the vertices 0, 1,
2, 3, 4 in right graph, we need 4 colors2, 3, 4 in right graph, we need 4 colors

Analysis of Basic AlgorithmAnalysis of Basic Algorithm

WelshWelsh Powell Powell AlgorithmAlgorithm
Find the degree of each vertexFind the degree of each vertex
ListList the verices the verices in order of descending in order of descending
valence i.e. valence i.e. degree(v(i))>=degree(v(i+1))degree(v(i))>=degree(v(i+1))
Colour Colour the first vertex in the listthe first vertex in the list
Go down the sorted list and color every Go down the sorted list and color every
vertex not connected to the colored vertex not connected to the colored
vertices above the same color then cross vertices above the same color then cross
out all colored vertices in the list.out all colored vertices in the list.

Welsh Powell AlgorithmWelsh Powell Algorithm
Repeat the process on the uncolored Repeat the process on the uncolored
vertices with a new color-always working vertices with a new color-always working
in descending order of degree until all in descending order of degree until all
vertices are colored.vertices are colored.
Complexity Complexity of above algorithm = of above algorithm = O(nO(n
22
))

Welsh Powell Algorithm: Welsh Powell Algorithm:
ExampleExample

Welsh Powell Algorithm: Welsh Powell Algorithm:
Example Example

Welsh Powell Algorithm: Welsh Powell Algorithm:
Example Example

Welsh Powell Algorithm: Welsh Powell Algorithm:
Example Example

Welsh Powell Algorithm: Welsh Powell Algorithm:
Example Example

Welsh Powell Algorithm: Welsh Powell Algorithm:
Example Example

Any QueriesAny Queries

Thank YouThank You
Tags