Skip to main content Accessibility help
×
Hostname: page-component-76fb5796d-vvkck Total loading time: 0 Render date: 2024-04-29T01:17:08.421Z Has data issue: false hasContentIssue false

13 - Graph colouring algorithms

Published online by Cambridge University Press:  05 May 2015

Thore Husfeldt
Affiliation:
Aarhus University
Lowell W. Beineke
Affiliation:
Purdue University, Indiana
Robin J. Wilson
Affiliation:
The Open University, Milton Keynes
Get access

Summary

This chapter presents an introduction to graph colouring algorithms. The focus is on vertex-colouring algorithms that work for general classes of graphs with worst-case performance guarantees in a sequential model of computation. The presentation aims to demonstrate the breadth of available techniques and is organized by algorithmic paradigm.

Introduction

A straightforward algorithm for finding a vertex-colouring of a graph is to search systematically among all mappings from the set of vertices to the set of colours, a technique often called exhaustive or brute force:

Algorithm X (Exhaustive search) Given an integer q ≥ 1 and a graph G with vertexset V, this algorithm finds a vertex-colouring using q colours if one exists.

X1 [Main loop] For each mapping f : V → {1, 2, …, q}, do Step X2.

X2 [Check f] If every edge vw satisfies f(v) ≠ f(w), terminate with f as the result. ▪

This algorithm has few redeeming qualities, other than its being correct. We consider it here because it serves as an opportunity to make explicit the framework in which we present more interesting algorithms.

Model of computation

If G has n vertices and m edges, then the number of operations used by Algorithm X can be asymptotically bounded by O(qn(n + m)), which we call the running time of the algorithm.

To make such a claim, we tacitly assume a computational model that includes primitive operations, such as iterating over all mappings from one finite set A to another finite set B in time O(|B||A|) (Step X1), or iterating over all edges in time O(n + m) (Step X2). For instance, we assume that the input graph is represented by an array of sequences indexed by vertices; the sequence stored at vertex v contains the neighouring vertices N(v), see Fig. 1. This representation allows us to iterate over the neighbours of a vertex in time O(deg v).

Type
Chapter
Information
Publisher: Cambridge University Press
Print publication year: 2015

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

1. R., Beigel and D., Eppstein, 3-coloring in time 0(1.3289n), J. Algorithms 111 (2005), 168–204.Google Scholar
2. A., Björklund and T., Husfeldt, Exact algorithms for exact satisfiability and number of perfect matchings. Algorithmica 52 (2008), 226–249.Google Scholar
3. A., Björklund, T., Husfeldt and M., Koivisto, Set partitioning via inclusion–exclusion, SIAM J. Comput. 39 (2009), 546–563.Google Scholar
4. A., Björklund, T., Husfeldt, P., Kaski and M., Koivisto, Covering and packing in linear space, Inform. Process. Lett. 111 (2011), 1033–1036.Google Scholar
5. A., Björklund, T., Husfeldt, P., Kaski and M., Koivisto, Computing the Tutte polynomial in vertex-exponential time, Proc. 49th Annual IEEE Symposium on Foundations of Computer Science (FOCS 2008), IEEE Computer Society (2008), 677–686.Google Scholar
6. D., Brélaz, New methods to color the vertices of a graph, Comm. Assoc. Comput. Mach. 22 (1979), 251–256.Google Scholar
7. C., Bron and J., Kerbosch, Algorithm 457: finding all cliques of an undirected graph, Comm. Assoc. Comput. Mach. 16 (1973), 575–577.Google Scholar
8. R. L., Brooks, On colouring the nodes of a network, Proc. Cambridge Philos. Soc. 37 (1941), 194–197.Google Scholar
9. E., Chlamtac, Approximation algorithms using hierarchies of semidefinite programming relaxations, Proc. 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS 2007), IEEE Computer Society (2007), 691–701.Google Scholar
10. N., Christofides, An algorithm for the chromatic number of a graph. Comput. J. 14 (1971), 38–39.Google Scholar
11. V., Chvátal, Perfectly ordered graphs, Topics on Perfect Graphs (eds. C., Berge and V., Chvátal), Ann. Discrete Math. 21 (1984), 63–68.Google Scholar
12. U., Feige, M., Langberg and G., Schechtman, Graphs with tiny vector chromatic numbers and huge chromatic numbers, SIAM J. Comput. 33 (2004), 1338–1368.Google Scholar
13. A., Frieze and E., Vigoda, A survey on the use of Markov chains to randomly sample colorings, Combinatorics, Complexity and Chance, Oxford University Press, 2007.Google Scholar
14. B., Gärtner and J., Matoušek, Approximation Algorithms and Semidefinite Programming, Springer, 2012.Google Scholar
15. G., Grimmett and C., McDiarmid, On colouring random graphs, Math. Proc. Cambridge Philos. Soc. 77 (1975), 313–324.Google Scholar
16. M., Grötschel, L., Lovász and A., Schrijver, Geometric Algorithms and Combinatorial Optimization, Springer, 1988.Google Scholar
17. V., Guruswami and S., Khanna, On the hardness of 4-coloring a 3-colorable graph, SIAM J. Discrete Math. 18 (2004), 30–40.Google Scholar
18. G., Haggard, D. J., Pearce and G., Royle, Computing Tutte polynomials, Assoc. Comput. Mach. Math. Software 37 (2010), Article 24.Google Scholar
19. I., Holyer, The NP-completeness of edge-coloring, SIAM J. Comput. 10 (1981), 718–720.Google Scholar
20. S., Huang, Improved hardness of approximating chromatic number, Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques, Springer Lecture Notes Comput. Sci. 8096 (2013), 233–243.Google Scholar
21. M., Jerrum, L. G., Valiant and V. V., Vazirani, Random generation of combinatorial structures from a uniform distribution, Theor. Comput. Sci. 43 (1986), 169–188.Google Scholar
22. D. R., Karger, R., Motwani and M., Sudan, Approximate graph coloring by semidefinite programming, J. Assoc. Comput. Mach. 45 (1998), 246–265.Google Scholar
23. R. M., Karp, Reducibility among combinatorial problems, Complexity of Computer Computations (eds. R. E., Miller and J. W., Thatcher), Plenum (1972), 85–103.Google Scholar
24. K., Kawarabayashi and M., Thorup, Combinatorial coloring of 3-colorable graphs, Proc. 53rd Annual IEEE Symposium on Foundations of Computer Science (FOCS 2012), IEEE Computer Society (2012), 68–75.Google Scholar
25. A., Kosowski and K., Manuszewski, Classical coloring of graphs, Graph Colorings (ed. M., Kubale), Amer. Math. Soc. Contemp. Math. 352 (2004), 1–20.Google Scholar
26. L., Kučera, The greedy coloring is a bad probabilistic algorithm, J. Algorithms 12 (1991), 674–684.Google Scholar
27. M., Langberg, Graph coloring, Encyclopedia of Algorithms (ed. M., Kao), Springer (2008), 368–371.Google Scholar
28. E. L., Lawler, A note on the complexity of the chromatic number problem, Inform. Process. Lett. 5 (1976), 66–67.Google Scholar
29. D., Leven and Z., Galil, NP completeness of finding the chromatic index of regular graphs, J. Algorithms 4 (1983), 35–44.Google Scholar
30. L., Lovász, Coverings and coloring of hypergraphs, Proc. Fourth Southeastern Conference on Combinatorics, Graph Theory, and Computing, Boca Raton, Congr. Numer. 8 (1973), 3–12.Google Scholar
31. F., Maffray, On the coloration of perfect graphs, Recent Advances in Algorithms and Combinatorics, CMS Books Math., Springer (2003), 65–84.Google Scholar
32. D. W., Matula, A min–max theorem for graphs with applications to graph coloring, SIAM Rev. 10 (1968), 481–482.Google Scholar
33. J., Misra and D., Gries, A constructive proof of Vizing's Theorem, Inform. Proc. Lett. 41 (1992), 131–133.Google Scholar
34. J. W., Moon and L., Moser, On cliques in graphs, Israel J. Math. 3 (1965), 23–28.Google Scholar
35. L., Stockmeyer, Planar 3-colorability is polynomial complete, Assoc. Comput. Mach. SIGACT News 5 (1973), 19–25.Google Scholar
36. G., Szekeres and H. S., Wilf, An inequality for the chromatic number of a graph, J. Combin. Theory 4 (1968), 1–3.Google Scholar
37. E., Tomita, A., Tanaka and H., Takahashi, The worst-case time complexity for generating all maximal cliques and computational experiments, Theor. Comput. Sci. 363 (2006), 28–42.Google Scholar
38. D. J. A., Welsh and M. B., Powell, An upper bound for the chromatic number of a graph and its application to timetabling problems, Comput. J. 10 (1967), 85–86.Google Scholar
39. H., Whitney, A logical expansion in mathematics, Bull. Amer. Math. Soc. 38 (1932), 572–579.Google Scholar
40. A., Wigderson, Improving the performance guarantee for approximate graph coloring, J. Assoc. Comput. Mach. 30 (1983), 729–735.Google Scholar
41. D., Zuckerman, Linear degree extractors and the inapproximability of Max Clique and Chromatic Number, Theory of Computing 3 (2007), 103–128.Google Scholar
42. A. A., Zykov, On some properties of linear complexes (in Russian), Math. Sbornik 24 (1949), 163–188.Google Scholar

Save book to Kindle

To save this book to your Kindle, first ensure coreplatform@cambridge.org is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the @free.kindle.com or @kindle.com variations. ‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Available formats
×

Save book to Dropbox

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Dropbox.

Available formats
×

Save book to Google Drive

To save content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about saving content to Google Drive.

Available formats
×