# Edge coloring

In graph theory, an **edge coloring** of a graph is an assignment of “colors” to the edges of the graph so that no two adjacent 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 Template:Mvar different colors, for a given value of Template:Mvar, 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 Δ+1. 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 3Δ/2. There are polynomial time algorithms that construct optimal colorings of bipartite graphs, and colorings of non-bipartite simple graphs that use at most Δ+1 colors; however, the general problem of finding an optimal edge coloring is NP-complete 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.

## Examples

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 Template:Mvar with Template:Mvar vertices may have its edges colored with *n* − 1 colors when Template:Mvar is an even number; this is a special case of Baranyai's theorem. Template:Harvtxt provides the following geometric construction of a coloring in this case: place Template:Mvar points at the vertices and center of a regular (*n* − 1)-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 Template:Mvar is odd, Template:Mvar colors are needed: each color can only be used for (*n* − 1)/2 edges, a 1/*n* fraction of the total.^{[2]}

Several authors have studied edge colorings of the odd graphs, Template:Mvar-regular graphs in which the vertices represent teams of *n* − 1 players selected from a pool of Template:Mvar 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 *n* = 3 gives the well-known Petersen graph. As Template:Harvtxt explains the problem (for *n* = 6), 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 *O*_{6}. When Template:Mvar is 3, 4, or 8, an edge coloring of *O*_{n} requires *n* + 1 colors, but when it is 5, 6, or 7, only Template:Mvar colors are needed.^{[3]}

## Definitions

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 edges are considered to be adjacent when they share a common vertex. An edge coloring of a graph Template:Mvar may also be thought of as equivalent to a vertex coloring of the line graph *L*(*G*), the graph that has a vertex for every edge of Template:Mvar and an edge for every pair of adjacent edges in Template:Mvar.

A proper edge coloring with Template:Mvar different colors is called a (proper) Template:Mvar-edge-coloring. A graph that can be assigned a (proper) Template:Mvar-edge-coloring is said to be Template:Mvar-edge-colorable. The smallest number of colors needed in a (proper) edge coloring of a graph Template:Mvar is the **chromatic index**, or edge chromatic number, χ′(*G*). The chromatic index is also sometimes written using the notation χ_{1}(*G*); in this notation, the subscript one indicates that edges are one-dimensional objects. A graph is Template:Mvar-edge-chromatic if its chromatic index is exactly Template:Mvar. The chromatic index should not be confused with the chromatic number χ(*G*) or χ_{0}(*G*), the minimum number of colors needed in a proper vertex coloring of Template:Mvar.

Unless stated otherwise all graphs are assumed to be simple, in contrast to multigraphs in which two or more edges may 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.

## Relation to matching

A matching in a graph Template:Mvar 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 Template:Mvar 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 *m*/β different colors.^{[4]} For instance, the 16-vertex planar graph shown in the illustration has *m* = 24 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 β = 7. 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 Template:Mvar that does not have a perfect matching, this lower bound can be used to show that at least *k* + 1 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, Template:Mvar must itself be even. However, the inequality χ′ ≥ *m*/β 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 *m* = 15 and with β = 5 edges in its perfect matchings, but it does not have a 3-edge-coloring.

## Relation to degree

### Vizing's theorem

The edge chromatic number of a graph Template:Mvar is very closely related to the maximum degree Δ(*G*), the largest number of edges incident to any single vertex of Template:Mvar. Clearly, χ′(*G*) ≥ Δ(*G*), for if Δ different edges all meet at the same vertex Template:Mvar, 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 Δ(*G*) or Δ(*G*) + 1.
When χ′(*G*) = Δ(*G*), *G* is said to be of class 1; otherwise, it is said to be of class 2.

Every bipartite graph is of class 1,^{[5]} and almost all random graphs are of class 1.^{[6]} However, it is NP-complete to determine whether an arbitrary graph is of class 1.^{[7]}

Template:Harvtxt 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.^{[8]} Bridgeless planar cubic graphs are all of class 1; this is an equivalent form of the four color theorem.^{[9]}

### Regular graphs

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 Template:Harvtxt, every bipartite regular graph has a 1-factorization. The theorem was stated earlier in terms of projective configurations and was proven by Ernst Steinitz.

### Multigraphs

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 χ′(*G*), the maximum degree Δ(*G*), and the multiplicity μ(*G*), 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 μ(*G*) parallel edges connecting each of the three pairs of vertices. In this example, Δ(*G*) = 2μ(*G*) (each vertex is incident to only two out of the three bundles of μ(*G*) parallel edges) but the edge chromatic number is 3μ(*G*) (there are 3μ(*G*) 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,^{[10]} Template:Harvtxt showed that this is the worst case: χ′(*G*) ≤ (3/2)Δ(*G*) for any multigraph Template:Mvar. Additionally, for any multigraph Template:Mvar, χ′(*G*) ≤ Δ(*G*) + μ(*G*), an inequality that reduces to Vizing's theorem in the case of simple graphs (for which μ(*G*) = 1).

## Algorithms

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.

### Optimally coloring special classes of graphs

In the case of bipartite graphs or multigraphs with maximum degree Δ, the optimal number of colors is exactly Δ. Template:Harvtxt showed that an optimal edge coloring of these graphs can be found in the near-linear time bound O(*m* log Δ), where Template:Mvar is the number of edges in the graph; simpler, but somewhat slower, algorithms are described by Template:Harvtxt and Template:Harvtxt. The algorithm of Template:Harvtxt 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 Template:Harvtxt, 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 O(*m* log *m*).

For planar graphs with maximum degree Δ ≥ 7, the optimal number of colors is again exactly Δ. With the stronger assumption that Δ ≥ 9, it is possible to find an optimal edge coloring in linear time Template:Harv.

### Algorithms that use more than the optimal number of colors

Template:Harvtxt and Template:Harvtxt describe polynomial time algorithms for coloring any graph with Δ + 1 colors, meeting the bound given by Vizing's theorem; see Misra & Gries edge coloring algorithm.

For multigraphs, Template:Harvtxt present the following algorithm, which they attribute to Eli Upfal. Make the input multigraph Template:Mvar 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 Template:Mvar in which there are two copies of each vertex of Template:Mvar, one on each side of the bipartition, with an edge from a vertex Template:Mvar on the left side of the bipartition to a vertex Template:Mvar on the right side of the bipartition whenever the oriented tour has an edge from Template:Mvar to Template:Mvar in Template:Mvar. Apply a bipartite graph edge coloring algorithm to Template:Mvar. Each color class in Template:Mvar corresponds to a set of edges in Template:Mvar that form a subgraph with maximum degree two; that is, a disjoint union of paths and cycles, so for each color class in Template:Mvar it is possible to form three color classes in Template:Mvar. The time for the algorithm is bounded by the time to edge color a bipartite graph, O(*m* log Δ) using the algorithm of Template:Harvtxt. The number of colors this algorithm uses is at most , close to but not quite the same as Shannon's bound of . It may also be made into a parallel algorithm in a straightforward way. In the same paper, Karloff and Shmoys also present a linear time algorithm for coloring multigraphs of maximum degree three with four colors (matching both Shannon's and Vizing's bounds) that operates on similar principles: their algorithm adds a new vertex to make the graph Eulerian, finds an Euler tour, and then chooses alternating sets of edges on the tour to split the graph into two subgraphs of maximum degree two. The paths and even cycles of each subgraph may be colored with two colors per subgraph. After this step, each remaining odd cycle contains at least one edge that may be colored with one of the two colors belonging to the opposite subgraph. Removing this edge from the odd cycle leaves a path, which may be colored using the two colors for its subgraph.

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 2Δ − 1 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.^{[11]} 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.^{[12]}

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.^{[13]} 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 , as can happen for multigraphs with sufficiently large multiplicity.^{[14]}

### Exact algorithms

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 Template:Harvtxt showed, it is possible to test whether a graph has a 3-edge-coloring in time O(1.344^{n}), 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 Template:Mvar vertices has O(2^{n/2}) 3-edge-colorings; all of which can be listed in time O(2^{n/2}) (somewhat slower than the time to find a single coloring); as Greg Kuperberg observed, the graph of a prism over an *n*/2-sided polygon has many colorings, showing that this bound is tight.^{[15]}

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 Template:Mvar edges, regardless of the number of colors needed, in time 2^{m}*m*^{O(1)} and exponential space, or in time O(2.2461^{m}) and only polynomial space Template:Harv.

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, Template:Harvtxt showed that for graphs of treewidth Template:Mvar, an optimal edge coloring can be computed in time O(*nw*(6*w*)^{w(w + 1)/2}), a bound that depends superexponentially on Template:Mvar but only linearly on the number Template:Mvar of vertices in the graph.

Template:Harvtxt 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.

## Additional properties

A graph is uniquely Template:Mvar-edge-colorable if there is only one way of partitioning the edges into Template:Mvar color classes, ignoring the *k*! possible permutations of the colors. For *k* ≠ 3, the only uniquely Template:Mvar-edge-colorable graphs are paths, cycles, and stars, but for *k* = 3 other graphs may also be uniquely Template:Mvar-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 *G*(6*n* + 3, 2) for *n* ≥ 2. The only known nonplanar uniquely 3-colorable graph is the generalized Petersen graph *G*(9,2), and it has been conjectured that no others exist.^{[16]}

Template:Harvtxt investigated the non-increasing sequences of numbers *m*_{1}, *m*_{2}, *m*_{3}, ... with the property that there exists a proper edge coloring of a given graph Template:Mvar with *m*_{1} edges of the first color, *m*_{2} edges of the first color, etc. They observed that, if a sequence Template:Mvar is feasible in this sense, and is greater in lexicographic order than a sequence Template:Mvar with the same sum, then Template:Mvar is also feasible. For, if *P* > *Q* in lexicographic order, then Template:Mvar can be transformed into Template:Mvar by a sequence of steps, each of which reduces one of the numbers *m _{i}* by one unit and increases another later number

*m*with

_{j}*i*<

*j*by one unit. In terms of edge colorings, starting from a coloring that realizes Template:Mvar, each of these same steps may be performed by swapping colors Template:Mvar and Template:Mvar 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.^{[17]}

Template:Harvtxt 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 *K*_{3,3} 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 la(*G*) of a graph Template:Mvar, 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 Template:Mvar it follows that la(*G*) ≤ χ′(*G*) ≤ 2 la(*G*). Akiyama's conjecture states that , from which it would follow more strongly that 2 la(*G*) − 2 ≤ χ′(*G*) ≤ 2 la(*G*). For graphs of maximum degree three, la(*G*) is always exactly two, so in this case the bound χ′(*G*) ≤ 2 la(*G*) matches the bound given by Vizing's theorem.^{[18]}

## Other types of edge coloring

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.^{[19]} Unlike the chromatic index, the arboricity of a graph may be computed in polynomial time.^{[20]}

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 Template:Mvar is the smallest number Template:Mvar with the property that, no matter how one chooses lists of colors for the edges, as long as each edge has at least Template:Mvar 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 *K _{n,n}* equals its edge chromatic number, Template:Mvar. Template:Harvtxt 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.^{[21]} 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.^{[22]} Strong edge coloring has applications in channel allocation schemes for wireless networks.^{[23]} 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).^{[24]}

Template:Harvtxt 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.^{[25]}

A deterministic finite automaton may be interpreted as a directed graph in which each vertex has the same out-degree Template:Mvar, and in which the edges are Template:Mvar-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. Template:Harvtxt 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 Template:Mvar-coloring the edges of a large complete graph *K _{n}* in order to avoid creating monochromatic complete subgraphs

*K*of some given size Template:Mvar. According to the theorem, there exists a number

_{s}*R*

_{k}(

*s*) such that, whenever

*n*≥

*R*(

*s*), such a coloring is not possible. For instance,

*R*

_{2}(3) = 6, that is, if the edges of the graph

*K*

_{6}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.

## Applications

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.^{[26]} 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.^{[27]} 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.^{[28]}

Template:Harvtxt 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 Template:Mvar has a different color from the edges that go out from Template:Mvar and from the neighbors of Template:Mvar. They propose a heuristic for this problem based on a distributed algorithm for (Δ + 1)-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.^{[29]}

## Open problems

Template:Harvtxt list 23 open problems concerning edge coloring. They include:

- The conjecture of Template:Harvtxt that the chromatic index and fractional index are within one of each other, which would allow the chromatic index to be approximated within one color in polynomial time.
- Several conjectures of Jakobsen and others on the structure of critical graphs for edge coloring, graphs of class 2 such that any subgraph either has smaller maximum degree or is of class 1. Jakobsen originally conjectured that all critical graphs have an odd number of vertices, but this was eventually disproved. Several other conjectures weakening this one, or bounding the numbers of vertices of critical graphs and critical multigraphs, remain open.
- Vizing's problem of classifying the maximum degrees that are possible for class 2 planar graphs.
- The overfull subgraph conjecture of A. J. W. Hilton, stating that graphs with degree at least
*n*/3 are either of class 1 or contain a subgraph with the same degree Δ as the original graph, and with an odd number Template:Mvar of vertices, such that the number of edges in the subgraph is greater than Δ(*k*− 1)/2, and a similar conjecture by Herbert Grötzsch and Paul Seymour concerning planar graphs in place of high-degree graphs. - A conjecture of Chetwynd and Hilton (possibly going back earlier to the work of Gabriel Andrew Dirac) that regular graphs with an even number Template:Mvar of vertices and with degree at least
*n*/2 are of class 1. - A conjecture of Claude Berge and D. R. Fulkerson that the 6-regular multigraphs formed by doubling every edge of a bridgeless 3-regular simple graph may be edge-colored with six colors.
- A conjecture of Fiorini and Wilson that every triangle-free planar graph, other than the claw
*K*_{1,3}, is not uniquely 3-edge-colorable.

A current conjecture is that if *G* is a *d*-regular planar multigraph, then *G* is *d*-edge-colorable if and only if *G* is oddly *d*-edge-connected. This conjecture can be seen as a generalization of the Four color theorem when *d*=3. Maria Chudnovsky, Katherine Edwards, and Paul Seymour proved that an 8-regular planar multigraph has an edge chromatic number of 8.^{[30]}

## Notes

- ↑ Template:Harvtxt, problem 16.4, p. 133.
- ↑ Template:Harvtxt, problem 16.5, p. 133. The fact that either Template:Mvar or (
*n*− 1) colors are needed is an instance of Vizing's theorem. - ↑ Template:Harvtxt; Template:Harvtxt; Template:Harvtxt.
- ↑
^{4.0}^{4.1}Template:Harvtxt, p. 134. - ↑ Template:Harvtxt
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harv; Template:Harvtxt.
- ↑ Template:Harvtxt, p. 136.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt; Template:Harvtxt; Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt; Template:Harvtxt; Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt; Template:Harvtxt; Template:Harvtxt; Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt; Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ Template:Harvtxt.
- ↑ {{#invoke:Citation/CS1|citation |CitationClass=journal }}

## References

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}. As cited by Template:Harvtxt.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}. As cited by Template:Harvtxt.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}. See also web site for this section of the book in the Stony Brook Algorithm Repository.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}. (In Russian.)

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}.

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}. Template:Refend