A mixed graph G = (V, E, A) is a mathematical object consisting of a set of vertices (or nodes) V, a set of (undirected) edges E, and a set of directed edges (or arcs) A.
Definitions and Notation
Consider adjacent vertices . A directed edge, called an arc, is an edge with an orientation and can be denoted as or (note that is the tail and is the head of the arc). Also, an undirected edge, or edge, is an edge with no orientation and can be denoted as or .
Template:Rellink Template:Rellink For the purpose of our application example we will not be considering loops or multiple edges of mixed graphs.
A cycle of a mixed graph, or mixed cycle, is formed if the directed edges of the mixed graph form a cycle. An orientation of a mixed graph is considered acyclic if cycles cannot be formed from the directed edges. We call a mixed graph acyclic if all of its orientations are acyclic.
Mixed graph coloring
Mixed graph coloring can be thought of as a labeling or an assignment of colors (where is a positive integer) to the graphs vertices. We assign different colors to vertices that are connected by an edge and smaller "colors" are assigned to the tail of an arc, while larger "colors" are assigned to the head of an arc. For example, consider the figure to the right. Our available k-colors to color our mixed graph are . Since and are connected by an edge, they must receive different colors or labelings ( and are labelled 1 and 2, respectively). We also have an arc from to . Since orientation assigns an ordering, we must label the tail () with a smaller color (or integer from our set) than the head () of our arc. A (strong) proper k-coloring of a mixed graph is a function
where such that if and if .
A weaker condition on our arcs can be applied and we can consider a weak proper k-coloring of a mixed graph to be a function
where such that if and if . Referring back to our example, this means that we can label both the head and tail of with the positive integer 2.
A coloring may or may not exist for a mixed graph. In order for a mixed graph to have a k-coloring, the graph cannot contain any directed cycles. If such a k-coloring exists, then we refer to the smallest k needed in order to properly color our graph as the chromatic number, denoted . We can count the number of proper k-colorings as a polynomial function of k. This is called the chromatic polynomial of our graph G and can be denoted as .
Computing Weak Chromatic Polynomials
The Deletion-Contraction method can be used to compute weak chromatic polynomials of mixed graphs. The Deletion-Contraction method involves deleting (or removing) an edge or arc and contracting (or joining) the remaining vertices incident to that edge (or arc) to form one vertex. After deleting an edge, , from a mixed graph we obtain the mixed graph . We can denote this deletion of the edge, , as . Similarly, by deleting an arc, , from a mixed graph, we obtain where we can denote the deletion of as . Also, we can denote the contraction of and as and , respectively. From Propositions given in, we obtain the following equations to compute the chromatic polynomial of a mixed graph:
For general graphs (only containing undirected edges (without loops and multiple edges)), graph coloring is commonly applied to solve Scheduling Problems. Simply put, Scheduling problems are problems that involve creating a schedule. Schedules, for example, can be needed for operating machinery at a factory, or creating a time schedule for final exams at a university. In general, scheduling problems can be modelled as a graph where we assign vertices to a job and connect the vertices (or jobs) with (undirected) edges representing an incompatibility. In other words, we connect jobs with an edge if these jobs cannot occur simultaneously. We can then color the vertices of the graph to create a time schedule with respect to the constraints. If two jobs are connected, then the vertices representing these jobs must be assigned different colors in order to represent the fact that they cannot occur at the same time. Constraints that are simply incompatibility only require the use of edges that are undirected. Incompatibility constraints are not necessarily the only constraints that may be necessary to create a schedule. For example, if one job takes precedence over another then a special type of edge is needed in order to represent this constraint. Oriented edges assign direction, and therefore represent a precedence constraint between jobs. We can then use mixed graphs to model a schedule that has both incompatibility and precedence constraints.