Conditional coloring

While writing one master's thesis, we needed to improve the discrete math graph theory model, adding functions to each edge.

This is helpful for modelating networks, such as the internal connectivity of a microprocessor and fiber optic networks.

The graph coloring problem is a conditional coloring problem, where all edges represent a mutual exclusion function.