In graph theory, a proper edge coloring of a graph is an assignment of "colors" to the edges of the graph so that no two incident edges have the same color. For example, the figure to the right shows an edge coloring of a graph by the colors red, blue, and green. Edge colorings are one of several different types of graph coloring. The edge-coloring problem asks whether it is possible to color the edges of a given graph using at most different colors, for a given value of, or with the fewest possible colors. The minimum required number of colors for the edges of a given graph is called the chromatic index of the graph. For example, the edges of the graph in the illustration can be colored by three colors but cannot be colored by two colors, so the graph shown has chromatic index three.
By Vizing's theorem, the number of colors needed to edge color a simple graph is either its maximum degree or . For some graphs, such as bipartite graphs and high-degree planar graphs, the number of colors is always, and for multigraphs, the number of colors may be as large as . There are polynomial time algorithms that construct optimal colorings of bipartite graphs, and colorings of non-bipartite simple graphs that use at most colors; however, the general problem of finding an optimal edge coloring is NP-hard and the fastest known algorithms for it take exponential time. Many variations of the edge-coloring problem, in which an assignments of colors to edges must satisfy other conditions than non-adjacency, have been studied. Edge colorings have applications in scheduling problems and in frequency assignment for fiber optic networks.
A cycle graph may have its edges colored with two colors if the length of the cycle is even: simply alternate the two colors around the cycle. However, if the length is odd, three colors are needed.[1]
A complete graph with vertices is edge-colorable with colors when is an even number; this is a special case of Baranyai's theorem. provides the following geometric construction of a coloring in this case: place points at the vertices and center of a regular -sided polygon. For each color class, include one edge from the center to one of the polygon vertices, and all of the perpendicular edges connecting pairs of polygon vertices. However, when is odd, colors are needed: each color can only be used for edges, a fraction of the total.[2]
Several authors have studied edge colorings of the odd graphs, -regular graphs in which the vertices represent teams of players selected from a pool of players, and in which the edges represent possible pairings of these teams (with one player left as "odd man out" to referee the game). The case that gives the well-known Petersen graph. As explains the problem (for), the players wish to find a schedule for these pairings such that each team plays each of its six games on different days of the week, with Sundays off for all teams; that is, formalizing the problem mathematically, they wish to find a 6-edge-coloring of the 6-regular odd graph . When is 3, 4, or 8, an edge coloring of requires colors, but when it is 5, 6, or 7, only colors are needed.[3]
As with its vertex counterpart, an edge coloring of a graph, when mentioned without any qualification, is always assumed to be a proper coloring of the edges, meaning no two adjacent edges are assigned the same color. Here, two distinct edges are considered to be adjacent when they share a common vertex. An edge coloring of a graph may also be thought of as equivalent to a vertex coloring of the line graph, the graph that has a vertex for every edge of and an edge for every pair of adjacent edges in .
A proper edge coloring with different colors is called a (proper) -edge-coloring. A graph that can be assigned a -edge-coloring is said to be -edge-colorable. The smallest number of colors needed in a (proper) edge coloring of a graph is the chromatic index, or edge chromatic number, . The chromatic index is also sometimes written using the notation ; in this notation, the subscript one indicates that edges are one-dimensional objects. A graph is -edge-chromatic if its chromatic index is exactly . The chromatic index should not be confused with the chromatic number or, the minimum number of colors needed in a proper vertex coloring of .
Unless stated otherwise all graphs are assumed to be simple, in contrast to multigraphs in which two or more edges may be connecting the same pair of endpoints and in which there may be self-loops. For many problems in edge coloring, simple graphs behave differently from multigraphs, and additional care is needed to extend theorems about edge colorings of simple graphs to the multigraph case.
A matching in a graph is a set of edges, no two of which are adjacent; a perfect matching is a matching that includes edges touching all of the vertices of the graph, and a maximum matching is a matching that includes as many edges as possible. In an edge coloring, the set of edges with any one color must all be non-adjacent to each other, so they form a matching. That is, a proper edge coloring is the same thing as a partition of the graph into disjoint matchings.
If the size of a maximum matching in a given graph is small, then many matchings will be needed in order to cover all of the edges of the graph. Expressed more formally, this reasoning implies that if a graph has edges in total, and if at most edges may belong to a maximum matching, then every edge coloring of the graph must use at least different colors.[4] For instance, the 16-vertex planar graph shown in the illustration has edges. In this graph, there can be no perfect matching; for, if the center vertex is matched, the remaining unmatched vertices may be grouped into three different connected components with four, five, and five vertices, and the components with an odd number of vertices cannot be perfectly matched. However, the graph has maximum matchings with seven edges, so . Therefore, the number of colors needed to edge-color the graph is at least 24/7, and since the number of colors must be an integer it is at least four.
For a regular graph of degree that does not have a perfect matching, this lower bound can be used to show that at least colors are needed.[4] In particular, this is true for a regular graph with an odd number of vertices (such as the odd complete graphs); for such graphs, by the handshaking lemma, must itself be even. However, the inequality does not fully explain the chromatic index of every regular graph, because there are regular graphs that do have perfect matchings but that are not k-edge-colorable. For instance, the Petersen graph is regular, with and with edges in its perfect matchings, but it does not have a 3-edge-coloring.
See main article: Vizing's theorem. The edge chromatic number of a graph is very closely related to the maximum degree, the largest number of edges incident to any single vertex of . Clearly,, for if different edges all meet at the same vertex, then all of these edges need to be assigned different colors from each other, and that can only be possible if there are at least colors available to be assigned. Vizing's theorem (named for Vadim G. Vizing who published it in 1964) states that this bound is almost tight: for any graph, the edge chromatic number is either or .When, G is said to be of class 1; otherwise, it is said to be of class 2.
Every bipartite graph is of class 1, and almost all random graphs are of class 1.[5] However, it is NP-complete to determine whether an arbitrary graph is of class 1.[6]
proved that planar graphs of maximum degree at least eight are of class one and conjectured that the same is true for planar graphs of maximum degree seven or six. On the other hand, there exist planar graphs of maximum degree ranging from two through five that are of class two. The conjecture has since been proven for graphs of maximum degree seven.[7] Bridgeless planar cubic graphs are all of class 1; this is an equivalent form of the four color theorem.[8]
A 1-factorization of a k-regular graph, a partition of the edges of the graph into perfect matchings, is the same thing as a k-edge-coloring of the graph. That is, a regular graph has a 1-factorization if and only if it is of class 1. As a special case of this, a 3-edge-coloring of a cubic (3-regular) graph is sometimes called a Tait coloring.
Not every regular graph has a 1-factorization; for instance, the Petersen graph does not. More generally the snarks are defined as the graphs that, like the Petersen graph, are bridgeless, 3-regular, and of class 2.
According to the theorem of, every bipartite regular graph has a 1-factorization. The theorem was stated earlier in terms of projective configurations and was proven by Ernst Steinitz.
For multigraphs, in which multiple parallel edges may connect the same two vertices, results that are similar to but weaker than Vizing's theorem are known relating the edge chromatic number, the maximum degree, and the multiplicity, the maximum number of edges in any bundle of parallel edges. As a simple example showing that Vizing's theorem does not generalize to multigraphs, consider a Shannon multigraph, a multigraph with three vertices and three bundles of parallel edges connecting each of the three pairs of vertices. In this example, (each vertex is incident to only two out of the three bundles of parallel edges) but the edge chromatic number is (there are edges in total, and every two edges are adjacent, so all edges must be assigned different colors to each other). In a result that inspired Vizing,[9] showed that this is the worst case: for any multigraph . Additionally, for any multigraph,, an inequality that reduces to Vizing's theorem in the case of simple graphs (for which).
Because the problem of testing whether a graph is class 1 is NP-complete, there is no known polynomial time algorithm for edge-coloring every graph with an optimal number of colors. Nevertheless, a number of algorithms have been developed that relax one or more of these criteria: they only work on a subset of graphs, or they do not always use an optimal number of colors, or they do not always run in polynomial time.
In the case of bipartite graphs or multigraphs with maximum degree, the optimal number of colors is exactly . showed that an optimal edge coloring of these graphs can be found in the near-linear time bound, where is the number of edges in the graph; simpler, but somewhat slower, algorithms are described by and . The algorithm of begins by making the input graph regular, without increasing its degree or significantly increasing its size, by merging pairs of vertices that belong to the same side of the bipartition and then adding a small number of additional vertices and edges. Then, if the degree is odd, Alon finds a single perfect matching in near-linear time, assigns it a color, and removes it from the graph, causing the degree to become even. Finally, Alon applies an observation of, that selecting alternating subsets of edges in an Euler tour of the graph partitions it into two regular subgraphs, to split the edge coloring problem into two smaller subproblems, and his algorithm solves the two subproblems recursively. The total time for his algorithm is .
For planar graphs with maximum degree, the optimal number of colors is again exactly . With the stronger assumption that, it is possible to find an optimal edge coloring in linear time .
For d-regular graphs which are pseudo-random in the sense that their adjacency matrix has second largest eigenvalue (in absolute value) at most, d is the optimal number of colors .
and describe polynomial time algorithms for coloring any graph with colors, meeting the bound given by Vizing's theorem; see Misra & Gries edge coloring algorithm.
For multigraphs, present the following algorithm, which they attribute to Eli Upfal. Make the input multigraph Eulerian by adding a new vertex connected by an edge to every odd-degree vertex, find an Euler tour, and choose an orientation for the tour. Form a bipartite graph in which there are two copies of each vertex of, one on each side of the bipartition, with an edge from a vertex on the left side of the bipartition to a vertex on the right side of the bipartition whenever the oriented tour has an edge from to in . Apply a bipartite graph edge coloring algorithm to . Each color class in corresponds to a set of edges in that form a subgraph with maximum degree two; that is, a disjoint union of paths and cycles, so for each color class in it is possible to form three color classes in . The time for the algorithm is bounded by the time to edge color a bipartite graph, using the algorithm of . The number of colors this algorithm uses is at most
3\left\lceil
\Delta2\right\rceil | |
\left\lfloor | 3\Delta |
2\right\rfloor |
A greedy coloring algorithm that considers the edges of a graph or multigraph one by one, assigning each edge the first available color, may sometimes use as many as colors, which may be nearly twice as many number of colors as is necessary. However, it has the advantage that it may be used in the online algorithm setting in which the input graph is not known in advance; in this setting, its competitive ratio is two, and this is optimal: no other online algorithm can achieve a better performance.[10] However, if edges arrive in a random order, and the input graph has a degree that is at least logarithmic, then smaller competitive ratios can be achieved.[11]
Several authors have made conjectures that imply that the fractional chromatic index of any multigraph (a number that can be computed in polynomial time using linear programming) is within one of the chromatic index.[12] If these conjectures are true, it would be possible to compute a number that is never more than one off from the chromatic index in the multigraph case, matching what is known via Vizing's theorem for simple graphs. Although unproven in general, these conjectures are known to hold when the chromatic index is at least
\Delta+\sqrt{\Delta/2}
It is straightforward to test whether a graph may be edge colored with one or two colors, so the first nontrivial case of edge coloring is testing whether a graph has a 3-edge-coloring.As showed, it is possible to test whether a graph has a 3-edge-coloring in time, while using only polynomial space. Although this time bound is exponential, it is significantly faster than a brute force search over all possible assignments of colors to edges. Every biconnected 3-regular graph with vertices has 3-edge-colorings; all of which can be listed in time (somewhat slower than the time to find a single coloring); as Greg Kuperberg observed, the graph of a prism over an -sided polygon has colorings (lower instead of upper bound), showing that this bound is tight.[14]
By applying exact algorithms for vertex coloring to the line graph of the input graph, it is possible to optimally edge-color any graph with edges, regardless of the number of colors needed, in time and exponential space, or in time and only polynomial space .
Because edge coloring is NP-complete even for three colors, it is unlikely to be fixed parameter tractable when parametrized by the number of colors. However, it is tractable for other parameters. In particular, showed that for graphs of treewidth, an optimal edge coloring can be computed in time, a bound that depends superexponentially on but only linearly on the number of vertices in the graph.
formulate the edge coloring problem as an integer program and describe their experience using an integer programming solver to edge color graphs. However, they did not perform any complexity analysis of their algorithm.
A graph is uniquely -edge-colorable if there is only one way of partitioning the edges into color classes, ignoring the possible permutations of the colors. For, the only uniquely -edge-colorable graphs are paths, cycles, and stars, but for other graphs may also be uniquely -edge-colorable. Every uniquely 3-edge-colorable graph has exactly three Hamiltonian cycles (formed by deleting one of the three color classes) but there exist 3-regular graphs that have three Hamiltonian cycles and are not uniquely 3-colorable, such as the generalized Petersen graphs for . The only known nonplanar uniquely 3-colorable graph is the generalized Petersen graph, and it has been conjectured that no others exist.[15]
investigated the non-increasing sequences of numbers with the property that there exists a proper edge coloring of a given graph with edges of the first color, edges of the second color, etc. They observed that, if a sequence is feasible in this sense, and is greater in lexicographic order than a sequence with the same sum, then is also feasible. For, if in lexicographic order, then can be transformed into by a sequence of steps, each of which reduces one of the numbers by one unit and increases another later number with by one unit. In terms of edge colorings, starting from a coloring that realizes, each of these same steps may be performed by swapping colors and on a Kempe chain, a maximal path of edges that alternate between the two colors. In particular, any graph has an equitable edge coloring, an edge coloring with an optimal number of colors in which every two color classes differ in size by at most one unit.
The De Bruijn–Erdős theorem may be used to transfer many edge coloring properties of finite graphs to infinite graphs. For instance, Shannon's and Vizing's theorems relating the degree of a graph to its chromatic index both generalize straightforwardly to infinite graphs.[16]
considers the problem of finding a graph drawing of a given cubic graph with the properties that all of the edges in the drawing have one of three different slopes and that no two edges lie on the same line as each other. If such a drawing exists, then clearly the slopes of the edges may be used as colors in a 3-edge-coloring of the graph. For instance, the drawing of the utility graph as the edges and long diagonals of a regular hexagon represents a 3-edge-coloring of the graph in this way. As Richter shows, a 3-regular simple bipartite graph, with a given Tait coloring, has a drawing of this type that represents the given coloring if and only if the graph is 3-edge-connected. For a non-bipartite graph, the condition is a little more complicated: a given coloring can be represented by a drawing if the bipartite double cover of the graph is 3-edge-connected, and if deleting any monochromatic pair of edges leads to a subgraph that is still non-bipartite. These conditions may all be tested easily in polynomial time; however, the problem of testing whether a 4-edge-colored 4-regular graph has a drawing with edges of four slopes, representing the colors by slopes, is complete for the existential theory of the reals, a complexity class at least as difficult as being NP-complete.
As well as being related to the maximum degree and maximum matching number of a graph, the chromatic index is closely related to the linear arboricity of a graph, the minimum number of linear forests (disjoint unions of paths) into which the graph's edges may be partitioned. A matching is a special kind of linear forest, and in the other direction, any linear forest can be 2-edge-colored, so for every it follows that . Akiyama's conjecture (named for Jin Akiyama) states that
la(G)\leq\left\lceil
\Delta+1 | |
2 |
\right\rceil
The Thue number of a graph is the number of colors required in an edge coloring meeting the stronger requirement that, in every even-length path, the first and second halves of the path form different sequences of colors.
The arboricity of a graph is the minimum number of colors required so that the edges of each color have no cycles (rather than, in the standard edge coloring problem, having no adjacent pairs of edges). That is, it is the minimum number of forests into which the edges of the graph may be partitioned into.[18] Unlike the chromatic index, the arboricity of a graph may be computed in polynomial time.[19]
List edge-coloring is a problem in which one is given a graph in which each edge is associated with a list of colors, and must find a proper edge coloring in which the color of each edge is drawn from that edge's list. The list chromatic index of a graph is the smallest number with the property that, no matter how one chooses lists of colors for the edges, as long as each edge has at least colors in its list, then a coloring is guaranteed to be possible. Thus, the list chromatic index is always at least as large as the chromatic index. The Dinitz conjecture on the completion of partial Latin squares may be rephrased as the statement that the list edge chromatic number of the complete bipartite graph equals its edge chromatic number, . resolved the conjecture by proving, more generally, that in every bipartite graph the chromatic index and list chromatic index are equal. The equality between the chromatic index and the list chromatic index has been conjectured to hold, even more generally, for arbitrary multigraphs with no self-loops; this conjecture remains open.
Many other commonly studied variations of vertex coloring have also been extended to edge colorings. For instance, complete edge coloring is the edge-coloring variant of complete coloring, a proper edge coloring in which each pair of colors must be represented by at least one pair of adjacent edges and in which the goal is to maximize the total number of colors. Strong edge coloring is the edge-coloring variant of strong coloring, an edge coloring in which every two edges with adjacent endpoints must have different colors.[20] Strong edge coloring has applications in channel allocation schemes for wireless networks.
Acyclic edge coloring is the edge-coloring variant of acyclic coloring, an edge coloring for which every two color classes form an acyclic subgraph (that is, a forest).[21] The acyclic chromatic index of a graph
G
a'(G)
G
a'(G)\le\Delta+2
\Delta
G
a'(G)\le\lceil3.74(\Delta-1)\rceil
G
c
G
c\Deltalog\Delta
a'(G)\le\Delta+2
\epsilon>0
g
G
g
a'(G)\le(1+\epsilon)\Delta
studied 3-edge-colorings of cubic graphs with the additional property that no two bichromatic cycles share more than a single edge with each other. He showed that the existence of such a coloring is equivalent to the existence of a drawing of the graph on a three-dimensional integer grid, with edges parallel to the coordinate axes and each axis-parallel line containing at most two vertices. However, like the standard 3-edge-coloring problem, finding a coloring of this type is NP-complete.
Total coloring is a form of coloring that combines vertex and edge coloring, by requiring both the vertices and edges to be colored. Any incident pair of a vertex and an edge, or an edge and an edge, must have distinct colors, as must any two adjacent vertices. It has been conjectured (combining Vizing's theorem and Brooks' theorem) that any graph has a total coloring in which the number of colors is at most the maximum degree plus two, but this remains unproven.
If a 3-regular graph on a surface is 3-edge-colored, its dual graph forms a triangulation of the surface which is also edge colored (although not, in general, properly edge colored) in such a way that every triangle has one edge of each color. Other colorings and orientations of triangulations, with other local constraints on how the colors are arranged at the vertices or faces of the triangulation, may be used to encode several types of geometric object. For instance, rectangular subdivisions (partitions of a rectangular subdivision into smaller rectangles, with three rectangles meeting at every vertex) may be described combinatorially by a "regular labeling", a two-coloring of the edges of a triangulation dual to the subdivision, with the constraint that the edges incident to each vertex form four contiguous subsequences, within each of which the colors are the same. This labeling is dual to a coloring of the rectangular subdivision itself in which the vertical edges have one color and the horizontal edges have the other color. Similar local constraints on the order in which colored edges may appear around a vertex may also be used to encode straight-line grid embeddings of planar graphs and three-dimensional polyhedra with axis-parallel sides. For each of these three types of regular labelings, the set of regular labelings of a fixed graph forms a distributive lattice that may be used to quickly list all geometric structures based on the same graph (such as all axis-parallel polyhedra having the same skeleton) or to find structures satisfying additional constraints.[22]
A deterministic finite automaton may be interpreted as a directed graph in which each vertex has the same out-degree, and in which the edges are -colored in such a way that every two edges with the same source vertex have distinct colors. The road coloring problem is the problem of edge-coloring a directed graph with uniform out-degrees, in such a way that the resulting automaton has a synchronizing word. solved the road coloring problem by proving that such a coloring can be found whenever the given graph is strongly connected and aperiodic.
Ramsey's theorem concerns the problem of -coloring the edges of a large complete graph in order to avoid creating monochromatic complete subgraphs of some given size . According to the theorem, there exists a number such that, whenever, such a coloring is not possible. For instance,, that is, if the edges of the graph are 2-colored, there will always be a monochromatic triangle.
A path in an edge-colored graph is said to be a rainbow path if no color repeats on it. A graph is said to be rainbow colored if there is a rainbow path between any two pairs of vertices.An edge-colouring of a graph G with colours 1. . . t is an interval t coloring if all colours are used, and the colours of edges incident to each vertex of G are distinct and form an interval of integers.
Edge colorings of complete graphs may be used to schedule a round-robin tournament into as few rounds as possible so that each pair of competitors plays each other in one of the rounds; in this application, the vertices of the graph correspond to the competitors in the tournament, the edges correspond to games, and the edge colors correspond to the rounds in which the games are played.[23] Similar coloring techniques may also be used to schedule other sports pairings that are not all-play-all; for instance, in the National Football League, the pairs of teams that will play each other in a given year are determined, based on the teams' records from the previous year, and then an edge coloring algorithm is applied to the graph formed by the set of pairings in order to assign games to the weekends on which they are played.[24] For this application, Vizing's theorem implies that no matter what set of pairings is chosen (as long as no teams play each other twice in the same season), it is always possible to find a schedule that uses at most one more weekend than there are games per team.
Open shop scheduling is a problem of scheduling production processes, in which there are a set of objects to be manufactured, each object has a set of tasks to be performed on it (in any order), and each task must be performed on a specific machine, preventing any other task that requires the same machine from being performed at the same time. If all tasks have the same length, then this problem may be formalized as one of edge coloring a bipartite multigraph, in which the vertices on one side of the bipartition represent the objects to be manufactured, the vertices on the other side of the bipartition represent the manufacturing machines, the edges represent tasks that must be performed, and the colors represent time steps in which each task may be performed. Since bipartite edge coloring may be performed in polynomial time, the same is true for this restricted case of open shop scheduling.[25]
study the problem of link scheduling for time-division multiple access network communications protocols on sensor networks as a variant of edge coloring. In this problem, one must choose time slots for the edges of a wireless communications network so that each node of the network can communicate with each neighboring node without interference. Using a strong edge coloring (and using two time slots for each edge color, one for each direction) would solve the problem but might use more time slots than necessary. Instead, they seek a coloring of the directed graph formed by doubling each undirected edge of the network, with the property that each directed edge has a different color from the edges that go out from and from the neighbors of . They propose a heuristic for this problem based on a distributed algorithm for -edge-coloring together with a postprocessing phase that reschedules edges that might interfere with each other.
In fiber-optic communication, the path coloring problem is the problem of assigning colors (frequencies of light) to pairs of nodes that wish to communicate with each other, and paths through a fiber-optic communications network for each pair, subject to the restriction that no two paths that share a segment of fiber use the same frequency as each other. Paths that pass through the same communication switch but not through any segment of fiber are allowed to use the same frequency. When the communications network is arranged as a star network, with a single central switch connected by separate fibers to each of the nodes, the path coloring problem may be modeled exactly as a problem of edge coloring a graph or multigraph, in which the communicating nodes form the graph vertices, pairs of nodes that wish to communicate form the graph edges, and the frequencies that may be used for each pair form the colors of the edge coloring problem. For communications networks with a more general tree topology, local path coloring solutions for the star networks defined by each switch in the network may be patched together to form a single global solution.[26]
list 23 open problems concerning edge coloring. They include: