Graph coloring where graph elements are assigned sets of colors
Fractional coloring is a topic in a young branch of graph theory known as fractional graph theory. It is a generalization of ordinary graph coloring. In a traditional graph coloring, each vertex in a graph is assigned some color, and adjacent vertices — those connected by edges — must be assigned different colors. In a fractional coloring however, a set of colors is assigned to each vertex of a graph. The requirement about adjacent vertices still holds, so if two vertices are joined by an edge, they must have no colors in common.
Fractional graph coloring can be viewed as the linear programming relaxation of traditional graph coloring. Indeed, fractional coloring problems are much more amenable to a linear programming approach than traditional coloring problems.
Definitions
A b-fold coloring of a graph G is an assignment of sets of size b to vertices of a graph such that adjacent vertices receive disjoint sets. An a:b-coloring is a b-fold coloring out of a available colors. Equivalently, it can be defined as a homomorphism to the Kneser graphKGa,b. The b-fold chromatic number is the least a such that an a:b-coloring exists.
The fractional chromatic number is defined to be:
Note that the limit exists because is subadditive, meaning:
The fractional chromatic number can equivalently be defined in probabilistic terms. is the smallest k for which there exists a probability distribution over the independent sets of G such that for each vertex v, given an independent set S drawn from the distribution:
Furthermore, the fractional chromatic number approximates the chromatic number within a logarithmic factor,[2] in fact:
Kneser graphs give examples where: is arbitrarily large, since: while
Linear programming (LP) formulation
The fractional chromatic number of a graph G can be obtained as a solution to a linear program. Let be the set of all independent sets of G, and let be the set of all those independent sets which include vertex x. For each independent set I, define a nonnegative real variable xI. Then is the minimum value of:
subject to:
for each vertex .
The dual of this linear program computes the "fractional clique number", a relaxation to the rationals of the integer concept of clique number. That is, a weighting of the vertices of G such that the total weight assigned to any independent set is at most 1. The strong duality theorem of linear programming guarantees that the optimal solutions to both linear programs have the same value. Note however that each linear program may have size that is exponential in the number of vertices of G, and that computing the fractional chromatic number of a graph is NP-hard.[3] This stands in contrast to the problem of fractionally coloring the edges of a graph, which can be solved in polynomial time. This is a straightforward consequence of Edmonds' matching polytope theorem.[4][5]
Applications
Applications of fractional graph coloring include activity scheduling. In this case, the graph G is a conflict graph: an edge in G between the nodes u and v denotes that u and v cannot be active simultaneously. Put otherwise, the set of nodes that are active simultaneously must be an independent set in graph G.
An optimal fractional graph coloring in G then provides a shortest possible schedule, such that each node is active for (at least) 1 time unit in total, and at any point in time the set of active nodes is an independent set. If we have a solution x to the above linear program, we simply traverse all independent sets I in an arbitrary order. For each I, we let the nodes in I be active for time units; meanwhile, each node not in I is inactive.
In more concrete terms, each node of G might represent a radio transmission in a wireless communication network; the edges of G represent interference between radio transmissions. Each radio transmission needs to be active for 1 time unit in total; an optimal fractional graph coloring provides a minimum-length schedule (or, equivalently, a maximum-bandwidth schedule) that is conflict-free.
Comparison with traditional graph coloring
If one further required that each node must be active continuously for 1 time unit (without switching it off and on every now and then), then traditional graph vertex coloring would provide an optimal schedule: first the nodes of color 1 are active for 1 time unit, then the nodes of color 2 are active for 1 time unit, and so on. Again, at any point in time, the set of active nodes is an independent set.
In general, fractional graph coloring provides a shorter schedule than non-fractional graph coloring; there is an integrality gap. It may be possible to find a shorter schedule, at the cost of switching devices (such as radio transmitters) on and off more than once.
Notes
^Scheinerman, Edward R.; Ullman, Daniel H. (2013). Fractional graph theory, a rational approach to the theory of graphs. Dover Publication. p. 42. ISBN978-0486485935., Proposition 3.1.1.