sequential_and_parallel_approaches_in_context_to_graph_coloring_problems_a_survey.pdf

Upload: editorinchiefijcs

Post on 13-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 Sequential_and_Parallel_Approaches_in_context_to_Graph_Coloring_Problems_A_Survey.pdf

    1/4

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

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

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

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

    Survey

    Harish Patidar1, Prasun Chakrabarti

    2

    1Research Scholar, Department of Computer Science and Engineering, Sir PadampatSinghania University,Udaipur-313601,Rajasthan,INDIA,[email protected]

    2Professor and Head,Department of Computer Science and Engineering, Sir Padampat Singhania University, Udaipur-313601,Rajasthan,INDIA,

    [email protected]

    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 GraphColoring Problem(GCP) requires to assign a color to eachvertex in such a way that colors on adjacent vertices aredifferent. If two adjacent vertices have the same color, thenvertices are called conflicting vertices and the edge linkingvertices is called a conflicting edge. The minimum numberof colors needed to color G is called the chromatic numberof G, denoted by X (G).

    Deciding whether a graph can be colored using at mostk colors is referred as k-colorability problem, which is thedecision version of GCP.Graph coloring problem isexpected to have a wide variety of applications such asscheduling [1], frequency assignment in cellular networks[2], air traffic [3], crew assignment [4],parallel numericalcomputation [5] etc.

    As a result of its importance and simplicity, it is one ofthe most studied NP-hard problem, thus many methodshave been developed to solve or to approach the GCP.There are many approaches are developed that are joinedwith the graph coloring algorithms, to reduce the time ofalgorithm.

    II. BACKGROUND OF THE WORK

    Graph coloring is a way to assign color to the graph thatno two adjacent vertex will have the same color. Graphcoloring is a well known problem, used in many real worldapplications for example guarding an art gallery by CCTVcamera [6] where one want to cover the maximum area ofthe gallery in the minimum number of camera. There aremany approaches available to solve this graph coloring

    problem. These approaches are used to reduce the timecomplexity of the algorithm and the number of colors usedin graph.

    There exist several fast sequential coloring heuristics

    that are effective in practice. In sequential algorithm avertex is selected according to some predefined criterionand then colored with the smallest valid color. The

    selection and coloring continues until all the vertices in thegraph are colored.In parallel graph coloring, a number ofthe existing fast heuristics is based on the observation thatan independent set of vertices can be colored in parallel.

    III. SEQUENTIAL APPROACH

    Sequential coloring will always be able to find theoptimal coloring if we can give it the optimal order. Thereexist several fast sequential coloring heuristics that areeffective in practice. These algorithms are based on thesame general greedy framework: a vertex is selectedaccording to some predefined criterion and then coloredwith the smallest valid color. The selection and coloringcontinues 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 Saturation-Degree-Ordering(SDO) [11].Sequential coloring is alsofast, but as it is not very effective.

    Sequential Greedy Algorithm (SGA): Sequentialgreedy algorithm [7] plays an important role in the

    practical resolution of NP-hard problems. A greedyalgorithm is a basic heuristic that builds a solution byiteratively adding the locally best element into the solutionaccording to certain criteria. A greedy algorithm can either

    be used onits own to obtain a good solution, orit can beintegrated to any other algorithm. Greedy approach colorthe vertices of the graph by consider them in sequence andassign each vertex the first available color. Greedy methodis the simplest which takes an ordering of nodes of a graphand colors these with the smallest color satisfying theconstraints 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 isfed the set of vertices in some arbitrary order. Thealgorithm sequentially assigns each vertex the lowest legal

    color. First Fit has the advantage of being very simple andvery fast. In other words, First Fit is an O(n)-timealgorithm.

  • 7/26/2019 Sequential_and_Parallel_Approaches_in_context_to_Graph_Coloring_Problems_A_Survey.pdf

    2/4

    Harish Patidar et al Sequential and Parallel Approaches in context to Graph Coloring ProblemsA Survey

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

    Largest-Degree-First-Ordering (LDO):Ordering thevertices by decreasing degree, proposedby C. Avanthay, A.Hertz, N. Zufferey[9], was one of the earliest orderingstrategies. This ordering works as follows. Suppose thevertices 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 DegreeFirst Ordering provides a better coloring because at eachiteration it chooses a vertex with the highest number ofneighbors which potentially produces the highest color.

    Note that this heuristic can be implemented to run in O(n2).

    Smallest-Degree-LastOrdering (SDO): Thesmallest-degree-last ordering heuristic [12] colors thevertices in the order induced by first removing all thelowest-degree vertices from the graph, then recursivelycoloring the resulting graph, and finally coloring theremoved 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. Ateach step the vertex with the maximum incident degree isselected. The incidence degree of a vertex is defined as thenumber of its adjacent colored vertices. Note that it is thenumber of adjacent colored vertices and not the number ofcolors used by the vertices that is counted. For example, ifa vertex v has degree equal to 4 where one of its neighborsis uncolored, two of them are colored with color equal to 1,while the last one is colored with color equal to 3, then vhas incident degree equal to 3.Ties are broken in favor ofthe vertex with the largest degree. Incident DegreeOrdering is an O(n)-time algorithm.

    Saturation -Degree-ordering (SDO):Saturated degreeordering was proposed by E.Falkenauer[11] and is definedas follows. At each step the vertex with the maximumsaturation degree is selected . The saturation degree of avertex is defined as the number of its adjacent differentlycolored vertices. For example, if a vertex v has degreeequal to 4 where one of its neighbors is uncolored, two ofthem are colored with color equal to 1, while the last one iscolored with color equal to 3, then v has saturation degreeequal to 2.While choosing a vertex of maximum saturationdegree, ties are broken in favor of the vertex with thelargest degree. The heuristic can be implemented to run inO (n2) E. Falkenauer[11].

    IV.

    PARALLEL APPROACHParallel approach to solve graph coloring problem is

    used to reduce the computational time of the algorithm. Ina parallel application graph coloring is usually performedin order to partition the work associated with the verticesinto independent subtasks such that the subtasks can be

    performed concurrently. Parallel approach is a fast andscalable approach. Independent set based coloring heuristicare better suited for parallelization. Depending on how theindependent set is chosen and colored ,there are many

    parallel graph coloring approaches such as: The ParallelMaximal Independent set (PMIS) coloring is one variant.This is a heuristic based on Lubys maximal independentset finding algorithm [13]. Other variants are theasynchronous parallel heuristic by Jones and Plassmann(JP) [14], the Largest-Degree-First (LDF) and Smallest-Degree-Last(SDL) heuristic developed independently byAllwright et al. [5], Graph Partitioning Approach (GPA)

    and Block Partitioning Approach (BPA) [16]. Some well-known sequential graph coloring algorithms, the Largest-Degree-First algorithm [9] and the Smallest-Degree-Lastalgorithm [12], can be readily parallelized. Combination offew algorithms are also available with parallel approachlike algorithm proposed by Nishant M. Gandhi and Rajiv

    Mishraa parallel Local-Smallest-Largest Degree Firstalgorithm with Bulk Synchronous parallel model [16].

    Parallel Maximal Independent set (PMIS):TheMaximal Independent Set (MIS) algorithm [13] colors thegraph by repeatedly finding the largest possibleindependent set of vertices (vertices which are notadjacent) in the graph. All vertices in the first such set aregiven the same color and removed from the graph. Thealgorithm then finds a new MIS and gives these a secondcolor, and continues finding and coloring maximalindependent sets until all vertices have been colored. Lubyhas described a parallel version of the MIS algorithm. It

    basically involves finding an independent set, removing

    these vertices and their neighbors from the graph, anditerating this procedure, until all the vertices are removed.

    Jones-Plassmann (JP): Jones-Plassmann recentlydescribed a parallel coloring algorithm that improves uponthe parallel MIS algorithm [14]. The Jones-Plassmannalgorithm then proceeds very much like the MIS algorithm,except that it does not find a maximal independent set ateach step. It just finds an independent set in parallel usingLuby's method of choosing vertices whose weights arelocal maxima. The vertices are colored individually usingthe smallest available color, i.e. the smallest color that hasnotalready been assigned to a neighboring vertex. This

    procedure is repeated until the entire graph is successfully

    colored.

    Largest-Degree-First-Ordering (LDO):The Largest-Degree-First algorithm [9] can be parallelized using a verysimilar method to the Jones-Plassmann algorithm. The onlydifference is that instead of using random weights to createthe independent sets, the weight is chosen to be themaximum 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): TheSmallest-Degree-Last algorithm [12] tries to improve uponthe Largest-Degree-Firstalgorithm by using a moresophisticated system of weights. In order to achieve this,algorithm operates in two phases, a weighting phase and acoloring phase.The weighting phase begins by finding allvertices with degree equal to the smallest degree d

    presently in the graph. These are assigned the currentweight and removed from the graph, thus changing thedegree of their neighbors. This continuesuntil all verticeshave been assigned a weight.The coloring phase has eachvertex look aroundat its uncolored neighbors and when itdiscovers it has the highest weight, it colors itself using thelowest available color in its neighborhood.

    Graph Partitioning Approach (GPA):This approachis used to increase the speed of the algorithm.The objectiveof the graphpartitioning problem is to partition the verticesof a graph in roughly equalparts such that the number ofedges connecting vertices in different parts isminimized.The partitioning is done across the number of

    processorsavailable. Each processor solves the problem

  • 7/26/2019 Sequential_and_Parallel_Approaches_in_context_to_Graph_Coloring_Problems_A_Survey.pdf

    3/4

    Harish Patidar et al Sequential and Parallel Approaches in context to Graph Coloring ProblemsA Survey

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

    concurrently and gives the final coloring after joining eachpart. These approach emphasis more on speed rather thanquality of color.

    Block Partitioning Approach (BPA): By blockpartitioning [15]is meant dividing the vertex set into p

    successive blocks of equal size. No effort is made tominimizethe number of edges whose end points belong todifferent 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, theinput vertex set is divided into p blocks of equal size andthe vertices in each block are colored in parallel using p

    processors. The processors operate in a synchronousfashion. In the second phase each processor checks whetherits vertices are legally colored. If aconflict is discovered,one of the endpoints of the edge in conflict is stored in atable. Finally the vertices in this table are coloredsequentially. Other then these algorithms few morealgorithms and variant of existing algorithms are also

    proposed by some researchers like some parallel algorithmbased on sequential heuristics algorithm proposed andimplemented on SIMD and MIMD parallel architecture.This algorithm is used for sparse matrix problem [5]. Toachieve parallelism as software level algorithm can bedesign using threading, A novel parallel genetic algorithmis also designed to solve computer unified devicearchitecture (CUDA) [17]. To achieve parallelism athardware level a parallel algorithm is designed for multicore and many core architecture [18].

    V. COMPARISON OF RESULTS

    Sequential graph coloring algorithms are very effectivein practice. They provide best result for a graph in terms ofnumber of color used. Result of some sequential algorithmis given by Dr. Hussein Al-Omari and KhairEddinSabri[8].

    Table I Comparison of sequential algorithm in terms ofnumber of colors required for graphs.

    No. ofvertices

    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

    Sequential algorithm is easy to implement but they arenot suitable for a large distributed problem. Sequentialapproach consumes more time to solve large problems. Soto solve large problems parallel approach is used. It

    provides good computational time and also minimum

    number of color for a graph.Result of some parallelalgorithm is given by Allwright[7].

    Table II Comparison of parallel algorithm in terms ofaverage number of colors required for graphs.

    Problem 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

    CURTIS54 12.3 12.2 12.0 12.0

    Table III Comparison of parallel algorithm in terms oftimetaken 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

    GENT113 1.2 1.3 1.1 2.7

    IBM32 0.19 0.17 0.18 0.27

    CURTIS54 0.38 0.30 0.32 0.81

    VI. CONCLUSION

    The paper highlights the two graph coloring approachesviz. sequential and parallel. In sequential approach, eachvertex is selected according to some predefined criterionand then colored with the smallest valid color. Sequential

    approach provides the minimum number of colors used tocolor the graph but it does not provide good computationaltime for large problem. So to improve computational timeof the algorithm, parallel approach is being used. In parallelapproach, an independent set of vertices can be colored in

    parallel mode thereby achieving optimum time complexity.

    REFERENCES

    [1] K.A. Dowsland and J.M. Thompson, Ant Colony Optimization forthe Examination Scheduling Problem, Journal of the OperationalResearch Society, 56(2005), 426-438.

    [2] A. Gamst, Some Lower Bounds for a Class of FrequencyAssignment Problem, IEEE Transactions of VehicularTechnology, 35(1999), 8-14.

    [3]

    Barnier N, Brisset Graph P. Coloring for air traffic flowmanagement. In: Proceedings of the CPAIOR02 fourthinternational workshop on integration of AI and OR techniques inconstraint programming for combinatorial optimisation problems.Le Croisic, France; 2002. p. 133147.

    [4] A. Lim and F. Wang, Metaheuristics for Robust Graph ColoringProblem, Proc. of the 16th IEEE International Conference onTools with Artificial Intelligence (ICTAI 2004), 2004.

    [5] Allwright JR, Bordawekar R, Coddington PD, Dincer K, MartinCL. A comparison of parallel graph coloring algorithms.Technical Report SCCS-666, Northeast Parallel ArchitectureCenter, Syracuse University, 1995.

    [6] Shamim Ahmed. Applications of Graph Coloring in ModernComputer Science, IJCIT, VOLUME 03, ISSUE 02 , ISSN 2078-5828, 2012.

    [7] Allwright JR, Bordawekar R, Coddington PD, Dincer K, Martin

    CL,A comparison of parallel graph coloring algorithms TechnicalReport SCCS-666, Northeast Parallel Architecture Center, SyracuseUniversity, 1995.

  • 7/26/2019 Sequential_and_Parallel_Approaches_in_context_to_Graph_Coloring_Problems_A_Survey.pdf

    4/4

    Harish Patidar et al Sequential and Parallel Approaches in context to Graph Coloring ProblemsA Survey

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

    [8] Dr. Hussein Al-Omari and KhairEddinSabri: New Graph ColoringAlgorithms,American Journal of Mathematics and Statistics 2 (4):739-741, 2006ISSN 1549-3636, March 2006.

    [9] C. Avanthay, A. Hertz, N. Zufferey, A variable neighborhoodsearch forgraph coloring, European Journal of OperationalResearch 151 (2) (2003) 379388

    [10] E.K. Burke, B. McCollum, A. Meisels, S. Petrovic, R. Qu, A

    graph-basedhyper heuristic for timetabling problems, EuropeanJournal of Operational Research 176 (2007) 177192.

    [11] E. Falkenauer, A hybrid grouping genetic algorithm for binpacking, Journal of Heuristics 2 (1) (1996) 530.

    [12] D. W. Matula and L. L. Beck. Smallest-last ordering andclusteringand graph coloring algorithms.JACM, 1983.

    [13] M. Luby, A simple parallel algorithm for the maximal independentset problem, SIAM Journal on Computing 4 (1986) 1036.

    [14] M. T. Jones and P. E. Plassmann, A Parallel Graph ColoringHeuristic, SIAM Journal of Scientic Computing 14 (1993) 654.

    [15] AssefawHadishGebremedhin and Fredrik Manne:Scalable parallelgraph coloring Algorithms, CONCURRENCY: PRACTICE ANDEXPERIENCE Concurrency: Pract. Exper. 2000; 12:11311146.

    [16]Nishant M Gandhi, Rajiv Misra "Performance Comparison ofParallel Graph Coloring Algorithms on BSP Model using Hadoop",IEEE International Conference on Computing, Networking andCommunications, Cloud Computing and Big Data, 2015.

    [17] BuhuaChen , "A Fast Parallel Genetic Algorithm for GraphColoring Problem Based on CUDA" IEEE Cyber-EnabledDistributed Computing and Knowledge Discovery (CyberC), 2015International Conference, pp 145 - 148, Sept. 2015.

    [18] GeorgiosRokos , Gerard Gorman, Paul H.J. Kelly, "A Fast andScalable Graph Coloring Algorithm for Multi-core and Many-coreArchitectures" Spring link, Euro-Par 2015: Parallel ProcessingVolume 9233 pp 414-425, 2015.