Input | Output |
Input Description: A graph \(G=(V,E)\).
Problem: What is the smallest set of colors needed to color the edges of \(E\) such that no two edges with the same color share a vertex in common?
Excerpt from The Algorithm Design Manual: The edge coloring of graphs arises in a variety of scheduling applications, typically associated with minimizing the number of noninterfering rounds needed to complete a given set of tasks. For example, consider a situation where we need to schedule a given set of two-person interviews, where each interview takes one hour. All meetings could be scheduled to occur at distinct times to avoid conflicts, but it is less wasteful to schedule nonconflicting events simultaneously. We can construct a graph whose vertices are the people and whose edges represent the pairs of people who want to meet. An edge coloring of this graph defines the schedule. The color classes represent the different time periods in the schedule, with all meetings of the same color happening simultaneously.
The National Football League solves such an edge coloring problem each season to make up its schedule. Each team's opponents are determined by the records of the previous season. Assigning the opponents to weeks of the season is the edge-coloring problem, presumably complicated by the constraints of spacing out rematches and making sure that there is a good game every Monday night.
The minimum number of colors needed to edge color a graph is called by some its edge-chromatic number and others its chromatic index. To gain insight into edge coloring, note that a graph consisting of an even-length cycle can be edge-colored with 2 colors, while odd-length cycles have an edge-chromatic number of 3.
Stony Brook Project Implementations (rating 8) |
GOBLIN (rating 5) |
Combinatorica (rating 4) |
Mike Trick's Graph Coloring Resources (rating 3) |
Joe Culberson's Graph Coloring Resources (rating 3) |