A graph coloring assigns labels called colours to elements of a graph, subject to specified constraints. Here we focus on proper vertex colouring of a simple graph : it is an undirected graph with a finite set of vertices, and a colouring with at most colours is a function
The colour labels need not be visual colours: they can represent time slots or resources. Unused labels are allowed. Properness concerns graph adjacency, so moving vertices in a drawing does not change whether the graph coloring is valid.[ref]
Each colour class is an independent set: no edge has both endpoints in it. Conversely, a set partition of into independent sets gives a proper graph coloring by assigning one colour to each part. Thus graph coloring groups mutually compatible objects, and its chromatic number asks for the fewest such groups.
For an illustrative scheduling model, let each vertex represent an activity of equal duration and each edge represent a pair that cannot occur in the same time slot. A proper graph coloring is then a schedule respecting those pairwise conflicts. If the conflicts form a cycle graph with edges , activities can share one slot and another. This model assumes interchangeable slots and includes only the pairwise conflicts encoded by the graph.[ref]
The word "colouring" also occurs in edge coloring, which requires different colours on edges sharing an endpoint. The chromatic number discussed here always refers to proper vertex colouring.
A face colouring of a plane graph assigns colours to its faces of a plane graph so that distinct faces sharing an edge have different colours. Equivalently it is a graph colouring of the dual graph, disregarding dual loops that arise when an original bridge is incident to only one face on both sides. Isolated contact at a vertex does not impose a colour constraint.
For the dual graph of a plane tree, the face-adjacency graph is the original tree, because taking the geometric dual twice recovers the original embedding on the sphere. Every nontrivial tree is a bipartite graph, so its dual requires exactly two face colours, even though that dual has only one vertex and all its edges are loops. A graph drawing must retain the nesting of those loops to preserve the correct face-adjacency graph.
A graph coloring with two available colors in which adjacent vertices receive different colors. A graph admits a two-coloring exactly when it is a bipartite graph. Every nonempty connected bipartite graph has two such colorings when the two color names are distinguished.
A proper vertex coloring assigns labels to the vertices of a graph so that vertices joined by an edge have different labels. Each colour class is an independent set. The chromatic number is the least number of labels needed for this form of graph coloring.
Maintain lists of available colours, tentatively colour small random portions, erase conflicts and prune colours used by neighbours. In a triangle-free graph, a vertex's neighbours form an independent set, which enables local estimates. Track list size and average remaining neighbour congestion per colour; prune unusually congested colours before the next round. Concentration and the Lovász local lemma preserve these invariants until lists have enough slack for completion. Tracking averages matters because triangle-free graphs can still contain many four-cycles and need not have uniform per-colour congestion.
If each neighbourhood misses a fixed positive fraction of the possible pairs at a large degree bound, randomly assign about half that many colours and erase vertices with monochromatic incident edges. A nonadjacent neighbour pair can share a retained colour, giving a neighbour-colour saving. Write the number of successful repeated colours as a difference of two certifiable functions: colours with a nonadjacent pair, minus those for which a neighbour loses that colour. Both change by at most two under one-coordinate changes and have constant-size certificates. Talagrand's convex distance inequality and the Lovász local lemma make their linear expected saving simultaneous at all high-degree vertices; low-degree vertices have slack already. This yields a colouring using a fixed positive fraction fewer than the degree bound.
For a uniformly chosen vertex , minimize the information entropy of its color over proper colorings. Multiply by the number of vertices to define this weight. Minimizing the color entropy gives the strongest contribution from that graph in the entropy weight of a graph cover inequality.
If graphs cover the edges of an -vertex graph with independence number at most , their coloring entropy weights satisfy the displayed bound. A random vertex's color is recorded in every covering graph containing it; independent dummy colors with matching marginal laws fill the other positions. Conditional on all recorded colors, compatible vertices form an independent set, leaving conditional entropy at most . The mutual information carried by the colors is at most , proving the bound.
For a finite simple graph, choose an order of its vertices and process them one at a time. Give each vertex the smallest positive colour label not already used by its coloured neighbours, and keep all earlier assignments. This is greedy coloring: each step makes a locally available choice. The resulting graph coloring is proper because, for each edge, its later endpoint avoids the colour of its earlier endpoint.[ref]
If the maximum degree of a graph is , a vertex has at most previously coloured neighbours, forbidding at most that many distinct colours. At least one label among remains available. Consequently every order gives
This is an upper bound, not a promise that greedy coloring attains the chromatic number.[ref]
Figure 1.
Two orders for greedy coloring of the same path graph
. The edges are in both drawings. Each dot shows its assigned colour number, with the vertex label above and its processing step below. The order uses two colours; the order uses three. Details.
Consider the path graph with edges . In the order , greedy coloring assigns the colours respectively. In the order , it assigns colours in processing order: vertices both get colour , then vertex gets colour , and finally vertex sees colours and at its two neighbours and must take colour . Written in vertex order , this second colouring is .
The path graph has chromatic number two: the first assignment achieves two colours, and any edge rules out one. Its maximum degree of a graph is two, so three colours in the second assignment still satisfy the bound. The extra colour comes entirely from the processing order. The crown graph gives a larger family where a poor order can make greedy coloring use arbitrarily many colours although the chromatic number remains two.
Let have two nonadjacent neighbours in a finite graph , with connected. Then . Give one common colour. In a spanning tree of the remaining graph rooted at , order vertices from larger to smaller distance from the root and colour greedily in that order. Every vertex before has an uncoloured parent, so at most colours are forbidden there. At , the two initial neighbours use the same colour, so again at most distinct colours are forbidden. This constructs a proper colouring from a palette of colours. It is a useful local step in Brooks' theorem.
In a proper partial graph coloring, let count coloured neighbours and count their distinct colours. The saving leaves available colours for only initially uncoloured neighbours. If the displayed inequality holds at every vertex, ordinary greedy completion succeeds. Each additionally coloured neighbour removes at most one available colour while also reducing the number of uncoloured neighbours by one.
The number of coloured neighbours of minus the number of distinct colours on those neighbours. Repeated colours among pairwise nonadjacent neighbours reduce the number of unavailable colours without increasing the number of neighbours still to colour.
This decision problem asks whether a finite undirected graph has a graph colouring with three colours. It is NP-complete: a colouring certifies membership in NP, while 3-SAT reduces using Boolean-pair colouring gadgets and three-colour clause gadgets.
Take auxiliary graph triangles and , join to , and add edges . When has colour and the inputs have colours in , this graph admits an extension to a graph colouring with three colours exactly when at least one input is . All-false inputs force , contradicting their edge. Conversely, use if , if , and if . The extension property is necessary for both directions of a polynomial-time many-one reduction.
Two graph triangles sharing a vertex force their two opposite edges to use the same two colours in a graph colouring with three colours. A palette graph triangle and another graph triangle therefore force the literal pair to have opposite Boolean colours. This gadget is used in a reduction from 3-SAT to the three-colourability problem.
If every vertex subset of size at least contains an independent set of size , repeatedly colour and remove an -element independent set while at least vertices remain. Giving each remaining vertex its own colour uses at most colours.
The Lovász number of a finite simple graph is the semidefinite program value
where is the all-ones matrix. Its value on the complement graph gives a lower bound for the chromatic number.
Assign a real unit vector to each graph vertex, with whenever distinct vertices are nonadjacent. A handle is a further unit vector . In the handle formulation of the Lovász number, one minimizes over representations and handles. Orthonormal here does not mean every pair of assigned vectors is orthogonal.
Tensor products of the assigned vectors represent strong graph powers, and tensor products of the handle have squared inner products equal to products of the original ones. The vectors assigned to an independent set are orthonormal. Bessel inequality then bounds its size by the largest inverse squared handle inner product. Taking roots and minimizing proves .
For a finite simple graph with at least one vertex, the complement theta number has the equivalent semidefinite program formulations
and
The Schur complement and prove the equivalence; any feasible is at least one, so division by is valid. For a graph with an edge, is the Gram matrix of a strict vector coloring. Consequently is the strict vector chromatic number, and an ordinary -graph colouring gives by assigning the colors the vertices of a regular simplex.
A vector -coloring, for , assigns a unit vector to each vertex of a graph, such that on every edge. A graph colouring with colors gives a vector -coloring by placing the colors at the vertices of a regular simplex. The Gram matrix of these vectors allows semidefinite programming to search for such a representation.
A strict vector -coloring requires equality on every edge. The least admissible is the complement theta number for a graph with an edge. Allowing merely an inequality defines the potentially smaller vector chromatic number.
For unit vectors and a random normal with independent standard normal distribution coordinates,
The Gaussian distribution is invariant under orthogonal transformations. Projecting onto the plane spanned by therefore gives a uniformly distributed direction. If the angle between is , the sign-disagreement directions form two sectors of total angle out of . The endpoint cases and give probabilities zero and one directly.
A -semicoloring of a finite graph assigns one of colors to every vertex and is a proper graph colouring on an induced subgraph containing at least half the vertices. This is weaker than a proper coloring of the whole graph, and is useful as an intermediate step in a randomized algorithm.
Suppose a graph with vertices and edges has a vector coloring with adjacent inner products at most . Take independent copies of random hyperplane rounding and use the signs as a color. Each edge remains monochromatic with probability at most , so the expected number of monochromatic edges is at most by linearity of expectation.
Choose . Then Markov inequality gives . On success, delete one endpoint of every monochromatic edge. This random alteration method leaves at least vertices properly colored with
The removed vertices can retain their original colors, as the semicoloring only requires the retained induced subgraph to be proper. A failed draw can be detected and repeated, with at most two trials on average. The case needs just one color. This is the elementary independent-hyperplane construction in Karger, Motwani and Sudan's paper on approximate graph coloring.
An edge colouring assigns a label called a colour to every edge of a graph: it is a function . Here this definition allows arbitrary assignments. Two edges sharing a vertex may receive the same colour. A proper edge colouring imposes the additional condition that such edges receive different colours. Some textbooks use "edge colouring" as shorthand for this proper version; check the convention before applying a theorem.[ref]
The distinction matters in Ramsey theory. In a red-blue edge colouring of a complete graph, a triangle in a graph is monochromatic when its three edges have the same colour. These are arbitrary edge colourings: forbidding equal colours on edges sharing a vertex would forbid the very monochromatic triangles in a graph being sought. For example, assigning red to every edge of is a valid arbitrary edge colouring, although it is not a proper edge colouring. Colour labels can also stand for time slots: then proper edge colouring turns incompatible jobs into separate rounds.
A proper edge colouring gives different labels to any two distinct edges sharing a vertex. We work with finite undirected graphs without self-loops; distinct parallel edges in a multigraph must also have different colours. For a simple graph, whose edges are two-element sets, the condition is
Every colour class is a matching in a graph. Conversely, a set partition of the edges into matchings in a graph supplies a proper edge colouring. Thus minimizing colours means grouping all the edges into as few matchings in a graph as possible.
The line graph makes the relationship with proper vertex colouring explicit: replace each original edge by a vertex, joining two new vertices exactly when their original edges share an endpoint. A proper edge colouring of becomes a proper vertex colouring of its line graph , so . For a multigraph, retain a distinct new vertex for each parallel edge.[ref]
Suppose each job occupies two distinct resources for one whole slot, and each resource can serve at most one job in that slot. Make resources vertices and jobs edges. Two jobs conflict exactly when their edges share a vertex, so a valid schedule is a proper edge colouring. Each slot is a matching in a graph; the chromatic index is the minimum number of slots. The colour labels specify the slots, rather than physical colours. This model assumes all jobs are available initially, with equal duration, interchangeable slots and no additional conflicts. The school-timetable motivation in Graph Theory by Reinhard Diestel (author-hosted Colouring preview, opening paragraphs, pp. 123–124) uses this resource-pair interpretation.
Here is a complete example. Two technicians must each use three instruments once. Each job needs its technician and its instrument simultaneously. The six jobs are the edges of the complete bipartite graph :
Within each , the two jobs use different technicians and different instruments, so is a matching in a graph. The three matchings in a graph together cover every job exactly once. Technician has three jobs, so fewer than three slots cannot suffice; the displayed schedule uses three. This is an optimal proper edge colouring with chromatic index three, witnessed by both a schedule and a resource-workload lower bound.
Figure 1.
Six jobs on a complete bipartite graph become three scheduling slots, each a matching in a graph
. The vertices are resources, and each numbered edge is one job. The slot table uses the same colour labels as the proper edge colouring. A technician or instrument appears at most once within a column. Crossings of drawn edges introduce no resource and no conflict. Details.
Repeated jobs requiring the same resource pair become distinct parallel edges of a multigraph, rather than one edge. Additional restrictions change the problem: prescribed allowed slots lead to list edge coloring, while unequal durations, deadlines, or jobs needing more than two resources require a richer scheduling model. Selecting a largest matching in a graph solves a single-round question; a shortest complete schedule must organize all jobs across rounds.
Each edge has a list of allowed colors; a list edge coloring chooses an allowed color on each edge, giving different colors to incident edges. The list-chromatic index is the uniform list-size threshold guaranteeing success.
The list-chromatic index is the least integer such that every assignment of at least allowed colors to each edge admits a list edge coloring. Uniform identical lists show it is at least the chromatic index. The Galvin theorem for bipartite list edge coloring gives equality for bipartite graphs.
A bipartite graph has equal list-chromatic index, chromatic index and maximum degree of a graph . Start with a proper -edge coloring. Orient its line graph toward smaller colors at one part and toward larger colors at the other. An edge of color has at most outgoing neighbours. Every induced orientation has a digraph kernel obtained from a stable matching in a bipartite graph with those preferences. Apply the kernel list-coloring lemma.
The chromatic index , also called the edge chromatic number, is the least number of labels in a proper edge colouring of a finite undirected graph without self-loops. Equivalently, it is the smallest number of matchings in a graph whose set partition covers all the edges. We take when there are no edges. For an arbitrary edge colouring, one colour always suffices whenever an edge exists, so properness is essential to this definition. The chromatic number instead colours vertices.[ref]
To establish an exact chromatic index, supply both a proper edge colouring and a reason that fewer colours cannot work. Every edge at a fixed vertex must have its own colour, giving the lower bound , where is the maximum degree of a graph. The bound need not be attained: it counts a single resource's workload, while conflicts can also accumulate around a graph cycle.
Figure 1.
Worked proper edge colourings: a triangle in a graph needs three colours, while an even cycle graph needs two
. Numbers beside edges are colour labels; letters at dots are vertices. Both graphs have maximum degree of a graph two. The triangle in a graph has three pairwise conflicting edges, while opposite edges of the square can share a colour. Details.
For the triangle in a graph with edges , every pair of edges shares a vertex, so all three require different labels. The assignment works, proving although . In its line graph, those three edges become a three-vertex clique. Treating this as three pair-resource jobs makes the obstruction tangible: each resource has only two jobs, but every pair of jobs conflicts, so no slot can contain two jobs.
For the square cycle graph with edges , use and . Each colour class is a matching in a graph, and each vertex has one edge of each colour. Since , this proves . More generally, alternation closes on any even cycle graph , . On an odd cycle , , two-colour alternation would make the last and first edges share a colour at their common vertex; a third colour on the last edge suffices. Thus even cycle graphs have chromatic index two and odd cycle graphs have chromatic index three. These exact examples show why maximum degree of a graph alone does not determine the answer.
For every finite simple graph, Vizing's theorem gives
Here is the maximum degree of a graph, taken as zero when there are no vertices. A bipartite graph has the stronger equality . The six-job complete bipartite graph above attains this lower bound, while the triangle in a graph attains the extra-colour alternative. The simple-graph restriction in the upper bound matters.[ref]
The bipartite graph equality still holds for finite loopless multigraphs, with parallel edges counted separately in each vertex degree. For instance, parallel jobs between two resources need exactly slots: every pair conflicts, and . For a general finite loopless multigraph, however, the simple graph upper bound can fail. Put two parallel edges on each side of a triangle in a graph. All six edges pairwise share a vertex, so each needs its own colour; every vertex has degree of a vertex four. Consequently . A multiplicity-aware bound is , where is the largest number of parallel edges between a pair of vertices. The doubled triangle in a graph has and attains that bound. These statements exclude self-loops; the two-distinct-resource scheduling model excludes them too.[ref]
For historical orientation, Graph Theory by Reinhard Diestel (Colouring preview, §5.3, p. 132) dates the bipartite equality to 1916 and Vizing's theorem to 1964. These are textbook attributions; the original papers have not been inspected here. The results state existence of optimal or nearly optimal proper edge colourings, rather than saying that arbitrary greedy choices will find them. The list-chromatic index asks the further question of success for every sufficiently large family of allowed-colour lists.
A proper three-color edge coloring of a cubic graph. Label its colors by the nonzero elements of : the incident colors at each vertex then sum to zero. On a planar map without bridges in a graph, integrating these labels on the dual graph gives a four-color face coloring. On a torus, a nonzero period can obstruct this integration.
For a nonempty finite simple graph , the chromatic number is the least positive integer for which has a proper vertex graph coloring with at most colours. To establish an exact chromatic number, give a colouring using that many colours and explain why fewer cannot suffice. A colouring alone gives only an upper bound.[ref]
Figure 1.
Optimal graph colorings of the cycle graphs
. Numbers inside dots are colour labels, and labels outside are vertices. The cycle graph alternates two colours. The odd cycles need three, although is a triangle-free graph. Details.
These small graphs show why the chromatic number measures more than the presence of triangles in a graph:
For a cycle graph of even length, alternating two colours closes consistently; for an odd cycle, it does not, and a third colour on the final vertex suffices. More generally, the two-colourability criterion for bipartite graphs says that exactly when is a bipartite graph, and the odd-cycle characterization of bipartite graphs identifies the obstruction as an odd cycle. A nonempty graph with no edges has chromatic number one; a bipartite graph with at least one edge has chromatic number exactly two.
In the pairwise-conflict scheduling model of graph coloring, is the least number of interchangeable slots needed. This turns a drawing into an optimization question: how many groups of compatible activities are unavoidable? Greedy coloring constructs a valid grouping quickly, but its number of colours can exceed the chromatic number.
This is the least number of colors needed to color all points of Euclidean space so that points at Euclidean distance one receive different colors. Any finite unit-distance graph embedded in the space gives a lower bound. If is prime, the characteristic vectors of all -subsets of , divided by , give such a graph: its edges are exactly pairs intersecting in points. The prime-power modular intersection bound bounds an independent set by , and hence gives .
A vertex is colour-critical if deleting it lowers the chromatic number by one. If and , an embedding of into a complete -partite graph inside one neighbourhood extends to an embedding of . This supplies maximum-degree obstructions in extremal graph theory.
The Mycielski construction replaces a graph with a graph having one shadow vertex for each original vertex and one further vertex adjacent to every shadow. It satisfies
and preserves triangle-freeness. Iterating it from the five-cycle gives triangle-free graphs of arbitrarily large chromatic number.
Here is a finite simple graph with at least one vertex; it need not have an edge. The Mycielskian separates two ways of needing many colours: a large clique forces distinct colours immediately, but a triangle-free graph can impose incompatible choices through its whole pattern of graph adjacency. The Mycielski construction increases that global constraint while preserving the absence of triangles in a graph.
Write the vertex set of as , with . Keep these vertices, add distinct Mycielski shadow vertices , and add a Mycielski apex . The vertex set and complete list of edges are
There are no other edges: the Mycielski shadow vertices form an independent set, has no original vertex as a neighbour, and is not adjacent to . Each Mycielski shadow vertex copies its original vertex's graph neighbourhood within the original vertex set, not its position in the drawing. This is the construction in the inspected research paper.[ref]
For original vertices and original edges, direct counting gives vertices and edges. The original vertices induce a copy of , so no original graph adjacency is lost. A drawing crossing is not an extra vertex.
Start with the complete graph , whose only edge is , abbreviating . Its Mycielskian has exactly the edges . Reading them as gives the cycle graph . A proper vertex colouring gives colour 1, colour 2, and colour 3. Two colours cannot close an odd cycle, so its chromatic number is exactly three.
Figure 1.
The Mycielski construction turns the complete graph into the cycle graph
. Numbers inside the vertices are colours. Solid, dashed and dotted edges distinguish the original connection, copied neighbour constraints and Mycielski apex connections. The second drawing is a single odd cycle, with no triangles in a graph. Details.
The Grötzsch graph is the Mycielskian of the five-vertex cycle graph. Take original edges , with indices interpreted modulo five; add and for every . There are eleven vertices and twenty edges: five original, ten between originals and Mycielski shadow vertices, and five from the Mycielski apex.
Give colours , give each the colour of , and give colour 4. This is a proper vertex colouring. The Mycielskian chromatic increase proves that three colours are impossible, so the chromatic number is exactly four. The Mycielskian triangle preservation proves that this is a triangle-free graph. In particular its clique number is only two, even though its chromatic number is four.
Figure 1.
From a three-colour cycle graph to the four-colour Grötzsch graph
. The outer pentagon on the right retains the original vertices; the inner ring contains Mycielski shadow vertices and has no ring edges. The central Mycielski apex receives colour 4. Numbers identify colours independently of the fills, and labels identify the vertices. Crossings without dots are not vertices. Details.
The Mycielski apex has an independent set as its graph neighbourhood, yet all three old colours are needed there in any three-colour proper vertex colouring of the subgraph obtained by deleting it. Thus a locally easy group of mutually nonadjacent neighbours can carry globally incompatible colour requirements. Absence of triangles in a graph alone cannot bound the chromatic number.
A Mycielski shadow vertex has graph neighbourhood in . Its neighbours other than the Mycielski apex are original vertices. All Mycielski shadow vertices form an independent set.
The Mycielski apex is the added vertex adjacent to every Mycielski shadow vertex and to no original vertex. Its graph neighbourhood is precisely .
For a nonempty finite simple graph, the upper bound copies an optimal proper vertex colouring to its Mycielski shadow vertices and gives the Mycielski apex a fresh colour. For the lower bound, suppose uses colours, with coloured . Shadows avoid . Replace colour at each original by 's colour. Changed originals form an independent set; unchanged neighbours differ because is an edge. This proper vertex colouring of uses colours, contradicting its chromatic number.[ref]
The nonempty condition means , not . An edgeless -vertex graph with has chromatic number one; its Mycielskian is a star graph on together with isolated vertices, and needs two colours. If has no vertices, is a single vertex, so the same formula also holds with the convention .
A finite simple graph is a triangle-free graph if and only if its Mycielskian is a triangle-free graph. No triangle in a graph can contain the Mycielski apex, whose neighbours are an independent set, or two Mycielski shadow vertices. A triangle in a graph containing one shadow and two originals requires all three original edges , hence an original triangle in a graph. Conversely every original triangle in a graph remains. In fact each original triangle in a graph gives four in : itself and the three choices of replacing one of its vertices by its shadow. Thus triangle-freeness is preserved, but a positive triangle count is multiplied by four.
Define and for . By the Mycielskian chromatic increase and Mycielskian triangle preservation, each is a finite triangle-free graph with chromatic number . The first steps are , the Grötzsch graph, and then a 23-vertex graph needing five colours. The vertex recurrence gives . These explicit examples show how arbitrarily strong graph coloring constraints can accumulate without any three-vertex clique.
For every , there is a finite graph with no cycle of length at most and with chromatic number at least . A probabilistic proof samples a sparse binomial random graph, observes that it has few short cycles and no large independent set, and deletes one vertex from every short cycle.
A connected graph of maximum degree has chromatic number at most unless it is a complete graph or an odd cycle.
The edge chromatic number is the least number of colours required to colour edges so that incident edges receive different colours.
An -regular graph with and a bridge in a graph separating an odd number of vertices from the rest cannot have an -colour proper edge colouring. Such a colouring would partition the edges into perfect matchings. Each perfect matching must cross the odd-sided cut of a graph, so each would have to contain its unique crossing edge, the bridge in a graph. An edge cannot belong to two colour classes.
For odd , every bridge in a graph in an -regular graph automatically has odd-sized sides: if is either resulting connected component of a graph, double counting gives , so parity forces odd. Thus an odd- regular graph with a bridge in a graph is a class two regular graph.
For every finite bipartite graph, the edge chromatic number equals its maximum degree. Repeatedly remove a matching covering maximum-degree vertices in a bipartite graph: each removal reduces the maximum degree by at least one. The removed matchings in a graph are colour classes of a proper edge colouring. The reverse bound follows from the distinct colours required at a vertex of maximum degree.
Every finite simple graph of maximum degree has edge chromatic number or .
In a partial proper edge colouring with one uncoloured edge incident with a vertex , a Vizing fan is a sequence of neighbours of whose incident edge colours are missing at earlier fan vertices. With one more colour than the maximum degree, fan rotations and a two-colour Kempe chain free one common colour at the endpoints of the uncoloured edge.
For two colours in a proper graph colouring, a Kempe chain is a connected component of the subgraph using only those colours. Interchanging the two colours throughout one component preserves properness.
The chromatic polynomial turns a graph coloring problem into a counting problem: how many choices remain when adjacent vertices must have different colours? For a finite simple graph and a positive integer , is the number of proper vertex colorings using a fixed, distinguished palette of colours. A colouring need not use every available colour, and exchanging two palette colours generally gives a different colouring. Although is a polynomial, its values at arbitrary noninteger arguments are not counts of colourings.
Consider the three-vertex path graph ----. Choose in ways, then in ways, then in ways: and may agree because they are not adjacent. The multiplication principle gives
Adding the edge makes the three-vertex complete graph . Now must avoid both preceding colours, so
With three available colours, the path graph has 12 colourings, whereas the triangle has 6. With two colours the counts are and : the extra constraint makes the triangle impossible to colour.
Figure 1.
All twelve proper colourings of a three-vertex path using a three-colour palette
. Details.
For a nonempty graph, the chromatic number records only the first positive integer for which . The chromatic polynomial also counts the choices for every larger palette. For the path the chromatic number is , and for the triangle it is . Counting assignments also gives a useful interpretation for scheduling: if adjacent vertices represent tasks that must use different slots, the chromatic polynomial counts the valid assignments to named slots. Adding a conflict edge can only remove assignments.
The chromatic polynomial also remembers some of the graph's structure. For a simple graph with vertices and edges, its leading terms are ; its degree of a polynomial gives the number of vertices, and its next coefficient gives the number of edges. It does not determine the graph completely. A four-vertex path graph and a four-vertex star graph are not related by a graph isomorphism, but both are trees and have chromatic polynomial .
The early connection to map colouring appears in George D. Birkhoff's article [ref]. For a derivation of the counting recurrence and its leading coefficients, see Paul Johnson's MAS 341 lecture on chromatic polynomials.
If a unicyclic graph has vertices and its unique graph cycle has length , each of its off-graph cycle vertices contributes a factor after its parent in a rooted tree is coloured. Thus . Substituting the chromatic polynomial of a cycle yields the displayed formula, equivalently by repeated application of the chromatic polynomial after attaching a leaf.
For a cycle graph of length , the chromatic polynomial is . The graph triangle gives the base case . For , the deletion-contraction recurrence for the chromatic polynomial gives , since deleting an edge leaves a path graph and contracting it gives the shorter cycle graph. Substitution proves the formula by mathematical induction.
For a finite simple graph on vertices with edges and no graph cycle shorter than , the coefficient of in its chromatic polynomial is for . In the chromatic polynomial inclusion-exclusion formula, an edge subset containing a graph cycle of length at least has . Thus every contribution to in this range is a forest, with exactly edges. Conversely, all -edge subsets are forests, so precisely terms contribute, each with sign .
Here is the number of connected components of a graph in the spanning subgraph , including isolated vertices. Apply the inclusion-exclusion principle to the conditions that the endpoints of an edge have equal colours. Imposing all such conditions for forces a single colour on each connected component of a graph, yielding for positive integer . The equality extends to a polynomial identity.
For connected components of a graph of a finite graph , choices of proper vertex colourings on different connected components of a graph are independent. The multiplication principle gives . Each nonempty factor is divisible by , hence divides the chromatic polynomial. The vanishing constant term follows by mathematical induction from the deletion-contraction recurrence for the chromatic polynomial, starting with for a nonempty graph without edges.
If a simple graph has the same chromatic polynomial as the Turán graph , it has the same number of vertices and edges, and the same chromatic number . It is therefore -free and attains equality in Turán's theorem. The equality case forces it to be isomorphic to .
Deleting an edge removes one colour constraint. Edge contraction describes exactly the newly admitted colourings that violate that constraint. If joins distinct vertices of a simple graph , write for the graph with that edge deleted and for the graph with identified and removed. Parallel edges produced by the contraction may be reduced to one edge, since they impose the same condition on a proper vertex coloring. Then
To see why, divide the proper vertex colorings of into two classes. Those with different colours at are exactly the colourings of . Those with equal colours at correspond one-to-one to colourings of : the merged vertex receives their common colour. Subtracting the second class leaves the first.
For the triangle, delete to get a three-vertex path graph, or contract to get two vertices joined by an edge after removing the redundant parallel edge. Consequently,
At , this says . Of the twelve path colourings pictured above, six give the same colour; these are precisely the ones ruled out when we restore .
Figure 1.
Deleting and contracting a triangle edge separates the allowed and newly forbidden colourings
. Details.
This recurrence is useful because it reduces a constrained counting problem to smaller graphs. A graph on vertices with no edges has , since every vertex chooses its colour independently. Repeated edge deletion and edge contraction reduce to this case and show that the counting function is a polynomial. The same recurrence gives its leading coefficients. The method is conceptually simple, although the number of recursive cases can still grow rapidly.
Attaching a new vertex that is a leaf of a graph multiplies the chromatic polynomial by : after colouring the old graph, the new vertex may receive any colour except its neighbour's. Starting with one vertex and repeatedly adding a leaf of a graph constructs any finite tree. Thus a tree with vertices has
In contrast, every pair of vertices in a complete graph must receive different colours, so the multiplication principle gives the falling factorial
For positive integers this product vanishes, expressing the impossibility of assigning distinct colours to all vertices.

Articles by others on the same topic (1)

Graph coloring is a concept in graph theory that involves assigning labels, or "colors," to the vertices (or sometimes edges) of a graph under certain constraints. The primary goal is to ensure that adjacent vertices (or edges) do not share the same color. This is useful in various applications such as scheduling, register allocation in compilers, and frequency assignment in telecommunications.