Abstract
Graph coloring has a wide range of real world applications, such as in the operations research, communication network, computational biology and compiler optimization fields. In our recent work [1], we propose a divide-and-conquer approach for graph coloring, called VColor. Such an approach has three generic subroutines. (i) Graph partition subroutine: VColor partitions a graph G into a vertex cut partition (VP), which comprises a vertex cut component (VCC) and small non-overlapping connected components (CCs). (ii) Component coloring subroutine: VColor colors the VCC and the CCs by efficient algorithms. (iii) Color combination subroutine: VColor combines the local colors by exploiting the maximum matchings of color combination bigraphs (CCBs). VColor has revealed some major bottlenecks of efficiency in these subroutines. Therefore, in this paper, we propose VColor*, an approach which addresses these efficiency bottlenecks without using more colors both theoretically and experimentally. The technical novelties of this paper are the following. (i) We propose the augmented VP to index the crossing edges of the VCC and the CCs and propose an optimized CCB construction algorithm. (ii) For sparse CCs, we propose using a greedy coloring algorithm that is of polynomial time complexity in the worst case, while preserving the approximation ratio. (iii) We propose a distributed graph coloring algorithm. Our extensive experimental evaluation on real-world graphs confirms the efficiency of VColor*. In particular, VColor* is 20X and 50X faster than VColor and uses the same number of colors with VColor on the Pokec and PA datasets, respectively. VColor* also significantly outperforms the state-of-the-art graph coloring methods.
Similar content being viewed by others
Change history
05 May 2021
The corresponding author Yun Peng is incorrect, it should be Xin Lin.
References
Peng Y, Choi B, He B, Zhou S, Xu R, Yu X. Vcolor: a practical vertex-cut based approach for coloring large graphs. In: Proceedings of IEEE International Conference on Data Engineering. 2016, 97–108
Ingrid A. Nucleic acid sequence design as a graph colouring problem. Thesis, Universitat Wien, 2005, 1–83
Park T, Lee C Y. Application of the graph coloring algorithm to the frequency assignment problem. Journal of the Operations Research of Japan, 1996, 39(2): 258–265
Chaitin G. Register allocation and spilling via graph coloring. ACM Sigplan Notices, 1982, 17(6): 98–101
Lotfi V, Sarin S. A graph coloring algorithm for large scale scheduling problems. Computers & Operations Research, 1986, 13(1): 27–32
Moradi F, Olovsson T, Tsigas P. A local seed selection algorithm for overlapping community detection. In: Proceedings of IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining. 2014, 1–8
Yuan L, Qin L, Lin X, Chang L, Zhang W. Diversified top-k clique search. In: Proceedings of IEEE International Conference on Data Engineering. 2015, 387–398
Hertz A, De Werra D. Using tabu search techniques for graph coloring. Computing, 1987, 39(4): 345–351
HalldÃşrsson M M. A still better performance guarantee for approximate graph coloring. Information Processing Letters, 1993, 45(1): 19–23
Galinier P, Hao J K. Hybrid evolutionary algorithms for graph coloring. Journal of Combinatorial Optimization, 1999, 3(4): 379–397
Galinier P, Hamiez J P, Hao J K, Porumbel D. Recent advances in graph vertex coloring. Handbook of Optimization, 2013, 1: 505–528
Karger D, Motwani R, Sudan M. Approximate graph coloring by semidefinite programming. Journal of the ACM, 1998, 45(2): 246–265
Pardalos P M, Mavridou T, Xue J. The Graph Coloring Problem: a Bibliographic Survey. Handbook of Combinatorial Optimization, Springer, Boston, 1999, 1077–1141
Husfeldt T. Graph Colouring Algorithms. Cambridge University Press, 2015, 277–303
Kuhn F, Wattenhofer R. On the complexity of distributed graph coloring. In: Proceedings of ACM Symposium on Principles of Distributed Computing. 2006, 7–15
Eppstein D. All maximal independent sets and dynamic dominance for sparse graphs. ACM Transactions on Algorithms, 2009, 5(4): 1–14
Byskov J M. Enumerating maximal independent sets with applications to graph colouring. Operations Research Letters, 2004, 32(6): 547–556
Feige U, Mahdian M. Finding small balanced separators. In: Proceedings of the Annual ACM Symposium on Theory of Computing. 2006, 375–384
Johnson D J, Trick M A. Cliques, Coloring, and Satisfiability. Boston, MA, USA: American Mathematical Society, 1996
Lee J, Han W S, Kasperovics R, Lee J H. An in-depth comparison of subgraph isomorphism algorithms in graph databases. Proceedings of the VLDB Endowment, 2012, 6(2): 133–144
Jones M T, Plassmann P E. A parallel graph coloring heuristic. SIAM Journal on Scientific Computing, 1993, 14(3): 654–669
Salihoglu S, Widom J. Optimizing graph algorithms on pregel-like systems. Proceedings of the VLDB Endowment, 2014, 7(7): 577–588
Yuan L, Qin L, Lin X, Chang L, Zhang W. Effective and efficient dynamic graphcoloring. Proceedings of the VLDB Endowment, 2017, 11(2): 338–351
Barba L, Cardinal J, Korman M, Langerman S, Renssen V A, Roeloffzen M, Verdonschot S. Dynamic graph coloring. Algorithmica, 2019, 81(4): 1319–1341
Blöchliger I, Zufferey N. A graph coloring heuristic using partial solutions and a reactive tabu scheme. Computers & Operations Research, 2008, 35(3): 960–975
Porumbel D, Hao J K, Kuntz P. A study of evaluation functions for the graph k-coloring problem. Artificial Evolution, 2008, 1: 124–135
Hertz A, Plumettaz M, Zufferey N. Variable space search for graph coloring. Discrete Applied Mathematics, 2008, 156(13): 2551–2560
Morgenstern C, Shapiro H. Coloration neighborhood structures for general graph coloring. In: Proceedings of Annual ACM-SIAM Symposium on Discrete Algorithms. 1990, 226–235
Fleurent C, Ferland J. Genetic and hybrid algorithms for graph coloring. Annals of Operations Research, 1996, 63(3): 437–461
Galinier P, Hertz A, Zufferey N. An adaptive memory algorithm for the k-coloring problem. Discrete Applied Mathematics, 2008, 156(2): 267–279
Porumbel D C, Hao J K, Kuntz P. An evolutionary approach with diversity guarantee and well-informed grouping recombination for graph coloring. Computers & Operations Research, 2010, 37(10): 1822–1832
Lü Z, Hao J K. A memetic algorithm for graph coloring. European Journal of Operational Research, 2010, 203(1): 241–250
Chams M, Hertz A, De Werra D. Some experiments with simulated annealing for coloring graphs. European Journal of Operational Research, 1987, 32(2): 260–266
Johnson D S, Aragon C R, McGeoch L A, Schevon C. Optimization by simulated annealing: an experimental evaluation; part ii, graph coloring and number partitioning. Operations Research, 1991, 39(3): 378–406
Wu Q, Hao J K. Coloring large graphs based on independent set extraction. Computers & Operations Research, 2012, 39(2): 283–290
Wu Q, Hao J K. An extraction and expansion approach for graph coloring. Asia-Pacific Journal of Operational Research, 2013, 30(5): 1350018
Hao J K, Wu Q. Improving the extraction and expansion method for large graph coloring. Discrete Applied Mathematics, 2012, 160(16–17): 2397–2407
Schneider J, Wattenhofer R. A new technique for distributed symmetry breaking. In: Proceedings of ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing. 2010, 257–266
Luby M. A simple parallel algorithm for the maximal independent set problem. In: Proceedings of Annual ACM Symposium on Theory of Computing. 1985, 1–10
Cole R, Vishkin U. Deterministic coin tossing with applications to optimal parallel list ranking. Information and Control, 1986, 70(1): 32–53
Linial N. Locality in distributed graph algorithms. SIAM Journal on Computing, 1992, 21(1): 193–201
Szegedy M, Vishwanathan S. Locality based graph coloring. In: Proceedings of ACM Symposium on Theory of Computing. 1993, 201–207
Panconesi A, Srinivasan A. On the Complexity of Distributed Network Decomposition. Academic Press, Inc., 1996
Barenboim L, Elkin M, Kuhn F. Distributed (delta + 1)-coloring in linear (in delta) time. Siam Journal on Computing, 2014, 43(1): 72–95
Checco A, Leith D J. Fast, responsive decentralized graph coloring. IEEE/ACM Transactions on Networking, 2017, 25(6): 3628–3640
Acknowledgements
Thanks to the support of NSF of China (61773167, 61929103), NSF of Shandong Province (ZR2019LZH006), NSF of Shanghai (17ZR1444900, HKRGC GRF 12201119, 12232716 and 12201518), QLUT Young Scholar Program (2018DBSHZ005).
Author information
Authors and Affiliations
Corresponding author
Additional information
Yun Peng received the PhD degree from the Hong Kong Baptist University, China in 2013 and received the BSci and MPhil degrees in computer science from Shandong University and the Harbin Institute of Technology (HIT), China in 2006 and 2008, respectively. His research interests include graph-structured data processing, data mining and machine learning.
Xin Lin received the BEng and PhD degrees, both in computer science and engineering, from Zhejiang University, China. He is currently a professor in the Department of Computer Science and Technology, East China Normal University, China. His research interests include location-based services, spatial databases, privacy-aware computing, and crowdsourcing.
Byron Choi is an associate professor in the Department of Computer Science at the Hong Kong Baptist University, China. He received the bachelor of engineering degree in computer engineering from the Hong Kong University of Science and Technology (HKUST), China in 1999 and the MSE and PhD degrees in computer and information science from the University of Pennsylvania, USA in 2002 and 2006, respectively.
Bingsheng He received the bachelor degree in computer science from Shanghai Jiao Tong University (1999–2003), and the PhD degree in computer science in Hong Kong University of Science and Technology (2003–2008), China. He is an associate professor in School of Computing, National University of Singapore, Singapore. His research interests are high performance computing, distributed and parallel systems, and database systems.
Supporting Information
Rights and permissions
About this article
Cite this article
Peng, Y., Lin, X., Choi, B. et al. VColor*: a practical approach for coloring large graphs. Front. Comput. Sci. 15, 154610 (2021). https://doi.org/10.1007/s11704-020-9205-y
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11704-020-9205-y