You are on page 1of 4

International Journal of Computer Systems (ISSN: 2394-1065), Volume 03 Issue 05, May, 2016

Available at http://www.ijcsonline.com/

Sequential and Parallel Approaches in Context to Graph Coloring Problems - A


Survey
Harish Patidar1, Prasun Chakrabarti2
1

Research Scholar, Department of Computer Science and Engineering, Sir PadampatSinghania University,Udaipur-313601,Rajasthan,INDIA,
harish.patidar@gmail.com
2
Professor and Head,Department of Computer Science and Engineering, Sir Padampat Singhania University, Udaipur-313601,Rajasthan,INDIA,
prasun.chakrabarti@spsu.ac.in

Abstract
The paper points out certain facts as per survey based upon the two approaches to color a graph viz. Sequential
approach, parallel approach. Sequential approaches are reliable for small size problems and provide minimum number
of colors for a graph. Parallel approaches provide better result for a big problem and fast computation for any graph
coloring problem.
Keywords: Sequential approach, parallel approach, graph coloring.

I.

INTRODUCTION

Given an undirected graph G = (V;E), the Graph


Coloring Problem(GCP) requires to assign a color to each
vertex in such a way that colors on adjacent vertices are
different. If two adjacent vertices have the same color, then
vertices are called conflicting vertices and the edge linking
vertices is called a conflicting edge. The minimum number
of colors needed to color G is called the chromatic number
of G, denoted by X (G).
Deciding whether a graph can be colored using at most
k colors is referred as k-colorability problem, which is the
decision version of GCP.Graph coloring problem is
expected to have a wide variety of applications such as
scheduling [1], frequency assignment in cellular networks
[2], air traffic [3], crew assignment [4],parallel numerical
computation [5] etc.
As a result of its importance and simplicity, it is one of
the most studied NP-hard problem, thus many methods
have been developed to solve or to approach the GCP.
There are many approaches are developed that are joined
with the graph coloring algorithms, to reduce the time of
algorithm.
II.

BACKGROUND OF THE WORK

Graph coloring is a way to assign color to the graph that


no two adjacent vertex will have the same color. Graph
coloring is a well known problem, used in many real world
applications for example guarding an art gallery by CCTV
camera [6] where one want to cover the maximum area of
the gallery in the minimum number of camera. There are
many approaches available to solve this graph coloring
problem. These approaches are used to reduce the time
complexity of the algorithm and the number of colors used
in graph.
There exist several fast sequential coloring heuristics
that are effective in practice. In sequential algorithm a
vertex is selected according to some predefined criterion
and then colored with the smallest valid color. The

selection and coloring continues until all the vertices in the


graph are colored.In parallel graph coloring, a number of
the existing fast heuristics is based on the observation that
an independent set of vertices can be colored in parallel.
III.

SEQUENTIAL APPROACH

Sequential coloring will always be able to find the


optimal coloring if we can give it the optimal order. There
exist several fast sequential coloring heuristics that are
effective in practice. These algorithms are based on the
same general greedy framework: a vertex is selected
according to some predefined criterion and then colored
with the smallest valid color. The selection and coloring
continues until all the vertices in the graph are colored.
There are many sequential coloring algorithms such as:
Sequential Greedy Algorithm (SGA) [7], First Fit
(FF)[8],Largest-Degree-First-Ordering
(LFO)
[9],
Incidence-Degree-Ordering (IDO) [10], and SaturationDegree-Ordering(SDO) [11].Sequential coloring is also
fast, but as it is not very effective.
Sequential Greedy Algorithm (SGA): Sequential
greedy algorithm [7] plays an important role in the
practical resolution of NP-hard problems. A greedy
algorithm is a basic heuristic that builds a solution by
iteratively adding the locally best element into the solution
according to certain criteria. A greedy algorithm can either
be used onits own to obtain a good solution, orit can be
integrated to any other algorithm. Greedy approach color
the vertices of the graph by consider them in sequence and
assign each vertex the first available color. Greedy method
is the simplest which takes an ordering of nodes of a graph
and colors these with the smallest color satisfying the
constraints that no adjacent nodes are assigned same colors.
However, the Greedy method performs poorly in practice.
First Fit (FF): The First Fit [8] coloring algorithm is
fed the set of vertices in some arbitrary order. The
algorithm sequentially assigns each vertex the lowest legal
color. First Fit has the advantage of being very simple and
very fast. In other words, First Fit is an O(n)-time
algorithm.

403 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 05, May, 2016

Sequential and Parallel Approaches in context to Graph Coloring Problems A Survey

Harish Patidar et al

Largest-Degree-First-Ordering (LDO): Ordering the


vertices by decreasing degree, proposedby C. Avanthay, A.
Hertz, N. Zufferey[9], was one of the earliest ordering
strategies. This ordering works as follows. Suppose the
vertices v1, v2,,vi-1 have been chosen and colored.
Vertex vi is chosen to be the vertex with the maximum
degree among the set of uncolored vertices. Largest Degree
First Ordering provides a better coloring because at each
iteration it chooses a vertex with the highest number of
neighbors which potentially produces the highest color.
Note that this heuristic can be implemented to run in O(n2).
Smallest-Degree-LastOrdering
(SDO):
The
smallest-degree-last ordering heuristic [12] colors the
vertices in the order induced by first removing all the
lowest-degree vertices from the graph, then recursively
coloring the resulting graph, and finally coloring the
removed vertices.
Incidence-Degree-Ordering (IDO): Incident degree
ordering was proposed by E.K. Burke, B. McCollum, A.
Meisels, S. Petrovic, R. [10] and is defined as follows. At
each step the vertex with the maximum incident degree is
selected. The incidence degree of a vertex is defined as the
number of its adjacent colored vertices. Note that it is the
number of adjacent colored vertices and not the number of
colors used by the vertices that is counted. For example, if
a vertex v has degree equal to 4 where one of its neighbors
is uncolored, two of them are colored with color equal to 1,
while the last one is colored with color equal to 3, then v
has incident degree equal to 3.Ties are broken in favor of
the vertex with the largest degree. Incident Degree
Ordering is an O(n)-time algorithm.
Saturation -Degree-ordering (SDO): Saturated degree
ordering was proposed by E.Falkenauer[11] and is defined
as follows. At each step the vertex with the maximum
saturation degree is selected . The saturation degree of a
vertex is defined as the number of its adjacent differently
colored vertices. For example, if a vertex v has degree
equal to 4 where one of its neighbors is uncolored, two of
them are colored with color equal to 1, while the last one is
colored with color equal to 3, then v has saturation degree
equal to 2.While choosing a vertex of maximum saturation
degree, ties are broken in favor of the vertex with the
largest degree. The heuristic can be implemented to run in
O (n2) E. Falkenauer[11].
IV.

PARALLEL APPROACH

Parallel approach to solve graph coloring problem is


used to reduce the computational time of the algorithm. In
a parallel application graph coloring is usually performed
in order to partition the work associated with the vertices
into independent subtasks such that the subtasks can be
performed concurrently. Parallel approach is a fast and
scalable approach. Independent set based coloring heuristic
are better suited for parallelization. Depending on how the
independent set is chosen and colored ,there are many
parallel graph coloring approaches such as: The Parallel
Maximal Independent set (PMIS) coloring is one variant.
This is a heuristic based on Lubys maximal independent
set finding algorithm [13]. Other variants are the
asynchronous parallel heuristic by Jones and Plassmann
(JP) [14], the Largest-Degree-First (LDF) and SmallestDegree-Last(SDL) heuristic developed independently by
Allwright et al. [5], Graph Partitioning Approach (GPA)

and Block Partitioning Approach (BPA) [16]. Some wellknown sequential graph coloring algorithms, the LargestDegree-First algorithm [9] and the Smallest-Degree-Last
algorithm [12], can be readily parallelized. Combination of
few algorithms are also available with parallel approach
like algorithm proposed by Nishant M. Gandhi and Rajiv
Mishraa parallel Local-Smallest-Largest Degree First
algorithm with Bulk Synchronous parallel model [16].
Parallel Maximal Independent set (PMIS):The
Maximal Independent Set (MIS) algorithm [13] colors the
graph by repeatedly finding the largest possible
independent set of vertices (vertices which are not
adjacent) in the graph. All vertices in the first such set are
given the same color and removed from the graph. The
algorithm then finds a new MIS and gives these a second
color, and continues finding and coloring maximal
independent sets until all vertices have been colored. Luby
has described a parallel version of the MIS algorithm. It
basically involves finding an independent set, removing
these vertices and their neighbors from the graph, and
iterating this procedure, until all the vertices are removed.
Jones-Plassmann (JP): Jones-Plassmann recently
described a parallel coloring algorithm that improves upon
the parallel MIS algorithm [14]. The Jones-Plassmann
algorithm then proceeds very much like the MIS algorithm,
except that it does not find a maximal independent set at
each step. It just finds an independent set in parallel using
Luby's method of choosing vertices whose weights are
local maxima. The vertices are colored individually using
the smallest available color, i.e. the smallest color that has
notalready been assigned to a neighboring vertex. This
procedure is repeated until the entire graph is successfully
colored.
Largest-Degree-First-Ordering (LDO): The LargestDegree-First algorithm [9] can be parallelized using a very
similar method to the Jones-Plassmann algorithm. The only
difference is that instead of using random weights to create
the independent sets, the weight is chosen to be the
maximum degree of the vertex in the induced subgraph.
Random numbers are only used to resolve conflicts
between neighboring vertices having the same degree.
Smallest-Degree-Last-Ordering
(SDO):
The
Smallest-Degree-Last algorithm [12] tries to improve upon
the Largest-Degree-Firstalgorithm by using a more
sophisticated system of weights. In order to achieve this,
algorithm operates in two phases, a weighting phase and a
coloring phase.The weighting phase begins by finding all
vertices with degree equal to the smallest degree d
presently in the graph. These are assigned the current
weight and removed from the graph, thus changing the
degree of their neighbors. This continuesuntil all vertices
have been assigned a weight.The coloring phase has each
vertex look aroundat its uncolored neighbors and when it
discovers it has the highest weight, it colors itself using the
lowest available color in its neighborhood.
Graph Partitioning Approach (GPA): This approach
is used to increase the speed of the algorithm.The objective
of the graphpartitioning problem is to partition the vertices
of a graph in roughly equalparts such that the number of
edges connecting vertices in different parts isminimized.
The partitioning is done across the number of
processorsavailable. Each processor solves the problem

404 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 05, May, 2016

Sequential and Parallel Approaches in context to Graph Coloring Problems A Survey

Harish Patidar et al

concurrently and gives the final coloring after joining each


part. These approach emphasis more on speed rather than
quality of color.
Block Partitioning Approach (BPA): By block
partitioning [15]is meant dividing the vertex set into p
successive blocks of equal size. No effort is made to
minimizethe number of edges whose end points belong to
different blocks. Such edges, the end points of which
belong to different blocks, are said to becrossing edges.
This approach works into two phases: In the first phase, the
input vertex set is divided into p blocks of equal size and
the vertices in each block are colored in parallel using p
processors. The processors operate in a synchronous
fashion. In the second phase each processor checks whether
its vertices are legally colored. If aconflict is discovered,
one of the endpoints of the edge in conflict is stored in a
table. Finally the vertices in this table are colored
sequentially. Other then these algorithms few more
algorithms and variant of existing algorithms are also
proposed by some researchers like some parallel algorithm
based on sequential heuristics algorithm proposed and
implemented on SIMD and MIMD parallel architecture.
This algorithm is used for sparse matrix problem [5]. To
achieve parallelism as software level algorithm can be
design using threading, A novel parallel genetic algorithm
is also designed to solve computer unified device
architecture (CUDA) [17]. To achieve parallelism at
hardware level a parallel algorithm is designed for multi
core and many core architecture [18].

V.

COMPARISON OF RESULTS

Sequential graph coloring algorithms are very effective


in practice. They provide best result for a graph in terms of
number of color used. Result of some sequential algorithm
is given by Dr. Hussein Al-Omari and KhairEddinSabri[8].
Table I Comparison of sequential algorithm in terms of
number of colors required for graphs.
No.
of
vertices

Density

FF

LDO

IDO

SDO

200

25%

20

18

18

17

200

50%

36

34

34

32

200

75%

58

55

56

53

1000

25%

64

62

63

58

1000

50%

127

123

126

116

1000

75%

217

212

214

204

Table II Comparison of parallel algorithm in terms of


average number of colors required for graphs.
PMIS

JP

LDO

SDO

LUNDA

29.4

28.9

25.0

23.7

LUNDB

30.2

29.7

25.0

24.1

GENT113

20.3

20.5

20.0

20.0

IBM32

9.0

9.3

8.0

8.0

12.3

12.2

12.0

12.0

CURTIS54

Table III Comparison of parallel algorithm in terms oftime


taken in seconds for coloring graphs
Problem

PMIS

JP

LDO

SDO

LUNDA

2.5

3.0

4.2

5.2

LUNDB

2.5

3.1

4.1

5.1

1.2

1.3

1.1

2.7

0.19

0.17

0.18

0.27

0.38

0.30

0.32

0.81

GENT113
IBM32
CURTIS54

VI.

CONCLUSION

The paper highlights the two graph coloring approaches


viz. sequential and parallel. In sequential approach, each
vertex is selected according to some predefined criterion
and then colored with the smallest valid color. Sequential
approach provides the minimum number of colors used to
color the graph but it does not provide good computational
time for large problem. So to improve computational time
of the algorithm, parallel approach is being used. In parallel
approach, an independent set of vertices can be colored in
parallel mode thereby achieving optimum time complexity.
REFERENCES
[1]

[2]

[3]

[4]

[5]

Sequential algorithm is easy to implement but they are


not suitable for a large distributed problem. Sequential
approach consumes more time to solve large problems. So
to solve large problems parallel approach is used. It
provides good computational time and also minimum
number of color for a graph.Result of some parallel
algorithm is given by Allwright[7].

Problem

[6]

[7]

K.A. Dowsland and J.M. Thompson, Ant Colony Optimization for


the Examination Scheduling Problem, Journal of the Operational
Research Society, 56(2005), 426-438.
A. Gamst, Some Lower Bounds for a Class of Frequency
Assignment Problem, IEEE Transactions of Vehicular
Technology, 35(1999), 8-14.
Barnier N, Brisset Graph P. Coloring for air traffic flow
management. In: Proceedings of the CPAIOR02 fourth
international workshop on integration of AI and OR techniques in
constraint programming for combinatorial optimisation problems.
Le Croisic, France; 2002. p. 133147.
A. Lim and F. Wang, Metaheuristics for Robust Graph Coloring
Problem, Proc. of the 16th IEEE International Conference on
Tools with Artificial Intelligence (ICTAI 2004), 2004.
Allwright JR, Bordawekar R, Coddington PD, Dincer K, Martin
CL. A comparison of parallel graph coloring algorithms.
Technical Report SCCS-666, Northeast Parallel Architecture
Center, Syracuse University, 1995.
Shamim Ahmed. Applications of Graph Coloring in Modern
Computer Science, IJCIT, VOLUME 03, ISSUE 02 , ISSN 20785828, 2012.
Allwright JR, Bordawekar R, Coddington PD, Dincer K, Martin
CL,A comparison of parallel graph coloring algorithms Technical
Report SCCS-666, Northeast Parallel Architecture Center, Syracuse
University, 1995.

405 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 05, May, 2016

Harish Patidar et al
[8]

[9]

[10]

[11]
[12]
[13]
[14]
[15]

[16]

[17]

[18]

Sequential and Parallel Approaches in context to Graph Coloring Problems A Survey

Dr. Hussein Al-Omari and KhairEddinSabri: New Graph Coloring


Algorithms,American Journal of Mathematics and Statistics 2 (4):
739-741, 2006ISSN 1549-3636, March 2006.
C. Avanthay, A. Hertz, N. Zufferey, A variable neighborhood
search forgraph coloring, European Journal of Operational
Research 151 (2) (2003) 379388
E.K. Burke, B. McCollum, A. Meisels, S. Petrovic, R. Qu, A
graph-basedhyper heuristic for timetabling problems, European
Journal of Operational Research 176 (2007) 177192.
E. Falkenauer, A hybrid grouping genetic algorithm for bin
packing, Journal of Heuristics 2 (1) (1996) 530.
D. W. Matula and L. L. Beck. Smallest-last ordering and
clusteringand graph coloring algorithms.JACM, 1983.
M. Luby, A simple parallel algorithm for the maximal independent
set problem, SIAM Journal on Computing 4 (1986) 1036.
M. T. Jones and P. E. Plassmann, A Parallel Graph Coloring
Heuristic, SIAM Journal of Scientic Computing 14 (1993) 654.
AssefawHadishGebremedhin and Fredrik Manne:Scalable parallel
graph coloring Algorithms, CONCURRENCY: PRACTICE AND
EXPERIENCE Concurrency: Pract. Exper. 2000; 12:11311146.
Nishant M Gandhi, Rajiv Misra "Performance Comparison of
Parallel Graph Coloring Algorithms on BSP Model using Hadoop",
IEEE International Conference on Computing, Networking and
Communications, Cloud Computing and Big Data, 2015.
BuhuaChen , "A Fast Parallel Genetic Algorithm for Graph
Coloring Problem Based on CUDA" IEEE Cyber-Enabled
Distributed Computing and Knowledge Discovery (CyberC), 2015
International Conference, pp 145 - 148, Sept. 2015.
GeorgiosRokos , Gerard Gorman, Paul H.J. Kelly, "A Fast and
Scalable Graph Coloring Algorithm for Multi-core and Many-core
Architectures" Spring link, Euro-Par 2015: Parallel Processing
Volume 9233 pp 414-425, 2015.

406 | International Journal of Computer Systems, ISSN-(2394-1065), Vol. 03, Issue 05, May, 2016

You might also like